ebf9a35d3c4805485407243f4a4835621a7f38c6
[platform/upstream/augeas.git] / ChangeLog
1 2016-10-05  Jim Meyering  <meyering@fb.com>
2
3         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
4         * lib/long-options.c (parse_long_options): Add a break statement
5         to avoid this new warning/failure:
6         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
7           --create-testdir --dir=/t/x --with-tests --test long-options
8         ../../gllib/long-options.c: In function ‘parse_long_options’:
9         ../../gllib/long-options.c:66:12: error: this statement may \
10           fall through [-Werror=implicit-fallthrough]
11                    (*usage_func) (EXIT_SUCCESS);
12                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
13
14         utimecmp: avoid new GCC 7 warning from -Wbool-operation
15         Testing this module would fail when using GCC 7 like this:
16         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
17           --dir=/tmp/x --with-tests --test utimecmp
18         ../../gllib/utimecmp.c: In function ‘utimecmp’:
19         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
20           [-Werror=bool-operation]
21                          time_t s = src_s & ~ (res == 2 * BILLION);
22                                             ^
23         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
24           [-Werror=bool-operation]
25                src_s &= ~ (res == 2 * BILLION);
26                         ^
27         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
28         Instead, make it explicit that we intend to apply it to 0 or 1.
29
30 2016-10-03  Pádraig Brady  <P@draigBrady.com>
31
32         quotearg: minimize shell quoting using double quotes
33         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
34         quote in encountered then use double quotes (c style quoting)
35         when possible, as it simplifies the quoting.
36         * tests/test-quotearg-simple.c: Add test cases.
37         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
38         for the fact we now may write beyond the returned length.
39
40 2016-10-02  Jim Meyering  <meyering@fb.com>
41
42         vasnprintf.c: avoid spurious warning from GCC 7
43         The presence of cpp directives renders this "FALLTHROUGH" comment
44         ineffective, so does not suppress the -Wimplicit-fallthrough warning
45         from GCC 7 built from git on 2016-10-02.
46         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
47         directives, so that it takes effect once again.  This is clearly
48         not a proper change, and I will revert it once this bug is fixed:
49         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
50
51 2016-10-01  Jim Meyering  <meyering@fb.com>
52
53         getprogname: correct the test for a __progname variable
54         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
55         and AC_LINK_IFELSE to check for a global __progname.  If found,
56         define HAVE_VAR___PROGNAME.
57         * lib/getprogname.c (getprogname): Reflect the new name of the
58         feature- checked preprocessor symbol:
59         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
60
61 2016-09-28  Jim Meyering  <meyering@fb.com>
62
63         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
64         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
65         fall-through case with a /* fallthrough */ comment.
66
67         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
68         * lib/dfa.c (dfassbuild): Mark the end of this case with a
69         /* fallthrough */ comment.
70
71         getprogname: avoid __progname vs program_invocation_short_name pitfall
72         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
73         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
74         not with Fedora 24's glibc-2.23.1-10.
75         * lib/getprogname.c (__progname): Move this declaration down...
76         (getprogname): ... into the #elif block where used, and make it
77         explicitly "extern".
78
79         getprogname: port to OpenBSD 5.1
80         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
81         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
82         * modules/getprogname (configure.ac): Move most of this code...
83         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
84         increment serial number, and add a test for __progname.
85         https://bugs.gnu.org/24562
86         Reported by Nelson H. F. Beebe.
87
88 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
89
90         sched: port to GCC 6.2.1 on macOS Sierra
91         Problem reported by Denis Davydov in:
92         http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00056.html
93         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
94         Include <sys/cdefs.h> before <sched.h>.
95         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
96         so that we needn’t worry about the sched.h include bug here.
97         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
98         and include it before <sched.h> if it exists, when
99         checking for <sched.h>.
100
101         tests/init.sh: port Alpine fix to AIX 7.1
102         * tests/init.sh (compare_): When attempting to use diff -U3,
103         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
104         diff -u not outputting a space after leading '+', as the users
105         of 'compare' should not be that picky about its output format.
106         In the AIX 7.1 case, return with diff exit status (or with 2 if
107         trouble), instead of some random nonzero exit status.
108         * tests/test-init.sh (test_compare): Remove space after leading
109         '+', so that AIX 7.1 'diff' passes the test.
110
111 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
112
113         nl_langinfo: pacify GCC
114         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
115         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
116
117         stdint: also set GL_GENERATE_LIMITS_H
118         Problem reported by Jim Meyering in:
119         http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00052.html
120         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
121
122         limits-h, stdint: Don't assume extensions, fix typo
123         * m4/limits-h.m4 (gl_LIMITS_H):
124         * m4/stdint.m4 (gl_STDINT_H):
125         Don't assume AC_USE_SYSTEM_EXTENSIONS.
126         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
127         reported by Jim Meyering in:
128         http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00050.html
129
130 2016-09-21  Jim Meyering  <meyering@fb.com>
131
132         getprogname: port to AIX
133         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
134         and strdup to obtain a short program name string.  Using code from
135         Bruno Haible and an idea from Bastien ROUCARIÈS, in
136         https://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00249.html
137         Assaf Gordon reported that this new file would fail to compile on
138         AIX-7.1 32bit.
139
140 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
141
142         extensions: fix typo in comment
143         * m4/extensions.m4: Sync from Autoconf master.
144
145         stdint: support new _WIDTH macros
146         * doc/posix-headers/stdint.texi: Document this.
147         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
148         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
149         support for INTMAX_WIDTH, etc. as well as for support for just C99.
150         * modules/stdint (Depends-on): Add limits-h.
151         (Makefile.am): Substitute HAVE_C99_STDINT_H.
152         * modules/stdint-tests (Depends-on): Add extensions, so that
153         INTMAX_MAX etc. are defined.
154         * tests/test-stdint.c: Verify the new macros.
155
156         limits-h: new module
157         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
158         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
159         * doc/posix-headers/limits.texi: Document new module.
160         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
161         * modules/limit-h-tests, tests/test-limits-h.c: New files.
162
163         stdio: don't redefine __USE_MINGW_ANSI_STDIO
164         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
165         if it is already defined.  Apparently GNU Emacs relies on this.  See:
166         http://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00416.html
167
168 2016-09-15  Eric Blake  <eblake@redhat.com>
169
170         sys_types: avoid glibc 2.25 warnings about major()
171         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
172         older autoconf.
173         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
174         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
175         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
176         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
177
178         mountlist: include sysmacros.h for glibc
179         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
180         AC_HEADER_MAJOR.
181         * lib/mountlist.c (includes): Use correct headers.
182
183 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
184
185         extensions: port to more ISO C TSes
186         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
187         master, to add support for more recent ISO C TRs and TSes.
188
189 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
190
191         intprops: new macro TYPE_WIDTH
192         * lib/intprops.h (TYPE_WIDTH): New macro.
193         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
194         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
195         * lib/parse-datetime.y (parse_datetime2):
196         Use it.
197
198         extensions: port to recent ISO C TRs
199         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
200         Sync from Autoconf master, to add support for recent ISO C TRs.
201         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
202         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
203         the MinGW option is not an extension.
204
205 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
206
207         dfa: port to Solaris 9
208         Problems reported by Tom G. Christensen in:
209         http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00031.html
210         * modules/dfa (Depends-on): Add isblank.
211         * modules/dfa-tests (dfa_match_aux_LDADD):
212         Rename from test_stat_LDADD, to fix typo.
213         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
214
215 2016-09-10  Jim Meyering  <meyering@fb.com>
216
217         strverscmp: avoid link failure on OS X
218         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
219         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
220
221 2016-08-16  Jim Meyering  <meyering@fb.com>
222
223         dfa: new module, importing grep's DFA matcher
224         Since grep's DFA matcher is now being used by two gnulib-enabled
225         projects, grep and sed, it makes sense to version-control its
226         sources and unit tests in one place: here.
227         * modules/dfa: New module.
228         * modules/dfa-tests: New file.
229         * lib/dfa.c: New file, from grep.
230         * lib/dfa.h: Likewise.
231         * lib/localeinfo.c: Likewise.
232         * lib/localeinfo.h: Likewise.
233         * tests/dfa-match-aux.c: Likewise.
234         * tests/dfa-invalid-char-class.sh: Likewise.
235         * tests/dfa-match.sh: Likewise, with minor changes.
236         * MODULES.html.sh (Misc): Add "dfa" to this list.
237
238 2016-09-09  Jim Meyering  <meyering@fb.com>
239
240         getprogname-tests: don't depend on assert-h
241         * modules/getprogname-tests (Depends-on): Remove assert-h.
242         It was not needed, and in fact would cause build failure for
243         coreutils on some systems.  Reported by Assaf Gordon in https:
244         //lists.gnu.org/archive/html/coreutils/2016-09/msg00016.html
245
246 2016-09-07  Jim Meyering  <meyering@fb.com>
247
248         getprogname-tests: work also when EXEEXT is nonempty
249         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
250         * tests/test-getprogname.c (main): Use it.
251         Suggested by Gisle Vanem.
252
253 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
254
255         getprogname: fix errors in previous change
256         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
257         s/program_invocation_name/base/
258         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
259
260 2016-09-08  Pádraig Brady  <P@draigBrady.com>
261
262         parse-datetime: restrict debug output to input string
263         * lib/parse-datetime.y (parse_datetime2): If we parse
264         all of the input but determine it's invalid, ensure
265         we don't output the now invalid input pointer.
266         This issue was seen with `date -d 'now +1'`.
267
268 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
269
270         flexmember: new macro FLEXALIGNOF
271         * lib/flexmember.h: Include <stddef.h>, for offsetof.
272         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
273         this macro.  Update comments.
274
275 2016-09-07  Jim Meyering  <meyering@fb.com>
276
277         getprogname: port to systems with __argv (mingw, msvc)
278         * lib/getprogname.c (getprogname): Include "dirname.h" and use
279         last_component: more general than open coding it with hard-coded "/".
280         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
281         * modules/getprogname (Depends-on): Add dirname-lgpl.
282         (configure.ac): Check for __argv in <stdlib.h>.
283         * modules/getprogname-tests: New file.
284         * tests/test-getprogname.c: New file.
285         Suggested by Gisle Vanem in
286         https://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00014.html
287
288 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
289
290         flexmember: port better to GCC + valgrind
291         With a char[] flexible array member in a struct with nontrivial
292         alignment, GCC-generated code can access past the end of the
293         array, because GCC assumes there are padding bytes to get the
294         struct aligned.  So the common idiom of malloc (offsetof (struct
295         s, m), n) does not properly allocate an n-byte trailing member, as
296         malloc’s argument should be the next multiple of alignof (struct s).
297         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
298         Although C11 apparently permits this GCC optimization (i.e., there
299         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
300         See the thread containing:
301         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
302         * lib/flexmember.h: New file.
303         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
304         * lib/localename.c, lib/time_rz.c:
305         Include flexmember.h.
306         * lib/fnmatch_loop.c (struct patternlist):
307         * lib/localename.c (struct hash_node):
308         Use FLEXIBLE_ARRAY_MEMBER.
309         * lib/fnmatch_loop.c (EXT):
310         * lib/fts.c (fts_alloc):
311         * lib/glob.c (glob_in_dir):
312         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
313         * lib/localename.c (gl_lock_define_initialized):
314         * lib/time_rz.c (tzalloc):
315         Use FLEXSIZEOF instead of offsetof.
316         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
317         Check that the size of the struct can be taken.
318         * modules/flexmember (Files): Add lib/flexmember.h.
319         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
320         Add flexmember.
321
322 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
323
324         getprogname: port to Solaris 10
325         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
326         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
327         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
328
329         stdalign: correct mistake in alignof doc
330         Problem reported by Joseph Myers in:
331         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
332         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
333         alignof(S) where S is a structure containing a flexible array
334         member.  The Gnulib substitute does not support this, but C11 does.
335
336 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
337
338         main.mk: remove sc_program_name, since there is no more need to
339         use set_program_name in tools (getprogname is enough for most
340         of the cases).
341         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
342         * top/maint.mk (sc_program_name): Remove.
343
344 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
345
346         Port tests away from progname, since modules that need the
347         program name already depend on getprogname.
348         * modules/acl-tests (Depends-on): Remove progname.
349         * modules/argmatch (Depends-on): Likewise.
350         * modules/argmatch-tests (Depends-on): Likewise.
351         * modules/argp-tests (Depends-on): Likewise.
352         * modules/argp-version-etc-tests (Depends-on): Likewise.
353         * modules/array-list-tests (Depends-on): Likewise.
354         * modules/array-oset-tests (Depends-on): Likewise.
355         * modules/avltree-list-tests (Depends-on): Likewise.
356         * modules/avltree-oset-tests (Depends-on): Likewise.
357         * modules/avltreehash-list-tests (Depends-on): Likewise.
358         * modules/carray-list-tests (Depends-on): Likewise.
359         * modules/copy-file-tests (Depends-on): Likewise.
360         * modules/exclude-tests (Depends-on): Likewise.
361         * modules/fchownat-tests (Depends-on): Likewise.
362         * modules/fdopendir-tests (Depends-on): Likewise.
363         * modules/filenamecat-tests (Depends-on): Likewise.
364         * modules/fstatat-tests (Depends-on): Likewise.
365         * modules/fstrcmp-tests (Depends-on): Likewise.
366         * modules/linked-list-tests (Depends-on): Likewise.
367         * modules/linkedhash-list-tests (Depends-on): Likewise.
368         * modules/mkdirat-tests (Depends-on): Likewise.
369         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
370         * modules/nonblocking-socket-tests (Depends-on): Likewise.
371         * modules/obstack-printf-tests (Depends-on): Likewise.
372         * modules/openat-tests (Depends-on): Likewise.
373         * modules/parse-datetime-tests (Depends-on): Likewise.
374         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
375         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
376         * modules/quotearg-simple-tests (Depends-on): Likewise.
377         * modules/quotearg-tests (Depends-on): Likewise.
378         * modules/rbtree-list-tests (Depends-on): Likewise.
379         * modules/rbtree-oset-tests (Depends-on): Likewise.
380         * modules/rbtreehash-list-tests (Depends-on): Likewise.
381         * modules/spawn-pipe-tests (Depends-on): Likewise.
382         * modules/system-quote-tests (Depends-on): Likewise.
383         * modules/uniname/uniname-tests (Depends-on): Likewise.
384         * modules/uninorm/nfc-tests (Depends-on): Likewise.
385         * modules/uninorm/nfd-tests (Depends-on): Likewise.
386         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
387         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
388         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
389         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
390         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
391         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
392         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
393         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
394         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
395         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
396         * modules/unlinkat-tests (Depends-on): Likewise.
397         * modules/version-etc-tests (Depends-on): Likewise.
398         * modules/xalloc-die-tests (Depends-on): Likewise.
399         * modules/xmemdup0-tests (Depends-on): Likewise.
400         * modules/xprintf-posix-tests (Depends-on): Likewise.
401         * modules/xvasprintf-tests (Depends-on): Likewise.
402         * tests/test-argmatch.c: Do not include progname.h.
403         (main) Stop calling set_program_name.
404         * tests/test-argp-version-etc.c: Likewise.
405         * tests/test-argp.c: Likewise.
406         * tests/test-argv-iter.c: Likewise.
407         * tests/test-array_list.c: Likewise.
408         * tests/test-array_oset.c: Likewise.
409         * tests/test-avltree_list.c: Likewise.
410         * tests/test-avltree_oset.c: Likewise.
411         * tests/test-avltreehash_list.c: Likewise.
412         * tests/test-carray_list.c: Likewise.
413         * tests/test-copy-acl.c: Likewise.
414         * tests/test-copy-file.c: Likewise.
415         * tests/test-exclude.c: Likewise.
416         * tests/test-fchownat.c: Likewise.
417         * tests/test-fdopendir.c: Likewise.
418         * tests/test-filenamecat.c: Likewise.
419         * tests/test-fstatat.c: Likewise.
420         * tests/test-fstrcmp.c: Likewise.
421         * tests/test-linked_list.c: Likewise.
422         * tests/test-linkedhash_list.c: Likewise.
423         * tests/test-mkdirat.c: Likewise.
424         * tests/test-nonblocking-pipe-main.c: Likewise.
425         * tests/test-nonblocking-socket-main.c: Likewise.
426         * tests/test-obstack-printf.c: Likewise.
427         * tests/test-openat.c: Likewise.
428         * tests/test-parse-datetime.c: Likewise.
429         * tests/test-pipe-filter-gi1.c: Likewise.
430         * tests/test-pipe-filter-gi2-main.c: Likewise.
431         * tests/test-pipe-filter-ii1.c: Likewise.
432         * tests/test-pipe-filter-ii2-main.c: Likewise.
433         * tests/test-quotearg-simple.c: Likewise.
434         * tests/test-quotearg.c: Likewise.
435         * tests/test-rbtree_list.c: Likewise.
436         * tests/test-rbtree_oset.c: Likewise.
437         * tests/test-rbtreehash_list.c: Likewise.
438         * tests/test-sameacls.c: Likewise.
439         * tests/test-set-mode-acl.c: Likewise.
440         * tests/test-spawn-pipe-main.c: Likewise.
441         * tests/test-system-quote-main.c: Likewise.
442         * tests/test-unlinkat.c: Likewise.
443         * tests/test-version-etc.c: Likewise.
444         * tests/test-xalloc-die.c: Likewise.
445         * tests/test-xfprintf-posix.c: Likewise.
446         * tests/test-xmemdup0.c: Likewise.
447         * tests/test-xprintf-posix.c: Likewise.
448         * tests/test-xvasprintf.c: Likewise.
449         * tests/uniname/test-uninames.c: Likewise.
450         * tests/uninorm/test-u32-nfc-big.c: Likewise.
451         * tests/uninorm/test-u32-nfd-big.c: Likewise.
452         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
453         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
454         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
455         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
456         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
457         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
458         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
459         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
460         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
461         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
462         * tests/test-c-stack.c: (program_name): Do not define.
463         (main): Do not set program_name.
464         * tests/test-closein.c: Likewise.
465         * tests/test-xstrtol.c: Likewise.
466         * tests/test-yesno.c: Likewise.
467
468 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
469
470         Port modules to use getprogname explicitly, instead of requiring
471         progname to be used (or program_name to be provided).
472         * lib/argmatch.c: Do not include progname.h.
473         [TEST] (program_name): Do not define.
474         [TEST] (main): Call getprogname instead of using program_name.
475         * lib/c-stack.c: Do not include progname.h.
476         (program_name): Do not define.
477         (die): Call getprogname instead of using program_name.
478         * lib/chdir-long.c: Do not include progname.h.
479         [TEST_CHDIR] (main): Do not set program_name.
480         * lib/error.c [!_LIBC]: Include progname.h.
481         [!_LIBC] (program_name): Define using getprogname.
482         * lib/euidaccess.c: Do not include progname.h.
483         [TEST] (main): Do not set program_name.
484         * lib/git-merge-changelog.c: Include getprogname.h instead of
485         progname.h.
486         (usage): Call getprogname instead of using program_name.
487         (main): Likewise.  Stop calling set_program_name.
488         * lib/group-member.c: Do not include progname.h.
489         [TEST] (main): Do not set program_name.
490         * modules/argmatch (Depends-on): Add getprogname.
491         * modules/c-stack (Depends-on): Likewise.
492         * modules/error (Depends-on): Likewise.
493         * modules/git-merge-changelog (Depends-on): Likewise.
494         Also remove progname.
495
496 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
497
498         * NEWS: Document the deprecation of the 'progname' module.
499
500 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
501
502         getprogname: new module
503         This provides a LGPL module for getting the name of the current
504         program, using the same API found on *BSD systems.
505         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
506         * modules/getprogname: New files.
507         * MODULES.html.sh (Misc): Add getprogname.
508
509 2016-09-02  Jim Meyering  <meyering@fb.com>
510
511         manywarnings: add -fno-common
512         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
513         to the list.  Quoting the manual, "Compiling with -fno-common is
514         useful on targets for which it provides better performance, or if
515         you wish to verify that the program will work on other systems that
516         always treat uninitialized variable declarations this way [putting
517         it in the data section]."  If diffutils had been using this sooner,
518         it would have prevented this duplicate declaration issue:
519         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
520
521 2016-08-31  Simon Josefsson  <simon@josefsson.org>
522
523         parse-datetime: Fix typo.
524         * lib/parse-datetime.y (parse_datetime2): Fix typo.
525
526 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
527
528         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
529         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
530         GCC 5 and 6 that have __builtin_sub_overflow but not
531         __builtin_sub_overflow_p.  With the recent changes, these
532         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
533         implementation than with INT_SUBTRACT_OVERFLOW implementation,
534         since the former needs just one runtime comparison whereas the
535         latter needs two.
536
537         strverscmp: sync with glibc
538         Although this doesn't exactly synchronize with glibc
539         byte-for-byte, it makes the code behave the same as glibc.
540         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
541         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
542         difference shouldn't matter in practical use.  All uses changed
543         back to isdigit.
544         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
545         (next_state): Now unsigned char array; redo elements.
546         (result_type): Now signed char array; redo elements.
547         (__strverscmp): Fix glibc bug 9913 by using new states.
548         * tests/test-strverscmp.c (main): Test glibc bug 9913.
549
550 2016-08-29  Jim Meyering  <meyering@fb.com>
551
552         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
553         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
554         similarly to how it was done to intprops.h.
555
556 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
557
558         intprops.h: port recent changes to GCC 6.2.0
559         * lib/intprops.h (__has_builtin): Move earlier.
560         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
561         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
562         the last argument can be null.  All uses changed.
563         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
564         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
565         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
566         and it's not clear which GCC versions it works for.
567         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
568         its definiens.
569
570         intprops.h: use __typeof__ with GCC 7
571         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
572         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
573         This avoids computing the expression's value (which might overflow!).
574
575 2016-08-29  Jim Meyering  <meyering@fb.com>
576
577         intprops.h, xalloc-oversized.h: work with gcc 7
578         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
579         __builtin_mul_overflow each accept a NULL pointer as the third
580         argument.  However in gcc 7, that is no longer accepted.
581         Instead, one must use the "_p"-suffixed names, with which, the
582         third parameter is no longer a pointer.
583         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
584         the definition: not true for gcc 7 and subsequent.
585         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
586         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
587         Provide new definitions for gcc 7 and subsequent.
588         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
589         that works with gcc-7.
590
591         intprops.h: fix missing-backslash problems
592         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
593         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
594
595 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
596
597         intprops: fix paren typo on old platforms
598         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
599         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
600         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
601         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
602         && !defined LLONG_MAX]:
603         Remove stray paren.
604
605         intprops: port to OpenVMS
606         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
607         * doc/posix-headers/limits.texi: Document the problem.
608         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
609         Define if not already defined.
610
611 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
612
613         parse-datetime: improve debug implementation
614         Follow-up to commit 12ad79069 ("add optional debug printing").
615         Improve parse-datetime's debug implementation: remove macros,
616         replace global debug flag variable with a function parameter,
617         use nstrftime for formatting.
618         See: https://lists.gnu.org/archive/html/bug-gnulib/2016-08/msg00021.html
619         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
620         (parse_datetime2): New function, accepts 'flags' parameter, supporting
621         debug flag. Existing interface 'parse_datetime' left unmodified.
622         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
623         (struct parser_control): add 'parse_datetime_debug' member variable.
624         (parse_datetime): Call new function 'parse_datetime2' without debug.
625         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
626         pc.parse_datetime_debug variable as needed.
627         (to_year): Accept new flags parameter, instead of using global variable.
628         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
629         use struct 'debug' variable instead of global variable.
630         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
631         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
632         correspnding functions directly instead of using macros.
633         * modules/parse-datetime: Add gnulib's strftime module.
634
635 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
636
637         c-strcase-tests: port to EBCDIC
638         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
639         which assume ASCII encoding semantics to run only in ASCII
640         mode, as they fail in EBCDIC.
641
642         sigpipe-tests: fix typo
643         * tests/test-sigpipe.sh: C, not B.
644
645 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
646
647         canonicalize-lgpl: fix errno after malloca fails
648         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
649         http://lists.gnu.org/archive/html/bug-gnulib/2016-08/msg00039.html
650         * lib/canonicalize-lgpl.c (__realpath):
651         Don't assume malloca sets errno on failure.
652
653 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
654
655         strtod: port errno handling to z/OS
656         * lib/strtod.c (strtod): Save and restore errno more reliably.
657
658 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
659
660         strtod: port to z/OS
661         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
662         implementation.
663
664 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
665
666         strtod: port to z/OS
667         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
668         implementation.
669
670         regex, string: rename to avoid '__string'
671         * lib/regex.h, lib/string.in.h: Do not use the identifier
672         '__string', as it is effectively reserved by string.h on z/OS.
673
674         c-strcase-tests, wcwidth-tests: depend on c-ctype
675         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
676         Add c-ctype.
677
678 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
679
680         thread: port to z/OS
681         * lib/glthread/thread.c, lib/glthread/thread.h:
682         Rudimentary gl_thread support for z/OS.
683
684         maint: port tests to z/OS errno behavior
685         * tests/test-nonblocking-reader.h:
686         * tests/test-nonblocking-writer.h:
687         Accommodate z/OS errno code preferences. (I believe this should
688         still be within spec; IBM is good at following the letter if not
689         the spirit of such things.)
690
691         maint: preprocessor changes to support z/OS
692         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
693         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
694         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
695         * tests/test-nonblocking-pipe.h:
696
697         fclose, strstr-simple, wchar: port to z/OS
698         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
699         Changes to the Autoconf M4 code to support z/OS.  Note that
700         fclose() is broken in a different way on z/OS than it is on other
701         systems, thus the special-case in fclose.m4.
702
703         iconv_open-utf-tests, iconv-tests: port to EBCDIC
704         * tests/test-iconv-utf.c, tests/test-iconv.c:
705         Added appropriately conditional #pragmas so that the test strings
706         in test-iconv-utf.c are correctly interpreted in ASCII instead of
707         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
708         addressed in a more portable way by simply rewriting all the ASCII
709         literal characters as octal escapes, but then you would lose the
710         partial readability that the strings have now. Also, iconv_open()
711         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
712
713         c-strcase-tests, wcwidth-tests: port to EBCDIC
714         * tests/test-c-strcasecmp.c: Include c-ctype.h.
715         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
716         * tests/test-wcwidth.c: Likewise.
717
718 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
719
720         stdbool: don't require _Bool for C++
721         Problem reported by David Seifert in:
722         http://lists.gnu.org/archive/html/bug-gnulib/2016-06/msg00005.html
723         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
724         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
725         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
726         stricter about checking that bool and _Bool are compatible in C.
727
728 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
729
730         getdelim: remove dependency on realloc-posix
731         * lib/canonicalize-lgpl.c (alloc_failed)
732         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
733         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
734         Use __set_errno where needed, for consistency.
735         * lib/getdelim.c (alloc_failed): New function.
736         (getdelim): Use it.
737
738 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
739
740         parse-datetime: add optional debug printing
741         Print parsing information, warnings, and errors to stderr.
742         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
743         * lib/parse-datetime.y:
744         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
745         (PROGRESS*): Same as DEBUG, for progress reporting.
746         (dbg_printf): Print message to stderr, with 'date' prefix.
747         (struct parser_control): Add 'debug_*_seen' variables.
748         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
749         (debug_print_current_time, debug_print_relateive_time): Prints the
750         current/relative date/time value of parser_control.
751         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
752         (to_year): Warn about 2-digit year parsing.
753         (yylex):   Warn about unrecognized words.
754         (get_effective_timezone): Returns current timezone in minutes.
755         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
756         clearly and unambigiously as possible.
757         (debug_mktime_not_ok): Print detailed information about failed
758         date/time values.
759         (parse_datetime): Add DEBUG messages for failures, warnings. Add
760         PROGRESS messages for status messages.
761         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
762
763 2016-08-06  Jim Meyering  <meyering@fb.com>
764
765         tests/init.sh: exclude dash with bad "local" semantics
766         * tests/init.sh (gl_shell_test_script_): Add a function to
767         eliminate a shell like "dash" (unlike bash, zsh) that has
768         surprising/risky "local var='...'" semantics.  Inspired by
769         the problem and discussion in https://bugs.gnu.org/24116#11.
770
771 2016-08-02  Ján Tomko  <jtomko@redhat.com>
772
773         maint.mk: expand the prohibit_doubled_word regex
774         This check has a static list of words that are checked for
775         repetitions.  Expand it before running the perl script to
776         avoid using expensive captures.  This decreases the cost
777         for libvirt from 1.66s to 0.66s.
778         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
779         (sc_prohibit_doubled_word): Use it.
780
781 2016-07-26  Ján Tomko  <jtomko@redhat.com>
782
783         useless-if-before-free: skip non-matching lines early
784         * build-aux/useless-if-before-free: First match each line with the
785         simple/quick /\bif\b/ and reject if there is no match. This often
786         saves the cost of the much more involved regular expression.
787         For libvirt, this decreases the cost from 1.44s to 1.02s.
788
789 2016-07-26  Ján Tomko  <jtomko@redhat.com>
790
791         maint.mk: speed up sc_po_check
792         sc_po_check would skip files based on their names, or on the
793         existence of files with derived names. Rewrite it to use perl
794         instead of shell to make the check faster.
795         * top/maint.mk (perl_translatable_files_list_): Define.
796         (sc_po_check): Use it.
797
798 2016-07-30  Ján Tomko  <jtomko@redhat.com>
799
800         maint.mk: speed up require_config_h_first
801         Instead of spawning three processes per file,
802         rewrite the check in perl and run it once for all the files.
803         * top/maint.mk (perl_config_h_first_): Define.
804         (sc_require_config_h_first): Use it in place of shell code.
805
806 2016-07-26  Ján Tomko  <jtomko@redhat.com>
807
808         maint.mk: speed up sc_po_check
809         sc_po_check would skip files based on their names, or on the
810         existence of files with derived names. Rewrite it to use perl
811         instead of shell to make the check faster.
812         * top/maint.mk (perl_translatable_files_list_): Define.
813         (sc_po_check): Use it.
814
815 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
816
817         obstack: pacify GCC 6 with -Wnull-dereference
818         Problem reported by Assaf Gordon in:
819         http://lists.gnu.org/archive/html/bug-gnulib/2016-07/msg00028.html
820         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
821         Declare with __attribute_noreturn__.
822         * lib/obstack.h (__attribute_noreturn__): New macro.
823
824 2016-07-13  Eric Blake  <eblake@redhat.com>
825
826         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
827         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
828         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
829
830 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
831
832         doc: mention glibc SSIZE_MAX buglet
833         * doc/posix-headers/limits.texi (limits.h): Document the bug.
834
835 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
836
837         printf-posix: Fix mingw build
838         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
839         expression for detecting C symbol prefixes but forgot to qoute square
840         brackets in the command line arguments for grep.  That way when
841         building with mingw the condition was false although it ought to be
842         true instead.  In particular scenarios this led to the following
843         compile error:
844
845             Cannot export rpl_printf: symbol not found
846             Cannot export rpl_scanf: symbol not found
847             collect2: error: ld returned 1 exit status
848
849         Fix this by properly quoting square brackets.
850
851 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
852
853         mktime: call tzset as per POSIX
854         Problem reported by Ludovic Courtès in:
855         http://lists.gnu.org/archive/html/bug-gnulib/2016-06/msg00068.html
856         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
857         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
858
859 2016-06-26  Pádraig Brady  <P@draigBrady.com>
860
861         fts: handle readdir() errors
862         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
863         but also upon error when it will also set errno.  Therefore
864         flag the error case from readdir().  We treat the case where
865         no items are read the same as if the dir can't be accessed,
866         i.e. by setting fts_errno to FTS_DNR.
867
868 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
869
870         intprops: port better to GCC 7
871         GCC 7 __builtin_add_overflow supports a new usage form, where the
872         last argument is a null pointer, and which merely returns 1 if an
873         overflow would occur.  This is a constant expression if all
874         arguments are constants, and should generate faster code when code
875         needs to be generated.
876         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
877         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
878         Use builtin operations if available.
879         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
880         operations are available, as it's almost surely faster.
881
882 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
883
884         intprops-test: port to GCC 6
885         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
886         since the bug is not fixed in GCC 6.1.
887
888 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
889
890         xalloc-oversized: port to GCC 7; fewer warnings
891         GCC 7 will have a better way to deal with integer overflow.
892         Plus, fix a warnings problem reported by Tim Ruehsen in:
893         http://lists.gnu.org/archive/html/bug-gnulib/2016-06/msg00022.html
894         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
895         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
896         For GCC 5, use __xalloc_oversized if both args are constants,
897         or if pedantic.
898
899 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
900
901         regex: port to Sun C
902         Reported by Daiki Ueno.
903         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
904         __restrict, in prototype.  This fixes a problem I introduced in
905         the 2016-02-19 merge from glibc.
906
907 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
908
909         stdbool: Restore __bool_true_false_are_defined check
910         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
911         __bool_true_false_are_defined is still defined, even with C++11.
912
913 2016-05-31  David Seifert <soap@gentoo.org>  (tiny change)
914
915         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
916         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
917
918 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
919
920         Use GCC_LINT, not lint
921         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
922         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
923         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
924         Document problem with lint and _Noreturn.
925         * lib/diffseq.h (IF_LINT, IF_LINT2):
926         * lib/fts.c (sccsid):
927         * lib/getndelim2.c (IF_LINT):
928         * lib/gl_anylinked_list2.h (gl_linked_iterator)
929         (gl_linked_iterator_from_to):
930         * lib/gl_anytree_list2.h (gl_tree_iterator)
931         (gl_tree_iterator_from_to):
932         * lib/gl_anytree_oset.h (gl_tree_iterator):
933         * lib/gl_array_list.c (gl_array_iterator)
934         (gl_array_iterator_from_to):
935         * lib/gl_array_oset.c (gl_array_iterator):
936         * lib/gl_carray_list.c (gl_carray_iterator)
937         (gl_carray_iterator_from_to):
938         * lib/idcache.c:
939         * lib/inet_ntop.c (IF_LINT):
940         * lib/regcomp.c (build_charclass_op, create_tree):
941         * lib/regex_internal.c (re_acquire_state)
942         (re_acquire_state_context):
943         * lib/trigl.c (rcsid):
944         * lib/trim.c (IF_LINT):
945         * lib/vasnprintf.c (IF_LINT):
946         * lib/verify.h (assume):
947         Treat GCC_LINT like lint.
948
949 2016-05-29  Bruno Haible  <bruno@clisp.org>
950
951         secure_getenv: Port to many more platforms.
952         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
953         functions.
954         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
955         for non-BSD Unix platforms and for native Windows.
956         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
957         Prompted by a request from Nikos Mavrogiannopoulos.
958
959 2016-05-27  Eric Blake  <eblake@redhat.com>
960
961         canonicalize: Fix broken probe for realpath.
962         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
963         in logic introduced in 54615b95.
964
965 2016-05-26  Eric Blake  <eblake@redhat.com>
966
967         unsetenv: relax to LGPLv2+
968         * modules/unsetenv (License): Match setenv license.
969
970 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
971
972         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
973         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
974         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
975         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
976         (commonarg, dirargs, dirs, infoarg, generate_ascii)
977         (generate_html, generate_info, generate_tex, outdir)
978         (source_extra, split, srcfile, texarg): Move above 'version'.
979         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
980
981 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
982
983         manywarnings: update for GCC 6.1
984         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
985         Add GCC 6.1 options that apply to C.
986         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
987         do not apply to C, are obsolescent, etc.
988
989 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
990
991         glob: size_t overflow checks
992         * lib/glob.c (__has_builtin): New macro.
993         (size_add_wrapv, glob_use_alloca): New static functions.
994         (glob, glob_in_dir): Check for size_t overflow in several places,
995         and fix some size_t checks that were not quite right.
996
997         glob: don't assume INT_MAX < SIZE_MAX
998         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
999         latter is not portable to (probably theoretical) hosts where
1000         SIZE_MAX <= INT_MAX.
1001
1002 2016-05-09  Bruno Haible  <bruno@clisp.org>
1003
1004         Fix undefined behaviour in gettext.h.
1005         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
1006         pointer's value after the storage it points to has been freed.
1007         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
1008         Spotted by Coverity.
1009
1010 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
1011
1012         git-version-gen: avoid undefined shift
1013         Problem reported by Mosè Giordano in:
1014         http://lists.gnu.org/archive/html/bug-gnulib/2016-05/msg00012.html
1015         * build-aux/git-version-gen: Avoid undefined behavior if invoked
1016         with --prefix or --fallback but without a later argument.  While
1017         we're at it, omit unnecessary quotes.
1018
1019 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
1020
1021         glob: merge glibc changes into lib/glob.c
1022         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
1023         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
1024         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
1025           struct dirent [BZ #19779]
1026         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
1027           callback gl_readdir
1028         2015-10-20 Convert miscellaneous function definitions to prototype style
1029         2015-10-20 Convert 113 more function definitions to prototype style
1030           (files with assertions)
1031         2015-06-12 Fix getlogin_r namespace (bug 18527).
1032         2014-02-10 Use glibc_likely instead __builtin_expect.
1033         2013-10-20 When glob pattern contains a trailing slash match only
1034           directories. Fixes bug 10278.
1035         2013-09-04 glob: silence -Wattribute warnings
1036         2013-06-07 Avoid use of "register" as optimization hint.
1037         2012-09-25 Use size_t instead of int for internal variables in glob
1038           (bug 14621)
1039         2011-07-20 Check for overflows in expressions
1040         2011-05-28 Remove unused variable
1041         2011-05-22 Add a few more alloca size checks
1042         2010-03-27 Whitespace fixes
1043         2010-03-27 Fix one more issue with the glob patch
1044         2010-03-24 Fix glob with empty pattern
1045         2008-05-27 Remove useless more "if" tests before "free"
1046         * modules/glob (Depends-on): Add stdint.
1047
1048 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
1049
1050         mktime: port to stricter signed overflow checking
1051         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
1052         (long_int): Require width for INT_MAX * 3 * (seconds per year),
1053         instead of merely for INT_MAX * 2.  In practice platforms that
1054         do the latter also do the former.
1055         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
1056         (shr): New static function, replacing SHR.  All uses changed.
1057         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
1058         and TIME_T_MAX.  All uses changed.
1059         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
1060         Use long_int, not time_t.
1061         (long_int_avg): New static function, replacing time_t_avg.
1062         All uses changed.  Round toward positive infinity, as that
1063         generates slightly better code.
1064         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
1065         by INT_ADD_WRAPV.
1066         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
1067         (convert_time): New static function.
1068         (ranged_convert): Use it
1069         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
1070         Use simpler test for loop exit.
1071         (__mktime_internal): Store negative of guessed offset, to simplify
1072         overflow checking.  Remove no-longer-needed test for small time_t
1073         overflows.
1074
1075         mktime: speed up DEBUG_MKTIME benchmarks
1076         Call tzset just once, at the start, rather than for every test
1077         case.  This lets us measure the CPU cost of mktime as opposed to
1078         that of tzset.  This is relevant when TZ is not set and glibc is
1079         being used.  This speeds up tests by a factor of 40 on my Fedora
1080         23 x86-64 platform.
1081         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
1082         to call tzset and as a sanity check.  Later on, use localtime_r
1083         instead of localtime.
1084
1085         mktime: resurrect DEBUG_MKTIME testing
1086         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
1087         Include <string.h>, for strcmp.
1088
1089         mktime: simplify DEBUG_MKTIME
1090         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
1091         Simplify later usage accordingly.
1092
1093         Port mktime_internal offset to unsigned time_t
1094         This avoids some assumptions about wraparound arithmetic on
1095         signed integer overflow.
1096         * lib/mktime-internal.h (mktime_offset_t): New type.
1097         (mktime_internal): Use it in decl.
1098         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
1099
1100         * lib/mktime.c (__mktime_internal, localtime_offset):
1101         * lib/timegm.c (timegm): Use it.
1102         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
1103         (gl_FUNC_MKTIME): Require it.
1104
1105 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
1106
1107         xstrtol: prohibit monstrosities like "1bB"
1108         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
1109         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
1110         "B" only if the first suffix needs a base.
1111         * tests/test-xstrtol.sh: Test this.
1112
1113 2016-04-21  Pádraig Brady  <P@draigBrady.com>
1114
1115         xstrtod: reinstate setting of *result upon ERANGE
1116         * lib/xstrtod.c (XSTRTOD): The user may decide to use
1117         the returned limits upon ERANGE, so allow and document that.
1118
1119 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
1120
1121         xstrtod: modify *result only if no errors
1122         * lib/xstrtod.c (XSTRTOD).
1123
1124 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
1125
1126         btowc: document problems in C locale
1127         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
1128         with mbrtowc.  See: http://bugs.gnu.org/23269#32
1129
1130 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
1131
1132         mktime: improve integer overflow checking
1133         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
1134         (WRAPV): Remove; no longer needed.
1135         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
1136         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
1137         Remove.  Use intprops.h defns instead.
1138         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
1139         Use bool for Boolean, for clarity.
1140         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
1141         detect integer overflow.
1142         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
1143
1144         intprops: check two's complement assumption
1145         Suggested by Eric Blake in:
1146         http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00016.html
1147         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
1148         short, int, long, and (if available) long long are two's complement.
1149         * modules/intprops (Depends-on): Add 'verify'.
1150
1151         intprops, mktime, strtol: assume two's complement
1152         These macros were not portable to every conforming C11 ones'
1153         complement platform.  It's not worth the hassle of porting to some
1154         platforms that use ones' complement or signed magnitude, as such
1155         platforms are almost purely theoretical nowadays and porting even
1156         to some of them makes the code harder to review for little
1157         practical benefit.  Problem reported by Florian Weimer in:
1158         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
1159         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
1160         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
1161         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
1162         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
1163         (TYPE_SIGNED_MAGNITUDE):
1164         Remove.  All uses rewritten to assume two's complement, which is
1165         all we can reasonably test nowadays anyway.
1166         * top/maint.mk (_intprops_names): Remove the removed macros.
1167
1168 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
1169
1170         stdint: port to strict C11 left shift
1171         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
1172         Pacify clang -Wshift-negative-value, which should be an issue only
1173         on clang setups where stdint.h does not conform to C11 or to C++11.
1174         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
1175
1176 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
1177
1178         mbrtowc: work around glibc bug#19932
1179         Fix mbrtowc so that it never returns -1 in the C locale,
1180         as this conflicts with a future version of POSIX
1181         http://austingroupbugs.net/view.php?id=663#c2738
1182         and causes problems with GNU grep: http://bugs.gnu.org/23234
1183         See glibc bug 19932:
1184         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
1185         * doc/posix-functions/mbrlen.texi (mbrlen):
1186         * doc/posix-functions/mbrtowc.texi (mbrtowc):
1187         Document the glibc bug.
1188         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
1189         Include hard-locale.h, locale.h.
1190         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
1191         if the bug is possible.
1192         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
1193         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
1194         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
1195         * modules/mbrtowc (Depends-on): Add hard-locale.
1196         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
1197         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
1198         * tests/test-mbrtowc5.sh: New file.
1199
1200 2016-04-03  Pedro Alves  <palves@redhat.com>
1201
1202         stdint: detect good enough pre-C++11 stdint.h in C++ mode
1203         When gnulib is configured in C++ mode for a system with a working C99
1204         implementation of stdint.h that predates C++11, gnulib ends up
1205         substituting stdint.h anyway.  This works on most targets, but on e.g.,
1206         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
1207         MinGW is LLP64.  Instead of trying to detect the right types, detect
1208         good-enough-pre-C++11 stdint.h and in such case define
1209         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
1210         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
1211         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
1212         conforms to C99.  If it does, check whether it hides symbols
1213         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
1214         does, define those macros in config.h.
1215
1216 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
1217
1218         argp: merge changes from glibc
1219         Among other things, this should fix problems found by a Coverity
1220         scan and reported by Andrei Borzenkov:
1221         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00015.html
1222         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00016.html
1223         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
1224         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
1225         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
1226         * lib/argp.h:
1227         Merge changes from glibc.
1228         * tests/test-argp-2.sh: Adjust to match new behavior.
1229
1230 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
1231
1232         stddef: support configuring with g++
1233         Problem reported by Ángel González in:
1234         http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00003.html
1235         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
1236         Do not define if _GCC_MAX_ALIGN_T is defined.
1237
1238 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
1239
1240         test-framework-sh: minor cleanups
1241         * tests/init.sh (testdir_prefix_): Output a trailing newline,
1242         since strictly speaking POSIX requires this.
1243         (setup_): Do not use the variable 'fail', as that makes the
1244         trace output harder to read ('fail' is typically used by
1245         tests to mean the test failed).  Treat // portably.
1246         Check that new directory is not merely a sibling of the tmp dir.
1247         Avoid unnecessary invocation of tr.
1248
1249         test-framework-sh: revert port to NetBSD 7.0
1250         It was a false alarm; I misinterpreted Assaf Gordon's report.
1251         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
1252         Restore.
1253         (test_dir_): Adjust to mktempd_ change.
1254         (mktempd_): Restore 2nd arg.  Use -t again.
1255         (base_template_, template_, nx_): Resurrect old code.
1256
1257         Port better to Alpine Linux
1258         Its diff implementation does not support -c, but does support -U3.
1259         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
1260         * tests/init.sh (diff_opt_): New var.
1261         (compare_): Prefer diff -U3 to diff -c to plain diff.
1262
1263 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
1264
1265         test-framework-sh: port to NetBSD 7.0
1266         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
1267         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
1268         Remove.  All uses removed.
1269         (test_dir_): Adjust to mktempd_ change.
1270         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
1271         (base_template_, template_, nx_): Simplify by hardcoding.
1272
1273 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
1274
1275         gitlog-to-changelog: suppress ignored chatter
1276         * build-aux/gitlog-to-changelog: Do not warn about skipping
1277         an SHA if it would have been ignored anyway.
1278
1279 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
1280
1281         setlocale: add "sv" to Windows language table
1282         * lib/setlocale.c (language_table) [W32]: Add "sv".
1283         Reported in <https://savannah.gnu.org/bugs/?44588>.
1284
1285 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
1286
1287         sys_select: port to new Cygwin
1288         Problem reported by Ken Brown in:
1289         https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00054.html
1290         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
1291         diagnostics.
1292
1293 2016-03-17  Jim Meyering  <meyering@fb.com>
1294
1295         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
1296         * tests/test-userspec.c (main): Remove unnecessary braces and fix
1297         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
1298           test-userspec.c:176:9: error: statement is indented as if it were \
1299             guarded by... [-Werror=misleading-indentation]
1300                    {
1301                    ^
1302           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
1303                  if (!diag && !T[i].result)
1304                  ^~
1305
1306 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
1307
1308         time_rz: port to clang -Wunused-const-variable
1309         * lib/time_rz.c (TZ): Remove.  All uses removed.
1310
1311         std-gnu11: improve clang support
1312         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
1313         2016-03-15 Also try clang
1314         2016-03-15 Port C11 and C++11 testing to clang
1315
1316         select: port more to Intel 2016.1.150 compiler
1317         Problem reported by Balázs Hajgató in:
1318         http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00036.html
1319         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
1320
1321 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
1322
1323         select: try to port to 2016.1.150 compiler
1324         Problem reported by Balázs Hajgató in:
1325         http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00026.html
1326         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
1327         POSIX specifies 'restrict'.
1328
1329 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
1330
1331         localename-tests: memory allocation fixes
1332         * tests/test-localename.c (test_locale_name)
1333         (test_locale_name_thread): Don't call freelocale on a locale
1334         that was the base of a successful newlocale, as that
1335         results in a double free.  Problem reported by Assaf Gordon.
1336         (test_locale_name_thread): Free saved names after use, to pacify
1337         gcc -fsanitize=address.
1338
1339 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1340
1341         intprops: make .h file license match module
1342         * lib/intprops.h: Change the license wording to match glibc format.
1343         This is what is in modules/intprops anyway.  See:
1344         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
1345
1346 2016-03-08  Eric Blake  <eblake@redhat.com>
1347
1348         acl: fix missing return on Cygwin
1349         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
1350         fall off end of function. Fixes http://bugs.gnu.org/22949
1351
1352 2016-03-05  Bruno Haible  <bruno@clisp.org>
1353
1354         extern-inline: port to PGI CC
1355         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
1356         keyword 'inline'.
1357         Reported by Adam James Stewart in:
1358         http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00006.html
1359
1360 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1361
1362         signbit: port back to pre-C++11 GCC
1363         * lib/math.in.h (signbit): Do previous change only if
1364         __cplusplus < 201103.  See Jonathan Wakely in:
1365         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
1366
1367 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
1368
1369         mountlist: recognize autofs-mounted remote file systems, too
1370         Originally reported at: https://bugzilla.redhat.com/1309247
1371         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
1372         "-hosts" because it is used by autofs to mount remote file systems.
1373
1374 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1375
1376         signbit: port to C++ with GCC 6
1377         * lib/math.in.h (signbit) [__cplusplus]:
1378         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
1379         http://lists.gnu.org/archive/html/bug-gnulib/2016-02/msg00005.html
1380
1381         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
1382
1383         regex: make it closer to libc
1384         Make Idx a signed type, rather than possibly unsigned.
1385         The unsignedness was not really buying us anything, since the code
1386         overflows for other reasons before getting to PTRDIFF_MAX.  Making
1387         it signed allows us to use -1 and -2 with abandon, like libc does,
1388         thus lessening the number of differences between gnulib and libc.
1389         Also, it should help avoid gratuitous warnings like the one
1390         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
1391         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
1392
1393
1394         regex: merge patches from libc
1395
1396         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
1397         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
1398         Convert miscellaneous function definitions to prototype style.
1399         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
1400         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
1401         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
1402         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
1403         (re_search_internal):
1404         Convert to prototype-style function definition.
1405         Use internal_function for internal functions.
1406
1407 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
1408
1409         stdalign: port to older HP and IBM cc
1410         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
1411         C compilers, by checking their version numbers.  These version
1412         numbers appear in MariaDB and in Qt code that dates way back and
1413         that conditiionally uses the 'aligned' attribute.
1414
1415 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1416
1417         stdalign: port to clang 3.7.0
1418         Problem reported by Herbert J. Skuhra in:
1419         http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00476.html
1420         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
1421         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
1422         https://llvm.org/bugs/show_bug.cgi?id=26547
1423
1424 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
1425
1426         readdir_r: now obsolescent
1427         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
1428         * lib/mountlist.c (read_file_system_list): Add a FIXME.
1429
1430 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
1431
1432         misc: port better to gcc -fsanitize=address
1433         Without these patches, ./configure CFLAGS='-fsanitize=address'
1434         would compute incorrect values.  This patch fixes some (but not all)
1435         test failures with recent glibc, with this configuration.
1436         * m4/acl.m4 (gl_ACL_GET_FILE):
1437         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
1438         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
1439         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
1440         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
1441         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
1442         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
1443         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
1444         * m4/getline.m4 (gl_FUNC_GETLINE):
1445         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
1446         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
1447         * m4/regex.m4 (gl_REGEX):
1448         * m4/strndup.m4 (gl_FUNC_STRNDUP):
1449         * tests/test-calloc-gnu.c (main):
1450         * tests/test-duplocale.c (main):
1451         * tests/test-getgroups.c (main):
1452         * tests/test-getline.c (main):
1453         * tests/test-inttostr.c (main):
1454         * tests/test-localename.c (test_locale_name)
1455         (test_locale_name_thread, test_locale_name_environ)
1456         (test_locale_name_default):
1457         * tests/test-regex.c (main):
1458         * tests/test-setlocale1.c (main):
1459         * tests/test-stat.h (test_stat_func):
1460         Free heap-allocated storage before exiting.
1461         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
1462         Don't match *_foo symbols inserted by AddressSanitizer.
1463         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
1464
1465 2016-02-02  Jim Meyering  <meyering@fb.com>
1466
1467         verify-tests: also remove stray test-verify.Tpo
1468         * modules/verify-tests (Makefile.am): Arrange for "make clean"
1469         to remove the test-verify.Tpo file that is left behind by
1470         the automake-generated rule upon compilation failure.
1471         Otherwise, that .Tpo file would cause a failed "make distcheck"
1472         at least for grep.
1473
1474 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1475
1476         std-gnu11: new module
1477         This makes it easier for applications to prefer C11 and C++11
1478         to older variants, when compiling C and C++ code.
1479         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
1480         a nontrivial chunk of GPLed Autoconf source code.
1481         * COPYING: Mention the m4/*.m4 copyright situation.
1482         * MODULES.html.sh (std-gnu11): New module.
1483         * m4/std-gnu11.m4, modules/std-gnu11: New files.
1484
1485 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1486
1487         get-permissions, strftime: fix grammar in comments
1488         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
1489         some grammar fixes Alan Mackenzie made to GNU Emacs.
1490
1491 2016-01-25  Daiki Ueno  <ueno@gnu.org>
1492
1493         gettext: mark as obsolete
1494         Suggested by Paul Eggert in:
1495         https://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00101.html
1496         * modules/gettext (Status): Mark as obsolete.
1497         (Notice): Suggest to use 'gettext-h' instead.
1498         * modules/gettext-h (Description): Suggest GNU gettext, instead of
1499         the 'gettext' module.
1500
1501 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1502
1503         gnulib-tool: don't give up on ln -s so easily
1504         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
1505         because an earlier one failed.  The targets could be on different
1506         file systems.  Problem reported by KO Myung-Hun in:
1507         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00081.html
1508
1509         closedir: fix OS/2-related typos
1510         Problem reported by KO Myung-Hun in:
1511         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00107.html
1512         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
1513         in the last couple of changes.
1514
1515 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
1516
1517         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
1518         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
1519         copying a directory.
1520
1521 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1522
1523         regex: treat [x] as x if x is a unibyte encoding error
1524         Problem reported by Aharon Robbins in:
1525         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00091.html
1526         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
1527         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
1528
1529         closedir, dirfd, opendir: port to OpenSolaris 5.10
1530         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
1531         * m4/dirfd.m4 (gl_FUNC_DIRFD):
1532         * m4/opendir.m4 (gl_FUNC_OPENDIR):
1533         Don't use ${word##pat} substitution, as it doesn't work in
1534         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
1535         http://bugs.gnu.org/22443#11
1536
1537 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1538
1539         bootstrap: use American spelling
1540         * build-aux/bootstrap: Honor American spelling.
1541
1542 2016-01-22  Karl Berry  <karl@freefriends.org>
1543
1544         * doc/posix-functions/localtime.texi,
1545         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
1546
1547 2016-01-21  Bruno Haible  <bruno@clisp.org>
1548
1549         hash-pjw-bare: fix comment
1550         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
1551
1552         wcwidth: Replace also on OpenBSD 5.8
1553         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
1554         * doc/posix-functions/wcwidth.texi: Update.
1555
1556 2016-01-20  Pádraig Brady  <P@draigBrady.com>
1557
1558         gnu-web-doc-update: fix addition of new files
1559         If there were already added (emnpty) dirs,
1560         then cvs aborts the add with the message:
1561           cvs [add aborted]: there is a version in <./dirname> already
1562         * build-aux/gnu-web-doc-update: Add directories separately
1563         to the addition of files, to avoid the above issue
1564         impacting the addition of files.
1565
1566 2016-01-19  Daiki Ueno  <ueno@gnu.org>
1567
1568         utimens-tests: avoid pulling gettext .m4 files
1569         Although this is not the right fix to the original problem:
1570         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html
1571         it makes it possible again for consumer projects to use arbitrary
1572         version of gettext, through the steps described at:
1573         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
1574         See here for details:
1575         https://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00079.html
1576         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
1577         'gettext'.
1578         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
1579         'gettext'.
1580
1581 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
1582
1583         regex: pacify static checkers
1584         Problem and draft fix reported by Aharon Robbins in:
1585         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html
1586         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
1587         Clear memory to pacify static checkers.
1588
1589         regex: fix [ diagnostic
1590         Problem and fix reported by Aharon Robbins in:
1591         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html
1592         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
1593
1594         regex: fix memory leaks
1595         Problem and draft fix reported by Aharon Robbins in:
1596         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html
1597         * lib/regcomp.c (build_range_exp, build_charclass_op)
1598         * lib/regex_internal.c (re_dfa_add_node):
1599         Fix memory leak on failure.
1600
1601 2016-01-18  Pádraig Brady  <P@draigBrady.com>
1602
1603         fts: don't unconditionally use leaf optimization for NFS
1604         NFS st_nlink are not accurate on all implementations,
1605         leading to aborts() if that assumption is made.
1606         See <https://bugzilla.redhat.com/1299169>
1607         * lib/fts.c (leaf_optimization_applies): Remove NFS from
1608         the white list, and document the issue.
1609
1610 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
1611             KO Myung-Hun  <komh@chollian.net>
1612
1613         gnulib-tool: don't assume ln -s works
1614         * gnulib-tool (func_ln_s): New function.
1615         (func_ln): Use it.
1616
1617 2016-01-15  KO Myung-Hun  <komh@chollian.net>
1618
1619         utimes: detect utimes() correctly on OS/2 kLIBC
1620         utimes() of OS/2 kLIBC has some limitations.
1621         1. OS/2 itself supports a file date since 1980 year in local time.
1622         2. OS/2 itself supports only even seconds for a file time.
1623         3. utimes() of OS/2 kLIBC does not work on an opened file.
1624         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
1625         * doc/posix-functions/utimes.texi: Document the above limitations of
1626         utimes() on OS/2 kLIBC.
1627
1628 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
1629             KO Myung-Hun  <komh@chollian.net>
1630
1631         openat_proc_name: port to OS/2 kLIBC
1632         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
1633         instead of /proc/self/fd.
1634         * lib/openat-proc.c (openat_proc_name):
1635         Don't assume file name length is less than INT_MAX.
1636         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
1637
1638 2016-01-14  KO Myung-Hun  <komh@chollian.net>
1639
1640         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
1641         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
1642         definitions of intptr_t and uintptr_t (which use int and unsigned)
1643         to avoid clashes with declarations of system functions like sbrk.
1644         * lib/stdint.in.h (intptr_t, uintptr_t): Check
1645         _INTPTR_T_DECLARED before defining them.
1646
1647         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
1648         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
1649         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
1650         Declare on kLIBC.
1651         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
1652         fd associated with dirp.
1653         (_gl_register_dirp_fd): New. Register fd associated with dirp to
1654         dirp_fd_list.
1655         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
1656         (dirfd): Implemented for kLIBC.
1657         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
1658         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
1659         succeeds.
1660         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
1661         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
1662         (REPLACE_DIRFD): Define to 1 if replaced.
1663         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
1664         * modules/closedir (Depends-on): Add dirfd.
1665         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
1666         condition.
1667         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
1668         * modules/opendir (Depends-on): Add dirfd.
1669
1670         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
1671         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
1672         * lib/dup.c (dup_nothrow): New.
1673         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
1674         (klibc_dup2): New.
1675         * lib/fcntl.c (klibc_fcntl): New.
1676         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
1677         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
1678         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
1679         fd.
1680
1681         pipe_filter_ii_execute: port to OS/2 kLIBC
1682         Pipes on kLIBC do not support O_NONBLOCK like Win32.
1683         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
1684         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
1685         Reuse Win32 code on OS/2 kLIBC.
1686         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
1687         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
1688
1689         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
1690         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
1691         static inline function.  The implementation of wcwidth in wcwidth.c
1692         causes a "conflicting types" error.
1693         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
1694
1695         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
1696         spawn() on OS/2 kLIBC is not silly like one on Windows
1697         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
1698         empty string on OS/2 kLIBC.
1699
1700         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
1701         On OS/2 kLIBC, select() works only on sockets.
1702         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
1703
1704         binary-io: don't put fd in binary mode if it is a console on EMX
1705         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
1706         a console on EMX.
1707
1708 2016-01-15  Pádraig Brady  <P@draigBrady.com>
1709
1710         doc: mention unfixed issues with unsupported localtime() values
1711         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
1712         returns nonsense for localtime(2^56).
1713         * doc/posix-functions/localtime_r.texi: Likewise.
1714
1715 2016-01-14  Pádraig Brady  <P@draigBrady.com>
1716
1717         doc: mention setlocale() issues on OpenBSD
1718         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
1719         never fails, and the need to check categories individually.
1720
1721 2016-01-14  Pádraig Brady  <P@draigBrady.com>
1722
1723         sig2str: list all signals on FreeBSD >= 7
1724         FreeBSD >= 7 is contravening POSIX by not defining NSIG
1725         to the maximal statically defined signal value.
1726         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
1727         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
1728         where available, even when NSIG is defined.
1729
1730 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1731
1732         acl-permissions: port to USE_ACL==0 platforms
1733         I ran into this problem when building bleeding-edge GNU Emacs
1734         with gcc -fsanitize=address on Fedora 23.  On this platform
1735         the ACL library does not pass the 'configure' test and Emacs
1736         then does not build due in part to what appear to be typos in the
1737         ACL part of Gnulib.
1738         * lib/acl-internal.c (free_permission_context):
1739         * lib/acl-internal.h (struct permission_context):
1740         Test whether USE_ACL is nonzero, not whether it is defined.
1741
1742 2016-01-12  Martin Sebor  <msebor@redhat.com>
1743
1744         mktime: rename macro to avoid glibc clash
1745         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
1746         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
1747
1748 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1749
1750         Port "$@" to OpenIndiana ksh93
1751         In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html
1752         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
1753         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
1754         bug long-dead shells, so remove the workaround.
1755         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
1756         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
1757         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
1758         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
1759         Use "$@" instead of ${1+"$@"}.
1760
1761         Port Universal Time settings to strict POSIX
1762         * build-aux/announce-gen, build-aux/bootstrap:
1763         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
1764         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
1765         * build-aux/gnupload, build-aux/mkinstalldirs:
1766         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
1767         * build-aux/update-copyright, build-aux/useless-if-before-free:
1768         * build-aux/vc-list-files, tests/test-strftime.c:
1769         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
1770         but POSIX says the behavior of TZ="UTC" is undefined.
1771
1772 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
1773
1774         msvc-inval: fix problem with unset shell var
1775         Problem reported by Karl Berry in:
1776         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00004.html
1777         * modules/msvc-inval (Depends-on):
1778         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
1779         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
1780
1781 2016-01-01  Pádraig Brady  <P@draigBrady.com>
1782
1783         tests: for compare_(), use cmp -s where available
1784         * tests/init.sh (compare_): Only fall back to cmp without
1785         the POSIX defined -s option, where this is not available.
1786
1787 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1788
1789         version-etc: new year
1790         * build-aux/gendocs.sh (version):
1791         * doc/gendocs_template:
1792         * doc/gendocs_template_min:
1793         * doc/gnulib.texi:
1794         * lib/version-etc.c (COPYRIGHT_YEAR):
1795         Update copyright dates by hand in templates and the like.
1796         * all files: Run 'make update-copyright'.
1797
1798 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
1799
1800         human: fix output buffer overrun by 1
1801         * lib/human.c (human_readable): Fix off-by-one typo in buffer
1802         calculation that could lead to a one-byte buffer overrun.
1803
1804 2015-12-28  Daiki Ueno  <ueno@gnu.org>
1805
1806         maint: fix operator precedence in mbrtowc test
1807         This is a fix for test breakage introduced by commit 45228d96; the
1808         equality expression must be parenthesized when negated with '!',
1809         otherwise we always get:
1810
1811           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
1812
1813         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
1814         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
1815
1816 2015-12-23  James Youngman  <jay@gnu.org>
1817
1818         regexprops-generic: update from regex.h
1819         * doc/regexprops-generic.texi: update by running the regexprops binary
1820         from findutils (the command line is 'regexprops "Regular Expressions"
1821         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
1822         gnulib with GNU grep had made this document out-of-date.
1823
1824 2015-12-23  Pádraig Brady  <P@draigBrady.com>
1825
1826         strftime-tests: avoid false failure on OS X
1827         * tests/test-strftime.c (struct localtime_rz_test): Add an
1828         ahistorical member which is used to warn rather than fail
1829         when tm_isdst isn't set for such entries.  This is the case for
1830         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
1831
1832 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
1833
1834         fts: ensure leaf optimization is used for NFS
1835         NFS provides usable dirent.d_type but not necessarily for all entries
1836         of large directories.  See <https://bugzilla.redhat.com/1252549>
1837         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
1838
1839 2015-12-20  Pádraig Brady  <P@draigBrady.com>
1840
1841         fts: enable leaf optimization for XFS
1842         XFS provides usable dirent.d_type only for DT_DIR,
1843         but the noleaf optimization still applies.
1844         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
1845
1846 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1847
1848         intprops: comment fix
1849         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
1850         http://lists.gnu.org/archive/html/bug-gnulib/2015-12/msg00013.html
1851
1852         intprops-test: work around GCC bug 68971
1853         Problem reported by Pádraig Brady in:
1854         http://lists.gnu.org/archive/html/bug-gnulib/2015-12/msg00011.html
1855         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
1856         (main): Add a case that better tests 64-bit long in this area.
1857
1858 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
1859
1860         gnulib-tool: allow multiple --local-dir usage
1861         * gnulib-tool: Use --local-dir to construct compound
1862         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
1863         PATH_SEPARATOR early.
1864         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
1865         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
1866         func_determine_path_separator because that needs to be detected
1867         earlier now.
1868         (func_determine_path_separator): New function.
1869         (func_path_foreach, func_path_foreach_inner): New functions.
1870         (func_path_prepend, func_path_append): Likewise.
1871         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
1872         (func_lookup_file, func_all_modules): Use new functions to work
1873         with local_gnulib_path.
1874         (func_modules_in_dir, func_exists_module): New callbacks for
1875         func_path_foreach.
1876         (func_exists_module, func_get_tests_module): Likewise.
1877         (func_is_local_file, func_should_symlink): New helper methods.
1878         (func_add_file, func_update_file): Use new func_should_symlink
1879         instead, DRY.
1880         (func_reconstruct_cached_local_gnulib_path): New helper.
1881         (func_reconstruct_cached_dir): New callback.
1882         (func_import): The cached_local_gnulib_dir renamed to
1883         cached_local_gnulib_path similarly to local_gnulib_dir.
1884         Use new func_reconstruct_cached_local_gnulib_path.
1885         (func_count_relative_local_gnulib_path): New sub-method.
1886         (func_create_testdir): Use func_should_symlink, DRY.
1887         (func_create_megatestdir): Use new functions to work with
1888         local_gnulib_path correctly.
1889         (func_append_local_dir): New helper.
1890
1891 2015-12-08  Pádraig Brady  <P@draigBrady.com>
1892
1893         fix freadptr to work with ungetc on all uClibc configs
1894         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
1895         where GNU coreutils cut(1) generates invalid output on uClibc
1896         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
1897         * lib/freadptr.c (freadptr): Return NULL if there are
1898         ungotten chars.  In this case freadseek() will iterate
1899         again to process the ungotten character.
1900
1901 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
1902
1903         xalloc-oversized: improve performance with GCC 5
1904         * lib/xalloc-oversized.h (xalloc_oversized):
1905         Improve performance with GCC 5 by using __builtin_mul_overflow.
1906
1907 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
1908
1909         intprops: new public macro EXPR_SIGNED
1910         Emacs can use this macro, so make it public.
1911         * doc/intprops.texi (Arithmetic Type Properties): Rename from
1912         'Integer Type Determination', since some of these macros apply
1913         to non-integer types.  Clarify what kinds of constant expressions
1914         these macros return.  Say when the arguments can be non-integers.
1915         Mention newly published macro EXPR_SIGNED.
1916         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
1917         make it public.  All uses changed.
1918
1919         intprops: fix typo in clang port
1920         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
1921         '__builtin_add_overflow' that is not caught by compiler.
1922
1923 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1924
1925         test-timespec: fix typo in previous change
1926         * tests/test-timespec.c (main): Fix typo that reduced test quality.
1927
1928         timespec-sub: fix overflow bug; add tests
1929         * lib/timespec-add.c (timespec_add):
1930         * lib/timespec-sub.c (timespec_sub):
1931         Work even if time_t is narrower than int (a theoretical
1932         possibility).  Redo code for a bit more clarity.
1933         * lib/timespec-sub.c (timespec_sub):
1934         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
1935         * modules/timespec-tests, tests/test-timespec.c: New files.
1936
1937         intprops-test: suppress -Woverlength-strings
1938         Problem reported by Pádraig Brady in:
1939         http://lists.gnu.org/archive/html/bug-gnulib/2015-11/msg00008.html
1940         It is not worth the hassle to port this test to compilers that
1941         cannot handle long strings in diagnostics.
1942         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
1943
1944 2015-11-03  Pádraig Brady  <P@draigBrady.com>
1945
1946         quotearg: add quotearg_n_style_colon()
1947         This quotes with default options of the specified style,
1948         but with quoting enabled for instances of ':'.
1949         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
1950         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
1951
1952 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
1953
1954         intprops: revise _WRAPV macros, revert _OVERFLOW
1955         The incompatible changes to the _OVERFLOW macros were too much of
1956         a hassle in practice, so revert them.  Instead, change the new
1957         _WRAPV macros to make them closer in behavior to GCC 5's new
1958         builtin_add_overflow etc. functions.  No other software was using
1959         these newly-added macros yet, so this should be OK.
1960         * NEWS: Revert previous change, since the incompatible change
1961         has been reverted, and nobody used the incompatible version.
1962         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
1963         Document revised behavior.
1964         (Integer Range Overflow): Adjust example to match above revisions.
1965         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
1966         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
1967         these can be used in integer constant expressions again.
1968         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
1969         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
1970         needed.
1971         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
1972         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
1973         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
1974         Remove, as they did not seem that useful.
1975         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
1976         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
1977         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
1978         Support new semantics.
1979         (__has_builtin): New macro, if not alreay defined.
1980         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
1981         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
1982         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
1983         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
1984         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
1985         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
1986         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
1987         New macros.
1988         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
1989
1990 2015-11-03  Jim Meyering  <meyering@fb.com>
1991
1992         intprops: add parentheses for when OP has precedence lower than "-"
1993         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
1994         "a OP b" must be parenthesized for when OP is like "<<", which has
1995         lower precedence than the following "-". Reported by Pádraig Brady.
1996
1997 2015-11-03  Pádraig Brady  <P@draigBrady.com>
1998
1999         quotearg: constify get_quoting_style parameters
2000         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
2001         * lib/quotearg.c (get_quoting_style): Likewise.
2002
2003 2015-11-02  Pádraig Brady  <P@draigBrady.com>
2004
2005         quotearg: add support for $'' shell escaping
2006         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
2007         items and descriptions.
2008         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
2009         above types by quoting like "shell", but using $'...' syntax
2010         for non printable characters, which should provide unambiguous
2011         printable output for any input.
2012         * tests/test-quotearg-simple.c: Update accordingly.
2013
2014 2015-11-02  Pádraig Brady  <P@draigBrady.com>
2015
2016         maint: use a more standard return from mbrtowc test
2017         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
2018         from the test program as this is non standard and often
2019         indicates an unhandled case in the test program.
2020         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
2021
2022 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
2023
2024         intprops: add WRAPV and const flavors for GCC 5
2025         If available, use GCC 5's builtin functions for efficient integer
2026         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
2027         and safely compute the low-order bits of the correct answer.
2028         A downside of these efficient functions is that they cannot be
2029         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
2030         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
2031         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
2032         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
2033         Document the changes.
2034         (Wraparound Arithmetic): New section.
2035         (Integer Range Overflow):
2036         Put this subsection last, since it's least useful.
2037         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
2038         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
2039         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
2040         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
2041         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
2042         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
2043         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
2044         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
2045         New macros.
2046         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
2047         Generate calls to GCC builtins if available, for speed.
2048         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
2049         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
2050         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
2051         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
2052         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
2053         (CHECK_QUOTIENT, CHECK_REMAINDER):
2054         Test WRAPV and CONST flavors (when available) too.
2055
2056 2015-10-30  Pádraig Brady  <P@draigBrady.com>
2057
2058         doc: use extended timezone format in iso-8601 example
2059         * doc/parse-datetime.texi: The standard states that extended format
2060         is to be used consistently throughout.
2061         Note that lib/parse-datetime.y can handle either tz format.
2062
2063 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
2064
2065         stdalign: port to Sun C 5.9
2066         * doc/posix-headers/stdalign.texi: Document this.
2067         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
2068         __attribute__ ((__aligned__ (...))).
2069
2070 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
2071
2072         time_rz: fix comment about tzalloc
2073         * lib/time_rz.c (tzalloc): Fix comment.
2074
2075 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
2076
2077         stdalign: work around pre-4.9 GCC x86 bug
2078         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
2079         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
2080         http://lists.gnu.org/archive/html/bug-gnulib/2015-10/msg00038.html
2081
2082 2015-10-18  Pádraig Brady  <P@draigBrady.com>
2083
2084         maint.mk: sc_tight_scope: remove extraneous expressions
2085         * top/maint.mk (tight_scope): This is not really required since
2086         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
2087         that matches all nm entries.  But it does remove extraneous entries
2088         that may be confusing or cause issue in future maintenance.
2089
2090 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
2091
2092         time_rz: return NULL if localtime_r fails
2093         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
2094         while still attempting to pacify bleeding-edge GCC.
2095
2096         fts: port to C11 alignof
2097         * doc/posix-headers/stdalign.texi (stdalign.h):
2098         Document the C11 restriction.
2099         * lib/fts.c: Include stddef.h, for max_align_t.
2100         (fts_alloc): Align using max_align_t, not FTSENT.
2101         * modules/fts (Depends-on): Add stddef.
2102
2103 2015-10-18  Jim Meyering  <meyering@fb.com>
2104
2105         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
2106         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
2107         would see this:
2108
2109         lib/time_rz.c: In function 'localtime_rz':
2110         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
2111           [-Werror=nonnull]
2112                    if (tm && !save_abbr (tz, tm))
2113                        ^
2114
2115         That was complaining about "tm" because it is a parameter that was
2116         declared with the __nonnull__ attribute.
2117         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
2118         result of localtime_r.
2119
2120 2015-10-17  Jim Meyering  <meyering@fb.com>
2121
2122         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
2123         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
2124         name-extraction regexp mistakenly used \S+, and would mistakenly
2125         extract "*F" from "extern int *F()" rather than the desired "F".
2126         Use \w+ instead.
2127
2128 2015-10-17  Jim Meyering  <meyering@fb.com>
2129
2130         maint.mk: sc_tight_scope: factor and support OS X
2131         * top/maint.mk (_gl_tight_scope): Address three issues:
2132         - factor out four instances of code that wraps a string in "^...$"
2133         - allow nm-reported symbol names to have an optional leading "_"
2134         - add "main" to the list of ignored variable names, because on os x,
2135         "main" has nm-reported type "S" in the variable-checking section.
2136
2137 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
2138
2139         safe-alloc-tests: fix typo in license header
2140         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
2141
2142 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
2143
2144         copy-file: fix mem leak in error case
2145         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
2146         upon error opening or performing I/O to the src and dest files.
2147
2148 2015-10-15  Mike Frysinger  <vapier@chromium.org>
2149
2150         localename: control langinfo.h inclusion
2151         This header is only used to work around buggy behavior in old
2152         versions of glibc, so do not include it all the time.  Otherwise
2153         we get build failures on systems that do not provide langinfo.h.
2154         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
2155         in the source later on.
2156         The patch was originally submitted to gettext as:
2157         https://lists.gnu.org/archive/html/bug-gettext/2015-10/msg00011.html
2158
2159 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
2160
2161         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
2162         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
2163         * lib/u64.c, lib/unistd.c:
2164         Append 'typedef int dummy;', to pacify compilers that are picky
2165         about empty translation units.
2166
2167 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
2168
2169         accept4-tests: fix to avoid non portable flags
2170         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
2171         as they are the only documented ones, and passing others may trigger
2172         EINVAL (seen on FreeBSD 10.1-RELEASE).
2173         * doc/glibc-functions/accept4.texi: Mention that we don't provide
2174         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
2175
2176 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
2177
2178         gnulib-tool: fix tests of 'extensions' module
2179         This complements f8fe25fab60e3c687a124 commit.
2180         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
2181         emitting of initial gl_EARLY macros.
2182         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
2183         replaced with func_emit_pre_early_macros call.
2184
2185 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
2186
2187         unicase/locale-language: fix typo in utf-8 cookie
2188         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
2189         Problem reported by Zbigniew Jędrzejewski-Szmek.
2190
2191 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
2192
2193         xalloc: do not worry about GCC 5 warning on 32 bit
2194         * lib/xalloc.h: Revert previous change.
2195         I found a better way to fix this in coreutils.
2196
2197 2015-10-02  Pádraig Brady  <P@draigBrady.com>
2198
2199         xalloc: avoid GCC 5.1 warning on 32 bit
2200         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
2201         xalloc_oversized(), which was seen to give this warning
2202         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
2203         when simplifying conditional".
2204
2205 2015-10-02  Daiki Ueno  <ueno@gnu.org>
2206
2207         uniname/uniname-tests: avoid compiler warnings
2208         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
2209         unused local variables.
2210         (test_alias_lookup): Fix alias name display in failure cases.
2211
2212 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2213
2214         c-ctype: do not worry about EBCDIC + char signed
2215         Drop support for EBCDIC with char being signed, as this breaks too
2216         many programs.  Problem reported by Ben Pfaff in:
2217         http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00053.html
2218         * lib/c-ctype.h: Verify that we are not using EBCDIC with
2219         char being signed.
2220         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
2221         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
2222         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
2223         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
2224         * tests/test-c-ctype.c (test_all):
2225         Simplify by assuming standard char values cannot be negative.
2226         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
2227
2228 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
2229
2230         c-ctype: port better to z/OS EBCDIC
2231         Problems reported by Daniel Richard G. in:
2232         http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00050.html
2233         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
2234         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
2235         (_C_CTYPE_OTHER_CNTRL): New macro.
2236         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
2237         from SCHAR_MIN, as the functions are defined only from values
2238         promoted from char or from unsigned char, not necessarily from
2239         signed char.
2240
2241 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
2242
2243         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
2244
2245         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
2246         and ARFLAGS variables.  Doing this unconditionally could break
2247         later Automake's AM_PROG_AR invocation (at least it's
2248         AC_CHECK_TOOLS call to detect correct 'ar' binary).
2249
2250         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
2251         Amsterdam Compiler Kit, so make the previous code to have effects
2252         only on ACK, and rather automatically call the Automake's
2253         AM_PROG_AR as soon as possible to decide other cases.
2254
2255         References:
2256         http://lists.gnu.org/archive/html/bug-gnulib/2015-07/msg00001.html
2257
2258         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
2259         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
2260         is possible, keep setting AR/ARFLAGS to reasonable defaults.
2261         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
2262         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
2263         'extensions' module is used.
2264         * modules/extensions (configure.ac-early): Remove as this snippet
2265         is added to gnulib-comp.m4 earlier anyway.
2266
2267 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
2268
2269         sockets: MS Windows initalization fixes
2270         Problem reported by Test User in:
2271         http://lists.gnu.org/archive/html/help-shishi/2015-09/msg00001.html
2272         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
2273         Correct the endianness.
2274         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
2275         number mismatch, not just on <.  Cleanup before any such failure.
2276
2277 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
2278
2279         gc: fix detection of installed libgcrypt version
2280         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
2281         at least as recent as 1.4.4.  The previously used macro is not
2282         available now, since modules were removed in version 1.6.0.
2283
2284 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
2285
2286         c-ctype: rewrite to use inline functions
2287         This simplifies maintenance, since it makes for just one
2288         implementation of each function, letting the compiler have the fun
2289         of optimization.  In practice this works well nowadays with GCC.
2290         E.g., c_isascii might need only three instructions even though the
2291         source code lists every ASCII character individually in a large
2292         switch statement.
2293         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
2294         http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00037.html
2295         * NEWS: Document the API change.
2296         * lib/c-ctype.c: Drastically simplify, since this now just expands
2297         inline functions.
2298         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2299         (C_CTYPE_INLINE): New macro.
2300         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
2301         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
2302         Verify that either ASCII or EBCDIC is being used.
2303         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
2304         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
2305         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
2306         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
2307         New private macros.
2308         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
2309         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
2310         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
2311         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
2312         (c_tolower, c_toupper): When converting, return the unsigned char,
2313         as that is what z/OS does.
2314         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
2315         of some c-ctype.h macros.
2316         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
2317         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
2318         c_tolower promotion to be compatible with z/OS.
2319
2320 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
2321
2322         gitlog-to-changelog: trim only trailing whitespaces
2323         This is fix for --format regression introduced by commit
2324         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
2325         doubled %n string) had no effect anymore.  This format
2326         specification has been used e.g. by GNU paxuitils (commit
2327         edfd8bcc3).
2328
2329         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
2330         newlines in commmit messages.
2331
2332 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2333
2334         Test that c_iscntrl agrees with iscntrl, etc.
2335         Suggested by Daniel Richard G. in:
2336         http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00034.html
2337         * modules/c-ctype-tests (Depends-on): Add ctype.
2338         * tests/test-c-ctype.c: Include <ctype.h>.
2339         (NCHARS): New constant.
2340         (test_agree_with_C_locale): New function.
2341         (main): Use it.
2342         (test_all): Use named constants.
2343
2344         c-ctype: improve c_isascii testing
2345         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
2346         Add a test to count the number of ASCII characters.
2347
2348 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2349
2350         savewd: remove SAVEWD_CHDIR_READABLE
2351         It was problematic in the light of file systems that ignore umask.
2352         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
2353         * NEWS: Document this.
2354         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
2355         successful, -1 (setting errno) on failure, rather than something
2356         more complicated than that.
2357         * lib/mkdir-p.c (make_dir_parents):
2358         Do not use SAVEWD_CHDIR_READABLE.
2359         * lib/savewd.c (savewd_chdir):
2360         Remove support for SAVEWD_CHDIR_READABLE.
2361         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
2362
2363         c-ctype: port better to EBCDIC
2364         Problems reported by Daniel Richard G. in
2365         http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00020.html
2366         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
2367         Include "verify.h".
2368         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
2369         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
2370         Define as enum constants with value false, if not defined, so that
2371         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
2372         code more portable, as both branches of the 'if' are compiled on
2373         all platforms.
2374         (C_CTYPE_EBCDIC): New constant.
2375         Verify that the character set is either ASCII or EBCDIC.
2376         (to_char): New static function.
2377         (c_isascii, c_iscntrl):
2378         Assume standard control-character assignments for EBCDIC.
2379         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
2380         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
2381         Rewrite to use 'if' instead of 'ifdef'.
2382         Use to_char if non-ASCII.  Prefer <= to >=.
2383         Prefer true and false to 1 and 0, for booleans.
2384         (c_iscntrl): Use 'if', not 'ifdef'.
2385         * modules/c-ctype (Depends-on): Add verify.
2386         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
2387         (to_char): New function.
2388         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
2389
2390 2015-09-21  Pádraig Brady  <P@draigBrady.com>
2391
2392         nanosleep: fix return code for interrupted replacement
2393         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
2394         that we return -1 in the case the call is interrupted by a signal,
2395         rather than the current value of 1.
2396         Diagnosed and tested by Daniel Richard G.
2397
2398 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
2399
2400         Diagnose ERE '()|\1'
2401         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
2402         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
2403         track of the set of previously-completed subexpressions available
2404         before the first alternative, and restore this set just before
2405         parsing each subsequent alternative.  This lets us diagnose the
2406         invalid back-reference in the ERE '()|\1'.
2407
2408         regex: merge patches from libc
2409
2410         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
2411         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
2412         * lib/regex_internal.h:
2413         Include <libc-lock.h> instead of <bits/libc-lock.h>.
2414
2415         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
2416         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
2417         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
2418         wcscoll.
2419         * lib/regexec.c (check_node_accept_bytes): Likewise.
2420
2421         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
2422         Fix regex wcrtomb namespace (bug 18496).
2423         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
2424         instead of wcrtomb.
2425
2426         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
2427         Fix regex wctype namespace (bug 18495).
2428         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
2429         instead of towlower.
2430         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
2431         instead of iswlower.  Call __towupper instead of towupper.
2432         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
2433         instead of iswalnum.
2434
2435         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
2436         * lib/regcomp.c (parse_bracket_exp): Initialize type to
2437         COLL_SYM in a couple of places to avoid uninitialized variable
2438         wanings on tilegx gcc 4.8.2.
2439
2440         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
2441         * lib/regex_internal.h: Remove NOT_IN_libc.
2442
2443         2014-11-17  Andreas Schwab  <schwab@suse.de>
2444         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
2445
2446         2014-09-11  Roland McGrath  <roland@hack.frob.com>
2447         Move findidx nested functions to top-level.
2448         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
2449         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
2450         Pass new arguments to findidx.
2451         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
2452         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
2453         Don't #include it inside the function.  Pass new arguments to findidx.
2454         * lib/regex_internal.h:
2455         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
2456         (re_string_elem_size_at): Don't #include it inside the function.
2457         Pass new arguments to findidx.
2458
2459         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
2460         Check if DEBUG is defined in regex_internal.c
2461         * lib/regex_internal.c: Check if DEBUG is defined and is set.
2462
2463 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
2464
2465         ceill: detect buggy OpenBSD implementation
2466         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
2467         which returns zero for small values.  Discussed here:
2468         http://lists.gnu.org/archive/html/bug-gnulib/2015-08/msg00010.html
2469
2470 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
2471
2472         mountlist: add me_mntroot field on Linux machines
2473         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
2474         mount_entry so Linux machines based on /proc/self/mountinfo can
2475         distinguish between bind mounts and original mounts.  In reality bind
2476         mounts aren't treated differently than mountroot=/ mounts by the
2477         kernel, but the user often wants these bind mounts distinguished.
2478         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
2479         More details at https://pad.lv/1432871
2480
2481 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
2482
2483         doc: Describe to use multiple instances of gnulib
2484         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
2485         instances of gnulib with different modules can be used, for example one
2486         for a lib and another one for associated tools.
2487
2488 2015-09-01  Pádraig Brady  <P@draigBrady.com>
2489
2490         base32: mark function as __attribute__ const
2491         * lib/base32.h (isbase32): Mark __attribute__ const as
2492         suggested by GCC, and consistent with the base64 module.
2493
2494 2015-08-20  Daiki Ueno  <ueno@gnu.org>
2495
2496         gnulib-tool: don't transform binary files with sed
2497         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
2498         .mo and .class files.
2499         Reported by Denis Denisov.
2500
2501 2015-08-10  Daiki Ueno  <ueno@gnu.org>
2502
2503         gperf: respect silent rules
2504         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
2505         V_GPERF_0 for silent rules.
2506         * modules/iconv_open (Makefile.am): Use V_GPERF.
2507         * modules/unicase/locale-language (Makefile.am): Likewise.
2508         * modules/unicase/special-casing (Makefile.am): Likewise.
2509         * modules/unictype/category-byname (Makefile.am): Likewise.
2510         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
2511         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
2512         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
2513         * modules/unictype/property-byname (Makefile.am): Likewise.
2514         * modules/unictype/scripts (Makefile.am): Likewise.
2515         * modules/uninorm/composition (Makefile.am): Likewise.
2516
2517 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
2518
2519         Improve port of stdalign to C++11
2520         Problem reported by Sundaram in:
2521         http://lists.gnu.org/archive/html/bug-gnulib/2015-08/msg00003.html
2522         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
2523         (__alignas_is_defined): Define if C++11 or newer.
2524
2525 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
2526
2527         pmccabe2html: fix gawk regex escaping
2528         * build-aux/pmccabe2html: Add one more backslash to properly
2529         escape the gsub replacement value.  Fixes this error:
2530         gawk: ./build-aux/pmccabe2html:425: \
2531         warning: escape sequence `\&' treated as plain `&'
2532
2533 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
2534
2535         time_rz: port to pedantic memcpy
2536         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
2537         that reject memcpy (..., NULL, 0).
2538
2539 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
2540
2541         time_rz: port better to MinGW
2542         Don't change tzname, as this makes MinGW dump core (Bug#21020).
2543         Instead, store the tzname copy in the struct tm_zone object.
2544         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
2545         * lib/strftime.c [!_LIBC]:
2546         * lib/time_rz.c: Include time-internal.h.
2547         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
2548         name from *TZ rather than from TZNAME, doable because *TZ now has
2549         a tzname_copy member.
2550         * lib/time-internal.h: New file, with contents taken from
2551         lib/time_rz.c.  It's separate because strftime.c now accesses
2552         struct tm_zone members.
2553         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
2554         New member tzname_copy.
2555         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
2556         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
2557         Initialize tzname_copy member.
2558         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
2559         in tzname_copy member.
2560         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
2561         (restore_tzname): Remove; no longer needed.  All calls removed.
2562         * modules/time_rz (Files): Add lib/time-internal.h.
2563
2564         time: port __need_time_t to MinGW
2565         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
2566         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
2567
2568 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
2569
2570         strftime: fix newly-introduced bug on Solaris
2571         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
2572         consistently at the start, rather than doing some of the setup at
2573         the start and some in the %Z format spec.  This is cleaner, and
2574         works better with time_rz on platforms like Solaris where struct
2575         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
2576         mktime_z and localtime_rz can mess up the tzname cache.
2577
2578         test-strftime: test for Solaris bug
2579         * modules/strftime-tests (Depends-on): Add strerror.
2580         * tests/test-strftime.c: Include <errno.h>.
2581         (posixtm_test): New function, containing the old 'main'.
2582         (struct tzalloc_test, struct localtime_rz_test): New types.
2583         (TZ, LT): New static vars.
2584         (tzalloc_test): New function.
2585         (main): Rewrite in terms of posixtm_test and tzalloc_test.
2586
2587         time_rz: port to Solaris etc.
2588         Works around a tzname problem on platforms like Solaris that have
2589         tzname but not tm_zone, by setting tzname at the appropriate time
2590         and restoring it later.
2591         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
2592         New static vars.
2593         (save_abbr) [HAVE_TZNAME]: Set them.
2594         (revert_tz) [HAVE_TZNAME]: Clear or use them.
2595         (restore_tzname): New function.
2596         (localtime_rz, mktime_z): Use it.
2597
2598         time_rz: now LGPL
2599         * modules/time_rz (License): Now LGPL, because strftime depends on it.
2600
2601         time_rz: make a constant 'const'
2602         * lib/time_rz.c (local_tz): Now const.
2603
2604         time_rz: fix off-by-one typo
2605         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
2606
2607 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
2608
2609         fprintftime, strftime: use timezone_t args
2610         * NEWS: Document the change.
2611         * lib/fprintftime.h (fprintftime):
2612         * lib/strftime.c (extra_args) [my_strftime]:
2613         * lib/strftime.h (nstrftime):
2614         Time zone arg is now of type timezone_t, not int.
2615         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
2616         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
2617         (my_strftime) [emacs && !my_strftime]:
2618         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
2619         Remove; Emacs doesn't need this any more.
2620         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
2621         fprintftime and nstrftime to call tzset.
2622         (ut) [!my_strftime]: Remove, replacing with ...
2623         (tz) [!my_stftime]: ... this new macro.  All uses changed.
2624         (strftime_case_): Use localtime_rz and mktime_z instead
2625         of localtime_r and mktime.
2626         * modules/fprintftime (Depends-on): Add time_rz.
2627         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
2628         * tests/test-strftime.c (main): Adjust to new nstrftime API.
2629
2630         time_rz: new module
2631         * MODULES.html.sh: Add time_rz.
2632         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
2633         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
2634         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
2635         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
2636         New var HAVE_TIMEZONE_T (default 0).
2637         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
2638         New var GNULIB_TIME_RZ (default 0).
2639         * modules/time (time.h): Substitute the new vars.
2640
2641         flexmember: license is now unlimited
2642         * modules/flexmember (License): Change to unlimited,
2643         since its only source file gives an unlimited license.
2644
2645 2015-07-15  Eric Blake  <eblake@redhat.com>
2646
2647         maint: update copyright paper procedures
2648         * config/srclist.txt: Drop outdated files.
2649         * doc/Copyright/conditions.txt: Update to latest.
2650         * doc/Copyright/assign.changes.manual: Delete.
2651         * doc/Copyright/assign.future.manual: Likewise.
2652         * doc/Copyright/assign.manual: Likewise.
2653         * doc/Copyright/assign.translation.manual: Likewise.
2654         * doc/Copyright/disclaim.changes.manual: Likewise.
2655         * doc/Copyright/disclaim.manual: Likewise.
2656         * doc/Copyright/disclaim.program: Likewise.
2657
2658 2015-07-07  Daiki Ueno  <ueno@gnu.org>
2659
2660         localename: fix link error on Illumos
2661         Illumos defines __sun, but does not have getlocalename_l nor the
2662         equivalent.  This partially reverts commit 387c214.
2663         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
2664         available, as well as uselocale.
2665         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
2666         use getlocalename_l if it is not available.
2667
2668 2015-07-07  Daiki Ueno  <ueno@gnu.org>
2669
2670         unistr/uN-strtok-tests: avoid a trivial leak
2671         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
2672         input and delim after the multibyte delimiter tests.
2673
2674 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
2675
2676         file-has-acl, acl-permissions: fix HP-UX typos
2677         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
2678         * lib/file-has-acl.c (file_has_acl):
2679         * lib/set-permissions.c (context_acl_from_mode)
2680         (context_aclv_from_mode, set_acls):
2681         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
2682         They were introduced by the recent ACL changes.
2683
2684         regex: match current GNU grep behavior
2685         These symbols have not matched GNU grep behavior for quite some time.
2686         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
2687         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
2688         Change to match current GNU behavior.
2689         Simplify by expressing it as differences from POSIX BREs and EREs.
2690         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
2691
2692 2015-07-03  Jim Meyering  <meyering@fb.com>
2693
2694         set-permissions.c: adjust acl_from_mode's cpp guard
2695         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
2696         directives identical to those guarding the sole use.
2697         Otherwise, on some systems, we'd get a warning about
2698         the function being defined but not used.
2699         Also, filter through cppi to correct misleading indentation
2700         of cpp directives.
2701
2702 2015-07-03  Pádraig Brady  <P@draigBrady.com>
2703
2704         tests: restrict shells to those that support 'local'
2705         The local keyword is very widely supported and used
2706         in tests in coreutils and grep at least.  Therefore
2707         restrict to testing with shells that support it.
2708         This mainly excludes /bin/sh on Solaris.
2709         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
2710
2711 2015-07-03  Seiya Kawashima <skawashima@uchicago.edu>  (tiny change)
2712         and Daiki Ueno  <ueno@gnu.org>
2713
2714         unistr/uN-strtok: handle multibyte delimiters
2715         Previously, uN_strtok moved PTR to the next unit to the token end.
2716         When DELIM contained a multibyte character, the new position could
2717         be a middle of a multibyte character.
2718         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
2719         after the token.
2720         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
2721         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
2722         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
2723         * modules/unistr/u8-strtok (Depends-on): Depend on
2724         unistr/u8-strmblen.
2725         * modules/unistr/u16-strtok (Depends-on): Depend on
2726         unistr/u16-strmblen.
2727         * modules/unistr/u32-strtok (Depends-on): Depend on
2728         unistr/u32-strmblen.
2729         * tests/unistr/test-u-strtok.h: New file.
2730         * tests/unistr/test-u8-strtok.c: New file.
2731         * tests/unistr/test-u16-strtok.c: New file.
2732         * tests/unistr/test-u32-strtok.c: New file.
2733         * modules/unistr/u8-strtok-tests: New file.
2734         * modules/unistr/u32-strtok-tests: New file.
2735         * modules/unistr/u16-strtok-tests: New file.
2736
2737 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
2738
2739         update-copyright: fix test failure with perl >= 5.22 (trivial)
2740         * build-aux/update-copyright: Escape a literal left curly bracket,
2741         required with perl >= 5.22
2742
2743 2015-07-02  Daiki Ueno  <ueno@gnu.org>
2744
2745         u{16,32}-strstr-tests: relax timeout condition
2746         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
2747         tests can take longer than 5 seconds to complete.
2748         Reported by Dagobert Michelsen in:
2749         https://lists.gnu.org/archive/html/bug-libunistring/2015-06/msg00006.html
2750         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
2751         seconds to 10 seconds.
2752         * tests/unistr/test-u32-strstr.c (main): Likewise.
2753
2754 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
2755
2756         gnulib-common.m4: change the ARFLAGS default to 'cr'
2757         In some GNU/Linux distributions people started to compile 'ar'
2758         binary with --enable-deterministic-archives (binutils project).
2759         That, however, in combination with previous autotools long time
2760         working default AR{_,}FLAGS=cru causes warnings on such
2761         installations:
2762         ar: `u' modifier ignored since `D' is the default (see `U')
2763         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
2764         set already.
2765
2766 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
2767
2768         selinux-h: avoid double free after *getfilecon()
2769         Originally reported by Ben Shelton on bug-tar:
2770         http://lists.gnu.org/archive/html/bug-tar/2015-04/msg00009.html
2771         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
2772         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
2773         param should be freed by freecon(3) (regardless the return value).
2774
2775 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
2776
2777         fix pty related tests issues on Windows (trivial)
2778         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
2779         however it's still present in tests/ subdirectory of the final project.
2780         Therefore avoid it to pass `make check`.
2781         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
2782         will just return -ENOSYS, so avoid this non applicable test allowing
2783         the build to proceed.
2784
2785 2015-07-01  Pádraig Brady  <P@draigBrady.com>
2786
2787         acl: fix definition of acl_from_mode on FreeBSD
2788         This was causing basic coreutils copy operations to fail
2789         with ENOTSUP or ENOENT error messages.
2790         * lib/acl-internal.h (acl_from_mode): Only define when
2791         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
2792         of acl_from_mode() defined in lib/set-permissions.c to
2793         be used on FreeBSD at least.
2794         * lib/set-permissions.c: Fix up comment spelling,
2795         and a redundant variable assignment; noticed in passing.
2796
2797 2015-06-30  Pádraig Brady  <P@draigBrady.com>
2798
2799         readutmp: port to FreeBSD >= 9
2800         * lib/readutmp.h: Map utmpxname() to setutxdb().
2801         With that coreutils who(1) and pinky(1) tests pass.
2802
2803 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2804
2805         mgetgroups: port to strict OS X
2806         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
2807         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
2808         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
2809         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
2810
2811 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
2812
2813         mgetgroups: port to strict OS X
2814         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
2815         Document the getgrouplist problem.
2816         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
2817         New macro.
2818         (mgetgroups): Use it.
2819         * m4/mgetgroups.m4 (gl_MGETGROUPS):
2820         Check for OS X signature for getgrouplist.
2821
2822 2015-06-29  Jim Meyering  <meyering@fb.com>
2823
2824         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
2825         It started like this when building coreutils' latest on OS X,
2826         invoking ./configure with a nonempty --cache=.cache:
2827
2828           lib/linkat.c:46:42: error: operator '||' has no right operand
2829           lib/linkat.c: In function 'rpl_linkat':
2830           lib/linkat.c:330:27: error: #if with no expression
2831
2832         Here's linkat.c's line 46:
2833
2834           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
2835
2836         Here's some context:
2837
2838           $ grep linkat_nofoll .cache
2839           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
2840           $ grep LINKAT_SYM lib/config.h
2841           #define LINKAT_SYMLINK_NOTSUP
2842
2843         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
2844         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
2845         but that violates a tenet of AC_CACHE_CHECK: it must
2846         have no side effect other than setting its cache variable.
2847
2848         What happens is that when the cache is set, we'd skip the
2849         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
2850         defined to whatever value it happened to have in configure's
2851         environment.  In my case, it was not defined, so this later code:
2852
2853           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
2854             [Define to 1 if linkat can create hardlinks to symlinks])
2855
2856         would emit code with an empty RHS.
2857
2858         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
2859         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
2860
2861 2015-06-28  Jim Meyering  <meyering@fb.com>
2862
2863         mountlist: avoid an unused-label warning on OS X
2864         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
2865         Building on OS X, I saw a warning about the "free_then_fail" label
2866         being unused.  Give it the _GL_UNUSED_LABEL attribute.
2867
2868         error.c: correct printf-style format: %d -> %u
2869         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
2870         rather than %d, to match the type of "line_number", unsigned int.
2871
2872 2015-06-25  Pádraig Brady  <P@draigBrady.com>
2873
2874         fts: avoid reading beyond the heap allocation
2875         GCC 5.1.1 with -O2 and -fsanitize=address reports
2876         a read of size 4 from a heap object of size 3 is indeed invalid,
2877         though this may be due to incorrect padding assumptions by GCC, see:
2878         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
2879         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
2880         * modules/fts: Depend on stdalign.
2881
2882 2015-06-24  Pádraig Brady  <P@draigBrady.com>
2883
2884         savedir: avoid undefined behavior in qsort call
2885         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
2886         "runtime error: null pointer passed as argument 1,
2887          which is declared to never be null"
2888         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
2889
2890 2015-06-24  Pádraig Brady  <P@draigBrady.com>
2891
2892         userspec: avoid undefined behavior in gettext call
2893         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
2894         "runtime error: null pointer passed as argument 2,
2895          which is declared to never be null"
2896         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
2897
2898 2015-06-20  Glenn Morris  <rgm@gnu.org>
2899
2900         gitlog-to-changelog: improve gitmerge.el commits
2901         Let the Emacs ChangeLog generation process exclude "skipped"
2902         messages from merge commits (Bug#20717).
2903         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
2904
2905 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2906
2907         wchar: fix MinGW compilation warnings
2908         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
2909         http://lists.gnu.org/archive/html/bug-gnulib/2015-06/msg00050.html
2910         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
2911
2912 2015-06-20  Daiki Ueno  <ueno@gnu.org>
2913
2914         uniname/uniname-tests: use pristine data files
2915         For copyright and maintenance reasons, use the data files from UCD
2916         without modification.
2917         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
2918         (getfield): Remove.
2919         (aliases_count): New global variable.
2920         (fill_names): Skip comments and empty lines in the input.  Don't
2921         use getfield.
2922         (fill_aliases): Likewise.
2923         (main): Change the expected command line arguments to:
2924         NAMES... ["--" ALIASES...].
2925         * tests/uniname/test-uninames.sh: Adjust to the change in
2926         test-uninames.c.
2927         * tests/uniname/UnicodeDataNames.txt: Remove.
2928         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
2929         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
2930         file from Unicode 8.0.0.
2931
2932 2015-06-19  Pádraig Brady  <P@draigBrady.com>
2933
2934         linked-list, linkedhash-list: avoid compiler warnings
2935         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
2936         -Werror=suggest-attribute=pure (from GCC 5.1.1).
2937
2938 2015-06-19  Daiki Ueno  <ueno@gnu.org>
2939
2940         libunistring: bump minimum version to 0.9.6
2941         * all modules depending on updated Unicode data: Regenerate.
2942         The modules are listed by a script that does:
2943         - for each file listed by: git show --oneline --name-only 705f4efc
2944           - deduce the containing modules, based on "Files:"
2945         - deduce the modules which depend on the containing modules, based
2946           on "Depends-on:"
2947
2948 2015-06-18  Daiki Ueno  <ueno@gnu.org>
2949
2950         uniname/uniname: update to Unicode 8.0.0
2951         * lib/uniname/uninames.h: Regenerate.
2952         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
2953         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
2954
2955 2015-06-18  Daiki Ueno  <ueno@gnu.org>
2956
2957         libunistring: update to Unicode 8.0.0
2958         * lib/gen-uni-tables.c (SIZEOF): New macro.
2959         (output_numeric): Increase the maximum number of fractions from
2960         128 to 160.  Increase the level3 value width from 7 bits to 8
2961         bits.  Use SIZEOF instead of a hard-coded integer.
2962         (output_blocks): Decrease the cut-off threshold from 0x30000 to
2963         0x28000.
2964         (fill_blocks): Increase the maximum number of blocks from 256 to
2965         384.  Use SIZEOF instead of a hard-coded integer.
2966         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
2967         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
2968         value width.
2969         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
2970         a new case added to LBP22.
2971         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
2972         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
2973         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
2974         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
2975         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
2976         * tests/uniwidth/test-uc_width2.sh: Same updates as in
2977         lib/uniwidth/width.c.
2978         * all generated files under lib/uni* and tests/uni*: Regenerate.
2979
2980 2015-06-16  Pádraig Brady  <P@draigBrady.com>
2981
2982         gnu-web-doc-update: add --mirror to remove stale files
2983         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
2984         out of date files from the CVS server.  Since this is usually
2985         appropriate, a prompt is given when the option is not specified,
2986         along with the `cvs remove` command that would be run.
2987
2988 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
2989
2990         acl-permissions: pacify -Wsuggest-attribute=const
2991         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
2992         * lib/acl-internal.h (free_permission_context):
2993         Declare with attribute const if ! (defined USE_ACL &&
2994         (HAVE_ACL_GET_FILE || defined GETACL)).
2995
2996         fsync: document AIX misbehavior
2997         * doc/posix-functions/fsync.texi (fsync):
2998         Document failure on AIX with read-only file descriptor.
2999
3000 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
3001
3002         stdio: Don't redefine gets when using C++
3003         * lib/stdio.in.h (gets): Disable warning on C++.
3004
3005 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
3006
3007         acl-permissions: port to AIX, C89 HP-UX
3008         Problems reported by Michael Felt.
3009         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
3010         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
3011         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
3012         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
3013         Add cast for AIX, whose system calls are declared to accept
3014         char * even though the arguments are really char const *.
3015         * lib/get-permissions.c (get_permissions):
3016         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
3017         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
3018         that broke a build.
3019         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
3020         Rework types to pacify xlc.
3021
3022 2015-06-03  Pádraig Brady  <P@draigBrady.com>
3023
3024         vasprintf-posix: avoid compiling vasnprintf where possible
3025         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
3026         module where not required.  For example on a GNU/Linux system
3027         when gnulib-tool is run with the --conditional-dependencies option.
3028
3029 2015-06-02  Pádraig Brady  <P@draigBrady.com>
3030
3031         file-has-acl: fix build on Mac OS X 10
3032         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
3033         which has an incompatible 6 parameter getxattr() call.
3034         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
3035         call on Mac OS X >= 10.4.
3036         * doc/glibc-functions/fgetxattr.texi: Likewise.
3037         * lib/file-has-acl.c: Revert to more complete combined check.
3038         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
3039         Reported by Jack Howarth.
3040
3041 2015-06-02  Pádraig Brady  <P@draigBrady.com>
3042
3043         prefix-gnulib-mk: remove no longer needed special case
3044         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
3045         continued lib_SOURCES lines are no longer present,
3046         so special case handling of such entries is not required.
3047
3048 2015-06-01  Pádraig Brady  <P@draigBrady.com>
3049
3050         acl: don't depend on the deprecated qacl module
3051         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
3052
3053 2015-06-01  Pádraig Brady  <P@draigBrady.com>
3054
3055         gnulib-tool: concatenate lib_SOURCES to a single line
3056         * gnulib-tool: Refactor the line merging sed logic,
3057         and use that to output a single lib_SOURCES line for each module.
3058         gnulib using projects often postprocess this output to prepend
3059         subdir paths to each item, and having a single line simplifies this
3060         processing allowing better decoupling from the gnulib-tool output.
3061
3062 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
3063
3064         pthread_sigmask: discount system version if a simple macro (trivial)
3065         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
3066         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
3067         function to ensure it's available.
3068
3069 2015-05-31  Pádraig Brady  <P@draigBrady.com>
3070
3071         readlinkat: avoid OS X 10.10 trailing slash bug
3072         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
3073         has this bug.
3074         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
3075         that OS X 10.10 has this function.
3076         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
3077         as done for readlink().
3078         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
3079         trailing slash bug, and assume readlinkat() has the same issue.
3080         Also fix a typo where $gl_cv_decl_readlink_works was tested,
3081         rather than the correct $gl_cv_decl_readlinkat_works.
3082
3083 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
3084
3085         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
3086         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
3087         module rewrite.
3088
3089         acl-permissions: Fix build on Solaris and Cygwin
3090         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
3091         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
3092         ace_entries variables have moved into struct permission_context but
3093         they were still accessed as local variables here.
3094
3095 2015-05-29  Pádraig Brady  <P@draigBrady.com>
3096
3097         linkat: avoid OS X 10.10 trailing slash with symlink bug
3098         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
3099         causes the symlink to be dereferenced, and if it points
3100         to a non existent file, that file will be created as
3101         a hard link to "path1".
3102         This fixes a test failure in test-linkat.c.
3103         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
3104         this case.  The existing workaround in linkat.c for
3105         trailing slash issues, suffices for this case.
3106         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
3107         the list of platforms with trailing slash issues.
3108
3109 2015-05-28  Pádraig Brady  <P@draigBrady.com>
3110
3111         unlinkat: handle ignoring of ".." on Darwin 14
3112         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
3113         on Mac OS X 10.10, where it ignores paths with a trailing "..",
3114         so handle in the same manner.
3115         * m4/unlinkat.m4: Comment on this Darwin issue.
3116         * doc/posix-functions/unlink.texi: Update the latest version
3117         where the issue was seen.
3118         * doc/posix-functions/unlinkat.texi: Mention this issue.
3119         Fixes a test failure in test-unlinkat.c.
3120
3121 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3122
3123         qacl: split into qcopy-acl and qset-acl
3124         Emacs needs the former, but not the latter.
3125         * modules/acl-permissions: New file, containing most of the old qacl.
3126         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
3127         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
3128         * modules/qcopy-acl, modules/qset-acl: New files.
3129         * MODULES.html.sh (File system functions):
3130         Mention the new modules, and mention qacl while we're at it.
3131
3132 2015-05-27  Glenn Morris  <rgm@gnu.org>
3133
3134         gitlog-to-changelog: new option --ignore-line
3135         (This patch is imported from the GNU Emacs master.)
3136         This option ignores individual commit lines matching a pattern.
3137         * build-aux/gitlog-to-changelog: Add --ignore-line option.
3138
3139 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
3140
3141         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
3142         Implement get_permissions and set_permissions primitives for getting all
3143         the permissions of a file, storing them, and later setting them. (In the
3144         minimal case, the permissions consist only of a file mode.) Reimplement
3145         qset_acl and qcopy_acl based on these new primitives: this avoids code
3146         duplication and makes error handling more consistent.
3147         The Solaris and Cygwin code still uses duplicate code paths for setting
3148         a file mode while making sure that no acls exist and setting an explicit
3149         acl; this is no worse than before, but could be cleaned up.  The AIX
3150         code still doesn't read ACLs, it only makes sure that acls don't get in
3151         the way when setting a file mode.
3152         * lib/acl-internal.h (struct permission_context): New data structure.
3153         (get_permissions, set_permissions, free_permission_context): Declare.
3154         * lib/acl-internal.c (free_permission_context): New helper function.
3155         * lib/get-permissions.c (get_permissions): New helper function split off
3156         from qcopy_acl.
3157         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
3158         AIX, set a file's permissions based only on a file mode.
3159         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
3160         other platforms construct a temporary acl from the file mode and set
3161         that acl in the same way as setting an acl read from the source file.
3162         This should help avoid code duplication and inconsistent / buggy
3163         behavior.
3164         (set_acls): New helper function Split off from qcopy_acl.
3165         (chmod_or_fchmod): Moved here from qset-acl.c.
3166         (set_permissions): New helper function.
3167         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
3168         set_permissions.
3169         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
3170         * modules/qacl: Add get-permissions.c and set-permissions.c.
3171
3172         file-has-acl: Split feature tests again (Bug#20667)
3173         * lib/file-has-acl.c: Instead of testing for
3174         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
3175         define them when needed.
3176         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
3177         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
3178
3179 2015-05-27  Pádraig Brady  <P@draigBrady.com>
3180
3181         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
3182         This avoids a conflict with "FORTIFY_SOURCE" variants
3183         of the string functions when they're replaced on NetBSD-6.0.1
3184         and Darwin-14.3.0 at least.
3185         * lib/string.in.h: Avoid including our "lib/string.h" while
3186         including the system <string.h>.
3187
3188 2015-05-26  Eric Blake  <eblake@redhat.com>
3189
3190         stdio: limit __gnu_printf__ witness to gcc 4.4+
3191         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
3192         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
3193
3194         error: use correct printf attributes on mingw
3195         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
3196
3197         inttypes: force correct mingw PRIdMAX even without <stdio.h>
3198         * modules/inttypes (Depends-on): Require extensions, so that mingw
3199         always uses GNU style inttypes.
3200         * lib/inttypes.in.h: On mingw, include <stdio.h>.
3201
3202         stdio: fix probe on mingw under gcc 5.1
3203         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
3204         around new gcc preprocessor rules.
3205
3206 2015-05-07  Glenn Morris  <rgm@gnu.org>
3207
3208         gitlog-to-changelog: parse "Tiny-change"
3209         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
3210         "Copyright-paperwork-exempt".  (Bug#20324)
3211
3212 2015-05-06  Pádraig Brady  <P@draigBrady.com>
3213
3214         doc: document glibc posix_fallocate() issues
3215         * doc/posix-functions/posix_fallocate.texi: Mention the
3216         glibc efficiency problems and issues with NFS.
3217
3218 2015-05-05  Karl Berry  <karl@freefriends.org>
3219
3220         * build-aux/gendocs.sh (usage): document new css default
3221         for HTML (--htmlarg).
3222
3223 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
3224
3225         extern-inline: no need for workaround in GCC 5.1
3226         * doc/extern-inline.texi (extern inline):
3227         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
3228         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
3229         around these bugs in GCC 5.1 and later.  Maybe in a decade or
3230         two we can remove these workarounds.
3231
3232 2015-04-28  Pádraig Brady  <P@draigBrady.com>
3233
3234         eealloc, pagealign_alloc, xalloc: avoid clang warnings
3235         Avoid [-Wunknown-attributes] warnings like:
3236         warning: unknown attribute '__alloc_size__' ignored
3237         * lib/xalloc.h: Don't use the __alloc_size__  attribute
3238         with clang, as support has been fully removed as of clang 3.5:
3239         https://github.com/llvm-mirror/clang/commit/c047507a
3240         * lib/eealloc.h: Likewise.
3241         * lib/pagealign_alloc.h: Likewise.
3242
3243 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
3244
3245         tests: pacify GCC 5.1's stricter printf checking
3246         * tests/test-dirname.c (main):
3247         * tests/test-getaddrinfo.c (simple):
3248         * tests/test-getlogin.c (main):
3249         * tests/test-getndelim2.c (main):
3250         * tests/test-inttostr.c (CK):
3251         * tests/test-md5.c (main):
3252         * tests/test-read-file.c (main):
3253         * tests/test-sha1.c (main):
3254         Fix mismatches between printf format and value signedness.
3255         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
3256         Remove, as CAST_VAL always returned a value of type uintmax_t.
3257
3258         fts: port to GCC 5.1 with --enable-gcc-warnings
3259         Without this fix, GCC 5.1 (correctly) warns about a subscript
3260         error on the fts_name component of FTSENT.  It's actually a
3261         flexible member, so define it that way on C99 or later hosts.
3262         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
3263         structure that now has a flexible array member.
3264         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
3265         (FTSENT): fts_name is now flexible on C99-or-later platforms.
3266         * modules/fts (Depends-on): Add flexmember.
3267
3268 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
3269
3270         file-has-acl: port to CentOS 6
3271         Problem reported by Tom G. Christensen in:
3272         http://lists.gnu.org/archive/html/bug-gnulib/2015-04/msg00074.html
3273         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
3274         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
3275         HAVE_GETXATTR.
3276         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
3277         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
3278         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what what
3279         file-has-acl.c actually needs.
3280
3281 2015-04-26  Pádraig Brady  <P@draigBrady.com>
3282
3283         file-has-acl: always return false when ACLs aren't supported
3284         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
3285         change the GNU/Linux getxattr path, to transform "not supported"
3286         errors to a false return rather than an error.  This is handled
3287         within file_has_acl() due to the platform specific tests to
3288         determine if ACLs are not supported.
3289
3290 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
3291
3292         gettext: propagate po/Makefile.in.in too
3293         * build-aux/po/Makefile.in.in: Copy from latest gettext.
3294         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
3295         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
3296         between Makefile.in.in and the gettext-runtime m4 files.
3297
3298 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
3299
3300         file-has-acl: new module, split from acl
3301         And add a new module file-has-acl-tests to match.
3302         I ran into a problem with the recent changes to the acl module,
3303         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
3304         When using the fixed version with Emacs, I discovered that
3305         file-has-acl wasn't separated out well enough for Emacs (e.g., it
3306         had multiple libraries, but needed only one), so I fixed that too.
3307         * NEWS: Document this incompatible change.
3308         * modules/file-has-acl, modules/file-has-acl-tests: New files.
3309         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
3310         Initialize gl_need_lib_has_acl.
3311         (gl_FUNC_ACL): Require it.
3312         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
3313         Move the file-has-acl.c-relevant stuff to ...
3314         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
3315         use_xattrs = 0' typo, and omit some needless work.  Set
3316         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
3317         when gl_FUNC_ACL is called.
3318         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
3319         (Link): Remove $(LIB_HAS_ACL).
3320         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
3321         (check_PROGRAMS): Move stuff relevant to file-has-acl to
3322         modules/file-has-acl-tests.
3323         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
3324
3325         manywarnings: add GCC 5.1 warnings
3326         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
3327         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
3328         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
3329         -Wsuggest-override, -Wuse-without-only.  Change
3330         -Wnormalized=... operands to match 5.1.
3331         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
3332         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
3333         -Wdiscarded-qualifiers, -Wformat-signedness,
3334         -Wincompatible-pointer-types, -Wint-conversion,
3335         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
3336         -Wshift-count-negative, -Wshift-count-overflow,
3337         -Wsizeof-array-argument, -Wsuggest-final-methods,
3338         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
3339         and add -Warray-bounds=2 as a special case.
3340
3341 2015-04-21  Simon Josefsson  <simon@josefsson.org>
3342
3343         doc: update FDL template to match FDL examples.
3344         * doc/alloca-opt.texi:
3345         * doc/alloca.texi:
3346         * doc/c-ctype.texi:
3347         * doc/c-strcase.texi:
3348         * doc/c-strcaseeq.texi:
3349         * doc/c-strcasestr.texi:
3350         * doc/c-strstr.texi:
3351         * doc/c-strtod.texi:
3352         * doc/c-strtold.texi:
3353         * doc/ctime.texi:
3354         * doc/error.texi:
3355         * doc/gcd.texi:
3356         * doc/gnulib-tool.texi:
3357         * doc/inet_ntoa.texi:
3358         * doc/intprops.texi:
3359         * doc/lib-symbol-visibility.texi:
3360         * doc/maintain.texi:
3361         * doc/parse-datetime.texi:
3362         * doc/quote.texi:
3363         * doc/regexprops-generic.texi:
3364         * doc/standards.texi: Remove spurious 'with' in FDL license
3365         template.
3366
3367 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
3368
3369         lstat: fix cross-compilation 'ln -s' problem
3370         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
3371         Have the test program call 'symlink' rather than a separate
3372         script run 'ln -s'; this is more likely to work in
3373         cross-compilation environments.  Reported by Pavel Fedin in:
3374         http://lists.gnu.org/archive/html/bug-gnulib/2015-04/msg00060.html
3375
3376 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
3377
3378         gendocs.sh: default to a common CSS style sheet for HTML output
3379         * build-aux/gendocs.sh (htmlarg): Change default value.
3380
3381 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
3382
3383         gnulib-tool: output bold attribute more portably
3384         * gnulib-tool (func_show_module_list): Change hexadecimal
3385         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
3386         encoded numbers as arguments to `printf' is not portable,
3387         and is not claimed by POSIX.  This is the case with FreeBSD.
3388
3389 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
3390
3391         qacl: Simplify HP-UX acl_nontrivial check
3392         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
3393         acl_nontrivial. Check if the acl has at most three entries instead (it must
3394         have exactly three entries according to the HP-UX documentation). Ignore
3395         uids and gids as long as an entry is either for a user (i.e., the owner),
3396         a group (i.e., the owning group), or others.
3397         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
3398         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
3399
3400 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
3401
3402         acl: On Linux, check for acls without libacl
3403         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
3404         library function to check for the presence of acls, avoiding a library.
3405         * lib/file-has-acl.c: Include xattr headers if we have them.
3406         (file_has_acl): On Linux, use getxattr().
3407         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
3408         file_has_acl(). Check for xattr headers and getxattr().
3409
3410 2015-04-14  Ángel González  <keisial@gmail.com>
3411
3412         tempname: avoid unused parameter warnings (trivial)
3413         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
3414         (try_nocreate): Likewise.
3415
3416 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
3417
3418         fseeko: fix build failure on NetBSD >= 6 (trivial)
3419         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
3420         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
3421
3422 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
3423
3424         gitlog-to-changelog: port to MS-Windows
3425         * build-aux/gitlog-to-changelog (git_dir_option):
3426         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
3427         MS-Windows Perl.  Reported by Eli Zaretskii in:
3428         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
3429
3430 2015-04-07  Karl Berry  <karl@gnu.org>
3431
3432         gendocs: new option --tex for passing args to texi2dvi.
3433         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
3434         (TEXI2DVI): cut to just command name.
3435         (usage): mention new option, and update copyright.
3436         <generate_tex>: use it.
3437
3438 2015-04-07  Karl Berry  <karl@gnu.org>
3439
3440         * config/srclistvars.sh (GETTEXT): new definition.
3441         * config/srclist.txt: use it for gettext .m4 files.
3442         Thread starting at http://lists.gnu.org/archive/html/bug-gnulib/201
3443         and confirmed at http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00146.html
3444         and continuing into April.
3445
3446 2015-04-07  Daiki Ueno  <ueno@gnu.org>
3447
3448         uniname/uniname-tests: fix failure due to alias
3449         Reported by Jack Howarth in:
3450         <https://lists.gnu.org/archive/html/bug-libunistring/2015-04/msg00000.html>.
3451         * tests/uniname/test-uninames.c (name_has_alias): New function.
3452         (test_inverse_lookup): Exclude character name with valid alias,
3453         from randomly generated character names.
3454         (main): Fill unicode_aliases before calling test functions.
3455
3456 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
3457
3458         hash: remove deprecated hash_insert0 function
3459         * lib/hash.h (hash_insert0): Remove deprecated function.
3460         * lib/hash.c (hash_insert0): Likewise.
3461
3462 2015-04-02  Pádraig Brady  <P@draigBrady.com>
3463
3464         mountlist: remove dependency on libmount
3465         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
3466         directly, rather than depending on libmount, which has many
3467         dependencies due to its dependence on libselinux, as detailed at:
3468         http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00063.html
3469         Note we restrict this to __linux__ as that's probably where this
3470         interface will remain.  If ever porting, it would be best
3471         to first pull the makedev() wrapper from coreutils to a gnulib module.
3472         Note also we don't add a getline dependency to the mountlist module,
3473         as all Linux versions are sufficient.
3474
3475 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
3476
3477         stddef: port to pre-C11 GCC on x86
3478         On this platform, max_align_t should have an alignment of 8 even
3479         though the storage alignments of double, long, etc. max out at 4.
3480         Inspired by a comment of Andreas Schwab's here:
3481         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
3482         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
3483         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
3484         * tests/test-stddef.c: Test __alignof__ too, if available.
3485
3486 2015-03-24  Pádraig Brady  <P@draigBrady.com>
3487
3488         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
3489         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
3490
3491 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
3492
3493         yesno: make EOL optional in ENABLE_NLS case also (trival)
3494         * lib/yesno.c (yesno): Check for EOL before replacing.
3495         * tests/test-yesno.sh: Add a test case (test along with gettext).
3496
3497 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
3498
3499         fdopendir-tests: test it does not close its arg
3500         * tests/test-fdopendir.c (main): Test that fdopendir does not
3501         close its argument.  From a suggestion by David Grayson in:
3502         http://lists.gnu.org/archive/html/bug-gnulib/2015-03/msg00039.html
3503
3504 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3505
3506         gitlog-to-changelog: trim trailing white space
3507         * build-aux/gitlog-to-changelog (main):
3508         Trim trailing white space from commit message lines.
3509         This is helpful for processing the GNU Emacs repository,
3510         which dates back to 1985 and contains a lot of such lines.
3511
3512         gitlog-to-changelog: new option --ignore-matching
3513         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
3514         Support new option --ignore-matching=PAT, which ignores all
3515         commit messages whose first line matches PAT.
3516
3517 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3518
3519         fdopendir: port better to MinGW
3520         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
3521         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
3522         http://lists.gnu.org/archive/html/bug-gnulib/2015-03/msg00033.html
3523         * modules/fdopendir (Depends-on): Add dirfd.
3524
3525 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
3526
3527         fdopendir: fix typo in comment
3528         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
3529
3530 2015-03-09  Eric Blake  <eblake@redhat.com>
3531
3532         error: document all entry points provided
3533         * doc/glibc-functions/error_print_progname.texi
3534         (error_print_progname): Mention the error module.
3535         * doc/glibc-functions/error_at_line.texi (error_at_line):
3536         Likewise.
3537         * doc/glibc-functions/error_message_count.texi
3538         (error_message_count): Likewise.
3539         * doc/glibc-functions/error_one_per_line.texi
3540         (error_one_per_line): Likewise.
3541
3542 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
3543
3544         vasnprintf: pacify clang 3.5.0
3545         Problem reported by Werner Lemberg in:
3546         http://lists.gnu.org/archive/html/bug-gnulib/2015-03/msg00000.html
3547         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
3548         The casts aren't needed, since the characters in question are ASCII.
3549
3550 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3551
3552         glob, etc.: port to MSVC v18 on MS-Windows 8.1
3553         * lib/dirent--.h (GNULIB_defined_opendir):
3554         * lib/dirent.in.h (GNULIB_defined_opendir)
3555         (GNULIB_defined_closedir):
3556         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
3557         #undef only if Gnulib defined it.
3558
3559         poll: port to MSVC v18 on MS-Windows 8.1
3560         Problem reported by Gisle Vanem in:
3561         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00139.html
3562         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
3563         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
3564         Add sys_socket.
3565
3566 2015-02-24  Pádraig Brady  <P@draigBrady.com>
3567
3568         tests: support stderr verification with returns_()
3569         * tests/init.sh (returns_): Disable tracing for this wrapper
3570         function, so that stderr of the wrapped command is unchanged,
3571         allowing for verification of the contents.
3572
3573 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
3574
3575         passfd: avoid valgrind uninitalised data warning
3576         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
3577         to include just the fd we've initialized, rather than including
3578         the extra space used for alignment.
3579
3580 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
3581
3582         uniwbrk/u32-wordbreaks-tests: fix copyright
3583         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
3584
3585         dup2: doc and test for Android bug
3586         Reported by Kevin Cernekee in:
3587         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00125.html
3588         * doc/posix-functions/dup2.texi (dup2): Document the bug.
3589         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
3590
3591 2015-02-23  Kevin Cernekee  <cernekee@google.com>
3592
3593         Replace dup2() on Android
3594         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
3595         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
3596         fails.  Using rpl_dup2() fixes this because it has an explicit test
3597         for this condition.
3598
3599 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
3600
3601         Android doesn't define RLIM_SAVED_*
3602         Portability problem reported by Kevin Cernekee in:
3603         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00122.html
3604         * doc/posix-headers/sys_resource.texi (sys/resource.h):
3605         Mention the portability problem.
3606         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
3607         Define if not defined.
3608         * m4/dup2.m4 (gl_FUNC_DUP2):
3609         * m4/fcntl.m4 (gl_FUNC_FCNTL):
3610         Likewise.
3611
3612 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
3613
3614         vasnprintf-posix-tests: use consistent test
3615         * tests/test-vasnprintf-posix.c (test_function):
3616         Use "<" in assert instead of "<=", for consistency with other tests.
3617
3618 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3619
3620         printf, isinf, etc.: noncanonical != NaN
3621         Do not require that isinf, printf, etc. treat noncanonical
3622         values as NaNs.  Instead, require only that they do not crash.
3623         Problem reported by Joseph Myers in:
3624         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
3625         * doc/posix-functions/dprintf.texi (dprintf):
3626         * doc/posix-functions/fprintf.texi (fprintf):
3627         * doc/posix-functions/isfinite.texi (isfinite):
3628         * doc/posix-functions/isinf.texi (isinf):
3629         * doc/posix-functions/isnan.texi (isnan):
3630         * doc/posix-functions/printf.texi (printf):
3631         * doc/posix-functions/snprintf.texi (snprintf):
3632         * doc/posix-functions/sprintf.texi (sprintf):
3633         * doc/posix-functions/vdprintf.texi (vdprintf):
3634         * doc/posix-functions/vfprintf.texi (vfprintf):
3635         * doc/posix-functions/vprintf.texi (vprintf):
3636         * doc/posix-functions/vsnprintf.texi (vsnprintf):
3637         * doc/posix-functions/vsprintf.texi (vsprintf):
3638         Document this.
3639         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
3640         * m4/isinf.m4 (gl_ISINFL_WORKS):
3641         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
3642         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
3643         * tests/test-isfinite.c (test_isfinitel):
3644         * tests/test-isinf.c (test_isinfl):
3645         * tests/test-isnan.c (test_long_double):
3646         * tests/test-isnanl.h (main):
3647         * tests/test-snprintf-posix.h (test_function):
3648         * tests/test-sprintf-posix.h (test_function):
3649         * tests/test-vasnprintf-posix.c (test_function):
3650         * tests/test-vasprintf-posix.c (test_function):
3651 o       Test only that noncanonical values do not cause crashes, not that
3652         they are treated as NaNs.  In some cases this means a larger
3653         output buffer is needed.
3654
3655 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
3656
3657         fts: remove redundant close() (trivial)
3658         * lib/fts.c (fts_read): Remove redundant call to close().
3659         Spotted by coverity.
3660
3661 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3662
3663         getdtablesize: port better for Android
3664         Problem reported by Kevin Cernekee in:
3665         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00112.html
3666         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
3667         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
3668         Instead, just use getrlimit, taking care to avoid Cygwin bug.
3669
3670         poll: fixes for large fds
3671         * lib/poll.c (poll): Don't check directly for NFD too large.
3672         Don't rely on undefined behavior in FD_SET when an arg exceeds
3673         FD_SETSIZE.  Always set revents afterwards, even if to zero.
3674         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
3675         as that makes the test a bit stricter.
3676
3677 2015-02-19  Kevin Cernekee  <cernekee@google.com>
3678
3679         fcntl: Fix cross compiling
3680         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
3681         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
3682
3683 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
3684
3685         dup2, fcntl: cross-compile better for Android
3686         Problem reported by Kevin Cernekee in:
3687         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00109.html
3688         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
3689         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
3690         there's little need to cross-compile for older kernels nowadays.
3691         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
3692         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
3693
3694 2015-02-18  Pádraig Brady  <P@draigBrady.com>
3695
3696         getopt: don't crash on memory exhaustion
3697         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
3698         memory exhaustion.  In the _LIBC case we use alloca() as is
3699         already done in glibc, so we don't need to consider the separate
3700         error path in that awkward case.  Also fix a memory leak when
3701         ambiguous options are present.
3702         Reported by Tobias Stoeckmann
3703
3704 2015-02-17  Mike Miller  <mtmiller@ieee.org>
3705
3706         tempname: allow compilation with C++ (trivial)
3707         * lib/tempname.h [C++]: Specify extern "C" linkage.
3708         * lib/tempname.h (try_tempname):
3709         * lib/tempname.c (__try_tempname, __gen_tempname):
3710         Rename 'try' to 'tryfunc'.
3711
3712 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3713
3714         dup2, fcntl: port to AIX
3715         * m4/dup2.m4 (gl_FUNC_DUP2):
3716         * m4/fcntl.m4 (gl_FUNC_FCNTL):
3717         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
3718         The former works on AIX 7.1 but the latter does not.
3719         Also, this may work better with Android; see:
3720         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00100.html
3721
3722 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
3723
3724         getdtablesize, dup2, fcntl: port to Android
3725         Problem reported by Kevin Cernekee in:
3726         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00092.html
3727         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
3728         Mention that getdtablesize doesn't work on Android.
3729         * lib/getdtablesize.c: Use getrlimit substitute only if
3730         getdtablesize is declared.  This should suffice for Cygwin
3731         while not breaking Android.
3732         * m4/dup2.m4 (gl_FUNC_DUP2):
3733         * m4/fcntl.m4 (gl_FUNC_FCNTL):
3734         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
3735         standardized but the latter is not, and sysconf works on Android.
3736         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
3737         Also check that getdtablesize is declared.
3738         This removes the need for a special case for Android.
3739
3740 2015-02-16  Kevin Cernekee  <cernekee@google.com>
3741
3742         localename: Implement gl_locale_name_thread_unsafe for Android
3743         * lib/localename.c: Android API level >= 21 supports two hardcoded
3744         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
3745         the internal __locale_t struct.
3746
3747 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
3748
3749         fts: avoid crash when a cycle is added while traversing
3750         This could be triggered by auto-mounting a recursive bind mount.
3751         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
3752         * lib/fts.c (fts_read): Avoid removing the original hash table item
3753         when leaving a directory that caused a cycle, and preserve the FTS_DC
3754         flag.
3755
3756 2015-02-16  Daiki Ueno  <ueno@gnu.org>
3757
3758         uniname/uniname: support character alias
3759         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
3760         Generate one-way mapping from aliases to codepoints in the
3761         generated tables.  Special case variation selectors to reduce
3762         table size.
3763         * lib/uniname/uniname.c (unicode_character_name): Special case
3764         variation selectors.
3765         (unicode_name_character): Special case variation selectors and
3766         their aliases.
3767         * lib/uniname/uninames.h: Regenerate.
3768         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
3769         * modules/uniname/uniname-tests (Files): Add
3770         tests/uniname/NameAliases.txt.
3771         * tests/uniname/test-uninames.c: Mark as static.
3772         (ALIASLEN): Define.
3773         (struct unicode_alias): New struct.
3774         (unicode_aliases): New variable.
3775         (fill_aliases): New function.
3776         (test_alias_lookup): New test function.
3777         (main): Run the 'test_alias_lookup' test if the second argument is
3778         given.
3779         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
3780         second argument.
3781
3782 2015-02-11  Kevin Cernekee  <cernekee@google.com>
3783
3784         Fix FILE struct compatibility with Android API level >= 21
3785         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
3786         __sferror.  Recent versions of Bionic's stdio.h no longer define
3787         __sferror.
3788         * lib/fbufmode.c: Likewise.
3789         * lib/fflush.c: Likewise.
3790         * lib/fpurge.c: Likewise.
3791         * lib/freadable.c: Likewise.
3792         * lib/freadahead.c: Likewise.
3793         * lib/freading.c: Likewise.
3794         * lib/freadptr.c: Likewise.
3795         * lib/freadseek.c: Likewise.
3796         * lib/fseeko.c: Likewise.
3797         * lib/fseterr.c: Likewise.
3798         * lib/fwritable.c: Likewise.
3799
3800         Assume unbroken ungetc() on Android
3801         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
3802         test case passed when running on an Android host, and the code
3803         hasn't really changed since 2009.
3804
3805         getdtablesize: Fix Android build
3806         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
3807         versions have this symbol in the .so library (at least 32-bit
3808         platforms) but are missing the declaration in the header file,
3809         causing the m4 logic to guess incorrectly.
3810
3811         localename: Fix Android build
3812         * modules/localename (Depends-on): Add langinfo.
3813
3814         getugroups: Fix Android build
3815         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
3816         functions.
3817
3818         euidaccess: Fix Android build
3819         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
3820         AT_EACCESS gets declared.
3821
3822         linkat_nofollow: Add fallback case for cross compiling
3823         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
3824
3825         net_if: Handle content-free <net/if.h> system headers
3826         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
3827         struct if_nameindex.  If not, enable the replacement header.
3828
3829         signal_h: Fix Android build
3830         * lib/signal.in.h: Add Android to the list of platforms that declare
3831         pthread_sigmask() in <pthread.h> instead of <signal.h>.
3832
3833         duplocale: Fix Android build of duplocale-tests
3834         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
3835         is included by test-duplocale.c (but not by duplocale.c).
3836         * modules/duplocale-tests (configure.ac): Check for monetary.h.
3837         * tests/test-duplocale.c: Skip test if monetary.h is absent.
3838         * doc/posix-headers/monetary.texi: Add Android to the list of
3839         platforms missing monetary.h.
3840
3841 2015-02-11  Pádraig Brady  <P@draigBrady.com>
3842
3843         tests: avoid recent -Werror=unused-variable regression in test-locale
3844         * tests/test-locale.c (main): Reference the variable to avoid the
3845         "unused variable" warning.
3846
3847 2015-02-11  Pádraig Brady  <P@draigBrady.com>
3848
3849         maint: various whitespace cleanups in tempname
3850         * lib/tempname.c: Normalize spacing and line length.
3851         * lib/tempname.h: Likewise.
3852         * modules/tempname: Likewise.
3853
3854 2015-02-11  Pádraig Brady  <P@draigBrady.com>
3855
3856         tests: provide returns_() to simplify exit status checking
3857         * tests/init.sh (returns_): A new function for use in tests,
3858         to allow for easier checking of return values, where you expect
3859         a command to exit with failure status.  By checking for a particular
3860         exit code, you don't hide any crashes for example.
3861
3862 2015-02-11  Pádraig Brady  <P@draigBrady.com>
3863
3864         mountlist: only use libmount when specified
3865         There are currently many shared libs dependencies introduced by
3866         libmount with associated runtime and virt mem overhead.
3867         Therefore don't enable by default.
3868         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
3869
3870 2015-02-08  Daiki Ueno  <ueno@gnu.org>
3871
3872         uniname/unimame-tests: don't link with -lunistring
3873         * modules/uniname/uniname-tests (Makefile.am): Don't link against
3874         $(LIBUNISTRING).  Document the rationale why we need to
3875         conditionalize the test.
3876
3877 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3878
3879         fstrcmp: don't assume strlen < INT_MAX
3880         * lib/fstrcmp.c: Include stddef.h and stdint.h.
3881         (uintptr_t): Remove, as we're now assuming stdint.
3882         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
3883         Prefer ptrdiff_t to int when the value could exceed INT_MAX
3884         if the input string is long.
3885         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
3886         uintptr_t to size_t when the underlying value is a pointer casted
3887         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
3888         * modules/fstrcmp (Depends-on): Add stdint.
3889
3890         diffseq: prefer ptrdiff_t to ssize_t
3891         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
3892         ptrdiff_t is the natural type for signed indexes.
3893         On a few older platforms, ssize_t is narrower than size_t.
3894
3895         xalloc: fix typo that suppressed warnings
3896         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
3897         This typo, introduced a couple of years ago, mistakenly suppressed
3898         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
3899         -Wmissing-declarations warnings.
3900
3901         full-read: fix license notice typo
3902         * lib/full-read.h: Remove a stray line in the license notice.
3903         Reported by Sam Ellis in: http://bugs.gnu.org/19808
3904
3905         crypto/gc: fix a -Wswitch warning
3906         Reported by Bruce Korb in:
3907         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00046.html
3908         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
3909
3910 2015-02-03  Pádraig Brady  <P@draigBrady.com>
3911
3912         gnulib-tool: fix handling of patch(1) diagnostics
3913         * gnulib-tool: Send diagnostics from patch(1) to stderr,
3914         as otherwise gnulib-tool will reparse that output and attempt
3915         to lookup modules.
3916
3917 2015-02-03  Pádraig Brady  <P@draigBrady.com>
3918
3919         bootstrap: exit immediately upon gnulib-tool failure
3920         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
3921         This was noticed when gnulib-tool exited early due to failure
3922         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
3923         but various confusing errors were then given as the build proceeded.
3924
3925 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
3926
3927         symlinkat: include all required header files
3928         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
3929         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
3930         Reported at https://savannah.gnu.org/bugs/index.php?44151
3931         and by Jack Howarth.
3932
3933 2015-01-29  Pádraig Brady  <P@draigBrady.com>
3934
3935         localename: support Solaris 12 and illumos
3936         * lib/localename.c (gl_locale_name_thread_unsafe): call
3937         getlocalename_l() on newer __sun platforms.
3938         Reported by Alexander Pyhalov.
3939         Fix suggested by Rich Burridge.
3940
3941 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
3942
3943         locale: fix tests on illumos (trivial)
3944         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
3945         so move from global scope to main().
3946
3947 2015-01-24  Daiki Ueno  <ueno@gnu.org>
3948
3949         unictype: avoid undefined left-shift behavior
3950         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
3951         gcc's -fsanitize=shift and running its tests triggered:
3952           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
3953             places cannot be represented in type 'int'
3954         Cast LHS to 'unsigned int' after integer promotion.
3955         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
3956         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
3957
3958 2015-01-20  Daiki Ueno  <ueno@gnu.org>
3959
3960         libunistring: bump version of unitypes dependants
3961         Due to the header file search order, all the headers which depend
3962         on unitypes.h need to be generated, when the preinstalled
3963         libunistring is older.
3964         * modules/unicase/base (configure.ac): Bump minimum version to
3965         0.9.4.
3966         * modules/uniconv/base (configure.ac): Likewise.
3967         * modules/unilbrk/base (configure.ac): Likewise.
3968         * modules/uninorm/base (configure.ac): Likewise.
3969         * modules/unistdio/base (configure.ac): Likewise.
3970         * modules/unistr/base (configure.ac): Likewise.
3971         * modules/uniwbrk/base (configure.ac): Likewise.
3972         * modules/uniwidth/base (configure.ac): Likewise.
3973
3974 2015-01-20  Daiki Ueno  <ueno@gnu.org>
3975
3976         unictype/category-none: fix link with libunistring
3977         Since _UC_CATEGORY_NONE is not a public symbol, it will be
3978         prefixed with "libstring_" when compiled as part of libunistring.
3979         To avoid undefined symbol at link time, increase the minimum
3980         version when the dependant modules are updated.
3981         * modules/unictype/category-none (configure.ac): Bump minimum
3982         version to 0.9.5.
3983
3984 2015-01-20  Daiki Ueno  <ueno@gnu.org>
3985
3986         unitypes: fix build with installed libunistring
3987         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
3988         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
3989         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
3990
3991 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
3992
3993         time: port to MinGW32 3.21
3994         Problem reported by Eli Zaretskii in:
3995         http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00042.html
3996         * lib/time.in.h:
3997         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
3998         * modules/time (Depends-on):
3999         Fall back on unistd.h if the other include files don't define
4000         struct timespec.
4001
4002         update-copyright: apply to self
4003         * build-aux/update-copyright: Fix copyright date.  How ironic!
4004
4005 2015-01-15  Daiki Ueno  <ueno@gnu.org>
4006
4007         libunistring: update to Unicode 7.0.0
4008         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
4009         Manichaean names.
4010         * lib/unictype/joininggroup_name.h: Likewise.
4011         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
4012         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
4013         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
4014         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
4015         (fill_arabicshaping, joining_group_as_c_identifier): Support those
4016         enum values.
4017         (is_property_alphabetic): Accept newly added characters to
4018         cuneiform numeric signs.
4019         (is_property_default_ignorable_code_point): Reject U+0605.
4020         (FIELDLEN): Increase from 120 to 160.
4021         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
4022         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
4023         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
4024         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
4025         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
4026         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
4027         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
4028         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
4029         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
4030         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
4031         U+1E8D0..U+1E8D6.
4032         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
4033         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4034         lib/uniwidth/width.c.
4035         * all generated files under lib/uni* and tests/uni*: Regenerate.
4036
4037 2015-01-14  Daiki Ueno  <ueno@gnu.org>
4038
4039         libunistring: update to Unicode 6.3.0
4040         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
4041         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
4042         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
4043         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
4044         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
4045         Update WB5, WB9, WB10, WB13a, and WB13b.
4046         * tests/uniwbrk/test-uc-wordbreaks.c
4047         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
4048         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
4049         (UC_BIDI_PDI): New enumeration values.
4050         (bidi_category_byname): Support those enum values.
4051         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
4052         dedicated property assigned.
4053         (is_property_case_ignorable): Check 0x0027.
4054         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
4055         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
4056         (output_wbp): Support those enum values.
4057         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
4058         (UC_BIDI_PDI): New enumeration values.
4059         * lib/unictype/bidi_byname.gperf: Add those property names.
4060         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
4061         U+180E, U+1A1B, and U+2066..U+2069.
4062         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4063         lib/uniwidth/width.c.
4064         * all generated files under lib/uni* and tests/uni*: Regenerate.
4065
4066 2015-01-14  Daiki Ueno  <ueno@gnu.org>
4067
4068         libunistring: update to Unicode 6.2.0
4069         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
4070         (unilbrk_table): Adjust table size.
4071         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
4072         for LBP_RI.
4073         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
4074         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
4075         Normalize table index skipping ignored properties.
4076         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
4077         WBP_EXTEND and WBP_FORMAT, which are now computed without using
4078         the table.
4079         * lib/uniwbrk/wbrktable.h: Adjust table size.
4080         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
4081         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
4082         Support rule GB8a.
4083         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
4084         * tests/unigbrk/test-uc-is-grapheme-break.c
4085         (graphemebreakproperty_to_string): Support GBP_RI.
4086         * tests/uniwbrk/test-uc-wordbreaks.c
4087         (wordbreakproperty_to_string): Support WBP_RI.
4088         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
4089         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
4090         (output_lbp): Support LBP_RI.  Adjust some characters changed from
4091         LBP_AL to LBP_ID.
4092         (output_lbp): Support LBP_RI.
4093         (WBP_RI): New enumeration value.
4094         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
4095         (output_wbp): Support WBP_RI.
4096         (GBP_RI): New enumeration value.
4097         (output_gbp_test, fill_org_gbp): Support GBP_RI.
4098         * all generated files under lib/uni* and tests/uni*: Regenerate.
4099
4100 2015-01-14  Daiki Ueno  <ueno@gnu.org>
4101
4102         libunistring: update to Unicode 6.1.0
4103         * lib/gen-uni-tables.c (output_joining_group): Switch to
4104         3-level table to accommodate joining groups defined with higher
4105         codepoint value.  Since there are only 88 groups defined in
4106         Unicode 7.0.0, use 7-bit packed format for level3 entries.
4107         (get_lbp): Update for Unicode 6.1.0.
4108         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
4109         3-level table.
4110         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
4111         joining group name.
4112         * lib/unictype/joininggroup_name.h: Likewise.
4113         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
4114         (unilbrk_table): Adjust table size.
4115         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
4116         for LBP_HL.
4117         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
4118         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
4119         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
4120         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
4121         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
4122         U+302E..U+302F.
4123         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4124         lib/uniwidth/width.c.
4125         * all generated files under lib/uni* and tests/uni*: Regenerate.
4126         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
4127
4128 2015-01-15  Daiki Ueno  <ueno@gnu.org>
4129
4130         uniwbrk/u32-wordbreaks-tests: add conformance test
4131         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
4132         tests/uniwbrk/test-uc-wordbreaks.c,
4133         tests/uniwbrk/test-uc-wordbreaks.sh, and
4134         tests/uniwbrk/WordBreakTest.txt.
4135         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
4136         test-uc-wordbreaks to $(check_PROGRAMS), and define
4137         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
4138         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
4139         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
4140
4141 2015-01-15  Daiki Ueno  <ueno@gnu.org>
4142
4143         uniwbrk: ignore Extended/Format characters at BOL not BOS
4144         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
4145         characters if the previous character property is one of
4146         WBP_NEWLINE, WBP_CR, and WBP_LF.
4147
4148 2015-01-11  Jim Meyering  <meyering@fb.com>
4149
4150         test-strstr.c: avoid a trivial leak
4151         * tests/test-strstr.c (main): Free haystack.
4152
4153         update-copyright: recognize groff's \(co marker
4154         * build-aux/update-copyright (circle_c_re): Also accept
4155         uses of \(co, as found in gzip.1.
4156
4157 2015-01-08  Pádraig Brady  <P@draigBrady.com>
4158
4159         maint.mk: fix compatibility with OS X nm
4160         * top/maint.mk (_gl_tight_scope): Use the -g option to
4161         show exported items rather than the -e option which is
4162         ignored on all platforms except OS X where it gives an error.
4163         Reported by Assaf Gordon.
4164
4165 2015-01-07  KO Myung-Hun  <komh@chollian.net>
4166
4167         localcharset: improve charset detection on OS/2
4168         Use system codepage when appropriate.  Map OS/2 codepages to
4169         GNU canonical charset names if possible.
4170         * lib/config.charset: Don't output aliases if "$os" is os2*.
4171         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
4172         result for OS/2.
4173         (locale_charset) [OS2]: Use system codepage if codeset is omitted
4174         from the locale name which is neither "C" nor "POSIX".
4175
4176 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
4177
4178         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
4179         This reverts the last patch but one, as it shouldn't be needed now
4180         that the typo is fixed.
4181         * lib/count-leading-zeros.h (count_leading_zeros_ll):
4182         * lib/count-trailing-zeros.h:
4183         * lib/count-one-bits.h:
4184         Go back to using 64-bit intrinsics.
4185
4186         count-leading-zeros: fix pragma typos
4187         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
4188         Fix typos in declaration of intrinsics when _MSC_VER.
4189
4190 2015-01-06  Pádraig Brady  <P@draigBrady.com>
4191
4192         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
4193         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
4194         intrinsics in this case.
4195         * lib/count-trailing-zeros.h: Likewise.
4196         * lib/count-one-bits.h: Likewise.
4197
4198 2015-01-06  Daiki Ueno  <ueno@gnu.org>
4199
4200         uniname/uniname: update to Unicode 7.0.0
4201         To accommodate new characters added since Unicode 5.1.0, this
4202         changes the internal representation of codepoint ranges.
4203         Previously, we grouped codepoint ranges by manually assigned 4-bit
4204         tag, which only allowed 16 groups.  This removes the limitation by
4205         switching to binary search on a table.  For the detail rationale
4206         and the benchmark results, see:
4207         https://lists.gnu.org/archive/html/bug-libunistring/2014-06/msg00001.html
4208         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
4209         to INDEX, as it no longer represents a codepoint.
4210         (range): New struct.
4211         (main): Switch to intervals list from a bit-pattern based
4212         classification.
4213         * lib/uniname/uninames.h: Regenerate.
4214         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
4215         * modules/uniname/base (configure.ac): Bump minimum version to
4216         0.9.5.
4217         * modules/uniname/uniname (configure.ac): Bump minimum version to
4218         0.9.5.
4219
4220 2015-01-05  Eric Blake  <eblake@redhat.com>
4221
4222         doc: update INSTALL from autoconf
4223         * doc/install.texi: Resync from autoconf.
4224         * doc/INSTALL: Reflect recent autoconf update.
4225         * doc/INSTALL.ISO: Likewise.
4226         * doc/INSTALL.UTF-8: Likewise.
4227
4228         stdio: fix use of PRIdMAX on modern mingw
4229         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
4230         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
4231         to work with modern mingw.
4232
4233 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
4234
4235         pthread: detect git mingw builds with only partial pollution
4236         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
4237         pollution, as seen temporarily in Fedora 21.
4238
4239 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4240
4241         lib-symbol-versions: cache script check
4242         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
4243         Cache the check for linker version scripts.
4244         From a suggestion by Christophe Curis in:
4245         http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00011.html
4246
4247 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
4248
4249         maint: fix grammar nits in propername (trivial change)
4250         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
4251         and use an adequate verb and tense.
4252
4253 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
4254
4255         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
4256         * module/gendocs: Add 'doc/gendocs_template_min'.
4257
4258         * build-aux/gendocs.sh: Change email addresses and upstream URLs
4259         from to Gnulib's.
4260         (scripturl, templateurl): Adjust accordingly.
4261
4262 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4263
4264         gendocs: copyright date and version fix
4265         Reported by Karl Berry in:
4266         http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00002.html
4267         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
4268         Fix copyright date.
4269         * build-aux/gendocs.sh (scriptversion): Update.
4270
4271 2015-01-01  Karl Berry  <karl@gnu.org>
4272
4273         * doc/install.texi,
4274         * build-aux/mdate-sh,
4275         * build-aux/depcomp,
4276         * build-aux/config.guess,
4277         * build-aux/config.sub,
4278         * build-aux/ar-lib,
4279         * build-aux/compile: revert copyright updates (some from last
4280         year) in slaved files.
4281
4282 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4283
4284         version-etc: new year
4285         * doc/gnulib.texi:
4286         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
4287         * all files: Run 'make update-copyright'.
4288
4289 2014-12-30  Pádraig Brady  <P@draigBrady.com>
4290
4291         xstrtol: ensure errno is reset
4292         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
4293         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
4294
4295         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
4296
4297 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
4298
4299         utimens: fix dependency typo
4300         * modules/utimens (Depends-on): Remove 'assure'.
4301         This bug was introduced in the recent 'assure' patch.
4302
4303 2014-12-22  Eric Blake  <eblake@redhat.com>
4304
4305         docs: mention why libgen.h is bad
4306         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
4307
4308 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
4309
4310         assure: new module
4311         This works better than 'assert' when compiling with -DNDEBUG,
4312         as it avoids some compiler diagnostics in that case.
4313         Reported by Norihiro Tanaka in:
4314         http://lists.gnu.org/archive/html/bug-gnulib/2014-12/msg00215.html
4315         * MODULES.html.sh (func_all_modules): Add 'assure'.
4316         * lib/assure.h, modules/assure: New files.
4317         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
4318         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
4319         Prefer 'assure' to 'assert'.
4320         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
4321         * modules/chdir-long, modules/cycle-check, modules/fchdir:
4322         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
4323         Depend on 'assure'.
4324
4325 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
4326
4327         stdalign: port better to HP compilers
4328         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
4329         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
4330
4331         stdalign: work around Apple GCC 4.0 bug
4332         Reported by David Fang in:
4333         http://lists.gnu.org/archive/html/bug-gnulib/2014-12/msg00194.html
4334         * lib/stdalign.in.h (_Alignas):
4335         * m4/stdalign.m4 (gl_STDALIGN_H):
4336         Do not use aligned attribute with GCC 4.0 on Apple.
4337
4338 2014-12-16  Pádraig Brady  <P@draigBrady.com>
4339
4340         getcwd: fix test failure on OS X 10.9
4341         * m4/getcwd-path-max.m4: Avoid the replacement if it
4342         won't be effective due to the PATH_MAX limitation of lstat().
4343         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
4344         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
4345         for this case for use in tests, and also exclude this
4346         case when setting REPLACE_GETCWD.
4347         * tests/test-getcwd.c (test_long_name): Restrict the
4348         tested path length so that lstat() will not be passed
4349         a path greater than PATH_MAX.
4350         Also key a test condition on HAVE_OPENAT_SUPPORT rather
4351         than AT_FDCWD, since the latter is set unconditionally
4352         since Sep 2009 in commit 52c658e9.
4353
4354 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
4355
4356         parse-datetime: avoid a compiler warning with byacc (trivial)
4357         * lib/parse-datetime.y (yylex): Use the same prototype in the
4358         function definition as the declaration, to avoid a -Wstrict-prototypes
4359         warning seen when using byacc.
4360
4361 2014-12-12  Daiki Ueno  <ueno@gnu.org>
4362
4363         unicase/locale-language-tests: fix LOCALE_FR test
4364         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
4365         a French locale with traditional encoding.
4366         Reported by umerqayam in:
4367         http://lists.gnu.org/archive/html/bug-libunistring/2014-12/msg00000.html
4368
4369 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
4370
4371         stddef: support C11's max_align_t
4372         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
4373         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
4374         Do not undef, as that might cause max_align_t to be defined twice.
4375         Instead, change use to check for _GL_STDDEF_WINT_T too.
4376         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
4377         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
4378         Check for max_align_t.
4379         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
4380         * modules/stddef-tests (Depends-on): Add stdalign.
4381         * tests/test-stddef.c: Test max_align_t.
4382
4383 2014-12-11  Daiki Ueno  <ueno@gnu.org>
4384
4385         unistd: fix iOS check conditional
4386         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
4387         as 0 or 1 in <TargetConditionals.h>, and the previous check always
4388         yielded true on non-iOS environment.
4389         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
4390         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
4391         they are defined.
4392
4393 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
4394
4395         posixtm: avoid compiler warning in a better way
4396         * lib/posixtm.c (IF_LINT): Remove.
4397         (year, posix_time_parse):
4398         Return true (not 0) if successful.  All callers changed.
4399         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
4400
4401 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
4402
4403         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
4404         started with '/' on EMX.
4405
4406 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
4407
4408         freopen: workaround freopen() on OS/2 kLIBC
4409         * lib/freopen.c (rpl_freopen): Workaround.
4410         * m4/freopen.m4: Add os2* case.
4411
4412         get_shared_library_fullname: port to EMX
4413         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
4414         on EMX, respectively.
4415         (_DLL_InitTerm): New on EMX.
4416         (get_shared_library_fullname): Implement on EMX.
4417
4418         find_executable: port to EMX
4419         * lib/progreloc.c (find_executable): Implement on EMX.
4420
4421         sched: check struct sched_param in spawn.h as well
4422         * lib/sched.in.h: Include spawn.h on kLIBC.
4423         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
4424
4425 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
4426
4427         bootstrap: Allow perl modules in $buildreq
4428         * build-aux/bootstrap: Add case for perl modules.
4429
4430 2014-12-08  Pádraig Brady  <P@draigBrady.com>
4431
4432         apply _GL_ATTRIBUTE_PURE to some inline functions
4433         clang 3.4.2 flagged these inline functions as pure
4434         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
4435         * lib/sig-handler.h (get_handler): Likewise.
4436         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
4437         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
4438
4439 2014-12-06  Pádraig Brady  <P@draigBrady.com>
4440
4441         vasnprintf: fix potential use after free
4442         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
4443         flagged by clang-analyzer 3.4.2.
4444
4445 2014-12-05  Pádraig Brady  <P@draigBrady.com>
4446
4447         filevercmp, posixtm: avoid compiler warnings with -O3
4448         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
4449         * lib/posixtm.c: (IF_LINT): Define.
4450         (posix_time_parse): Use it to void a "may be used uninitialized"
4451         warning, seen only with -O3.
4452
4453 2014-12-05  Bruno Haible  <bruno@clisp.org>
4454
4455         Fix LDBL80_WORDS macro on big endian platforms.
4456         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
4457         LDBL80_WORDS macro.
4458         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
4459         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
4460         * tests/test-isfinite.c (test_isfinitel): Likewise.
4461         * tests/test-isinf.c (test_isinfl): Likewise.
4462         * tests/test-isnan.c (test_long_double): Likewise.
4463         * tests/test-isnanl.h (main): Likewise.
4464         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
4465         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
4466         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
4467         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
4468         Reported by Pádraig Brady.
4469
4470 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
4471
4472         git-version-gen: do not print new line characters
4473         * build-aux/git-version-gen: Use printf instead of echo and tr.
4474
4475         gnulib-tool: recognize x:* as an absolute path
4476         * gnulib-tool (func_gnulib_dir): Add ?:* case.
4477         (func_relconcat): Likewise.
4478
4479 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
4480
4481         argp: avoid extraneous translation and mem leak with empty pre doc
4482         * lib/argp-help.c (argp_doc): Never translate the empty string,
4483         when "\v" is the first or last character of the string, as that
4484         has a reserved meaning to return the header info from a po file.
4485         This also fixes a small memory leak in the !post case.
4486         The issue can be seen with this command for example:
4487         LC_MESSAGES=en_US grub2-mknetdir --help
4488
4489 2014-11-27  Daiki Ueno  <ueno@gnu.org>
4490
4491         uniname/uniname-tests: skip if system's libunistring is used
4492         * modules/uniname/uniname-tests (Makefile.am): Skip test if
4493         uniname/uniname module is not compiled.
4494
4495 2014-11-27  Pádraig Brady  <P@draigBrady.com>
4496
4497         printf: fix configure check on big endian systems
4498         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
4499
4500 2014-11-22  Daiki Ueno  <ueno@gnu.org>
4501
4502         pipe-filter-gi, pipe-filter-ii: port to AIX
4503         On AIX 7.1, 'select' is defined as static and cannot be referred
4504         to from inline function.
4505         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
4506         the definition...
4507         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
4508         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
4509
4510 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
4511
4512         gitlog-to-changelog: add --until
4513         * build-aux/gitlog-to-changelog: Support new --until option.
4514         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
4515
4516 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
4517
4518         extern-inline: update commentary about GCC bugs
4519         * m4/extern-inline.m4: Add another GCC bug number to comments.
4520
4521 2014-11-13  Daiki Ueno  <ueno@gnu.org>
4522
4523         gen-uni-tables: untabify
4524         * lib/gen-uni-tables.c: Untabify.
4525
4526 2014-11-13  Daiki Ueno  <ueno@gnu.org>
4527
4528         gen-uni-tables: check out-of-range values added to 3-level tables
4529         * lib/gen-uni-tables.c (output_category, output_bidi_category)
4530         (output_joining_type, output_ident_category): Check out-of-range
4531         values added to 3-level tables.
4532
4533 2014-11-13  Daiki Ueno  <ueno@gnu.org>
4534
4535         gen-uni-tables: utilize 'assert'
4536         * lib/gen-uni-tables.c: Include <assert.h>.
4537         (output_category, output_combclass, output_decimal_digit_test)
4538         (output_decimal_digit, output_digit_test, output_digit)
4539         (output_numeric, get_mirror_value, fill_properties)
4540         (fill_property30, is_property_alphabetic)
4541         (is_property_default_ignorable_code_point)
4542         (is_property_uppercase, is_property_lowercase)
4543         (is_property_cased, is_property_case_ignorable)
4544         (is_property_changes_when_lowercased, is_property_iso_control)
4545         (is_property_math, fill_arabicshaping, output_joining_group)
4546         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
4547         (output_wbp, fill_org_gbp, get_decomposition)
4548         (output_decomposition, fill_composition_exclusions)
4549         (debug_output_composition_tables, output_composition_tables)
4550         (redistribute_casefolding_rules, output_casing_rules): Use
4551         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
4552         reporting.
4553
4554 2014-11-13  Daiki Ueno  <ueno@gnu.org>
4555
4556         gen-uni-tables: cosmetic improvements
4557         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
4558         variables specification.
4559         (is_outdigit): Remove unused function.
4560
4561 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
4562
4563         fcntl-h-tests: port to PA-RISC GNU/Linux
4564         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
4565
4566 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
4567
4568         fts: port to C89
4569         Problem reported for MSVC 16 by Gisle Vanem in:
4570         http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00027.html
4571         * lib/fts.c (fts_build): Avoid declaration before statement.
4572
4573 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4574
4575         unistd: port to iOS
4576         Problem reported by André Klitzing in:
4577         http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00013.html
4578         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
4579
4580 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
4581
4582         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
4583         Problem reported by Alan Modra in:
4584         http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00007.html
4585         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
4586         Always cast the function arg, reverting this part of the previous
4587         change.
4588
4589 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
4590
4591         obstack: avoid potentially-nonportable function casts
4592         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
4593         Remove, replacing with ...
4594         (call_chunkfun, call_freefun): New static functions.
4595         All uses changed.  Avoid potentially-nonportable casts.
4596         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
4597         (_obstack_begin_worker): Omit last two args, since they
4598         rely on potentially-nonportable casts.  All callers changed.
4599         * lib/obstack.h (_OBSTACK_CAST): New macro.
4600         Use it everywhere the old API used a potentially-nonportable cast.
4601         The new API doesn't cast.
4602         (struct obstack): Use unions rather than requiring
4603         potentially-nonportable casts.
4604         (obstack_chunkfun, obstack_freefun): Return void.
4605
4606 2014-11-03  Alan Modra  <amodra@gmail.com>
4607
4608         obstack: fix macro return values
4609         * lib/obstack.h (obstack_next_free): Return void *.
4610         (obstack_1grow_fast, obstack_blank_fast): Return void.
4611         For __GNUC__ macros:
4612         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
4613         For !__GNUC__ macros:
4614         (obstack_make_room, obstack_grow, obstack_grow0)
4615         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
4616
4617 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
4618
4619         obstack: do not assume system-supplied obstack is size_t safe
4620         * m4/obstack.m4: New file.
4621         * modules/obstack (Files): Add it.
4622
4623         obstack: port to platforms that #define __alignof__
4624         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
4625         not if !_LIBC.  We don't know of any platforms that #define
4626         __alignof__, but it might be useful in tests.  Conversely,
4627         glibc assumes GCC.
4628
4629 2014-11-03  Pádraig Brady  <P@draigBrady.com>
4630
4631         linkat: don't unconditionally replace on GNU/Linux
4632         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
4633         was redundant for a few reasons.  It was present to support compiling
4634         on new systems but running on the old narrow window of Linux 2.6.1[67].
4635         It setup and cleaned up test files which weren't actually used.
4636         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
4637         implicit in the following check.
4638
4639 2014-11-03  Pádraig Brady  <P@draigBrady.com>
4640
4641         linkat: wrap to handle symlinks on OS X 10.10
4642         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
4643         but not usable because it doesn't support creating hardlinks
4644         to symlinks.  Therefore add a generic test for this capability
4645         and fallback to our emulation if linkat() fails with ENOTSUP.
4646
4647 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
4648
4649         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
4650         * doc/posix-functions/open.texi (open):
4651         * doc/posix-functions/openat.texi (openat):
4652         Document that these functions do not set errno to ELOOP when
4653         a symlink is opened with O_NOFOLLOW.
4654
4655 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4656
4657         obstack: add NEWS entry for recent incompatible changes
4658         * NEWS: Describe recent changes.
4659
4660 2014-10-30  Pádraig Brady  <P@draigBrady.com>
4661
4662         mountlist: don't use libmount to decide on dummy/remote
4663         * lib/mountlist.c (read_file_system_list): Don't use the libmount
4664         routines to determine whether a file system is dummy or remote,
4665         as they're not currently compatible.  For example the remoteness
4666         is determined on file system type (for which the list seems incomplete),
4667         rather than simply checking for a ':' in the device name.
4668         Also libmount currently determines that 'tmpfs' is a dummy file system
4669         even though it has associated storage.
4670
4671 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
4672
4673         obstack: prefer __alignof__ to alignof
4674         This is for portability to pre-4.7 GCC when compiling glibc.
4675         See Joseph S. Myers in:
4676         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
4677         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
4678         New macro, defined by including and using <alignof.h>.
4679         (MAX): New macro.
4680         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
4681         Do not use enums as they are not portable to some broken compilers.
4682         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
4683
4684         obstack: prefer alignof to calculating alignments by hand
4685         * lib/obstack.c: Include <stdalign.h>.
4686         (struct fooalign): Remove.
4687         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
4688         * modules/obstack (Depends-on): Add stdalign.
4689
4690 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
4691
4692         obstack: use size_t alignments and check for overflow
4693         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
4694         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
4695         * lib/obstack.h (struct obstack.alignment_mask):
4696         Use _OBSTACK_SIZE_T, not int, for alignments.
4697         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
4698         overflows, e.g., when adding the alignment.
4699
4700 2014-10-29  Alan Modra  <amodra@gmail.com>
4701
4702         obstack: 64-bit obstack support, part 3
4703         This finally enables full 64-bit obstack support.  The glibc
4704         shared library specific code is removed from obstack.c too, and
4705         the error handling code conditionally compiled under control of
4706         another macro, _OBSTACK_NO_ERROR_HANDLER.
4707         * lib/obstack.h: Include string.h earlier.
4708         (_OBSTACK_INTERFACE_VERSION): Define.
4709         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
4710         * lib/obstack.c: Don't include shlib-compat.h.
4711         (OBSTACK_INTERFACE_VERSION): Delete.
4712         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
4713         glibc code is compatible with version 2.  Don't include stdio.h for
4714         __GNU_LIBRARY.
4715         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
4716         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
4717         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
4718         glibc shared library specific source.
4719
4720         obstack: 64-bit obstack support, part 2
4721         This gets us 4G obstack support, without changing ABI
4722         compatibility, apart from possibly introducing some
4723         signed/unsigned comparison warnings in code that uses obstack.h.
4724         a) Replace "int" size parameters, return values, and macro local vars
4725            with _OBSTACK_SIZE_T, an "unsigned int" for now.
4726         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
4727         c) Make all obstack macros checking available room use obstack_room.
4728            "next_free + desired > chunk_limit" may wrap the lhs for chunks
4729            allocated near the top of memory.
4730         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
4731         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
4732         in place of "int" size parameters, return values and local vars.
4733         (_CHUNK_SIZE_T): Define.
4734         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
4735         union use an _OBSTACK_SIZE_T integer type.
4736         For __GNUC__ versions of the following macros...
4737         (obstack_room): Rename local var.
4738         (obstack_make_room): Use obstack_room.
4739         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
4740         obstack_int_grow, obstack_blank): Likewise.
4741         (obstack_finish): Use unsigned comparison when comparing aligned
4742         next_free against chunk_limit.
4743         (obstack_free): Cast OBJ to remove possible const qualifier.
4744         For !__GNUC__ versions of the following macros...
4745         (obstack_make_room): Use obstack_room.
4746         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
4747         obstack_int_grow, obstack_blank): Likewise.
4748         (obstack_finish): Use unsigned comparision when comparing aligned
4749         next_free against chunk_limit.
4750         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
4751         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
4752         _OBSTACK_SIZE_T.
4753         (_obstack_begin, _obstack_begin_1): Likewise.
4754         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
4755         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
4756
4757         obstack: 64-bit obstack support, part 1
4758         a) Correct calls to alloc function, to use a size_t arg.  "long" is
4759            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
4760            and "size_t" 64 bits.
4761         b) Consolidate _obstack_begin and _obstack_begin1 code.
4762         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
4763         use "size_t" rather than "long".
4764         (_obstack_begin, _obstack_begin1): Likewise.
4765         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
4766         obstack_chunkfun): Update alloc function casts.
4767         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
4768         (chunkfun_type, freefun_type): New typdefs.
4769         (_obstack_begin_worker): Split out from ..
4770         (_obstack_begin, _obstack_begin_1): ..here.
4771
4772         obstack: tidy part 2
4773         a) Don't be concerned about "not polluting the namespace with stddef.h
4774            symbols" in obstack.h, since gnulib string.h includes stddef.h
4775            anyway, and it seems unlikely that anyone would care.
4776         b) Don't roll our own slow memcpy in _obstack_newchunk.
4777         c) Rename obstack_free to _obstack_free.  This makes the naming
4778            consistent with other obstack functions and obviates the need for
4779            __obstack_free.  Ancient obstack.c defined both obstack_free and
4780            _obstack_free.  We continue to do that for _LIBC via an alias.
4781         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
4782            is clever, but nowadays gcc warns on undefined macros.  You'll get
4783            an undefined macro warning if simulating an old gcc with -U__GNUC__
4784            -U__GNUC_MINOR__ -D__GNUC__=1.
4785         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
4786         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
4787         (__obstack_free): Delete, update refs.
4788         (_obstack_free): Rename from obstack_free.
4789         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
4790         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
4791         * lib/obstack.c: Don't include stddef.h.
4792         (COPYING_UNIT): Delete.
4793         (_obstack_begin): Formatting fix.
4794         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
4795         (_obstack_free): Rename from __obstack_free, update alias.  Move
4796         undef of obstack_free to where it is needed.
4797
4798         obstack: tidy part 1
4799         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
4800            to me, and result in overlong lines after later patches.
4801         b) Move error handling code, to avoid a forward declaration and to
4802            simplify later patches in this series.
4803         * lib/obstack.h (struct obstack <temp>): Rename fields of union
4804         and update all uses.
4805         * lib/obstack.c: Include stdlib.h earlier.
4806         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
4807         in file.
4808         (print_and_abort): Remove now redundant forward declaration.
4809
4810 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4811
4812         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
4813         Without this change, in bleeding-edge fileutils Autoconf complains
4814         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
4815         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
4816         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
4817         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
4818
4819 2014-10-24  Daiki Ueno  <ueno@gnu.org>
4820
4821         iconv: avoid false detection of non-working iconv
4822         The INBUF arguments of iconv can be either 'const char **'
4823         or 'char **'.  If CC is g++, the difference causes a compile error
4824         and thus leads to a false detection of non-working iconv.
4825         Reported by Eli Zaretskii and Werner LEMBERG in:
4826         <https://lists.gnu.org/archive/html/bug-gnulib/2014-10/msg00023.html>.
4827         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
4828         iconv.  Bump serial number.
4829
4830 2014-10-23  Pádraig Brady  <P@draigBrady.com>
4831
4832         bootstrap: print more diagnostics for missing programs
4833         * build-aux/bootstrap: only suppress stderr when checking for
4834         alternative program names.  This supports programs issuing non
4835         standard error messages.
4836
4837 2014-10-23  Pádraig Brady  <P@draigBrady.com>
4838
4839         bootstrap: only update the gnulib submodule
4840         * build-aux/bootstrap: Restrict the "submodule update" command
4841         to the gnulib path.
4842
4843 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
4844
4845         symlinkat: port to AIX 7.1
4846         * doc/posix-functions/symlinkat.texi (symlinkat):
4847         Mention AIX porting problem.
4848         * lib/symlinkat.c: Always include errno.h.
4849         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
4850         * lib/unistd.in.h (symlinkat): Add replacement machinery.
4851         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
4852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
4853         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
4854         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
4855         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
4856
4857         readlinkat: port to AIX 7.1
4858         * doc/posix-functions/readlink.texi (readlink):
4859         * doc/posix-functions/readlinkat.texi (readlinkat):
4860         Mention AIX porting problem.
4861         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
4862         New function.
4863         * lib/unistd.in.h (readlinkat): Add replacement machinery.
4864         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
4865         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
4866         * modules/readlinkat (configure.ac): Also compile replacement
4867         if REPLACE_READLINKAT.
4868         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
4869
4870 2014-10-12  Karl Berry  <karl@gnu.org>
4871
4872         * doc/posix-functions/dirname.texi: remove spurious {.
4873
4874 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
4875
4876         basename, dirname: Improve documentation.
4877         * doc/posix-functions/basename.texi: Mention dirname module and
4878         base_name() function.
4879         * doc/posix-functions/dirname.texi: Mention dir_name() and
4880         mdir_name() functions.
4881         Suggested by Werner LEMBERG <wl@gnu.org>.
4882
4883 2014-09-24  Jim Meyering  <meyering@fb.com>
4884
4885         exclude: declare exclude_patopts static
4886         * lib/exclude.c (exclude_patopts): Declare static,
4887         to avoid triggering a -Wmissing-prototypes warning.
4888         The alternative (declaring it in the .h file) would
4889         require publicizing the private "struct patopts".
4890
4891 2014-09-21  Werner Lemberg  <wl@gnu.org>
4892
4893         dirname: support compilation with C++
4894         * lib/dirname.h: Add necessary C linkage declarations.
4895
4896 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4897
4898         qsort_r: include <config.h>
4899         Problem reported by Tom G. Christensen in:
4900         http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00071.html
4901         * lib/qsort.c [!_LIBC]: Include <config.h> first.
4902
4903 2014-09-16  Dylan Cali  <calid1984@gmail.com>
4904
4905         avltree-list: avoid compiler warnings (trivial)
4906         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
4907         -Werror=suggest-attribute=pure.
4908         * lib/gl_array_list.c: Likewise.
4909         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
4910         declaration to avoid -Werror=missing-prototypes.  This is not added
4911         to a header as only exported for tests.  Add (void) to the
4912         check_invariants() call to indicate we're discarding the result
4913         in this context which avoids -Werror=unused-value.  Note we don't
4914         use ignore_value here to avoid a dependency as we know we'll not
4915         be adding __attribute__((warn_unused_result)) to check_invariants().
4916         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
4917
4918 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4919
4920         qsort_r: new module, for GNU-style qsort_r
4921         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
4922
4923 2014-09-15  Werner LEMBERG  <wl@gnu.org>
4924
4925         strerror_r-posix: support compilation with C++
4926         * lib/strerror_r.c: Add necessary C linkage declarations.
4927
4928 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
4929
4930         fcntl-h: fix compilation with Intel C++ compiler (trivial)
4931         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
4932
4933 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
4934
4935         mountlist: use /proc/self/mountinfo when available
4936         Use libmount to propagate device IDs provided by Linux in
4937         /proc/self/mountinfo.  This will give more accurate output when
4938         using df in chroot'ed environments as the device IDs are not
4939         determined by stat() which may be inaccurate within the chroot.
4940         * lib/mountlist.c (read_file_system_list): Use the libmount routines
4941         from util-linux to parse "/proc/self/mountinfo" or fall back to
4942         standard getmntent() processing.
4943         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
4944         getmntent() is used, as is the case on GNU/Linux.
4945
4946 2014-09-07  Eric Wong  <normalperson@yhbt.net>
4947
4948         users.txt: add cmogstored
4949         cmogstored has used gnulib since the beginning in 2012 to support
4950         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
4951
4952 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
4953
4954         Trivial change.
4955         * gnulib-tool: Use same options as build-aux/bootstrap to download
4956         PO files.
4957
4958 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
4959
4960         Trivial change.
4961         * gnulib-tool: Fallback to wget when rsync of PO files fails.
4962
4963 2014-09-04  Eric Blake  <eblake@redhat.com>
4964
4965         maintainer-makefile: add syntax check for useless ';;'
4966         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
4967
4968 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
4969
4970         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
4971         Problem reported by Assaf Gordon in:
4972         http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00023.html
4973         Apparently Ubuntu is doing some fancy link-time optimization
4974         that doesn't work with -lpthread but does work with -pthread.
4975         Work around the bug by preferring -pthread to -lpthread.
4976         * m4/pthread.m4 (gl_PTHREAD_CHECK):
4977         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
4978         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
4979         Treat -pthread like -lpthread.
4980
4981 2014-09-04  Eric Blake  <eblake@redhat.com>
4982
4983         error: drop spurious semicolon
4984         * lib/error.c (__error_at_line): Fix ';;'.
4985
4986 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4987
4988         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
4989         * m4/gnulib-common.m4 (AC_C_RESTRICT):
4990         Override AC_C_RESTRICT unconditionally.
4991         Update from autoconf, incorporating:
4992         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
4993         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
4994
4995 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4996
4997         manywarnings: add GCC 4.9 warnings
4998         Also, make it easier to maintain this in the future.
4999         * build-aux/gcc-warning.spec: Add -Wabi-tag,
5000         -Wconditionally-supported, -Wdelete-incomplete,
5001         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
5002         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
5003         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
5004         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
5005         only for older GCC versions that need them.  Handle
5006         -Wnormalized=nfc specially, so that the 'comm' command used
5007         for maintenance doesn't get confused.
5008
5009 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
5010
5011         vasnprintf: fix bugs in width computation
5012         * lib/vasnprintf.c (VASNPRINTF):
5013         Rework previous change, which introduced a bug,
5014         to avoid the warning in a different way.
5015         Avoid undefined behavior if the width arg is less than -INT_MAX.
5016         Avoid unnecessary use of HAS_WIDTH local.
5017
5018 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
5019
5020         vasnprintf: Avoid signed/unsigned comparison warning.
5021         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
5022         compare end addr of generated string w/ maximum end addr.
5023
5024 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
5025
5026         parse-datetime: Avoid pointer difference.
5027         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
5028         instead of calculating difference of pointers.  This removes an
5029         annoying warning, devoid of any use.
5030
5031 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
5032
5033         qsort_r: new module, for GNU-style qsort_r
5034         This works even on FreeBSD, which has an incompatible qsort_r API.
5035         * MODULES.html.sh: Add it.
5036         * doc/glibc-functions/qsort_r.texi: It's now supported.
5037         * lib/qsort.c: New file, taken from glibc with minor changes
5038         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
5039         removed.
5040         * lib/qsort_r.c: New file, compiled only on FreeBSD.
5041         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
5042         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
5043         * modules/qsort_r, modules/qsort_r-tests: New files.
5044         * modules/stdlib (Makefile): Set up its defaults.
5045         * tests/test-qsort_r.c: New file.
5046
5047 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
5048
5049         vla: new module
5050         GNU RCS can use this, mostly for documentation I expect.  See:
5051         http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00025.html
5052         * MODULES.html.sh: Add vla.
5053         * lib/vla.h, modules/vla: New files.
5054
5055 2014-08-07  Daiki Ueno  <ueno@gnu.org>
5056
5057         localename: make gl_locale_name_thread really thread-safe on Windows
5058         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
5059         "glthread/lock.h".
5060         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
5061         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
5062
5063 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
5064
5065         getpass: don't assume struct termios
5066         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
5067         http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00015.html
5068         * lib/getpass.c (getpass): Port to systems lacking struct termios.
5069
5070         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
5071         Problem reported by Jonas 'Sortie' Termansen in:
5072         http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00023.html
5073         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
5074         Implement via sysconf for platforms that lack getdtablesize.
5075
5076         vararrays: modernize AC_C_VARARRAYS for C11
5077         This backports a change I recently made to Autoconf.
5078         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
5079         VLAs are not supported, as this is what C11 does.  The old macro
5080         HAVE_C_VARARRAYS is still defined if they are supported, but is
5081         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
5082
5083 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
5084
5085         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
5086         * build-aux/install-reloc (func_create_wrapper): Also wrap
5087         strerror-override, stat, stat.
5088
5089 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
5090
5091         sys_select: fix FD_ZERO problem on Solaris 10
5092         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
5093         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
5094         to expand to an expression that invoked memset without necessarily
5095         including <string.h>.  The problem was that the first include
5096         defined _SYS_TIME_H, causing the second include to short-circuit.
5097         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
5098         Also, fix what appears to be a cut-and-paste typo, by replacing
5099         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
5100         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
5101
5102         accept: document Solaris 10 type glitch
5103         * doc/posix-functions/accept.texi (accept): Mention that
5104         Solaris 10 'accept' takes void * last arg, not socklen_t *.
5105
5106 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5107
5108         extern-inline: port to FreeBSD, DragonFly
5109         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
5110         is present if either __DragonFly__ or __FreeBSD__ is defined.
5111         FreeBSD problem reported by Andrey Borzenkov in:
5112         http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
5113         Also, worry about __APPLE__ only if __MACH__ is also defined,
5114         as this is more consistent with the rest of gnulib.
5115         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
5116         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
5117
5118 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
5119
5120         regex: Make #if/#ifdef usage consistent for DEBUG
5121         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
5122         of the inconsistent usage of #if and #ifdef as that works with
5123         both Glibc and Gnulib's style.
5124
5125 2014-07-31  Eric Blake  <eblake@redhat.com>
5126
5127         openat-die: use _Noreturn markup
5128         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
5129         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
5130         _Noreturn.
5131
5132 2014-07-30  Eric Blake  <eblake@redhat.com>
5133
5134         test-open: port to cygwin, which lacks Fortify
5135         * tests/test-open.h (ALWAYS_INLINE): New macro.
5136         (__always_inline): Don't abuse internal symbol on non-glibc.
5137
5138 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
5139
5140         localename: Enforce declarations before statements.
5141         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
5142         first statement.
5143
5144 2014-07-18  Jim Meyering  <meyering@fb.com>
5145
5146         test-userspec: don't look up numeric user names
5147         * tests/test-userspec.c: I found a system for which getpwnam("0")
5148         returned a pointer to a non-root user's entry, and that made the
5149         test fail.
5150         (T): Prefix each numeric input with "+", to inhibit lookup.
5151
5152 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
5153
5154         localcharset, localename: MS-Windows support for non-default locales
5155         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
5156         falling back on the default system codepage, try extracting
5157         the codepage from what 'setlocale' returns.  This allows to
5158         take into account changes of the codeset due to non-default
5159         locale set by a previous call to 'setlocale'.
5160         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
5161         Define if not already defined.
5162         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
5163         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
5164         current locale by calling 'setlocale', then converting the
5165         locale name into LCID by calling 'get_lcid'.  This allows to
5166         take into account changes in the current locale from the
5167         default one, in contrast to GetThreadLocale.
5168
5169 2014-07-14  Daiki Ueno  <ueno@gnu.org>
5170
5171         announce-gen: avoid failure when Digest::SHA is installed
5172         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
5173         Digest::SHA1->new in print_checksums fails.
5174         * build-aux/announce-gen (digest_classes): New associative array
5175         for available message digest implementations.
5176         (print_locations): Use it.
5177
5178 2014-07-13  Pádraig Brady  <P@draigBrady.com>
5179
5180         gettext: revert "update macros to version 0.19"
5181         This reverts commit 9b9370ca, as it currently requires that
5182         developers of any project that explicitly uses the gettext module
5183         or implicitly uses it through the utimens-tests or
5184         futimens-tests modules, use gettext >= 0.19.
5185         However there are some stability and availablity issues with
5186         that version at present.  We can reinstate this soon, when stability
5187         is addressed and packages are more readily available.
5188
5189 2014-07-12  Jim Meyering  <meyering@fb.com>
5190
5191         regex: don't deref NULL upon heap allocation failure
5192         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
5193         failure in one more place.
5194         To trigger the segfault, configure grep -with-included-regex,
5195         build it, and run these commands:
5196         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
5197         I discovered this while replying to a private report from
5198         Jens Schleusener about excessive memory consumption by grep
5199         when using a regular expression like the one above.
5200
5201 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
5202
5203         regex: fix memory leak in compiler
5204         Fix by Andreas Schwab in:
5205         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
5206         * lib/regcomp.c (parse_reg_exp): Deallocate partially
5207         constructed tree before returning error.
5208
5209 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
5210
5211         announce-gen: avoid perl warnings
5212         * build-aux/announce-gen: add two minor checks to avoid
5213         "use of uninitialized value" warnings when command-line parameters are
5214         missing.
5215
5216 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
5217
5218         localename: avoid -Wsuggest-attribute={const,pure} warnings
5219         * lib/localename.c (string_has): Tag internal function as pure.
5220         * lib/localename.h (gl_locale_name_default): Tag extern declaration
5221         as const when appropriate.
5222
5223 2014-07-10  Eli Zaretskii <eliz@gnu.org>
5224
5225         nl_langinfo: Fix last change.
5226         * lib/nl_langinfo.c (includes): Drop redundant include.
5227
5228 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
5229
5230         error: Fix -Wundef warnings in glibc
5231         * lib/error.c [_LIBC]: Define default macros for
5232         glibc.
5233         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
5234         Check _LIBC before STRERROR_R_CHAR_P.
5235
5236         error: Sync from glibc master
5237         * lib/error.c [_LIBC]: Remove INTUSE usage.
5238         (error_tail): Remove unused macro ALLOCA_LIMIT.
5239         Fix potential buffer overflow.  Fix potential NULL dereference
5240         in strcmp.
5241
5242 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
5243
5244         nl_langinfo: fix build under mingw
5245         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
5246
5247 2014-07-09  Andrew D Warshall  <warshall@99main.com>
5248
5249         mountlist: do not classify a bind-mounted dir entry as "dummy"
5250         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
5251         1-argument getmntent() (instead of assuming absence).
5252
5253 2014-07-08  Eric Blake  <eblake@redhat.com>
5254
5255         maint.mk: less syntax-check noise when SIGPIPE is ignored
5256         * top/maint.mk (_sc_header_without_use)
5257         (sc_require_config_h_first): Parse full list.
5258
5259 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
5260             Paul Eggert  <eggert@cs.ucla.edu>
5261
5262         nl_langinfo: CODESET on MS-Windows and more items from localeconv
5263         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
5264         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
5265         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
5266         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
5267         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
5268         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
5269         Include <stdio.h> if Microsoft Windows.
5270         Include <time.h> if !REPLACE_NL_LANGINFO.
5271         (ctype_codeset): New function, taken from rpl_nl_langinfo,
5272         and with improvements for Microsoft Windows.
5273         (rpl_nl_langinfo): Use it.
5274         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
5275         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
5276         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
5277         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
5278         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
5279         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
5280         corresponding values returned by 'localeconv'.  Compute the values
5281         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
5282         'strftime' with a suitable struct tm value.
5283
5284 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5285
5286         Bruno Haible has stepped down as maintainer.
5287         See Karl Berry in:
5288         http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00004.html
5289         Daiki Ueno has volunteered to maintain libunistring; see:
5290         http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00005.html
5291         * modules/gen-uni-tables, modules/libunistring:
5292         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
5293         * modules/unicase/base, modules/unicase/cased:
5294         * modules/unicase/empty-prefix-context:
5295         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
5296         * modules/unicase/locale-language, modules/unicase/special-casing:
5297         * modules/unicase/tocasefold, modules/unicase/tolower:
5298         * modules/unicase/totitle, modules/unicase/toupper:
5299         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
5300         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
5301         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
5302         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
5303         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
5304         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
5305         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
5306         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
5307         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
5308         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
5309         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
5310         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
5311         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
5312         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
5313         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
5314         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
5315         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
5316         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
5317         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
5318         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
5319         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
5320         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
5321         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
5322         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
5323         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
5324         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
5325         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
5326         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
5327         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
5328         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
5329         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
5330         * modules/unicase/ulc-casexfrm, modules/unicodeio:
5331         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
5332         * modules/uniconv/u16-conv-to-enc:
5333         * modules/uniconv/u16-strconv-from-enc:
5334         * modules/uniconv/u16-strconv-from-locale:
5335         * modules/uniconv/u16-strconv-to-enc:
5336         * modules/uniconv/u16-strconv-to-locale:
5337         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
5338         * modules/uniconv/u32-strconv-from-enc:
5339         * modules/uniconv/u32-strconv-from-locale:
5340         * modules/uniconv/u32-strconv-to-enc:
5341         * modules/uniconv/u32-strconv-to-locale:
5342         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
5343         * modules/uniconv/u8-strconv-from-enc:
5344         * modules/uniconv/u8-strconv-from-locale:
5345         * modules/uniconv/u8-strconv-to-enc:
5346         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
5347         * modules/unictype/bidicategory-all:
5348         * modules/unictype/bidicategory-byname:
5349         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
5350         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
5351         * modules/unictype/bidiclass-byname:
5352         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
5353         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
5354         * modules/unictype/block-all, modules/unictype/block-list:
5355         * modules/unictype/block-of, modules/unictype/block-test:
5356         * modules/unictype/category-C, modules/unictype/category-Cc:
5357         * modules/unictype/category-Cf, modules/unictype/category-Cn:
5358         * modules/unictype/category-Co, modules/unictype/category-Cs:
5359         * modules/unictype/category-L, modules/unictype/category-LC:
5360         * modules/unictype/category-Ll, modules/unictype/category-Lm:
5361         * modules/unictype/category-Lo, modules/unictype/category-Lt:
5362         * modules/unictype/category-Lu, modules/unictype/category-M:
5363         * modules/unictype/category-Mc, modules/unictype/category-Me:
5364         * modules/unictype/category-Mn, modules/unictype/category-N:
5365         * modules/unictype/category-Nd, modules/unictype/category-Nl:
5366         * modules/unictype/category-No, modules/unictype/category-P:
5367         * modules/unictype/category-Pc, modules/unictype/category-Pd:
5368         * modules/unictype/category-Pe, modules/unictype/category-Pf:
5369         * modules/unictype/category-Pi, modules/unictype/category-Po:
5370         * modules/unictype/category-Ps, modules/unictype/category-S:
5371         * modules/unictype/category-Sc, modules/unictype/category-Sk:
5372         * modules/unictype/category-Sm, modules/unictype/category-So:
5373         * modules/unictype/category-Z, modules/unictype/category-Zl:
5374         * modules/unictype/category-Zp, modules/unictype/category-Zs:
5375         * modules/unictype/category-all, modules/unictype/category-and:
5376         * modules/unictype/category-and-not, modules/unictype/category-byname:
5377         * modules/unictype/category-longname, modules/unictype/category-name:
5378         * modules/unictype/category-none, modules/unictype/category-of:
5379         * modules/unictype/category-or, modules/unictype/category-test:
5380         * modules/unictype/category-test-withtable:
5381         * modules/unictype/combining-class:
5382         * modules/unictype/combining-class-all:
5383         * modules/unictype/combining-class-byname:
5384         * modules/unictype/combining-class-longname:
5385         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
5386         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
5387         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
5388         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
5389         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
5390         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
5391         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
5392         * modules/unictype/digit, modules/unictype/joininggroup-all:
5393         * modules/unictype/joininggroup-byname:
5394         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
5395         * modules/unictype/joiningtype-all:
5396         * modules/unictype/joiningtype-byname:
5397         * modules/unictype/joiningtype-longname:
5398         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
5399         * modules/unictype/mirror, modules/unictype/numeric:
5400         * modules/unictype/property-all, modules/unictype/property-alphabetic:
5401         * modules/unictype/property-ascii-hex-digit:
5402         * modules/unictype/property-bidi-arabic-digit:
5403         * modules/unictype/property-bidi-arabic-right-to-left:
5404         * modules/unictype/property-bidi-block-separator:
5405         * modules/unictype/property-bidi-boundary-neutral:
5406         * modules/unictype/property-bidi-common-separator:
5407         * modules/unictype/property-bidi-control:
5408         * modules/unictype/property-bidi-embedding-or-override:
5409         * modules/unictype/property-bidi-eur-num-separator:
5410         * modules/unictype/property-bidi-eur-num-terminator:
5411         * modules/unictype/property-bidi-european-digit:
5412         * modules/unictype/property-bidi-hebrew-right-to-left:
5413         * modules/unictype/property-bidi-left-to-right:
5414         * modules/unictype/property-bidi-non-spacing-mark:
5415         * modules/unictype/property-bidi-other-neutral:
5416         * modules/unictype/property-bidi-pdf:
5417         * modules/unictype/property-bidi-segment-separator:
5418         * modules/unictype/property-bidi-whitespace:
5419         * modules/unictype/property-byname:
5420         * modules/unictype/property-case-ignorable:
5421         * modules/unictype/property-cased:
5422         * modules/unictype/property-changes-when-casefolded:
5423         * modules/unictype/property-changes-when-casemapped:
5424         * modules/unictype/property-changes-when-lowercased:
5425         * modules/unictype/property-changes-when-titlecased:
5426         * modules/unictype/property-changes-when-uppercased:
5427         * modules/unictype/property-combining:
5428         * modules/unictype/property-composite:
5429         * modules/unictype/property-currency-symbol:
5430         * modules/unictype/property-dash:
5431         * modules/unictype/property-decimal-digit:
5432         * modules/unictype/property-default-ignorable-code-point:
5433         * modules/unictype/property-deprecated:
5434         * modules/unictype/property-diacritic:
5435         * modules/unictype/property-extender:
5436         * modules/unictype/property-format-control:
5437         * modules/unictype/property-grapheme-base:
5438         * modules/unictype/property-grapheme-extend:
5439         * modules/unictype/property-grapheme-link:
5440         * modules/unictype/property-hex-digit:
5441         * modules/unictype/property-hyphen:
5442         * modules/unictype/property-id-continue:
5443         * modules/unictype/property-id-start:
5444         * modules/unictype/property-ideographic:
5445         * modules/unictype/property-ids-binary-operator:
5446         * modules/unictype/property-ids-trinary-operator:
5447         * modules/unictype/property-ignorable-control:
5448         * modules/unictype/property-iso-control:
5449         * modules/unictype/property-join-control:
5450         * modules/unictype/property-left-of-pair:
5451         * modules/unictype/property-line-separator:
5452         * modules/unictype/property-logical-order-exception:
5453         * modules/unictype/property-lowercase, modules/unictype/property-math:
5454         * modules/unictype/property-non-break:
5455         * modules/unictype/property-not-a-character:
5456         * modules/unictype/property-numeric:
5457         * modules/unictype/property-other-alphabetic:
5458         * modules/unictype/property-other-default-ignorable-code-point:
5459         * modules/unictype/property-other-grapheme-extend:
5460         * modules/unictype/property-other-id-continue:
5461         * modules/unictype/property-other-id-start:
5462         * modules/unictype/property-other-lowercase:
5463         * modules/unictype/property-other-math:
5464         * modules/unictype/property-other-uppercase:
5465         * modules/unictype/property-paired-punctuation:
5466         * modules/unictype/property-paragraph-separator:
5467         * modules/unictype/property-pattern-syntax:
5468         * modules/unictype/property-pattern-white-space:
5469         * modules/unictype/property-private-use:
5470         * modules/unictype/property-punctuation:
5471         * modules/unictype/property-quotation-mark:
5472         * modules/unictype/property-radical:
5473         * modules/unictype/property-sentence-terminal:
5474         * modules/unictype/property-soft-dotted:
5475         * modules/unictype/property-space:
5476         * modules/unictype/property-terminal-punctuation:
5477         * modules/unictype/property-test, modules/unictype/property-titlecase:
5478         * modules/unictype/property-unassigned-code-value:
5479         * modules/unictype/property-unified-ideograph:
5480         * modules/unictype/property-uppercase:
5481         * modules/unictype/property-variation-selector:
5482         * modules/unictype/property-white-space:
5483         * modules/unictype/property-xid-continue:
5484         * modules/unictype/property-xid-start:
5485         * modules/unictype/property-zero-width, modules/unictype/scripts:
5486         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
5487         * modules/unictype/syntax-c-whitespace:
5488         * modules/unictype/syntax-java-ident:
5489         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
5490         * modules/unigbrk/u16-grapheme-breaks:
5491         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
5492         * modules/unigbrk/u32-grapheme-breaks:
5493         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
5494         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
5495         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
5496         * modules/unigbrk/uc-is-grapheme-break:
5497         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
5498         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
5499         * modules/unilbrk/u16-width-linebreaks:
5500         * modules/unilbrk/u32-possible-linebreaks:
5501         * modules/unilbrk/u32-width-linebreaks:
5502         * modules/unilbrk/u8-possible-linebreaks:
5503         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
5504         * modules/unilbrk/ulc-possible-linebreaks:
5505         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
5506         * modules/uniname/uniname, modules/uninorm/base:
5507         * modules/uninorm/canonical-decomposition:
5508         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
5509         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
5510         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
5511         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
5512         * modules/uninorm/nfkc, modules/uninorm/nfkd:
5513         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
5514         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
5515         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
5516         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
5517         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
5518         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
5519         * modules/unistdio/base, modules/unistdio/u-printf-args:
5520         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
5521         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
5522         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
5523         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
5524         * modules/unistdio/u16-u16-sprintf:
5525         * modules/unistdio/u16-u16-vasnprintf:
5526         * modules/unistdio/u16-u16-vasprintf:
5527         * modules/unistdio/u16-u16-vsnprintf:
5528         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
5529         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
5530         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
5531         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
5532         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
5533         * modules/unistdio/u32-u32-asnprintf:
5534         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
5535         * modules/unistdio/u32-u32-sprintf:
5536         * modules/unistdio/u32-u32-vasnprintf:
5537         * modules/unistdio/u32-u32-vasprintf:
5538         * modules/unistdio/u32-u32-vsnprintf:
5539         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
5540         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
5541         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
5542         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
5543         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
5544         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
5545         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
5546         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
5547         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
5548         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
5549         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
5550         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
5551         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
5552         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
5553         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
5554         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
5555         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
5556         * modules/unistr/u16-check, modules/unistr/u16-chr:
5557         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
5558         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
5559         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
5560         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
5561         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
5562         * modules/unistr/u16-move, modules/unistr/u16-next:
5563         * modules/unistr/u16-prev, modules/unistr/u16-set:
5564         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
5565         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
5566         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
5567         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
5568         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
5569         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
5570         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
5571         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
5572         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
5573         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
5574         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
5575         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
5576         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
5577         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
5578         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
5579         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
5580         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
5581         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
5582         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
5583         * modules/unistr/u32-next, modules/unistr/u32-prev:
5584         * modules/unistr/u32-set, modules/unistr/u32-startswith:
5585         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
5586         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
5587         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
5588         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
5589         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
5590         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
5591         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
5592         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
5593         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
5594         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
5595         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
5596         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
5597         * modules/unistr/u8-check, modules/unistr/u8-chr:
5598         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
5599         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
5600         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
5601         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
5602         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
5603         * modules/unistr/u8-next, modules/unistr/u8-prev:
5604         * modules/unistr/u8-set, modules/unistr/u8-startswith:
5605         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
5606         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
5607         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
5608         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
5609         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
5610         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
5611         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
5612         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
5613         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
5614         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
5615         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
5616         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
5617         * modules/uniwbrk/base, modules/uniwbrk/table:
5618         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
5619         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
5620         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
5621         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
5622         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
5623         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
5624         * modules/uniwidth/width, modules/utf16-ucs4:
5625         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
5626         * modules/utf8-ucs4-unsafe:
5627         Change maintainer from Bruno Haible to Daiki Ueno.
5628         This is my guess at the libunistring modules; please feel free
5629         to fix if I guessed incorrectly.
5630         * modules/accept4, modules/acl, modules/acos, modules/acosf:
5631         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
5632         * modules/areadlink, modules/array-list, modules/array-mergesort:
5633         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
5634         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
5635         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
5636         * modules/binary-io, modules/bison-i18n, modules/btowc:
5637         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
5638         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
5639         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
5640         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
5641         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
5642         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
5643         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
5644         * modules/closedir, modules/concat-filename, modules/copy-file:
5645         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
5646         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
5647         * modules/csharpcomp-script, modules/csharpexec:
5648         * modules/csharpexec-script, modules/ctype, modules/diffseq:
5649         * modules/dprintf, modules/dprintf-posix, modules/dup:
5650         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
5651         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
5652         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
5653         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
5654         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
5655         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
5656         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
5657         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
5658         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
5659         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
5660         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
5661         * modules/findprog, modules/findprog-lgpl, modules/floor:
5662         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
5663         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
5664         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
5665         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
5666         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
5667         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
5668         * modules/freadable, modules/freadahead, modules/freadptr:
5669         * modules/freadseek, modules/freopen, modules/frexp:
5670         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
5671         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
5672         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
5673         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
5674         * modules/ftello, modules/full-read, modules/full-write:
5675         * modules/fwritable, modules/fwriteerror, modules/gcd:
5676         * modules/get-rusage-as, modules/get-rusage-data:
5677         * modules/getdtablesize, modules/getrusage, modules/gettext:
5678         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
5679         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
5680         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
5681         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
5682         * modules/iconv, modules/iconv-h, modules/iconv_open:
5683         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
5684         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
5685         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
5686         * modules/integer_length_ll, modules/ioctl, modules/isatty:
5687         * modules/isblank, modules/isnand, modules/isnand-nolibm:
5688         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
5689         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
5690         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
5691         * modules/javaexec, modules/javaexec-script, modules/javaversion:
5692         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
5693         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
5694         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
5695         * modules/lib-symbol-visibility, modules/libsigsegv:
5696         * modules/linked-list, modules/linkedhash-list, modules/list:
5697         * modules/localcharset, modules/locale, modules/localeconv:
5698         * modules/localename, modules/lock, modules/log, modules/log-ieee:
5699         * modules/log10, modules/log10-ieee, modules/log10f:
5700         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
5701         * modules/log1p, modules/log1p-ieee, modules/log1pf:
5702         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
5703         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
5704         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
5705         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
5706         * modules/logf, modules/logf-ieee, modules/login_tty:
5707         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
5708         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
5709         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
5710         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
5711         * modules/mbscspn, modules/mbsinit, modules/mbslen:
5712         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
5713         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
5714         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
5715         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
5716         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
5717         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
5718         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
5719         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
5720         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
5721         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
5722         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
5723         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
5724         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
5725         * modules/posix_spawn, modules/posix_spawn-internal:
5726         * modules/posix_spawn_file_actions_addclose:
5727         * modules/posix_spawn_file_actions_adddup2:
5728         * modules/posix_spawn_file_actions_addopen:
5729         * modules/posix_spawn_file_actions_destroy:
5730         * modules/posix_spawn_file_actions_init:
5731         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
5732         * modules/posix_spawnattr_getpgroup:
5733         * modules/posix_spawnattr_getschedparam:
5734         * modules/posix_spawnattr_getschedpolicy:
5735         * modules/posix_spawnattr_getsigdefault:
5736         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
5737         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
5738         * modules/posix_spawnattr_setschedparam:
5739         * modules/posix_spawnattr_setschedpolicy:
5740         * modules/posix_spawnattr_setsigdefault:
5741         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
5742         * modules/pow, modules/powf, modules/printf-frexp:
5743         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
5744         * modules/progname, modules/propername, modules/pselect:
5745         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
5746         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
5747         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
5748         * modules/read, modules/readdir, modules/readlink:
5749         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
5750         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
5751         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
5752         * modules/relocatable-script, modules/remainder:
5753         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
5754         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
5755         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
5756         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
5757         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
5758         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
5759         * modules/setlocale, modules/sh-quote, modules/shutdown:
5760         * modules/signal, modules/signbit, modules/sigpipe:
5761         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
5762         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
5763         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
5764         * modules/snippet/link-warning, modules/snippet/unused-parameter:
5765         * modules/snprintf, modules/snprintf-posix, modules/spawn:
5766         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
5767         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
5768         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
5769         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
5770         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
5771         * modules/streq, modules/strerror_r-posix, modules/striconv:
5772         * modules/striconveh, modules/striconveha, modules/strncat:
5773         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
5774         * modules/sublist, modules/sys_resource, modules/sys_utsname:
5775         * modules/sys_wait, modules/system-posix, modules/system-quote:
5776         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
5777         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
5778         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
5779         * modules/truncf, modules/truncf-ieee, modules/truncl:
5780         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
5781         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
5782         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
5783         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
5784         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
5785         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
5786         * modules/wait-process, modules/waitpid, modules/wcpcpy:
5787         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
5788         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
5789         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
5790         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
5791         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
5792         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
5793         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
5794         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
5795         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
5796         * modules/write, modules/xconcat-filename, modules/xlist:
5797         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
5798         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
5799         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
5800         * modules/y0, modules/y1, modules/yn:
5801         Remove Bruno Haible as maintainer; if he's the sole maintainer,
5802         change the maintainer to 'all'.  Let's hope someone volunteers.
5803
5804 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
5805
5806         mktime: merge #if/#ifdef usage from glibc
5807         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
5808         as that works with both Glibc's and Gnulib's style.
5809         See thread starting at Siddhesh Poyarekar's bug report at:
5810         http://lists.gnu.org/archive/html/bug-gnulib/2014-06/msg00102.html
5811
5812 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
5813
5814         git-version-gen: improve option descriptions
5815         * build-aux/git-version-gen: Mention that --prefix and --fallback
5816         have a mandatory argument.
5817
5818 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
5819
5820         regex: fix memory leak in compiler
5821         Fix by Andreas Schwab in:
5822         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
5823         * lib/regcomp.c (parse_expression): Deallocate partially
5824         constructed tree before returning error.
5825
5826         regex: merge patch from libc
5827         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
5828         Combine __USE_BSD and __USE_SVID into __USE_MISC.
5829         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
5830
5831 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
5832
5833         acl: port to gcc -Wredundant-decls
5834         From a request by Dmitry Antipov in:
5835         http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html
5836         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
5837         "#ifndef _GL_ACL_H".
5838
5839 2014-06-11  Bruce Korb  <bkorb@gnu.org>
5840         Jim Meyering  <meyering@fb.com>
5841
5842         parse-duration: eliminate 68-year duration limit
5843         * lib/parse-duration.c: Include "intprops.h".
5844         (TIME_MAX): Rename to MAX_DURATION and define to
5845         TYPE_MAXIMUM(time_t).
5846         * modules/parse-duration (Depends-on): Add intprops.
5847         Reported by Jonas 'Sortie' Termansen.
5848
5849 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
5850
5851         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
5852         * modules/pthread (Depends-on): Add 'extensions', as it defines
5853         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
5854         (configure.ac-early): New section.
5855         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
5856         it is no longer needed.
5857
5858 2014-06-14  Pádraig Brady  <P@draigBrady.com>
5859
5860         pthread: define thread-safe macros on some platforms
5861         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
5862         for thread-safe operation on some platforms.
5863
5864 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
5865
5866         regex: don't be multithreaded if USE_UNLOCKED_IO.
5867         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
5868         * lib/regex_internal.h: Do not use multithreaded version if
5869         USE_UNLOCKED_IO is defined.  This is a hack, but it works
5870         around a porting bug with coreutils 8.22 on AIX 7.1.
5871
5872 2014-06-11  Daiki Ueno  <ueno@gnu.org>
5873
5874         gettext: update macros to version 0.19
5875         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
5876         depend on gl_EXTERN_INLINE and drop support for older Bison
5877         versions.
5878
5879 2014-06-10  Pádraig Brady  <P@draigBrady.com>
5880
5881         select,poll: fix console handle check on windows 8
5882         lib/poll.c (IsConsoleHandle): Change from testing the lower
5883         2 bits of the handle to the more expensive but accurate syscall.
5884         lib/select.c: Likewise.
5885
5886 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
5887
5888         select: fix waiting on anonymous pipes on MS-Windows
5889         * lib/select.c (rpl_select): Fall back to polling when select()
5890         indicates there is nothing to check, while due to the timeout not
5891         expiring, activity is indicated on one of the handles.
5892         Also clear the TIMEOUT argument if the timer does expire.
5893
5894 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
5895
5896         times: fix to return non constant value on MS-Windows
5897         * lib/times.c (times): Don't use the process creation time,
5898         rather clock() which on windows returns the number of
5899         clock ticks since the process started.
5900
5901 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
5902
5903         isatty: fix to work on windows 8
5904         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
5905         2 bits of the handle to the more expensive but accurate syscall.
5906
5907 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
5908
5909         maint: fix typo in fdl.texi
5910         * doc/fdl.texi: Fix typo (missing '@').
5911         Somehow this was in fdl.texi but not fdl-1.3.texi.
5912
5913 2014-06-06  Ben Walton  <bdwalton@gmail.com>
5914
5915         mountlist: avoid hasmntopt const type warning on solaris
5916         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
5917         with char * instead of const char *.  Passing the constant string
5918         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
5919         to avoid the warning.
5920
5921 2014-06-04  Eric Blake  <eblake@redhat.com>
5922
5923         maintainer-makefile: delete obsolete code
5924         * top/maint.mk (build_aux): Drop old code, as threatened.
5925
5926         maintainer-makefile: avoid spurious error messages
5927         * top/maint.mk (syntax-check): Guard definition and use of
5928         $(shell) by whether Makefile is present.
5929
5930 2014-06-03  Ben Walton  <bdwalton@gmail.com>
5931
5932         rename: avoid unused-but-set-variable compiler warning
5933         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
5934         it is possible that dst_exists may be set but not used.  Mark it with
5935         the unused attribute to avoid compiler warnings.
5936
5937 2014-06-02  Ben Walton  <bdwalton@gmail.com>
5938
5939         rename: mark a label as potentially unused
5940         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
5941         by marking the out label as potentially unused.
5942         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
5943
5944 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5945
5946         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
5947         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
5948
5949 2014-06-02  Ben Walton  <bdwalton@gmail.com>
5950
5951         acl: apply pure attribute to two functions
5952         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
5953         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
5954
5955 2014-06-01  Pádraig Brady  <P@draigBrady.com>
5956
5957         gnulib-common.m4: add _GL_UNUSED_LABEL
5958         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
5959         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
5960
5961 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
5962
5963         dup2, fcntl, fcntl-h: port to AIX 7.1
5964         This fixes some porting problems discovered when testing the latest
5965         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
5966         in grep but it could be important for other applications.
5967         * doc/posix-functions/dup2.texi:
5968         * doc/posix-functions/fcntl.texi:
5969         * doc/posix-headers/fcntl.texi:
5970         Document AIX bugs.
5971         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
5972         Define to 0 if outside 'int' range.
5973         * m4/dup2.m4 (gl_FUNC_DUP2):
5974         * m4/fcntl.m4 (gl_FUNC_FCNTL):
5975         Check for getdtablesize.  If it's available, test a value just
5976         outside its range instead of testing 1000000.  When cross-compiling,
5977         guess that AIX will fail this improved test.
5978
5979 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
5980
5981         printf, config.rpath: Port to FreeBSD 10.
5982         Problem reported by Tijl Coosemans in:
5983         http://lists.gnu.org/archive/html/bug-gnulib/2014-05/msg00078.html
5984         * build-aux/config.rpath (hardcode_libdir_flag_spec)
5985         (hardcode_direct): Simplify FreeBSD configuration.
5986         (library_names_spec): Don't mishandle FreeBSD 10+.
5987         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
5988         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
5989         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
5990         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
5991         Don't mishandle FreeBSD 10+ when cross-compiling.
5992
5993         ftoastr: work around compiler bug in IBM xlc 12.1
5994         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
5995         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
5996         around a compiler bug in IBM xlc 12.1.0.0: it complains
5997         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
5998         _GL_FLT_PREC_BOUND.'
5999
6000 2014-05-30  Kieran Colford  <colfordk@gmail.com>
6001
6002         valgrind-tests: fixed misleading help message
6003         * m4/valgrind-tests.m4: The help message generated by configure
6004         implied that valgrind was disabled by default, which it wasn't.
6005         Adjusted the help message using s/enable/disable/ to clarify.
6006
6007 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
6008
6009         isfinite, isinf, isnan tests: fix for little-endian PowerPC
6010         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
6011         first double of a PowerPC "double double" pair.
6012         * tests/test-isinf.c (test_isinfl): Likewise.
6013         * tests/test-isnan.c (test_long_double): Likewise.
6014         * tests/test-isnanl.h (main): Likewise.
6015         * tests/test-signbit.c (test_signbitl): Likewise.
6016
6017 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
6018
6019         exclude-tests: port to AIX 7.1
6020         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
6021         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
6022         the regex code uses locks.
6023
6024 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
6025
6026         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
6027         Without this fix, Emacs would sometimes call sigprocmask instead
6028         of pthread_sigmask, which is a no-no in multithreaded applications.
6029         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
6030         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
6031         Suppress check for pthread_sigmask working without -lpthread if
6032         the application always links with -lpthread.  Do not link with
6033         $LIBMULTITHREAD if gl_THREADLIB is not defined.
6034         * m4/timer_time.m4 (gl_TIMER_TIME):
6035         Require gl_THREADLIB only if it is defined.  Do not append
6036         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
6037
6038 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
6039
6040         gnulib-tool: wget translations using --no-verbose rather than --quiet
6041         This allows the user to see error messages if any (--quiet hides them)
6042         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
6043
6044 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
6045
6046         gnulib-tool: adjust translation wget to avoid a https redirection
6047         Context: http://translationproject.org/latest/gnulib redirects to
6048            https://translationproject.org/latest/gnulib/
6049         Rationale: if the user falls back to wget, she doesn't have rsync and
6050         is probably in a minimal build environment, where packages such as
6051         'ca-certificates' are missing as well, resulting in a failed (and
6052         difficult to detect since ignored) translation initial fetch.
6053         Consequently let's avoid https if possible, and add the missing
6054         trailing slash.  This also avoids an unnecessary 302 redirection.
6055         * gnulib-tool: Add trailing slash to gnulib URL.
6056
6057 2014-05-22  Pádraig Brady  <P@draigBrady.com>
6058
6059         getlogin_r-tests: check return value rather than errno
6060         * tests/test-getlogin_r.c (main): As per POSIX we should be
6061         verifying the return value from getlogin_r() rather than errno.
6062
6063 2014-05-22  Pádraig Brady  <P@draigBrady.com>
6064
6065         getlogin_r-tests: fix various issues in recent change
6066         * tests/test-getlogin_r.c: Include required headers that were
6067         missed in recent commit eec20b4e.
6068         Also consistently check the errno rather than the return value from
6069         getlogin_r as POSIX only specifies that non zero is returned on error.
6070         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
6071
6072 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
6073
6074         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
6075         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
6076         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
6077         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
6078         * lib/spawn-pipe.c:
6079         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
6080         and then 'int open64(const char *, int, ...);', which means the
6081         declaration for 'open' gets lost if we later '#undef open'.
6082         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
6083         where the compilation reported the non-fatal error "In function
6084         'openat_proc_name' ... warning: implicit declaration of function
6085         'open'".  In this case the error is relatively harmless, but in
6086         other cases it might not be so minor.
6087
6088 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
6089
6090         xalloc: don't potentially generate invalid code for xmemdup calls
6091         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
6092         this function can initialize the newly-allocated storage with new
6093         pointers, which means this function is not malloc-like.  See:
6094         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
6095
6096 2014-05-19  Pádraig Brady  <P@draigBrady.com>
6097
6098         getlogin_r-tests: avoid false failure under sudo/ssh etc.
6099         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
6100         changes from commit 97249cf29 to not depend on environment variables.
6101
6102 2014-05-18  Pádraig Brady  <P@draigBrady.com>
6103
6104         getlogin-tests: avoid false failure under cron
6105         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
6106         since that's not what's under test.  Centos 6 was seen to return
6107         EINVAL for ttyname() when run from cron.
6108
6109 2014-05-16  Jim Meyering  <meyering@fb.com>
6110
6111         mbrtowc.m4: fix a comment typo
6112         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
6113         emitted documentation string.
6114
6115 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6116
6117         mbrlen, mbrtowc: fix bug with empty input
6118         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
6119         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
6120         so this is mainly for documentation.
6121         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
6122         (gl_FUNC_MBRTOWC): Use it.
6123         * tests/test-mbrtowc.c (main): Test for the bug.
6124
6125 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
6126
6127         doc: document mbrtowc and mbrlen problem with empty input
6128         * doc/posix-functions/mbrlen.texi (mbrlen):
6129         * doc/posix-functions/mbrtowc.texi (mbrtowc):
6130         Document portability problem when the input string is empty.  See:
6131         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
6132
6133         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
6134         Problem reported by Eli Zaretskii in:
6135         http://lists.gnu.org/archive/html/bug-grep/2014-05/msg00118.html
6136         * doc/posix-functions/execl.texi (execl):
6137         * doc/posix-functions/execle.texi (execle):
6138         * doc/posix-functions/execlp.texi (execlp):
6139         * doc/posix-functions/execv.texi (execv):
6140         * doc/posix-functions/execve.texi (execve):
6141         * doc/posix-functions/execvp.texi (execvp):
6142         Mention spawn+exit problem on non-Cygwin Windows platforms.
6143
6144 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
6145
6146         getlogin-tests: avoid false failure under sudo/ssh etc.
6147         * modules/getlogin-tests (configure.ac): Check for ttyname().
6148         * tests/test-getlogin.c (main): Don't depend on environment variables
6149         to correlate with getlogin(), since sudo and ssh etc. can tamper
6150         with the LOGNAME and USER env vars.  Instead lookup the name from
6151         the uid associated with the stdin tty.
6152
6153 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6154
6155         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
6156         These were found when building the latest grep snapshot on IRIX 6.5.
6157         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
6158         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
6159         never used later.
6160         * lib/quotearg.c (quoting_options_from_style):
6161         * lib/xstrtol.c (__xstrtol):
6162         Use enum instead of 0, to pacify IRIX 6.5 cc.
6163
6164 2014-04-18  Pádraig Brady  <P@draigBrady.com>
6165
6166         gitlog-to-changelog: revert inclusion of git-log-fix file
6167         * build-aux/git-log-fix: Delete dummy file.
6168         * modules/gitlog-to-changelog: Don't reference (overwrite)
6169         the project specific git-log-fix file.
6170
6171 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
6172
6173         maint.mk: Relax the copyright check to cater for non FSF projects
6174         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
6175         to not require the "Free" suffix after the copyright years.
6176
6177 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
6178
6179         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
6180         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
6181         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
6182         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
6183         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
6184
6185 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
6186
6187         exclude: port to strict C99
6188         Strict C does not allow converting a function pointer to void *
6189         and vice versa.  Pass a pointer to a function pointer instead.
6190         * lib/exclude.c (add_exclude_file):
6191         Pass the address of the function pointer.
6192         (call_addfn): And deference the address here, to match.
6193
6194 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
6195
6196         regex: do not depend on malloc-gnu
6197         * modules/regex (Depends-on): Remove malloc-gnu.
6198         It's no longer needed, because of the 2012-12-29 patch
6199         "regex: port to hosts where malloc (0) == NULL".
6200         Reported by Nathan Kennedy in:
6201         http://lists.gnu.org/archive/html/bug-gnulib/2014-04/msg00026.html
6202
6203 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
6204
6205         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
6206         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
6207         * doc/posix-functions/expl.texi: Mention the workaround.
6208
6209 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
6210
6211         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
6212         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
6213         size to be zero even when the pointer is nonnull.  This
6214         accommodates the use case where P is malloc (0) and *PN is 0 on a
6215         host where malloc (0) yields nonnull.
6216
6217 2014-04-09  Eric Blake  <eblake@redhat.com>
6218
6219         fts: avoid unnecessary strlen calls
6220         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
6221
6222 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
6223
6224         fts: avoid unnecessary strlen calls
6225         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
6226         when that can be faster than strlen.
6227
6228 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
6229
6230         fts: avoid unnecessary strlen calls
6231         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
6232         (fts_build): Store the length of the dp->d_name entry in a local variable
6233         instead of calling strlen() several times via the above, removed macro.
6234         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
6235         run by ~4%, yet this reduces the execution time by about a third if run
6236         via "ltrace -c rm -rf some-dir".
6237
6238 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
6239
6240         obstack: Remove ancient NeXTSTEP gcc support conditional
6241         This change will ease merging with glibc.  The "#if ... __NEXT__"
6242         causes a warning with -Wundef which glibc now enables by default.
6243         Problem reported by Will Newton in
6244         <http://lists.gnu.org/archive/html/bug-gnulib/2014-03/msg00032.html>.
6245         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
6246         so go with that.
6247         * lib/obstack.h (__extension__):
6248
6249 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
6250
6251         obstack: merge with glibc changes
6252         * lib/obstack.c, lib/obstack.h: Merge from glibc.
6253         This is mostly indenting and commentary changes.
6254         Instances of 'register' have been removed.
6255
6256 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
6257
6258         strftime: wrap macros in "do {...} while(0)"
6259         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
6260         this macro in "do {...} while(0)" to prevent false use as a
6261         single statement, e.g., in an un-braced "{}" else-block.
6262         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
6263         (strftime_case_): Remove 'else' after 'goto' - which was the
6264         only non-fatal, un-braced use of one of the above macros.
6265         Spotted by coverity (NESTING_INDENT_MISMATCH).
6266
6267 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
6268
6269         modechange: avoid memory leaks for invalid octal modes
6270         * lib/modechange.c (mode_compile): During the parsing of
6271         notations like +40, free the 'mc' buffer for invalid mode
6272         strings like +17777 (greater than the maximum octal mode),
6273         =18 (bad octal mode characters) or u=1 ('affected' with
6274         octal modes).
6275         Reproducer, e.g.:
6276             $ valgrind --leak-check=full chmod +17777 file
6277         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
6278         add notations +40, 00440, etc.".
6279         Spotted by coverity (RESOURCE_LEAK).
6280
6281 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
6282
6283         gitlog-to-changelog: include a dummy git-log-fix file
6284         Problem reported by Nathan Stratton Treadway in:
6285         http://lists.gnu.org/archive/html/bug-tar/2014-03/msg00082.html
6286         * build-aux/git-log-fix: New file.
6287
6288 2014-03-13  Jim Meyering  <meyering@fb.com>
6289
6290         gitlog-to-changelog: also include the file, git-log-fix
6291         * modules/gitlog-to-changelog (Files): Add git-log-fix.
6292         Reported by Assaf Gordon.
6293
6294 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6295
6296         regex: port to OS X 10.8.5 en_US.UTF-8 locale
6297         This fixes a bug when ignoring case and when comparing the
6298         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
6299         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
6300         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
6301         titlecase letter is neither lowercase nor uppercase, but
6302         uppercasing the titlecase letter (via towupper) yields the
6303         uppercase letter, so the two letters should match when ignoring case.
6304         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
6305         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
6306         Don't test whether a character is lowercase before uppercasing it.
6307
6308 2014-03-04  Kevin Cernekee <cernekee@gmail.com>
6309
6310         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
6311         This is basically one of the options Bruno Haible proposed in:
6312         http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00282.html
6313         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
6314         * lib/stdint.in.h: Use it.
6315         * modules/stdint (Depends-on): Add sys_types.
6316
6317 2014-02-26  Pádraig Brady <P@draigBrady.com>
6318
6319         parse-datetime: fix crash or infloop in TZ="" parsing
6320         * lib/parse-datetime.y (parse_datetime): Break out of the
6321         TZ="" parsing loop once the second significant " is found.
6322         Also skip over any subsequent whitespace to be consistent
6323         with the non TZ= case.
6324         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
6325
6326 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
6327
6328         savedir: new symbol for fast-read version
6329         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
6330         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
6331         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
6332         http://lists.gnu.org/archive/html/coreutils/2014-02/msg00037.html
6333
6334 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
6335
6336         unistd: port readlink to Mac OS X 10.3.9
6337         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
6338         around self-include problem in Mac OS X 10.3.9 when combined with
6339         readlink module.  Problem reported by Klaus Zietler in
6340         <http://bugs.gnu.org/16825>.
6341
6342 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
6343
6344         diffseq: remove TOO_EXPENSIVE heuristic
6345         Problem with diffutils reported by Vincent Lefevre in
6346         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
6347         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
6348         Although appropriate for circa-1993 hardware, these days the heuristic
6349         seems to be more trouble than it's worth.
6350         * lib/diffseq.h: Modernize citations.
6351         (struct context): Remove member too_expensive.
6352         All uses changed.
6353         (struct partition): Remove members lo_minimal, hi_minimal.
6354         All uses changed.
6355         (diag, compareseq): Remove arg find_minimal.  All uses changed.
6356         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
6357         1993 to make 'diff' run faster (but not as well) on large inputs.
6358         These days, computers are fast enough that it's typically better
6359         to run slower but more accurately.
6360         * lib/fstrcmp.c: Remove duplicate comment.
6361         * lib/fstrcmp.c (strcmp_bounded):
6362         * lib/git-merge-changelog.c (compute_differences):
6363         Adjust to diffseq.h changes.
6364         * NEWS: Document the change.
6365
6366         savedir: simplify by using stpcpy
6367         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
6368         (streamsavedir): Use stpcpy instead.
6369         * modules/savedir (Depends-on): Add stpcpy.
6370
6371 2014-02-21  Pádraig Brady <P@draigBrady.com>
6372
6373         spawn: fix link error on uclibc
6374         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
6375         to incorporate -lrt if needed (on uclibc for example).
6376         * modules/posix_spawn: Reference the substituted LIB.
6377
6378 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
6379         timer: fix uClibc detection of threading
6380         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
6381         enabled in uClibc.
6382
6383 2014-02-21  Eric Blake  <eblake@redhat.com>
6384
6385         maintainer-makefiles: provide AC_PROG_SED for older autoconf
6386         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
6387
6388 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
6389
6390         exclude: add support for posix regexps
6391
6392         This commit adds support for POSIX extended regular expressions
6393         and fixes a long-standing memory leak (pattern buffer was never
6394         freed).  It also implements a new interface function to read
6395         exclude patterns from a FILE, which passes an additional parameter
6396         to its callback function, thereby allowing to preserve its state
6397         between invocations.
6398
6399         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
6400         (pattern_buffer): New struct.
6401         (exclude): New member patbuf.
6402         (exclude_add_pattern_buffer): New function.
6403         (free_exclude_segment): Free regexps.
6404         (free_exclude): Free allocated pattern buffers.
6405         (exclude_patopts): New function.
6406         (file_pattern_matches): Use exclude_patopts.
6407         (add_exclude): support regexps.
6408         (add_exclude_fp): New function.
6409         (add_exclude_file): Rewrite using add_exclude_fp.
6410         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
6411         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
6412         (add_exclude_fp)
6413         (add_exclude_file): Rewrite using add_exclude_fp.
6414         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
6415         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
6416         (add_exclude_fp)
6417         (exclude_add_pattern_buffer): New prototypes.
6418         * modules/exclude: Depends on regex and filename.
6419
6420 2014-02-20  Eric Blake  <eblake@redhat.com>
6421
6422         maintainer-makefiles: use $(SED) for syntax check
6423         * modules/maintainer-makefile (configure.ac): Check for sane sed.
6424         * top/maint.mk: Change sed to $(SED).
6425
6426 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
6427             Paul Eggert  <eggert@cs.ucla.edu>
6428
6429         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
6430         Patch based on an idea by Dick Streefland in
6431         <https://savannah.gnu.org/patch/?7892>.
6432         * NEWS: Document this.
6433         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
6434         (direntry_t, comparison_function): New types.
6435         (direntry_cmp_name): New function.
6436         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
6437         (streamsavedir, savedir): New arg OPTION.
6438         (streamsavedir): Simplify memory allocation.
6439         (fdsavedir): Remove.
6440         * lib/savedir.h (enum savedir_option): New type.
6441         (streamsavedir, savedir): New arg OPTION.
6442         (fdsavedir): Remove.
6443
6444 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
6445
6446         file-type: add support for doors and other less-common file types
6447         Problem with S_ISDOOR reported by Rich Burridge.
6448         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
6449         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
6450         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
6451
6452 2014-01-23  Eric Blake  <eblake@redhat.com>
6453
6454         pthread: work around winpthread header pollution on mingw
6455         * lib/time.in.h: Move pthread workarounds...
6456         * lib/pthread.in.h: ...here.
6457         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
6458         detect macro pollution on mingw.
6459         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
6460
6461 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
6462
6463         qacl: check for fchmod
6464         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
6465         and qset-acl.c both use HAVE_FCHMOD.
6466
6467 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
6468
6469         fdopen-tests: port to Tru64
6470         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
6471         descriptor that is not open, as POSIX doesn't specify the
6472         resulting behavior and the test does not work on Tru64.
6473         Problem reported by Steven M. Schweda in:
6474         http://lists.gnu.org/archive/html/bug-gnulib/2014-01/msg00079.html
6475
6476         stdalign: port to HP-UX compilers
6477         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
6478         if __HP_cc or __HP_aCC are nonzero.
6479
6480 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
6481
6482         strtoimax: port to platforms lacking 'long long'
6483         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
6484         check whether strtoll is declared, which causes the C file to
6485         wrongly report an error.  Problem reported by Steven M. Schweda in:
6486         http://lists.gnu.org/archive/html/bug-diffutils/2014-01/msg00003.html
6487         * lib/strtoimax.c (strtoull):
6488         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
6489         (strtoll): Declare only if HAVE_LONG_LONG_INT.
6490
6491 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
6492
6493         relocatable-perl: fix texi syntax
6494         * doc/relocatable-maint.texi: Escape braces.
6495
6496 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
6497
6498         relocatable-perl: like relocatable-script, but for Perl scripts
6499         * build-aux/relocatable.pl.in: Add.
6500         * doc/relocatable-maint.texi: Add documentation.
6501         * modules/relocatable-perl: Add.
6502
6503 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
6504
6505         tests: fix export bug in previous patch
6506         Problem reported by Jim Meyering.
6507         * tests/init.sh (re_shell): New var, which is exported instead of
6508         re_shell_.
6509
6510         tests: simplify porting to Solaris 10 /bin/sh
6511         Some test cases in 'grep' need a shell that groks '$(';
6512         export re_shell_ for their benefit.  Problem reported for 'grep'
6513         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
6514         * tests/init.sh (re_shell_): Export if it's used.
6515
6516 2014-01-06  Eric Blake  <eblake@redhat.com>
6517
6518         md5, sha1, sha256, sha512: support older autoconf
6519         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
6520         for autoconf < 2.63b.
6521
6522         include_next: port to autoconf 2.63
6523         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
6524
6525 2014-01-04  Jim Meyering  <meyering@fb.com>
6526
6527         maint: add a gnulib-local rule to keep non-ascii out of .texi files
6528         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
6529         so that "make sc_maint" will ding anyone who puts non-ascii
6530         in any of gnulib's .texi files.
6531
6532 2014-01-03  Jim Meyering  <meyering@fb.com>
6533
6534         freadable, fwritable, fwriting: declare with the "pure" attribute
6535         * lib/freadable.h (freadable): Declare with the "pure" attribute.
6536         * lib/fwritable.h (fwritable): Likewise.
6537         * lib/fwriting.h (fwriting): Likewise.
6538         Suggested by Bruno Haible.
6539
6540         maint.mk: adapt openat.h-include-without-use test
6541         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
6542         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
6543         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
6544         With this change, running "make sc_maint" in gnulib's top-level
6545         directory now passes for me.
6546
6547 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
6548
6549         doc: use ASCII in .texi files where UTF-8 isn't needed
6550         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
6551         * doc/posix-functions/setkey.texi, doc/regex.texi:
6552         Use ASCII input, not UTF-8.
6553
6554 2014-01-02  Jim Meyering  <meyering@fb.com>
6555
6556         freading: declare with the "pure" attribute
6557         * lib/freading.h (freading): Declare with the "pure" attribute.
6558
6559         manywarnings: remove -Wmudflap
6560         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
6561         it is no longer supported in gcc-4.9-to-be.
6562
6563 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
6564
6565         relocatable-script: remove unused code
6566         Problem reported by Reuben Thomas in:
6567         http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00117.html
6568         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
6569
6570 2014-01-01  Jim Meyering  <meyering@fb.com>
6571
6572         maint: fix public-submodule-commit to work with newer git
6573         * top/maint.mk (public-submodule-commit): Remove excess quoting.
6574         We were over-quoting the test arguments, and somewhere prior to
6575         version 1.8.5.2.229, git stopped removing those excess quotes,
6576         which made the test fail, since the unexpanded strings would
6577         always differ; using GIT_TRACE=1 confirmed that the git merge-base
6578         command wasn't even being run.
6579
6580 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
6581
6582         doc: update main copyright year
6583         * doc/gnulib.texi: Update copyright date.
6584
6585 2014-01-01  Eric Blake  <eblake@redhat.com>
6586
6587         version-etc: new year
6588         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
6589         * all files: run 'make update-copyright'
6590
6591 2013-12-24  Eric Blake  <eblake@redhat.com>
6592
6593         passfd: give nicer error for recvfd at eof
6594         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
6595         * tests/test-passfd.c (main): Enhance test to cover this.
6596
6597 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
6598
6599         gettimeofday: port recent C++ fix to Emacs
6600         Without this further patch, Emacs won't build due to
6601         the portcheck failing.  Also, this simplifies the patch a bit.
6602         * lib/time.in.h (localtime, gmtime): Don't replace unless
6603         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
6604         * lib/time.in.h (localtime, gmtime):
6605         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
6606         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
6607         * modules/time (time.h):
6608         Don't worry about about the possibility of localtime and gmtime
6609         being absent; they're present in all C libraries we know about.
6610         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
6611         Don't assume sys_time is present and has been initialized.
6612         Instead, use a hack that should work even if it hasn't been.
6613         Don't use a portcheck for gmtime or localtime; this supports
6614         the hack.
6615         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
6616
6617 2013-12-17  John W. Eaton  <jwe@gnu.org>
6618
6619         gettimeofday: fix C++ crosscompilation
6620
6621         Never replace gmtime and localtime by macros when compiling with
6622         C++, this prevents <ctime> from being included.
6623
6624         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
6625         define gmtime and localtime as preprocessor macros.  Instead
6626         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
6627         REPLACE_LOCALTIME substitutions.
6628         * lib/time.in.h: Declare gmtime and localtime when needed.
6629         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
6630         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
6631         * modules/time: Depend on gettimeofday, and substitute the above
6632         variables in time.h.
6633
6634 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
6635
6636         qacl: port to Windows better
6637         See Eli Zaretskii in
6638         <http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00593.html>.
6639         * lib/file-has-acl.c (acl_access_nontrivial):
6640         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
6641         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
6642
6643 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
6644
6645         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
6646         * lib/gl_openssl.h: Cast void pointers to a specific type.
6647
6648 2013-12-07  Pádraig Brady <P@draigBrady.com>
6649
6650         open-tests: fix build failure with -Werror=old-style-declaration
6651         * tests/test-open.h: Reorder the inline to avoid the issue.
6652
6653 2013-12-07  Pádraig Brady <P@draigBrady.com>
6654
6655         md5, sha1, sha256, sha512: fix link error with partial libcrypto
6656         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
6657         init time, so that if early checks find crypto routines,
6658         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
6659         avoiding link failures.
6660
6661 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
6662
6663         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
6664         This provides a new way to specify the default for
6665         gl_CRYPTO_CHECK, one that is reflected in the --help message.
6666         Emacs uses this, as well as the old way.
6667         This attempts to implement a suggestion by Pádraig Brady in
6668         <http://lists.gnu.org/archive/html/coreutils/2013-12/msg00080.html>.
6669         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
6670         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
6671
6672         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
6673         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
6674         Add support for a new option, --with-openssl=auto, which causes
6675         the library to be used if available and silently ignored if not.
6676         Add support to allow allow configure.ac to specify its own
6677         default, by setting with_openssl_default before invoking gl_INIT.
6678
6679 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
6680
6681         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
6682         Problem reported by Daiki Ueno in:
6683         http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00052.html
6684         * tests/test-open.h (__always_inline):
6685         New macro, if not already defined.
6686         (test_open): Use it.
6687
6688 2013-12-04  Eric Blake  <eblake@redhat.com>
6689
6690         include_next: minimize code duplication
6691         * modules/include_next (Depends-on): Add absolute-header.
6692         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
6693         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
6694
6695 2013-12-04  Pádraig Brady <P@draigBrady.com>
6696
6697         getcwd: fix compile error in configure check
6698         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
6699
6700 2013-12-04  Pádraig Brady <P@draigBrady.com>
6701
6702         regex: suppress core dumps from detection code
6703         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
6704         to suppress core dumps that may well occur on glibc systems.
6705         These core dumps might not be cleaned up automatically, or could
6706         trigger some system core dump handling logic.
6707
6708 2013-12-03  Pádraig Brady <P@draigBrady.com>
6709
6710         md5, sha1, sha256, sha512: support mandating use of openssl
6711         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
6712         description, to list the now 3 separate options.  also don't
6713         mention the default=no, since this is implicit given the option
6714         is described as --with-openssl rather than --without-openssl.
6715         If projects change the default they're free to document that.
6716         with --with-openssl[=yes] we now error out when the specified
6717         hash algorithm is not available in libcrypto.
6718
6719 2013-12-03  Ivailo  <xakepa10@gmail.com>
6720
6721         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
6722         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
6723         -Wformat-nonliteral checks, as these edge cases are part of the test.
6724
6725 2013-12-03  Eric Blake  <eblake@redhat.com>
6726
6727         regex: avoid glibc deadlock during configure
6728         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
6729         glibc bug 15078 in turn triggers bug 16159.
6730         Reported by Michal Privoznik.
6731
6732 2013-12-02  Pádraig Brady <P@draigBrady.com>
6733
6734         md5, sha1, sha256, sha512: use openssl routines if available.
6735         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
6736         routines will be used if available, requiring apps to link @LIB_CRYPTO@
6737         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
6738         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
6739         in the standard system location.
6740         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
6741         * m4/sha256.m4: Likewise with SHA256.
6742         * m4/sha512.m4: Likewise with SHA512.
6743         * m4/md5.m4: Likewise with MD5.
6744         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
6745         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
6746         * lib/sha256.h: Likewise with SHA256.
6747         * lib/sha512.h: Likewise with SHA512.
6748         * lib/md5.h: Likewise with MD5.
6749         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
6750         * lib/sha256.c: Likewise with SHA256.
6751         * lib/sha512.c: Likewise with SHA512.
6752         * lib/md5.c: Likewise with MD5.
6753         * modules/crypto/sha1 (Link:): Add the new optional lib.
6754         (Depends-on:): Add dependency on extern-inline.
6755         * modules/crypto/sha256: Likewise.
6756         * modules/crypto/sha512: Likewise.
6757         * modules/crypto/md5: Likewise.
6758         * modules/crypto/sha1-tests: Reference the lib here too.
6759         * modules/crypto/md5-tests: Likewise.
6760         * modules/crypto/gc-des-tests: Likewise.
6761         * modules/crypto/gc-hmac-md5-tests: Likewise.
6762         * modules/crypto/gc-hmac-sha1-tests: Likewise.
6763         * modules/crypto/gc-hmac-sha256-tests: Likewise.
6764         * modules/crypto/gc-hmac-sha512-tests: Likewise.
6765         * modules/crypto/gc-md5-tests: Likewise.
6766         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
6767         * modules/crypto/gc-sha1-tests: Likewise.
6768         * modules/crypto/gc-tests: Likewise.
6769         * modules/crypto/hmac-md5-tests: Likewise.
6770         * modules/crypto/hmac-sha1-tests: Likewise.
6771         * modules/crypto/hmac-sha256-tests: Likewise.
6772         * modules/crypto/hmac-sha512-tests: Likewise.
6773
6774 2013-11-29  RV1971  <rv1971@web.de>
6775
6776         base64: (trivial) fix compilation regression on some compilers
6777         * lib/base64.c: Don't return the void function,
6778         instead split to a separate return statement.
6779
6780 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
6781
6782         ignore-value: revert previous code change
6783         * lib/ignore-value.h (ignore_value): Use __extension__ and
6784         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
6785         <http://lists.gnu.org/archive/html/bug-gnulib/2013-11/msg00102.html>.
6786         Change the comment to try to explain this better.
6787
6788 2013-11-27  Pádraig Brady <P@draigBrady.com>
6789
6790         selinux-h: improve stub types and add more stub functions
6791
6792         * lib/se-selinux.in.h: Change security_context_t to a typedef
6793         rather than a define, as it's a pointer type and so is better
6794         as a typedef to avoid issues declaring multiple variables
6795         with the comma operator.  Also add stub for string_to_security_class().
6796         * lib/se-context.in.h: Add stub functions for
6797         context_{type,range,role,user}_get().
6798
6799 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
6800
6801         ignore-value: prefer GCC version back through 2.0
6802         The code didn't match the comments, so I did a bit of software
6803         archaeology.  GCC 2.0 seems to support __extension__ and
6804         __typeof__, so fix both code and comments to use 2.0.
6805         * lib/ignore-value.h (ignore_value): Use __extension__ and
6806         __typeof__ for GCC 2.0 through 3.3, too.
6807
6808 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
6809
6810         pty: Activate the signature wrapper of forkpty.
6811         The intended preprocessor macro HAVE_FORKPTY is
6812         never defined, yet `lib/forkpty.c' depends on it.
6813
6814         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
6815         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
6816         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
6817
6818 2013-11-18  Jim Meyering  <meyering@fb.com>
6819         and Paul Eggert  <eggert@cs.ucla.edu>
6820
6821         quotearg: don't attempt to store 1 << 31 into an "int"
6822         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
6823         gcc's new -fsanitize=undefined and running its tests triggered some
6824         new test failures due to undefined behavior, all with this diagnostic:
6825           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
6826             cannot be represented in type int
6827         Rather than shifting "1" left to form a mask, shift the bits right and
6828         simply use "1" as the mask.
6829
6830 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
6831
6832         error: depend on stdio
6833         Problem reported by Nikos Mavrogiannopoulos in
6834         <http://lists.gnu.org/archive/html/bug-gnulib/2013-11/msg00084.html>
6835         * modules/error (Depends-on): Add stdio.
6836
6837 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
6838
6839         * doc/relocatable-maint.texi (Supporting Relocation): Improve
6840         wording.
6841         Reported by Reuben Thomas <rrt@sc3d.org>.
6842
6843 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6844
6845         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
6846         New function and macro, to work around _DARWIN_C_SOURCE problem.
6847         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
6848
6849 2013-11-11  Pádraig Brady <P@draigBrady.com>
6850
6851         base64: provide a fast path for encoding well sized buffers
6852         Avoid conditionals in the base64 encoding loop,
6853         which was seen to give 60% better throughput.
6854         * lib/base64.c (base64_encode_fast): A new function to be called
6855         when we don't want to NUL terminate, and we have enough space
6856         in the output to encode the given input.
6857         (base64_encode): Call the _fast() version when appropriate.
6858         Also remove a redundant mask with 0x3F on the first encoded byte.
6859
6860 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
6861
6862         extern-inline: port better to OS X 10.9
6863         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
6864         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
6865         OS X 10.9, except for g++ where the bug is still present.
6866         See <http://trac.macports.org/ticket/41033>.
6867
6868 2013-11-08  Eric Blake  <eblake@redhat.com>
6869
6870         fpending: fix regression on DragonFly BSD
6871         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
6872         * lib/fpending.h (__fpending): Don't declare twice.
6873         Reported by GW in
6874         <https://lists.gnu.org/archive/html/bug-m4/2013-11/msg00000.html>
6875
6876 2013-11-05  Jim Meyering  <meyering@fb.com>
6877
6878         hash: relax license to LGPLv2+, for libguestfs
6879         * modules/hash (License): Change from GPL to LGPLv2+.
6880
6881 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
6882
6883         intprops: port to Oracle Studio c99
6884         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
6885         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
6886
6887 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
6888
6889         obstack: pacify HP C
6890         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
6891         warning "conversion from pointer to smaller integer" from HP
6892         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
6893         C89 or later nowadays, so cast to void instead of int.  Privately
6894         reported by H.Merijn Brand.  Also, change header to match glibc's,
6895         to make checking against glibc easier.
6896
6897 2013-10-29  Jim Meyering  <meyering@fb.com>
6898
6899         maint.mk: prefer gpgv2 over gpgv
6900         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
6901         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
6902         Reported by Gary Vaughan.
6903
6904 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
6905
6906         isnan: port to VAX
6907         Reported by John Klos for NetBSD-5/VAX in
6908         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00133.html>.
6909         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
6910         (FUNC): Use it.
6911
6912 2013-10-28  Jim Meyering  <meyering@fb.com>
6913
6914         gnulib-tool: protect against CDPATH
6915         * gnulib-tool: Many "cd" built-in functions print a directory name
6916         to stdout when CDPATH is set, e.g.,
6917           $ bash -c 'CDPATH=/; cd tmp'
6918           /tmp
6919         Unset it, when possible.  Prompted by a comment from Bruce Korb.
6920
6921         maint.mk: restore functionality removed by recent change...
6922         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
6923         the context of a shallow-cloned gnulib repository: "git describe"
6924         would fail in such a directory.  However, that change made it so
6925         the reported gnulib revision no longer includes the version number
6926         or a commit count, even when run from a full clone.
6927         * top/maint.mk (gnulib-version): Use the full "git describe"
6928         output when possible, e.g., the form above, rather than the
6929         abbreviated, no-tag, no-commit-count string, and fall back to
6930         using a 10-byte hash, rather than the default minimal-length
6931         hash prefix, since while the minimal-length one may be fine today,
6932         it is likely not to be unique for very long.
6933
6934 2013-10-26  Jim Meyering  <meyering@fb.com>
6935
6936         maint.mk: fix "release" target to build _version
6937         This fixes a bug in README-release whereby following the outlined
6938         steps, one would publish a tarball whose programs would report
6939         --version output not consistent with the package version number.
6940         This bug caused grep-2.15 to produce a grep program whose
6941         --version option made it print 2.14.56-1e3d rather than 2.15.
6942         * top/maint.mk (release): Making this target build "_version"
6943         ensures that the new version number is reflected in configure.
6944
6945 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
6946
6947         install-reloc: Support multi-binary installation.
6948         * build-aux/install-reloc: Support installing multiple programs in
6949         one invocation, as done by Automake starting with commit
6950         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
6951         Haible <bruno@clisp.org>, archived at
6952         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
6953         Reported by Sylvain <beuc@gnu.org>.
6954
6955 2013-10-21  Michael Haubenwallner <michael.haubenwallner@salomon.at>
6956
6957         selinux-h: Really build without selinux when library is missing.
6958         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
6959         continue without selinux, as already told in the warning message.
6960
6961 2013-10-21  Jim Meyering  <meyering@fb.com>
6962
6963         regex: also remove dependency on HAVE_WCSCOLL
6964         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
6965
6966 2013-10-21  Reuben Thomas <rrt@sc3d.org>
6967
6968         xfreopen: Fix typo. s/frepoen/freopen/
6969         * lib/xfreopen.c: Fix description.
6970         * modules/xfreopen: Likewise.
6971
6972 2013-10-21  Jim Meyering  <meyering@fb.com>
6973
6974         regex: don't depend on wcscoll
6975         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
6976         It is no longer used.
6977
6978 2013-10-20  Jim Meyering  <meyering@fb.com>
6979
6980         error: add the printf attribute to a static function
6981         * lib/error.c (error_tail): Add the printf attribute, to placate
6982         gcc's -Werror=suggest-attribute=format option.
6983
6984 2013-09-30  Jim Meyering  <meyering@fb.com>
6985
6986         fpending, obstack, strerror-override: use pure+const function attrs
6987         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
6988         * lib/obstack.c (_obstack_allocated_p): Likewise.
6989         * lib/obstack.h (_obstack_memory_used): Likewise.
6990         (_obstack_memory_used): Likewise.
6991         * lib/strerror-override.h (strerror_override): Declare with
6992         the "const" attribute.
6993
6994 2013-10-18  Eric Blake  <eblake@redhat.com>
6995
6996         extern-inline: make safe for -Wundef usage
6997         Reported by Vladimir 'phcoder' Serbinenko in
6998         https://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00078.html
6999         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
7000
7001 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
7002
7003         mkfifo-tests, etc.: allow HP-UX 11.11 bug
7004         Problem reported by Daniel Richard G. in
7005         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00068.html>.
7006         * doc/posix-functions/mkfifo.texi (mkfifo):
7007         * doc/posix-functions/mkfifoat.texi (mkfifoat):
7008         * doc/posix-functions/mknod.texi (mknod):
7009         * doc/posix-functions/mknodat.texi (mknodat):
7010         Document the HP-UX 11.11 bug.
7011         * tests/test-mkfifo.h (test_mkfifo):
7012         Allow the HP-UX 11.11 bug.
7013
7014 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
7015
7016         acl: allow cross-compilation to Gentoo
7017         Problem reported by Gabriel Marcano in
7018         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00058.html>.
7019         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
7020         test only whether it links.
7021
7022 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
7023
7024         mgetgroups: remove dependency on realloc-gnu
7025         The dependency violates the comment in realloc-gnu, which
7026         says that tests can't depend on realloc-gnu; some tests depend
7027         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
7028         Problem reported by Daniel Richard G. in
7029         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00056.html>.
7030         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
7031         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
7032         not realloc-gnu.
7033
7034 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
7035
7036         regex-tests: port to HP-UX 11.11
7037         Problem reported by Daniel Richard G. in
7038         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00052.html>.
7039         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
7040
7041 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
7042
7043         verify: document some 'assume' pitfalls
7044         * doc/verify.texi (Compile-time Assertions):
7045         Mention that 'assume (E)' can sometimes slow things down.
7046         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
7047
7048 2013-10-10  Eric Blake  <eblake@redhat.com>
7049
7050         strtoumax: fix typo in previous commit.
7051         * modules/strtoumax (Depends-on): Fix typo.
7052         * modules/strtoimax (Depends-on): Likewise.
7053
7054 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
7055
7056         strtoumax: port to Solaris 8
7057         This problem was introduced in the recent HP-UX patch.
7058         Reported by Tom G. Christensen in
7059         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00037.html>.
7060         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
7061         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
7062
7063 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
7064
7065         strtoimax, strtoumax: port to HP-UX 11.11
7066         Problem reported by Daniel Richard G. in
7067         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00023.html>.
7068         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
7069         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
7070         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
7071         REPLACE_STRTOUMAX.
7072         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
7073         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
7074         Replace the function if defined as a macro but not as a function.
7075         * modules/inttypes-incomplete (inttypes.h): Substitute
7076         REPLACE_STRTOUMAX.
7077         * modules/strtoumax (configure.ac): Replace strtoumax if
7078         REPLACE_STRTOUMAX.
7079
7080 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7081
7082         strtoimax: port to HP-UX 11.11
7083         Problem reported by Daniel Richard G.
7084         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
7085         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
7086         they might clash with inttypes.h.
7087
7088 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
7089
7090         New module 'count-trailing-zeros'.
7091         * MODULES.html.sh: Mention it.
7092         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
7093         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
7094         * modules/count-trailing-zeros-tests:
7095         * tests/test-count-trailing-zeros.c:
7096         New files.
7097
7098         count-leading-zeros: port to MSC; support types wider than 64 bits
7099         The ideas behind the MSC port are stolen from Emacs.
7100         * lib/count-leading-zeros.h:
7101         Don't include verify.h: it's no longer needed, as types wider than
7102         64 bits are now supported.
7103         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
7104         performance with MSC.  All uses changed.  Do not assume that TYPE
7105         has at most 64 bits.
7106         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
7107         All uses changed.  Fold the subtraction from 31 into the table.
7108
7109         count-one-bits: port to MSC; support types wider than 64 bits
7110         The ideas behind the MSC port are stolen from Emacs.
7111         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
7112         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
7113         Don't include verify.h: it's no longer needed, as types wider than
7114         64 bits are now supported.
7115         (COUNT_ONE_BITS_GENERIC): New macro.
7116         (popcount_supported) [_MSC_VER]: New inline function.
7117         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
7118         performance with MSC.  All uses changed.  Do not assume that TYPE
7119         has at most 64 bits.
7120         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
7121
7122 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
7123
7124         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
7125         * lib/mountlist.c (read_file_system_list): fix leak of directory
7126         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
7127
7128 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
7129
7130         tests: improve diagnostic when an assertion fails
7131         * tests/macros.h (ASSERT): Report the assertion that failed.
7132
7133 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
7134
7135         verify: new macro 'assume'
7136         This is taken from Emacs, and should be generally useful.
7137         * doc/verify.texi (assume): Document it.
7138         * lib/verify.h (assume): New macro.
7139         (__has_builtin): Expand to 0 if not defined.
7140
7141 2013-09-26  Eric Blake  <eblake@redhat.com>
7142
7143         dup2, dup3: work around another cygwin crasher
7144         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
7145         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
7146         * tests/test-dup2.c (main): Likewise.
7147         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
7148         * lib/dup3.c (dup3): Likewise.
7149         * doc/posix-functions/dup2.texi (dup2): Document it.
7150         * doc/glibc-functions/dup3.texi (dup3): Likewise.
7151
7152         getdtablesize: work around cygwin issue
7153         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
7154         * modules/getdtablesize (configure.ac): Build replacement.
7155         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
7156         * modules/unistd (Makefile.am): Expose the witness.
7157         * lib/unistd.in.h (getdtablesize): Declare replacement.
7158         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
7159         * tests/test-getdtablesize.c (main): Test it.
7160         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
7161
7162 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
7163
7164         pmccabe2html: escaping of special characters
7165         Escape all '<', '>', and '&' in HTML output.
7166         * build-aux/pmccabe2html (html_fnc): Call gsub()
7167         instead of sub() to capture all '<', '>', and '&'.
7168         Neither of '<' and '>' is special in a regexp,
7169         so first arguments to gsub() are corrected. Also,
7170         in replacement strings, ampersand must be escaped.
7171         Finally, '&' must be handled first, then '<' and '>'.
7172
7173 2013-09-24  Eric Blake  <eblake@redhat.com>
7174
7175         manywarnings: enable nicer gcc warning messages
7176         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
7177         some -f options for optimal warnings.
7178
7179 2013-09-21  Jim Meyering  <meyering@fb.com>
7180
7181         timespec: use the new TIMESPEC_RESOLUTION in a few more places
7182         * lib/timespec-add.c (timespec_add): Also replace 999999999
7183         with TIMESPEC_RESOLUTION - 1.
7184         * lib/timespec-sub.c (timespec_sub): Likewise.
7185
7186 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7187
7188         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
7189         Problem reported by Dagobert Michelsen via Eric Blake in
7190         <http://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00052.html>.
7191         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
7192         not AC_COMPILE_IFELSE.
7193
7194 2013-09-23  Eric Blake  <eblake@redhat.com>
7195
7196         configmake: support new --runstatedir option
7197         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
7198         even if autoconf was too old to provide the command line option.
7199         * modules/configmake (Makefile.am): Propagate it to .h file.
7200
7201 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7202
7203         ctype, string: depend on extern-inline
7204         This is needed to complete the recent OS X fixes.
7205         Also, fix related documentation as suggested by Eric Blake.
7206         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
7207         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
7208         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
7209         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
7210         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
7211         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
7212         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
7213         * doc/posix-functions/toupper.texi:
7214         List the 'ctype' gnulib module.
7215         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
7216         * doc/posix-functions/strncpy.texi:
7217         List the 'string' gnulib module.
7218         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
7219         Add string.
7220         * modules/ctype, modules/string (Depends-on): Add extern-inline.
7221
7222 2013-09-19  Pádraig Brady  <P@draigBrady.com>
7223
7224         userspec: support optional parameters to parse_user_spec()
7225         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
7226         then avoid group processing and treat the full spec as a user.
7227         (parse_with_separator): Allow the USERNAME and GROUPNAME to
7228         be optional params (NULL), in which case they're ignored.
7229
7230 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
7231
7232         timespec: new function make_timespec, and new constants
7233         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
7234         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
7235         (make_timespec): New function.
7236         * lib/dtotimespec.c (dtotimespec):
7237         * lib/timespec-add.c (timespec_add):
7238         * lib/timespec-sub.c (timespec_sub):
7239         * lib/utimens.c (validate_timespec):
7240         * lib/utimensat.c (rpl_utimensat):
7241         Use these new constants and functions.
7242
7243         stdio: OS X port of putc_unlocked + extern inline
7244         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
7245         * doc/posix-functions/putc_unlocked.texi:
7246         * doc/posix-functions/putchar_unlocked.texi:
7247         Document this portability problem.
7248
7249         signal: OS X port of sigaddset etc. + extern inline
7250         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
7251         (sigismember): #undef on problematic Apple platforms.
7252         * doc/posix-functions/sigaddset.texi:
7253         * doc/posix-functions/sigdelset.texi:
7254         * doc/posix-functions/sigemptyset.texi:
7255         * doc/posix-functions/sigfillset.texi:
7256         * doc/posix-functions/sigismember.texi:
7257         Document this portability problem.
7258
7259         extern-inline: do not always suppress extern inline on OS X
7260         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
7261         extern inline on Apple only if the particular compile-time
7262         configuration is known to have the problem.
7263         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
7264         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
7265         other Gnulib modules.
7266
7267         extern-inline: document fixes for ctype and wctype macros
7268         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
7269         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
7270         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
7271         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
7272         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
7273         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
7274         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
7275         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
7276         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
7277         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
7278         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
7279         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
7280         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
7281         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
7282         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
7283         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
7284         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
7285         * doc/posix-functions/strncpy.texi:
7286         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
7287         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
7288         Document that Gnulib fixes portability problems with these
7289         functions on OS X 10.8 and earlier when called from plain inline
7290         or extern inline functions.
7291
7292 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
7293
7294         fflush, freadahead, fseeko: Fix for Android
7295         Suggested by Bruno Haible in:
7296         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00306.html>
7297         * lib/stdio-impl.h: Use local __sfileext definition.
7298
7299 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
7300
7301         pmccabe2html: Portability to other awk versions.
7302         The functions systime() and strftime() are available
7303         in Gawk only.  Properly close two HTML-tags 'style'
7304         and 'span'.
7305         * build-aux/pmccabe2html (BEGIN): Store timing
7306         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
7307         systime() in HTML_COMMENT.
7308         (html_header): Correctly close tag 'style'.
7309         (END): Replace strftime() by CHRONOS_TIME.  Close
7310         tag 'span' correctly, not as 'div'.
7311
7312 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
7313
7314         getgroups: statement without effect
7315         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
7316         Change equality conditional to expected assignment.
7317
7318 2013-09-09  Eric Blake  <eblake@redhat.com>
7319
7320         glob: fix compilation
7321         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
7322
7323 2013-09-07  Eric Blake  <eblake@redhat.com>
7324
7325         glob: fix build for platforms without __THROW
7326         * lib/glob.in.h (__THROW): Add definition again.
7327
7328 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
7329
7330         regex-quote: fix buffer access out of bounds
7331         http://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00001.html
7332         * lib/regex-quote.c (regex_quote_spec_pcre):
7333         Fix typo that resulted in an out-of-bounds read.
7334
7335 2013-09-04  Eric Blake  <eblake@redhat.com>
7336
7337         glob: avoid -Wattribute warnings on glibc
7338         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
7339         __THROWNL, not __THROW, on static functions.
7340         * lib/glob.in.h (__THROW): Adjust...
7341         (__THROWNL): ...accordingly.
7342
7343 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
7344
7345         headers: check that _GL_INLINE_HEADER_BEGIN is defined
7346         Suggested by Bruce Korb in:
7347         http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00070.html
7348         * doc/extern-inline.texi (extern inline):
7349         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
7350         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
7351         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
7352         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
7353         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
7354         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
7355         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
7356         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
7357         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
7358         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
7359         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
7360         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
7361         * lib/xtime.h:
7362         Check that _GL_INLINE_HEADER_BEGIN is defined.
7363
7364 2013-08-29  Pádraig Brady  <P@draigBrady.com>
7365
7366         bootstrap: remove the --version requirement from ancillary tools
7367         * build-aux/bootstrap (check_exists): A new refactored function to
7368         determine if a command exists.
7369         (find_tool): Use the new function which does not require the
7370         --version option to be supported.
7371         (check_versions): Use the new function.
7372
7373 2013-08-26  Simon Josefsson  <simon@josefsson.org>
7374
7375         gc: support HMAC-SHA256 and HMAC-SHA512.
7376         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
7377         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
7378         functions.
7379         (gc_hmac_md5): Use symbolic constant.
7380         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
7381         (gc_hmac_sha256, gc_hmac_sha512): New functions.
7382         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
7383         * m4/sha256.m4: Protect against empty expansion.
7384         * m4/sha512.m4: Likewise.
7385         * lib/hmac-sha256.c: New file.
7386         * lib/hmac-sha512.c: Likewise.
7387         * m4/gc-hmac-sha256.m4: Likewise.
7388         * m4/gc-hmac-sha512.m4: Likewise.
7389         * m4/gc-sha256.m4: Likewise.
7390         * m4/gc-sha512.m4: Likewise.
7391         * modules/crypto/gc-hmac-sha256: Likewise.
7392         * modules/crypto/gc-hmac-sha256-tests: Likewise.
7393         * modules/crypto/gc-hmac-sha512: Likewise.
7394         * modules/crypto/gc-hmac-sha512-tests: Likewise.
7395         * modules/crypto/hmac-sha256: Likewise.
7396         * modules/crypto/hmac-sha256-tests: Likewise.
7397         * modules/crypto/hmac-sha512: Likewise.
7398         * modules/crypto/hmac-sha512-tests: Likewise.
7399         * tests/test-gc-hmac-sha256.c: Likewise.
7400         * tests/test-gc-hmac-sha512.c: Likewise
7401         * tests/test-hmac-sha256.c: Likewise.
7402         * tests/test-hmac-sha512.c: Likewise
7403
7404 2013-08-24  Daiki Ueno  <ueno@gnu.org>
7405
7406         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
7407         of AC_CHECK_DECLS.
7408
7409 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
7410
7411         selinux-at: omit unnecessary include
7412         * lib/selinux-at.c: Don't include dosname.h; not needed, since
7413         this source file doesn't use its macros, and subsidiary files that
7414         use the macros already include it.
7415
7416 2013-08-21  Eric Blake  <eblake@redhat.com>
7417
7418         d-ino: avoid false negative on symlink
7419         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
7420         Reported by Stephane Chazelas.
7421
7422 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
7423
7424         bootstrap: port to OpenBSD sed
7425         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
7426         does not interpret `-' as a file argument to mean stdin.
7427
7428 2013-08-15  Eric Blake  <eblake@redhat.com>
7429
7430         warnings: minor optimization
7431         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
7432
7433         warnings: check -Wfoo rather than -Wno-foo
7434         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
7435         -Wno-, test if the compiler recognizes the positive form instead.
7436
7437 2013-08-15  Karl Berry  <karl@gnu.org>
7438
7439         * config/srclist-update: add option "doclicense" to placate
7440         pulling *.texi files from Emacs.  Write terse usage
7441         documentation at the top.
7442
7443 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
7444
7445         xvasprintf-tests: port to GCC with hardening flags
7446         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
7447         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
7448         http://lists.gnu.org/archive/html/bug-diffutils/2013-08/msg00002.html
7449
7450 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7451
7452         fpending: port to recent Cygwin change to stdio_ext.h
7453         Reported by LRN in
7454         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00028.html>.
7455         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
7456         just declare __fpending unless it's a macro.
7457         A duplicate decl shouldn't hurt.
7458         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
7459         call compiles and links, instead of separately checking for
7460         decl and lib function.
7461         * modules/fpending (configure-ac):
7462         Adjust to fpending.m4's renaming of shell variable.
7463
7464 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7465
7466         sys_time: port to OpenBSD
7467         * lib/sys_time.in.h: Simply delegate to the system's header
7468         in the BSDish cases as well.  Problem reported by Mike Miller in
7469         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00016.html>.
7470         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
7471         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
7472         wider than time_t.
7473
7474 2013-08-09  Pádraig Brady <P@draigBrady.com>
7475
7476         bootstrap: support checksum utils having -c but not --status
7477         * build-aux/bootstrap: Only look for sha1sum if updating po files.
7478         Add sha1 to the list of supported checksum utils since it's now
7479         supported through adjustments below.
7480         (update_po_files): Remove the use of --status
7481         in a way that will suppress all error messages, but since this is
7482         only used to minimize updates, it shouldn't cause an issue.
7483         Exit early if there is a problem updating the po file checksums.
7484         (find_tool): Remove the check for --version support as this
7485         is optional as per commit 86186b17.  Don't even check for the
7486         presence of the command as if that is needed, it's supported
7487         through configuring prerequisites in bootstrap.conf.
7488         Prompt that when a tool isn't found, one can define an environment
7489         variable to add to the hardcoded search list.
7490
7491 2013-08-05  Jim Meyering  <meyering@fb.com>
7492
7493         regex: port to non-glibc/lock-using systems
7494         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
7495         system with GNULIB_LOCK would fail due to absence of the
7496         included "glthread/lock.h".  This would affect any package
7497         for which the "lock" module is used only by the regex module,
7498         and not explicitly used.
7499         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
7500         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
7501         Add a dependency on the "lock" module.
7502
7503 2013-07-20  Daiki Ueno  <ueno@gnu.org>
7504
7505         localecharset: make locale_charset thread-safe on Mac OS X
7506         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
7507         instead of MB_CUR_MAX.
7508
7509 2013-07-20  Daiki Ueno  <ueno@gnu.org>
7510
7511         gettext: update to version 0.18.3
7512         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
7513         require AC_PROG_SED to allow user to specify custom sed command when
7514         generating en@quot PO file.
7515
7516 2013-07-18  Werner Lemberg <wl@gnu.org>  (tiny change)
7517
7518         bootstrap: use correct source when copying build-aux files
7519         * build-aux/bootstrap (gnulib_extra_files): This variable is
7520         relative to upstream gnulib layout, not downstream.
7521
7522 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
7523
7524         tmpdir: fix bug in VMS port
7525         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
7526         See Steven M. Schweda in
7527         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00026.html>.
7528
7529 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
7530
7531         tmpdir: port to VMS, to // != /, and to long dirs
7532         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
7533         __secure_getenv, so that we're more like the glibc version.
7534         All uses changed.
7535         (path_search): Don't put slash after directory if __VMS.
7536         Problem reported by Steven M. Schweda in
7537         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00019.html>.
7538         Simplify code to add slash; no need for a loop.
7539         Do not remove trailing slash from "//".
7540         Do not assume dlen <= INT_MAX.
7541
7542 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
7543
7544         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
7545         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
7546         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
7547         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00015.html>.
7548
7549         accept4, dup3, pipe2: port to Cygwin
7550         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
7551         * lib/accept4.c (accept4) [O_BINARY]:
7552         * lib/dup3.c (dup3) [O_BINARY]:
7553         * lib/pipe2.c (pipe2) [O_BINARY]:
7554         Use set_binary_mode, not setmode.
7555         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
7556         * modules/binary-io (Depends-on): Remove module indicator.
7557         These last two bits undo the previous change to pipe2 and binary-io.
7558
7559 2013-07-09  Pádraig Brady  <P@draigBrady.com>
7560
7561         mountlist: add support for deallocating returned list entries
7562         * lib/mountlist.c (free_mount_entry): A new exported function
7563         to deallocate a mount list entry.
7564         (read_file_system_list): Refactor to use the new deallocation function.
7565         Suggested by Anton Ovchinnikov.
7566
7567 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
7568
7569         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
7570         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
7571         * lib/stdalign.in.h (_Alignas, _Alignof):
7572         Port to FreeBSD 9.1, and to C11 and C++11.
7573         (_Alignas): Also support ICC.
7574         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
7575         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
7576
7577 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7578
7579         fnmatch: don't goto over declaration
7580         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
7581         undefined behavior for goto over a declaration.
7582         Problem reported by Charlie Brown in
7583         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00009.html>.
7584
7585         pipe2: decouple from binary-io a bit
7586         This is for Emacs, which needs pipe2 but not binary-io.
7587         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
7588         * modules/binary-io (Depends-on): Add module indicator.
7589
7590 2013-07-03  Eric Blake  <eblake@redhat.com>
7591
7592         mgetgroups: relax license to LGPLv2+
7593         * modules/getugroups (License): Change from GPLv3+.
7594         * modules/mgetgroups (License): Likewise.
7595         * modules/getgroups (License): Change from LGPLv3+.
7596
7597         xalloc-oversized: relax license to LGPLv2+
7598         * modules/xalloc-oversized (License): Change from GPLv3+.
7599
7600         nproc: relax license to LGPLv2+
7601         * modules/nproc (License): Change from LGPLv3+.
7602
7603         bootstrap: honor --no-git
7604         * build-aux/bootstrap: Don't even try to use git when user is
7605         pointing to a static checkout.
7606
7607 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
7608
7609         ignore-value: port to gcc -pedantic
7610         * lib/ignore-value.h (ignore_value):
7611         Port to gcc -pedantic, by using __extension__.
7612         Reindent as per usual gnulib style nowadays.
7613         Simplify GCC version check.
7614
7615 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
7616
7617         extern-inline: port to gcc -std=c89
7618         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
7619         Do not use __gnu_inline__ if pedantic and pre-C99.
7620
7621 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
7622
7623         doc: document extern-inline
7624         * doc/extern-inline.texi: New file.
7625         * doc/gnulib.texi (alloca-opt): Include it.
7626         * m4/extern-inline.m4: Move some comments to documentation,
7627         and others closer to what they describe.
7628
7629         doc: chatter less
7630         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
7631         (updated-stamp): Use it.  This causes 'make' to output just
7632         one file name rather than zillions.
7633
7634         fflush, fseeko: port to musl cross-compiles
7635         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
7636         on some implementation that (1) is not known to be buggy,
7637         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
7638         cross-compiled to so we can't easily check for lack of
7639         conformance.  This is for cross-compiling to musl.
7640         Reported by Rich Felker in
7641         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00043.html>.
7642         * m4/fclose.m4 (gl_FUNC_FCLOSE):
7643         * m4/fflush.m4 (gl_FUNC_FFLUSH):
7644         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
7645         Adjust to above change.
7646         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
7647         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
7648         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
7649         known not to work, or unknown.
7650
7651 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
7652
7653         msvc-inval: port to mingw-w64
7654         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
7655         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
7656         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00039.html>.
7657
7658 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
7659
7660         getcwd-lgpl: port to Tru64
7661         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
7662         Problem reported by Steven M. Schweda in
7663         <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
7664
7665         tests: port large-fd POSIX spawn tests to OS X
7666         Problem reported by Daiki Ueno in
7667         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
7668         * tests/test-posix_spawn_file_actions_addclose.c:
7669         * tests/test-posix_spawn_file_actions_adddup2.c:
7670         * tests/test-posix_spawn_file_actions_addopen.c:
7671         Include <limits.h>, for OPEN_MAX, if available.
7672         (big_fd): New static function.
7673         (main): Use it.
7674
7675 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
7676
7677         tests/nap.h: use an adaptive delay to avoid ctime update issues
7678         The recent change in nap.h (5191133e) decreased the probability of lost
7679         races to about a third, however such problems could still be observed
7680         in virtual machines and openSUSE's OBS.
7681         Before, nap() detected the needed time once empirically and then used
7682         that delay (together with a small correction multiplier) in further
7683         calls.  This problem has been reported and discussed several times,
7684         including guesses about possible kernel issues:
7685         https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html
7686         http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html
7687         https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html
7688         http://bugs.gnu.org/12820
7689         https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html
7690         https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html
7691         Now, nap() avoids the race alltogether by verifying on a reference
7692         file whether a timestamp difference has happened.
7693         * tests/nap.h (nap_fd): Define file descriptor variable for the
7694         witness file.
7695         (nap_works): Change return value to bool.  Change passing
7696         the old file's status by value instead of by reference as this function
7697         does no longer update that timestamp; rename the function argument from
7698         st to old_st.  Remove the local variables cdiff and mdiff because that
7699         function now returns true/false instead of the precise delay.
7700         (guess_delay): Remove function.
7701         (clear_tmp_file): Add new function to close and unlink the witness file.
7702         (nap): Instead of re-using the delay which has been calculated during
7703         the first call, avoid the race by actually verifying that a timestamp
7704         difference can be observed on the current file system.  Use an adaptive
7705         approach for the delay to minimize execution time.  Assert that the
7706         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
7707         = 2^31 - 1 = 2.1s.
7708         Use atexit to call clear_tmp_file when the process terminates.
7709
7710 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
7711
7712         sig2str: port to C++
7713         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
7714         Reported by Daniel J Sebald in
7715         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00000.html>.
7716
7717 2013-05-30  Eric Blake  <eblake@redhat.com>
7718
7719         docs: mention cygwin shortcoming in <sys/un.h>
7720         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
7721
7722         vasnprintf: silence mingw compiler warning
7723         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
7724
7725 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
7726
7727         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
7728         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
7729         This fixes a porting bug I recently reintroduced in regex, and
7730         some other instances that I discovered while testing the fix.
7731         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
7732         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
7733         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
7734         with an empty argument if this is a pedantic pre-C99 GCC.
7735         * lib/verify.h: Do not use _Static_assert if this is a pedantic
7736         pre-C11 GCC.
7737
7738         regex: adapt to locking regime instead of depending on pthread
7739         Instead of depending on pthread, adapt to whatever thread
7740         modules are in use.  Problem reported by Ludovic Courtès in
7741         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00082.html>
7742         and by Mats Erik Andersson in
7743         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00100.html>.
7744         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
7745         Support either the 'lock' module, or the 'pthread' module, or
7746         no module.
7747         (lock_lock, lock_unlock): New macros.
7748         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
7749         * modules/lock, modules/pthread (configure.ac): Add module indicator.
7750         * modules/regex (Depends-on): Remove pthread.
7751
7752 2013-05-22  Eric Blake  <eblake@redhat.com>
7753
7754         getgroups: document portability issues
7755         * doc/glibc-functions/initgroups.texi (initgroups): Mention
7756         multithread safety.
7757         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
7758         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
7759         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
7760         getugroups.
7761         * doc/posix-functions/getgroups.texi (getgroups): Mention
7762         multithread safety and mgetgroups.
7763
7764 2013-05-22  Bernhard Voelker <mail@bernhard-voelker.de>
7765
7766         test-lchown, test-chown: also skip test if chown fails with EPERM
7767         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
7768         skip this test, to handle FAT file systems.
7769         * tests/test-chown.h (test_chown): Likewise.
7770
7771 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7772
7773         regex: fix dfa race in multithreaded uses
7774         Problem reported by Ludovic Courtès in
7775         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
7776         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
7777         New macros.  All uses of __libc_lock_define, __libc_lock_init
7778         changed to use the first two of these.
7779         (__libc_lock_lock, __libc_lock_unlock): New macros, for
7780         non-glibc platforms.
7781         (struct re_dfa_t): Define the lock unconditionally.
7782         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
7783         '#ifdef _LIBC"s.
7784         * modules/regex (Depends-on): Add pthread, if we use the
7785         included regex.
7786
7787         * lib/regcomp.c: Do actions that are not needed for glibc,
7788         but may be needed elsewhere.
7789         (regfree, re_compile_internal): Destroy the lock.
7790         (re_compile_internal): Check for lock-initialization failure.
7791
7792         malloca: port to compilers that reject size-zero arrays
7793         This fixes a bug introduced in my previous patch.
7794         * lib/malloca.c (struct preliminary_header): Use an int
7795         rather than a character array of size int; that's simpler.
7796         (struct header): Remove, replacing with ...
7797         (union header): New type.  This avoids the need for declaring a
7798         character array of size zero, which is not allowed on some platforms.
7799         All uses changed.
7800
7801 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
7802
7803         parse-datetime, tests: don't use "string" + int
7804         Recent versions of 'clang' complain about C source code that
7805         uses expressions of the form '"string literal" + integer',
7806         I guess on the theory that it's confusing for readers who are
7807         used to C++.  On those grounds I suppose it's OK to make this
7808         minor style change.
7809         * lib/parse-datetime.y (parse_datetime):
7810         * tests/test-fchdir.c (main):
7811         * tests/test-snprintf-posix.h (test_function):
7812         * tests/test-snprintf.c (main):
7813         * tests/test-vasnprintf-posix.c (test_function):
7814         * tests/test-vasnprintf.c (test_function):
7815         * tests/test-vsnprintf.c (main):
7816         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
7817         Rewrite '"str" + E' to '&"str"[E]'.
7818
7819 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
7820
7821         argmatch: port to C++
7822         * lib/argmatch.h [__cplusplus]: Add extern "C".
7823
7824         argp: typo fix
7825         * lib/argp-help.c: Typo in comment.
7826
7827 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
7828
7829         manywarnings: update for GCC 4.8.0
7830         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
7831         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
7832         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
7833         -Wmissing-noreturn, as they are duplicates of other warnings.
7834         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
7835         was documented to be flaky in earlier versions of GCC.
7836
7837         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
7838         * tests/test-spawn.c (main):
7839         * tests/test-sys_socket.c (main):
7840         * tests/test-sys_wait.c (main):
7841         Don't have a switch value that isn't covered by a case.
7842
7843         getaddrinfo-tests: port --enable-gcc-warnings to clang
7844         * tests/test-getaddrinfo.c (simple):
7845         Avoid casts from looser to stricter-aligned pointers.
7846
7847         thread: port --enable-gcc-warnings to clang
7848         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
7849         Include <signal.h>, to pacify a warning about pthread_sigmask.
7850
7851         stdio: use __REDIRECT for fwrite, fwrite_unlocked
7852         * lib/stdio.in.h (fwrite):
7853         When working around bug 11959, use __REDIRECT rather than '#define
7854         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
7855         fix the -Wunused-value issue with clang, and it works with GCC too.
7856         Problem with targeting reported by Eric Blake in
7857         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
7858         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
7859         debugging the fwrite issue.
7860
7861         stdio: port --enable-gcc-warnings to clang
7862         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
7863         since the GCC workaround for fwrite does not pacify clang.
7864
7865         sig2str: port --enable-gcc-warnings to clang
7866         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
7867
7868         obstack: port --enable-gcc-warnings to clang
7869         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
7870         Avoid casts from looser to stricter-aligned pointers.
7871
7872         memchr2: port --enable-gcc-warnings to clang
7873         * lib/memchr2.c (memchr2):
7874         Avoid casts from looser to stricter-aligned pointers.
7875
7876         mbsstr: port --enable-gcc-warnings to clang
7877         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
7878         Avoid casts from looser to stricter-aligned pointers.
7879
7880         malloca: port --enable-gcc-warnings to clang
7881         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
7882         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
7883
7884         inttostr: port --enable-gcc-warnings to clang
7885         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
7886
7887         warnings: port to clang
7888         Problem reported by Daniel P. Berrange via Eric Blake in
7889         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
7890         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
7891         (gl_WARN_ADD): Use it.
7892
7893 2013-05-11  Jim Meyering  <meyering@fb.com>
7894
7895         quotearg: do not read beyond end of buffer
7896         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
7897         end of an ARG for which no length was specified.  With an N-byte
7898         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
7899         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
7900         via coreutils' misc/sort-debug-keys.sh test and detected by running
7901         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
7902         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
7903         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
7904         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
7905         characters correctly."
7906
7907 2013-05-11  Daiki Ueno  <ueno@gnu.org>
7908
7909         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
7910         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
7911         compilation target is Mac OS X 10.6.
7912         Problem reported by parafin and Andoni Morales in
7913         <http://savannah.gnu.org/bugs/?37844> and
7914         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
7915
7916 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
7917
7918         mkdir-p: remove assumptions about umask and mode
7919         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
7920         umask is 0, or that MODE is a subset of MODE_BITS.
7921
7922 2013-05-10  Eric Blake  <eblake@redhat.com>
7923
7924         maint.mk: catch more abuse of HAVE_DECL in syntax-check
7925         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
7926
7927 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
7928
7929         deps: require Automake >= 1.9.6 in generated Makefile fragments
7930
7931         That is the same minimal version required in the DEPENDENCIES file.
7932         Moreover, the old code generated a requirement of Automake >= 1.5,
7933         and that is an insanely outdated version.
7934
7935         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
7936         * tests/havelib/rpathlx/Makefile.am: Likewise.
7937         * tests/havelib/rpathly/Makefile.am: Likewise.
7938         * tests/havelib/rpathlyx/Makefile.am: Likewise.
7939         * tests/havelib/rpathlz/Makefile.am: Likewise.
7940         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
7941         * tests/havelib/rpathx/Makefile.am: Likewise.
7942         * tests/havelib/rpathy/Makefile.am: Likewise.
7943         * tests/havelib/rpathz/Makefile.am: Likewise.
7944
7945 2013-05-08  Eric Blake  <eblake@redhat.com>
7946
7947         bootstrap: AC_INIT may have more than four parameters
7948         * build-aux/bootstrap (extract_package_name): Correctly extract
7949         non-empty tarname field.  Avoid range in regex.
7950         Based on a report by Sami Kerola <kerolasa@iki.fi>.
7951
7952 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
7953
7954         qacl: port to MS-Windows port of GNU Emacs
7955         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
7956         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
7957         port of GNU Emacs.  Problem reported by Eli Zaretskii in
7958         <http://bugs.gnu.org/14295#14>.
7959
7960 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
7961
7962         acl: include quote.h
7963         * lib/copy-acl.c: Include quote.h.
7964         * lib/set-acl.c: Likewise.
7965
7966 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
7967
7968         fchownat, renameat, unlinkat: update statat dependencies
7969         These modules use statat and lstatat, not fstatat; so depend on
7970         the statat module, which was split out recently from fstatat.
7971         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
7972         * modules/renameat: Likewise.  Also delete fstat.
7973         URL: http://bugs.gentoo.org/468790
7974
7975 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7976
7977         Assume gnulib is checked out from Git, not CVS
7978
7979         In fact, access to the gnulib repository through CVS has been
7980         disabled, or more precisely, got broken and was never restored; see:
7981         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
7982
7983         Note that support for CVS is not removed completely and unthinkingly
7984         by this change: only support for CVS checkouts of gnulib itself is
7985         removed.  For example, the 'bootstrap' script still cater to .cvsingore
7986         files and CVS directories, for the benefit of those poor gnulib clients
7987         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
7988
7989         * gnulib-tool: Simplify accordingly.
7990         * posix-modules: Likewise.
7991         * MODULES.html.sh: Likewise.
7992         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
7993         repository.
7994         * doc/gnulib-intro.texi: Likewise.
7995         * doc/gnulib-readme.texi: Likewise.
7996         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
7997         sample '.gitignore' file rather than a sample '.cvsignore'.
7998         * NEWS: Update.
7999         * m4/extensions.m4: While at it, remove a comment mistakenly referring
8000         to "CVS Autoconf" rather than "git Autoconf".
8001
8002 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
8003
8004         utimensat-tests, etc.: try to fix some races
8005         Problem reported by Bernhard Voelker in
8006         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
8007         I don't know whether this patch fixes that race condition, but it
8008         fixes *some* race conditions, so it should be a win.
8009         * modules/chown-tests (Depends-on):
8010         * modules/fchownat-tests (Depends-on):
8011         * modules/fdutimensat-tests (Depends-on):
8012         * modules/futimens-tests (Depends-on):
8013         * modules/lchown-tests (Depends-on):
8014         * modules/stat-time-tests (Depends-on):
8015         * modules/utimens-tests (Depends-on):
8016         * modules/utimensat-tests (Depends-on):
8017         Depend on nanosleep, not usleep.
8018         * modules/chown-tests (test_chown_LDADD):
8019         * modules/lchown-tests (test_lchown_LDADD):
8020         * modules/stat-time-tests (test_stat_time_LDADD):
8021         New macro.
8022         * modules/fchownat-tests (test_fchownat_LDADD):
8023         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
8024         * modules/futimens-tests (test_futimens_LDADD):
8025         * modules/utimens-tests (test_utimens_LDADD):
8026         * modules/utimensat-tests (test_utimensat_LDADD):
8027         Add $(LIB_NANOSLEEP).
8028         * modules/stat-time-tests (Files): Add tests/nap.h.
8029         * tests/nap.h: Include <limits.h>, for INT_MAX.
8030         (lt_mtime): Remove.
8031         (diff_timespec): New function.
8032         (get_stat): Rename from get_mtime.  All callers changed.
8033         (nap_works): Determine the needed delay by inspecting the
8034         file system's timestamp jumps; this should be more reliable.
8035         Look at both mtime and ctime, and take the maximum of the two jumps.
8036         (nap_works, guess_delay):
8037         Return a nanosecond count, not a microsecond count.
8038         All callers changed.
8039         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
8040         failure.
8041         (nap): Multiply the guess by 1.125, to accommodate the case where
8042         the file system's clock is a bit slower than nanosleep's clock.
8043         * tests/test-stat-time.c (BASE): New macro.
8044         Include nap.h.
8045         (nap): Remove; nap.h now defines this.  This removes a duplicate
8046         implementation of 'nap'.
8047
8048         utimens, utimensat: work around Solaris UTIME_OMIT bug
8049         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
8050         Linux kernel 2.6.32 does.  Work around it in the same way.
8051         * doc/posix-functions/futimens.texi (futimens):
8052         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
8053         * lib/utimens.c (fdutimens, lutimens):
8054         * lib/utimensat.c (rpl_utimensat): Work around the bug.
8055
8056         gettext: now it's your responsibility to add -I$(top_builddir)/intl
8057         Formerly, it was your responsibility to do this for all Makefile.ams
8058         other than Gnulib's.  Now it's your responsibility to do it for
8059         Gnulib's Makefile.am, too.
8060         * NEWS: Document this.
8061         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
8062
8063         acl: include errno.h to get errno
8064         Reported by Daiki Ueno in
8065         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
8066         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
8067
8068 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
8069
8070         tests: don't assume getdtablesize () <= 10000000
8071         * modules/cloexec-tests:
8072         * modules/dup2-tests:
8073         * modules/dup3-tests:
8074         * modules/nonblocking-tests:
8075         * modules/posix_spawn_file_actions_addclose-tests:
8076         * modules/posix_spawn_file_actions_adddup2-tests:
8077         * modules/posix_spawn_file_actions_addopen-tests:
8078         * modules/unistd-safer-tests:
8079         Depend on the getdtablesize module.
8080         * tests/test-cloexec.c:
8081         * tests/test-dup-safer.c:
8082         * tests/test-dup2.c:
8083         * tests/test-dup3.c:
8084         * tests/test-fcntl.c:
8085         * tests/test-nonblocking.c:
8086         * tests/test-posix_spawn_file_actions_addclose.c:
8087         * tests/test-posix_spawn_file_actions_adddup2.c:
8088         * tests/test-posix_spawn_file_actions_addopen.c:
8089         Don't assume getdtablesize () <= 10000000.
8090
8091 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
8092
8093         extern-inline: work around bug in Sun c99
8094         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
8095         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
8096
8097 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
8098
8099         qacl: new module, broken out from the acl module
8100         This is for GNU Emacs, which wants the acl functions but does
8101         not want 'error' invoked when they fail.
8102         * lib/acl-internal.h: Do not include error.h, quote.h.
8103         (ENOSYS, ENOTSUP): Remove; no longer needed.
8104         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
8105         * lib/acl.h: Include <stdbool.h>.
8106         (acl_errno_valid): New function.
8107         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
8108         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
8109         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
8110         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
8111         (ACL_INTERNAL_INLINE): Remove; no longer needed.
8112         * lib/file-has-acl.c (file_has_acl):
8113         * lib/qcopy-acl.c (qcopy_acl):
8114         * lib/qset-acl.c (qset_acl):
8115         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
8116         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
8117         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
8118         lib/file-has-acl.c, m4/acl.m4 to qacl module.
8119         Add lib/set-acl.c.
8120         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
8121         Add qacl.
8122         (configure.ac): Move gl_FUNC_ACL to qacl module.
8123         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
8124         Rename set-mode-acl.c to set-acl.c.
8125         * lib/acl-errno-valid.c: New file.
8126         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
8127         copy_acl function remains in copy-acl.c.
8128         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
8129         (_): Remove; not needed.
8130         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
8131         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
8132         * modules/qacl: New file, moved from the old modules/acl.
8133         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
8134         Remove set-mode-acl.c, copy-acl.c.
8135         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
8136
8137         alignof, intprops, malloca: port better to IBM's C compiler
8138         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
8139         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
8140         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
8141
8142 2013-04-25  Daiki Ueno  <ueno@gnu.org>
8143
8144         wctype-h: fix gettext link error on mingw
8145         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
8146         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
8147         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
8148         rpl_towupper and rpl_towupper.
8149
8150 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
8151
8152         regex-tests, regex: allow glibc re_search behavior
8153         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
8154         re_search input data to make the multi-character collating element
8155         in it clearly visible, and treat re_search return code 0 as valid.
8156         * m4/regex.m4 (gl_REGEX): Likewise.
8157
8158 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
8159
8160         stdalign: doc fix
8161         * doc/posix-headers/stdalign.texi (stdalign.h):
8162         Gnulib doesn't support '_Alignof expr'.
8163
8164 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
8165
8166         stdalign: port to stricter ISO C11
8167         ISO C11 says that _Alignof's operand must be a parenthesized type.
8168         Problem reported by Eli Zaretskii in
8169         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
8170         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
8171         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
8172
8173 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8174
8175         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
8176         Problem reported by Marco Atzeri in
8177         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
8178         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
8179         Simply delegate to the system <sys/select.h> in this case too.
8180         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
8181         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
8182         be needed on Solaris either.
8183         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
8184         Simply delegate to the system <sys/time.h> in this case.
8185
8186 2013-03-19  Karl Berry  <karl@gnu.org>
8187
8188         * build-aux/gnupload: check for erroneous (with gnupload) use of
8189         ftp-upload.gnu.org, tweak help.
8190
8191 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8192
8193         copy-file, rpmatch: fix problems found by cppcheck
8194         Reported by Arno Onken in
8195         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
8196         * lib/rpmatch.c (try): Fix memory leak.
8197         * lib/copy-file.c: Include "ignore-value.h".
8198         (qcopy_file_preserving): Ignore chown value.
8199         * modules/copy-file (Depends-on): Add ignore-value.
8200
8201 2013-01-27  Jim Meyering  <jim@meyering.net>
8202
8203         prefix-gnulib-mk: give better diagnostics
8204         * build-aux/prefix-gnulib-mk: Don't just "die".
8205         Give better diagnostics upon failure.
8206
8207 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
8208
8209         putenv: port to Solaris 10
8210         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
8211         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
8212         is not what is wanted here.
8213         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
8214         declaration, not for its existence.
8215
8216 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
8217
8218         mktime: fix configure typo
8219         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
8220
8221 2013-03-12  Eric Blake  <eblake@redhat.com>
8222
8223         regex-tests: skip UTF-8 test on mingw
8224         * modules/regex-tests (Depends-on): Add localcharset.
8225         * tests/test-regex.c (main): Use it to skip test on mingw.
8226
8227 2013-03-11  Eric Blake  <eblake@redhat.com>
8228
8229         tests: make it easier to bypass alarm time in debugger
8230         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
8231         * tests/test-memmem.c (main): Likewise.
8232         * tests/test-passfd.c (main): Likewise.
8233         * tests/test-ptsname.c (main): Likewise.
8234         * tests/test-ptsname_r.c (main): Likewise.
8235         * tests/test-strcasestr.c (main): Likewise.
8236         * tests/test-strstr.c (main): Likewise.
8237
8238         regex: port to mingw's recent addition of undeclared alarm
8239         * doc/posix-functions/alarm.texi (alarm): Document that alarm
8240         exists but still doesn't work in newer mingw.
8241         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
8242         not existence.  Ensure SIGALRM is not trapped.
8243         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
8244         * m4/regex.m4 (gl_REGEX): Likewise.
8245         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
8246         * tests/test-regex.c (main): Use correct probe for alarm.
8247
8248         putenv: avoid compilation warning on mingw
8249         * lib/putenv.c (_unsetenv): Protect variable declaration.
8250         (putenv): Fix indentation.
8251
8252 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
8253
8254         unistd: don't prevent Tru64 Unix from using gnulib strtod.
8255         * lib/unistd.in.h: be careful not to include un-needed system
8256         stdlib.h from here, because that prevents gnulib stdlib.h from
8257         defining rpl_strtod correctly.
8258
8259 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
8260
8261         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
8262         changesets, but for the 'precision 0' test.
8263         * tests/test-vasprintf-posix.c (test_function): Don't insist on
8264         round-to-even, since POSIX says rounding is implementation-defined
8265         and OS X 10.8.2 rounds 1.51 to 1 here.
8266
8267         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
8268         changeset.
8269         * tests/test-vasprintf-posix.c (test_function): Don't insist on
8270         round-to-even, since POSIX says rounding is implementation-defined
8271         and OS X 10.8.2 rounds 1.5 to 1 here.
8272
8273 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
8274
8275         vasnprintf-posix-tests: allow rounding 1.5 to 1
8276         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
8277         round-to-even, since POSIX says rounding is implementation-defined
8278         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
8279         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
8280
8281         bootstrap: port to FreeBSD
8282         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
8283         that treat '--' differently.  Reported by Mats Erik Andersson in
8284         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
8285
8286 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
8287
8288         regex: rename remaining __attribute calls to __attribute__.
8289         2012-02-25 changed definition of __attribute, but left some uses
8290         unchanged, preventing compilation of regex module on most non-gcc
8291         environments.
8292         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
8293         (lookup_collation_sequence_value, build_range_exp)
8294         (build_collating_symbol): Set attributes with newly renamed
8295         __attribute__ decorator.
8296         * lib/regex_internal.c (re_string_peek_byte_case)
8297         (re_node_set_compare, re_node_set_contains): Likewise.
8298         * lib/regexec.c (acquire_init_state_context): Likewise.
8299
8300 2013-03-06  Bruno Haible  <bruno@clisp.org>
8301
8302         execute: Revert last change, but use a different condition.
8303         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
8304         on Windows.
8305
8306 2013-03-05  Eric Blake  <eblake@redhat.com>
8307
8308         execute: drop dead code
8309         * lib/execute.c (nonintr_close, nonintr_open): Delete.
8310
8311 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
8312
8313         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
8314         * m4/non-recursive-gnulib-prefix-hack.m4
8315         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
8316         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
8317         <http://bugs.gnu.org/10305#237>.
8318
8319 2013-03-04  Eric Blake  <eblake@redhat.com>
8320
8321         test-getsockopt: avoid compiler warning
8322         * tests/test-getsockopt.c (includes): Ensure close is declared.
8323
8324 2013-03-02  Bruno Haible  <bruno@clisp.org>
8325
8326         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
8327         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
8328
8329 2013-03-02  Bruno Haible  <bruno@clisp.org>
8330
8331         gettext: Update to version 0.18.2.
8332         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
8333         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
8334                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
8335
8336 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
8337
8338         regex: merge patches from libc
8339
8340         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
8341         * lib/regex_internal.h (__attribute__): Rename from __attribute.
8342         All uses changed.
8343         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
8344         (re_string_wchar_at, re_string_elem_size_at):
8345         Mark function as possibly unused.
8346
8347         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
8348         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
8349         elements compare against the byte sequence of it, not its name.
8350
8351 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
8352
8353         putenv: port better to native Windows
8354         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
8355         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
8356         (_unsetenv): Use _putenv if available.
8357         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
8358         a bit less likely to cause damage.
8359         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
8360         Fix the wrong value with SetEnvironmentVariable.
8361         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
8362         code better.
8363
8364 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8365
8366         regex: ignore old-style-definition warnings
8367         * lib/regex.c: Add pragma to ignore these warnings.
8368         Problem reported for GNU tar by Pavel Raiskup.
8369
8370 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8371
8372         getcwd: support coreutils better
8373         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
8374         but this might not be correct in coreutils, which disables
8375         the raw decl checks.  Problem reported by Nagendra in
8376         <http://bugs.gnu.org/10305#192>.
8377         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
8378         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
8379         Test the getcwd function, not any macro, since getcwd.c wants the
8380         function.
8381         * m4/getcwd.m4 (gl_FUNC_GETCWD):
8382         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
8383         compile, as might happen if there's a macro but no function.
8384
8385         strtod: support coreutils better
8386         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
8387         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
8388         disables the raw decl checks.  This assumes there is an underlying
8389         strtod, but that's a safe assumption these days.
8390         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
8391
8392         mountlist: port to HP NonStop
8393         Reported by Joachim Schmitz in
8394         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
8395         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
8396         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
8397
8398 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
8399
8400         extern-inline: avoid compilation error with HP-UX cc
8401         Reported by Richard Lloyd in
8402         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
8403         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
8404         Suppress extern inline with HP-UX cc.  This should be safe,
8405         though it may hurt performance.  Perhaps someone with some HP-UX
8406         experience can come up with a higher-performance fix.
8407
8408 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8409
8410         putenv: fix heap corruption with mixed putenv/_putenv
8411         Problem reported by Michael Goffioul in
8412         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
8413         * lib/putenv.c (putenv) [HAVE__PUTENV]:
8414         Rely on _putenv to allocate the new environment.
8415         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
8416         * modules/putenv (configure.ac): Use it.
8417
8418 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
8419
8420         unsetenv etc.: port to Solaris 11 + GNU Emacs
8421         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
8422         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
8423         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
8424         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
8425         idea but is too painful to fix right now), and without this gnulib
8426         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
8427         compiling unsetenv.c on Solaris 11.  Fix the problem for
8428         unsetenv.c, and fix other similar occurrences.
8429
8430 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
8431
8432         secure_getenv: fix C++ declaration typo
8433         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
8434         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
8435         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
8436
8437 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
8438
8439         careadlinkat: stop exporting careadlinkatcwd
8440         Only Emacs used it directly, and Emacs no longer needs it.
8441         * NEWS: Document this simplification.
8442         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
8443         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
8444         for readlink.
8445         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
8446         Don't include stdlib.h; no longer needed.
8447         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
8448         * lib/relocwrapper.c: Adjust comment to match new dependencies.
8449         * modules/areadlink (Depends-on): Add readlink.
8450         (Maintainer): Add self.
8451         * modules/careadlinkat (Depends-on): Remove readlink.
8452
8453         extensions: port better to HP-UX
8454         This is merged from git Autoconf.
8455         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8456         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
8457         so that it's compatible with the value used when compiling.
8458
8459         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
8460         Problem reported by Mats Erik Andersson in
8461         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
8462         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
8463         openpty function exists, not merely when we intend to replace it.
8464         This corrects the 2013-01-31 patch, which mistakenly defined
8465         HAVE_OPENPTY even on hosts that lacked it.
8466
8467 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8468
8469         secure_getenv: fix include typo
8470         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
8471
8472         secure_getenv: port better to FreeBSD and Solaris
8473         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
8474         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
8475         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
8476         This works better on BSDish platforms.
8477         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
8478         Test for issetugid if __secure_getenv is missing.
8479
8480 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
8481
8482         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
8483         Some of these changes are merged in from git Autoconf.
8484         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8485         When deciding whether to define _XOPEN_SOURCE, inspect the
8486         preprocessor macro __hpux instead of the more-heavyweight
8487         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
8488         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
8489         as the key for __EXTENSIONS__.
8490
8491         unistd: avoid namespace pollution on non-glibc systems
8492         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
8493         This avoids namespace pollution on non-glibc systems, by causing
8494         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
8495         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
8496         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
8497
8498 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8499
8500         tmpdir: use secure_getenv
8501         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
8502         Define to secure_getenv, not getenv.
8503         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
8504         as that's now secure_getenv's job.
8505         * modules/tmpdir (Depends-on): Add secure_getenv.
8506
8507         tempname: use secure_getenv
8508         * lib/tempname.c (__secure_getenv) [!_LIBC]:
8509         Define to secure_getenv, not getenv.
8510         * modules/tempname (Depends-on):
8511         Add secure_getenv.
8512
8513         secure_getenv: new module
8514         * MODULES.html.sh (Extra functions based on ANSI C 89):
8515         Add secure_getenv.
8516         * doc/glibc-functions/secure_getenv.texi: New file.
8517         * doc/gnulib.texi: Include it.
8518         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
8519         New files.
8520         * lib/stdlib.in.h (secure_getenv): New decl.
8521         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
8522         * modules/stdlib (stdlib.h):
8523         Add secure_getenv checks.
8524
8525 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
8526
8527         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
8528         Reported for OS X 10.8.2 by Assaf Gordon in
8529         <http://bugs.gnu.org/13516>.
8530         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
8531         !HAVE_OPENAT && !HAVE_FDOPENDIR.
8532         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
8533         so that they can be kept in sync more easily.  Avoid PATH_MAX
8534         test on the Hurd.  Sync from test-getcwd.c for errno tests after
8535         mkdir or chdir failure.
8536         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
8537         lib/getcwd.c.
8538         (test_abort_bug): Do not test for the deep directory bug unless we
8539         have openat support.  Avoid PATH_MAX test on the Hurd.
8540
8541         regex-tests, regex: fix bug: memset undeclared
8542         * tests/test-regex.c: Don't include regex.h twice.  Include
8543         string.h, to declare memset.  Christensen's report also mentioned
8544         this issue.
8545         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
8546         test-regex.c, to avoid future problems like this.  Remove
8547         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
8548         twice.
8549
8550         regex-tests: fix link errors on older Solaris
8551         These need to link with @LIBINTL@ to get libintl_gettext.
8552         Problem reported by Tom G. Christensen in
8553         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
8554         * modules/regex-tests (test_regex_LDADD): New macro.
8555
8556 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
8557
8558         regex-tests: new module
8559         * modules/regex-tests, tests/test-regex.c: New files.
8560
8561         regex: fix off-by-one error in configure test
8562         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
8563
8564 2013-01-31  Eric Blake  <eblake@redhat.com>
8565
8566         regex: avoid infinite configure test
8567         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
8568
8569 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
8570
8571         openpty: fix bug where HAVE_OPENPTY wasn't defined
8572         See the thread starting at:
8573         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
8574         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
8575         openpty function exists, not merely when we intend to replace it.
8576
8577 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
8578
8579         sys_time: port to Solaris 2.6
8580         There is a circularity problem on Solaris 2.6, where <time.h> includes
8581         <sys/time.h> for struct timespec.  The include nesting is gnulib
8582         <time.h>, system <time.h>, gnulib <sys/time.h>, system
8583         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
8584         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
8585         <sys/siginfo.h>; the last, innermost file needs struct
8586         timestruc_t, which is defined in <sys/time.h>, which has not been
8587         fully parsed.  Problem reported by Tom G. Christensen in
8588         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
8589         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
8590         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
8591         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
8592         uses split double-inclusion guards.
8593
8594 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8595
8596         regex: test for buffer overrun
8597         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
8598         for the just-fixed regex bug.
8599
8600 2013-01-29  Andreas Schwab  <schwab@suse.de>
8601
8602         regex: fix buffer overrun in regexp matcher [BZ #15078]
8603         * lib/regexec.c (extend_buffers): Add parameter min_len.
8604         (check_matching): Pass minimum needed length.
8605         (clean_state_log_if_needed): Likewise.
8606         (get_subexp): Likewise.
8607
8608 2013-01-28  Pádraig Brady  <P@draigBrady.com>
8609
8610         mountlist: don't consider "devtmpfs" as dummy
8611         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
8612         as there is storage associcated with it.
8613
8614 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8615
8616         futimens-tests, utimens-tests: Depend on gettext.
8617         This works around a problem introduced in my 2013-01-12 patch,
8618         which added @LIBINTL@ to these modules.
8619         * modules/futimens-tests (Depends-on):
8620         * modules/utimens-tests (Depends-on): Add gettext.
8621
8622 2013-01-26  Eric Blake  <eblake@redhat.com>
8623
8624         test-getpeername: fix typo
8625         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
8626
8627 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
8628
8629         bootstrap: remove the need for a sorted .gitignore file
8630         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
8631         rename to insert_if_absent(), so that we don't need or generate
8632         a sorted .gitignore file.  We do require a .gitignore with no
8633         existing duplicate entries and enforce that.
8634         (sort_patterns): Remove this function as we now use the simpler
8635         technigue of inserting blacklist entries at the top of the file,
8636         assuming gnulib won't be inserting !whitelist entries.
8637
8638 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8639
8640         readlinkat: don't depend on gl_FUNC_OPENAT
8641         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
8642         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
8643         renameat.m4, symlinkat.m4; but one thing at a time.
8644
8645         statat: new module, split out from fstatat
8646         GNU Emacs needs the POSIX-specified fstatat, but not the
8647         gnulib-specified statat and lstat.  Split the latter two into a
8648         new module 'statat'.
8649         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
8650         * lib/openat.h, lib/statat.c (STATAT_INLINE):
8651         Rename from FSTATAT_INLINE. All uses changed.
8652         * modules/fstatat (Files): Remove lib/statat.c.
8653         (gl_MODULE_INDICATOR([fstatat])): Remove.
8654         (lib_SOURCES): Remove.
8655         (Maintainer): Add self.
8656         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
8657         * tests/test-fstatat.c (BASE): Don't define if already defined.
8658         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
8659
8660 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
8661
8662         tests: don't assume fd 99 is closed
8663         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
8664         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
8665         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
8666         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
8667         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
8668         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
8669         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
8670         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
8671         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
8672         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
8673         * tests/test-fwrite.c, tests/test-getpeername.c:
8674         * tests/test-getsockname.c, tests/test-getsockopt.c:
8675         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
8676         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
8677         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
8678         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
8679         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
8680         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
8681         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
8682         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
8683         * tests/test-unlinkat.c, tests/test-unlockpt.c:
8684         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
8685         Close file descriptor 99, instead of assuming it's already closed.
8686
8687 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
8688
8689         stpncpy: port to OS X 10.8
8690         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
8691         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
8692
8693 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
8694
8695         unistd: port to recent mingw
8696         * lib/unistd.in.h: Remove special invocation convention for mingw,
8697         which breaks for the latest mingw version.  See John W. Eaton in
8698         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
8699
8700         largefile: port better to Mac OS X 10.5
8701         This patch is backported from Autoconf git.
8702         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
8703         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
8704         with ino_t size being different for configuration time versus
8705         build/run time.  Problem reported by PHO in
8706         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
8707
8708 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
8709
8710         doc: clarify -Werror
8711         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
8712         clarify that it's intended for developers, not for ordinary builds,
8713         and mention --enable-gcc-warnings as one possible use.
8714
8715 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
8716
8717         stdint: fix build with Android's Bionic fox x86
8718         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
8719         was already included as _SSIZE_T_DEFINED_ might also be defined
8720         in include/machine/_types.h, which is included by stdio.h
8721
8722 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
8723
8724         net_if-tests: port to Solaris 7 + GCC 3.4.6
8725         Problem reported by Tom G. Christensen in
8726         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
8727         * tests/test-net_if.c (ni): Move to next the code that uses it,
8728         so that it's declared only if needed.
8729
8730 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
8731
8732         net_if-tests: port to older Solaris
8733         Problem reported by Tom G. Christensen in
8734         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
8735         * modules/net_if-tests (NET_IF_LIB): New substitution.
8736         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
8737         (HAVE_IF_NAMEINDEX): New C macro.
8738         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
8739
8740         system-quote-tests: port to older Solaris
8741         Problem reported by Tom G. Christensen in
8742         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
8743         * tests/test-system-quote-child.c (fopen, fread): Undef.
8744
8745         c-xvasprintf etc.: fix link errors on older Solaris
8746         These need to link with @LIBINTL@ to get libintl_gettext.
8747         Problem reported by Tom G. Christensen in
8748         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
8749         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
8750         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
8751         * modules/futimens-tests (test_futimens_LDADD):
8752         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
8753
8754 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8755
8756         locale: port to Solaris 2.6 and 7 + GNU gettext
8757         * lib/locale.in.h: Just include_next <locale.h> when
8758         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
8759         when combining the localename module with GNU gettext 0.18.2.
8760         Problem reported by Tom G. Christensen in
8761         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
8762
8763 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8764
8765         stdlib: port to Solaris 2.6
8766         Also, the code worked on Solaris 7 through 9 only by accident.
8767         Problem reported by Tom G. Christensen in
8768         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
8769         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
8770         simply include the system stdlib.h.
8771         * lib/getopt.in.h (__need_system_stdlib_h):
8772         * lib/pthread.in.h (__need_system_stdlib_h):
8773         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
8774         Define when including <stdlib.h>, to avoid problems at least for
8775         the pthread case on Solaris 2.6 and 7.  These .h files can get by
8776         with the system stdlib.h.
8777
8778 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8779
8780         doc: update main copyright year
8781         * doc/gnulib.texi: Update copyright date.
8782
8783         doc: improve ISO 8601 discussion
8784         * doc/parse-datetime.texi (Combined date and time of day items):
8785         Specify more carefully what formats are supported and what is
8786         done with excess precision.
8787
8788 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8789
8790         doc: avoid small caps
8791         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
8792         they're more trouble than they're worth.  Suggested by Karl Berry
8793         in <http://bugs.gnu.org/13360>.
8794
8795         regex: conform to strict C
8796         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
8797         From Aharon Robbins.
8798
8799         gnulib-tool: fix incompatibility with autopoint 0.18.2
8800         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
8801         Problem reported by Tom G. Christensen in
8802         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
8803
8804 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8805
8806         fprintftime: bring back and reword fwrite comment
8807         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
8808
8809         stdio: remove now-unnecessary stdio.c
8810         Since stdio.in.h no longer uses inline functions, we no longer
8811         need to compile the extern versions.
8812         * lib/stdio.c: Remove.
8813         * modules/stdio (Files): Remove lib/stdio.c.
8814         (lib_SOURCES): Remove.
8815
8816         unicodeio: depend on stdio, not ignore-value
8817         * lib/unicodeio.c: Do not include ignore-value.h.
8818         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
8819         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
8820
8821         fprintftime: depend on stdio, not ignore-value
8822         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
8823         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
8824         since the stdio module arranges to silence that warning now.
8825         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
8826
8827 2012-10-04  Simon Josefsson  <simon@josefsson.org>
8828
8829         stdint-tests: Fix expanded-before-required-warning.
8830         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
8831
8832 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
8833
8834         fwrite: silence __wur only for older glibc versions
8835         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
8836         This will help us remove this workaround some time in the far future.
8837
8838 2013-01-03  Eric Blake  <eblake@redhat.com>
8839
8840         fwrite: silence __wur without using inline
8841         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
8842         just gcc, and in a way that avoids inline issues.
8843         * modules/stdio (Depends-on): Drop extern-inline.
8844
8845 2013-01-03  Jim Meyering  <jim@meyering.net>
8846
8847         update-copyright: avoid copyright notice date corruption
8848         Given a sequence of copyright year numbers in which the final
8849         one was a two-digit number that happened to be a substring of
8850         a preceding four-digit year number, we would mistakenly update
8851         the substring (from two- to four-digit) rather than the two-digit
8852         number at the end, which, combined with the addition of the current
8853         4-digit year number would yield two 5-digit year numbers, e.g.,
8854         here, it would convert the first "99" to "1999, 2013" rather than
8855         the final one:
8856           1991, 99
8857           11999, 20131, 1999
8858         * build-aux/update-copyright: Tighten a regexp.
8859         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
8860         Reported by Joseph Myers in
8861         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
8862
8863 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8864
8865         regex: omit needless signed-pointer casts
8866         * lib/regcomp.c (build_charclass, build_charclass_op):
8867         Use char *, not unsigned char *, for class name and extra.
8868         The char values are always nonnegative so there's no need to
8869         insist on unsigned char * here, and using char * removes the need
8870         for casts.  Reported by Aharon Robbins in
8871         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
8872
8873         regex: support Gawk, which never uses alloca
8874         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
8875         Do not include in this case.  Gawk doesn't supply a substitute
8876         alloca.h and doesn't need one.
8877
8878         regex: port __libc_lock_define usage to C89
8879         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
8880         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
8881         does not conform to C89, as it has an empty macro argument.
8882         Reported by Aharon Robbins in
8883         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
8884
8885 2013-01-01  Eric Blake  <eblake@redhat.com>
8886
8887         maint: update all copyright year number ranges
8888         Run "make update-copyright".
8889
8890         version-etc: bump copyright year reported in --version
8891         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
8892
8893 2012-12-31  Eric Blake  <eblake@redhat.com>
8894
8895         sigprocmask-tests: skip test if pid is unexpectedly large
8896         * tests/test-sigprocmask.c (main): Add range check.
8897
8898         git-version-gen: avoid test -z portability glitch
8899         * build-aux/git-version-gen: Prefer portable test spelling, since
8900         git-version-gen is run on more than just developer machines.
8901
8902 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
8903
8904         git-version-gen: add --fallback option to use if git is not present
8905         * build-aux/git-version-gen: Add support for the new option --fallback,
8906         which comes into play when there is no $tarball_version_file and
8907         git is not working.
8908         (scriptversion): Update.
8909
8910         maint.mk: handle missing git with more grace
8911         * top/maint.mk (no-submodule-changes, public-submodule-commit):
8912         Quietly proceed if git is not present.
8913
8914 2012-12-31  Eric Blake  <eblake@redhat.com>
8915
8916         dup2: work around cygwin bug
8917         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
8918         * lib/dup2.c (rpl_dup2): Work around it.
8919         * doc/posix-functions/dup2.texi (dup2): Document it.
8920
8921 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
8922
8923         regex: remove unnecessary dependency on localcharset.h
8924         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
8925         hasn't been needed for years.
8926         * modules/regex (Depends-on): Remove localcharset.
8927
8928         regex: revert single-byte change
8929         * lib/regexec.c (check_node_accept_bytes): Revert previous change
8930         to this function.  This was alredy fixed in a different way, at
8931         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
8932         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
8933         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
8934
8935         regex: simplify based on Gawk version
8936         * lib/regex_internal.c (re_dfa_add_node): Simplify.
8937         Reported by Aharon Robbins in
8938         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
8939
8940 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
8941
8942         regex: check that pattern char is single-byte
8943         Reported by Aharon Robbins in
8944         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
8945         * lib/regexec.c (check_node_accept_bytes):
8946         Return 0 if the pattern string has a multibyte character here.
8947
8948         regex: implement rational ranges
8949         Reported by Aharon Robbins in
8950         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
8951         * lib/regcomp.c (build_range_exp) [!_LIBC]:
8952         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
8953         Implement rational ranges.
8954
8955         regex: avoid redefining __wctype
8956         Reported by Aharon Robbins in
8957         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
8958         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
8959         #undef before defining.
8960
8961         regex: port to hosts where malloc (0) == NULL
8962         Reported by Aharon Robbins in
8963         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
8964         * lib/regex_internal.c (re_node_set_alloc):
8965         Don't assume that malloc (0) yields nonnull.
8966         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
8967         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
8968         * modules/regex (Files): Add m4/eealloc.m4.
8969
8970         regex: port to C89
8971         Reported by Aharon Robbins in
8972         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
8973         * lib/regcomp.c (init_word_char): Declaration before statement.
8974
8975         regex: merge glibc changes
8976         Also, copy the license wording from glibc.  This simplifies
8977         merging changes.  gnulib-tool will change the wording to GPL as
8978         appropriate, when importing it to other packages.  The only
8979         glibc change made since the last merge, which needs merging, is:
8980         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
8981         * lib/regex_internal.h (gettext): Remove use of INTUSE.
8982
8983         * users.txt: Add Emacs.
8984
8985         doc: omit mention of version when not needed
8986         * doc/gnulib-intro.texi (Portability and Application Code):
8987         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
8988         Don't mention particular dates or versions when not necessary, so
8989         that the documentation won't go out of date so quickly.
8990
8991         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
8992
8993 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
8994
8995         bootstrap: pass --force to autoreconf.
8996         * build-aux/bootstrap (AUTORECONFFLAGS): New.
8997         Add "--force" so that Automake's ylwrap and other such tools
8998         be updated at each bootstrap invocation.
8999         Use it.
9000
9001 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
9002
9003         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
9004         The earlier patch forgot to update one of the #if conditions, causing
9005         a problem on Debian testing i386 reported by Mats Erik Andersson
9006         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
9007         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
9008         (__argp_fmtstream_puts, argp_fmtstream_puts)
9009         (__argp_fmtstream_write, argp_fmtstream_write)
9010         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
9011
9012         * doc/gnulib-readme.texi: Minor fixups.
9013         (Portability guidelines): Modernize URLs.  Remove some repetition.
9014         (Indent with spaces not TABs): Reword to avoid too-long lines.
9015         Remove some '@ifset standalone' stuff that isn't used.
9016
9017         * doc/gnulib-readme.texi (Portability guidelines):
9018         ctype.h, not ctime.h.
9019
9020         Correct name of POSIX.1-2001.
9021         * doc/posix-functions/fgetc.texi (fgetc):
9022         * doc/posix-functions/fgets.texi (fgets):
9023         * doc/posix-functions/fread.texi (fread):
9024         * doc/posix-functions/fscanf.texi (fscanf):
9025         * doc/posix-functions/getc.texi (getc):
9026         * doc/posix-functions/getchar.texi (getchar):
9027         * doc/posix-functions/scanf.texi (scanf):
9028         POSIX.1-2001, not POSIX-2001.
9029
9030         doc: move README into manual
9031         * README: Move contents to new file doc/gnulib-readme.texi.
9032         Replace with a one-line summary.
9033         * doc/gnulib.texi (Brief Overview): New section,
9034         with old intro preface.  Include gnulib-readme.texi for contents.
9035         (Philosophy): Rename from "Introduction", since this
9036         section no longer introduces the rest.  Write a new preface.
9037         * doc/gnulib-readme.texi: New file, with the old contents of
9038         README texinfo-ized.  This way, the README info appears
9039         in the online and printed manual.
9040
9041 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
9042
9043         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
9044         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
9045         c_vasprintf() prototype.
9046
9047 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
9048
9049         c-vasprintf: Fix "empty declaration" warning reported by GCC.
9050         * lib/c-vasprintf.h: Remove stray semicolon.
9051
9052 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
9053
9054         gettext: avoid obsolete macro AM_PROG_MKDIR_P
9055         It is obsolete and is planned to be removed from Automake 1.14; see
9056         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
9057         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
9058         (installdirs-data, installdirs-data-yes):
9059         Use $(MKDIR_P), not $(mkdir_p).
9060         * m4/intl.m4 (AM_INTL_SUBDIR):
9061         * m4/po.m4 (AM_PO_SUBDIRS):
9062         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
9063
9064 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9065
9066         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
9067         On this platform, we are not optimizing but we are using
9068         the substitute for extern inlines, so compile as if
9069         C99-style extern inline, or a substitute, is available.
9070         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
9071         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
9072         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
9073         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
9074         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
9075         Declare as ARGP_FS_EI, not as extern.
9076         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
9077         (__option_is_short, _option_is_end, __option_is_end)
9078         [!_LIBC && __USE_EXTERN_INLINES]:
9079         Declare as ARGP_EI, not as extern.
9080
9081 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
9082
9083         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
9084         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
9085         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
9086         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
9087         ...), as the latter is fatal with older Autoconfs.
9088         Problem reported and fix suggested by Eric Blake in thread starting at
9089         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
9090
9091 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
9092
9093         AC_PROG_MKDIR_P: don't workaround if not buggy
9094         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
9095         Define only for Autoconf versions before 2.62.
9096         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
9097         undocumented m4_PACKAGE_VERSION, for consistency with the
9098         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
9099         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
9100         was introduced in 2.62.
9101
9102 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
9103
9104         New 'c-*printf' modules for formatted output in C locale.
9105
9106         New module 'c-vasnprintf'.
9107         * modules/c-vasnprintf: New file.
9108         * lib/c-vasnprintf.c: New file.
9109         * lib/c-vasnprintf.h: New file.
9110
9111         New module 'c-snprintf'.
9112         * modules/c-snprintf: New file.
9113         * modules/c-snprintf-tests: New file.
9114         * lib/c-snprintf.c: New file.
9115         * lib/c-snprintf.h: New file.
9116         * tests/test-c-snprintf.c: New file.
9117         * tests/test-c-snprintf.sh: New file.
9118
9119         New module 'c-vsnprintf'.
9120         * modules/c-vsnprintf: New file.
9121         * modules/c-vsnprintf-tests: New file.
9122         * lib/c-vsnprintf.c: New file.
9123         * lib/c-vsnprintf.h: New file.
9124         * tests/test-c-vsnprintf.c: New file.
9125         * tests/test-c-vsnprintf.sh: New file.
9126
9127         New module 'c-vasprintf'.
9128         * modules/c-vasprintf: New file.
9129         * modules/c-vasprintf-tests: New file.
9130         * lib/c-asprintf.c: New file.
9131         * lib/c-vasprintf.c: New file.
9132         * lib/c-vasprintf.h: New file.
9133         * tests/test-c-vasprintf.c  +: New file.
9134         * tests/test-c-vasprintf.sh: New file.
9135
9136         New module 'c-xvasprintf'.
9137         * modules/c-xvasprintf: New file.
9138         * modules/c-xvasprintf-tests: New file.
9139         * lib/c-xasprintf.c: New file.
9140         * lib/c-xvasprintf.c: New file.
9141         * lib/c-xvasprintf.h: New file.
9142         * tests/test-c-xvasprintf.c: New file.
9143         * tests/test-c-xvasprintf.sh: New file.
9144
9145 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9146
9147         argp: better 'inline'
9148         Use extern-inline module to declare extern inline functions.
9149         This avoids some bogus warning diagnostics.  Problem discovered
9150         when modifying GNU tar to use the manywarnings module.
9151         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
9152         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
9153         Define based on extern-inline.
9154         * modules/argp (Depends-on): Add extern-inline.
9155
9156 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
9157
9158         filemode, sys_stat: Handle MPX files a la AIX.
9159         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
9160         * lib/sys_stat.in.h (S_ISMPX): New macro.
9161         * tests/test-sys_stat.c: Add tests for MPX files.
9162
9163 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
9164
9165         x-to-1: honor $PERL
9166         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
9167         a chance to use his preferred version of Perl.  This is typically
9168         required by Darwin users whose default /usr/bin/perl does not have all
9169         the libraries required by help2man, and who need to use their MacPorts
9170         installation of Perl instead.
9171
9172 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
9173
9174         gnu-web-doc-update: add all the new files, even in new directories
9175         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
9176         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
9177         Use it.
9178         (main): Don't use cvsutils to get the list of unknown files,
9179         just add all the existing files and directories.
9180
9181 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
9182
9183         gnu-web-doc-update: improve --help
9184         * build-aux/gnu-web-doc-update: Move comments into --help.
9185
9186 2012-12-07  Eric Wong  <normalperson@yhbt.net>
9187
9188         mountlist: recognize more "dummy" file systems
9189         * lib/mountlist.c (ME_DUMMY_0):
9190         Add these dummy FS names to the list:
9191         - "debugfs" virtual filesystem for kernel debugging
9192         - "devpts" PTY slave filesystem
9193         - "devtmpfs" device filesystem on top of tmpfs/ramfs
9194         - "fusectl" control filesystem for FUSE
9195         - "mqueue" enumerates POSIX message queues
9196         - "rpc_pipefs" kernel <-> userspace bridge for NFS
9197         - "sysfs" is for exporting kernel objects
9198         - "devfs" device filesystem for Linux 2.4 and FreeBSD
9199
9200 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
9201
9202         extern-inline: avoid incompatibility with Darwin Libc
9203         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
9204         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
9205         Problem reported by Akim Demaille in
9206         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
9207
9208 2012-12-11  Simon Josefsson  <simon@josefsson.org>
9209
9210         gnupload: Work with GnuPG using gpg-agent (for smartcards).
9211         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
9212         let it handle password prompting.
9213
9214 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
9215
9216         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
9217         * lib/canonicalize.c (canonicalize_filename_mode):
9218         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
9219         fetching the current directory.  Don't overrun the beginning of
9220         rpath if there's no slashes after the MS-Windows drive letter.
9221
9222 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
9223
9224         maint.mk: avoid extra forks
9225         * top/maint.mk (_cfg_mk): The GNU make manual documents that
9226         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
9227         So use that instead of "$(shell test -f FILE && echo FILE)".
9228
9229 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
9230
9231         vasnprintf: fix ASCII_ONLY typo
9232         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
9233         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
9234         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
9235         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
9236         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
9237
9238 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
9239
9240         list, oset, xlist, xoset: fix extern inline issue with C99
9241         This was introduced by my recent changes for 'inline'.
9242         Problem reported for gettext by Daiki Ueno in
9243         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
9244         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
9245         (gl_list_nx_create, gl_list_size, gl_list_node_value)
9246         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
9247         (gl_list_previous_node, gl_list_get_at)
9248         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
9249         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
9250         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
9251         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
9252         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
9253         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
9254         (gl_list_iterator_free, gl_sortedlist_search)
9255         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
9256         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
9257         (gl_sortedlist_remove):
9258         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
9259         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
9260         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
9261         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
9262         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
9263         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
9264         (gl_list_add_at, gl_sortedlist_add):
9265         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
9266         Wrap these extern decls inside "#if 0", because they are implemented
9267         as inline functions, and extern inline is not what's wanted here.
9268         It would simplify these .h files to remove the extern decls entirely,
9269         although a downside would be less-clear separation between
9270         specification and implementation.
9271
9272 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
9273
9274         sys_stat: no 'static inline'
9275         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
9276         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
9277
9278         extern-inline: no 'static inline'
9279         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
9280         Do not require AC_C_INLINE.
9281         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
9282         'static inline', for older compilers.
9283
9284         snippet/warn-on-use: no 'static inline'
9285         * build-aux/snippet/warn-on-use.h:
9286         Remove unnecessary 'inline' in comment.
9287
9288         rbtree-list, rbtreehash-list: no 'static inline'
9289         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
9290         * lib/gl_anytree_list2.h (node_at):
9291         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
9292         (gl_oset_first, add_nodes_to_buckets):
9293         Now static, not static inline.
9294
9295         regex: no 'static inline'
9296         * lib/regex_internal.c (calc_state_hash):
9297         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
9298         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
9299         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
9300         Now static, not static inline.
9301         (inline) [__GNUC__ < 3 && _LIBC]:
9302         Remove macro; no longer needed.
9303
9304         xvasprintf: no 'static inline'
9305         * lib/xvasprintf.c (xstrcat):
9306         Now static, not static inline.
9307         * m4/xvasprintf.m4 (gl_XVASPRINTF):
9308         Do not require AC_C_INLINE.
9309
9310         parse-datetime, parse-duration: no 'static inline'
9311         * lib/parse-datetime.y (to_uchar):
9312         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
9313         (scale_n_add):
9314         Now static, not static inline.
9315         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
9316         * modules/parse-duration (configure.ac):
9317         Do not require AC_C_INLINE.
9318
9319         getaddrinfo: no 'static inline'
9320         * lib/getaddrinfo.c (validate_family):
9321         Now static, not static inline.
9322         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
9323         Do not require AC_C_INLINE.
9324
9325         ftruncate, fts, lstat, openat, raise: no 'static inline'
9326         * lib/ftruncate.c (chsize_nothrow):
9327         * lib/fts.c (opendirat, diropen):
9328         * lib/lstat.c (orig_lstat):
9329         * lib/openat.c (orig_openat):
9330         * lib/raise.c (raise_nothrow):
9331         Now static, not static inline.
9332         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
9333         * m4/fts.m4 (gl_FUNC_FTS_CORE):
9334         * m4/lstat.m4 (gl_PREREQ_LSTAT):
9335         * m4/openat.m4 (gl_PREREQ_OPENAT):
9336         * m4/raise.m4 (gl_PREREQ_RAISE):
9337         Do not require AC_C_INLINE.
9338
9339         fflush, stat: no 'static inline'
9340         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
9341         (clear_ungetc_buffer, disable_seek_optimization)
9342         (restore_seek_optimization, update_fpos_cache):
9343         * lib/stat.c (orig_stat):
9344         Now static, not static inline.
9345         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
9346         (update_fpos_cache):
9347         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
9348         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
9349         * m4/stat.m4 (gl_PREREQ_STAT):
9350         Do not require AC_C_INLINE.
9351
9352         error, filevercmp: no 'static inline'
9353         * lib/error.c (is_open, flush_stdout):
9354         * lib/filevercmp.c (order):
9355         Now static, not static inline.
9356         * m4/error.m4 (gl_PREREQ_ERROR):
9357         * modules/filevercmp (configure.ac):
9358         Do not require AC_C_INLINE.
9359
9360         dup, execute, fatal-signal, etc.: no 'static inline'
9361         * lib/dup.c (dup_nothrow):
9362         * lib/execute.c (nonintr_close, nonintr_open):
9363         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
9364         * lib/fopen.c (orig_fopen):
9365         * lib/freadseek.c (freadptrinc):
9366         * lib/freopen.c (orig_freopen):
9367         * lib/fstat.c (orig_fstat, fstat_nothrow):
9368         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
9369         (get_rusage_as_via_iterator):
9370         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
9371         * lib/getdtablesize.c (_setmaxstdio_nothrow):
9372         * lib/isatty.c (_isatty_nothrow):
9373         * lib/open.c (orig_open):
9374         * lib/read.c (read_nothrow):
9375         * lib/sigprocmask.c (signal_nothrow):
9376         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
9377         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
9378         * lib/wait-process.c (unregister_slave_subprocess):
9379         * lib/write.c (write_nothrow):
9380         Now static, not static inline.
9381         * lib/spawn-pipe.c (nonintr_open): Define only if
9382         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
9383         * m4/dup.m4 (gl_PREREQ_DUP):
9384         * m4/execute.m4 (gl_EXECUTE):
9385         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
9386         * m4/fopen.m4 (gl_PREREQ_FOPEN):
9387         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
9388         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
9389         * m4/fstat.m4 (gl_PREREQ_FSTAT):
9390         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
9391         * m4/isatty.m4 (gl_PREREQ_ISATTY):
9392         * m4/open.m4 (gl_PREREQ_OPEN):
9393         * m4/read.m4 (gl_PREREQ_READ):
9394         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
9395         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
9396         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
9397         * m4/wait-process.m4 (gl_WAIT_PROCESS):
9398         * m4/write.m4 (gl_PREREQ_WRITE):
9399         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
9400         Do not require AC_C_INLINE.
9401
9402         c-strtod, memcoll, readutmp: no 'static inline'
9403         * lib/c-strtod.c (c_locale):
9404         * lib/memcoll.c (strcoll_loop):
9405         * lib/readutmp.c (desirable_utmp_entry):
9406         Now static, not static inline.
9407         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
9408         * m4/memcoll.m4 (gl_MEMCOLL):
9409         * m4/readutmp.m4 (gl_READUTMP):
9410         Do not require AC_C_INLINE.
9411
9412         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
9413         * lib/arctwo.c (to_uchar):
9414         * lib/md4.c (set_uint32):
9415         * lib/md5.c (set_uint32):
9416         * lib/sha1.c (set_uint32):
9417         * lib/sha256.c (set_uint32):
9418         * lib/sha512.c (set_uint64):
9419         Now static, not static inline.  This is a bit simpler, and doesn't
9420         affect performance with GCC and default optimization.
9421         * m4/arctwo.m4 (gl_ARCTWO):
9422         * m4/md4.m4 (gl_MD4):
9423         * m4/md5.m4 (gl_MD5):
9424         * m4/sha1.m4 (gl_SHA1):
9425         * m4/sha256.m4 (gl_SHA256):
9426         * m4/sha512.m4 (gl_SHA512):
9427         Do not require AC_C_INLINE.
9428
9429         cond, lock, thread: better 'inline'
9430         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
9431         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
9432         New macros.  Use them instead of static inline, for header functions.
9433         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
9434         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
9435         * lib/glthread/lock.c (gl_waitqueue_init)
9436         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
9437         * lib/glthread/thread.c (get_current_thread_handle):
9438         Change 'static inline' to 'inline'.
9439         * lib/glthread/cond.h, lib/glthread/thread.h:
9440         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9441         * m4/cond.m4 (gl_COND):
9442         * m4/lock.m4 (gl_PREREQ_LOCK):
9443         * m4/thread.m4 (gl_THREAD):
9444         Do not require AC_C_INLINE.
9445         * modules/cond, modules/thread (Depends-on): Add extern-inline.
9446
9447         chdir-long, cycle-check, savewd: better 'inline'
9448         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
9449         (find_non_slash):
9450         * lib/cycle-check.c (is_zero_or_power_of_two):
9451         * lib/savewd.c (savewd_delegating):
9452         Change 'static inline' to 'inline'.
9453         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
9454         Replace all remaining uses of 'static inline' with it.
9455         * lib/savewd.h:
9456         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9457         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
9458         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
9459         * m4/savewd.m4 (gl_SAVEWD):
9460         Do not require AC_C_INLINE.
9461         * modules/savewd (Depends-on): Add extern-inline.
9462
9463         base32, base64: no need for 'inline'
9464         * lib/base32.c (to_uchar, get_8, decode_8):
9465         * lib/base64.c (to_uchar, get_4, decode_4):
9466         Change 'static inline' to 'inline'.
9467         * m4/base32.m4 (gl_PREREQ_BASE32):
9468         * m4/base64.m4 (gl_PREREQ_BASE64):
9469         Do not require AC_C_INLINE.
9470
9471         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
9472         * lib/gl_array_oset.c (gl_array_nx_add_at):
9473         (gl_array_remove_at):
9474         * lib/gl_linkedhash_list.c (hash_resize_after_add)
9475         (add_to_bucket, remove_from_bucket):
9476         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
9477         Change 'static inline' to 'static', as it's simpler to omit
9478         'inline' unless there's a significant performance advantage.
9479
9480         list, oset, xlist, xoset, xsublist: simplify via extern inline
9481         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
9482         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
9483         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
9484         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
9485         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
9486         New macro.  Replace all uses of 'static inline' with it.
9487         [HAVE_INLINE]: Implement functions as *_INLINE functions,
9488         instead of as macros FOO that are defined to static inline
9489         functions FOO_inline.
9490         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
9491         * lib/gl_xsublist.c:
9492         Reimplement from scratch, by defining the corresponding *_INLINE
9493         macro and including the corresponding .h file.  This is simpler.
9494         * modules/list, modules/oset, modules/xlist, modules/xoset:
9495         (Files): Remove m4/gl_list.m4.
9496         (configure.ac): Remove gl_LIST.
9497         * m4/gl_list.m4: Remove.
9498         * modules/list, modules/oset, modules/xlist, modules/xoset:
9499         * modules/xsublist:
9500         (Depends-on): Depend on extern-inline, not inline.
9501
9502         xalloc: better 'inline'
9503         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
9504         New macro.  Replace all uses of 'static inline' with it.
9505         (static_inline): Remove.
9506         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
9507         Let 'extern inline' do the work automatically, instead of doing
9508         it by hand.
9509         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
9510         Remove.  All uses removed.
9511         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
9512
9513         gethrxtime: better 'inline'
9514         * lib/xtime.c: New file.
9515         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
9516         * lib/xtime.h (XTIME_INCLUDE):
9517         New macros.  Replace all uses of 'static inline' with them.
9518         * lib/gethrxtime.c (gethrxtime): Define only if
9519         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
9520         this source file is now always compiled, because of the extern inline.
9521         * lib/gethrxtime.h, lib/xtime.h:
9522         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9523         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
9524         if gethrtime works, as they're not needed in that case.
9525         (gl_XTIME): Do not require AC_C_INLINE.
9526         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
9527         compiled now.  Move the check into gl_GETHRXTIME.
9528         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
9529         (Depends-on): Add extern-inline.
9530         (configure.ac): gethrxtime is always compiled now.
9531         (lib_SOURCES): Add gethrxtime.c.
9532
9533         wctype-h: better 'inline'
9534         * lib/wctype-h.c: New file.
9535         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
9536         New macro.  Replace all uses of 'static inline' with it.
9537         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9538         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
9539         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
9540         (Depends-on): Add extern-inline.
9541
9542         unistd: better 'inline'
9543         * lib/unistd.c: New file.
9544         * lib/unistd.in.h (_GL_UNISTD_INLINE):
9545         New macro.  Replace all uses of 'static inline' with it.
9546         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9547         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
9548         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
9549         (Depends-on): Add extern-inline.
9550
9551         sys_socket: better 'inline'
9552         * lib/sys_socket.c: New file.
9553         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
9554         New macro.  Replace all uses of 'static inline' with it.
9555         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9556         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
9557         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
9558         (Depends-on): Add extern-inline.
9559
9560         stdio: better 'inline'
9561         * lib/stdio.c: New file.
9562         * lib/stdio.in.h (_GL_STDIO_INLINE):
9563         New macro.  Replace all uses of 'static inline' with it.
9564         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9565         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
9566         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
9567         (Depends-on): Add extern-inline.
9568
9569         sigaction: better 'inline'
9570         * lib/sig-handler.c: New file.
9571         * lib/sig-handler.h (SIG_HANDLER_INLINE):
9572         New macro.  Replace all uses of 'static inline' with it.
9573         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9574         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
9575         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
9576         (Depends-on): Add extern-inline.
9577
9578         selinux-h: better 'inline'
9579         * lib/se-context.c, lib/se-selinux.c: New files.
9580         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
9581         * lib/se-context.in.h (SE_CONTEXT_INLINE):
9582         New macro.  Replace all uses of 'static inline' with it.
9583         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9584         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
9585         New macro.  Replace all uses of 'static inline' with it.
9586         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9587         * modules/selinux-h (Files, lib_SOURCES):
9588         Add lib/se-context.c, lib/se-selinux.c.
9589         (Depends-on): Add extern-inline.
9590         (configure.ac): Do not require AC_C_INLINE.
9591
9592         pthread: better 'inline'
9593         * lib/pthread.c: New file.
9594         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
9595         New macro.  Replace all uses of 'static inline' with it.
9596         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9597         * m4/pthread.m4 (gl_PTHREAD_CHECK):
9598         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
9599         * modules/pthread (Files): Add lib/pthread.c.
9600         (Depends-on): Add extern-inline.
9601
9602         math: better 'inline'
9603         * lib/math.c: New file.
9604         * lib/math.in.h (_GL_MATH_INLINE):
9605         New macro.  Replace all uses of 'static inline' with it.
9606         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9607         * m4/math_h.m4 (gl_MATH_H):
9608         Do not require AC_C_INLINE.
9609         * modules/math (Files, lib_SOURCES):
9610         Add lib/math.c.
9611         (Depends-on): Add extern-inline.
9612
9613         count-one-bits: better 'inline'
9614         * lib/count-one-bits.c: New file.
9615         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
9616         New macro.  Replace all uses of 'static inline' with it.
9617         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9618         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
9619         Do not require AC_C_INLINE.
9620         * modules/count-one-bits (Files, lib_SOURCES):
9621         Add lib/count-one-bits.c.
9622         (Depends-on): Add extern-inline.
9623
9624         count-leading-zeros: better 'inline'
9625         * lib/count-leading-zeros.c: New file.
9626         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
9627         New macro.  Replace all uses of 'static inline' with it.
9628         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9629         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
9630         Do not require AC_C_INLINE.
9631         * modules/count-leading-zeros (Files, lib_SOURCES):
9632         Add lib/count-leading-zeros.c.
9633         (Depends-on): Add extern-inline.
9634
9635         bitrotate: better 'inline'
9636         * lib/bitrotate.c: New file.
9637         * lib/bitrotate.h (BITROTATE_INLINE):
9638         New macros.
9639         Replace all uses of 'static inline' with them.
9640         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9641         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
9642         (Depends-on): Add extern-inline.
9643         (configure.ac): Do not require AC_C_INLINE.
9644
9645 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
9646
9647         maint.mk: avoid gratuitous failure
9648         Reported by Stefano Lattarini in
9649         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
9650         * top/maint.mk (public-submodule-commit): Quote more safely.
9651
9652 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
9653
9654         canonicalize, canonicalize-lgpl: support MS-Windows file names
9655         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
9656         for test cases, which it'd be nice to add at some point.
9657         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
9658         * lib/canonicalize.c (canonicalize_filename_mode):
9659         * lib/canonicalize-lgpl.c (__realpath):
9660         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
9661         slash is at the beginning of the file name.  Use ISSLASH, instead
9662         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
9663         the first character with '/'.  Test for
9664         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
9665         with a drive letter.
9666         * lib/canonicalize.c (SLASHES): New macro.
9667         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
9668
9669 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
9670
9671         fts: introduce FTS_VERBATIM
9672         * lib/fts_.h (FTS_VERBATIM): New bit flag.
9673         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
9674         * lib/fts.c (fts_open): Honor it.
9675
9676 2012-11-09  Pádraig Brady  <P@draigBrady.com>
9677
9678         getlogin-tests: allow errno == ENXIO
9679         * tests/test-getlogin.c (main): Skip tests if getlogin fails
9680         with errno == ENXIO (No controlling tty).
9681         getlogin_r-tests: Likewise. Also allow errno == ENOENT
9682         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
9683         with errno == ENOENT.  This was reported to happen in various
9684         situations on GNU/Linux.
9685
9686 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
9687
9688         getlogin-tests: allow errno == ENOENT
9689         * tests/test-getlogin.c (main): Skip tests if getlogin fails
9690         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
9691         when running a test in an Emacs shell buffer.
9692
9693 2012-11-08  Jim Meyering  <jim@meyering.net>
9694
9695         tests/nap.h: avoid warning about unused variable
9696         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
9697
9698         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
9699         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
9700         white space before each of the special-cased file names, to avoid
9701         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
9702         in http://bugs.gnu.org/12830.
9703
9704 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
9705
9706         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
9707         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
9708         fails with errno == EBADF when fd is opened with O_PATH.
9709         Reported by Jim Meyering in
9710         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
9711         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
9712         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
9713
9714 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
9715
9716         test-utimens: speed up by taking shorter naps
9717         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
9718         New functions.
9719         (nap): Use them, to do a better job of guessing the delay.
9720         On Fedora 17 with ext4 atop md atop hard disks, this made
9721         test-utimens run 10x faster, because the test napped for
9722         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
9723         <http://bugs.gnu.org/12820#11>.
9724
9725 2012-11-07  Jim Meyering  <jim@meyering.net>
9726
9727         mountlist.c: fix a compilation failure
9728         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
9729         I introduced while transforming commit v0.0-7683-g613bcb6
9730
9731 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
9732
9733         errno: port to LynxOS 178 2.2.2
9734         Problem reported by Joel Brobecker in
9735         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
9736         * doc/posix-headers/errno.texi (errno.h): Document this.
9737         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
9738         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
9739         Supply a string for EILSEQ.
9740         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
9741
9742 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
9743
9744         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
9745         Linux kernel 2.6.39 introduced O_PATH (see
9746         <http://lwn.net/Articles/433854/>) and this is a better fallback
9747         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
9748         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
9749         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
9750         * lib/fcntl.in.h (O_ACCMODE):
9751         * tests/test-fcntl-h.c (main):
9752         Do not reject O_ACCMODE merely because it has more than the
9753         minimal number of bits, as POSIX allows extensions here.
9754
9755 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
9756
9757         mountlist: do not classify a bind-mounted dir entry as "dummy"
9758         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
9759         the "none"-testing clause.
9760         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
9761         exception for bind-mounted directories.
9762
9763 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
9764
9765         quote: provide a means to escape strings with nul characters
9766         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
9767         (quote, quote_n): Rename formal arguments for consistency with
9768         quotearg.
9769
9770 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
9771
9772         test-raise: don't assume 199 is an invalid signal
9773         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
9774
9775         sh-quote-tests: port to Solaris 9
9776         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
9777         Problem reported by Dagobert Michelsen in
9778         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
9779
9780 2012-10-28  Jim Meyering  <jim@meyering.net>
9781
9782         maint.mk: rename a new configurable variable
9783         * top/maint.mk (_gl_translatable_string_re): Rename from
9784         translation-markers: _gl_ prefix to insulate from user Makefile code,
9785         and the _re suffix to inform that it's a regular expression.
9786
9787 2012-10-26  Eric Blake  <eblake@redhat.com>
9788
9789         maint.mk: let packages tweak sc_po_check pattern
9790         * top/maint.mk (sc_po_check): Add translation-markers, to allow
9791         finding files with other translation markers.
9792
9793 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
9794
9795         euidaccess: speed up 'configure' on GNU hosts
9796         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
9797         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
9798         it's needed only in this case.  Use AC_CHECK_DECLS, not
9799         AC_CHECK_DECLS_ONCE.
9800         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
9801         or AC_REQUIRE for AC_FUNC_GETGROUPS.
9802
9803         * lib/regexec.c (re_search_internal): Fix grammar in comment.
9804
9805 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
9806
9807         fchmodat, fchownat, fstatat: port to non-inlining compilers
9808         Problem reported for FreeBSD 9 by Jim Meyering in
9809         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
9810         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
9811         New files, which define FCHMODAT_INLINE etc.
9812         * lib/fchmodat.c (FCHMODAT_INLINE):
9813         * lib/fchownat.c (FCHOWNAT_INLINE):
9814         * lib/fstatat.c (FSTATAT_INLINE):
9815         Remove, as chmodat.c etc. now do this.
9816         * modules/fchmodat (Files): Add lib/chmodat.c.
9817         * modules/fchownat (Files): Add lib/chownat.c.
9818         * modules/fstatat (Files): Add lib/statat.c.
9819
9820 2012-10-15  Jim Meyering  <jim@meyering.net>
9821
9822         fchmodat.c, fchownat.c: compile-impeding typos
9823         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
9824         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
9825         Introduced in commit v0.0-7636-gd202279.
9826
9827 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
9828
9829         fcntl-h: support GNU flags like O_IGNORE_CTTY
9830         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
9831         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
9832         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
9833         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
9834         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
9835         Define to 0 if not already defined.
9836         * tests/test-fcntl-h.c: Test these new flags.
9837
9838 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9839
9840         faccessat, etc.: support AT_FDCWD-only use
9841         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
9842         this function only if its first argument is AT_FDCWD.
9843         Emacs wants faccessat for AT_EACCESS but not for any first-arg
9844         values other than AT_FDCWD, so it doesn't want all the openat
9845         machinery with fchdir etc.
9846         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
9847         * modules/fstatat, modules/mkdirat, modules/openat (Files):
9848         * modules/unlinkat (Files):
9849         Remove lib/openat-priv.h, as at-internal supplies this file.
9850         Removing this file here allows us to support programs like Emacs
9851         that avoid at-internal.
9852
9853         faccessat: speed up 'configure' on mainstream hosts
9854         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
9855         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
9856         since it's only on unusual platforms that we need to check for
9857         'access', and it's better not to slow 'configure' down on all
9858         platforms.
9859
9860         faccessat: port to Solaris 10
9861         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
9862         Needed on Solaris 10, which doesn't have AT_EACCESS,
9863         so we need the Gnulib fcntl.h, which defines it.
9864
9865 2012-10-14  Pádraig Brady  <P@draigBrady.com>
9866         canonicalize: fix C89 compilation
9867         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
9868         declarations so C89 is supported.  Also remove the comment
9869         referencing memorty allocation as the suggested feature could
9870         not be implemented as suggested.
9871         Reported by Michael Goffioul.
9872
9873 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
9874
9875         group-member: omit unnecessary dependencies
9876         This is for Emacs, which has its own allocator and where we
9877         don't want to use xalloc.
9878         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
9879         since we no longer use xmalloc.  Do not include stdbool.h, since
9880         the changes below happen to remove the only use of bool.
9881         (GROUPBUF_SIZE): New constant.
9882         (struct group_info): Remove n_groups member.  Add groupbuf member.
9883         This lets us get the groups without using malloc, usually.
9884         (free_group_info, get_group_info): Adjust to this.
9885         (get_group_info): Return the number of groups found, or -1 on error.
9886         Use plain malloc not xmalloc, and treat its failure as if there
9887         are no groups, as the user already loses in case of error.
9888         (group_member): Simplify, based on changes to get_group_info.
9889         * modules/group-member (Depends-on): Remove dependencies on
9890         xalloc and stdbool.  Add dependency on xalloc-oversized.
9891
9892 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
9893
9894         gethrxtime: port to C++
9895         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
9896
9897 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
9898
9899         ptsname: fix macro-name typo
9900         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
9901
9902 2012-10-03  Simon Josefsson  <simon@josefsson.org>
9903
9904         inttostr: Relax license.
9905         * modules/inttostr (License): Change from LGPL to LGPLv2+.
9906
9907 2012-10-03  Eric Blake  <eblake@redhat.com>
9908
9909         ptsname_r: support ptys returned by FreeBSD posix_openpt
9910         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
9911         lives in /dev/pts/.
9912
9913 2012-10-02  Eric Blake  <eblake@redhat.com>
9914
9915         pselect: reject invalid file descriptors
9916         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
9917         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
9918         * modules/pselect (Depends-on): Add dup2.
9919         * doc/posix-functions/pselect.texi (pselect): Document this.
9920
9921         select: reject invalid file descriptors
9922         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
9923         * lib/select.c (rpl_select) [!win32]: Work around it.
9924         * modules/select (Depends-on): Add dup2.
9925         * doc/posix-functions/select.texi (select): Document this.
9926
9927         select: enhance test
9928         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
9929         New functions.
9930         (test_function): Enhance test.
9931         (do_select_bad_fd): Avoid any stale errno values.
9932
9933         ptsname: reject invalid file descriptors
9934         http://www.austingroupbugs.net/view.php?id=503
9935         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
9936         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
9937         * modules/stdlib (Makefile.am): Replace witness.
9938         * lib/stdlib.in.h (ptsname): Allow for replacement.
9939         * modules/ptsname (configure.ac): Trigger replacement.
9940         * doc/posix-functions/ptsname.texi (ptsname): Document this.
9941
9942 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
9943
9944         hash-pjw-bare: new module
9945         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
9946         * lib/hash-pjw-bare.h: Likewise.
9947         * modules/hash-pjw-bare: New file.
9948         * MODULES.html.sh (Misc): Add it.
9949
9950 2012-10-02  Eric Blake  <eblake@redhat.com>
9951
9952         manywarnings: cater to more gcc infelicities
9953         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
9954         -Wuninitialized without -O.
9955
9956 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
9957
9958         select, poll tests: Make setsockopt invocation effective.
9959         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
9960         the bind() call.
9961         * tests/test-select.h (open_server_socket): Likewise.
9962
9963 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
9964
9965         sockets, sys_stat: restore AC_C_INLINE
9966         This undoes the 2012-09-22 patch.
9967         * m4/sockets.m4 (gl_SOCKETS):
9968         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
9969         Restore AC_C_INLINE, since MSVC requires __inline or _inline
9970         and does not support plain 'inline'.  Reported by Bruno Haible in
9971         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
9972
9973 2012-09-30  Bruno Haible  <bruno@clisp.org>
9974
9975         localeconv tests: Avoid test failure on OpenIndiana.
9976         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
9977         skip the 'grouping' and 'mon_grouping' tests.
9978         Reported by Jim Meyering.
9979
9980 2012-09-30  Bruno Haible  <bruno@clisp.org>
9981
9982         havelib: Follow libtool developments.
9983         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
9984         Suggested by Simon Josefsson.
9985
9986 2012-09-29  Jim Meyering  <meyering@redhat.com>
9987
9988         fstatat.c: fix a compile-impeding typo
9989         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
9990         Introduced in commit v0.0-7636-gd202279.
9991         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
9992
9993 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
9994
9995         extern-inline: provide a -Wundef safe config.h
9996         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
9997         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
9998         to produce a -Wundef warning free config.h.
9999
10000 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10001
10002         hash-pjw: relax license to LGPLv2+
10003         * modules/hash-pjw (License): Relax, with consent of author.
10004
10005 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
10006
10007         maint.mk: fix strict vs. lazy variable issues with RELEASE
10008         * top/maint.mk (_equal): New function.
10009         (member_check): Strip the result to avoid spurious spaces.
10010         (url_dir_list): Do not use ifeq, which is strict, as it will
10011         require RELEASE_TYPE to be defined.
10012         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
10013         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
10014         (announcement_Cc_alpha,announcement_mail_headers_alpha)
10015         (announcement_Cc_beta,announcement_mail_headers_beta)
10016         (announcement_Cc_stable,announcement_mail_headers_stable): these.
10017         (release): Do not depend on $(release-type), as it forces its
10018         evaluation.  Bounce to it.
10019
10020 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
10021
10022         maint.mk: formatting changes
10023         * top/maint.mk: Indent bodies of if's.
10024
10025 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
10026
10027         maint.mk: factor the validation of RELEASE_TYPE
10028         With help from Jim Meyering.
10029         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
10030         * top/maint.mk (_empty, _sp): Move their definition earlier.
10031         (member-check, release-type): New.
10032         Use the latter instead of $(RELEASE_TYPE).
10033         Remove now useless local checks.
10034
10035 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
10036
10037         maint.mk: provide "make upload" to ease uploading
10038         See
10039         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
10040         Do not depend simply on the current $(VERSION), as there may have been
10041         new commits since the tarball generation.  Rather, rely on $(RELEASE),
10042         as "make release-commit" already does.
10043
10044         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
10045         "make TYPE".
10046
10047         * top/maint.mk (upload_command, upload, release): New.
10048         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
10049         (VERSION): first word of $(RELEASE) is always right.
10050         (emit_upload_commands): Adjust.
10051         * top/README-release: Update.
10052
10053 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
10054
10055         maint.mk: silent rules
10056         With help from Stefano Lattarini.
10057         * top/maint.mk (writable-files): Use $(AM_V_GEN).
10058         (announcement): Use $(AM_V_at).
10059
10060 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10061
10062         localename: port gl_locale_name_thread_unsafe to FreeBSD
10063         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
10064         and use the simpler FreeBSD implementation on Mac OS X as well.
10065         Original idea suggested by Ed Maste in
10066         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
10067
10068 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10069
10070         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
10071         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
10072         * lib/mbuiter.c, lib/xsize.c: New files.
10073         * lib/binary-io.h (BINARY_IO_INLINE):
10074         * lib/eealloc.h (EEALLOC_INLINE):
10075         * lib/mbfile.h (MBFILE_INLINE):
10076         * lib/mbiter.h (MBITER_INLINE):
10077         * lib/mbuiter.h (MBUITER_INLINE):
10078         * lib/xsize.h (XSIZE_INLINE):
10079         New macros.
10080         Replace all uses of 'static inline' with them.
10081         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
10082         * m4/eealloc.m4 (gl_EEALLOC):
10083         * m4/mbfile.m4 (gl_MBFILE):
10084         * m4/mbiter.m4 (gl_MBITER):
10085         * m4/xsize.m4 (gl_XSIZE):
10086         Do not require AC_C_INLINE.
10087         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
10088         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
10089         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
10090         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
10091         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
10092         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
10093         * modules/binary-io, modules/eealloc, modules/mbfile:
10094         * modules/mbiter, modules/mbuiter:
10095         (Depends-on): Add extern-inline.
10096
10097         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
10098         * lib/pipe-filter-aux.c: New file.
10099         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
10100         Replace all uses of 'static inline' with it.
10101         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
10102         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
10103         (filter_retcode): No real need for inline here.
10104         * modules/pipe-filter-gi, modules/pipe-filter-ii:
10105         (Files): Add lib/pipe-filter-aux.c.
10106         (Depends-on): Add extern-inline.
10107         (configure.ac): Do not require AC_C_INLINE.
10108         (lib_SOURCES): Add pipe-filter-aux.c.
10109
10110         fdutimensat: omit unnecessary AC_C_INLINE
10111         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
10112
10113         fchmodat, fchownat, fstatat: use extern-inline
10114         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
10115         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
10116         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
10117         New macros.
10118         * lib/openat.h:
10119         Replace all uses of 'static inline' with them.
10120         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
10121         * modules/fchmodat, modules/fchownat, modules/fstatat:
10122         * modules/openat-h:
10123         (Depends-on):
10124         Add extern-inline.
10125         (configure.ac): Remove AC_C_INLINE.
10126
10127         acl, mbchar, priv-set: use extern-inline
10128         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
10129         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
10130         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
10131         New macros.
10132         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
10133         Replace all uses of 'static inline' with it.
10134         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
10135         * m4/acl.m4 (gl_FUNC_ACL):
10136         * m4/mbchar.m4 (gl_MBCHAR):
10137         * m4/priv-set.m4 (gl_PRIV_SET):
10138         Remove AC_C_INLINE, since 'inline' is no longer used directly.
10139         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
10140         Add extern-inline.
10141
10142         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
10143         * m4/sockets.m4 (gl_SOCKETS):
10144         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
10145         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
10146         environments where it's already guaranteed to work, so we needn't
10147         check for it at 'configure'-time.
10148
10149         tls-tests: omit unnecessary 'inline'
10150         * tests/test-tls.c (perhaps_yield): No longer inline.
10151         Simplicity and portability trump efficiency in test cases.
10152
10153         utimens-tests: avoid unnecessary 'inline'
10154         * modules/fdutimensat-tests (configure.ac):
10155         * modules/futimens-tests (configure.ac):
10156         * modules/utimens-tests (configure.ac):
10157         * modules/utimensat-tests (configure.ac):
10158         Remove AC_C_INLINE.
10159         * tests/test-utimens-common.h (ctime_compare):
10160         No longer inline.  Simplicity and portability trump efficiency here.
10161
10162         misc: don't limit commentary to inline functions
10163         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
10164         * lib/xalloc-oversized.h, lib/xsize.h:
10165         Contrast macros to functions in general, not just to inline functions,
10166         when the commentary does not apply only to inline functions.
10167
10168 2012-09-20  Jim Meyering  <meyering@redhat.com>
10169
10170         non-recursive-gnulib-prefix-hack: new module
10171         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
10172         the file that originated in Bison.
10173         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
10174         largely copied from a snippet that resided in bison's configure.ac.
10175         * modules/non-recursive-gnulib-prefix-hack: New file.
10176         * MODULES.html.sh (Support for maintaining and releasing projects):
10177         Add it.
10178
10179 2012-09-18  Jim Meyering  <meyering@redhat.com>
10180
10181         maint.mk: generalize _gl_tight_scope for non-recursive make
10182         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
10183         that *.h would describe additional .h files in the directory
10184         specified by $(_gl_TS_dir).  I.e., add this...
10185         (_gl_TS_other_headers): New variable.
10186
10187         maint.mk: exempt trailing blanks found in "binary" files
10188         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
10189         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
10190         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
10191
10192 2012-09-17  Jim Meyering  <meyering@redhat.com>
10193
10194         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
10195         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
10196         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
10197         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
10198
10199 2012-09-17  Jim Meyering  <meyering@redhat.com>
10200
10201         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
10202         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
10203         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
10204         It is not in the same category as "exit (0)" or "exit (1)", and
10205         besides, I know of no symbolic name for that 77.  Reported by
10206         Richard W.M. Jones in
10207         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
10208
10209 2012-09-17  Jim Meyering  <meyering@redhat.com>
10210
10211         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
10212         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
10213         all uses of #define, not just those that start in column 1.
10214         Richard W.M. Jones reported a false positive in
10215         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
10216
10217 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10218
10219         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
10220         * lib/localcharset.c (locale_charset) [DARWIN7]:
10221         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
10222         as these two values are incompatible.  Problem reported by Max Horn.
10223         For more discussion, please see
10224         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
10225
10226         doc: document sticky-EOF issue
10227         * doc/posix-functions/fgetc.texi (fgetc):
10228         * doc/posix-functions/fgets.texi (fgets):
10229         * doc/posix-functions/fread.texi (fread):
10230         * doc/posix-functions/fscanf.texi (fscanf):
10231         * doc/posix-functions/getc.texi (getc):
10232         * doc/posix-functions/getchar.texi (getchar):
10233         * doc/posix-functions/scanf.texi (scanf):
10234         Mention that glibc and default Solaris do not conform to
10235         C99 and POSIX-2001 or later, with respect to how getchar
10236         etc. behave when feof reports nonzero.
10237
10238 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
10239
10240         poll: fix poll(0, NULL, msec)
10241         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
10242         but nfd is 0.  In that case poll should behave like select.
10243
10244 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
10245             Paolo Bonzini <bonzini@gnu.org>
10246
10247         poll: fix for systems that can't recv() on a non-socket
10248         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
10249         is readable.  In this case POLLHUP will not be supported.
10250         * doc/posix-functions/poll.texi: Document this.
10251
10252 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
10253
10254         poll/select: document portability problems not fixed by Gnulib.
10255         * doc/posix-functions/poll.texi: poll does not work well on
10256         pipes under Windows.  It has the same limitations as select on
10257         BeOS.
10258         * doc/posix-functions/select.texi: select does not work well
10259         on pipes under Windows.
10260
10261 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
10262
10263         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
10264         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
10265         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
10266         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
10267
10268 2012-09-06  Eric Blake  <eblake@redhat.com>
10269
10270         net_if: give more details about the bug being fixed
10271         * doc/posix-headers/net_if.texi: Add clarification.
10272
10273 2012-09-05  Eric Blake  <eblake@redhat.com>
10274
10275         net_if: new module
10276         * modules/net_if: New module, borrowing ideas from netinet_in.
10277         * m4/net_if_h.m4: New file.
10278         * lib/net_if.in.h: Likewise.
10279         * doc/posix-headers/net_if.texi (net/if.h): Document it.
10280         * MODULES.html.sh (lacking POSIX:2008): Likewise.
10281         * tests/test-net_if.c: Make function checks conditional.
10282         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
10283
10284 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
10285
10286         readutmp: fix non-portable UT_PID use
10287         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
10288         Use `UT_PID (u) > 0' as absolute condition.
10289
10290 2012-09-04  Jim Meyering  <meyering@redhat.com>
10291
10292         fts: reduce two or more trailing spaces to just one, usually
10293         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
10294         or more slashes, trim all but the final one.  But if a name consists
10295         solely of two slashes, don't modify it.  If it consists solely of
10296         three or more slashes, strip all but one.
10297
10298         This is part of the solution to a minor problem with rm:
10299         it would print a bogus ELOOP diagnostic when failing to remove
10300         the slash-decorated name of a symlink-to-directory:
10301
10302             $ mkdir d && ln -s d s && env rm -r s/
10303             rm: cannot remove 's': Too many levels of symbolic links
10304
10305         With the change below and a trivial don't-trim-trailing-slashes
10306         adjustment to remove.c, it does this:
10307
10308             $ env rm -r s/
10309             rm: cannot remove 's/': Not a directory
10310
10311         Improved by: Eric Blake
10312
10313         fts: when there is no risk of overlap, use memcpy, not memmove
10314         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
10315
10316 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10317
10318         stdbool: be more compatible with mixed C/C++ compiles
10319         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
10320         Define to bool, true, false, respectively, as GCC's builtin
10321         stdbool.h does.  Problem reported by Michael Goffioul in
10322         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
10323
10324 2012-08-28  Jim Meyering  <meyering@redhat.com>
10325
10326         revert last change: it was not needed
10327         * tests/test-vc-list-files-git.sh: There's already a test for
10328         a working git, just below.
10329
10330 2012-08-28  Jim Meyering  <meyering@redhat.com>
10331
10332         tests: test-vc-list-files-git.sh: skip if git is not available
10333         * tests/test-vc-list-files-git.sh: Skip this test when git is
10334         not available.
10335
10336 2012-08-26  Bruno Haible  <bruno@clisp.org>
10337
10338         gnulib-tool: Remove no-op option --no-changelog.
10339         * gnulib-tool (func_usage): Don't mention --no-changelog.
10340         (do_changelog): Remove variable.
10341         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
10342
10343 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10344
10345         doc: remove fdl-1.2.texi
10346         It is no longer used or maintained, and its use of @acronym
10347         is problematic.  See the thread containing
10348         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
10349         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
10350         * doc/old-licenses/fdl-1.2.texi: Remove.
10351
10352         execinfo: port to FreeBSD
10353         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
10354         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
10355         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
10356         * modules/execinfo (Link): Add $(LIB_EXECINFO).
10357
10358 2012-08-23  Jim Meyering  <meyering@redhat.com>
10359
10360         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
10361         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
10362         to placate gcc's -Wold-style-declaration.
10363
10364 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10365
10366         doc: do not use @acronym
10367         * doc/inet_ntoa.texi (inet_ntoa):
10368         * doc/parse-datetime.texi (Seconds since the Epoch)
10369         (Specifying time zone rules):
10370         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
10371         Don't use @acronym.  Problem reported by John Darlington in
10372         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
10373
10374 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10375
10376         stdnoreturn: port to newer GCCs
10377         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
10378         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
10379         Problem reported by Jim Meyering in
10380         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
10381         Also, rename the 'test' function to a void a clash with the
10382         already-supplied 'main' function; this fixes a bug that incorrectly
10383         rejected GCC 4.7.1's <stdnoreturn.h>.
10384         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
10385         Document GCC problem.
10386
10387 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
10388
10389         pipe-filter: fix comment typo
10390         * lib/pipe-filter.h: Mention correct function.
10391
10392 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
10393
10394         execinfo: new module
10395         This is for Emacs.  Currently, it provides a no-effect stub
10396         on all platforms where it does not already work.
10397         It already works on glibc-based systems, and on Solaris 11.
10398         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
10399         New files.
10400         * doc/glibc-headers/execinfo.texi (execinfo.h):
10401         * MODULES.html.sh (Misc): Document it.
10402
10403 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10404
10405         extern-inline: support old GCC 'inline'
10406         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
10407         if available.  This applies to GCC versions 2.7 through 4.2, or
10408         when newer GCC is using -fgnu89-inline.  The goal is to address
10409         some of the performance issues mentioned by Bruno Haible in
10410         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
10411
10412 2012-08-20  Eric Blake  <eblake@redhat.com>
10413
10414         maint.mk: avoid redundant file name in message
10415         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
10416         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
10417         (sc_makefile_path_separator_check): Remove bogus $(ME).
10418
10419 2012-08-20  Mike Frysinger <vapier@gentoo.org>
10420
10421         timer-time: fix link order when static linking on glibc
10422         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
10423         _after_ -lrt so that it's significant.
10424
10425 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10426
10427         timespec: omit unnecessary AC_C_INLINE
10428         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
10429
10430         stat-time: omit unnecessary AC_C_INLINE
10431         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
10432         Do not require AC_C_INLINE.
10433
10434         ignore-value: omit unnecessary AC_C_INLINE
10435         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
10436
10437         sys_select: avoid 'static inline'
10438         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
10439
10440         mktime: avoid 'static inline'
10441         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
10442         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
10443
10444 2012-08-19  Bruno Haible  <bruno@clisp.org>
10445
10446         gnulib-tool: Improve coding style.
10447         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
10448         func_emit_lib_Makefile_am.
10449         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
10450
10451 2012-08-19  Bruno Haible  <bruno@clisp.org>
10452
10453         gnulib-tool: Fix indentation.
10454         * gnulib-tool (func_import): Fix indentation.
10455
10456 2012-08-19  Bruno Haible  <bruno@clisp.org>
10457
10458         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
10459         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
10460         on the list of removed files.
10461
10462 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10463
10464         test-parse-datetime: avoid glibc leap-second glitch
10465         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
10466         with the 2012 rules.  Problem reported by Bruce Dubbs in
10467         <http://bugs.gnu.org/12206>.
10468
10469 2012-08-14  Bruno Haible  <bruno@clisp.org>
10470
10471         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
10472         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
10473         from argument.
10474         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
10475
10476 2012-08-14  Eric Blake  <eblake@redhat.com>
10477
10478         ldexp: relax license
10479         * modules/ldexp (License): Trivial relax, since the module only
10480         provides a permissively licensed m4 file.
10481
10482 2012-08-13  Bruno Haible  <bruno@clisp.org>
10483
10484         gnulib-tool: Fix persistence of --witness-c-macro option.
10485         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
10486         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
10487
10488 2012-08-11  Eric Blake  <eblake@redhat.com>
10489
10490         count-leading-zeros: use a lookup table on non-gcc compilers
10491         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
10492         alternate implementation, suggested by Jim Meyering.
10493
10494 2012-08-10  Eric Blake  <eblake@redhat.com>
10495
10496         count-leading-zeros: new module
10497         * modules/count-leading-zeros: New module.
10498         * m4/count-leading-zeros.m4: New file.
10499         * lib/count-leading-zeros.h: Likewise.
10500         * modules/count-leading-zeros-tests: New test.
10501         * tests/test-count-leading-zeros.c: New file.
10502         * MODULES.html.sh (Integer arithmetic functions): Document it.
10503
10504 2012-08-07  Simon Josefsson  <simon@josefsson.org>
10505             Jim Meyering  <meyering@redhat.com>
10506
10507         maintainer-makefile: Fix syntax error with dash.
10508         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
10509         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
10510
10511 2012-08-05  Jim Meyering  <meyering@redhat.com>
10512
10513         extern-inline: also ignore -Wmissing-declarations
10514         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
10515         required with gcc-4.8.0-to-be.
10516
10517         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
10518         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
10519         for /error ?([^,]*)/.  This avoids false-positives for strings like
10520         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
10521
10522 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
10523
10524         gnumakefile: better interaction with Automake-NG
10525         * modules/gnumakefile [Makefile.am]: The makefiles generated by
10526         Automake-NG always contain a definition of VPATH, even in non-VPATH
10527         builds (its value being simply '.' in that case).  So, in the
10528         'clean-GNUmakefile' rule, to determine whether running under a
10529         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
10530         '$(VPATH)' expands to the empty string.
10531
10532 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
10533
10534         base64: Use extern C scope in header file, for C++.
10535         * lib/base64.h: Add C++ namespace protection.
10536
10537 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
10538
10539         stat-time, timespec, u64: support naive out-of-dir builds
10540         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
10541         Use '#include "foo.h"', not '#include <foo.h>', when including
10542         one's own interface.  This works better when configuring with
10543         out-of-directory builds, since packages need not add an
10544         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
10545
10546 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
10547
10548         utimens: use extern-inline
10549         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
10550         * lib/utimens.h: Add copyright notice, since this is now large enough
10551         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
10552         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
10553         * modules/utimens (Depends-on): Add extern-inline.
10554
10555         u64: use extern-inline
10556         * lib/u64.c: New file.
10557         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
10558         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
10559         * modules/u64 (Files): Add lib/u64.c.
10560         (Depends-on): Add extern-inline.
10561         (configure.ac): No need to require AC_C_INLINE, since extern-inline
10562         does that now.
10563         (lib_SOURCES): Add u64.c.
10564
10565         timespec: use extern-inline
10566         * lib/timespec.c: New file.
10567         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
10568         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
10569         * modules/timespec (Files): Add lib/timespec.c.
10570         (Depends-on): Add extern-inline.
10571         (lib_SOURCES): Add timespec.c.
10572
10573         stat-time: use extern-inline
10574         * lib/stat-time.c: New file.
10575         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
10576         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
10577         * modules/stat-time (Files): Add lib/stat-time.c.
10578         (Depends-on): Add extern-inline.
10579         (lib_SOURCES): Add stat-time.c.
10580
10581         extern-inline: new module
10582         * modules/extern-inline, m4/extern-inline.m4: New files.
10583         This is for better support of 'extern inline' a la ISO C99,
10584         with a portable alternative on compilers that do not support
10585         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
10586         of the Emacs executable, when compiled with debugging disabled,
10587         which is a typical way that Emacs is built while developing.
10588
10589 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
10590
10591         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
10592         * build-aux/do-release-commit-and-tag: Move variable definitions
10593         together.
10594         ($branch): Instead of defaulting to "master", default to the current
10595         branch (as gnu-web-doc-update does).
10596         (help): Display the current values of the option arguments.
10597         * top/maint.mk (release-commit): New.
10598         * top/README-release: Simplify the corresponding step.
10599
10600 2012-07-30  Eric Blake  <eblake@redhat.com>
10601
10602         passfd: fix comment on recvfd
10603         * lib/passfd.c (recvfd): Fix comment.
10604         Reported by Jann Horn <jannhorn@googlemail.com>.
10605
10606 2012-07-30  Jim Meyering  <meyering@redhat.com>
10607
10608         maint.mk: avoid a sub-shell
10609         * top/maint.mk (release-prep): Remove unneeded sub-shell.
10610
10611 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
10612
10613         maint.mk: use silent-rules support from Automake
10614         * top/maint.mk (news-check, vc-diff-check, announcement)
10615         (no-submodule-changes, alpha beta stable, release-prep)
10616         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
10617
10618 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
10619
10620         maint.mk: provide a web-manual-update target
10621         * top/maint.mk: here.
10622         * top/README-release: Use it to simplify the web manual update step.
10623
10624 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
10625
10626         README-release: shorten the circuit to post a news
10627         * top/README-release: Point directly to the news submission form.
10628
10629 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
10630
10631         gnu-web-doc-update: fix --help
10632         * build-aux/gnu-web-doc-update: The information "top level" was written
10633         twice.
10634
10635 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
10636
10637         maint.mk: absolute VPATH issue
10638         * top/maint.mk (release-prep): Help Git find .git/.
10639         From Jim Meyering.
10640
10641 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
10642
10643         gitlog-to-changelog: fix previous change
10644         * build-aux/gitlog-to-changelog: Fix condition.
10645         Add missing ";".
10646
10647 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
10648
10649         gitlog-to-changelog: don't expect .git to be in $srcdir
10650         Reported by Bruno Haible.
10651         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
10652         * build-aux/gitlog-to-changelog (&git_dir_option): New.
10653         Use it.
10654
10655 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
10656
10657         maint.mk: absolute VPATH build fix
10658         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
10659         $(srcdir) is not a parent of $(builddir).
10660
10661 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
10662
10663         clean-temp: Fix memory leak.
10664         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
10665         'files' members of tmpdir.
10666
10667 2012-07-27  Jim Meyering  <meyering@redhat.com>
10668
10669         maint.mk: new rule: refresh-gnulib-patches
10670         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
10671         Use this rule to refresh them.
10672         * top/maint.mk (refresh-gnulib-patches): New rule.
10673
10674 2012-07-24  Bruno Haible  <bruno@clisp.org>
10675
10676         gnulib-tool: Fix handling of inctests variable.
10677         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
10678         Reported by Nick Bowler <nbowler@elliptictech.com>.
10679
10680 2012-07-22  Bruno Haible  <bruno@clisp.org>
10681
10682         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
10683         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
10684         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
10685         Remove exemption for getpass.h.
10686         Suggested by Eric Blake.
10687
10688 2012-07-20  Eric Blake  <eblake@redhat.com>
10689
10690         verify: document conflict with -Wnested-externs
10691         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
10692
10693         maint.mk: forbid exit(-1)
10694         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
10695
10696 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
10697
10698         fsusage: port back to Solaris
10699         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
10700         error (fsd not declared) on Solaris 10.  Reported privately by
10701         Andrew Borodin.
10702
10703 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
10704
10705         gnu-web-doc-update: fix error messages
10706         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
10707
10708         gnu-web-doc-update: check the requirements.
10709         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
10710         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
10711         * build-aux/bootstrap (find_tool): Comment change.
10712
10713 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
10714
10715         maint.mk: minor simplication.
10716         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
10717         for default values.
10718
10719 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
10720
10721         gitlog-to-changelog: VPATH build issues
10722         If builddir is not a subdirectory of srcdir, running git from it will
10723         fail.
10724         * build-aux/gitlog-to-changelog (--srcdir): New option.
10725
10726 2012-07-15  Bruno Haible  <bruno@clisp.org>
10727
10728         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
10729         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
10730         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
10731         Remove exemption for fpending.h.
10732         Suggested by Eric Blake.
10733
10734 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10735
10736         pthread_sigmask: fix bug on FreeBSD 9
10737         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
10738         Include string.h.
10739         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
10740         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
10741         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
10742         but pthread_sigmask (1729, NULL, NULL) returns zero.
10743         See <http://bugs.gnu.org/11884>.
10744         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
10745         by inspecting whether the main call changed the old mask.
10746
10747 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
10748
10749         README-release: make it more legible
10750         * top/README-release: Improve typography slightly.
10751
10752 2012-07-15  Jim Meyering  <meyering@redhat.com>
10753
10754         maint: require that each sc_... command start with "@"
10755         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
10756         "make sc_maint" helps us avoid this nit.
10757
10758 2012-07-15  Jim Meyering  <meyering@redhat.com>
10759
10760         maint.mk: add leading "@" to quiet new "make syntax-check" rule
10761         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
10762
10763 2012-07-13  Eric Blake  <eblake@redhat.com>
10764
10765         maint.mk: new syntax check for HAVE_DECL checks
10766         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
10767         * cfg.mk
10768         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
10769         Exempt some false positives.
10770         Based on a report by Karel Zak.
10771
10772         argp: make HAVE_DECL usage consistent
10773         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
10774         macros, not whether they are defined.
10775         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
10776         convention with other declaration checks.
10777         Reported by Karel Zak, with suggestions from Paul Eggert.
10778
10779         stat-time: relax license to LGPLv2+
10780         * modules/stat-time (License): Relax, with consent of all authors.
10781
10782         strndup: fix m4 usage error
10783         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
10784         defined, to either 0 or 1.
10785         Reported by Karel Zak.
10786
10787 2012-07-11  Jim Meyering  <meyering@redhat.com>
10788
10789         maint: enable the sc_avoid_if_before_free syntax-check rule
10790         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
10791         (if_before_free_offenders_): Define.
10792         (if_before_free_basename_re_): Define.
10793         Exempt current files with useless if-before-free.
10794
10795 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
10796
10797         gettext: do not assume '#define ... defined ...' behavior
10798         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
10799         Do not use '#define FOO ... defined BAR ...', as the C standard says
10800         it's not portable to expect that this works after macro expansion.
10801         Problem reported for gzip by Steven M. Schweda in
10802         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
10803
10804 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
10805
10806         getloadavg: clean out old Emacs and Autoconf cruft
10807         See Glenn Morris in <http://bugs.gnu.org/11905>.
10808         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
10809         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
10810         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
10811         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
10812
10813 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
10814
10815         bootstrap: let warn be like tests/init.sh's warn_
10816         Reported by Jim Meyering.
10817         * build-aux/bootstrap (warn): Remove, replaced by...
10818         (warnf_, warn_): these.
10819         Adjust callers.
10820         Shorten messages that no longer fit in 80 columns.
10821
10822 2012-07-09  Bruno Haible  <bruno@clisp.org>
10823
10824         getopt: Simplify after Emacs changed.
10825         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
10826         (gl_GETOPT_IFELSE): Remove macro.
10827
10828 2012-07-09  Jim Meyering  <meyering@redhat.com>
10829
10830         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
10831         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
10832
10833         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
10834         Bugs in both of those conspired to make the
10835         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
10836         _sc_search_regexp's handling of non-empty $in_files would filter
10837         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
10838         choice of in_files value meant there would be no match in most
10839         projects, due to the presence of two or more Makefile.in files.
10840         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
10841         Fix a bug in how a non-empty $$in_files was processed:
10842         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
10843         in spite of the name, it's a regexp, not a list of file names.
10844
10845 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10846
10847         getloadavg, getopt: fix commentary re configure.in
10848         Autoconf is deprecating the name 'configure.in', so change it to
10849         to the new name 'configure.ac' in a couple of places.
10850         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
10851         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
10852         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
10853         Emacs has renamed it to configure.ac, and it no longer refers
10854         to these macros anyway.
10855
10856         timespec: mark functions with const attributes
10857         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
10858         Mark with _GL_ATTRIBUTE_CONST.
10859
10860 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
10861
10862         canonicalize[-lgpl]: handle "guessing" values when cross-building
10863         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
10864         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
10865         matches "*yes" instead of just "yes".  Regression introduced in commit
10866         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
10867
10868 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
10869             Bruno Haible  <bruno@clisp.org>
10870
10871         canonicalize: make the right guess when cross-compiling to GNU
10872         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
10873         determine whether cross-compiling to glibc systems, so as to
10874         include GNU/Hurd.
10875
10876 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10877
10878         timespec-sub: avoid duplicate include
10879         * lib/timespec-sub.c: Do not include <config.h> twice.
10880         Reported by Juanma Barranquero.
10881
10882 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
10883
10884         bootstrap: use a more consistent error reporting scheme
10885         * build-aux/bootstrap (warn, die): New.
10886         Use them.
10887
10888 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10889
10890         sys_time: allow too-wide tv_sec
10891         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
10892         timeval even if tv_sec is wider than time_t.  This allows
10893         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
10894         as without this patch gnulib replaces struct timeval
10895         and OpenBSD futimes therefore has a type mismatch.
10896         * doc/posix-headers/sys_time.texi: Mention this.
10897
10898         pthread: check for both pthread_create and pthread_join
10899         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
10900         alter the check so that it tests for both pthread_create and
10901         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
10902         Suggested by Bruno Haible and Richard Yao in
10903         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
10904
10905         parse-datetime: doc tuneup
10906         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
10907         spacing issues.
10908
10909 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
10910
10911         do-release-commit-and-tag: fix the previous commit
10912         * build-aux/do-release-commit-and-tag: Actually the test was right,
10913         but the comment and the error message were misleading.
10914         Fix comment, and improve error message.
10915         Perform check first, so that NEWS is not modified uselessly.
10916
10917         do-release-commit-and-tag: fix typo
10918         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
10919         _not_ start with a stub.
10920
10921 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
10922
10923         pthread: check for pthread_create, not pthread_join
10924         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
10925         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
10926         pthread_join in libc.  I hope this removes the need for all the
10927         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
10928         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
10929
10930 2012-07-04  Jim Meyering  <meyering@redhat.com>
10931
10932         parse-datetime: fix failure to diagnose invalid input
10933         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
10934         rather than diagnosing the invalid input.  Now it reports this:
10935         date: invalid date '\260'
10936         * lib/parse-datetime.y (to_uchar): Define.
10937         (yylex): Don't sign-extend "other" bytes.
10938         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
10939         Thanks to Bruno Haible for the patch to this file.
10940         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
10941         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
10942
10943 2012-07-03  Jim Meyering  <meyering@redhat.com>
10944
10945         bootstrap: do not require now-removed build-aux/missing
10946         Now that build-aux/missing is, er, missing, bootstrap would
10947         silently fail.
10948         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
10949         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
10950         no longer part of gnulib.
10951         Diagnose the failure.
10952
10953 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10954
10955         alloca: add support for HP NonStop TNS/E native
10956         * lib/alloca.in.h (alloca): Support the new host.
10957         From a suggestion by Joachim Schmitz in
10958         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
10959
10960 2012-07-02  Pádraig Brady  <P@draigBrady.com>
10961
10962         fsusage: remove code not needed on non GNU/Linux systems.
10963
10964         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
10965         Don't include headers no longer needed in this case.
10966         * lib/fsusage.c [STAT_STATVFS &&
10967         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
10968         STAT_STATFS2_FRSIZE to exclude code not used in this case.
10969
10970 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
10971
10972         fsusage: include files needed for glibc 2.6 fallback
10973         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
10974         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
10975         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
10976         Problem reported by Ludovic Courtès in
10977         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
10978
10979         fsusage: avoid needless check on GNU/Linux
10980         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
10981         on GNU/Linux systems, since it can't possibly work.
10982
10983 2012-07-01  Bruno Haible  <bruno@clisp.org>
10984
10985         log: Fix an autoconf >= 2.64 warning.
10986         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
10987         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
10988
10989 2012-06-28  Bruno Haible  <bruno@clisp.org>
10990
10991         log10f: Fix possible configuration problem.
10992         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
10993         $LOGF_LIBM.
10994         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
10995
10996 2012-06-28  Bruno Haible  <bruno@clisp.org>
10997
10998         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
10999         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
11000         not gl_cv_func_unlink_works.
11001         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
11002
11003 2012-06-27  Eric Blake  <eblake@redhat.com>
11004
11005         config: drop scripts that automake says are not independent
11006         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
11007         * build-aux/elisp-comp: Delete.
11008         * build-aux/missing: Likewise.
11009         * build-aux/ylwrap: Likewise.
11010         * modules/elisp-comp: Likewise.
11011         * MODULES.html.sh: Drop mention of elisp-comp.
11012         * NEWS: Mention this.
11013
11014 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
11015
11016         root-uid: new module
11017         This is for portability to Tandem's NonStop Kernel.
11018         * lib/root-uid.h, modules/root-uid: New files.
11019         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
11020         * lib/write-any-file.c, tests/test-sethostname2.c:
11021         Include "root-uid.h".
11022         * lib/euidaccess.c (euidaccess):
11023         * lib/pt_chown.c (main):
11024         * lib/unlinkdir.c (cannot_unlink_dir):
11025         * lib/write-any-file.c (can_write_any_file):
11026         * m4/mknod.m4 (gl_FUNC_MKNOD):
11027         * tests/test-sethostname2.c (geteuid, main):
11028         Don't assume ROOT_UID == 0.
11029         * modules/euidaccess (Depends-on):
11030         * modules/pt_chown (Depends-on):
11031         * modules/sethostname-tests (Depends-on):
11032         * modules/unlinkdir (Depends-on):
11033         * modules/write-any-file (Depends-on):
11034         Add root-uid.
11035
11036         regex: use locale-independent comparison for codeset name
11037         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
11038         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
11039         for codeset name.
11040         * lib/regex_internal.h: Do not include <strings.h>, since we
11041         no longer use strcasecmp.
11042         * modules/regex (Depends-on): Remove strcase.
11043
11044 2012-06-23  Bruno Haible  <bruno@clisp.org>
11045
11046         getopt-posix: No longer guarantee that option processing is resettable.
11047         * doc/posix-functions/getopt.texi: Drop description of problem with
11048         internal state. Fix info about mingw and msvc9.
11049         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
11050         option processing by getopt(). Run three test programs instead of one.
11051         Simplify cross-compilation guess.
11052         * NEWS: Mention the change.
11053         Reported by Rich Felker <dalias@aerifal.cx>.
11054
11055 2012-06-26  Bruno Haible  <bruno@clisp.org>
11056
11057         argp, regex: Ensure strcasecmp gets declared.
11058         * lib/argp-help.c: Include <strings.h>.
11059         * lib/regex_internal.h: Likewise.
11060         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
11061
11062 2012-06-24  Bruno Haible  <bruno@clisp.org>
11063
11064         ptsname_r: Make it consistent with ptsname on AIX.
11065         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
11066         implementation as for OSF/1.
11067         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
11068         a pty master.
11069
11070         ptsname_r: Make it consistent with ptsname on OSF/1.
11071         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
11072         OSF/1.
11073
11074 2012-06-24  Bruno Haible  <bruno@clisp.org>
11075
11076         ttyname_r: Fix result on OSF/1, Solaris.
11077         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
11078
11079 2012-06-24  Bruno Haible  <bruno@clisp.org>
11080
11081         ptsname_r: Add support for Solaris.
11082         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
11083         Solaris.
11084
11085         ptsname_r: Fix test failure on native Windows.
11086         * modules/ptsname_r (Depends-on): Add isatty.
11087
11088         ptsname_r: Fix test failures on IRIX, Solaris.
11089         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
11090         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
11091         accordingly.
11092         * lib/ptsname_r.c: Include <fcntl.h>.
11093         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
11094         set errno if fd is invalid.
11095         * tests/test-isatty.c (main): Update comments.
11096
11097 2012-06-24  Bruno Haible  <bruno@clisp.org>
11098
11099         ptsname test: Extend test.
11100         * tests/test-ptsname.c: Include <errno.h>.
11101         (main): Test behaviour with invalid file descriptor.
11102
11103 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
11104
11105         time: fix obsolete comment
11106         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
11107         reference to HAVE_STRUCT_TIMESPEC in comment.
11108
11109 2012-06-23  Bruno Haible  <bruno@clisp.org>
11110
11111         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
11112         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
11113         does not handle abbreviated long options with equivalent
11114         disambiguations, set gl_replace_getopt to yes.
11115         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
11116
11117 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
11118
11119         time_r: fix typo that always overrode localtime_r decl
11120         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
11121         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
11122         not in a standard include.
11123
11124 2012-06-22  Bruno Haible  <bruno@clisp.org>
11125
11126         Write "Mac OS X" instead of "MacOS X".
11127         * README: Write "Mac OS X" instead of "MacOS X".
11128         * build-aux/bootstrap: Likewise.
11129         * build-aux/install-reloc: Likewise.
11130         * lib/acl-internal.h: Likewise.
11131         * lib/acl_entries.c: Likewise.
11132         * lib/argp-ba.c: Likewise.
11133         * lib/argp-pv.c: Likewise.
11134         * lib/config.charset: Likewise.
11135         * lib/copy-acl.c: Likewise.
11136         * lib/csharpexec.c: Likewise.
11137         * lib/euidaccess.c: Likewise.
11138         * lib/fbufmode.c: Likewise.
11139         * lib/fflush.c: Likewise.
11140         * lib/file-has-acl.c: Likewise.
11141         * lib/filemode.h: Likewise.
11142         * lib/fpurge.c: Likewise.
11143         * lib/freadable.c: Likewise.
11144         * lib/freadahead.c: Likewise.
11145         * lib/freading.c: Likewise.
11146         * lib/freadptr.c: Likewise.
11147         * lib/freadseek.c: Likewise.
11148         * lib/fseeko.c: Likewise.
11149         * lib/fseterr.c: Likewise.
11150         * lib/fsusage.c: Likewise.
11151         * lib/fwritable.c: Likewise.
11152         * lib/fwriting.c: Likewise.
11153         * lib/get-rusage-as.c: Likewise.
11154         * lib/get-rusage-data.c: Likewise.
11155         * lib/getdomainname.c: Likewise.
11156         * lib/idpriv-drop.c: Likewise.
11157         * lib/idpriv-droptemp.c: Likewise.
11158         * lib/localcharset.c: Likewise.
11159         * lib/locale.in.h: Likewise.
11160         * lib/localename.c: Likewise.
11161         * lib/mbsrtowcs-state.c: Likewise.
11162         * lib/nproc.c: Likewise.
11163         * lib/passfd.c: Likewise.
11164         * lib/posix_openpt.c: Likewise.
11165         * lib/printf-parse.c: Likewise.
11166         * lib/progreloc.c: Likewise.
11167         * lib/safe-read.h: Likewise.
11168         * lib/safe-write.h: Likewise.
11169         * lib/sched.in.h: Likewise.
11170         * lib/set-mode-acl.c: Likewise.
11171         * lib/signal.in.h: Likewise.
11172         * lib/stdint.in.h: Likewise.
11173         * lib/stdio-impl.h: Likewise.
11174         * lib/stdlib.in.h: Likewise.
11175         * lib/strtod.c: Likewise.
11176         * lib/sys_select.in.h: Likewise.
11177         * lib/tcgetsid.c: Likewise.
11178         * lib/unistd.in.h: Likewise.
11179         * lib/unlockpt.c: Likewise.
11180         * lib/vasnprintf.c: Likewise.
11181         * lib/vma-iter.c: Likewise.
11182         * lib/wcsrtombs-state.c: Likewise.
11183         * m4/acl.m4: Likewise.
11184         * m4/acosl.m4: Likewise.
11185         * m4/asinl.m4: Likewise.
11186         * m4/atanl.m4: Likewise.
11187         * m4/c-stack.m4: Likewise.
11188         * m4/cosl.m4: Likewise.
11189         * m4/expl.m4: Likewise.
11190         * m4/extensions.m4: Likewise.
11191         * m4/fdatasync.m4: Likewise.
11192         * m4/fmal.m4: Likewise.
11193         * m4/frexp.m4: Likewise.
11194         * m4/frexpf.m4: Likewise.
11195         * m4/frexpl.m4: Likewise.
11196         * m4/fsusage.m4: Likewise.
11197         * m4/getdomainname.m4: Likewise.
11198         * m4/getloadavg.m4: Likewise.
11199         * m4/getopt.m4: Likewise.
11200         * m4/gettext.m4: Likewise.
11201         * m4/gnulib-common.m4: Likewise.
11202         * m4/intdiv0.m4: Likewise.
11203         * m4/intlmacosx.m4: Likewise.
11204         * m4/largefile.m4: Likewise.
11205         * m4/ldexpl.m4: Likewise.
11206         * m4/link-follow.m4: Likewise.
11207         * m4/locale-ar.m4: Likewise.
11208         * m4/locale-fr.m4: Likewise.
11209         * m4/locale-ja.m4: Likewise.
11210         * m4/locale-tr.m4: Likewise.
11211         * m4/locale-zh.m4: Likewise.
11212         * m4/locale_h.m4: Likewise.
11213         * m4/lock.m4: Likewise.
11214         * m4/logl.m4: Likewise.
11215         * m4/mathfunc.m4: Likewise.
11216         * m4/minus-zero.m4: Likewise.
11217         * m4/mktime.m4: Likewise.
11218         * m4/mmap-anon.m4: Likewise.
11219         * m4/multiarch.m4: Likewise.
11220         * m4/nanosleep.m4: Likewise.
11221         * m4/nocrash.m4: Likewise.
11222         * m4/poll.m4: Likewise.
11223         * m4/printf-frexpl.m4: Likewise.
11224         * m4/printf.m4: Likewise.
11225         * m4/signbit.m4: Likewise.
11226         * m4/sinl.m4: Likewise.
11227         * m4/sqrtl.m4: Likewise.
11228         * m4/strerror_r.m4: Likewise.
11229         * m4/tanl.m4: Likewise.
11230         * m4/threadlib.m4: Likewise.
11231         * m4/ttyname_r.m4: Likewise.
11232         * m4/unlink.m4: Likewise.
11233         * m4/visibility.m4: Likewise.
11234         * m4/wcwidth.m4: Likewise.
11235         * tests/minus-zero.h: Likewise.
11236         * tests/test-alloca-opt.c: Likewise.
11237         * tests/test-copy-acl.sh: Likewise.
11238         * tests/test-copy-file.sh: Likewise.
11239         * tests/test-fdatasync.c: Likewise.
11240         * tests/test-file-has-acl.sh: Likewise.
11241         * tests/test-flock.c: Likewise.
11242         * tests/test-fsync.c: Likewise.
11243         * tests/test-localename.c: Likewise.
11244         * tests/test-malloca.c: Likewise.
11245         * tests/test-nonblocking-pipe.h: Likewise.
11246         * tests/test-nonblocking-socket.h: Likewise.
11247         * tests/test-openpty.c: Likewise.
11248         * tests/test-posix_openpt.c: Likewise.
11249         * tests/test-ptsname.c: Likewise.
11250         * tests/test-ptsname_r.c: Likewise.
11251         * tests/test-sameacls.c: Likewise.
11252         * tests/test-select.h: Likewise.
11253         * tests/test-set-mode-acl.sh: Likewise.
11254         * tests/test-snprintf-posix.h: Likewise.
11255         * tests/test-sprintf-posix.h: Likewise.
11256         * tests/test-strtod.c: Likewise.
11257         * tests/test-time.c: Likewise.
11258         * tests/test-vasnprintf-posix.c: Likewise.
11259         * tests/test-vasprintf-posix.c: Likewise.
11260         * doc/acl-resources.txt: Likewise.
11261         * doc/**/*.texi: Likewise.
11262         Reported by Max Horn <max@quendi.de>.
11263
11264 2012-06-22  Bruno Haible  <bruno@clisp.org>
11265
11266         grantpt: Relax requirement regarding invalid file descriptors.
11267         * lib/grantpt.c: Don't include <fcntl.h>.
11268         (grantpt): Don't verify the validity of the file descriptor.
11269         * modules/grantpt (Depends-on): Remove fcntl-h.
11270         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
11271         file descriptors.
11272         * doc/posix-functions/grantpt.texi: Document more platforms on which
11273         grantpt succeeds for invalid file descriptors.
11274         Reported by Rich Felker <dalias@aerifal.cx>.
11275
11276 2012-06-22  Bruno Haible  <bruno@clisp.org>
11277
11278         fbufmode test: Don't test unportable behaviour.
11279         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
11280         (main): Invoke it three times.
11281         Reported by Szabolcs Nagy <nsz@port70.net>
11282         and Rich Felker <dalias@aerifal.cx>.
11283
11284 2012-06-21  Bruno Haible  <bruno@clisp.org>
11285
11286         gnulib-tool: Refactor inctests variable.
11287         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
11288         (func_modules_transitive_closure,
11289         func_modules_transitive_closure_separately,
11290         func_import, func_create_testdir): Update.
11291
11292         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
11293         * gnulib-tool: Accept option --without-tests.
11294         (func_usage): Document --without-tests option. Rearrange.
11295         (inctests): Normalize according to the mode.
11296         * NEWS: Mention the change.
11297         Suggested by Simon Josefsson.
11298
11299 2012-06-21  Bruce Korb  <bkorb@gnu.org>
11300
11301         parse-duration test: Avoid spurious output.
11302         * tests/test-parse-duration.sh: Reindent with leading tabs.
11303
11304 2012-06-21  Jim Meyering  <meyering@redhat.com>
11305
11306         maint: disable the strncpy prohibition
11307         * cfg.mk: Do not prohibit strncpy here.
11308
11309 2012-06-21  Bruno Haible  <bruno@clisp.org>
11310
11311         nonblocking: Avoid compilation error on mingw64.
11312         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
11313         fscanf.
11314         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
11315         * modules/vfscanf (configure.ac): Likewise.
11316         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
11317         definition only if stdio.h has prepared it.
11318         Reported by Daniel P. Berrange <berrange@redhat.com>.
11319
11320 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
11321
11322         gnulib-tool: Use readlink if it is available.
11323         * gnulib-tool (func_readlink): Choose function more appropriately.
11324
11325 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
11326
11327         posixtm-tests: port to buggy compiler
11328         Problem reported by Simon Josefsson in
11329         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
11330         * modules/posixtm-tests (Depends-on): Add stdint.
11331         * tests/test-posixtm.c (struct posixtm_test.t_expected):
11332         Now of type int_least64_t, not int64_t, both because that's
11333         what INT64_C returns and because int_least64_t works even
11334         on 72-bit hosts.
11335         (T): Use INT64_C on constants outside the traditional int range,
11336         to work around compiler bug noted by Simon.
11337
11338         mktime: fix integer overflow in 'configure'-time test
11339         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
11340         after integer overflow.  Problem reported by Rich Felker in
11341         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
11342         Also, don't look for further instances of a bug if we've already
11343         found one instance; this helps 'configure' run faster.
11344
11345 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
11346
11347         tmpfile, clean-temp: Fix invocation of GetVersionEx.
11348         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
11349         GetVersionEx correctly.
11350         * lib/clean-temp.c (supports_delete_on_close): Likewise.
11351
11352 2012-06-20  Bruno Haible  <bruno@clisp.org>
11353
11354         fdopen: Allow implementations that don't reject invalid fd arguments.
11355         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
11356         succeeds.
11357         Reported by Rich Felker <dalias@aerifal.cx>.
11358
11359 2012-06-20  Simon Josefsson  <simon@josefsson.org>
11360
11361         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
11362         bring in LIBINTL.
11363
11364 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
11365
11366         init.sh: do not rely on autoupated PWD
11367         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
11368         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
11369         Although Nelson's bug was not necessarily fixed by this patch,
11370         it seems wise to make the change for safety.
11371         * tests/init.sh (path_prepend_): Do not rely on PWD updating
11372         automagically after 'cd'; this is not reliable on older shells.
11373         (setup_): Fail if we cannot cd to temporary directory.
11374
11375 2012-06-19  Bruno Haible  <bruno@clisp.org>
11376
11377         stat, fstat: Avoid warnings on mingw64.
11378         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
11379         redefining.
11380         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
11381         Reported by Daniel P. Berrange <berrange@redhat.com>.
11382
11383 2012-06-19  Bruno Haible  <bruno@clisp.org>
11384
11385         stdioext: Add support for musl libc.
11386
11387         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
11388         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
11389
11390         * m4/fseterr.m4: New file.
11391         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
11392         function exists.
11393         * modules/fseterr (Files): Add m4/fseterr.m4.
11394         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
11395         __fseterr does not exist.
11396         (Makefile.am): Remove fseterr.c from lib_SOURCES.
11397
11398         * lib/freadable.h: Update comment.
11399
11400         * lib/fwritable.h: Update comment.
11401
11402         * lib/freading.h: Update comment.
11403
11404         * lib/fwriting.h: Update comment.
11405
11406         * m4/freadahead.m4: New file.
11407         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
11408         that function exists.
11409         * modules/freadahead (Files): Add m4/freadahead.m4.
11410         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
11411         __freadahead does not exist.
11412         (Makefile.am): Remove freadahead.c from lib_SOURCES.
11413
11414         * m4/freadptr.m4: New file.
11415         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
11416         function exists.
11417         * modules/freadptr (Files): Add m4/freadptr.m4.
11418         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
11419         __freadptr does not exist.
11420         (Makefile.am): Remove freadptr.c from lib_SOURCES.
11421
11422         * m4/freadseek.m4: New file.
11423         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
11424         exists.
11425         * modules/freadseek (Files): Add m4/freadseek.m4.
11426         (configure.ac): Invoke gl_FUNC_FREADSEEK.
11427
11428         * lib/fpurge.c (fpurge): Update comment.
11429
11430         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
11431
11432 2012-06-19  Bruno Haible  <bruno@clisp.org>
11433
11434         *printf-posix: Put more info into config.log.
11435         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
11436         exit code into config.log.
11437
11438 2012-06-19  Bruno Haible  <bruno@clisp.org>
11439
11440         getopt-gnu: Fix exit code overflow in autoconf test.
11441         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
11442         to keep them below < 128.
11443
11444 2012-06-17  Jim Meyering  <meyering@redhat.com>
11445
11446         maint.mk: fix typo in code to derive GPG key at release time
11447         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
11448
11449 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
11450
11451         regex: avoid warning when pointers are not long
11452         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
11453         and uintptr_t, not long, for portability to hosts where pointers and
11454         long have different sizes.  Issue noted by Daniel P. Berrange in
11455         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
11456         and fix suggested by Bruno Haible in
11457         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
11458
11459 2012-06-17  Bruno Haible  <bruno@clisp.org>
11460
11461         dummy: Relicense into the public domain.
11462         * modules/dummy (License): Set to "public domain".
11463         Suggested by Reuben Thomas.
11464
11465 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
11466
11467         announce-gen: VPATH issues
11468         * build-aux/announce-gen (--srcdir): New option, used to trim the
11469         $srcdir part of the path from $builddir to NEWS.
11470         * top/maint.mk (announcement): Adjust.
11471
11472 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
11473
11474         gnu-web-doc-update: VPATH builds
11475         * build-aux/gnu-web-doc-update (--builddir): New option.
11476         Revamp the handling of options.
11477         Prefer $(...) to `...`.
11478         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
11479         the template, and it is GNU mktemp specific.
11480         Prefer set -e to long series of &&.
11481         Restore the initial git branch, not "master".
11482         Properly initialize submodules (don't rely only on bootstrap).
11483         Do not reconfigure blindly, use config.status.
11484         * top/README-release: Update instructions for gnu-web-doc-update.
11485
11486 2012-06-11  Jim Meyering  <meyering@redhat.com>
11487
11488         maint.mk: revert most of the previous change re "all these"
11489         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
11490         For rationale, see the discussion at
11491         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
11492
11493 2012-06-10  Karl Berry  <karl@gnu.org>
11494
11495         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
11496
11497         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
11498
11499 2012-06-10  Bruce Korb  <bkorb@gnu.org>
11500
11501         parse-duration: Relicense under LGPLv2+.
11502         * modules/parse-duration (License): Change to LGPLv2+.
11503
11504 2012-06-10  Jim Meyering  <meyering@redhat.com>
11505
11506         maint.mk: prohibit common grammar error: "all these"
11507         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
11508         the list of prohibited word sequences.  It should be "all of these".
11509         * lib/tempname.c (__gen_tempname): Fix one of them.
11510
11511 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
11512
11513         do-release-commit-and-tag: support VPATH builds
11514         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
11515         (noteworthy): Defined earlier to factor its value.
11516         (noteworthy_stub): New.
11517         Use it to factor.
11518         (help_version): Split into...
11519         (help, version): these.
11520         Adjust the option processing part.
11521         Support "--option=value" in addition to "--option value".
11522         (builddir): New.
11523         (--builddir): New option.
11524         * top/README-release: Document this.
11525         Reword slightly so that the reader cannot understand that he
11526         has to do these steps before calling do-release-commit-and-tag.
11527
11528 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
11529
11530         readme-release: also require announce-gen and maintainer-makefile
11531         * modules/readme-release (Depends-on): here.
11532         * modules/announce-gen, modules/do-release-commit-and-tag,
11533         modules/gnu-web-doc-update, modules/maintainer-makefile
11534         (Description): Point to readme-release.
11535
11536 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
11537
11538         maint.mk: fix VPATH issues.
11539         * top/maint.mk (news-check): GNU Make understand $< very well.
11540         (release-prep): NEWS is in $(srcdir).
11541
11542 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
11543
11544         readme-release: require the promoted modules.
11545         * modules/readme-release (Depends-on): Add
11546         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
11547         in this text.
11548
11549 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
11550             Bruno Haible  <bruno@clisp.org>
11551
11552         error, strerror-override: Support mingw64 from Fedora 17.
11553         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
11554         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
11555         EINPROGRESS.
11556         * lib/strerror-override.h (strerror_override): Test it.
11557         * lib/strerror-override.c (strerror_override): Likewise.
11558         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
11559
11560 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
11561             Bruno Haible  <bruno@clisp.org>
11562
11563         error, strerror-override: Support mingw64 from Fedora 17.
11564         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
11565         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
11566         * lib/strerror-override.h (strerror_override): Test it.
11567         * lib/strerror-override.c (strerror_override): Likewise.
11568
11569 2012-06-03  Bruno Haible  <bruno@clisp.org>
11570
11571         error, strerror-override: Support new errno values from POSIX:2008.
11572         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
11573         ENOTRECOVERABLE.
11574         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
11575         platforms.
11576         * lib/strerror-override.c (strerror_override): Conditionalize the
11577         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
11578         * lib/strerror-override.h (strerror_override): Declare also if
11579         GNULIB_defined_EOWNERDEAD is defined.
11580         * tests/test-errno.c (e130, e131): New variables.
11581         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
11582         ENOTRECOVERABLE.
11583         Reported by Paolo Bonzini.
11584
11585 2012-05-31  Jim Meyering  <meyering@redhat.com>
11586
11587         savewd: add missing dependency on sys_wait module
11588         * modules/savewd (Depends-on): Add sys_wait, needed at least
11589         for MSVC.  Report and suggested change by Michael Goffioul.
11590
11591 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
11592
11593         system-quote-tests: port to CentOS 5
11594         Problem reported by Tom G. Christensen in
11595         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
11596         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
11597
11598 2012-05-29  Jim Meyering  <meyering@redhat.com>
11599
11600         maint: fix typos in comments and ChangeLog
11601         Culprits identified and fixed mostly automatically using these commands:
11602         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
11603         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
11604         using http://github.com/lyda/misspell-check
11605         * ChangeLog: Fix typos.
11606         * doc/solaris-versions: Likewise.
11607         * lib/regexec.c (re_search_stub): Likewise.
11608         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
11609
11610 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
11611
11612         manywarnings: remove duplicate -Wmultichar entry
11613         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
11614         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
11615         so keep the entry marked as documented.
11616
11617 2012-05-27  Karl Berry  <karl@gnu.org>
11618
11619         * config/srclist.txt (mktime.c): remove last libc sync,
11620         perhaps just temporarily.
11621
11622 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
11623
11624         regex: don't assume uint64_t or uint32_t
11625         * lib/regcomp.c (init_word_char): Don't assume that the types
11626         uint64_t and uint32_t exist.  The C standard doesn't guarantee
11627         them, and on some 32-bit compilers there is no uint64_t.
11628         Problem reported by Gianluigi Tiesi in
11629         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
11630
11631 2012-05-25  Jim Meyering  <meyering@redhat.com>
11632
11633         maint.mk: add strncpy-prohibiting syntax-check rule
11634         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
11635
11636 2012-05-24  Jim Meyering  <meyering@redhat.com>
11637
11638         maint.mk: compute $(gpg_key_ID) more portably
11639         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
11640         That use of sed is not portable to some fringe systems.
11641         Reported by Paul Eggert in
11642         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
11643
11644 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
11645
11646         mktime: sync from glibc
11647         * config/srclist.txt: Uncomment mktime.c.
11648         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
11649         First, indent with tabs, since glibc uses tabs and doesn't want to
11650         change and we'd rather be identical to glibc.  Also, two small
11651         coding changes:
11652         (isdst_differ): Use &&, not &, as && is the usual style.
11653         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
11654         for clarity.
11655
11656 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
11657
11658         announce-gen: du -h is more portable than du --human
11659         * build-aux/announce-gen (sizes): Invoke du with -h instead
11660         of --human.  Accept leading white space in its output.
11661
11662 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
11663
11664         announce-gen: Improve diagnostics.
11665         * build-aux/announce-gen: When parsing command line options,
11666         prefer "announce-gen: option --release-type requires an argument"
11667         to "Option release-type requires an argument".
11668
11669 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
11670
11671         maint.mk: gpg_key_ID: use sed more portably
11672         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
11673         the closing brace.
11674         (refresh-po): Fuse two sed invocations into one.
11675
11676 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
11677
11678         gitlog-to-changelog: support the log message format used in Bison.
11679         * build-aux/gitlog-to-changelog: Support --strip-tab and
11680         --strip-cherry-picked.
11681
11682 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
11683
11684         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
11685         the rest of the current time slice to another thread in the current
11686         process. So if the thread that feeds the file decscriptor we're
11687         polling is not in the current process, we get busy-waiting.
11688         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
11689         Patch from Theodore Leblond.
11690         * lib/select.c: Split polling out of the loop that sets the output
11691         fd_sets.  Check for zero result and loop if the wait timeout is
11692         infinite.
11693
11694 2012-05-21  Simon Josefsson  <simon@josefsson.org>
11695
11696         select: Fix build error on IRIX 6.5.
11697         * lib/select.c: Include stddef.h for NULL.
11698
11699 2012-05-21  Simon Josefsson  <simon@josefsson.org>
11700
11701         gc: fix libgcrypt detection on older machines.
11702         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
11703         copyright years because the file has been distributed every year
11704         since it was created.
11705
11706 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
11707
11708         crypto: fix bug in large buffer handling
11709         Problem reported by Serge Belyshev for glibc in
11710         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
11711         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
11712         * lib/md4.c (md4_process_block):
11713         * lib/md5.c (md5_process_block):
11714         * lib/sha1.c (sha1_process_block):
11715         * lib/sha256.c (sha256_process_block):
11716         Don't assume the buffer length is less than 2**32.
11717         * lib/sha512.c (sha512_process_block): Likewise.
11718         Here, the bug is present only in the rare case where the host does
11719         not support uint64_t or where size_t is wider than 64 bits.
11720         Use u64size to work around the problems.
11721         * lib/u64.h (u64size): New macro.
11722
11723 2012-05-15  Pádraig Brady  <P@draigBrady.com>
11724
11725         fsusage: fix block size returned on older Linux 2.6
11726
11727         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
11728         which is available since Linux 2.6.
11729         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
11730         when the member is available so it can be used as a fallback.
11731         * doc/posix-functions/statvfs.texi: Mention the hang issue
11732         on Linux < 2.6.36.
11733
11734 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
11735
11736         bootstrap: suppress stderr chatter
11737         * build-aux/bootstrap (insert_sorted_if_absent, main program):
11738         Omit unnecessary chatter to stderr.  The main program chatter
11739         was there only inadvertantly.
11740
11741         bootstrap: .gitignore files created by autopoint, libtool
11742         I ran into this problem when bootstrapping the latest diffutils.
11743         After './bootstrap', 'git status' reported lots of untracked files
11744         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
11745         autopoint and do not need to be version-controlled.
11746         * build-aux/bootstrap: Put into .gitignore the files that
11747         autopoint and libtool create, by keeping track of files that exist
11748         after but not before these programs are run.
11749         (version_controlled_file): Move up.  2nd arg is now full file
11750         name, not base name; this is more convenient.  Put CVS at the end,
11751         as it's now somewhat deprecated.
11752
11753 2012-05-14  Jim Meyering  <meyering@redhat.com>
11754
11755         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
11756         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
11757         definition.  Reported by Bruno Haible.
11758
11759 2012-05-13  Bruno Haible  <bruno@clisp.org>
11760             Paul Eggert  <eggert@cs.ucla.edu>
11761
11762         binary-io: Define set_binary_mode function.
11763         * lib/binary-io.h (set_binary_mode): New function.
11764         (SET_BINARY): Define in terms of set_binary_mode.
11765         * modules/binary-io (configure.ac): Require AC_C_INLINE.
11766         * tests/test-binary-io.c (main): Accept an argument, and test either
11767         set_binary_mode or SET_BINARY depending on the argument.
11768         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
11769         argument. Clean up also t-bin-out0.tmp.
11770
11771 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
11772
11773         bootstrap: take advantage of POSIX shell features
11774
11775         The 'bootstrap' script offered by Gnulib script already uses POSIX
11776         shell features (like $((...)) arithmetic expansions) that are not
11777         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
11778         means that bootstrap must already be run using a proper POSIX shell,
11779         which will thus provide more features, like ${var#pattern} parameter
11780         expansion or inversion of a command exit status with '!'.  We can
11781         thus use these features to improve the clarity and the performances
11782         of the bootstrap script.
11783
11784         Suggested by Eric Blake.
11785
11786         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
11787         of sed/expr plus command substitutions, to save some forks.  While
11788         we are at it, prefer the POSIX $(...) form of command substitution,
11789         rather than the legacy form `...` (since the former is visually
11790         clearer and interacts better with quoting), and prefer the idiom:
11791           "if ! CMD; then ACTION ..."
11792         over the idiom:
11793           "if CMD; then :; else ACTION ..."
11794         which was required by legacy Bourne shells not supporting '!'.
11795
11796 2012-05-12  Bruno Haible  <bruno@clisp.org>
11797
11798         system-quote: Add more comments.
11799         * lib/system-quote.h: Add more comments about wilcards and limitations.
11800         Suggested by Eli Zaretskii <eliz@gnu.org>.
11801
11802         sh-quote, system-quote: Add comments about wildcards.
11803         * lib/sh-quote.h: Clarify what happens with wildcard characters.
11804         * lib/system-quote.h: Likewise.
11805         Reported by Eli Zaretskii <eliz@gnu.org>.
11806
11807 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
11808
11809         fsusage: check for GNU/Linux statvfs problem dynamically
11810         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
11811         Define STAT_STATFS2_BSIZE too, since in this case the code now
11812         checks dynamically whether statvfs is reliable, falling back on
11813         Linux-style statfs otherwise.
11814         (statvfs_works): New function, for dynamically testing statvfs.
11815         (get_fs_usage) [STAT_STATVFS]: Use it.
11816         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
11817         statvfs on GNU/Linux hosts, since it's now done dynamically.
11818
11819 2012-05-10  Bruno Haible  <bruno@clisp.org>
11820
11821         system-quote, execute, spawn-pipe: Escape '?' on Windows.
11822         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
11823         '?' character.
11824         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
11825         * tests/test-system-quote-main.c (check_all): Check also strings like
11826         "??????????".
11827         Reported by Eli Zaretskii <eliz@gnu.org>.
11828
11829 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
11830
11831         _Noreturn: port config.h to gcc -Wundef
11832         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
11833         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
11834         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
11835
11836 2012-05-10  Bruno Haible  <bruno@clisp.org>
11837
11838         system-quote: Refactor.
11839         * lib/system-quote.h (system_quote_copy): Fix comment.
11840         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
11841         New functions, extracted from system_quote_copy.
11842         (system_quote_length, system_quote_copy): Use these functions.
11843         Reported by Paul Eggert.
11844
11845 2012-05-08  Bruno Haible  <bruno@clisp.org>
11846
11847         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
11848         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
11849
11850 2012-05-08  Bruno Haible  <bruno@clisp.org>
11851
11852         Tests for module 'system-quote'.
11853         * modules/system-quote-tests: New file.
11854         * tests/test-system-quote.sh: New file.
11855         * tests/test-system-quote-main.c: New file.
11856         * tests/test-system-quote-child.c: New file.
11857
11858         New module 'system-quote'.
11859         * lib/system-quote.h: New file.
11860         * lib/system-quote.c: New file.
11861         * modules/system-quote: New file.
11862
11863 2012-05-08  Bruno Haible  <bruno@clisp.org>
11864
11865         sh-quote: Make C++ safe and allow multiple inclusion.
11866         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
11867         declarations in extern "C".
11868
11869 2012-05-08  Bruno Haible  <bruno@clisp.org>
11870
11871         sh-quote tests: Make tests stricter.
11872         * tests/test-sh-quote.c (check_one): Check the return value of
11873         shell_quote_copy.
11874         (main): Check a string with a CR character. Check a string that
11875         contains UCHAR_MAX.
11876
11877 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
11878
11879         warnings.m4: provide a means to specify the program to compile.
11880         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
11881         (gl_WARN_ADD): here.
11882         Use gl_AS_VAR_APPEND.
11883         Support an argument to specify the program to compile.
11884         (gl_WARN_ADD): Accept an argument to specify the program to compile.
11885         AC_SUBST the WARN_CFLAGS when they are used.
11886         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
11887         leave this to gl_WARN_ADD.
11888
11889 2012-05-08  Eric Blake  <eblake@redhat.com>
11890
11891         doc: recommendations on gettext version
11892         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
11893         choice between versions.
11894         * DEPENDENCIES (gettext): Cover both approaches.
11895
11896 2012-05-08  Jim Meyering  <meyering@redhat.com>
11897
11898         init.sh: explain why EXEEXT support uses aliases rather than functions
11899         * tests/init.sh: Add a comment.
11900
11901         init.sh: don't let bash aliases interfere with tests
11902         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
11903         is bash.  This avoids problems for those who alias standard commands to
11904         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
11905         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
11906
11907 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
11908
11909         stdint: be more consistent with glibc, SunOS libc
11910         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
11911         (gl_int_fast16_t, gl_uint_fast16_t)
11912         (gl_int_fast32_t, gl_uint_fast32_t)
11913         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
11914         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
11915         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
11916         Be consistent with glibc by default, and with SunOS 5.10 and later
11917         if __sun is defined.  This lessens the likelihood of clashes if
11918         code compiled for older hosts is combined with code compiled for
11919         newer ones.  Problem reported by Niels Möller in
11920         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
11921
11922 2012-05-07  Eric Blake  <eblake@redhat.com>
11923
11924         isatty: relax license to LGPLv2+
11925         * modules/isatty (License): Relax license.
11926
11927 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
11928
11929         stat-size: comment fix
11930         * lib/stat-size.h: Remove obsolete comment about indenting.
11931
11932 2012-05-06  Bruno Haible  <bruno@clisp.org>
11933
11934         Tests for module 'sh-quote'.
11935         * modules/sh-quote-tests: New file.
11936         * tests/test-sh-quote.c: New file.
11937
11938 2012-05-06  Bruno Haible  <bruno@clisp.org>
11939
11940         sh-quote: Improve shell_quote_argv's signature.
11941         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
11942         * lib/sh-quote.c (shell_quote_argv): Likewise.
11943
11944 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
11945
11946         stdint: document issues with int_fast8_t etc.
11947         * doc/posix-headers/stdint.texi (stdint.h): Say that other
11948         stdint.h substitutes may define these types differently.  See
11949         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
11950
11951 2012-05-05  Bruno Haible  <bruno@clisp.org>
11952
11953         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
11954         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
11955         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
11956         or 'guessing no (mishandles large arguments)'.
11957
11958 2012-05-05  Bruno Haible  <bruno@clisp.org>
11959
11960         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
11961         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
11962         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
11963         set gl_cv_func_link_follows_symlink to "guessing no".
11964
11965 2012-05-05  Bruno Haible  <bruno@clisp.org>
11966
11967         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
11968         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
11969         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
11970         "guessing no".
11971         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
11972
11973 2012-05-05  Bruno Haible  <bruno@clisp.org>
11974
11975         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
11976         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
11977         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
11978         set gl_cv_struct_dirent_d_ino to "guessing yes".
11979
11980 2012-05-05  Bruno Haible  <bruno@clisp.org>
11981
11982         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
11983         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
11984         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
11985         "guessing yes".
11986
11987 2012-05-05  Bruno Haible  <bruno@clisp.org>
11988
11989         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
11990         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
11991         compiling to a glibc system, set gl_cv_func_signbit and
11992         gl_cv_func_signbit_gcc to "guessing yes".
11993
11994 2012-05-05  Bruno Haible  <bruno@clisp.org>
11995
11996         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
11997         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
11998         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
11999         to "guessing yes".
12000         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
12001         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
12002
12003 2012-05-05  Bruno Haible  <bruno@clisp.org>
12004
12005         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
12006         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
12007         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
12008         gl_cv_func_realpath_works to "guessing yes".
12009
12010 2012-05-05  Bruno Haible  <bruno@clisp.org>
12011
12012         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
12013         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
12014         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
12015
12016 2012-05-04  Bruno Haible  <bruno@clisp.org>
12017
12018         Tweak last commit.
12019         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
12020         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
12021
12022 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
12023
12024         unistd_h: make it easier to avoid sys_types_h
12025         This is useful for Emacs, which has its own method of porting to
12026         Windows, and which therefore does not need the sys_types_h module.
12027         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
12028         code moved here from gl_SYS_TYPES_H.
12029         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
12030         using the code directly.
12031         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
12032         gl_SYS_TYPES_H.
12033         * modules/sys_types (Files):
12034         * modules/unistd (Files): Add m4/off_t.m4.
12035
12036 2012-05-03  Bruno Haible  <bruno@clisp.org>
12037
12038         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
12039         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
12040         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
12041         "guessing yes" or "guessing no".
12042         (gl_FUNC_LSTAT): Update.
12043         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
12044         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
12045         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
12046
12047 2012-05-03  Bruno Haible  <bruno@clisp.org>
12048
12049         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
12050         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
12051         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
12052         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
12053         cross-compiling, choose the first alternative on glibc systems.
12054         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
12055
12056 2012-05-03  Bruno Haible  <bruno@clisp.org>
12057
12058         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
12059         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
12060         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
12061
12062 2012-05-03  Bruno Haible  <bruno@clisp.org>
12063
12064         chown: Avoid "guessing no" when cross-compiling to glibc systems.
12065         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
12066
12067 2012-05-03  Bruno Haible  <bruno@clisp.org>
12068
12069         Avoid "guessing no" guesses when cross-compiling to glibc systems.
12070         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
12071         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
12072         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
12073         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
12074         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
12075         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
12076         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
12077         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
12078         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
12079         compiling to glibc systems, set gl_cv_func_chown_slash_works,
12080         gl_cv_func_chown_ctime_works to "guessing yes".
12081         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
12082         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
12083         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
12084         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
12085         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
12086         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
12087         compiling to glibc systems, set gl_cv_func_open_directory_works to
12088         "guessing yes".
12089         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
12090         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
12091         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
12092         "guessing yes".
12093         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
12094         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
12095         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
12096         compiling to glibc systems, set gl_cv_func_floorf_ieee to
12097         "guessing yes".
12098         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
12099         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
12100         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
12101         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
12102         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
12103         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
12104         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
12105         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
12106         "guessing yes".
12107         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
12108         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
12109         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
12110         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
12111         "guessing yes".
12112         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
12113         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
12114         "guessing yes".
12115         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
12116         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
12117         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
12118         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
12119         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
12120         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
12121         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
12122         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
12123         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
12124         compiling to glibc systems, set gl_cv_func_log10f_ieee to
12125         "guessing yes".
12126         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
12127         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
12128         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
12129         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
12130         "guessing yes".
12131         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
12132         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
12133         "guessing yes".
12134         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
12135         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
12136         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
12137         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
12138         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
12139         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
12140         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
12141         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
12142         compiling to glibc systems, set gl_cv_func_mkfifo_works to
12143         "guessing yes".
12144         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
12145         compiling to glibc systems, set gl_cv_func_mknod_works to
12146         "guessing yes".
12147         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
12148         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
12149         "guessing yes".
12150         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
12151         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
12152         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
12153         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
12154         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
12155         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
12156         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
12157         compiling to glibc systems, set gl_cv_func_svid_putenv to
12158         "guessing yes".
12159         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
12160         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
12161         "guessing yes".
12162         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
12163         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
12164         "guessing yes".
12165         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
12166         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
12167         to "guessing yes".
12168         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
12169         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
12170         to "guessing yes".
12171         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
12172         compiling to glibc systems, set gl_cv_func_rmdir_works to
12173         "guessing yes".
12174         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
12175         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
12176         gl_cv_func_unlink_parent_fails to "guessing yes".
12177         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
12178         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
12179         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
12180         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
12181         gl_cv_func_rename_dest_works to "guessing yes".
12182         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
12183         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
12184         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
12185         compiling to glibc systems, set gl_cv_func_roundf_ieee to
12186         "guessing yes".
12187         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
12188         compiling to glibc systems, set gl_cv_func_roundl_ieee to
12189         "guessing yes".
12190         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
12191         compiling to glibc systems, set gl_cv_func_setenv_works to
12192         "guessing yes".
12193         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
12194         compiling to glibc systems, set gl_cv_func_unsetenv_works to
12195         "guessing yes".
12196         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
12197         compiling to glibc systems, set gl_cv_func_sleep_works to
12198         "guessing yes".
12199         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
12200         compiling to glibc systems, set gl_cv_func_stat_file_slash to
12201         "guessing yes".
12202         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
12203         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
12204         "guessing yes".
12205         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
12206         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
12207         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
12208         compiling to glibc systems, set gl_cv_func_truncf_ieee to
12209         "guessing yes".
12210         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
12211         compiling to glibc systems, set gl_cv_func_truncl_ieee to
12212         "guessing yes".
12213         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
12214         compiling to glibc systems, set gl_cv_func_usleep_works to
12215         "guessing yes".
12216         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
12217         compiling to glibc systems, set gl_cv_func_futimesat_works to
12218         "guessing yes".
12219
12220 2012-05-03  Bruno Haible  <bruno@clisp.org>
12221
12222         Say "guessing yes" or "guessing no" when cross-compiling.
12223         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
12224         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
12225         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
12226         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
12227         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
12228         am_cv_func_working_getline to "guessing yes" or "guessing no".
12229         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
12230         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
12231         (gl_FUNC_MEMMEM): When cross-compiling, set
12232         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
12233         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
12234         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
12235         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
12236         set gl_cv_func_strcasestr_works_always to "guessing yes" or
12237         "guessing no".
12238         (gl_FUNC_STRCASESTR): When cross-compiling, set
12239         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
12240         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
12241         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
12242         (gl_FUNC_STRSTR): When cross-compiling, set
12243         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
12244         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
12245         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
12246         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
12247         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
12248
12249 2012-05-01  Bruno Haible  <bruno@clisp.org>
12250
12251         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
12252         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
12253         * build-aux/reloc-ldflags: Likewise.
12254         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
12255
12256 2012-05-01  Bruno Haible  <bruno@clisp.org>
12257
12258         gnulib-tool: Remove transitional code.
12259         * gnulib-tool: Don't warn about --import with 0 arguments any more.
12260         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
12261
12262 2012-05-01  Bruno Haible  <bruno@clisp.org>
12263
12264         getcwd: Fix misindentation.
12265         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
12266
12267 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
12268
12269         exclude: process exclude and include directives in order
12270         This restores the pre-2009 behavior, and is part of a fix of a
12271         grep bug reported by Quentin Arce in
12272         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
12273         * lib/exclude.c (struct exclude): Remove 'tail' member.
12274         (new_exclude_segment): Prepend the new segment instead of appending.
12275         Return void, since that's now more convenient.
12276         (file_pattern_matches): Renamed from excluded_file_pattern_p.
12277         (file_name_matches): Renamed from excluded_file_name_p.
12278         (file_pattern_matches, file_name_matches):
12279         Return true if the pattern matches, not if it excludes.
12280         All callers changed.
12281         (excluded_file_name): Process the list in reverse order;
12282         since the list is now reversed this restores the pre-2009 behavior.
12283         (add_exclude): Adjust to new reversed-order list.  Use local var
12284         rather than macro, for clarity.
12285         * tests/test-exclude7.sh: Adjust to corrected behavior.
12286
12287         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
12288         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
12289         it's not possible here.  Handle the case of \ at end of pattern
12290         without dumping core.
12291         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
12292
12293         _Noreturn: future-proof non-GNU and non-MSVC compilers
12294         * build-aux/snippet/_Noreturn.h (_Noreturn):
12295         * m4/gnulib-common.m4 (gl_COMMON_BODY):
12296         Do not define _Noreturn if __STDC_VERSION__ indicates this is
12297         C11 or later.  This is more likely to work with random future C
12298         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
12299         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
12300
12301         exclude: handle wildcards with FNM_EXTMATCH
12302         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
12303         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
12304         comment that "has wildcards" really means "has or may have
12305         wildcards".  Simplify by avoiding the need to call strcspn.
12306
12307 2012-04-29  Bruno Haible  <bruno@clisp.org>
12308
12309         gnulib-tool: Fix list of authors.
12310         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
12311
12312 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
12313
12314         bootstrap: support Automake-NG in $buildreq
12315         * bootstrap (check_versions): Handle automake and aclocal from
12316         Automake-NG specially.  They can be specified as respectively
12317         the "automake-ng" and "aclocal-ng" requirements.
12318
12319 2012-04-25  Eric Blake  <eblake@redhat.com>
12320
12321         bootstrap: only force latest Makefile.in.in for gettext module
12322         * build-aux/bootstrap (with_gettext): Only install latest
12323         Makefile.in.in for projects requesting bleeding edge gettext.
12324
12325 2012-04-22  Bruno Haible  <bruno@clisp.org>
12326
12327         doc: Mention reason for replacement on glibc/Linux systems.
12328         * doc/posix-functions/dprintf.texi: Mention the problem with special
12329         'long double' values.
12330         * doc/posix-functions/fprintf.texi: Likewise.
12331         * doc/posix-functions/printf.texi: Likewise.
12332         * doc/posix-functions/snprintf.texi: Likewise.
12333         * doc/posix-functions/sprintf.texi: Likewise.
12334         * doc/posix-functions/vdprintf.texi: Likewise.
12335         * doc/posix-functions/vfprintf.texi: Likewise.
12336         * doc/posix-functions/vprintf.texi: Likewise.
12337         * doc/posix-functions/vsnprintf.texi: Likewise.
12338         * doc/posix-functions/vsprintf.texi: Likewise.
12339         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
12340         platforms with F_DUPFD_CLOEXEC problems.
12341         * doc/posix-functions/glob.texi: Mention which platforms are affected
12342         by the problem with symbolic links.
12343         * doc/posix-functions/linkat.texi: Mention the problem with
12344         AT_SYMLINK_FOLLOW on Linux.
12345
12346 2012-04-22  Bruno Haible  <bruno@clisp.org>
12347
12348         pwrite: Don't replace on all platforms.
12349         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
12350
12351 2012-04-22  Bruno Haible  <bruno@clisp.org>
12352
12353         rint* tests: Avoid gcc warnings.
12354         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
12355         * tests/test-rintf.c (INFINITY, NAN): Likewise.
12356         * tests/test-rintl.c (INFINITY, NAN): Likewise.
12357
12358 2012-04-21  Bruno Haible  <bruno@clisp.org>
12359
12360         users.txt: Update.
12361         * users.txt: Add freedink, wdiff. Update URLs for projects that have
12362         switched from CVS to git, bzr, or svn.
12363
12364 2012-04-21  Bruno Haible  <bruno@clisp.org>
12365
12366         Large File Support for native Windows platforms.
12367
12368         * m4/largefile.m4 (gl_LARGEFILE): New macro.
12369         * modules/largefile (configure.ac): Require gl_LARGEFILE.
12370
12371         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
12372         type.
12373         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
12374         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
12375         * doc/posix-headers/sys_types.texi: Mention the effect of the
12376         'largefile' module.
12377
12378         * lib/fcntl.in.h: Add comments about off_t.
12379         * modules/fcntl-h (Depends-on): Add sys_types.
12380
12381         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
12382         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
12383         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
12384         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
12385         * modules/unistd (Depends-on): Add sys_types.
12386         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
12387
12388         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
12389         instead of lseek.
12390         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
12391         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
12392         * modules/lseek (Depends-on): Add sys_types.
12393
12394         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
12395         msvc-nothrow.h.
12396         (SetFileSize): New function.
12397         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
12398         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
12399         if Large File Support is requested.
12400         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
12401         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
12402
12403         * lib/stdio.in.h: Add comments about off_t.
12404         * modules/stdio (Depends-on): Add sys_types.
12405
12406         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
12407         instead of ftello.
12408         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
12409         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
12410         (gl_PREREQ_FTELLO): New macro.
12411         * modules/ftello (Depends-on): Add sys_types.
12412         (configure.ac): Incoke gl_PREREQ_FTELLO.
12413
12414         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
12415         instead of fseeko.
12416         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
12417         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
12418         (gl_PREREQ_FSEEKO): New macro.
12419         * modules/fseeko (Depends-on): Add sys_types.
12420         (configure.ac): Invoke gl_PREREQ_FSEEKO.
12421
12422         * lib/sys_stat.in.h: Add comments about off_t.
12423         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
12424         64-bit integer for st_size in 'struct stat'.
12425         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
12426         Define _GL_WINDOWS_64_BIT_ST_SIZE.
12427         * modules/sys_stat (Depends-on): Add sys_types.
12428         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
12429
12430         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
12431         instead of stat or _stat.
12432
12433         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
12434         'struct _stati64' instead of fstat and 'struct stat'.
12435         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
12436         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
12437
12438         Reported by Ray Satiro <raysatiro@yahoo.com>.
12439
12440 2012-04-19  Eric Blake  <eblake@redhat.com>
12441
12442         bootstrap: accommodate older libtool
12443         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
12444         Reported by Daniel P. Berrange.
12445
12446 2012-04-19  Jim Meyering  <meyering@redhat.com>
12447
12448         announce-gen: avoid failure due to lack of Digest::SHA1
12449         Even with the preferred Digest::SHA available, this script
12450         would fail when the backup module, Digest::SHA1, was not installed.
12451         * build-aux/announce-gen: Quote the conditional use of "use".
12452         Reported by Reuben Thomas in:
12453         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
12454
12455         bootstrap: don't let a user's CDPATH setting affect this script
12456         When CDPATH is set, cd will sometimes generate output.
12457         When "cd" is run in a subshell whose output matters, that
12458         surprising-to-some output can cause malfunction.
12459         Unsetting CDPATH turns off this shell "feature."
12460         * build-aux/bootstrap (CDPATH): Unset.
12461         Reported by Reuben Thomas in:
12462         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
12463         and inspired by his patch here:
12464         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
12465
12466 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
12467         and Jim Meyering  <meyering@redhat.com>
12468
12469         maint.mk: catch "see @xref{}" and similar
12470         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
12471         prohibit "See also @xref{", "Also see @pxref{", and similar.
12472
12473 2012-04-16  Jim Meyering  <meyering@redhat.com>
12474
12475         bootstrap: really use gnulib's po/Makefile.in.in
12476         * build-aux/bootstrap: Correct the source file name in previous change.
12477         Reported by Akim Demaille.
12478
12479         configmake: correct minor inconsistency in Makefile rule
12480         * modules/configmake (Makefile.am): All other rules like this one
12481         run the final "mv -f ..." in the same backslash-continued command
12482         as the one that does everything else.  This one put the mv -f ...
12483         command on a separate, non-backslash-continued line.
12484         Make it like the others.
12485
12486         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
12487         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
12488         the one from gettext.  Reported by Akim Demaille.
12489
12490 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
12491
12492         Fix recursion of install-* into po directories.
12493         Bison's install-pdf bug reported by Hans Aberg at
12494         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
12495         * build-aux/po/Makefile.in.in (install-dvi, install-html)
12496         (install-info, install-pdf, install-ps): New targets.
12497
12498 2012-04-16  Jim Meyering  <meyering@redhat.com>
12499
12500         maint: avoid spurious "make sc_maint" failure
12501         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
12502         exempt all *.class file names, for lib/javaversion.class.
12503
12504 2012-04-15  Bruno Haible  <bruno@clisp.org>
12505
12506         lseek: Make configure test independent of environment.
12507         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
12508         Windows, we know that lseek() on pipes is broken; skip the runtime
12509         test.
12510
12511 2012-04-14  Bruno Haible  <bruno@clisp.org>
12512
12513         stat: Bypass buggy override in mingw64.
12514         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
12515         * lib/stat.c (stat) [mingw64]: Define to _stat.
12516         * doc/posix-functions/stat.texi: Mention mingw64 bug.
12517
12518 2012-04-14  Bruno Haible  <bruno@clisp.org>
12519
12520         pathmax: Fix compilation error on MSVC 9.
12521         * modules/pathmax (Depends-on): Add unistd.
12522
12523 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
12524
12525         README: document pointer comparison assumption
12526         * README (Portability guidelines): Document assumption about
12527         pointer comparisons, in response to a recent bug-gnulib comment by
12528         Jeffrey Kegler.
12529
12530 2012-04-12  Bruno Haible  <bruno@clisp.org>
12531
12532         Tests for module 'getrusage'.
12533         * modules/getrusage-tests: New file.
12534         * tests/test-getrusage.c: New file.
12535
12536         New module 'getrusage'.
12537         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
12538         warn-on-use.h.
12539         (getrusage): New declaration.
12540         * lib/getrusage.c: New file.
12541         * m4/getrusage.m4: New file.
12542         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
12543         is declared.
12544         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
12545         HAVE_GETRUSAGE.
12546         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
12547         snippet/c++defs, snippet/warn-on-use.
12548         (Makefile.am): Update generation of sys/resource.h. Substitute
12549         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
12550         * modules/getrusage: New file.
12551         * doc/posix-functions/getrusage.texi: Mention the new module.
12552
12553 2012-04-12  Bruno Haible  <bruno@clisp.org>
12554
12555         Tests for module 'sys_resource'.
12556         * modules/sys_resource-tests: New file.
12557         * tests/test-sys_resource.c: New file.
12558
12559         New module 'sys_resource'.
12560         * lib/sys_resource.in.h: New file.
12561         * m4/sys_resource_h.m4: New file.
12562         * modules/sys_resource: New file.
12563         * doc/posix-headers/sys_resource.texi: Mention the new module.
12564
12565 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
12566
12567         ioctl: Fix compilation error on mingw.
12568         * lib/ioctl.c: Include <windows.h>.
12569         Also reported by Ray Satiro <raysatiro@yahoo.com>.
12570
12571 2012-04-04  Jim Meyering  <meyering@redhat.com>
12572
12573         regex: correct #pragma guard expression
12574         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
12575         not 4.3.  Correct its cpp guard expression.
12576
12577 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
12578
12579         regex: remove unnecessary type punning
12580         Problem reported by Vladimir Serbinenko in
12581         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
12582         * lib/regex.h (struct re_pattern_buffer): Change the type of
12583         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
12584         Fix comment to match code.
12585         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
12586         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
12587         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
12588         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
12589         (set_regs):
12590         Omit no-longer-necessary casts.
12591
12592 2012-04-03  Bruno Haible  <bruno@clisp.org>
12593
12594         Tests for module 'ilogbl'.
12595         * modules/ilogbl-tests: New file.
12596         * tests/test-ilogbl.c: New file.
12597
12598         New module 'ilogbl'.
12599         * lib/math.in.h (ilogbl): New declaration.
12600         * lib/ilogbl.c: New file.
12601         * m4/ilogbl.m4: New file.
12602         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
12603         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
12604         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
12605         Split sed invocation, to avoid the limit of 100 substitutions of
12606         HP-UX 'sed'.
12607         * modules/ilogbl: New file.
12608         * tests/test-math-c++.cc: Check the declaration of ilogbl.
12609         * doc/posix-functions/ilogbl.texi: Mention the new module.
12610
12611 2012-04-03  Bruno Haible  <bruno@clisp.org>
12612
12613         Tests for module 'ilogbf'.
12614         * modules/ilogbf-tests: New file.
12615         * tests/test-ilogbf.c: New file.
12616
12617         New module 'ilogbf'.
12618         * lib/math.in.h (ilogbf): New declaration.
12619         * lib/ilogbf.c: New file.
12620         * m4/ilogbf.m4: New file.
12621         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
12622         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
12623         REPLACE_ILOGBF.
12624         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
12625         REPLACE_ILOGBF.
12626         * modules/ilogbf: New file.
12627         * tests/test-math-c++.cc: Check the declaration of ilogbf.
12628         * doc/posix-functions/ilogbf.texi: Mention the new module.
12629
12630 2012-04-03  Bruno Haible  <bruno@clisp.org>
12631
12632         Tests for module 'ilogb'.
12633         * modules/ilogb-tests: New file.
12634         * tests/test-ilogb.c: New file.
12635         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
12636         tests/test-logb-ieee.h.
12637
12638         New module 'ilogb'.
12639         * lib/math.in.h (ilogb): New declaration.
12640         * lib/ilogb.c: New file.
12641         * m4/ilogb.m4: New file.
12642         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
12643         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
12644         REPLACE_ILOGB.
12645         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
12646         REPLACE_ILOGB.
12647         * modules/ilogb: New file.
12648         * tests/test-math-c++.cc: Check the declaration of ilogb.
12649         * doc/posix-functions/ilogb.texi: Mention the new module.
12650
12651 2012-04-03  Bruno Haible  <bruno@clisp.org>
12652
12653         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
12654         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
12655         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
12656         (main): Check their values.
12657         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
12658         problem.
12659
12660 2012-04-03  Bruno Haible  <bruno@clisp.org>
12661
12662         Tests for module 'logbl-ieee'.
12663         * modules/logbl-ieee-tests: New file.
12664         * tests/test-logbl-ieee.c: New file.
12665
12666         New module 'logbl-ieee'.
12667         * modules/logbl-ieee: New file.
12668
12669         Tests for module 'logb-ieee'.
12670         * modules/logb-ieee-tests: New file.
12671         * tests/test-logb-ieee.c: New file.
12672
12673         New module 'logb-ieee'.
12674         * modules/logb-ieee: New file.
12675
12676         Tests for module 'logbf-ieee'.
12677         * modules/logbf-ieee-tests: New file.
12678         * tests/test-logbf-ieee.c: New file.
12679         * tests/test-logb-ieee.h: New file.
12680
12681         New module 'logbf-ieee'.
12682         * modules/logbf-ieee: New file.
12683
12684 2012-04-03  Bruno Haible  <bruno@clisp.org>
12685
12686         Tests for module 'logbl'.
12687         * modules/logbl-tests: New file.
12688         * tests/test-logbl.c: New file.
12689
12690         New module 'logbl'.
12691         * lib/math.in.h (logbl): New declaration.
12692         * lib/logbl.c: New file.
12693         * m4/logbl.m4: New file.
12694         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
12695         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
12696         REPLACE_LOGBL.
12697         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
12698         REPLACE_LOGBL.
12699         * modules/logbl: New file.
12700         * tests/test-math-c++.cc: Check the declaration of logbl.
12701         * doc/posix-functions/logbl.texi: Mention the new module.
12702
12703 2012-04-02  Bruno Haible  <bruno@clisp.org>
12704
12705         Tests for module 'logbf'.
12706         * modules/logbf-tests: New file.
12707         * tests/test-logbf.c: New file.
12708
12709         New module 'logbf'.
12710         * lib/math.in.h (logbf): New declaration.
12711         * lib/logbf.c: New file.
12712         * m4/logbf.m4: New file.
12713         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
12714         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
12715         REPLACE_LOGBF.
12716         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
12717         REPLACE_LOGBF.
12718         * modules/logbf: New file.
12719         * tests/test-math-c++.cc: Check the declaration of logbf.
12720         * doc/posix-functions/logbf.texi: Mention the new module.
12721
12722 2012-04-02  Bruno Haible  <bruno@clisp.org>
12723
12724         logb tests: More tests.
12725         * tests/test-logb.h: New file, based on tests/test-logb.c and
12726         tests/test-frexp.h.
12727         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
12728         (main): Just invoke test_function.
12729         * modules/logb-tests (Files): Add tests/test-logb.h,
12730         tests/minus-zero.h, tests/randomd.c.
12731         (Makefile.am): Add randomd.c to test_logb_SOURCES.
12732
12733         logb: Provide replacement and workarounds.
12734         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
12735         is 1.
12736         * lib/logb.c: New file.
12737         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
12738         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
12739         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
12740         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
12741         * modules/logb (Files): Add lib/logb.c.
12742         (Depends-on): Add isfinite, frexp, isnand.
12743         (configure.ac): Compile the replacement code logb.c if needed.
12744         * tests/test-math-c++.cc: Check the declaration of logb.
12745         * doc/posix-functions/logb.texi: Mention the replacement and the bug
12746         with subnormal numbers.
12747
12748 2012-04-02  Bruno Haible  <bruno@clisp.org>
12749
12750         log10* tests: Speed up.
12751         * tests/test-log10.h (test_function): Reduce amount of random numbers
12752         to test.
12753
12754 2012-04-01  Bruno Haible  <bruno@clisp.org>
12755
12756         logf-ieee: Fix test whether logf works.
12757         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
12758
12759 2012-04-01  Bruno Haible  <bruno@clisp.org>
12760
12761         log10l: Work around log10l-ieee test failure on IRIX 6.5.
12762         * lib/log10l.c: Include <float.h>
12763         (log10l): On IRIX, normalize the +Infinity value.
12764         * modules/log10l (Depends-on): Add 'float'.
12765         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
12766         +Infinity.
12767
12768         log10f-ieee: Work around test failure on NetBSD 5.1.
12769         * m4/log10f-ieee.m4: New file.
12770         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
12771         test whether log10f works with a negative argument. Replace it if not.
12772         * lib/log10f.c (log10f): For negative arguments, return NaN.
12773         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
12774         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
12775         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
12776
12777         log10f-ieee: Work around test failure on Solaris 9.
12778         * modules/log10f-ieee (Depends-on): Add log10-ieee.
12779         (configure.ac): Require gl_FUNC_LOG10F.
12780
12781         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
12782         * m4/log10-ieee.m4: New file.
12783         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
12784         whether log10 works with a negative argument. Replace it if not.
12785         * lib/log10.c (log10): For negative arguments, return NaN.
12786         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
12787         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
12788         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
12789
12790         Tests for module 'log10l-ieee'.
12791         * modules/log10l-ieee-tests: New file.
12792         * tests/test-log10l-ieee.c: New file.
12793
12794         New module 'log10l-ieee'.
12795         * modules/log10l-ieee: New file.
12796
12797         Tests for module 'log10-ieee'.
12798         * modules/log10-ieee-tests: New file.
12799         * tests/test-log10-ieee.c: New file.
12800
12801         New module 'log10-ieee'.
12802         * modules/log10-ieee: New file.
12803
12804         Tests for module 'log10f-ieee'.
12805         * modules/log10f-ieee-tests: New file.
12806         * tests/test-log10f-ieee.c: New file.
12807         * tests/test-log10-ieee.h: New file.
12808
12809         New module 'log10f-ieee'.
12810         * modules/log10f-ieee: New file.
12811
12812 2012-04-01  Bruno Haible  <bruno@clisp.org>
12813
12814         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
12815         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
12816         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
12817         workaround.
12818         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
12819         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
12820         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
12821         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
12822         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
12823         (Depends-on): Update conditions.
12824         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
12825         IRIX 6.5, OSF/1 5.1 problems.
12826
12827 2012-04-01  Bruno Haible  <bruno@clisp.org>
12828
12829         log10f: Work around OSF/1 5.1 bug.
12830         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
12831         * lib/log10f.c (log10f): If logf exists, use it and provide just the
12832         workaround.
12833         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
12834         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
12835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
12836         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
12837         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
12838         (Depends-on): Update conditions.
12839         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
12840
12841 2012-04-01  Bruno Haible  <bruno@clisp.org>
12842
12843         log10: Work around OSF/1 5.1 bug.
12844         * lib/math.in.h (log10): New declaration.
12845         * lib/log10.c: New file.
12846         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
12847         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
12848         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
12849         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
12850         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
12851         * modules/log10 (Files): Add lib/log10.c.
12852         (Depends-on): Add math.
12853         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
12854         * tests/test-math-c++.cc: Check the declaration of log10.
12855         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
12856
12857 2012-03-31  Bruno Haible  <bruno@clisp.org>
12858
12859         log10l tests: More tests.
12860         * modules/log10l-tests (Files): Add tests/test-log10l.h,
12861         tests/minus-zero.h, tests/randoml.c.
12862         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
12863         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
12864         (main): Invoke test_function.
12865
12866         log10f tests: More tests.
12867         * modules/log10f-tests (Files): Add tests/test-log10.h,
12868         tests/minus-zero.h, tests/randomf.c.
12869         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
12870         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
12871         (main): Invoke test_function.
12872
12873         log10 tests: More tests.
12874         * tests/test-log10.h: New file.
12875         * modules/log10-tests (Files): Add tests/test-log10.h,
12876         tests/minus-zero.h, tests/randomd.c.
12877         (Makefile.am): Add randomd.c to test_log10_SOURCES.
12878         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
12879         (main): Invoke test_function.
12880
12881 2012-03-31  Simon Josefsson  <simon@josefsson.org>
12882
12883         fflush: Fix syntax error.
12884         * lib/fflush.c: Include unused-parameter.h, needed for
12885         _GL_UNUSED_PARAMETER.
12886         * modules/fflush (Depends-on): Add snippet/unused-parameter.
12887
12888 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
12889
12890         regex: pacify GCC when compiling GRUB
12891         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
12892         a diagnostic.  Reported by Vladimir Serbinenko in
12893         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
12894
12895 2012-03-29  Eric Blake  <eblake@redhat.com>
12896
12897         stdio: don't assume gets any more
12898         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
12899         support.
12900         * modules/stdio (Makefile.am): Likewise.
12901         * lib/stdio-read.c (gets): Likewise.
12902         * tests/test-stdio-c++.cc: Likewise.
12903         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
12904         * lib/stdio.in.h (gets): Make warning occur in more places.
12905         * doc/posix-functions/gets.texi (gets): Update documentation.
12906         Reported by Christer Solskogen.
12907
12908         maint.mk: fix syntax checks without exclusions
12909         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
12910         Reported by Daniel P. Berrange.
12911
12912         strerror_r: avoid compiler warning
12913         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
12914         level.
12915
12916         fflush: avoid compiler warning
12917         * lib/fflush.c (update_fpos_cache): Mark variables that are
12918         potentially unused.
12919
12920 2012-03-25  Bruno Haible  <bruno@clisp.org>
12921
12922         Tests for module 'localeconv'.
12923         * modules/localeconv-tests: New file.
12924         * tests/test-localeconv.c: New file.
12925
12926         New module 'localeconv'.
12927         * lib/locale.in.h (localeconv): New declaration.
12928         * lib/localeconv.c: New file.
12929         * m4/localeconv.m4: New file.
12930         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
12931         REPLACE_LOCALECONV.
12932         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
12933         REPLACE_LOCALECONV.
12934         * modules/localeconv: New file.
12935         * modules/nl_langinfo (Depends-on): Add localeconv.
12936         * modules/human (Depends-on): Likewise.
12937         * doc/posix-functions/localeconv.texi: Mention the new module.
12938
12939 2012-03-25  Bruno Haible  <bruno@clisp.org>
12940
12941         locale: Provide a complete 'struct lconv'.
12942         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
12943         'struct lconv' does not contain int_p_cs_precedes.
12944         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
12945         * doc/posix-headers/locale.texi: Update.
12946
12947         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
12948         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
12949         * doc/posix-headers/locale.texi: Update.
12950
12951         locale: Provide a working 'struct lconv'.
12952         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
12953         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
12954         'struct lconv' does not even contain decimal_point.
12955         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
12956         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
12957         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
12958         * doc/posix-headers/locale.texi: Mention the problems with
12959         'struct lconv'.
12960         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
12961
12962 2012-03-24  Bruno Haible  <bruno@clisp.org>
12963
12964         Enable common subexpression optimization in GCC.
12965         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
12966         macros.
12967         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
12968         GCC attribute 'const'.
12969         (uc_locale_language): Declare with GCC attribute 'pure'.
12970         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
12971         with GCC attribute 'const'.
12972         * lib/unictype.in.h (uc_is_general_category_withtable,
12973         uc_combining_class, uc_combining_class_name,
12974         uc_combining_class_long_name, uc_bidi_class_name,
12975         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
12976         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
12977         uc_decimal_value, uc_digit_value, uc_numeric_value,
12978         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
12979         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
12980         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
12981         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
12982         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
12983         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
12984         Declare with GCC attribute 'const'.
12985         (uc_general_category_name, uc_general_category_long_name,
12986         uc_general_category_byname, uc_general_category,
12987         uc_is_general_category, uc_combining_class_byname,
12988         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
12989         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
12990         Declare with GCC attribute 'pure'.
12991         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
12992         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
12993         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
12994         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
12995         with GCC attribute 'pure'.
12996         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
12997         'const'.
12998         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
12999         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
13000         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
13001         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
13002         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
13003         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
13004         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
13005         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
13006         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
13007         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
13008         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
13009         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
13010         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
13011         GCC attribute 'pure'.
13012         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
13013         'const'.
13014         * lib/uniwidth.in.h (uc_width): Simplify declaration.
13015         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
13016         u32_strwidth): Declare with GCC attribute 'pure'.
13017
13018         Enable common subexpression optimization in GCC.
13019         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
13020         (alphasort): Declare with GCC attribute 'pure'.
13021         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
13022         (atoll): Declare with GCC attribute 'pure'.
13023         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
13024         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
13025         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
13026         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
13027         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
13028         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
13029         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
13030
13031 2012-03-24  Bruno Haible  <bruno@clisp.org>
13032
13033         gnulib-tool: Avoid unintended error output from 'cmp'.
13034         * gnulib-tool (func_add_file, func_update_file, func_import): Use
13035         "cmp -s", not "cmp > /dev/null".
13036
13037 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
13038
13039         gnulib-tool: fix imprecise comments w.r.t. an automake bug
13040
13041         It's not just Automake versions < 1.9b that creates an empty
13042         pkgdatadir at installation time if pkgdata_DATA is specified
13043         to empty; modern automake versions do this as well, at least
13044         until automake 1.11.4 (not yet released at the moment of writing,
13045         but soon to appear).  That behaviour was generally considered a
13046         feature rather than a bug, at least until this discussion:
13047         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
13048
13049         See also automake bugs #10997 and #11030.
13050
13051         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
13052         reference to relevant automake bug numbers.
13053         (func_emit_tests_Makefile_am): Likewise.
13054
13055 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
13056
13057         announce-gen: use Digest::SHA when possible
13058         * build-aux/announce-gen: Use Digest::SHA when possible, falling
13059         back to Digest::SHA1 if necessary.
13060
13061 2012-03-20  Jim Meyering  <meyering@redhat.com>
13062
13063         tests: avoid gcc warnings about argv vs. const initializers
13064         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
13065         warnings about discarding 'const' qualifier from pointer target type.
13066         * tests/test-posix_spawn2.c (main): Likewise.
13067
13068 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
13069
13070         README-release: simplify slightly
13071         * top/README-release: Run "git checkout master" only once.
13072
13073 2012-03-15  Mark Wielaard  <mark@klomp.org>
13074
13075         git-merge-changelog: add specific example on how to use with hg.
13076         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
13077
13078 2012-03-18  Mark Wielaard  <mark@klomp.org>
13079
13080         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
13081
13082 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
13083
13084         git-version-gen: don't let "prefix" envvar cause trouble
13085         * build-aux/git-version-gen (prefix): Initialize properly,
13086         so as not to use a value specified via the environment.
13087         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
13088
13089 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
13090
13091         regex: diagnose too-large repeat counts in EREs
13092         Previously, the code did not diagnose the too-large repeat count
13093         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
13094         as if it were 'b\{1000000000}', which is unexpected.
13095         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
13096         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
13097         is a reasonable one for this problem.  Another option would be to
13098         create a new REG_OVERFLOW error for repeat counts that are too large.
13099         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
13100         count is too large, so that the caller can distinguish the two cases.
13101         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
13102         "Too large" return code, and that repeat counts are one example of this.
13103
13104 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
13105
13106         doc: some glibc x32 integer width issues
13107         * doc/posix-headers/sys_types.texi (sys/types.h):
13108         * doc/posix-headers/time.texi (time.h):
13109         Mention that glibc x32 does not conform to POSIX in a couple of
13110         areas related to integer widths.
13111
13112 2012-03-15  Bruno Haible  <bruno@clisp.org>
13113
13114         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
13115         * lib/fma.c (VOLATILE): New macro.
13116         (FUNC): Use it to work around a GCC compiler bug.
13117
13118 2012-03-13  Bruno Haible  <bruno@clisp.org>
13119
13120         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
13121         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
13122         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
13123         REPLACE_HYPOTL to 1.
13124         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
13125
13126 2012-03-13  Bruno Haible  <bruno@clisp.org>
13127
13128         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
13129         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
13130         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
13131         REPLACE_REMAINDERL to 1.
13132         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
13133         bug.
13134
13135 2012-03-13  Bruno Haible  <bruno@clisp.org>
13136
13137         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
13138         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
13139         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
13140         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
13141         too big rounding errors.
13142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
13143         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
13144         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
13145         (Depends-on): Update conditions.
13146         * tests/test-sqrtl.c (my_ldexpl): New function.
13147         (main): Add test of a particular value.
13148         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
13149
13150 2012-03-13  Pádraig Brady  <P@draigBrady.com>
13151
13152         doc: Update timer_* platform portability notes.
13153         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
13154         that always return ENOSYS.
13155         * doc/posix-functions/timer_delete.texi: Likewise.
13156         * doc/posix-functions/timer_gettime.texi: Likewise.
13157         * doc/posix-functions/timer_settime.texi: Likewise.
13158
13159 2012-03-13  Bruno Haible  <bruno@clisp.org>
13160
13161         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
13162         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
13163         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
13164         REPLACE_CBRTL to 1.
13165         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
13166
13167 2012-03-13  Bruno Haible  <bruno@clisp.org>
13168
13169         remainderl: Avoid compilation error on AIX >= 5.2.
13170         * lib/math.in.h (remainderl): Undefine macro from the system header.
13171
13172 2012-03-13  Bruno Haible  <bruno@clisp.org>
13173
13174         Avoid compilation errors with MSVC option -fp:strict.
13175         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
13176         * lib/cbrtf.c: Likewise.
13177         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
13178
13179 2012-03-12  Bruno Haible  <bruno@clisp.org>
13180
13181         uninorm: Don't crash in out-of-memory conditions.
13182         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
13183         gracefully.
13184         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
13185         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
13186
13187 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
13188
13189         quote: fix syntax-check
13190         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
13191         also exports quote_quoting_options.
13192
13193 2012-03-12  Simon Josefsson  <simon@josefsson.org>
13194
13195         Collapse list of copyright years to ranges.  See
13196         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
13197         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
13198         build-aux/csharpexec.sh.in, build-aux/gnupload,
13199         build-aux/install-reloc, build-aux/javacomp.sh.in,
13200         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
13201         build-aux/move-if-change, build-aux/reloc-ldflags,
13202         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
13203
13204 2012-03-11  Bruno Haible  <bruno@clisp.org>
13205
13206         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
13207         * m4/log2f-ieee.m4: New file.
13208         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
13209         whether log2f works with a minus zero argument. Replace it if not.
13210         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
13211         (Depends-on): Add log2-ieee.
13212         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
13213         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
13214
13215         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
13216         * m4/log2-ieee.m4: New file.
13217         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
13218         whether log2 works with a minus zero argument. Replace it if not.
13219         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
13220         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
13221         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
13222
13223         Tests for module 'log2l-ieee'.
13224         * modules/log2l-ieee-tests: New file.
13225         * tests/test-log2l-ieee.c: New file.
13226
13227         New module 'log2l-ieee'.
13228         * modules/log2l-ieee: New file.
13229
13230         Tests for module 'log2-ieee'.
13231         * modules/log2-ieee-tests: New file.
13232         * tests/test-log2-ieee.c: New file.
13233
13234         New module 'log2-ieee'.
13235         * modules/log2-ieee: New file.
13236
13237         Tests for module 'log2f-ieee'.
13238         * modules/log2f-ieee-tests: New file.
13239         * tests/test-log2f-ieee.c: New file.
13240         * tests/test-log2-ieee.h: New file.
13241
13242         New module 'log2f-ieee'.
13243         * modules/log2f-ieee: New file.
13244
13245 2012-03-11  Bruno Haible  <bruno@clisp.org>
13246
13247         Tests for module 'log2l'.
13248         * modules/log2l-tests: New file.
13249         * tests/test-log2l.c: New file.
13250
13251         New module 'log2l'.
13252         * lib/math.in.h (log2l): New declaration.
13253         * lib/log2l.c: New file.
13254         * m4/log2l.m4: New file.
13255         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
13256         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
13257         REPLACE_LOG2L.
13258         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
13259         REPLACE_LOG2L.
13260         * modules/log2l: New file.
13261         * tests/test-math-c++.cc: Check the declaration of log2l.
13262         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
13263         and OSF/1 problems.
13264
13265 2012-03-11  Bruno Haible  <bruno@clisp.org>
13266
13267         Tests for module 'log2f'.
13268         * modules/log2f-tests: New file.
13269         * tests/test-log2f.c: New file.
13270
13271         New module 'log2f'.
13272         * lib/math.in.h (log2f): New declaration.
13273         * lib/log2f.c: New file.
13274         * m4/log2f.m4: New file.
13275         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
13276         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
13277         REPLACE_LOG2F.
13278         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
13279         REPLACE_LOG2F.
13280         * modules/log2f: New file.
13281         * tests/test-math-c++.cc: Check the declaration of log2f.
13282         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
13283         and OSF/1 and Cygwin problems.
13284
13285 2012-03-11  Bruno Haible  <bruno@clisp.org>
13286
13287         Tests for module 'log2'.
13288         * modules/log2-tests: New file.
13289         * tests/test-log2.c: New file.
13290         * tests/test-log2.h: New file.
13291
13292         New module 'log2'.
13293         * lib/math.in.h (log2): New declaration.
13294         * lib/log2.c: New file.
13295         * m4/log2.m4: New file.
13296         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
13297         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
13298         REPLACE_LOG2.
13299         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
13300         REPLACE_LOG2.
13301         * modules/log2: New file.
13302         * tests/test-math-c++.cc: Check the declaration of log2.
13303         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
13304         and OSF/1 and Cygwin problems.
13305
13306 2012-03-11  Bruno Haible  <bruno@clisp.org>
13307
13308         exp2* tests: More tests.
13309         * tests/test-exp2.h (test_function): Test all integral arguments that
13310         don't need to overflow or denormalized numbers.
13311         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
13312         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
13313         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
13314
13315 2012-03-10  Bruno Haible  <bruno@clisp.org>
13316
13317         log1pl-ieee: Work around test failure on AIX 7.1.
13318         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
13319
13320         log1pl-ieee: Work around test failure on IRIX 6.5.
13321         * m4/log1pl-ieee.m4: New file.
13322         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
13323         test whether log1pl works with a minus zero argument. Replace it if
13324         not.
13325         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
13326         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
13327         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
13328         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
13329         (Depends-on): Update conditions.
13330         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
13331         m4/signbit.m4.
13332         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
13333         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
13334
13335         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
13336         * m4/log1pf-ieee.m4: New file.
13337         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
13338         test whether log1pf works with a minus zero argument. Replace it if
13339         not.
13340         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
13341         m4/signbit.m4.
13342         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
13343         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
13344
13345         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
13346         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
13347         (configure.ac): Require gl_FUNC_LOG1PF.
13348
13349         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
13350         * m4/log1p-ieee.m4: New file.
13351         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
13352         whether log1p works with a minus zero argument. Replace it if not.
13353         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
13354         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
13355         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
13356         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
13357         (Depends-on): Update conditions.
13358         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
13359         m4/signbit.m4.
13360         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
13361         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
13362
13363         Tests for module 'log1pl-ieee'.
13364         * modules/log1pl-ieee-tests: New file.
13365         * tests/test-log1pl-ieee.c: New file.
13366
13367         New module 'log1pl-ieee'.
13368         * modules/log1pl-ieee: New file.
13369
13370         Tests for module 'log1p-ieee'.
13371         * modules/log1p-ieee-tests: New file.
13372         * tests/test-log1p-ieee.c: New file.
13373
13374         New module 'log1p-ieee'.
13375         * modules/log1p-ieee: New file.
13376
13377         Tests for module 'log1pf-ieee'.
13378         * modules/log1pf-ieee-tests: New file.
13379         * tests/test-log1pf-ieee.c: New file.
13380         * tests/test-log1p-ieee.h: New file.
13381
13382         New module 'log1pf-ieee'.
13383         * modules/log1pf-ieee: New file.
13384
13385 2012-03-10  Bruno Haible  <bruno@clisp.org>
13386
13387         Tests for module 'log1pl'.
13388         * modules/log1pl-tests: New file.
13389         * tests/test-log1pl.c: New file.
13390
13391         New module 'log1pl'.
13392         * lib/math.in.h (log1pl): New declaration.
13393         * lib/log1pl.c: New file.
13394         * m4/log1pl.m4: New file.
13395         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
13396         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
13397         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
13398         * modules/log1pl: New file.
13399         * tests/test-math-c++.cc: Check the declaration of log1pl.
13400         * doc/posix-functions/log1pl.texi: Mention the new module.
13401
13402 2012-03-10  Bruno Haible  <bruno@clisp.org>
13403
13404         Tests for module 'log1pf'.
13405         * modules/log1pf-tests: New file.
13406         * tests/test-log1pf.c: New file.
13407
13408         New module 'log1pf'.
13409         * lib/math.in.h (log1pf): New declaration.
13410         * lib/log1pf.c: New file.
13411         * m4/log1pf.m4: New file.
13412         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
13413         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
13414         REPLACE_LOG1PF.
13415         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
13416         REPLACE_LOG1PF.
13417         * modules/log1pf: New file.
13418         * tests/test-math-c++.cc: Check the declaration of log1pf.
13419         * doc/posix-functions/log1pf.texi: Mention the new module.
13420
13421 2012-03-10  Bruno Haible  <bruno@clisp.org>
13422
13423         log1p tests: More tests.
13424         * tests/test-log1p.h: New file.
13425         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
13426         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
13427         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
13428         (main): Invoke test_function.
13429
13430         log1p: Provide replacement for Minix and MSVC.
13431         * lib/math.in.h (log1p): New declaration.
13432         * lib/log1p.c: New file.
13433         * m4/log1p.m4: New file.
13434         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
13435         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
13436         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
13437         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
13438         (Depends-on): Add math, isnand, log, round.
13439         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
13440         HAVE_LOG1P is 0.
13441         * tests/test-math-c++.cc: Check the declaration of log1p.
13442         * doc/posix-functions/log1p.texi: Mention the replacement.
13443
13444 2012-03-10  Bruno Haible  <bruno@clisp.org>
13445
13446         math tests: Small simplification.
13447         * tests/test-exp.h (test_function): Use the same err_bound for
13448         'double' on platforms with sizeof (long double) == sizeof (double)
13449         than on platforms with sizeof (long double) > sizeof (double).
13450         * tests/test-exp2.h (test_function): Likewise.
13451         * tests/test-expm1.h (test_function): Likewise.
13452         * tests/test-log.h (test_function): Likewise.
13453
13454 2012-03-10  Bruno Haible  <bruno@clisp.org>
13455
13456         Fix some comments.
13457         * lib/expl.c: Fix an ambiguous comment.
13458         * lib/expm1.c: Likewise.
13459         * lib/expm1l.c: Likewise.
13460         * lib/exp2.c: Likewise.
13461         * lib/exp2l.c: Likewise.
13462
13463 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
13464
13465         regex: allow inclusion of <regex.h> before <limits.h>
13466         Without this patch, portable programs had to include <limits.h> before
13467         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
13468         I ran into this problem with a test version of GNU grep on Solaris 8.
13469         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
13470         This is done conditionally so that this change can be merged
13471         back to glibc.
13472         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
13473         using the included regex.
13474
13475         fts: depend on fdopendir
13476         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
13477         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
13478         problem was introduced when fdopendir was split out.
13479
13480 2012-03-10  Bruno Haible  <bruno@clisp.org>
13481
13482         Remove unused variables.
13483         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
13484         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
13485
13486 2012-03-10  Bruno Haible  <bruno@clisp.org>
13487
13488         isnanf-nolibm: Fix last commit.
13489         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
13490
13491         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
13492         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
13493
13494 2012-03-10  Bruno Haible  <bruno@clisp.org>
13495
13496         logf-ieee: Work around test failure on NetBSD 5.1.
13497         * m4/logf-ieee.m4: New file.
13498         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
13499         whether logf works with a negative argument. Replace it if not.
13500         * lib/logf.c (logf): For negative arguments, return NaN.
13501         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
13502         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
13503         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
13504
13505         logf-ieee: Work around test failure on Solaris 9.
13506         * modules/logf-ieee (Depends-on): Add log-ieee.
13507         (configure.ac): Require gl_FUNC_LOGF.
13508
13509         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
13510         * m4/log-ieee.m4: New file.
13511         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
13512         log works with a negative argument. Replace it if not.
13513         * lib/log.c (log): For negative arguments, return NaN.
13514         * modules/log-ieee (Files): Add m4/log-ieee.m4.
13515         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
13516         * doc/posix-functions/log.texi: Mention the log-ieee module.
13517
13518         Tests for module 'logl-ieee'.
13519         * modules/logl-ieee-tests: New file.
13520         * tests/test-logl-ieee.c: New file.
13521
13522         New module 'logl-ieee'.
13523         * modules/logl-ieee: New file.
13524
13525         Tests for module 'log-ieee'.
13526         * modules/log-ieee-tests: New file.
13527         * tests/test-log-ieee.c: New file.
13528
13529         New module 'log-ieee'.
13530         * modules/log-ieee: New file.
13531
13532         Tests for module 'logf-ieee'.
13533         * modules/logf-ieee-tests: New file.
13534         * tests/test-logf-ieee.c: New file.
13535         * tests/test-log-ieee.h: New file.
13536
13537         New module 'logf-ieee'.
13538         * modules/logf-ieee: New file.
13539
13540 2012-03-10  Bruno Haible  <bruno@clisp.org>
13541
13542         log: Fix bug introduced on 2012-03-09.
13543         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
13544
13545 2012-03-10  Pádraig Brady  <P@draigBrady.com>
13546
13547         timer-time: link explicitly with pthreads on glibc
13548         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
13549         to support static linking, when newer glibc is
13550         detected, as that contains pthread emulation of
13551         POSIX timer functions where required.
13552         * modules/timer-time: Depend on threadlib to
13553         pull in the appropriate library to link.
13554
13555 2012-03-10  Bruno Haible  <bruno@clisp.org>
13556
13557         log* tests: More tests.
13558         * tests/test-log.h: New file.
13559         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
13560         (main): Invoke test_function.
13561         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
13562         (main): Invoke test_function.
13563         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
13564         (main): Invoke test_function.
13565         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
13566         tests/randomd.c.
13567         (Makefile.am): Add randomd.c to test_log_SOURCES.
13568         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
13569         tests/randomf.c.
13570         (Makefile.am): Add randomf.c to test_logf_SOURCES.
13571         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
13572         tests/randoml.c.
13573         (Depends-on): Add 'float'.
13574         (Makefile.am): Add randoml.c to test_logl_SOURCES.
13575
13576 2012-03-09  Bruno Haible  <bruno@clisp.org>
13577
13578         logl: Work around OSF/1 5.1 bug.
13579         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
13580         * lib/logl.c (logl): If logl exists, use it and provide just the
13581         workaround.
13582         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
13583         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
13584         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
13585         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
13586         * modules/logl (configure.ac): Consider REPLACE_LOGL.
13587         (Depends-on): Update conditions.
13588         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
13589
13590 2012-03-09  Bruno Haible  <bruno@clisp.org>
13591
13592         logf: Work around OSF/1 5.1 bug.
13593         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
13594         * lib/logf.c (logf): If logf exists, use it and provide just the
13595         workaround.
13596         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
13597         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
13598         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
13599         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
13600         * modules/logf (configure.ac): Consider REPLACE_LOGF.
13601         (Depends-on): Update conditions.
13602         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
13603
13604 2012-03-09  Bruno Haible  <bruno@clisp.org>
13605
13606         log: Work around OSF/1 5.1 bug.
13607         * lib/math.in.h (log): New declaration.
13608         * lib/log.c: New file.
13609         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
13610         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
13611         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
13612         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
13613         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
13614         * modules/log (Files): Add lib/log.c.
13615         (Depends-on): Add math.
13616         (configure.ac): If REPLACE_LOG is 1, compile an override.
13617         * tests/test-math-c++.cc: Check the declaration of log.
13618         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
13619
13620 2012-03-09  Jim Meyering  <meyering@redhat.com>
13621
13622         readtokens.c: adjust wording in a comment
13623         * lib/readtokens.c: Insert omitted "that" in a comment.
13624
13625 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
13626
13627         modechange: add notations +40, 00440, etc.
13628         * lib/modechange.c (mode_compile): Support new notations
13629         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
13630
13631 2012-03-08  Bruno Haible  <bruno@clisp.org>
13632
13633         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
13634         * m4/exp2l-ieee.m4: New file.
13635         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
13636         test whether exp2l works with a NaN argument and with a negative
13637         infinity argument. Replace it if not.
13638         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
13639         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
13640         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
13641         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
13642         (Depends-on): Update conditions.
13643         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
13644         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
13645         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
13646
13647         Tests for module 'exp2l-ieee'.
13648         * modules/exp2l-ieee-tests: New file.
13649         * tests/test-exp2l-ieee.c: New file.
13650
13651         New module 'exp2l-ieee'.
13652         * modules/exp2l-ieee: New file.
13653
13654         Tests for module 'exp2-ieee'.
13655         * modules/exp2-ieee-tests: New file.
13656         * tests/test-exp2-ieee.c: New file.
13657
13658         New module 'exp2-ieee'.
13659         * modules/exp2-ieee: New file.
13660
13661         Tests for module 'exp2f-ieee'.
13662         * modules/exp2f-ieee-tests: New file.
13663         * tests/test-exp2f-ieee.c: New file.
13664         * tests/test-exp2-ieee.h: New file.
13665
13666         New module 'exp2f-ieee'.
13667         * modules/exp2f-ieee: New file.
13668
13669 2012-03-08  Bruno Haible  <bruno@clisp.org>
13670
13671         Tests for module 'exp2l'.
13672         * modules/exp2l-tests: New file.
13673         * tests/test-exp2l.c: New file.
13674
13675         New module 'exp2l'.
13676         * lib/math.in.h (exp2l): New declaration.
13677         * lib/exp2l.c: New file.
13678         * lib/expl-table.c: New file, extracted from lib/expl.c.
13679         * lib/expl.c (gl_expl_table): New declaration.
13680         (expl): Remove expl_table. Update reference.
13681         * m4/exp2l.m4: New file.
13682         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
13683         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
13684         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
13685         * modules/exp2l: New file.
13686         * modules/expl (Files): Add lib/expl-table.c.
13687         (configure.ac): Compile also expl-table.c.
13688         * tests/test-math-c++.cc: Check the declaration of exp2l.
13689         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
13690         problem.
13691
13692 2012-03-08  Bruno Haible  <bruno@clisp.org>
13693
13694         Tests for module 'exp2f'.
13695         * modules/exp2f-tests: New file.
13696         * tests/test-exp2f.c: New file.
13697
13698         New module 'exp2f'.
13699         * lib/math.in.h (exp2f): New declaration.
13700         * lib/exp2f.c: New file.
13701         * m4/exp2f.m4: New file.
13702         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
13703         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
13704         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
13705         * modules/exp2f: New file.
13706         * tests/test-math-c++.cc: Check the declaration of exp2f.
13707         * doc/posix-functions/exp2f.texi: Mention the new module and the
13708         IRIX problem.
13709
13710 2012-03-08  Bruno Haible  <bruno@clisp.org>
13711
13712         Tests for module 'exp2'.
13713         * modules/exp2-tests: New file.
13714         * tests/test-exp2.c: New file.
13715         * tests/test-exp2.h: New file.
13716
13717         New module 'exp2'.
13718         * lib/math.in.h (exp2): New declaration.
13719         * lib/exp2.c: New file.
13720         * m4/exp2.m4: New file.
13721         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
13722         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
13723         REPLACE_EXP2.
13724         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
13725         REPLACE_EXP2.
13726         * modules/exp2: New file.
13727         * tests/test-math-c++.cc: Check the declaration of exp2.
13728         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
13729         and OpenBSD problems.
13730
13731 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
13732
13733         savedir: fix comment typo
13734         * lib/savedir.c (savedirstream): Fix typo in comment.
13735
13736 2012-03-08  Bruno Haible  <bruno@clisp.org>
13737
13738         test-readtokens.c: use const; remove unwarranted cast
13739         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
13740
13741 2012-03-08  Bruno Haible  <bruno@clisp.org>
13742
13743         fmal: Avoid compilation error on AIX.
13744         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
13745         AIX 5.2..7.1.
13746
13747 2012-03-08  Bruno Haible  <bruno@clisp.org>
13748
13749         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
13750         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
13751         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
13752         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
13753         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
13754         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
13755         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
13756
13757 2012-03-08  Bruno Haible  <bruno@clisp.org>
13758
13759         remainderf: Override buggy system function on IRIX 6.5.
13760         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
13761         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
13762         when it exists.
13763         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
13764
13765 2012-03-08  Jim Meyering  <meyering@redhat.com>
13766
13767         test-readtokens.c: avoid const-related compilation warnings
13768         * tests/test-readtokens.c: Avoid const-related compilation warnings.
13769
13770 2012-03-07  Jim Meyering  <meyering@redhat.com>
13771             Bruno Haible  <bruno@clisp.org>
13772
13773         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
13774         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
13775         tests/randomd.c.
13776         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
13777         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
13778         tests/randoml.c.
13779         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
13780
13781 2012-03-07  Bruno Haible  <bruno@clisp.org>
13782
13783         expm1l: Avoid compilation error on AIX.
13784         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
13785         AIX 5.2..7.1.
13786
13787 2012-03-07  Bruno Haible  <bruno@clisp.org>
13788
13789         expm1l: Don't override undeclared system function on IRIX 6.5.
13790         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
13791         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
13792         it exists. Set HAVE_DECL_EXPM1L.
13793         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
13794         HAVE_EXPM1L.
13795         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
13796         HAVE_EXPM1L.
13797         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
13798
13799 2012-03-07  Bruno Haible  <bruno@clisp.org>
13800
13801         remainderl: Don't override undeclared system function on IRIX 6.5.
13802         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
13803         HAVE_REMAINDERL.
13804         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
13805         declared when it exists. Set HAVE_DECL_REMAINDERL.
13806         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
13807         not HAVE_REMAINDERL.
13808         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
13809         HAVE_REMAINDERL.
13810         * doc/posix-functions/remainderl.texi: Mention missing declaration
13811         problem.
13812
13813 2012-03-07  Bruno Haible  <bruno@clisp.org>
13814
13815         rintf: Don't override undeclared system function on IRIX 6.5.
13816         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
13817         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
13818         exists. Set HAVE_DECL_RINTF.
13819         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
13820         HAVE_RINTF.
13821         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
13822         HAVE_RINTF.
13823         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
13824
13825 2012-03-07  Bruno Haible  <bruno@clisp.org>
13826
13827         roundl: Avoid compilation error on AIX.
13828         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
13829         AIX 5.2..7.1.
13830
13831 2012-03-07  Bruno Haible  <bruno@clisp.org>
13832
13833         roundl: Don't override undeclared system function on IRIX 6.5.
13834         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
13835         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
13836         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
13837         * modules/roundl (configure.ac): For replacement code, test
13838         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
13839         (Depends-on): Update conditions.
13840         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
13841
13842 2012-03-07  Bruno Haible  <bruno@clisp.org>
13843
13844         roundf: Don't override undeclared system function on IRIX 6.5.
13845         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
13846         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
13847         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
13848         * modules/roundf (configure.ac): For replacement code, test
13849         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
13850         (Depends-on): Update conditions.
13851         * modules/roundf-ieee (Depends-on): Update conditions.
13852         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
13853
13854 2012-03-07  Bruno Haible  <bruno@clisp.org>
13855
13856         round: Don't override undeclared system function on IRIX 6.5.
13857         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
13858         argument.
13859         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
13860         also when it is not declared. Set HAVE_ROUND. For replacement code,
13861         test HAVE_ROUND, not HAVE_DECL_ROUND.
13862         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
13863         not HAVE_DECL_ROUND.
13864         (Depends-on): Update conditions.
13865         * modules/round-ieee (Depends-on): Update conditions.
13866         * doc/posix-functions/round.texi: Mention the IRIX problem.
13867
13868 2012-03-07  Bruno Haible  <bruno@clisp.org>
13869
13870         copysignf: Don't override undeclared system function on IRIX 6.5.
13871         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
13872         HAVE_COPYSIGNF.
13873         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
13874         declared when it exists. Set HAVE_DECL_COPYSIGNF.
13875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
13876         not HAVE_COPYSIGNF.
13877         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
13878         HAVE_COPYSIGNF.
13879         * doc/posix-functions/copysignf.texi: Mention missing declaration
13880         problem.
13881
13882 2012-03-07  Jim Meyering  <meyering@redhat.com>
13883
13884         readtokens: add tests
13885         * modules/readtokens-tests: New file.
13886         * tests/test-readtokens.c: New file.
13887
13888 2012-03-07  Jim Meyering  <meyering@redhat.com>
13889
13890         quotearg: the module must now include quote.h
13891         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
13892         So must the module.
13893         * modules/quotearg (Files): Add quote.h.
13894
13895 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
13896
13897         readtokens: avoid core dumps with unusual calling patterns
13898         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
13899         * lib/readtokens.c: Include limits.h.
13900         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
13901         (readtoken): Don't cache the delimiters; the cache code was buggy
13902         if !delim && saved_delim, or if the new n_delim differs from the old.
13903         Also, it wasn't thread-safe.
13904
13905 2012-03-07  Bruno Haible  <bruno@clisp.org>
13906
13907         quote: Adhere to common module description layout.
13908         * modules/quote (Makefile.am): Add back empty section.
13909
13910 2012-03-06  Akim Demaille  <demaille@gostai.com>
13911
13912         quote: fuse into quotearg
13913         This patch is made for the benefit of Bison.
13914         quote does not leave the choice of the quoting style to the user.
13915         quoting_style provides poor customizability, yet quoting_options,
13916         which is very rich, is hidden inside quotearg.c.  So in order to
13917         allow quote customization, move its implementation to quotearg.c.
13918         * lib/quote.c: Remove.
13919         * modules/quote: Adjust.
13920         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
13921         warning: provide all the members of literal structs.
13922         (quote_quoting_options): New.
13923         (quote, quote_n): Import implementation from quote.c.
13924         * lib/quote.h: Import the comments from quote.c.
13925         (quote_quoting_options): New.
13926
13927 2012-03-06  Bruno Haible  <bruno@clisp.org>
13928
13929         Tests for module 'expm1l-ieee'.
13930         * modules/expm1l-ieee-tests: New file.
13931         * tests/test-expm1l-ieee.c: New file.
13932
13933         New module 'expm1l-ieee'.
13934         * modules/expm1l-ieee: New file.
13935
13936         Tests for module 'expm1f-ieee'.
13937         * modules/expm1f-ieee-tests: New file.
13938         * tests/test-expm1f-ieee.c: New file.
13939
13940         New module 'expm1f-ieee'.
13941         * modules/expm1f-ieee: New file.
13942
13943         Tests for module 'expm1-ieee'.
13944         * modules/expm1-ieee-tests: New file.
13945         * tests/test-expm1-ieee.c: New file.
13946         * tests/test-expm1-ieee.h: New file.
13947
13948         New module 'expm1-ieee'.
13949         * modules/expm1-ieee: New file.
13950         * m4/expm1-ieee.m4: New file.
13951         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
13952         whether expm1 works with a minus zero argument. Replace it if not.
13953         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
13954         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
13955         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
13956         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
13957         (Depends-on): Update conditions.
13958         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
13959         AIX problem.
13960
13961 2012-03-06  Bruno Haible  <bruno@clisp.org>
13962
13963         Work around expm1f bug on IRIX 6.5.
13964         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
13965         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
13966         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
13967         not work.
13968         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
13969         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
13970         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
13971         (Depends-on): Update conditions.
13972         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
13973
13974 2012-03-06  Bruno Haible  <bruno@clisp.org>
13975
13976         Tests for module 'expm1l'.
13977         * modules/expm1l-tests: New file.
13978         * tests/test-expm1l.c: New file.
13979
13980         New module 'expm1l'.
13981         * lib/math.in.h (expm1l): New declaration.
13982         * lib/expm1l.c: New file.
13983         * m4/expm1l.m4: New file.
13984         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
13985         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
13986         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
13987         * modules/expm1l: New file.
13988         * tests/test-math-c++.cc: Check the declaration of expm1l.
13989         * doc/posix-functions/expm1l.texi: Mention the new module.
13990
13991 2012-03-06  Bruno Haible  <bruno@clisp.org>
13992
13993         Tests for module 'expm1f'.
13994         * modules/expm1f-tests: New file.
13995         * tests/test-expm1f.c: New file.
13996
13997         New module 'expm1f'.
13998         * lib/math.in.h (expm1f): New declaration.
13999         * lib/expm1f.c: New file.
14000         * m4/expm1f.m4: New file.
14001         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
14002         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
14003         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
14004         * modules/expm1f: New file.
14005         * tests/test-math-c++.cc: Check the declaration of expm1f.
14006         * doc/posix-functions/expm1f.texi: Mention the new module.
14007
14008 2012-03-06  Bruno Haible  <bruno@clisp.org>
14009
14010         Tests for module 'expm1'.
14011         * modules/expm1-tests: New file.
14012         * tests/test-expm1.c: New file.
14013         * tests/test-expm1.h: New file.
14014
14015         New module 'expm1'.
14016         * lib/math.in.h (expm1): New declaration.
14017         * lib/expm1.c: New file.
14018         * m4/expm1.m4: New file.
14019         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
14020         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
14021         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
14022         * modules/expm1: New file.
14023         * tests/test-math-c++.cc: Check the declaration of expm1.
14024         * doc/posix-functions/expm1.texi: Mention the new module.
14025
14026 2012-03-06  Bruno Haible  <bruno@clisp.org>
14027
14028         math: Ensure declarations of math functions.
14029         * modules/acosf (Depends-on): Add 'extensions'.
14030         * modules/asinf (Depends-on): Likewise.
14031         * modules/atan2f (Depends-on): Likewise.
14032         * modules/atanf (Depends-on): Likewise.
14033         * modules/cbrt (Depends-on): Likewise.
14034         * modules/cbrtf (Depends-on): Likewise.
14035         * modules/cbrtl (Depends-on): Likewise.
14036         * modules/copysignf (Depends-on): Likewise.
14037         * modules/copysignl (Depends-on): Likewise.
14038         * modules/cosf (Depends-on): Likewise.
14039         * modules/coshf (Depends-on): Likewise.
14040         * modules/expf (Depends-on): Likewise.
14041         * modules/fabsf (Depends-on): Likewise.
14042         * modules/fabsl (Depends-on): Likewise.
14043         * modules/fmaf (Depends-on): Likewise.
14044         * modules/fmal (Depends-on): Likewise.
14045         * modules/fmodf (Depends-on): Likewise.
14046         * modules/fmodl (Depends-on): Likewise.
14047         * modules/frexpf (Depends-on): Likewise.
14048         * modules/frexpl (Depends-on): Likewise.
14049         * modules/hypot (Depends-on): Likewise.
14050         * modules/hypotf (Depends-on): Likewise.
14051         * modules/hypotl (Depends-on): Likewise.
14052         * modules/ldexpf (Depends-on): Likewise.
14053         * modules/ldexpl (Depends-on): Likewise.
14054         * modules/log10f (Depends-on): Likewise.
14055         * modules/log10l (Depends-on): Likewise.
14056         * modules/log1p (Depends-on): Likewise.
14057         * modules/logb (Depends-on): Likewise.
14058         * modules/logf (Depends-on): Likewise.
14059         * modules/modff (Depends-on): Likewise.
14060         * modules/modfl (Depends-on): Likewise.
14061         * modules/powf (Depends-on): Likewise.
14062         * modules/remainderf (Depends-on): Likewise.
14063         * modules/remainderl (Depends-on): Likewise.
14064         * modules/rintf (Depends-on): Likewise.
14065         * modules/rintl (Depends-on): Likewise.
14066         * modules/sinf (Depends-on): Likewise.
14067         * modules/sinhf (Depends-on): Likewise.
14068         * modules/sqrtf (Depends-on): Likewise.
14069         * modules/tanf (Depends-on): Likewise.
14070         * modules/tanhf (Depends-on): Likewise.
14071         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
14072         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
14073         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
14074         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
14075         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
14076         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
14077         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
14078         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
14079         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
14080         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
14081         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
14082         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
14083         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
14084         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
14085         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
14086         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
14087         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
14088         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
14089         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
14090         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
14091         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
14092         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
14093         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
14094         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
14095         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
14096         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
14097         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
14098         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
14099         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
14100         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
14101         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
14102         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
14103         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
14104         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
14105         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
14106         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
14107         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
14108         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
14109         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
14110         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
14111         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
14112
14113 2012-03-06  Bruno Haible  <bruno@clisp.org>
14114
14115         math: Update module names in warnings.
14116         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
14117         tanl): Use specific module name in warn-on-use warning.
14118
14119 2012-03-06  Bruno Haible  <bruno@clisp.org>
14120
14121         expl: Simplify computation.
14122         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
14123
14124 2012-03-05  Bruno Haible  <bruno@clisp.org>
14125
14126         exp* tests: More tests.
14127         * tests/test-exp.h: New file.
14128         * tests/test-exp.c: Include <float.h> and test-exp.h.
14129         (main): Invoke test_function.
14130         * tests/test-expf.c: Include <float.h> and test-exp.h.
14131         (main): Invoke test_function.
14132         * tests/test-expl.c: Include <float.h> and test-exp.h.
14133         (main): Invoke test_function.
14134         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
14135         (Makefile.am): Add randomd.c to test_exp_SOURCES.
14136         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
14137         (Makefile.am): Add randomf.c to test_expf_SOURCES.
14138         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
14139         (Depends-on): Add 'float'.
14140         (Makefile.am): Add randoml.c to test_expl_SOURCES.
14141
14142         expl: Fix precision of computed result.
14143         * lib/expl.c: Completely rewritten.
14144         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
14145         (Maintainer): Add me.
14146         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
14147
14148 2012-03-05  Bruno Haible  <bruno@clisp.org>
14149
14150         cbrt* tests: More tests.
14151         * tests/test-cbrt.h: New file.
14152         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
14153         (main): Invoke test_function.
14154         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
14155         (main): Invoke test_function.
14156         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
14157         (main): Invoke test_function.
14158         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
14159         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
14160         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
14161         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
14162         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
14163         (Depends-on): Add 'float'.
14164         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
14165
14166 2012-03-05  Bruno Haible  <bruno@clisp.org>
14167
14168         hypot* tests: More tests.
14169         * tests/test-hypot.h: New file, partially extracted from
14170         tests/test-hypotl.c.
14171         * tests/test-hypot.c: Include test-hypot.h.
14172         (main): Invoke test_function.
14173         * tests/test-hypotf.c: Include test-hypot.h.
14174         (main): Invoke test_function.
14175         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
14176         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
14177         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
14178         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
14179         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
14180         tests/randomf.c.
14181         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
14182         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
14183         tests/randoml.c.
14184         (Depends-on): Add 'fpucw', 'float'.
14185         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
14186
14187 2012-03-05  Bruno Haible  <bruno@clisp.org>
14188
14189         fpucw: Doc about FreeBSD.
14190         * lib/fpucw.h: Mention FreeBSD in comments.
14191
14192 2012-03-04  Bruno Haible  <bruno@clisp.org>
14193
14194         sqrt* tests: More tests.
14195         * tests/test-sqrt.h: New file.
14196         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
14197         (main): Invoke test_function.
14198         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
14199         (main): Invoke test_function.
14200         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
14201         (main): Invoke test_function.
14202         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
14203         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
14204         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
14205         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
14206         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
14207         (Depends-on): Add 'float'.
14208         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
14209
14210 2012-03-04  Bruno Haible  <bruno@clisp.org>
14211
14212         remainder* tests: More tests.
14213         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
14214         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
14215         (main): Invoke test_function.
14216         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
14217         (main): Invoke test_function.
14218         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
14219         (main): Invoke test_function.
14220         * modules/remainder-tests (Files): Add tests/test-remainder.h,
14221         tests/randomd.c.
14222         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
14223         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
14224         tests/randomf.c.
14225         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
14226         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
14227         tests/randoml.c.
14228         (Depends-on): Add 'float'.
14229         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
14230
14231 2012-03-04  Bruno Haible  <bruno@clisp.org>
14232
14233         remainder, remainderf, remainderl: Fix computation for large quotients.
14234         * lib/remainder.c: Completely rewritten.
14235         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
14236         USE_FLOAT.
14237         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
14238         USE_LONG_DOUBLE.
14239         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
14240         isnand, isinf. Remove round, fma.
14241         * modules/remainderf (Files): Add lib/remainder.c.
14242         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
14243         Remove roundf, fmaf.
14244         * modules/remainderl (Files): Add lib/remainder.c.
14245         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
14246         isinf. Remove roundl, fmal.
14247         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
14248         REMAINDER_LIBM.
14249         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
14250         REMAINDERF_LIBM.
14251         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
14252         REMAINDERL_LIBM.
14253
14254 2012-03-04  Bruno Haible  <bruno@clisp.org>
14255
14256         fmod* tests: More tests.
14257         * tests/test-fmod.h (my_ldexp): New function.
14258         (test_function): Reduce amount of random numbers to test. Add tests
14259         of very large quotients x / y.
14260         * tests/test-fmod.c (MAX_EXP): New macro.
14261         * tests/test-fmodf.c (MAX_EXP): Likewise.
14262         * tests/test-fmodl.c (MAX_EXP): Likewise.
14263
14264 2012-03-04  Bruno Haible  <bruno@clisp.org>
14265
14266         fmod, fmodl: Fix computation for large quotients x / y.
14267         * lib/fmod.c: Completely rewritten.
14268         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
14269         USE_LONG_DOUBLE.
14270         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
14271         isnand. Remove fma.
14272         * modules/fmodl (Files): Add lib/fmod.c.
14273         (Depends-on): Add float, isfinite, signbit, fabsl,
14274         frexpl, ldexpl, isnanl. Remove fma.
14275         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
14276         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
14277
14278 2012-03-03  Bruno Haible  <bruno@clisp.org>
14279
14280         fmod* tests: More tests.
14281         * tests/test-fmod.h: New file.
14282         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
14283         (main): Invoke test_function.
14284         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
14285         (main): Invoke test_function.
14286         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
14287         (main): Invoke test_function.
14288         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
14289         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
14290         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
14291         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
14292         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
14293         (Depends-on): Add 'float'.
14294         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
14295
14296 2012-03-03  Bruno Haible  <bruno@clisp.org>
14297
14298         rint* tests: More tests.
14299         * tests/test-rint.h: New file, partially extracted from
14300         tests/test-rintl.c.
14301         * tests/test-rint.c: Include test-rint.h.
14302         (main): Invoke test_function.
14303         * tests/test-rintf.c: Include test-rint.h.
14304         (main): Invoke test_function.
14305         * tests/test-rintl.c: Include test-rint.h.
14306         (main): Invoke test_function.
14307         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
14308         (Makefile.am): Add randomd.c to test_rint_SOURCES.
14309         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
14310         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
14311         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
14312         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
14313
14314 2012-03-03  Bruno Haible  <bruno@clisp.org>
14315
14316         modf* tests: More tests.
14317         * tests/test-modf.h: New file.
14318         * tests/test-modf.c: Include <float.h> and test-modf.h.
14319         (main): Invoke test_function.
14320         * tests/test-modff.c: Include <float.h> and test-modf.h.
14321         (main): Invoke test_function.
14322         * tests/test-modfl.c: Include <float.h> and test-modf.h.
14323         (main): Invoke test_function.
14324         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
14325         (Makefile.am): Add randomd.c to test_modf_SOURCES.
14326         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
14327         (Makefile.am): Add randomf.c to test_modff_SOURCES.
14328         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
14329         (Depends-on): Add 'float'.
14330         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
14331
14332 2012-03-03  Bruno Haible  <bruno@clisp.org>
14333
14334         fabs* tests: More tests.
14335         * tests/test-fabs.h: New file, partially extracted from
14336         tests/test-fabsl.c.
14337         * tests/test-fabs.c (RANDOM): New macro.
14338         * tests/test-fabsf.c (RANDOM): New macro.
14339         * tests/test-fabsl.c (RANDOM): New macro.
14340         * modules/fabs-tests (Files): Add tests/randomd.c.
14341         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
14342         * modules/fabsf-tests (Files): Add tests/randomf.c.
14343         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
14344         * modules/fabsl-tests (Files): Add tests/randoml.c.
14345         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
14346
14347 2012-03-03  Bruno Haible  <bruno@clisp.org>
14348
14349         ldexp* tests: More tests.
14350         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
14351         * tests/test-ldexp.c (RANDOM): New macro.
14352         * tests/test-ldexpf.c (RANDOM): New macro.
14353         * tests/test-ldexpl.c (RANDOM): New macro.
14354         * modules/ldexp-tests (Files): Add tests/randomd.c.
14355         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
14356         * modules/ldexpf-tests (Files): Add tests/randomf.c.
14357         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
14358         * modules/ldexpl-tests (Files): Add tests/randoml.c.
14359         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
14360
14361 2012-03-03  Bruno Haible  <bruno@clisp.org>
14362
14363         frexp* tests: More tests.
14364         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
14365         * tests/test-frexp.c (RANDOM): New macro.
14366         * tests/test-frexpf.c (RANDOM): New macro.
14367         * tests/test-frexpl.c (RANDOM): New macro.
14368         * modules/frexp-tests (Files): Add tests/randomd.c.
14369         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
14370         * modules/frexpf-tests (Files): Add tests/randomf.c.
14371         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
14372         * modules/frexpl-tests (Files): Add tests/randoml.c.
14373         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
14374
14375 2012-03-03  Bruno Haible  <bruno@clisp.org>
14376
14377         Support for pseudo-random numbers in tests.
14378         * tests/randomf.c: New file.
14379         * tests/randomd.c: New file.
14380         * tests/randoml.c: New file.
14381         * tests/macros.h (randomf, randomd, randoml): New declarations.
14382
14383 2012-03-03  Bruno Haible  <bruno@clisp.org>
14384
14385         frexp* tests: Refactor.
14386         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
14387         * tests/test-frexp.c: Include and use it.
14388         * tests/test-frexpf.c: Likewise.
14389         * tests/test-frexpl.c: Likewise.
14390         * modules/frexp-tests (Files): Add tests/test-frexp.h.
14391         * modules/frexpf-tests (Files): Likewise.
14392         * modules/frexpl-tests (Files): Likewise.
14393
14394 2012-03-02  Jim Meyering  <meyering@redhat.com>
14395
14396         maint: don't specify XZ_OPT=-9ev in dist-related rule
14397         Using xz's -9 option is warranted only if you have a very large
14398         tarball (see xz's documentation for the sizes vs. presets), and
14399         requires 64MiB of memory at decompression time.
14400         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
14401         Automake's default of just "-e" is fine.  Override on a
14402         per-package basis by setting XZ_OPT e.g., in cfg.mk.
14403
14404 2012-03-01  Eric Blake  <eblake@redhat.com>
14405
14406         maint.mk: allow announcement for non-gnulib project
14407         * maint.mk (announcement): Skip gnulib version if not used.
14408
14409 2012-03-01  Jim Meyering  <meyering@redhat.com>
14410
14411         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
14412         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
14413         envvar settings cannot interfere.  Otherwise, setting envvars like
14414         prohibit=foo require=bar, etc. would cause spurious test failures.
14415
14416 2012-03-01  Eric Blake  <eblake@redhat.com>
14417
14418         maint.mk: add per-line exclusions to prohibitions
14419         * maint.mk (_sc_search_regexp): Add $exclude parameter.
14420         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
14421         (sc_const_long_option): Use it.
14422
14423 2012-03-01  Bruno Haible  <bruno@clisp.org>
14424
14425         Tests for module 'expl-ieee'.
14426         * modules/expl-ieee-tests: New file.
14427         * tests/test-expl-ieee.c: New file.
14428
14429         New module 'expl-ieee'.
14430         * modules/expl-ieee: New file.
14431
14432         Tests for module 'exp-ieee'.
14433         * modules/exp-ieee-tests: New file.
14434         * tests/test-exp-ieee.c: New file.
14435
14436         New module 'exp-ieee'.
14437         * modules/exp-ieee: New file.
14438
14439         Tests for module 'expf-ieee'.
14440         * modules/expf-ieee-tests: New file.
14441         * tests/test-expf-ieee.c: New file.
14442         * tests/test-exp-ieee.h: New file.
14443
14444         New module 'expf-ieee'.
14445         * modules/expf-ieee: New file.
14446
14447 2012-02-29  Bruno Haible  <bruno@clisp.org>
14448
14449         cbrtl-ieee: Work around test failure on IRIX 6.5.
14450         * m4/cbrtl-ieee.m4: New file.
14451         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
14452         test whether cbrtl works with a minus zero argument. Replace it if not.
14453         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
14454         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
14455         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
14456         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
14457         (Depends-on): Update conditions.
14458         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
14459         m4/signbit.m4.
14460         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
14461         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
14462         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
14463
14464         Tests for module 'cbrtl-ieee'.
14465         * modules/cbrtl-ieee-tests: New file.
14466         * tests/test-cbrtl-ieee.c: New file.
14467
14468         New module 'cbrtl-ieee'.
14469         * modules/cbrtl-ieee: New file.
14470
14471         Tests for module 'cbrt-ieee'.
14472         * modules/cbrt-ieee-tests: New file.
14473         * tests/test-cbrt-ieee.c: New file.
14474
14475         New module 'cbrt-ieee'.
14476         * modules/cbrt-ieee: New file.
14477
14478         Tests for module 'cbrtf-ieee'.
14479         * modules/cbrtf-ieee-tests: New file.
14480         * tests/test-cbrtf-ieee.c: New file.
14481         * tests/test-cbrt-ieee.h: New file.
14482
14483         New module 'cbrtf-ieee'.
14484         * modules/cbrtf-ieee: New file.
14485
14486 2012-02-29  Bruno Haible  <bruno@clisp.org>
14487
14488         cbrtf: Work around bug in IRIX 6.5 system function.
14489         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
14490         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
14491         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
14492         work.
14493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
14494         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
14495         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
14496         (Depends-on): Update conditions.
14497         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
14498
14499 2012-02-29  Bruno Haible  <bruno@clisp.org>
14500
14501         Tests for module 'cbrtl'.
14502         * modules/cbrtl-tests: New file.
14503         * tests/test-cbrtl.c: New file.
14504
14505         New module 'cbrtl'.
14506         * lib/math.in.h (cbrtl): New declaration.
14507         * lib/cbrtl.c: New file.
14508         * m4/cbrtl.m4: New file.
14509         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
14510         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
14511         HAVE_DECL_CBRTL.
14512         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
14513         HAVE_DECL_CBRTL.
14514         * modules/cbrtl: New file.
14515         * tests/test-math-c++.cc: Check the declaration of cbrtl.
14516         * doc/posix-functions/cbrtl.texi: Mention the new module.
14517
14518 2012-02-29  Bruno Haible  <bruno@clisp.org>
14519
14520         Tests for module 'cbrtf'.
14521         * modules/cbrtf-tests: New file.
14522         * tests/test-cbrtf.c: New file.
14523
14524         New module 'cbrtf'.
14525         * lib/math.in.h (cbrtf): New declaration.
14526         * lib/cbrtf.c: New file.
14527         * m4/cbrtf.m4: New file.
14528         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
14529         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
14530         HAVE_DECL_CBRTF.
14531         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
14532         HAVE_DECL_CBRTF.
14533         * modules/cbrtf: New file.
14534         * tests/test-math-c++.cc: Check the declaration of cbrtf.
14535         * doc/posix-functions/cbrtf.texi: Mention the new module.
14536
14537 2012-02-29  Bruno Haible  <bruno@clisp.org>
14538
14539         cbrt: Provide replacement on MSVC and Minix.
14540         * lib/math.in.h (cbrt): New declaration.
14541         * lib/cbrt.c: New file.
14542         * m4/cbrt.m4: New file.
14543         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
14544         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
14545         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
14546         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
14547         (Depends-on): Add dependencies.
14548         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
14549         * tests/test-math-c++.cc: Check the declaration of cbrt.
14550         * doc/posix-functions/cbrt.texi: Mention that the module provides a
14551         replacement.
14552
14553 2012-02-29  Bruno Haible  <bruno@clisp.org>
14554
14555         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
14556         * m4/hypotl-ieee.m4: New file.
14557         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
14558         test whether hypotl works with mixed NaN and Infinity arguments.
14559         Replace it if not.
14560         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
14561         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
14562         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
14563         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
14564         (Depends-on): Update conditions.
14565         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
14566         (Depends-on): Add hypot-ieee.
14567         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
14568         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
14569
14570         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
14571         * m4/hypotf-ieee.m4: New file.
14572         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
14573         test whether hypotf works with mixed NaN and Infinity arguments.
14574         Replace it if not.
14575         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
14576         (Depends-on): Add hypot-ieee.
14577         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
14578         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
14579
14580         hypot-ieee: Work around test failure on OSF/1 and native Windows.
14581         * lib/math.in.h (hypot): New declaration.
14582         * lib/hypot.c: New file.
14583         * m4/hypot-ieee.m4: New file.
14584         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
14585         whether hypot works with mixed NaN and Infinity arguments. Replace it
14586         if not.
14587         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
14588         REPLACE_HYPOT.
14589         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
14590         * modules/hypot (Files): Add lib/hypot.c.
14591         (Depends-on): Add dependencies.
14592         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
14593         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
14594         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
14595         * tests/test-math-c++.cc: Check the declaration of hypot.
14596         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
14597
14598         Tests for module 'hypotl-ieee'.
14599         * modules/hypotl-ieee-tests: New file.
14600         * tests/test-hypotl-ieee.c: New file.
14601
14602         New module 'hypotl-ieee'.
14603         * modules/hypotl-ieee: New file.
14604
14605         Tests for module 'hypot-ieee'.
14606         * modules/hypot-ieee-tests: New file.
14607         * tests/test-hypot-ieee.c: New file.
14608
14609         New module 'hypot-ieee'.
14610         * modules/hypot-ieee: New file.
14611
14612         Tests for module 'hypotf-ieee'.
14613         * modules/hypotf-ieee-tests: New file.
14614         * tests/test-hypotf-ieee.c: New file.
14615         * tests/test-hypot-ieee.h: New file.
14616
14617         New module 'hypotf-ieee'.
14618         * modules/hypotf-ieee: New file.
14619
14620 2012-02-29  Bruno Haible  <bruno@clisp.org>
14621
14622         Remove unused variables.
14623         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
14624         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
14625         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
14626         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
14627
14628 2012-02-29  Eric Blake  <eblake@redhat.com>
14629
14630         termios: fix pid_t always, not just for tcgetsid
14631         * doc/posix-headers/termios.texi (termios.h): Mention problem.
14632         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
14633         just when building tcgetsid.
14634
14635 2012-02-29  Bruno Haible  <bruno@clisp.org>
14636
14637         Tests for module 'hypotl'.
14638         * modules/hypotl-tests: New file.
14639         * tests/test-hypotl.c: New file.
14640
14641         New module 'hypotl'.
14642         * lib/math.in.h (hypotl): New declaration.
14643         * lib/hypotl.c: New file.
14644         * m4/hypotl.m4: New file.
14645         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
14646         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
14647         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
14648         * modules/hypotl: New file.
14649         * tests/test-math-c++.cc: Check the hypotl declaration.
14650         * doc/posix-functions/hypotl.texi: Mention the new module.
14651
14652 2012-02-29  Eric Blake  <eblake@redhat.com>
14653
14654         tcgetsid: fix cygwin header bug
14655         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
14656
14657         docs: update cygwin progress
14658         * doc/posix-functions/llround.texi (llround): Added in cygwin
14659         1.7.8.
14660         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
14661         * doc/glibc-functions/program_invocation_name.texi
14662         (program_invocation_name): Likewise.
14663         * doc/glibc-functions/program_invocation_short_name.texi
14664         (program_invocation_short_name): Likewise.
14665         * doc/glibc-functions/madvise.texi (madvise): Likewise.
14666         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
14667         Likewise.
14668         * doc/posix-functions/pthread_spin_destroy.texi
14669         (pthread_spin_destroy): Added in cygwin 1.7.10.
14670         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
14671         Likewise.
14672         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
14673         Likewise.
14674         * doc/posix-functions/pthread_spin_trylock.texi
14675         (pthread_spin_trylock): Likewise.
14676         * doc/posix-functions/pthread_spin_unlock.texi
14677         (pthread_spin_unlock): Likewise.
14678         * doc/posix-functions/pthread_setschedprio.texi
14679         (pthread_setschedprio): Likewise.
14680         * doc/posix-functions/pthread_attr_getstack.texi
14681         (pthread_attr_getstack): Likewise.
14682         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
14683         (pthread_attr_getstackaddr): Likewise.
14684         * doc/glibc-functions/pthread_getattr_np.texi
14685         (pthread_getattr_np): Likewise.
14686         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
14687         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
14688         * doc/posix-functions/clock_settime.texi (clock_settime):
14689         Likewise.
14690         * doc/posix-functions/pthread_attr_getguardsize.texi
14691         (pthread_attr_getguardsize): Likewise.
14692         * doc/posix-functions/pthread_attr_setguardsize.texi
14693         (pthread_attr_setguardsize): Likewise.
14694         * doc/posix-functions/pthread_attr_setstack.texi
14695         (pthread_attr_setstack): Likewise.
14696         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
14697         (pthread_attr_setstackaddr): Likewise.
14698         * doc/posix-functions/clock_getcpuclockid.texi
14699         (clock_getcpuclockid): Likewise.
14700         * doc/posix-functions/pthread_getcpuclockid.texi
14701         (pthread_getcpuclockid): Likewise.
14702         * doc/glibc-functions/error.texi (error): Likewise.
14703         * doc/glibc-functions/error_at_line.texi (error_at_line):
14704         Likewise.
14705         * doc/glibc-functions/error_message_count.texi
14706         (error_message_count): Likewise.
14707         * doc/glibc-functions/error_one_per_line.texi
14708         (error_one_per_line): Likewise.
14709         * doc/glibc-functions/error_print_progname.texi
14710         (error_print_progname): Likewise.
14711         * doc/posix-functions/pthread_condattr_getclock.texi
14712         (pthread_condattr_getclock): Likewise.
14713         * doc/posix-functions/pthread_condattr_setclock.texi
14714         (pthread_condattr_setclock): Likewise.
14715         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
14716         Likewise.
14717         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
14718         * doc/glibc-functions/getpt.texi (getpt): Likewise.
14719         * doc/glibc-functions/get_current_dir_name.texi
14720         (get_current_dir_name): Likewise.
14721         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
14722         Likewise.
14723         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
14724         wrong return type.
14725         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
14726         1.7.11.
14727
14728 2012-02-29  Bruno Haible  <bruno@clisp.org>
14729
14730         Tests for module 'hypotf'.
14731         * modules/hypotf-tests: New file.
14732         * tests/test-hypotf.c: New file.
14733
14734         New module 'hypotf'.
14735         * lib/math.in.h (hypotf): New declaration.
14736         * lib/hypotf.c: New file.
14737         * m4/hypotf.m4: New file.
14738         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
14739         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
14740         REPLACE_HYPOTF.
14741         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
14742         REPLACE_HYPOTF.
14743         * modules/hypotf: New file.
14744         * tests/test-math-c++.cc: Check the hypotf declaration.
14745         * doc/posix-functions/hypotf.texi: Mention the new module.
14746
14747         hypot: Prepare for hypotf module.
14748         * m4/hypot.m4: New file.
14749         * modules/hypot (Files): Add m4/hypot.m4.
14750         (configure.ac): Invoke gl_FUNC_HYPOT.
14751
14752 2012-02-29  Bruno Haible  <bruno@clisp.org>
14753
14754         hypot tests: More tests.
14755         * tests/test-hypot.c: Include <float.h>.
14756         (main): Add tests about overflow and underflow.
14757
14758 2012-02-29  Bruno Haible  <bruno@clisp.org>
14759
14760         math code: Add comments.
14761         * lib/acosl.c: Add comment about related glibc source files.
14762         * lib/asinl.c: Likewise.
14763         * lib/atanl.c: Likewise.
14764         * lib/expl.c: Likewise.
14765         * lib/logl.c: Likewise.
14766         * lib/sincosl.c: Likewise.
14767         * lib/sinl.c: Likewise.
14768         * lib/tanl.c: Likewise.
14769         * lib/trigl.c: Likewise.
14770         * lib/cosl.c: Likewise. Fix comments.
14771
14772 2012-02-28  Bruno Haible  <bruno@clisp.org>
14773
14774         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
14775         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
14776         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
14777         HUGE_VALL are defined.
14778         (numeric_equald): Renamed from numeric_equal.
14779         (numeric_equalf, numeric_equall): New functions.
14780         (main): Check also HUGE_VALF, HUGE_VALL.
14781         * modules/math-tests (Files): Add tests/macros.h.
14782         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
14783         HUGE_VALL.
14784
14785 2012-02-28  Bruno Haible  <bruno@clisp.org>
14786
14787         doc: Move ISO C11 feature notes into POSIX chapters.
14788         * doc/posix-functions/aligned_alloc.texi: Renamed from
14789         doc/glibc-functions/aligned_alloc.texi.
14790         * doc/posix-functions/quick_exit.texi: Renamed from
14791         doc/glibc-functions/quick_exit.texi.
14792         * doc/posix-headers/uchar.texi: Renamed from
14793         doc/glibc-headers/uchar.texi.
14794         * doc/posix-functions/c16rtomb.texi: Renamed from
14795         doc/glibc-functions/c16rtomb.texi.
14796         * doc/posix-functions/c32rtomb.texi: Renamed from
14797         doc/glibc-functions/c32rtomb.texi.
14798         * doc/posix-functions/mbrtoc16.texi: Renamed from
14799         doc/glibc-functions/mbrtoc16.texi.
14800         * doc/posix-functions/mbrtoc32.texi: Renamed from
14801         doc/glibc-functions/mbrtoc32.texi.
14802         * doc/gnulib.texi: Update.
14803         (Glibc uchar.h): Remove section.
14804         Suggested by Eric Blake.
14805
14806 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
14807
14808         stdnoreturn: port to MSVC better
14809         MSVC standard headers use __declspec(noreturn), so #define noreturn
14810         to empty on that platform.  Reported by Bruno Haible in
14811         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
14812         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
14813         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
14814
14815 2012-02-28  Bruno Haible  <bruno@clisp.org>
14816
14817         doc: Mention new glibc headers and functions.
14818         * doc/glibc-headers/uchar.texi: New file.
14819         * doc/glibc-functions/aligned_alloc.texi: New file.
14820         * doc/glibc-functions/c16rtomb.texi: New file.
14821         * doc/glibc-functions/c32rtomb.texi: New file.
14822         * doc/glibc-functions/clock_adjtime.texi: New file.
14823         * doc/glibc-functions/fanotify_init.texi: New file.
14824         * doc/glibc-functions/fanotify_mark.texi: New file.
14825         * doc/glibc-functions/inet6_opt_append.texi: New file.
14826         * doc/glibc-functions/inet6_opt_find.texi: New file.
14827         * doc/glibc-functions/inet6_opt_finish.texi: New file.
14828         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
14829         * doc/glibc-functions/inet6_opt_init.texi: New file.
14830         * doc/glibc-functions/inet6_opt_next.texi: New file.
14831         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
14832         * doc/glibc-functions/inet6_rth_add.texi: New file.
14833         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
14834         * doc/glibc-functions/inet6_rth_init.texi: New file.
14835         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
14836         * doc/glibc-functions/inet6_rth_segments.texi: New file.
14837         * doc/glibc-functions/inet6_rth_space.texi: New file.
14838         * doc/glibc-functions/login.texi: New file.
14839         * doc/glibc-functions/mbrtoc16.texi: New file.
14840         * doc/glibc-functions/mbrtoc32.texi: New file.
14841         * doc/glibc-functions/name_to_handle_at.texi: New file.
14842         * doc/glibc-functions/ntp_gettimex.texi: New file.
14843         * doc/glibc-functions/open_by_handle_at.texi: New file.
14844         * doc/glibc-functions/prlimit.texi: New file.
14845         * doc/glibc-functions/process_vm_readv.texi: New file.
14846         * doc/glibc-functions/process_vm_writev.texi: New file.
14847         * doc/glibc-functions/recvmmsg.texi: New file.
14848         * doc/glibc-functions/scandirat.texi: New file.
14849         * doc/glibc-functions/sendmmsg.texi: New file.
14850         * doc/glibc-functions/setns.texi: New file.
14851         * doc/glibc-functions/timespec_get.texi: New file.
14852         * doc/gnulib.texi: Include them.
14853         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
14854         sections.
14855         Reported by Eric Blake.
14856
14857 2012-02-28  Bruno Haible  <bruno@clisp.org>
14858
14859         Avoid compilation errors with MSVC option -fp:strict.
14860         * lib/floor.c: Use MSVC specific pragma fenv_access.
14861         * lib/ceil.c: Likewise.
14862         * lib/trunc.c: Likewise.
14863         * lib/round.c: Likewise.
14864         * lib/rint.c: Likewise.
14865         * lib/fma.c: Likewise.
14866         * lib/integer_length.c: Likewise.
14867         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14868         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14869         * tests/test-floor2.c: Likewise.
14870         * tests/test-floorf2.c: Likewise.
14871         * tests/test-ceil2.c: Likewise.
14872         * tests/test-ceilf2.c: Likewise.
14873         * tests/test-trunc2.c: Likewise.
14874         * tests/test-truncf2.c: Likewise.
14875         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14876
14877 2012-02-27  Bruno Haible  <bruno@clisp.org>
14878
14879         Tests for module 'sqrtl-ieee'.
14880         * modules/sqrtl-ieee-tests: New file.
14881         * tests/test-sqrtl-ieee.c: New file.
14882
14883         New module 'sqrtl-ieee'.
14884         * modules/sqrtl-ieee: New file.
14885
14886         Tests for module 'sqrt-ieee'.
14887         * modules/sqrt-ieee-tests: New file.
14888         * tests/test-sqrt-ieee.c: New file.
14889
14890         New module 'sqrt-ieee'.
14891         * modules/sqrt-ieee: New file.
14892
14893         Tests for module 'sqrtf-ieee'.
14894         * modules/sqrtf-ieee-tests: New file.
14895         * tests/test-sqrtf-ieee.c: New file.
14896         * tests/test-sqrt-ieee.h: New file.
14897
14898         New module 'sqrtf-ieee'.
14899         * modules/sqrtf-ieee: New file.
14900
14901 2012-02-27  Bruno Haible  <bruno@clisp.org>
14902
14903         remainderl-ieee: Work around test failure on OSF/1.
14904         * m4/remainderl-ieee.m4: New file.
14905         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
14906         present, test whether remainderl works with a zero second argument.
14907         Replace it if not.
14908         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
14909         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
14910         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
14911         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
14912         (Depends-on): Update conditions.
14913         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
14914         (Depends-on): Add remainder-ieee.
14915         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
14916         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
14917         module.
14918
14919         remainderf-ieee: Work around test failure on OSF/1.
14920         * m4/remainderf-ieee.m4: New file.
14921         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
14922         present, test whether remainderf works with a zero second argument.
14923         Replace it if not.
14924         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
14925         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
14926         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
14927         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
14928         (Depends-on): Update conditions.
14929         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
14930         (Depends-on): Add remainder-ieee.
14931         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
14932         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
14933         module.
14934
14935         remainder-ieee: Work around test failure on OSF/1.
14936         * m4/remainder-ieee.m4: New file.
14937         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
14938         present, test whether remainder works with a zero second argument.
14939         Replace it if not.
14940         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
14941         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
14942         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
14943         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
14944         (Depends-on): Update dependencies.
14945         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
14946         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
14947         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
14948
14949         Tests for module 'remainderl-ieee'.
14950         * modules/remainderl-ieee-tests: New file.
14951         * tests/test-remainderl-ieee.c: New file.
14952
14953         New module 'remainderl-ieee'.
14954         * modules/remainderl-ieee: New file.
14955
14956         Tests for module 'remainder-ieee'.
14957         * modules/remainder-ieee-tests: New file.
14958         * tests/test-remainder-ieee.c: New file.
14959
14960         New module 'remainder-ieee'.
14961         * modules/remainder-ieee: New file.
14962
14963         Tests for module 'remainderf-ieee'.
14964         * modules/remainderf-ieee-tests: New file.
14965         * tests/test-remainderf-ieee.c: New file.
14966         * tests/test-remainder-ieee.h: New file.
14967
14968         New module 'remainderf-ieee'.
14969         * modules/remainderf-ieee: New file.
14970
14971 2012-02-27  Bruno Haible  <bruno@clisp.org>
14972
14973         modff, modfl: Fix configure syntax error.
14974         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
14975         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
14976
14977 2012-02-27  Bruno Haible  <bruno@clisp.org>
14978
14979         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
14980         * m4/fmodl-ieee.m4: New file.
14981         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
14982         whether fmodl works with zero arguments. Replace it if not.
14983         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
14984         (Depends-on): Add fmod-ieee.
14985         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
14986         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
14987
14988         fmodf-ieee: Work around test failure on OSF/1.
14989         * m4/fmodf-ieee.m4: New file.
14990         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
14991         whether fmodf works with zero arguments. Replace it if not.
14992         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
14993         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
14994         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
14995         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
14996         (Depends-on): Update dependencies.
14997         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
14998         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
14999         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
15000
15001         fmodf-ieee: Work around test failure on MSVC 9.
15002         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
15003         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
15004
15005         fmod-ieee: Work around test failures on OSF/1, mingw.
15006         * m4/fmod-ieee.m4: New file.
15007         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
15008         whether fmod works with zero arguments. Replace it if not.
15009         * lib/math.in.h (fmod): New declaration.
15010         * lib/fmod.c: New file.
15011         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
15012         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
15013         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
15014         * modules/fmod (Files): Add lib/fmod.c.
15015         (Depends-on): Add math, isinf, trunc, fma.
15016         (configure.ac): Arrange to compile lib/fmod.c if needed.
15017         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
15018         m4/signbit.m4.
15019         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
15020         * tests/test-math-c++.cc: Check the declaration of fmod.
15021         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
15022
15023         fmodl-ieee: Fix test failures.
15024         * lib/fmodl.c (fmodl): Treat Inf specially.
15025         * modules/fmodl (Depends-on): Add isinf.
15026
15027         Tests for module 'fmodl-ieee'.
15028         * modules/fmodl-ieee-tests: New file.
15029         * tests/test-fmodl-ieee.c: New file.
15030
15031         New module 'fmodl-ieee'.
15032         * modules/fmodl-ieee: New file.
15033
15034         Tests for module 'fmod-ieee'.
15035         * modules/fmod-ieee-tests: New file.
15036         * tests/test-fmod-ieee.c: New file.
15037
15038         New module 'fmod-ieee'.
15039         * modules/fmod-ieee: New file.
15040
15041         Tests for module 'fmodf-ieee'.
15042         * modules/fmodf-ieee-tests: New file.
15043         * tests/test-fmodf-ieee.c: New file.
15044         * tests/test-fmod-ieee.h: New file.
15045
15046         New module 'fmodf-ieee'.
15047         * modules/fmodf-ieee: New file.
15048
15049 2012-02-27  Bruno Haible  <bruno@clisp.org>
15050
15051         Tests for module 'rintl-ieee'.
15052         * modules/rintl-ieee-tests: New file.
15053         * tests/test-rintl-ieee.c: New file.
15054
15055         New module 'rintl-ieee'.
15056         * modules/rintl-ieee: New file.
15057
15058         Tests for module 'rint-ieee'.
15059         * modules/rint-ieee-tests: New file.
15060         * tests/test-rint-ieee.c: New file.
15061
15062         New module 'rint-ieee'.
15063         * modules/rint-ieee: New file.
15064
15065         Tests for module 'rintf-ieee'.
15066         * modules/rintf-ieee-tests: New file.
15067         * tests/test-rintf-ieee.c: New file.
15068         * tests/test-rint-ieee.h: New file.
15069
15070         New module 'rintf-ieee'.
15071         * modules/rintf-ieee: New file.
15072
15073 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
15074
15075         regex: re_search etc. should return -2 when memory exhausted
15076         This bug was uncovered when testing 'grep'.  Without the fix,
15077         re_search and friends return -1 when memory is exhausted, but -1
15078         means no match, and this causes grep to falsely report no-match
15079         instead of memory-exhaustion.  See
15080         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
15081         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
15082         trouble; this can occur if re_search_internal ran out of memory.
15083
15084 2012-02-26  Bruno Haible  <bruno@clisp.org>
15085
15086         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
15087         * m4/modfl-ieee.m4: New file.
15088         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
15089         whether modfl works with Inf. Replace it if not.
15090         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
15091         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
15092         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
15093         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
15094         (Depends-on): Update dependencies.
15095         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
15096         m4/signbit.m4.
15097         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
15098         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
15099
15100         modfl-ieee: Fix dependencies.
15101         * modules/modfl-ieee (Depends-on): Add modf-ieee.
15102
15103         modfl-ieee: Fix test failures.
15104         * lib/modfl.c (modfl): Treat NaN and Inf specially.
15105         * modules/modfl (Depends-on): Add isfinite, isinf.
15106
15107         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
15108         * m4/modff-ieee.m4: New file.
15109         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
15110         whether modff works with NaN and Inf. Replace it if not.
15111         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
15112         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
15113         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
15114         * modules/modff (configure.ac): Consider REPLACE_MODFF.
15115         (Depends-on): Update dependencies.
15116         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
15117         m4/signbit.m4.
15118         (Depends-on): Add modf-ieee.
15119         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
15120         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
15121
15122         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
15123         * m4/modf-ieee.m4: New file.
15124         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
15125         whether modf works with NaN and Inf. Replace it if not.
15126         * lib/math.in.h (modf): New declaration.
15127         * lib/modf.c: New file.
15128         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
15129         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
15130         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
15131         * modules/modf (Files): Add lib/modf.c.
15132         (Depends-on): Add math, isfinite, trunc, isinf.
15133         (configure.ac): Addrange to compile lib/modf.c if needed.
15134         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
15135         m4/signbit.m4.
15136         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
15137         * tests/test-math-c++.cc: Check the declaration of modf.
15138         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
15139
15140         Tests for module 'modfl-ieee'.
15141         * modules/modfl-ieee-tests: New file.
15142         * tests/test-modfl-ieee.c: New file.
15143
15144         New module 'modfl-ieee'.
15145         * modules/modfl-ieee: New file.
15146
15147         Tests for module 'modf-ieee'.
15148         * modules/modf-ieee-tests: New file.
15149         * tests/test-modf-ieee.c: New file.
15150
15151         New module 'modf-ieee'.
15152         * modules/modf-ieee: New file.
15153
15154         Tests for module 'modff-ieee'.
15155         * modules/modff-ieee-tests: New file.
15156         * tests/test-modff-ieee.c: New file.
15157         * tests/test-modf-ieee.h: New file.
15158
15159         New module 'modff-ieee'.
15160         * modules/modff-ieee: New file.
15161
15162 2012-02-26  Bruno Haible  <bruno@clisp.org>
15163
15164         Tests for module 'fabsl-ieee'.
15165         * modules/fabsl-ieee-tests: New file.
15166         * tests/test-fabsl-ieee.c: New file.
15167
15168         New module 'fabsl-ieee'.
15169         * modules/fabsl-ieee: New file.
15170
15171         Tests for module 'fabs-ieee'.
15172         * modules/fabs-ieee-tests: New file.
15173         * tests/test-fabs-ieee.c: New file.
15174
15175         New module 'fabs-ieee'.
15176         * modules/fabs-ieee: New file.
15177
15178         Tests for module 'fabsf-ieee'.
15179         * modules/fabsf-ieee-tests: New file.
15180         * tests/test-fabsf-ieee.c: New file.
15181         * tests/test-fabs-ieee.h: New file.
15182
15183         New module 'fabsf-ieee'.
15184         * modules/fabsf-ieee: New file.
15185
15186 2012-02-26  Bruno Haible  <bruno@clisp.org>
15187
15188         Tests for module 'fmal-ieee'.
15189         * modules/fmal-ieee-tests: New file.
15190         * tests/test-fmal-ieee.c: New file.
15191
15192         New module 'fmal-ieee'.
15193         * modules/fmal-ieee: New file.
15194
15195         Tests for module 'fma-ieee'.
15196         * modules/fma-ieee-tests: New file.
15197         * tests/test-fma-ieee.c: New file.
15198
15199         New module 'fma-ieee'.
15200         * modules/fma-ieee: New file.
15201
15202         Tests for module 'fmaf-ieee'.
15203         * modules/fmaf-ieee-tests: New file.
15204         * tests/test-fmaf-ieee.c: New file.
15205         * tests/test-fma-ieee.h: New file.
15206
15207         New module 'fmaf-ieee'.
15208         * modules/fmaf-ieee: New file.
15209
15210 2012-02-26  Bruno Haible  <bruno@clisp.org>
15211
15212         Tests for module 'ldexpl-ieee'.
15213         * modules/ldexpl-ieee-tests: New file.
15214         * tests/test-ldexpl-ieee.c: New file.
15215
15216         New module 'ldexpl-ieee'.
15217         * modules/ldexpl-ieee: New file.
15218
15219         Tests for module 'ldexp-ieee'.
15220         * modules/ldexp-ieee-tests: New file.
15221         * tests/test-ldexp-ieee.c: New file.
15222
15223         New module 'ldexp-ieee'.
15224         * modules/ldexp-ieee: New file.
15225
15226         Tests for module 'ldexpf-ieee'.
15227         * modules/ldexpf-ieee-tests: New file.
15228         * tests/test-ldexpf-ieee.c: New file.
15229         * tests/test-ldexp-ieee.h: New file.
15230
15231         New module 'ldexpf-ieee'.
15232         * modules/ldexpf-ieee: New file.
15233
15234 2012-02-26  Bruno Haible  <bruno@clisp.org>
15235
15236         Refactor frexp*-ieee tests.
15237         * tests/test-frexp-ieee.h: New file.
15238         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
15239         (main): Just call test_function.
15240         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
15241         (main): Just call test_function.
15242         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
15243         (main): Just call test_function.
15244         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
15245         * modules/frexp-ieee-tests (Files): Likewise.
15246         * modules/frexpl-ieee-tests (Files): Likewise.
15247
15248         Tests for module 'frexpl-ieee'.
15249         * modules/frexpl-ieee-tests: New file.
15250         * tests/test-frexpl-ieee.c: New file.
15251
15252         New module 'frexpl-ieee'.
15253         * modules/frexpl-ieee: New file.
15254
15255         Tests for module 'frexp-ieee'.
15256         * modules/frexp-ieee-tests: New file.
15257         * tests/test-frexp-ieee.c: New file.
15258
15259         New module 'frexp-ieee'.
15260         * modules/frexp-ieee: New file.
15261
15262         Tests for module 'frexpf-ieee'.
15263         * modules/frexpf-ieee-tests: New file.
15264         * tests/test-frexpf-ieee.c: New file.
15265
15266         New module 'frexpf-ieee'.
15267         * modules/frexpf-ieee: New file.
15268
15269 2012-02-26  Bruno Haible  <bruno@clisp.org>
15270
15271         roundl-ieee tests: More tests.
15272         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
15273         (main): Add tests for [MX] shaded specification in POSIX.
15274         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15275         (Depends-on): Add isnanl-nolibm.
15276
15277         round-ieee tests: More tests.
15278         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
15279         (main): Add tests for [MX] shaded specification in POSIX.
15280         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15281         (Depends-on): Add isnand-nolibm.
15282
15283         roundf-ieee tests: More tests.
15284         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
15285         (main): Add tests for [MX] shaded specification in POSIX.
15286         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15287         (Depends-on): Add isnanf-nolibm.
15288
15289         truncl-ieee tests: More tests.
15290         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
15291         (main): Add tests for [MX] shaded specification in POSIX.
15292         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15293         (Depends-on): Add isnanl-nolibm.
15294
15295         trunc-ieee tests: More tests.
15296         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
15297         (main): Add tests for [MX] shaded specification in POSIX.
15298         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15299         (Depends-on): Add isnand-nolibm.
15300
15301         truncf-ieee tests: More tests.
15302         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
15303         (main): Add tests for [MX] shaded specification in POSIX.
15304         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15305         (Depends-on): Add isnanf-nolibm.
15306
15307         ceill-ieee tests: More tests.
15308         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
15309         (main): Add tests for [MX] shaded specification in POSIX.
15310         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15311         (Depends-on): Add isnanl-nolibm.
15312
15313         ceil-ieee tests: More tests.
15314         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
15315         (main): Add tests for [MX] shaded specification in POSIX.
15316         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15317         (Depends-on): Add isnand-nolibm.
15318
15319         ceilf-ieee tests: More tests.
15320         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
15321         (main): Add tests for [MX] shaded specification in POSIX.
15322         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15323         (Depends-on): Add isnanf-nolibm.
15324
15325         floorl-ieee tests: More tests.
15326         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
15327         (main): Add tests for [MX] shaded specification in POSIX.
15328         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15329         (Depends-on): Add isnanl-nolibm.
15330
15331         floor-ieee tests: More tests.
15332         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
15333         (main): Add tests for [MX] shaded specification in POSIX.
15334         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15335         (Depends-on): Add isnand-nolibm.
15336
15337         floorf-ieee tests: More tests.
15338         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
15339         (main): Add tests for [MX] shaded specification in POSIX.
15340         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
15341         (Depends-on): Add isnanf-nolibm.
15342
15343 2012-02-26  Bruno Haible  <bruno@clisp.org>
15344
15345         fpieee: More comments.
15346         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
15347
15348 2012-02-25  Bruno Haible  <bruno@clisp.org>
15349
15350         Tests for module 'log10l'.
15351         * modules/log10l-tests: New file.
15352         * tests/test-log10l.c: New file.
15353         * tests/test-math-c++.cc: Check the declaration of log10l.
15354
15355         New module 'log10l'.
15356         * lib/math.in.h (log10l): New declaration.
15357         * lib/log10l.c: New file.
15358         * m4/log10l.m4: New file.
15359         * modules/log10l: New file.
15360         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
15361         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
15362         HAVE_DECL_LOG10L.
15363         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
15364         HAVE_DECL_LOG10L.
15365         * doc/posix-functions/log10l.texi: Mention the new module.
15366
15367 2012-02-25  Bruno Haible  <bruno@clisp.org>
15368
15369         fmodl, remainder*: Avoid wrong results due to rounding errors.
15370         * lib/fmodl.c (fmodl): Correct the result if it is not within the
15371         expected bounds.
15372         * lib/remainderf.c (remainderf): Likewise.
15373         * lib/remainder.c (remainder): Likewise.
15374         * lib/remainderl.c (remainderl): Likewise.
15375
15376 2012-02-25  Bruno Haible  <bruno@clisp.org>
15377
15378         Tests for module 'remainderl'.
15379         * modules/remainderl-tests: New file.
15380         * tests/test-remainderl.c: New file.
15381         * tests/test-math-c++.cc: Check the declaration of remainderl.
15382
15383         New module 'remainderl'.
15384         * lib/math.in.h (remainderl): New declaration.
15385         * lib/remainderl.c: New file.
15386         * m4/remainderl.m4: New file.
15387         * modules/remainderl: New file.
15388         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
15389         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
15390         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
15391         HAVE_REMAINDERL.
15392         * doc/posix-functions/remainderl.texi: Mention the new module.
15393
15394 2012-02-25  Bruno Haible  <bruno@clisp.org>
15395
15396         Tests for module 'remainderf'.
15397         * modules/remainderf-tests: New file.
15398         * tests/test-remainderf.c: New file.
15399         * tests/test-math-c++.cc: Check the declaration of remainderf.
15400
15401         New module 'remainderf'.
15402         * lib/math.in.h (remainderf): New declaration.
15403         * lib/remainderf.c: New file.
15404         * m4/remainderf.m4: New file.
15405         * modules/remainderf: New file.
15406         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
15407         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
15408         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
15409         HAVE_REMAINDERF.
15410         * doc/posix-functions/remainderf.texi: Mention the new module.
15411
15412 2012-02-25  Bruno Haible  <bruno@clisp.org>
15413
15414         remainder: Support for MSVC.
15415         * lib/math.in.h (remainder): New declaration.
15416         * lib/remainder.c: New file.
15417         * m4/remainder.m4: New file.
15418         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
15419         (Depends-on): Add math, round, fma.
15420         (configure.ac): Use results of gl_FUNC_REMAINDER.
15421         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
15422         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
15423         HAVE_DECL_REMAINDER.
15424         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
15425         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
15426         * tests/test-math-c++.cc: Check the declaration of remainder.
15427         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
15428         problems are fixed.
15429
15430 2012-02-25  Bruno Haible  <bruno@clisp.org>
15431
15432         Tests for module 'fmodl'.
15433         * modules/fmodl-tests: New file.
15434         * tests/test-fmodl.c: New file.
15435         * tests/test-math-c++.cc: Check the declaration of fmodl.
15436
15437         New module 'fmodl'.
15438         * lib/math.in.h (fmodl): New declaration.
15439         * lib/fmodl.c: New file.
15440         * m4/fmodl.m4: New file.
15441         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
15442         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
15443         REPLACE_FMODL.
15444         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
15445         REPLACE_FMODL.
15446         * modules/fmodl: New file.
15447         * doc/posix-functions/fmodl.texi: Mention the new module.
15448
15449 2012-02-25  Bruno Haible  <bruno@clisp.org>
15450
15451         Tests for module 'modfl'.
15452         * modules/modfl-tests: New file.
15453         * tests/test-modfl.c: New file.
15454         * tests/test-math-c++.cc: Check the declaration of modfl.
15455
15456         New module 'modfl'.
15457         * lib/math.in.h (modfl): New declaration.
15458         * lib/modfl.c: New file.
15459         * m4/modfl.m4: New file.
15460         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
15461         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
15462         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
15463         * modules/modfl: New file.
15464         * doc/posix-functions/modfl.texi: Mention the new module.
15465
15466 2012-02-25  Bruno Haible  <bruno@clisp.org>
15467
15468         Tests for module 'fabsl'.
15469         * modules/fabsl-tests: New file.
15470         * tests/test-fabsl.c: New file.
15471         * tests/test-math-c++.cc: Check the declaration of fabsl.
15472
15473         New module 'fabsl'.
15474         * lib/math.in.h (fabsl): New declaration.
15475         * lib/fabsl.c: New file.
15476         * m4/fabsl.m4: New file.
15477         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
15478         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
15479         REPLACE_FABSL.
15480         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
15481         REPLACE_FABSL.
15482         * modules/fabsl: New file.
15483         * doc/posix-functions/fabsl.texi: Mention the new module.
15484
15485 2012-02-25  Bruno Haible  <bruno@clisp.org>
15486
15487         fabs tests: More tests.
15488         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
15489         (zero): New variable.
15490         (main): Add tests for signed zero.
15491         * modules/fabs-tests (Files): Add tests/minus-zero.h.
15492
15493         fabsf tests: More tests.
15494         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
15495         (zero): New variable.
15496         (main): Add tests for signed zero.
15497         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
15498
15499 2012-02-24  Bruno Haible  <bruno@clisp.org>
15500
15501         atanl: Provide function definition on MSVC.
15502         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
15503         function pointer.
15504         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
15505
15506 2012-02-24  Bruno Haible  <bruno@clisp.org>
15507
15508         acosl: Provide function definition on MSVC.
15509         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
15510         function pointer.
15511         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
15512
15513 2012-02-24  Bruno Haible  <bruno@clisp.org>
15514
15515         asinl: Provide function definition on MSVC.
15516         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
15517         function pointer.
15518         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
15519
15520 2012-02-24  Bruno Haible  <bruno@clisp.org>
15521
15522         tanl: Provide function definition on MSVC.
15523         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
15524         function pointer.
15525         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
15526
15527 2012-02-24  Bruno Haible  <bruno@clisp.org>
15528
15529         cosl: Provide function definition on MSVC.
15530         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
15531         function pointer.
15532         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
15533
15534 2012-02-24  Bruno Haible  <bruno@clisp.org>
15535
15536         sinl: Provide function definition on MSVC.
15537         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
15538         function pointer.
15539         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
15540
15541 2012-02-24  Bruno Haible  <bruno@clisp.org>
15542
15543         logl: Provide function definition on MSVC.
15544         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
15545         function pointer.
15546         * lib/math.in.h (logl): Undefine if it does not exist as a function.
15547
15548 2012-02-24  Bruno Haible  <bruno@clisp.org>
15549
15550         expl: Provide function definition on MSVC.
15551         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
15552         function pointer.
15553         * lib/math.in.h (expl): Undefine if it does not exist as a function.
15554
15555 2012-02-24  Bruno Haible  <bruno@clisp.org>
15556
15557         sqrtl: Provide function definition on MSVC.
15558         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
15559         a function pointer.
15560         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
15561
15562 2012-02-24  Bruno Haible  <bruno@clisp.org>
15563
15564         ceill: Provide function definition on MSVC.
15565         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
15566         used as a function pointer.
15567         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
15568
15569 2012-02-24  Bruno Haible  <bruno@clisp.org>
15570
15571         floorl: Provide function definition on MSVC.
15572         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
15573         used as a function pointer.
15574         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
15575
15576 2012-02-24  Bruno Haible  <bruno@clisp.org>
15577
15578         ceilf: Provide function definition on MSVC.
15579         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
15580         used as a function pointer.
15581         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
15582
15583 2012-02-24  Bruno Haible  <bruno@clisp.org>
15584
15585         floorf: Provide function definition on MSVC.
15586         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
15587         used as a function pointer.
15588         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
15589
15590 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15591
15592         stdnoreturn: new module
15593         This implements a replacement for C11's <stdnoreturn.h>.
15594         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
15595         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
15596         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15597         * tests/test-stdnoreturn.c: New files.
15598
15599 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
15600
15601         regex: fix false multibyte matches in some regular expressions
15602         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
15603         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
15604         * lib/regex_internal.c (re_string_skip_chars):
15605         Fix miscomputation of remain_len that may cause incomplete
15606         multi-byte character and false match.
15607
15608 2012-02-24  Jim Meyering  <meyering@redhat.com>
15609
15610         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
15611         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
15612         uses with "==" *before* the call, e.g., 0 == strcmp (...)
15613         Remove now-unnecessary str''cmp obfuscation.
15614         Suggested by Akim Demaille.
15615
15616 2012-02-24  Bruno Haible  <bruno@clisp.org>
15617
15618         streq: Rename macro.
15619         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
15620         * NEWS: Mention the change.
15621         * lib/mbrtowc.c (mbrtowc): Update.
15622         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
15623         * lib/wcwidth.c (wcwidth): Update.
15624         Suggested by Akim Demaille and Jim Meyering.
15625
15626 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
15627
15628         regex: fix typo in definition of MIN
15629         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
15630         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
15631
15632 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
15633             Bruno Haible  <bruno@clisp.org>
15634
15635         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
15636         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
15637         entries into a stack-allocated buffer directly.
15638         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
15639
15640 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
15641             Bruno Haible  <bruno@clisp.org>
15642
15643         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
15644
15645          - There were several instances of this pattern:
15646
15647              for (;;) {
15648                n = acl (f, GETACLCNT, 0, NULL);
15649                [ allocate an array A of size N ]
15650                if (acl (f, GETACL, n, a) == n)
15651                  break;
15652              }
15653
15654            This loop might never terminate if some other process is constantly
15655            manipulating the file's ACL.  The loop should be rewritten to
15656            terminate.
15657
15658          - The acl (... GETACLNT ...) call is merely an optimization; its value
15659            is merely a hint as to how big to make the array.  A better
15660            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
15661            and just guess a reasonably-big size, growing the size and trying
15662            again if it's not large enough.  This guarantees termination, and
15663            saves a system call.
15664
15665         * lib/acl-internal.h: Include <limits.h>.
15666         (MIN, SIZE_MAX): New macros.
15667         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
15668         a stack-allocated buffer, and use malloc if it does not fit. Don't
15669         use GETACLCNT.
15670         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
15671
15672 2012-02-19  Bruno Haible  <bruno@clisp.org>
15673
15674         acl: Fix endless loop on Solaris with vxfs.
15675         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
15676         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
15677         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
15678         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
15679         * tests/test-sameacls.c (main)[Solaris]: Likewise.
15680         Reported by Bill Jones in
15681         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
15682
15683 2012-02-19  Bruno Haible  <bruno@clisp.org>
15684
15685         acl: Fix copy-acl test failure on Solaris 11 2011-11.
15686         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
15687         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
15688         that this function returns 0 in some more cases.
15689
15690 2012-02-19  Bruno Haible  <bruno@clisp.org>
15691
15692         acl: Update doc references.
15693         * doc/acl-resources.txt: Update links to Solaris documentation.
15694
15695 2012-02-19  Bruno Haible  <bruno@clisp.org>
15696
15697         Fix test failure in many locales on Solaris 11.
15698         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
15699         'tr' arguments.
15700         * tests/test-pipe-filter-ii1.c (main): Likewise.
15701         * build-aux/bootstrap (check_versions): Run 'tr' command with range
15702         expressions in the C locale.
15703         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15704         * m4/host-os.m4 (gl_HOST_OS): Likewise.
15705
15706 2012-02-19  Bruno Haible  <bruno@clisp.org>
15707
15708         gnulib-tool: Improve usage message.
15709         * gnulib-tool (func_usage): Move doc of --help and --version to the
15710         section "Operation modes".
15711
15712 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
15713
15714         README-release: make it easier to execute commands
15715         * top/README-release: break commands out on to separate lines.
15716
15717 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
15718
15719         GNUmakefile: simplify detection of unconfigured trees
15720         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
15721         whether the tree make is being run from is already configured or
15722         not.  Related simplifications.
15723
15724 2012-02-13  Simon Josefsson  <simon@josefsson.org>
15725
15726         * gnulib-tool (func_usage): Document --help and --version.
15727
15728 2012-02-11  Jim Meyering  <meyering@redhat.com>
15729
15730         bootstrap: don't exit 0 upon gnulib-tool failure
15731         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
15732         its exit status, not 0.
15733
15734 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
15735
15736         README-release: various improvements
15737         * top/README-release: Give a command to push changes for the
15738         release.  Add "distcheck" to list of other pre-release checks.
15739         Fix instance of "make stable" which should be "make TYPE".
15740
15741 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
15742
15743         maint: replace FSF snail-mail addresses with URLs
15744         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
15745         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
15746         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
15747         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
15748         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
15749         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
15750         * lib/check-version.c, lib/check-version.h, lib/config.charset:
15751         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
15752         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
15753         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
15754         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
15755         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
15756         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
15757         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
15758         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
15759         * lib/glthread/thread.c, lib/glthread/thread.h:
15760         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
15761         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
15762         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
15763         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
15764         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
15765         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
15766         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
15767         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
15768         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
15769         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
15770         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
15771         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
15772         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
15773         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
15774         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
15775         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
15776         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
15777         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
15778         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
15779         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
15780         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
15781         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
15782         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
15783         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
15784         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
15785         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
15786         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
15787         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
15788         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
15789         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
15790         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
15791         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
15792         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
15793         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
15794         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
15795         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
15796         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
15797         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
15798         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
15799         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
15800         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
15801         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
15802         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
15803         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
15804         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
15805         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
15806         * tests/test-poll.c, tests/test-quotearg-simple.c:
15807         * tests/test-quotearg.c, tests/test-quotearg.h:
15808         * tests/test-round-ieee.c, tests/test-round1.c:
15809         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
15810         * tests/test-roundl-ieee.c, tests/test-roundl.c:
15811         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
15812         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
15813         * tests/test-strerror.c, tests/test-strerror_r.c:
15814         * tests/test-strsignal.c, tests/test-strverscmp.c:
15815         * tests/test-xmemdup0.c:
15816         Replace FSF snail mail addresses with URLs, as per GNU coding
15817         standards.  See glibc bug
15818         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
15819
15820 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
15821
15822         README-release: capitalize a word and split a line
15823         * top/README-release: Fix punctuation and spacing.
15824
15825 2012-02-08  Akim Demaille  <demaille@gostai.com>
15826
15827         fatal-signal: use C prototypes (with explicit void).
15828         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
15829         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
15830
15831 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
15832
15833         regex: spelling fix
15834         * lib/regexec.c: spelling fix
15835
15836         regex: rely on stdint.h for SIZE_MAX
15837         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
15838
15839 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
15840
15841         regex: merge glibc changes
15842
15843         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
15844         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
15845         (init_word_char): Work even if bitset words are not exactly 32 or
15846         64 bits wide.  Don't assume there are no padding bits.
15847         * lib/regex.c [_LIBC]: Do not include <config.h>.
15848         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
15849         and -Wtype-limits.
15850         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
15851         needless disagreement with glibc.  All uses changed.  Define it to
15852         1 only if _GNU_SOURCE, to match glibc.
15853         (_REG_RM_NAME): Remove; no longer needed, since the names in
15854         question are now all protected by __USE_GNU.
15855         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
15856         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
15857         * lib/regex_internal.h (MIN): New macro.
15858
15859         2012-01-03 Ulrich Drepper <drepper@gmail.com>
15860         * lib/regcomp.c (init_word_char): Optimize regex a bit.
15861
15862         2011-12-30 Jakub Jelinek <jakub@redhat.com>
15863         * lib/regex_internal.c (re_string_fetch_byte_case):
15864         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
15865         is miscompiled, and it turns out it is because of an incorrect
15866         attribute on re_string_fetch_byte_case.  Unlike
15867         re_string_peek_byte_case, this one is really not pure, it modifies
15868         memory (increments pstr->cur_idx), and with the pure attribute GCC
15869         assumed it doesn't and it cached the presumed value of
15870         regexp->cur_idx in a variable across the
15871          for (;; ++i)
15872            {
15873              if (i >= BRACKET_NAME_BUF_SIZE)
15874                return REG_EBRACK;
15875              if (token->type == OP_OPEN_CHAR_CLASS)
15876                ch = re_string_fetch_byte_case (regexp);
15877              else
15878                ch = re_string_fetch_byte (regexp);
15879              if (re_string_eoi(regexp))
15880                return REG_EBRACK;
15881              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
15882                break;
15883              elem->opr.name[i] = ch;
15884            }
15885
15886         2011-11-29 Andreas Schwab <schwab@redhat.com>
15887         * lib/regcomp.c (build_equiv_class):
15888         Fix access after end of search string in regex matcher.
15889
15890         2011-11-12 Ulrich Drepper <drepper@redhat.com>
15891         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
15892
15893         2011-10-12 Ulrich Drepper <drepper@redhat.com>
15894         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
15895
15896         2011-10-11 Ulrich Drepper <drepper@redhat.com>
15897         * lib/regcomp.c (parse_branch, parse_sub_exp):
15898         More regex memory leak fixes and tests.
15899         (parse_sub_exp, parse_bracket_exp):
15900         Fix memory leak for some invalid regular expressions.
15901
15902         2011-05-28 Ulrich Drepper <drepper@gmail.com>
15903         * lib/regex_internal.c, lib/regexec.c:
15904         Fix unnecessary overallocation due to incomplete character.  When
15905         incomplete characters are found at the end of a string the code
15906         ran amok and allocated lots of memory.  Stricter limits are now in
15907         place.
15908
15909         2011-05-20 Reuben Thomas <rrt@sc3d.org>
15910         * lib/regex.h: Update documentation.
15911
15912         2011-05-16 Aharon Robbins <arnold@skeeve.com>
15913         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
15914
15915         2010-05-05 Andreas Schwab <schwab@redhat.com>
15916         * lib/regexec.c (find_collation_sequence_value):
15917         Fix lookup of collation sequence value during regexp matching.
15918
15919         2010-01-22 Ulrich Drepper <drepper@redhat.com>
15920         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
15921
15922         2008-01-16 Ulrich Drepper <drepper@redhat.com>
15923         * lib/regex.h: Cleanup namespace.
15924
15925         2007-11-26 Ulrich Drepper <drepper@redhat.com>
15926         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
15927
15928         2007-08-26 Ulrich Drepper <drepper@redhat.com>
15929         * lib/regex_internal.h: Prevent some declarations and definitions
15930         to be seen when used in tests.
15931
15932         2005-05-06 Ulrich Drepper <drepper@redhat.com>
15933         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
15934         __libc_lock_* macros if not _LIBC.
15935         (struct re_dfa_t): Add lock.
15936
15937 2012-02-07  Eric Blake  <eblake@redhat.com>
15938
15939         maint.mk: also prohibit lower-case @var@
15940         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
15941         lower case, like @top_srcdir@.
15942
15943 2012-02-04  Eric Blake  <eblake@redhat.com>
15944
15945         canonicalize: avoid uninitialized memory use
15946         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
15947         random '/' left in dest.
15948         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
15949
15950 2012-02-04  Bruno Haible  <bruno@clisp.org>
15951
15952         isatty: Fix test failure of ptsname_r on native Windows.
15953         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
15954         and don't set errno.
15955         (isatty): Test first whether fd is valid. Set errno when returning 0.
15956
15957 2012-02-04  Bruno Haible  <bruno@clisp.org>
15958
15959         spawn-pipe tests: Fix a NULL program name in a diagnostic.
15960         * tests/test-spawn-pipe-main.c: Include progname.h.
15961         (main): Invoke set_program_name.
15962         * modules/spawn-pipe-tests (Depends-on): Add progname.
15963
15964         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
15965         * tests/test-nonblocking-socket-main.c: Include progname.h.
15966         (main): Invoke set_program_name.
15967         * modules/nonblocking-socket-tests (Depends-on): Add progname.
15968
15969         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
15970         * tests/test-nonblocking-pipe-main.c: Include progname.h.
15971         (main): Invoke set_program_name.
15972         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
15973
15974 2012-02-04  Eric Blake  <eblake@redhat.com>
15975
15976         canonicalize-lgpl: fix // handling
15977         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
15978
15979         canonicalize: fix // handling
15980         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
15981         /// to //, since only // is special.
15982
15983 2012-02-04  Bruno Haible  <bruno@clisp.org>
15984
15985         ioctl: Fix test failure on native Windows.
15986         * lib/ioctl.c: Include msvc-nothrow.h.
15987         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
15988
15989 2012-02-04  Bruno Haible  <bruno@clisp.org>
15990
15991         fsync: Avoid test failure on native Windows.
15992         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
15993         read-only.
15994
15995 2012-02-04  Bruno Haible  <bruno@clisp.org>
15996
15997         sys_select: Avoid syntax error on OpenBSD 5.0.
15998         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
15999         currently being included, just include the system's <sys/select.h>.
16000
16001 2012-02-04  Bruno Haible  <bruno@clisp.org>
16002
16003         sys_select: Avoid syntax error on OpenBSD 5.0.
16004         * lib/sys_select.in.h: Include <signal.h> only after the include_next
16005         <sys/select.h>, not before.
16006         Reported by Jiri B <jirib@devio.us>.
16007
16008 2012-02-04  Bruno Haible  <bruno@clisp.org>
16009
16010         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
16011         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
16012         global variables.
16013         * tests/test-get-rusage-data.c (main): Likewise.
16014         Reported by Jim Meyering.
16015
16016 2012-02-04  Bruno Haible  <bruno@clisp.org>
16017
16018         stdioext: Fix last commit.
16019         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
16020
16021 2012-02-03  Bruno Haible  <bruno@clisp.org>
16022
16023         stdioext: Add tentative support for Plan9.
16024         * lib/stdio-impl.h: Include <errno.h>.
16025         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
16026         * lib/freadable.c (freadable): Likewise.
16027         * lib/fwritable.c (fwritable): Likewise.
16028         * lib/fbufmode.c (fbufmode): Likewise.
16029         * lib/freading.c (freading): Likewise.
16030         * lib/fwriting.c (fwriting): Likewise.
16031         * lib/freadptr.c (freadptr): Likewise.
16032         * lib/freadseek.c (freadptrinc): Likewise.
16033         * lib/freadahead.c (freadahead): Likewise.
16034         * lib/fpurge.c (fpurge): Likewise.
16035         * lib/fseeko.c (rpl_fseeko): Likewise.
16036         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
16037         Reported by Jens Staal <staal1978@gmail.com>.
16038
16039 2012-02-02  Jim Meyering  <meyering@redhat.com>
16040
16041         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
16042         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
16043         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
16044         not even to try to add the attribute.  Instead, add a pragma to suppress
16045         the suggestion/warning.
16046
16047 2012-01-31  Karl Berry  <karl@gnu.org>
16048
16049         setstate doc: typo.
16050         * doc/posix-functions/setstate.texi (setstate): { not (.
16051
16052 2012-01-31  Bruno Haible  <bruno@clisp.org>
16053
16054         popen: Make more robust on Windows.
16055         * lib/popen.c: On native Windows, use the _popen based code even if
16056         HAVE_POPEN is set.
16057         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
16058         environment variable on native Windows.
16059
16060 2012-01-30  Bruno Haible  <bruno@clisp.org>
16061
16062         pclose: Fix typo.
16063         * lib/stdio.in.h (pclose): Fix typo in warning message.
16064
16065 2012-01-30  Bruno Haible  <bruno@clisp.org>
16066
16067         doc about getlogin_r, setstate.
16068         * doc/posix-functions/getlogin_r.texi: List the incompatible
16069         declaration problem under "not fixed by gnulib".
16070         * doc/posix-functions/setstate.texi: Mention incompatible declaration
16071         problem on Solaris 11 and other platforms.
16072
16073 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
16074             Bruno Haible  <bruno@clisp.org>
16075
16076         poll tests: Make test more robust.
16077         * tests/test-poll.c: Include macros.h.
16078         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
16079         return value of various I/O operations.
16080         * modules/poll-tests (Files): Add tests/macros.h.
16081
16082 2012-01-30  Bruno Haible  <bruno@clisp.org>
16083
16084         sys_stat: Fix support for mingw64 and MSVC.
16085         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
16086         header files already do it.
16087         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
16088         stat itself.
16089         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
16090
16091 2012-01-30  Bruno Haible  <bruno@clisp.org>
16092
16093         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
16094         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
16095         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
16096
16097 2012-01-29  Bruno Haible  <bruno@clisp.org>
16098
16099         quotearg: Fix test failure on MacOS X 10.5.
16100         * tests/test-quotearg-simple.c: Include localcharset.h.
16101         (main): If the locale encoding is not ASCII, bypass the tests of
16102         locale_quoting_style and clocale_quoting_style.
16103         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
16104
16105 2012-01-29  Jim Meyering  <meyering@redhat.com>
16106
16107         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
16108         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
16109         detect uses of canonicalize_file_name.
16110
16111 2012-01-28  Bruno Haible  <bruno@clisp.org>
16112
16113         test-framework-sh: Fix test failure with AIX 7.1 diff.
16114         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
16115         in column 1, like 'diff -c' does.
16116         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
16117         whether 'diff -u' is used. Instead, test whether the output contains
16118         some '@' character.
16119
16120 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
16121
16122         strtoimax: eliminate need for stdint.h, inttypes.h checks
16123         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
16124         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
16125         the prerequisites for a recently-introduced strtoimax test.
16126         I guess this might cause strtoimax to be replaced when not
16127         strictly necessary on older hosts, but this shouldn't introduce
16128         any bugs and it should make Emacs 'configure' faster on typical
16129         modern hosts.  Problem discovered when importing the latest gnulib
16130         to an Emacs test version.
16131         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
16132
16133 2012-01-28  Bruno Haible  <bruno@clisp.org>
16134
16135         sys_time: Override 'struct timeval' on some native Windows platforms.
16136         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
16137         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
16138         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
16139         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
16140         needs to be overridden.
16141         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
16142         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
16143         * tests/test-sys_select.c: Check that the tv_sec member has the same
16144         size as a 'time_t'.
16145         * tests/test-sys_time.c: Likewise.
16146         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
16147         is set, set also REPLACE_GETTIMEOFDAY.
16148         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
16149         convert the resulting 'struct timeval' before returning.
16150         * lib/select.c: Include <sys/time.h>.
16151         (select, timeval): Undefine at the right place.
16152         * modules/select (Depends-on): Add sys_time.
16153         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
16154         some Windows platforms.
16155         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
16156
16157 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
16158
16159         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
16160         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
16161         an integer.
16162         * lib/fcntl.c (dupfd): Likewise.
16163         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
16164
16165 2012-01-28  Bruno Haible  <bruno@clisp.org>
16166
16167         fcntl: Avoid compilation error on native Windows.
16168         * modules/fcntl (Depends-on): Add 'close'.
16169
16170 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
16171
16172         select, poll, isatty: Avoid warnings on x86_64 mingw64.
16173         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
16174         pointer to an integer.
16175         * lib/poll.c (IsConsoleHandle): Likewise.
16176         * lib/isatty.c (IsConsoleHandle): Likewise.
16177
16178 2012-01-28  Jim Meyering  <meyering@redhat.com>
16179
16180         doc: clarify README-release
16181         * top/README-release: Clarify: you should make a point to have
16182         the latest stable versions of build tools in your PATH, and the
16183         reference to buildreq is solely for its list of tool names, not
16184         for its minimal-functional version numbers.
16185         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
16186
16187         maint.mk: use more readable (yet functionally equivalent) quoting
16188         It is common to quote a single quote in a single quoted string like
16189         this:  '...'\''...'.  Unless you know the idiom, that looks like
16190         gibberish, so prefer to double-quote the string when possible.
16191         Then you can use a more readable, lone single quote: "...'..."
16192         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
16193         "don't" is more readable than the equivalent 'don'\''t'.
16194         (sc_cast_of_x_alloc_return_value): Likewise.
16195         (sc_cast_of_alloca_return_value): Likewise.
16196         (sc_makefile_path_separator_check): Similar: use ":" in '...',
16197         rather than '\'':'\''.
16198
16199 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
16200
16201         stdalign: relax _Alignof and tighten _Alignas test
16202         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
16203         as it was too strict: alignof must divide offsetof, but it need
16204         not equal offsetof.  Inspired by Joseph S. Myers's comment
16205         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
16206         Conversely, tighten the _Alignas test a bit, as the resulting
16207         alignment must be exactly 8.
16208
16209 2012-01-27  Bruno Haible  <bruno@clisp.org>
16210
16211         stdalign: Document the last change.
16212         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
16213
16214 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
16215
16216         stdalign: check that alignof and offsetof are consistent
16217         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
16218         Problem reported for gnulib by Richard W.M. Jones in
16219         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
16220
16221 2012-01-27  Jim Meyering  <meyering@redhat.com>
16222
16223         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
16224         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
16225         convert a sequence with gaps to the minimal containing range.
16226         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
16227         * tests/test-update-copyright.sh: Test for this.
16228         The FSF confirmed it is ok to do this, assuming there is at
16229         least one significant change per year in the affected range:
16230         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
16231
16232 2012-01-26  Bruno Haible  <bruno@clisp.org>
16233
16234         pipe2: refine doc about thread-safety
16235         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
16236         multithread-safety problem.
16237         * doc/glibc-functions/accept4.texi: Likewise.
16238
16239 2012-01-26  Bruno Haible  <bruno@clisp.org>
16240
16241         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
16242         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
16243         In the test program, include <fcntl.h>, for O_RDONLY.
16244
16245 2012-01-26  Eric Blake  <eblake@redhat.com>
16246
16247         pipe2: document lack of thread-safety in replacement
16248         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
16249         issue in replacement.
16250         * doc/glibc-functions/accept4.texi (accept4): Likewise.
16251         Based on a report by Eric Wong.
16252
16253 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
16254             Bruno Haible  <bruno@clisp.org>
16255
16256         malloca: Avoid warnings on x86_64 mingw64.
16257         * lib/malloca.c: Include <stdint.h>.
16258         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
16259         * modules/malloca (Depends-on): Add stdint.
16260         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
16261
16262 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
16263
16264         obstack: remove __STDC__ conditionals
16265         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
16266         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
16267         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
16268         m4/include_next.m4 as the only gnulib-maintained places that still
16269         refer to __STDC__.
16270
16271 2012-01-24  Bruno Haible  <bruno@clisp.org>
16272
16273         havelib: Modern quoting.
16274         * build-aux/config.rpath: Quote 'like this', not `like this', as per
16275         the recent change to the GNU coding standards.
16276
16277 2012-01-24  Bruno Haible  <bruno@clisp.org>
16278
16279         stdint: Improve support for Android.
16280         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
16281         Reported by Simon Josefsson <simon@josefsson.org>.
16282
16283 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
16284
16285         doc: omit trailing empty lines from INSTALL etc.
16286         * doc/Makefile (INSTALL): Omit trailing empty lines.
16287         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
16288         omit trailing empty lines.  This simplifies the build procedure.
16289
16290 2012-01-23  Jim Meyering  <meyering@redhat.com>
16291
16292         tests: avoid spurious warnings about gl_sockets_startup
16293         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
16294         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
16295         reporting a "statement with no effect".
16296         * tests/test-accept.c (main): Mark as "(void)".
16297         * tests/test-accept4.c (main): Likewise.
16298         * tests/test-bind.c (main): Likewise.
16299         * tests/test-connect.c (main): Likewise.
16300         * tests/test-getpeername.c (main): Likewise.
16301         * tests/test-getsockname.c (main): Likewise.
16302         * tests/test-getsockopt.c (main): Likewise.
16303         * tests/test-listen.c (main): Likewise.
16304         * tests/test-recv.c (main): Likewise.
16305         * tests/test-recvfrom.c (main): Likewise.
16306         * tests/test-send.c (main): Likewise.
16307         * tests/test-sendto.c (main): Likewise.
16308         * tests/test-setsockopt.c (main): Likewise.
16309         * tests/test-shutdown.c (main): Likewise.
16310
16311 2012-01-21  Bruno Haible  <bruno@clisp.org>
16312
16313         locale-fr.m4: Fix for Android.
16314         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
16315         failure of the test program on Bionic libc.
16316
16317 2012-01-21  Jim Meyering  <meyering@redhat.com>
16318
16319         bootstrap: fail when bootstrap_post_import_hook fails
16320         Otherwise, it's far too easy to miss diagnostics emitted
16321         between gnulib-tool's output and that of running configure.
16322         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
16323
16324 2012-01-17  Jim Meyering  <meyering@redhat.com>
16325
16326         maint: enable sc_trailing_blank
16327         * build-aux/pmccabe.css: Remove trailing blanks.
16328         * doc/acl-cygwin.txt: Likewise.
16329         * doc/gnu-oids.texi: Likewise
16330         * cfg.mk: Enable sc_trailing_blank.
16331         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
16332
16333 2012-01-17  Jim Meyering  <meyering@redhat.com>
16334
16335         maint: enable sc_prohibit_openat_without_use
16336         * cfg.mk: Enable sc_prohibit_openat_without_use.
16337         Exempt lib/selinux-at.c.
16338
16339 2012-01-17  Jim Meyering  <meyering@redhat.com>
16340
16341         maint: enable sc_prohibit_cloexec_without_use
16342         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
16343         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
16344
16345 2012-01-17  Jim Meyering  <meyering@redhat.com>
16346
16347         maint: enable sc_prohibit_intprops_without_use
16348         * cfg.mk: Enable sc_prohibit_intprops_without_use
16349         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
16350
16351 2012-01-17  Jim Meyering  <meyering@redhat.com>
16352
16353         maint: enable sc_prohibit_hash_pjw_without_use
16354         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
16355         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
16356         to match any use of \<hash_pjw\>, i.e., not necessarily with a
16357         following " (".
16358
16359 2012-01-17  Jim Meyering  <meyering@redhat.com>
16360
16361         maint: enable double-word-prohibiting rule
16362         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
16363         Exempt three files.
16364
16365 2012-01-17  Jim Meyering  <meyering@redhat.com>
16366
16367         maint: remove empty lines at EOF, but excluding modules/*
16368         Apply syntax rules at home as well as abroad.  Most changes
16369         were induced by running this:
16370           make srcdir=. _build-aux=build-aux -f top/maint.mk \
16371             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
16372             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
16373         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
16374         Exempt modules/* and two binary files.
16375         Also exempt doc/INSTALL*, per request from Bruno Haible.
16376         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
16377         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
16378         * doc/Copyright/request-assign.future: Likewise.
16379         * doc/Copyright/request-disclaim.changes: Likewise.
16380         * doc/INSTALL: Likewise.
16381         * doc/INSTALL.ISO: Likewise.
16382         * doc/INSTALL.UTF-8: Likewise.
16383         * doc/acl-cygwin.txt: Likewise.
16384         * doc/acl-resources.txt: Likewise.
16385         * doc/fdl-1.2.texi: Likewise.
16386         * doc/fdl-1.3.texi: Likewise.
16387         * doc/fdl.texi: Likewise.
16388         * lib/argp-pin.c: Likewise.
16389         * lib/round.c: Likewise.
16390         * lib/unicase/u16-totitle.c: Likewise.
16391         * lib/unictype/block_test.c: Likewise.
16392         * lib/uninorm/canonical-decomposition.c: Likewise.
16393         * m4/README: Likewise.
16394         * m4/relocatable-lib.m4: Likewise.
16395         * tests/test-isnand-nolibm.c: Likewise.
16396         * tests/test-isnand.c: Likewise.
16397         * tests/uninorm/NormalizationTest.txt: Likewise.
16398
16399 2012-01-17  Jim Meyering  <meyering@redhat.com>
16400
16401         maint: add framework to run syntax-check rules against gnulib sources
16402         * cfg.mk: New file, to disable all currently-failing tests.
16403         We'll enable them one by one, as they are made to pass.
16404         * Makefile (sc_maint): New rule.
16405
16406 2012-01-21  Bruno Haible  <bruno@clisp.org>
16407
16408         stdint: Add support for Android.
16409         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
16410         include the system's <stdint.h>.
16411         Reported by Simon Josefsson <simon@josefsson.org>.
16412
16413 2012-01-19  Jim Meyering  <meyering@redhat.com>
16414
16415         bootstrap: add bootstrap_post_import_hook
16416         Bison does still need something like the gnulib_mk_hook whose
16417         invocation I had to remove along with slurp in commit 767ccd40.
16418         Technically, we could get along without it, but doing so would
16419         have required living with a warning and a mandatory post-bootstrap
16420         automake rerun.
16421         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
16422         (bootstrap_post_import_hook): New function.
16423         Invoke it after gnulib-tool --import and before autoreconf.
16424
16425 2012-01-18  Jim Meyering  <meyering@redhat.com>
16426
16427         gitlog-to-changelog: don't use "no_"-prefixed variable name
16428         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
16429         to enable both --cluster and --no-cluster.  Change variable name,
16430         s/\$no_cluster/$cluster/, and reverse usage to match.
16431
16432         gitlog-to-changelog: use "||", not "or" in expressions
16433         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
16434         expressions.
16435
16436 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
16437
16438         gitlog-to-changelog: new option --no-cluster
16439         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
16440         clustering of adjacent commit messages.
16441
16442 2012-01-17  Jim Meyering  <meyering@redhat.com>
16443
16444         maint: spell file systems with two words, not one
16445         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
16446         two words, not one.
16447
16448 2012-01-16  Jim Meyering  <meyering@redhat.com>
16449
16450         bootstrap: add a FIXME comment to ensure we eventually remove the hack
16451         * build-aux/bootstrap (gnulib_tool_options): Add comment.
16452
16453 2012-01-16  Eric Blake  <eblake@redhat.com>
16454
16455         bootstrap: cater to autoconf 2.59
16456         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
16457         is not available.
16458
16459         bootstrap: properly check for libtool
16460         * build-aux/bootstrap (libtoolize): Also run libtool when older
16461         usage is detected.
16462
16463 2012-01-15  Bruno Haible  <bruno@clisp.org>
16464
16465         Improve support for MSVC 9.
16466         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
16467         clashes on MSVC.
16468         * lib/fcntl.in.h: Likewise.
16469         * lib/stdlib.in.h: Likewise.
16470         * lib/sys_stat.in.h: Likewise.
16471
16472 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
16473
16474         gnupload: we hold the master copy of this script now
16475         For motivation and more information, see:
16476         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
16477         * build-aux/gnupload: Make it clear in the heading comments that the
16478         master copy of this file is maintained by gnulib.  Since we are at
16479         it, bump its copyright year and ...
16480         ($scriptversion): ... the date in its version.
16481         ($usage): Patches and bug reports should be sent to the gnulib list,
16482         not the automake one.
16483         * config/srclist.txt: Don't try to sync 'gnupload' from automake
16484         anymore.
16485
16486 2012-01-15  Bruno Haible  <bruno@clisp.org>
16487
16488         Fix module 'random'.
16489         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
16490         initstate, setstate are declared.
16491
16492 2012-01-14  Bruno Haible  <bruno@clisp.org>
16493
16494         Tests for module 'random'.
16495         * modules/random-tests: New file.
16496         * tests/test-random.c: New file, based on tests/test-random_r.c.
16497
16498         New module 'random'.
16499         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
16500         declarations.
16501         * lib/random.c: New file, based on glibc/stdlib/random.c.
16502         * m4/random.m4: New file.
16503         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
16504         HAVE_RANDOM.
16505         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
16506         * modules/random: New file.
16507         * config/srclist.txt: Add an entry for random.c.
16508         * doc/posix-functions/random.texi: Mention the 'random' module.
16509         * doc/posix-functions/initstate.texi: Likewise.
16510         * doc/posix-functions/setstate.texi: Likewise.
16511         * doc/posix-functions/srandom.texi: Likewise.
16512
16513 2012-01-12  Bruno Haible  <bruno@clisp.org>
16514
16515         random_r: Use common idioms.
16516         * lib/random_r.c: Include <stdlib.h> first.
16517
16518         random_r: Override incompatible API on AIX, OSF/1.
16519         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
16520         Override the system function if REPLACE_RANDOM_R is 1.
16521         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
16522         and OSF/1, set REPLACE_RANDOM_R.
16523         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
16524         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
16525         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
16526         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
16527         * doc/glibc-functions/random_r.texi: Likewise.
16528         * doc/glibc-functions/setstate_r.texi: Likewise.
16529
16530         random_r: Support for MSVC 9.
16531         * lib/random_r.c: Include stdint.h, not inttypes.h.
16532
16533 2012-01-12  Eric Blake  <eblake@redhat.com>
16534
16535         inet_ntop: guard extra work by IF_LINT
16536         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
16537         better code generation when not checking for warnings.
16538         Suggested by Paul Eggert and Jim Meyering.
16539
16540         strptime: fix regression on mingw
16541         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
16542         Fix regression.  Reported by Bruno Haible.
16543
16544 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
16545             Bruno Haible  <bruno@clisp.org>
16546
16547         copy-file: add error-code-returning variant.
16548         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
16549         (qcopy_file_preserving): New declaration.
16550         * lib/copy-file.c (qcopy_file_preserving): Renamed from
16551         copy_file_preserving. Change return type to 'int'. Don't emit an error
16552         message here.
16553         (copy_file_preserving): New function.
16554         * tests/test-copy-file.c: Include <stdlib.h>.
16555         (main): Test qcopy_file_preserving if the environment variable
16556         NO_STDERR_OUTPUT is set.
16557         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
16558         with NO_STDERR_OUTPUT
16559         * tests/test-copy-file-2.sh: Likewise.
16560
16561 2012-01-10  Bruno Haible  <bruno@clisp.org>
16562
16563         copy-file: Use 'quote' module consistently.
16564         * lib/copy-file.c (copy_file_preserving): Use quote().
16565
16566         copy-file: Refactor.
16567         * lib/copy-file.c: Include quote.h.
16568         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
16569         message here.
16570         * modules/copy-file (Depends-on): Add quote.
16571
16572         acl: Export qcopy_acl.
16573         * lib/acl.h (qcopy_acl): New declaration.
16574         * lib/copy-acl.c (qcopy_acl): Make non-static.
16575
16576         acl: Rename a local variable.
16577         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
16578
16579         acl: Align return values of copy_acl and qcopy_acl.
16580         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
16581         maybe < -1.
16582
16583 2012-01-11  Eric Blake  <eblake@redhat.com>
16584
16585         strptime: silence gcc warnings
16586         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
16587         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
16588         Reported by Daniel P. Berrange.
16589
16590         inet_ntop: silence gcc warning
16591         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
16592         Reported by Daniel P. Berrange.
16593
16594 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
16595
16596         getloadavg test: skip the test on GNU/Linux without /proc mounted
16597         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
16598         file.  When /proc is not mounted, it always fails with ENOENT.
16599         * tests/test-getloadavg.c (main): Treat ENOENT return code from
16600         getloadavg(3) the same way as ENOSYS and ENOTSUP.
16601
16602 2012-01-10  Bruno Haible  <bruno@clisp.org>
16603
16604         regex: Avoid link error on MSVC 9.
16605         * modules/regex (Depends-on): Add wctype.
16606
16607 2012-01-10  Bruno Haible  <bruno@clisp.org>
16608
16609         doc: Mention --with-tests option.
16610         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
16611         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
16612         --with-tests.
16613         Reported by Reuben Thomas.
16614
16615 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
16616
16617         users.txt: order package names lexicographically.
16618         * users.txt: Order package names lexicographically.
16619
16620 2012-01-10  Jim Meyering  <meyering@redhat.com>
16621
16622         maint.mk: fix description in comment
16623         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
16624
16625         ignore-value: remove deprecated ignore_ptr function
16626         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
16627         * NEWS: Note this.
16628
16629 2012-01-09  Jim Meyering  <meyering@redhat.com>
16630
16631         test-init.sh: avoid a subshell
16632         * tests/test-init.sh: Remove protective subshell.
16633         Suggested by Bernhard Voelker.  While a subshell is normally
16634         required to protect against older shells (Solaris, FreeBSD) that
16635         warn about a missing program before performing redirection, the
16636         shell-selection tests performed by init.sh probably exclude any
16637         offending shell.
16638
16639 2012-01-08  Bruno Haible  <bruno@clisp.org>
16640
16641         setlocale tests: Avoid test failure on Solaris 11 2011-11.
16642         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
16643         variable.
16644
16645 2012-01-08  Bruno Haible  <bruno@clisp.org>
16646
16647         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
16648         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
16649         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
16650         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
16651         macro.
16652         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
16653         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
16654         * lib/spawn_faction_addopen.c: Add workaround implementation if
16655         HAVE_WORKING_POSIX_SPAWN.
16656         * modules/spawn (Makefile): Substitute
16657         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
16658         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
16659         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
16660         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
16661         (Depends-on): Update conditions.
16662         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
16663         the Solaris 11 bug.
16664
16665 2012-01-08  Bruno Haible  <bruno@clisp.org>
16666
16667         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
16668         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
16669         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
16670         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
16671         macro.
16672         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
16673         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
16674         * lib/spawn_faction_adddup2.c: Add workaround implementation if
16675         HAVE_WORKING_POSIX_SPAWN.
16676         * modules/spawn (Makefile): Substitute
16677         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
16678         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
16679         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
16680         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
16681         (Depends-on): Update conditions.
16682         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
16683         the Solaris 11 bug.
16684
16685 2012-01-08  Bruno Haible  <bruno@clisp.org>
16686
16687         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
16688         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
16689         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
16690         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
16691         HAVE_WORKING_POSIX_SPAWN.
16692         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
16693         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
16694         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
16695         * lib/spawn_faction_addclose.c: Add workaround implementation if
16696         HAVE_WORKING_POSIX_SPAWN.
16697         * modules/spawn (Makefile): Substitute
16698         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
16699         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
16700         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
16701         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
16702         (Depends-on): Update conditions.
16703         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
16704         the Solaris 11 bug.
16705
16706 2012-01-08  Bruno Haible  <bruno@clisp.org>
16707
16708         doc: Update for Solaris 11 2011-11.
16709         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
16710         * m4/printf.m4: Update comments.
16711
16712 2012-01-08  Bruno Haible  <bruno@clisp.org>
16713
16714         mktime: Avoid compilation error on Solaris 11.
16715         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
16716
16717 2012-01-08  Bruno Haible  <bruno@clisp.org>
16718
16719         doc: Small fix.
16720         * doc/posix-headers/nl_types.texi: Correct platforms list.
16721
16722 2012-01-08  Simon Josefsson  <simon@josefsson.org>
16723
16724         Add lgpl-3.0 module.
16725         * MODULES.html.sh (Support for building documentation): Add
16726         lgpl-3.0.
16727         * modules/lgpl-3.0: New file.
16728
16729 2012-01-08  Jim Meyering  <meyering@redhat.com>
16730
16731         select.c: indent with spaces, not TABs
16732         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
16733
16734 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
16735
16736         quotearg: do not use grave accent for left quote
16737         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
16738         locale_quoting_style.
16739         (quotearg_buffer_restyled): Fix example.
16740         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
16741
16742 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
16743
16744         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
16745         Most programs do not have translation catalogs for English and much
16746         less separate catalogs for British and American English.  Drop the
16747         suggestion to translators about these two, and provide it
16748         automatically for Unicode locales.  Like most programs, even those
16749         using American English, we use single quotation marks.  This conflicts
16750         with the American typographic convention, but works better when you
16751         cite the entire error message within double quotes.  It also tries not
16752         to clash with established practice and with what non-gnulib programs
16753         will usually do.
16754         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
16755         using an UTF-8 or GB-18030 locale.  The list of other locales with
16756         quotes was provided by Bruno Haible.
16757         (quotearg_buffer_restyled): Adjust instructions to translators.
16758         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
16759         text, since this would be wrong when using Unicode.
16760         * modules/quotearg: Depend on c-strcaseeq.
16761
16762 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
16763
16764         quotearg: fix Wikipedia link
16765         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
16766
16767 2012-01-07  Simon Josefsson  <simon@josefsson.org>
16768
16769         Fix for mingw with MSVC9.
16770         * m4/ld-version-script.m4: Check that compiler rejects version
16771         scripts with syntax errors.  Reported by Bruno Haible
16772         <bruno@clisp.org>.
16773
16774 2012-01-06  Bruno Haible  <bruno@clisp.org>
16775
16776         Talk about "native Windows API", not "Woe32".
16777         * lib/accept4.c: Update comments to mention native Windows.
16778         * lib/execute.c: Likewise.
16779         * lib/fatal-signal.c: Likewise.
16780         * lib/localcharset.c: Likewise.
16781         * lib/nanosleep.c: Likewise.
16782         * lib/nl_langinfo.c: Likewise.
16783         * lib/pclose.c: Likewise.
16784         * lib/pipe-filter-gi.c: Likewise.
16785         * lib/pipe-filter-ii.c: Likewise.
16786         * lib/pipe.c: Likewise.
16787         * lib/pipe2.c: Likewise.
16788         * lib/popen.c: Likewise.
16789         * lib/progreloc.c: Likewise.
16790         * lib/relocatable.c: Likewise.
16791         * lib/sigaction.c: Likewise.
16792         * lib/sigprocmask.c: Likewise.
16793         * lib/spawn-pipe.h: Likewise.
16794         * lib/spawn-pipe.c: Likewise.
16795         * lib/spawni.c: Likewise.
16796         * lib/stat-time.h: Likewise.
16797         * lib/w32spawn.h: Likewise.
16798         * tests/test-isatty.c: Likewise.
16799         * lib/config.charset: More comments.
16800         * doc/gnulib-intro.texi: Mention native Windows.
16801         * doc/posix-functions/_Exit_C99.texi: Likewise.
16802         * doc/posix-headers/fcntl.texi: Likewise.
16803
16804 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
16805
16806         argp: Avoid crash if translator uses % characters in a translation.
16807         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
16808         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
16809
16810 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
16811
16812         doc: C11 and C++11 are now official
16813         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
16814         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
16815         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
16816         * modules/stdalign:
16817         Replace references to draft C1X to C11, and to draft C++0X to C++11.
16818
16819 2012-01-06  Bruno Haible  <bruno@clisp.org>
16820
16821         uc-is-grapheme-break tests: Tweak.
16822         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
16823         message.
16824
16825 2012-01-06  Bruno Haible  <bruno@clisp.org>
16826
16827         test-init.sh: correct the test for diff -u
16828         * tests/test-init.sh: Also redirect stdout to /dev/null.
16829
16830 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
16831
16832         Use ', not `, for quoting output.
16833         * build-aux/announce-gen (usage, sizes, print_news_deltas)
16834         (print_changelog_deltas, get_tool_versions, main program):
16835         * build-aux/git-version-gen:
16836         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
16837         * build-aux/move-if-change (help):
16838         * build-aux/useless-if-before-free (usage, main program):
16839         * check-module (parse_module_file, usage)
16840         (find_included_lib_files, check_module):
16841         * lib/argmatch.c (main) [TEST]:
16842         * lib/argp-help.c (_help):
16843         * lib/getopt1.c (main) [TEST]:
16844         * lib/git-merge-changelog.c (usage):
16845         * lib/xstrtol-error.c (xstrtol_error):
16846         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
16847         * m4/argz.m4 (gl_FUNC_ARGZ):
16848         * m4/bison.m4 (gl_BISON):
16849         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
16850         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
16851         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
16852         * m4/fpending.m4 (gl_PREREQ_FPENDING):
16853         * m4/gc-random.m4 (gl_GC_RANDOM):
16854         * m4/intl.m4 (gt_CHECK_DECL):
16855         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
16856         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
16857         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
16858         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
16859         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
16860         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
16861         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
16862         * tests/test-dirname.c (main):
16863         * tests/test-getpass.c (main):
16864         * tests/test-iconvme.c (main):
16865         * tests/test-parse-datetime.c (LOG):
16866         * tests/test-xstrtoimax.sh:
16867         * tests/test-xstrtol.sh:
16868         * tests/test-xstrtoll.sh:
16869         * tests/test-xstrtoumax.sh:
16870         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
16871         * top/GNUmakefile (abort-due-to-no-makefile):
16872         Quote 'like this', not `like this', as per the recent change to
16873         the GNU coding standards.
16874
16875 2012-01-05  Bruno Haible  <bruno@clisp.org>
16876
16877         strtoimax: Don't force a replacement on systems where intmax_t is int.
16878         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
16879         'intmax_t' is not larger than 'int'.
16880         Reported by Pádraig Brady <P@draigBrady.com>.
16881
16882 2012-01-05  Bruno Haible  <bruno@clisp.org>
16883
16884         doc: Mention NetBSD bugs.
16885         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
16886         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
16887
16888 2012-01-05  Bruno Haible  <bruno@clisp.org>
16889
16890         strtoumax tests: Enhance tests.
16891         * tests/test-strtoumax.c (main): Add tests for large values.
16892
16893 2012-01-05  Bruno Haible  <bruno@clisp.org>
16894
16895         strtoimax: Work around AIX 5.1 bug.
16896         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
16897         definition.
16898         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
16899         Set HAVE_STRTOIMAX.
16900         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
16901         REPLACE_STRTOIMAX.
16902         * modules/inttypes-incomplete (Makefile.am): Substitute
16903         REPLACE_STRTOIMAX.
16904         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
16905         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
16906         (Depends-on): Update conditions.
16907         * tests/test-strtoimax.c (main): Add tests for large values.
16908         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
16909
16910 2012-01-05  Bruno Haible  <bruno@clisp.org>
16911
16912         inttypes: Modernize.
16913         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
16914         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
16915         (Makefile.am): Update inttypes.h rule.
16916
16917 2012-01-05  Jim Meyering  <meyering@redhat.com>
16918
16919         init.sh: don't waste a subshell just to redirect stderr
16920         * tests/init.sh: In testing for diff -u and diff -c, use a
16921         stderr-redirecting exec inside `...` rather than a subshell.
16922
16923         test-init.sh: avoid failure on HP-UX 11.00
16924         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
16925         resolves to diff -c or cmp.  Reported by Bruno Haible.
16926
16927 2012-01-05  Bruno Haible  <bruno@clisp.org>
16928
16929         Tests for module 'strtoull'.
16930         * modules/strtoull-tests: New file.
16931         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
16932
16933 2012-01-05  Bruno Haible  <bruno@clisp.org>
16934
16935         Tests for module 'strtoll'.
16936         * modules/strtoll-tests: New file.
16937         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
16938
16939 2012-01-05  Bruno Haible  <bruno@clisp.org>
16940
16941         Tests for module 'strtoul'.
16942         * modules/strtoul-tests: New file.
16943         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
16944
16945 2012-01-05  Bruno Haible  <bruno@clisp.org>
16946
16947         Tests for module 'strtol'.
16948         * modules/strtol-tests: New file.
16949         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
16950
16951 2012-01-04  Jim Meyering  <meyering@redhat.com>
16952
16953         test-init.sh: accommodate Solaris 5.10's different diff -u output
16954         * tests/test-init.sh: Also exempt @@ lines from the comparison
16955         of diff output, since Solaris 5.10 and GNU diff formats differ.
16956         Reported by Stefano Lattarini.
16957
16958 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16959
16960         test-posixtm: don't assume signed integer wraparound
16961         * tests/test-posixtm.c (main): Don't assume wraparound semantics
16962         after signed integer overflow.  Inspired by (though it may not
16963         fix) Bruno Haible's bug report in
16964         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
16965
16966         Spell out "Windows 9x" and "Windows XP".
16967         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
16968         "Windows 9x" and "WinXP" with "Windows XP".
16969
16970 2012-01-04  Jim Meyering  <meyering@redhat.com>
16971
16972         test-vc-list-files-cvs.sh: remove obsolete comment
16973         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
16974         double exit.  Now that's all encapsulated via skip_ and Exit.
16975
16976 2012-01-04  Bruno Haible  <bruno@clisp.org>
16977
16978         Talk about "native Windows API", not "Win32".
16979         * lib/classpath.c: Update comments to mention native Windows.
16980         * lib/csharpexec.c: Likewise.
16981         * lib/dup2.c: Likewise.
16982         * lib/error.c: Likewise.
16983         * lib/fcntl.c: Likewise.
16984         * lib/filename.h: Likewise.
16985         * lib/findprog.c: Likewise.
16986         * lib/get-rusage-as.c: Likewise.
16987         * lib/get-rusage-data.c: Likewise.
16988         * lib/getpagesize.c: Likewise.
16989         * lib/javaexec.c: Likewise.
16990         * lib/msvc-inval.c: Likewise.
16991         * lib/msvc-nothrow.c: Likewise.
16992         * lib/nanosleep.c: Likewise.
16993         * lib/nonblocking.c: Likewise.
16994         * lib/printf-parse.c: Likewise.
16995         * lib/setlocale.c: Likewise.
16996         * lib/sigaction.c: Likewise.
16997         * lib/strerror_r.c: Likewise.
16998         * lib/tmpdir.c: Likewise.
16999         * lib/vasnprintf.c: Likewise.
17000         * lib/w32spawn.h: Likewise.
17001         * lib/waitpid.c: Likewise.
17002         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
17003         * m4/locale-ar.m4: Likewise.
17004         * m4/locale-fr.m4: Likewise.
17005         * m4/locale-ja.m4: Likewise.
17006         * m4/locale-tr.m4: Likewise.
17007         * m4/locale-zh.m4: Likewise.
17008         * m4/printf.m4: Likewise.
17009         * tests/test-cloexec.c: Likewise.
17010         * tests/test-copy-acl.sh: Likewise.
17011         * tests/test-copy-file.sh: Likewise.
17012         * tests/test-file-has-acl.sh: Likewise.
17013         * tests/test-set-mode-acl.sh: Likewise.
17014         * tests/test-dup-safer.c: Likewise.
17015         * tests/test-dup2.c: Likewise.
17016         * tests/test-dup3.c: Likewise.
17017         * tests/test-fcntl.c: Likewise.
17018         * tests/test-nonblocking-pipe.h: Likewise.
17019         * tests/test-nonblocking-socket.h: Likewise.
17020         * tests/test-pipe.c: Likewise.
17021         * tests/test-pipe2.c: Likewise.
17022         * tests/test-spawn-pipe-child.c: Likewise.
17023         * doc/acl-resources.txt: Likewise.
17024         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
17025         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
17026         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
17027         * lib/localcharset.c: Update comments to mention native Windows.
17028         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
17029         * lib/localename.c: Likewise.
17030         * lib/progreloc.c: Likewise.
17031         * lib/relocatable.c: Likewise.
17032         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
17033         (windows_compute_revents): Renamed from win32_compute_revents.
17034         (windows_compute_revents_socket): Renamed from
17035         win32_compute_revents_socket.
17036         * lib/select.c: Update comments to mention native Windows.
17037         (windows_poll_handle): Renamed from win32_poll_handle.
17038         * m4/threadlib.m4: Update comments to mention native Windows.
17039         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
17040         --enable-threads=windows instead of --enable-threads=win32. Set
17041         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
17042         * lib/glthread/lock.h: Update comments to mention native Windows.
17043         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
17044         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
17045         USE_WIN32_THREADS.
17046         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
17047         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
17048         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
17049         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
17050         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
17051         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
17052         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
17053         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
17054         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
17055         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
17056         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
17057         * tests/test-tls.c: Likewise.
17058         Rationale:
17059         Microsoft renamed the "Win32 API" to "Windows API", as it is available
17060         on both 32-bit and 64-bit Windows systems.
17061         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
17062         line of distinction is between "native Windows" on one side and Unix/
17063         POSIX systems on the other side. More details in
17064         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
17065         Suggested by Paul Eggert.
17066
17067 2012-01-03  Bruno Haible  <bruno@clisp.org>
17068
17069         isatty: Support for MSVC 9.
17070         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
17071         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
17072         (_isatty_nothrow): New function.
17073         (isatty): Use it instead of _isatty.
17074         (IsConsoleHandle): Add comment, from Paolo Bonzini.
17075         * lib/poll.c (IsConsoleHandle): Likewise.
17076         * lib/select.c (IsConsoleHandle): Likewise.
17077         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
17078         (gl_PREREQ_ISATTY): New macro.
17079         * modules/isatty (Depends-on): Add msvc-inval.
17080         (configure.ac): Invoke gl_PREREQ_ISATTY.
17081
17082 2012-01-03  Jim Meyering  <meyering@redhat.com>
17083
17084         maint.mk: remove temporary transition aid from over 1.5 years ago
17085         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
17086         purpose was to aid in the transition (avoiding silent malfunction)
17087         from that old name to the new _sc_search_regexp.  This shim was
17088         added by commit 219c504b.
17089
17090         init.sh: do not try to accommodate compare arguments starting with "-"
17091         * tests/init.sh (compare_dev_null_): Do not try to accommodate
17092         compare arguments that start with "-".  Besides, we do not worry
17093         about this when invoking diff or cmp; why start now with sed?
17094         Using "--" to separate options from argument would trigger sed
17095         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
17096         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
17097
17098 2012-01-02  Bruno Haible  <bruno@clisp.org>
17099
17100         Enhance tests for module 'isatty'.
17101         * modules/isatty-tests (Depends-on): Add pipe-posix.
17102         * tests/test-isatty.c: Include <fcntl.h>.
17103         (DEV_NULL): New macro.
17104         (main): Test the resut of isatty() also on regular files, pipes, and
17105         /dev/null.
17106
17107         New module 'isatty'.
17108         * lib/unistd.in.h (isatty): New declaration.
17109         * lib/isatty.c: New file, based on an idea of
17110         Bastien Roucariès <roucaries.bastien@gmail.com>.
17111         * m4/isatty.m4: New file.
17112         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
17113         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
17114         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
17115         REPLACE_ISATTY.
17116         * modules/isatty: New file.
17117         * doc/posix-functions/isatty.texi: Mention the new module.
17118         Suggested by Paolo Bonzini.
17119
17120 2012-01-02  Bruno Haible  <bruno@clisp.org>
17121
17122         canonicalize: Tweak 2011-12-29 commit.
17123         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
17124         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
17125
17126 2012-01-02  Jim Meyering  <meyering@redhat.com>
17127
17128         gitlog-to-changelog: describe input syntax in --help output
17129         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
17130
17131         gitlog-to-changelog: fix typo in --help: show backslash before email @
17132         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
17133         in sources, but not in actual output.
17134
17135 2011-12-30  Jim Meyering  <meyering@redhat.com>
17136
17137         gitlog-to-changelog: don't malfunction when name contains %-directive
17138         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
17139         in a name string cause trouble.  E.g., with a user name of "%s",
17140         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
17141
17142 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
17143
17144         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
17145         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
17146         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
17147         the "  (tiny change)" notation that is appended to the standard
17148         ChangeLog "date  name  email" header line.
17149
17150 2012-01-01  Jim Meyering  <meyering@redhat.com>
17151
17152         test-framework-sh: init.sh: fix "make dist" failure
17153         When using gnulib-tool's --with-tests option and any module that
17154         depends on test-framework-sh, "make dist" would fail due to the
17155         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
17156         in the gltests directory, and not in the gllib/ directory.
17157         One way to work around that is to move the EXTRA_DIST += init.sh
17158         from the primary module to the -tests one:
17159         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
17160         * modules/test-framework-sh (Makefile.am): ...not here.
17161         Reported by Tom G. Christensen in
17162         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
17163
17164         version-etc: update copyright year reported by --version
17165         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
17166
17167 2011-12-31  Pádraig Brady  <P@draigBrady.com>
17168
17169         canonicalize: only stat() if required
17170         * lib/canonicalize.c (canonicalize_filename_mode):
17171         Avoid calling l?stat() when both CAN_MISSING,
17172         and CAN_NOLINKS are set, as we neither need
17173         to resolve symlinks or test component existence.
17174
17175 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
17176
17177         doc: cover st_ino issues once; add OpenVMS etc.
17178         * doc/posix-functions/stat.texi (stat):
17179         * doc/posix-functions/lstat.texi (lstat):
17180         * doc/posix-functions/fstatat.texi (fstatat):
17181         * doc/posix-functions/fstat.texi (fstat):
17182         Move general 'struct stat' stuff to sys_stat.texi,
17183         leaving behind a pointer.
17184         * doc/posix-headers/sys_stat.texi (sys/stat.h):
17185         Merge duplicate info about 'struct stat' problems into here.
17186         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
17187         and suggest partial workarounds.
17188
17189         same-inode: port to OpenVMS
17190         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
17191         three st_ino values.
17192
17193 2011-12-30  Pádraig Brady  <P@draigBrady.com>
17194
17195         canonicalize: fix references to stat() and lstat()
17196         * lib/canonicalize.c (canonicalize_filename_mode):
17197         Ensure references always resolve to a replacement
17198         function if required (even via a macro).
17199
17200 2011-12-30  Jim Meyering  <meyering@redhat.com>
17201
17202         gitlog-to-changelog: remove a little duplication
17203         * build-aux/gitlog-to-changelog (main): Grep @lines once,
17204         rather than twice.
17205
17206 2011-12-29  Pádraig Brady  <P@draigBrady.com>
17207
17208         canonicalize: add support for not resolving symlinks
17209         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
17210         indicate we don't want to follow symlinks.  Also
17211         provide CAN_MODE_MASK to aid setting these existing
17212         mutually exclusive values.
17213         * lib/canonicalize.c (canonicalize_filename_mode):
17214         Extract the flags from can_mode parameter, which
17215         are currently just used to select between stat()
17216         and lstat().  Also ensure that mutually exclusive
17217         values are flagged immediately as invalid.
17218         * tests/test-canonicalize.c: Verify symlinks are
17219         not followed, and that invalid flag combinations
17220         are diagnosed.
17221
17222 2011-12-25  Jim Meyering  <meyering@redhat.com>
17223
17224         gitlog-to-changelog: do not clump multi-paragraph entries
17225         Identical header lines (date,name,email+coauthors) are suppressed,
17226         thus putting all entries with those same characteristics under
17227         a single header.  However, when a log entry consists of two or
17228         more paragraphs, it may not be clear where it starts and ends.
17229         This change makes it so that such an entry is always separated
17230         from others by a header line, even when that header would
17231         otherwise be suppressed.
17232         * build-aux/gitlog-to-changelog: Implement the above.
17233         Inspired by a related request from Stefano Lattarini in
17234         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
17235
17236 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
17237
17238         announce-gen: fix `cmd' typo in diagnostic
17239         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
17240         diagnostic: a missing '$' meant that the command was not output.
17241
17242 2011-12-23  Jim Meyering  <meyering@redhat.com>
17243
17244         test-framework-sh: distribute init.sh
17245         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
17246         Otherwise, "make -C gnulib-tests check" (at least in grep) would
17247         fail due to the lack of init.sh.
17248
17249         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
17250         * modules/atexit-tests: Rather than listing tests/init.sh,
17251         now that there's a module for it, simply depend on that new module.
17252         * modules/closein-tests: Likewise.
17253         * modules/exclude-tests: Likewise.
17254         * modules/getcwd-tests: Likewise.
17255         * modules/perror-tests: Likewise.
17256         * modules/pread-tests: Likewise.
17257         * modules/pwrite-tests: Likewise.
17258         * modules/vc-list-files-tests: Likewise.
17259         * modules/verify-tests: Likewise.
17260         * modules/xalloc-die-tests: Likewise.
17261         * modules/xstrtoimax-tests: Likewise.
17262         * modules/xstrtol-tests: Likewise.
17263         * modules/xstrtoll-tests: Likewise.
17264         * modules/xstrtoumax-tests: Likewise.
17265         * modules/yesno-tests: Likewise.
17266
17267 2011-12-22  Jim Meyering  <meyering@redhat.com>
17268
17269         test-framework-sh: add minimal tests of init.sh's compare function
17270         * modules/test-framework-sh-tests: New file.
17271         * tests/test-init.sh: New file.
17272
17273         test-framework-sh: new module
17274         * modules/test-framework-sh: New file.
17275         * MODULES.html.sh (Support for maintaining and releasing projects):
17276         List it.
17277
17278         init.sh: do not emit simulated diff output to stderr
17279         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
17280
17281 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
17282
17283         .gitignore: ignore gnulib.dvi and regex.info
17284         * doc/.gitignore:add gnulib.dvi and regex.info
17285
17286 2011-12-22  Jim Meyering  <meyering@redhat.com>
17287
17288         init.sh: correct previous change
17289         * tests/init.sh (compare): My previous change was wrong.
17290         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
17291
17292         init.sh: avoid unwarranted test failure when using "set -e"
17293         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
17294         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
17295         a use like "compare exp out" would get evoke an unconditional failure.
17296
17297 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
17298
17299         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
17300         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
17301         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
17302         autoreconf that did not.
17303         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
17304         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
17305
17306 2011-12-17  Jim Meyering  <meyering@redhat.com>
17307
17308         bootstrap: remove some now-unneeded code
17309         This script arose back when gnulib-tool was young.
17310         Since then, it has seen improvements that render much of this
17311         script unnecessary.  In particular, it can now make symlinks
17312         to the files it uses.  Also, I no longer see as much value in
17313         marking files as read-only via comments.
17314         If you relied on the symlink-creation feature of the preceding
17315         version of this script, you can get most of that functionality
17316         by adding the --symlink option to the definition of
17317         gnulib_tool_option_extras in your bootstrap.conf file.
17318         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
17319         Run autopoint and libtoolize *before* gnulib-tool.
17320         After it, run an abbreviated autoreconf, rather than a loop around
17321         all tools.
17322         (slirp, bt_mark_as_generated): Remove functions.
17323
17324 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
17325
17326         ftoastr: fix typo
17327         * lib/ftoastr.h: Fix misspelling in comment.
17328
17329 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
17330
17331         * top/README-release: fix punctuation.
17332
17333 2011-12-17  Jim Meyering  <meyering@redhat.com>
17334
17335         bootstrap: correct the recent buildreq change
17336         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
17337         had no effect.
17338         * build-aux/bootstrap (buildreq): Bracket each search term with
17339         "*...*", so that the shell "case" statement works as intended.
17340         Add comments.
17341
17342 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
17343
17344         build: let bootstrap resort to wget when downloading .po files
17345         * build-aux/bootstrap (download_po_files): Fallback to wget when
17346         downloading the .po files via rsync fails.  This is necessary to
17347         bootstrap from behind a strict firewall.
17348
17349 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
17350
17351         stdint: don't assume C++11 when compiling with g++
17352         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
17353         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
17354         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
17355         work also in C++ before C++11, as that improperly inhibits
17356         generating a substitute stdint.h for that case.
17357
17358 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
17359
17360         alloca: protect comment from gnulib-tool
17361         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
17362         that gnulib-tool doesn't think it's a license, and munge it to
17363         say "GCC version 3".
17364
17365 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
17366
17367         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
17368         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
17369         $(abs_top_builddir) instead of $(top_builddir).
17370
17371 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
17372
17373         strftime-tests: also test nanoseconds
17374         * tests/test-strftime.c (T): Add a test of %N.
17375
17376 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
17377
17378         inttypes, stdint: add C++11 support
17379         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
17380         when including inttypes.h and stdint.h.  Support this change to
17381         the standard.
17382         * doc/posix-headers/inttypes.texi (inttypes.h):
17383         * doc/posix-headers/stdint.texi (stdint.h): Document this.
17384         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
17385         Define if not defined already, for the benefit of pre-C++11 hosts.
17386         Define the standard format macros (e.g., PRId8) always.
17387         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
17388         Likewise, if __cpluspus.  Define the standard constant and limit
17389         macros (e.g., INT8_C, INT8_MAX) always.
17390         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
17391         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
17392         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
17393         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
17394         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
17395         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
17396         Likewise.
17397
17398 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
17399
17400         nonblocking tests: Fix test failure on Linux/PPC.
17401         Suggested by Prerna Saxena in
17402         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
17403         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
17404         Set to 1100000.
17405
17406 2011-12-12  Jim Meyering  <meyering@redhat.com>
17407
17408         argmatch: don't hard-code `' when listing valid option arguments
17409         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
17410         use the quote function to add quotes.  Use fputs rather than
17411         fprintf for the format string with no format directive.
17412
17413 2011-12-07  Eric Blake  <eblake@redhat.com>
17414
17415         bootstrap: detect tools required by gnulib-tool
17416         * build-aux/bootstrap (buildreq): Provide minimum implicit
17417         dependencies.
17418         * DEPENDENCIES: Mention patch as a prereq.
17419
17420 2011-12-04  Bruno Haible  <bruno@clisp.org>
17421
17422         sethostname: Port to Windows platforms.
17423         * lib/sethostname.c: Provide an alternate implementation for Windows
17424         platforms.
17425         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
17426         (main): Skip the test if sethostname() fails with EPERM. On Windows
17427         platforms, don't check the result of gethostname().
17428
17429 2011-12-04  Bruno Haible  <bruno@clisp.org>
17430             Jim Meyering  <meyering@redhat.com>
17431
17432         tests: Avoid spurious error message on platforms without mktemp program.
17433         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
17434
17435 2011-12-04  Bruno Haible  <bruno@clisp.org>
17436
17437         sethostname: Fix documentation.
17438         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
17439         "not fixed" section.
17440
17441 2011-12-03  Bruno Haible  <bruno@clisp.org>
17442
17443         gnulib-tool: Verify that the License field is present and non-empty.
17444         * gnulib-tool (func_get_license_raw): New function, extracted from
17445         func_get_license.
17446         (func_get_license): Use it. Warn if the module is not a test module and
17447         has no license.
17448         Suggested by Jim Meyering.
17449
17450 2011-12-03  Bruno Haible  <bruno@clisp.org>
17451
17452         sethostname tests: Fix link error on mingw.
17453         * tests/test-sethostname1.c: New file, extracted from
17454         tests/test-sethostname.c.
17455         * tests/test-sethostname2.c: New file, extracted from
17456         tests/test-sethostname.c.
17457         * tests/test-sethostname.c: Remove file.
17458         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
17459         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
17460         (Depends-on): Add gethostname.
17461         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
17462         Link the latter with $(GETHOSTNAME_LIB).
17463
17464         sethostname tests: Fix compilation error on mingw.
17465         * tests/test-sethostname.c: Don't include <sys/types.h>.
17466         (geteuid): Use a dummy value without uid_t.
17467         * modules/sethostname-tests (Depends-on): Remove sys_types.
17468
17469         sethostname tests: Avoid a gcc warning.
17470         * tests/test-sethostname.c (main): Remove an unused variable.
17471
17472         Tweak last commit.
17473         * modules/sethostname-tests (Files): Sort by decreasing importance.
17474         (configure.ac): Check for geteuid.
17475         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
17476         the test when there's nothing to test. Drop an unnecessary cast.
17477         Improve an error message. Verify that the final sethostname() call
17478         succeeds.
17479
17480 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
17481
17482         Add a test suite for the sethostname module.
17483         * modules/sethostname-tests: New file.  A test program
17484         for the sethostname module.
17485         * tests/test-sethostname.c: Likewise.
17486
17487 2011-12-03  Bruno Haible  <bruno@clisp.org>
17488
17489         Tweak last commit.
17490         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
17491         Fix preprocessor directives indentation. Fix typos.
17492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
17493         * modules/unistd (Makefile): Likewise.
17494
17495 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
17496
17497         Integrate the sethostname module into unistd.
17498         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
17499         into the unistd.h header.
17500         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
17501         preprocessor directives.
17502         * modules/unistd: Setup the Makefile substitutions of the
17503         SETHOSTNAME preprocessor directives.
17504
17505 2011-12-03  Bruno Haible  <bruno@clisp.org>
17506
17507         Tweak last commit.
17508         * lib/sethostname.c: Don't include <string.h>.
17509         (sethostname): No need to copy the argument string to the stack. Don't
17510         call clearerr. Preserve errno when fprintf failed.
17511         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
17512         Don't invoke AC_REPLACE_FUNCS.
17513         * modules/sethostname (Link): Remove empty section.
17514         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
17515         failure problem.
17516
17517 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
17518
17519         New module 'sethostname'.
17520         * lib/sethostname.c (sethostname): New file.  Provide sethostname
17521         for systems that lack it.
17522         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
17523         sethostname declaration and function.
17524         * modules/sethostname: New file.  Define the sethostname module.
17525
17526 2011-12-03  Bruno Haible  <bruno@clisp.org>
17527
17528         Tweak last commit.
17529         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
17530
17531 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
17532
17533         Split the HOST_NAME_MAX detection into a separate m4 macro.
17534         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
17535         macro so it can be used by the pending sethostname module.
17536
17537 2011-12-03  Bruno Haible  <bruno@clisp.org>
17538
17539         Fix module descriptions syntax.
17540         * modules/argv-iter (License): Fix syntax.
17541         * modules/di-set (License): Likewise.
17542         * modules/ino-map (License): Likewise.
17543         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
17544
17545 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
17546
17547         stdalign: port to Clang 3.0
17548         Problem reported by Simon Josefsson in
17549         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
17550         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
17551         which has <stdalign.h> but which does not define alignof.
17552         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
17553
17554 2011-12-01  Eric Blake  <eblake@redhat.com>
17555
17556         mktempd: silence dd usage
17557         * build-aux/mktempd (rand_bytes): Silence dd.
17558
17559 2011-11-30  Simon Josefsson  <simon@josefsson.org>
17560
17561         manywarnings: Don't mention gcc version in docstring.
17562         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
17563         Jim Meyering <meyering@redhat.com>.
17564
17565 2011-11-30  Jim Meyering  <meyering@redhat.com>
17566
17567         hash: mark a few floating point constants with "f" suffix
17568         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
17569         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
17570         floating point constants with "f", since they're destined to be
17571         saved/used as "float"s.
17572
17573 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
17574
17575         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
17576         * tests/test-float.c (test_long_double): Correct and re-enable the
17577         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
17578
17579 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
17580
17581         Avoid subtracting two pointers that don't point into the same block.
17582         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
17583         only pointers into the same memory block are subtracted. We cannot
17584         assume that sizeof (ptrdiff_t) == sizeof (void *).
17585
17586 2011-11-29  Eric Blake  <eblake@redhat.com>
17587
17588         maint.mk: add syntax check for use of compare from init.sh
17589         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
17590         moved here from coreutils.
17591
17592         manywarnings: drop -Wunsuffixed-float-constants
17593         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
17594         '1.0D', which is the only way to silence this warning for 'double'.
17595
17596 2011-11-29  Jim Meyering  <meyering@redhat.com>
17597
17598         hash: mark compute_bucket_size with the pure attribute
17599         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
17600
17601         quotearg, propername: correct pragma guard expression
17602         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
17603         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
17604
17605 2011-11-28  Jim Meyering  <meyering@redhat.com>
17606
17607         propername: do not mark proper_name with the const attribute
17608         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
17609         since it examines data pointed to by its parameter.
17610         * lib/propername.c (proper_name): Instead, add a pragma to suppress
17611         the suggestion from -Wsuggest-attribute=const.
17612
17613         propername: mark one more function as const
17614         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
17615
17616 2011-11-27  Jim Meyering  <meyering@redhat.com>
17617
17618         mark functions with const and pure attributes
17619
17620         Mark functions per suggestions from gcc-4.6 when using these options:
17621         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
17622         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
17623         Follow these guidelines: when possible, apply the attribute to
17624         an extern declaration, not to its definition.  Apply it to the
17625         definition only when the definition is static.
17626         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
17627         * lib/argv-iter.h (argv_iter_n_args): Likewise.
17628         * lib/base64.h (isbase64): Likewise.
17629         * lib/basename-lgpl.c (last_component, base_len): Likewise.
17630         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
17631         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
17632         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
17633         (c_tolower, c_toupper): Likewise.
17634         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
17635         * lib/chdir-long.c (find_non_slash): Likewise.
17636         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
17637         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
17638         * lib/file-type.h (file_type): Likewise.
17639         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
17640         * lib/filevercmp.c (verrevcmp): Likewise.
17641         * lib/freadahead.h (freadahead): Likewise.
17642         * lib/fts.c (fts_maxarglen): Likewise.
17643         * lib/hash-pjw.h (hash_pjw): Likewise.
17644         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
17645         * lib/hash.c (is_prime, next_prime): Likewise.
17646         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
17647         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
17648         (hash_table_ok, hash_get_first, hash_string): Likewise.
17649         (compute_bucket_size): Likewise.
17650         * lib/i-ring.h (i_ring_empty): Likewise.
17651         * lib/isnan.c (isnanl): Likewise.
17652         * lib/math.h (isnanl, rpl_isnanl): Likewise.
17653         * lib/memcasecmp.h (memcasecmp): Likewise.
17654         * lib/memchr2.h (memchr2): Likewise.
17655         * lib/memcmp2.h (memcmp2): Likewise.
17656         * lib/parse-datetime.y (lookup_zone): Likewise.
17657         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
17658         [!WINDOWS_SOCKETS]: Likewise.
17659         * lib/strnlen1.h (strnlen1): Likewise.
17660         * lib/uniwidth.in.h (uc_width): Likewise.
17661         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
17662         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
17663         (quoting_options_from_style): Add a comment.
17664         * lib/propername.h (proper_name): Add a comment.
17665
17666 2011-11-27  Bruno Haible  <bruno@clisp.org>
17667
17668         Remove unused macros from !_LIBC code in glibc-borrowed files.
17669         * lib/fnmatch.c (STRCOLL): Remove macro.
17670         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
17671         * lib/glob.c (__stat, __readdir64): Remove macros.
17672         * lib/tempname.c (__open64, __xstat64): Remove macros.
17673         Suggested by Paul Eggert.
17674
17675 2011-11-27  Bruno Haible  <bruno@clisp.org>
17676
17677         getcwd: Fix link error on MSVC 9.
17678         * modules/getcwd (Depends-on): Add readdir, rewinddir.
17679
17680 2011-11-27  Bruno Haible  <bruno@clisp.org>
17681
17682         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
17683         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
17684         HAVE_OPENDIR is 0.
17685         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
17686         HAVE_CLOSEDIR is 0.
17687         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
17688         is 0.
17689         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
17690
17691 2011-11-27  Bruno Haible  <bruno@clisp.org>
17692
17693         getcwd: Fix bug from 2011-08-17.
17694         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
17695         platforms that need it.
17696         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
17697         code of 4 to be a failure, not a success. This ensures that
17698         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
17699
17700 2011-11-27  Bruno Haible  <bruno@clisp.org>
17701
17702         binary-io tests: Avoid test failure on mingw when libtool is used.
17703         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
17704         Don't verify the size of t-bin-out1.tmp here.
17705         * tests/test-binary-io.sh: Verify it here.
17706         Reported by Simon Josefsson.
17707
17708 2011-11-26  Bruno Haible  <bruno@clisp.org>
17709
17710         Fix conflict between two instantiations of module 'unistd'.
17711         * gnulib-tool (func_emit_autoconf_snippet): Substitute
17712         ${include_guard_prefix} also in the autoconf snippet.
17713         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
17714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
17715         GNULIB_UNISTD_H_GETOPT.
17716         * modules/getopt-posix (configure.ac): Set the
17717         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
17718         * modules/getopt-gnu (configure.ac): Likewise.
17719         * modules/unistd (Makefile.am): Change the substitution value of
17720         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
17721         Reported by Simon Josefsson.
17722
17723 2011-11-25  Bruno Haible  <bruno@clisp.org>
17724
17725         pagealign_alloc: Doc and comments.
17726         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
17727         module.
17728         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
17729
17730 2011-11-25  Jim Meyering  <meyering@redhat.com>
17731
17732         test-update-copyright.sh: avoid false-positive failure
17733         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
17734         around false positive failure on Cygwin/Windows.  The latter was
17735         matching erroneously-created files with names like
17736         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
17737
17738 2011-11-25  Simon Josefsson  <simon@josefsson.org>
17739
17740         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
17741         * m4/valgrind-tests.m4: Check that the parameters that will be
17742         used works, not just a subset of them.  Reported by Bruno Haible
17743         <bruno@clisp.org>.
17744
17745 2011-11-24  Jim Meyering  <meyering@redhat.com>
17746
17747         test-stdalign.c: comment out long double tests
17748         * tests/test-stdalign.c: Don't try to reduce alignment of long double
17749         variables.  That provokes errors like this from gcc-4.7.0 20111124:
17750         error: '_Alignas' specifiers cannot reduce alignment of \
17751         'static_longdouble_alignas'.
17752
17753 2011-11-22  Jim Meyering  <meyering@redhat.com>
17754
17755         init.sh: make "compare /dev/null FILE" output more readable
17756         * tests/init.sh (compare_): Document the preferred order of arguments.
17757         (emit_diff_u_header_): New function.
17758         (compare_dev_null_): Emit a simulated diff, rather than just the
17759         contents of the unexpected file.  Suggestion from Bruno Haible.
17760
17761 2011-11-21  Jim Meyering  <meyering@redhat.com>
17762             Eric Blake  <eblake@redhat.com>
17763
17764         init.sh: work around OSF/1 5.1's mishandling of /dev/null
17765         * tests/init.sh: Make our compare function slightly more portable.
17766         Reported by Bruno Haible in
17767         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
17768
17769 2011-11-21  Simon Josefsson  <simon@josefsson.org>
17770
17771         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
17772         before using it, in code that ends up in config.h.
17773
17774 2011-11-20  Bruno Haible  <bruno@clisp.org>
17775
17776         getcwd: Work around getcwd bug on AIX 5..7.
17777         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
17778         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
17779         Use a different value for gl_cv_func_getcwd_path_max. Move the
17780         definition of HAVE_PARTLY_WORKING_GETCWD from here...
17781         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
17782         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
17783         Define HAVE_MINIMALLY_WORKING_GETCWD.
17784         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
17785         where it is not even minimally working, that is, on AIX.
17786         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
17787         m4/getcwd-path-max.m4.
17788         (main): Update exit code computation.
17789         * doc/posix-functions/getcwd.texi: Mention list of platforms where
17790         getcwd does not handle long file names.
17791
17792 2011-11-20  Bruno Haible  <bruno@clisp.org>
17793
17794         getcwd: Fix bug from 2009-09-10.
17795         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
17796         like "no".
17797
17798 2011-11-20  Simon Josefsson  <simon@josefsson.org>
17799
17800         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
17801
17802 2011-11-20  Bruno Haible  <bruno@clisp.org>
17803
17804         fma tests: Avoid shadowing local variables.
17805         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
17806         expected.
17807
17808 2011-11-20  Bruno Haible  <bruno@clisp.org>
17809
17810         copysignf tests: Fix.
17811         * tests/test-copysignf.c: Fix signature check.
17812
17813 2011-11-20  Bruno Haible  <bruno@clisp.org>
17814
17815         fma: Remove unused code.
17816         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
17817         unused macros.
17818
17819 2011-11-20  Bruno Haible  <bruno@clisp.org>
17820
17821         sethostname: Fix doc about AIX.
17822         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
17823         sethostname; it has it.
17824
17825         sethostname: Mention more portability problems.
17826         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
17827         problem.
17828         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
17829
17830 2011-11-19  Bruno Haible  <bruno@clisp.org>
17831
17832         Depend on module fcntl-h when AT_FDCWD is used.
17833         * modules/utimens (Depends-on): Add fcntl-h.
17834         * modules/areadlinkat (Depends-on): Likewise.
17835         * modules/areadlinkat-with-size (Depends-on): Likewise.
17836         * modules/faccessat (Depends-on): Likewise.
17837         * modules/fchmodat (Depends-on): Likewise.
17838         * modules/fchownat (Depends-on): Likewise.
17839         * modules/getcwd (Depends-on): Likewise.
17840         * modules/mkdirat (Depends-on): Likewise.
17841         * modules/mkfifoat (Depends-on): Likewise.
17842         * modules/readlinkat (Depends-on): Likewise.
17843         * modules/symlinkat (Depends-on): Likewise.
17844         * modules/dup2-tests (Depends-on): Likewise.
17845         * modules/fdutimensat-tests (Depends-on): Likewise.
17846         * modules/futimens-tests (Depends-on): Likewise.
17847
17848 2011-11-19  Bruno Haible  <bruno@clisp.org>
17849
17850         euidaccess: Update a comment.
17851         * lib/euidaccess.c: Update comment about platforms with faccessat.
17852
17853 2011-11-19  Bruno Haible  <bruno@clisp.org>
17854
17855         openat: Fix file list.
17856         * modules/openat (Files): Remove lib/at-func.c.
17857
17858 2011-11-19  Bruno Haible  <bruno@clisp.org>
17859
17860         fstatat: Simplify.
17861         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
17862         gnulib should define rpl_fstatat, there is a
17863         "#define fstatat rpl_fstatat" in <sys/stat.h>.
17864
17865 2011-11-19  Bruno Haible  <bruno@clisp.org>
17866
17867         Ensure 'inline' can be used in tests/test-utimens-common.h.
17868         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
17869         * modules/futimens-tests (configure.ac): Likewise.
17870         * modules/utimens-tests (configure.ac): Likewise.
17871         * modules/utimensat-tests (configure.ac): Likewise.
17872
17873 2011-11-19  Simon Josefsson  <simon@josefsson.org>
17874
17875         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
17876         not hash_insert0.
17877         (hash_insert_if_absent): Doc fix.
17878
17879 2011-11-19  Simon Josefsson  <simon@josefsson.org>
17880
17881         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
17882
17883 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
17884
17885         test-getcwd: disambiguate exit status
17886         * tests/test-getcwd.c (test_long_name): Return 0..7.
17887         (main): Exit with an unambiguous exit status.  The old
17888         code yielded a mysterious mixture of two failure codes.
17889
17890         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
17891         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
17892         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
17893         rpl_fstatat or fstatat.  This should fix the other problem
17894         reported by Kai Habel in
17895         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
17896         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
17897         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
17898         and I reproduced it on a Solaris 8 host we still have in production.
17899
17900 2011-11-18  Jim Meyering  <meyering@redhat.com>
17901
17902         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
17903         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
17904         Add a sentence to the comment.
17905         (hash_insert0): New function that simply calls hash_insert_if_absent.
17906         * lib/hash.h (hash_insert_if_absent): Declare it.
17907         (hash_insert0): Add deprecation attribute.
17908         (_GL_ATTRIBUTE_DEPRECATED): Define.
17909         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
17910         not hash_insert0.
17911         * NEWS: Mention it, even though it's not really an incompatible change.
17912
17913 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
17914
17915         openat: avoid compilation failure due to lack of <errno.h> inclusion
17916         * lib/openat.c: Include <errno.h>.
17917
17918 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
17919
17920         * modules/getcwd (Depends-on): Add fdopendir.
17921         This fixes one of the two problems reported by Kai Habel in
17922         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
17923
17924         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
17925         stdalign problem reported by Ian Beckwith in
17926         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
17927         * modules/crypto/gc-arcfour (Depends-on):
17928         Depend conditionally on crypto/arcfour.
17929         * modules/crypto/gc-arctwo (Depends-on):
17930         Depend conditionally on crypto/arctwo.
17931         * modules/crypto/gc-des (Depends-on):
17932         Depend conditionally on crypto/des.
17933         * modules/crypto/gc-hmac-md5 (Depends-on):
17934         Depend conditionally on crypto/hmac-md5.
17935         * modules/crypto/gc-hmac-sha1 (Depends-on):
17936         Depend conditionally on crypto/hmac-sha1.
17937         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
17938         * modules/crypto/gc-md4 (Depends-on):
17939         Depend conditionally on crypto/md4.
17940         * modules/crypto/gc-md5 (Depends-on):
17941         Depend conditionally on crypto/md5.
17942         * modules/crypto/gc-rijndael (Depends-on):
17943         Depend conditionally on crypto/rijndael.
17944         * modules/crypto/gc-sha1 (Depends-on):
17945         Depend conditionally on crypto/sha1.
17946         * modules/crypto/gc-arcfour:
17947         * modules/crypto/gc-arctwo:
17948         * modules/crypto/gc-des:
17949         * modules/crypto/gc-hmac-md5:
17950         * modules/crypto/gc-hmac-sha1:
17951         * modules/crypto/gc-md2:
17952         * modules/crypto/gc-md4:
17953         * modules/crypto/gc-md5:
17954         * modules/crypto/gc-rijndael:
17955         * modules/crypto/gc-sha1:
17956         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
17957         now that the conditional dependencies do the work for us.
17958
17959 2011-11-17  Jim Meyering  <meyering@redhat.com>
17960
17961         tests: factor st_ctime-comparison out of two headers
17962         * tests/test-utimens-common.h (ctime_compare): Define.
17963         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
17964         * tests/test-lutimens.h (test_lutimens): Likewise.
17965         * tests/test-utimens.h (test_utimens): Likewise.
17966
17967         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
17968         Invoke the test program via an init.sh-using wrapper.
17969         * tests/test-getcwd.sh: New file.
17970         * modules/getcwd-tests (Files): Add it.
17971         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
17972
17973 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
17974
17975         gitlog-to-changelog: support multi-author commits.
17976         The FSF cares about keeping track of all authors of patches to its
17977         projects, but Git doesn't provide obvious support for multi-author
17978         changesets. Consensus seems to be forming around the use of extra
17979         Signed-off-by inspired lines in the log message formatted as
17980         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
17981         multi-author commits between version control systems.
17982         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
17983         log message and output in standard ChangeLog multi-author format.
17984         Reported by Peter Rosin <peda@lysator.liu.se>
17985
17986 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
17987             Bruno Haible  <bruno@clisp.org>
17988
17989         Fix some modules' file list.
17990         * modules/fstatat (Files): Add m4/lstat.m4.
17991         * modules/openat (Files): Likewise.
17992         * modules/unlinkat (Files): Likewise.
17993
17994 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
17995
17996         maint.mk: fix tight-scope.mk generation in VPATH builds.
17997         * top/maint.mk (tight-scope.mk): Make sure to prefix file
17998         reference with $(srcdir) so that the file is found correctly even
17999         when running `make syntax-check' in a VPATH build.
18000
18001 2011-11-13  Bruno Haible  <bruno@clisp.org>
18002             Jim Meyering  <meyering@redhat.com>
18003
18004         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
18005         * tests/init.sh (compare): Remove "No differences encountered" or
18006         synonymous output from the 'diff' program.
18007
18008 2011-11-13  Bruno Haible  <bruno@clisp.org>
18009
18010         Makefile: Tweak indentation.
18011         * Makefile: Use tab as first character in every line that contains rule
18012         commands.
18013
18014 2011-11-13  Bruno Haible  <bruno@clisp.org>
18015
18016         Syntax check for copyright statements.
18017         * check-copyright: New file.
18018         * Makefile (sc_check_copyright): New rule.
18019
18020 2011-11-13  Simon Josefsson  <simon@josefsson.org>
18021
18022         * build-aux/git-version-gen: Add --prefix to configure the tag
18023         match string.
18024
18025 2011-11-13  Simon Josefsson  <simon@josefsson.org>
18026
18027         * build-aux/git-version-gen: Add --help and --version.
18028
18029 2011-11-12  Jim Meyering  <meyering@redhat.com>
18030
18031         revamp the other test-exclude?.sh scripts to use init.sh, too
18032         * tests/test-exclude1.sh: Use init.sh.
18033         * tests/test-exclude2.sh: Likewise.
18034         * tests/test-exclude3.sh: Likewise.
18035         * tests/test-exclude4.sh: Likewise.
18036         * tests/test-exclude5.sh: Likewise.
18037         * tests/test-exclude6.sh: Likewise.
18038         * tests/test-exclude7.sh: Likewise.
18039         * tests/test-exclude8.sh: Likewise.
18040         * modules/exclude-tests (Files): List init.sh.
18041
18042         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
18043         These shell scripts ignored failure of the binary test-exclude,
18044         so making the latter return 77 didn't cause them to be skipped.
18045         * tests/test-exclude5.sh: Exit with test-exclude's error status
18046         when that program fails.  Revamp to use init.sh.
18047         * tests/test-exclude2.sh: Likewise.
18048
18049         test-exclude: fix a typo
18050         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
18051
18052 2011-11-11  Bruno Haible  <bruno@clisp.org>
18053
18054         obstack: Fix compilation error on MSVC 9.
18055         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
18056
18057 2011-11-11  Jim Meyering  <meyering@redhat.com>
18058
18059         test-exclude: skip tests rather than failing on deficient systems
18060         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
18061         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
18062         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
18063         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
18064
18065 2011-11-10  Bruno Haible  <bruno@clisp.org>
18066
18067         ptsname_r test: Avoid gcc warning on glibc systems.
18068         * tests/test-ptsname_r.c (null_ptr): New function.
18069         (test_errors): Use it.
18070
18071 2011-11-10  Bruno Haible  <bruno@clisp.org>
18072
18073         ptsname_r: Avoid compilation error on OSF/1 5.1.
18074         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
18075         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
18076         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
18077         function is not declared or incompatibly declared.
18078         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
18079         * modules/ptsname_r (Depends-on, configure.ac): Update.
18080         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
18081
18082 2011-11-10  Bruno Haible  <bruno@clisp.org>
18083
18084         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
18085         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
18086         When cross-compiling, guess yes on all platforms except AIX.
18087         Reported by Ludovic Courtès <ludo@gnu.org>.
18088
18089 2011-11-09  Bruno Haible  <bruno@clisp.org>
18090
18091         ptsname_r tests: Fix bugs.
18092         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
18093         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
18094
18095 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
18096
18097         fstatat: work with cross-compilation
18098         Problem reported by Ludovic Courtès in
18099         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
18100         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
18101         "cross-compiling" and assume the bug is present.  Replace
18102         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
18103         an inverted sense, to be more conservative about our assumptions.
18104         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
18105
18106 2011-11-09  Bruno Haible  <bruno@clisp.org>
18107
18108         Improve MODULES.html output.
18109         * modules/mkfifoat (Description): Use the word "function".
18110         * modules/readlinkat (Description): Likewise.
18111         * modules/symlinkat (Description): Likewise.
18112
18113 2011-11-09  Eric Blake  <eblake@redhat.com>
18114
18115         ptsname_r-tests: new test module
18116         * modules/ptsname_r-tests: New module.
18117         * tests/test-ptsname_r.c: New file.
18118
18119         ptsname_r: new module
18120         * modules/ptsname_r: New module.
18121         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
18122         * lib/ptsname.c (__ptsname_r): Split...
18123         * lib/ptsname_r.c: ...into new file.
18124         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
18125         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
18126         * modules/stdlib (Makefile.am): Substitute witnesses.
18127         * lib/stdlib.in.h (ptsname_r): Declare it.
18128         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
18129         * MODULES.html.sh (Misc): Likewise.
18130         * modules/ptsname (Depends-on): Alter dependency.
18131         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
18132
18133 2011-11-09  Jim Meyering  <meyering@redhat.com>
18134
18135         announce-gen: be more concise when there's only one URL+tarball
18136         * build-aux/announce-gen (get_tool_versions): When you distribute
18137         only one type of tarball, combine the first two "Here are..."
18138         sections and make the key-checking grammar independent of
18139         how many tarballs there are.
18140
18141 2011-11-09  Eric Blake  <eblake@redhat.com>
18142
18143         openpty: provide a stub on mingw
18144         * lib/pty.in.h (includes): Provide forward declarations.
18145         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
18146
18147         raise: fix mingw handling of SIGPIPE
18148         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
18149
18150 2011-11-08  Bruno Haible  <bruno@clisp.org>
18151
18152         More conditional dependencies.
18153         * modules/faccessat (Depends-on): Add conditions.
18154         * modules/fchmodat (Depends-on): Likewise.
18155         * modules/fchownat (Depends-on): Likewise.
18156         * modules/fstatat (Depends-on): Likewise.
18157         * modules/mkfifoat (Depends-on): Likewise.
18158         * modules/readlinkat (Depends-on): Likewise.
18159         * modules/symlinkat (Depends-on): Likewise.
18160         * modules/unlinkat (Depends-on): Likewise.
18161         * modules/utimensat (Depends-on): Likewise.
18162         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
18163         * modules/linkat (Depends-on): Refine the conditions.
18164         * modules/renameat (Depends-on): Likewise.
18165
18166 2011-11-08  Bruno Haible  <bruno@clisp.org>
18167
18168         faccessat: Move AC_LIBOBJ invocation to module description.
18169         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
18170         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
18171         invocation from here...
18172         * modules/faccessat (configure.ac): ... to here. Invoke
18173         gl_PREREQ_FACCESSAT.
18174
18175 2011-11-08  Bruno Haible  <bruno@clisp.org>
18176
18177         faccessat: Simplify autoconf macro.
18178         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
18179         gl_FUNC_EUIDACCESS.
18180
18181 2011-11-08  Bruno Haible  <bruno@clisp.org>
18182
18183         renameat: Fix dependencies.
18184         * modules/renameat (Depends-on): Add stdbool.
18185
18186 2011-11-08  Bruno Haible  <bruno@clisp.org>
18187
18188         mkfifoat: Fix module description.
18189         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
18190         not gl_UNISTD_MODULE_INDICATOR.
18191
18192 2011-11-08  Bruno Haible  <bruno@clisp.org>
18193
18194         fstatat: Remove unused dependency.
18195         * modules/fstatat (Depends-on): Remove fstat.
18196
18197 2011-11-08  Simon Josefsson  <simon@josefsson.org>
18198
18199         GNUmakefile: behave when Makefile is missing.
18200         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
18201
18202 2011-11-08  Bruno Haible  <bruno@clisp.org>
18203
18204         openat: Conditionalize dependencies.
18205         * lib/openat.c: Reduce the scope of some #includes.
18206         * modules/openat (Depends-on): Add conditions.
18207
18208 2011-11-07  Jim Meyering  <meyering@redhat.com>
18209
18210         maint.mk: extract GPG key ID without using a temporary file
18211         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
18212         without using a temporary file.  Based on a suggestion from Werner Koch
18213         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
18214
18215 2011-11-07  Eric Blake  <eblake@redhat.com>
18216
18217         grantpt: fix typo
18218         * lib/stdlib.in.h (grantpt): Check correct function.
18219
18220         maint.mk: silence new syntax check
18221         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
18222
18223 2011-11-06  Bruno Haible  <bruno@clisp.org>
18224
18225         Doc about floating-point and math API.
18226         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
18227         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
18228
18229 2011-11-06  Bruno Haible  <bruno@clisp.org>
18230
18231         stdalign tests: Skip the test when compiled by Sun C.
18232         * tests/test-stdalign.c (main): Skip the test on Sun C.
18233
18234 2011-11-06  Bruno Haible  <bruno@clisp.org>
18235
18236         ansi-c++-opt: Complete the 2011-06-05 change.
18237         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
18238         does not support namespaces, set the variable to "no", not to ":".
18239
18240 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
18241
18242         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
18243
18244 2011-11-06  Bruno Haible  <bruno@clisp.org>
18245
18246         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
18247         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
18248         (minus_zerol) [HP-UX]: New macro.
18249         (unary_minus) [HP-UX]: New function.
18250         (copysignl) [HP-UX]: Use unary_minus function.
18251
18252 2011-11-06  Bruno Haible  <bruno@clisp.org>
18253
18254         ldexp, ldexpf, ldexpl: Enhance tests.
18255         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
18256         and tests/test-ldexpl.c.
18257         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
18258         LDEXP, MIN_EXP, MAX_EXP): New macros.
18259         Include test-ldexp.h.
18260         (main): Just call test_function.
18261         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
18262         infinity.h, nan.h.
18263         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
18264         MAX_EXP): New macros.
18265         Include test-ldexp.h.
18266         (x, y): Remove variables.
18267         (main): Just call test_function.
18268         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
18269         infinity.h, nan.h.
18270         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
18271         MAX_EXP): New macros.
18272         Include test-ldexp.h.
18273         (x, y): Remove variables.
18274         (main): Just call test_function.
18275         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
18276         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
18277         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
18278         (Depends-on): Add isnand-nolibm, signbit, float.
18279         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
18280         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
18281         (Depends-on): Add isnanf-nolibm, signbit, float.
18282
18283 2011-11-06  Bruno Haible  <bruno@clisp.org>
18284
18285         math tests: Cosmetics.
18286         * tests/test-math-c++.cc: Reorder declarations.
18287
18288 2011-11-05  Bruno Haible  <bruno@clisp.org>
18289
18290         fma*: Simplify test.
18291         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
18292         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
18293
18294         Tests for module 'fmal'.
18295         * modules/fmal-tests: New file.
18296         * tests/test-fmal1.c: New file.
18297         * tests/test-fmal2.c: New file.
18298
18299         New module 'fmal'.
18300         * lib/math.in.h (fmal): New declaration.
18301         * lib/fmal.c: New file.
18302         * m4/fmal.m4: New file.
18303         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
18304         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
18305         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
18306         REPLACE_FMAL.
18307         * modules/fmal: New file.
18308         * doc/posix-functions/fmal.texi: Mention the new module and the various
18309         bugs.
18310
18311         Tests for module 'fmaf'.
18312         * modules/fmaf-tests: New file.
18313         * tests/test-fmaf1.c: New file.
18314         * tests/test-fmaf2.c: New file.
18315
18316         New module 'fmaf'.
18317         * lib/math.in.h (fmaf): New declaration.
18318         * lib/fmaf.c: New file.
18319         * m4/fmaf.m4: New file.
18320         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
18321         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
18322         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
18323         REPLACE_FMAF.
18324         * modules/fmaf: New file.
18325         * doc/posix-functions/fmaf.texi: Mention the new module and the various
18326         bugs.
18327
18328         Tests for module 'fma'.
18329         * modules/fma-tests: New file.
18330         * tests/test-fma1.c: New file.
18331         * tests/test-fma1.h: New file.
18332         * tests/test-fma2.c: New file.
18333         * tests/test-fma2.h: New file.
18334
18335         New module 'fma'.
18336         * lib/math.in.h (fma): New declaration.
18337         * lib/fma.c: New file.
18338         * m4/fma.m4: New file.
18339         * m4/fegetround.m4: New file.
18340         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
18341         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
18342         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
18343         REPLACE_FMA.
18344         * modules/fma: New file.
18345         * doc/posix-functions/fma.texi: Mention the new module and the various
18346         bugs.
18347
18348         Extend gl_MATHFUNC.
18349         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
18350         Support 'void' as argument type.
18351         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
18352
18353 2011-11-05  Jim Meyering  <meyering@redhat.com>
18354
18355         maint.mk: also prohibit inclusion of dirent.h without use
18356         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
18357
18358 2011-11-05  Bruno Haible  <bruno@clisp.org>
18359
18360         ldexpl tests: Avoid test failure on MSVC 9.
18361         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
18362         value. Needed in order to enforce the conversion from a value greater
18363         than LDBL_MAX to Infinity.
18364
18365 2011-11-05  Bruno Haible  <bruno@clisp.org>
18366
18367         New modules 'at-internal', 'openat-h', split off from module 'openat'.
18368         * modules/at-internal: New file, extracted from modules/openat.
18369         * modules/openat-h: New file.
18370         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
18371         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
18372         * modules/openat (Description): Add reference to POSIX function.
18373         (Files): Remove lib/openat.h, lib/openat-proc.c.
18374         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
18375         intprops, unistd.
18376         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
18377         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
18378         gl_FCNTL_MODULE_INDICATOR.
18379         (Include): Remove unistd.h, openat.h.
18380         * modules/areadlinkat (Files): Add lib/at-func.c.
18381         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
18382         openat-die, openat-h, save-cwd.
18383         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
18384         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
18385         openat-die, openat-h, save-cwd, unistd.
18386         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
18387         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
18388         openat-h, save-cwd. Remove fcntl-h, openat.
18389         * modules/fchmodat (Files): Remove lib/openat.h.
18390         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
18391         openat, stdbool, unistd.
18392         * modules/fchownat (Files): Remove lib/openat.h.
18393         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
18394         openat, stdbool, sys_stat.
18395         * modules/fdopendir (Files): Remove lib/openat-priv.h,
18396         lib/openat-proc.c.
18397         (Depends-on): Add at-internal.
18398         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
18399         * modules/fstatat (Files): Remove lib/openat.h.
18400         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
18401         stdbool, unistd.
18402         * modules/fts (Depends-on): Add openat-h.
18403         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
18404         openat.
18405         * modules/mkdirat (Files): Remove lib/openat.h.
18406         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
18407         openat, stdbool, sys_stat.
18408         * modules/mkfifoat (Files): Add lib/at-func.c.
18409         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
18410         openat-h, save-cwd. Remove fcntl-h, openat.
18411         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
18412         * modules/readlinkat (Files): Add lib/at-func.c.
18413         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
18414         openat-h, save-cwd. Remove fcntl-h, openat.
18415         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
18416         openat.
18417         * modules/selinux-at (Files): Add lib/at-func.c.
18418         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
18419         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
18420         * modules/symlinkat (Files): Add lib/at-func.c.
18421         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
18422         openat-h, save-cwd. Remove fcntl-h, openat.
18423         * modules/unlinkat (Files): Remove lib/openat.h.
18424         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
18425         stdbool.
18426         * modules/utimensat (Files): Add lib/at-func.c.
18427         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
18428         openat-die, openat-h, save-cwd.
18429         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
18430         * modules/fdutimensat-tests (Depends-on): Add openat.
18431         * modules/fstatat-tests (Depends-on): Add openat-h.
18432         * modules/readlinkat-tests (Depends-on): Add openat.
18433         * modules/symlinkat-tests (Depends-on): Add openat.
18434
18435 2011-11-05  Bruno Haible  <bruno@clisp.org>
18436
18437         openat: Include <stdbool.h>.
18438         * lib/openat.c: Include <stdbool.h>.
18439
18440 2011-11-04  Bruno Haible  <bruno@clisp.org>
18441
18442         fchownat, renameat, unlinkat: Fix dependencies.
18443         * modules/fchownat (Depends-on): Add fstatat.
18444         * modules/renameat (Depends-on): Likewise.
18445         * modules/unlinkat (Depends-on): Likewise.
18446
18447 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
18448
18449         openat: remove direct dependency on dirent
18450         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
18451         and hasn't been needed ever since fdopendir was split into its own
18452         module on 2009-08-31.
18453         * modules/openat (Depends-on): Remove dirent.
18454
18455 2011-11-04  Bruno Haible  <bruno@clisp.org>
18456
18457         renameat: Optimize code size.
18458         * modules/renameat (configure.ac): Don't compile at-func2.c if
18459         REPLACE_RENAMEAT is 1.
18460
18461 2011-11-04  Bruno Haible  <bruno@clisp.org>
18462
18463         openat tests: Fix file list.
18464         * modules/openat-tests (Files): Add tests/test-open.h.
18465
18466 2011-11-04  Bruno Haible  <bruno@clisp.org>
18467
18468         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
18469         * modules/fchmodat (Depends-on): Add openat-die.
18470         * modules/fchownat (Depends-on): Likewise.
18471         * modules/linkat (Depends-on): Likewise.
18472         * modules/renameat (Depends-on): Likewise.
18473         * modules/openat (Depends-on): Add dirent.
18474
18475 2011-11-04  Jim Meyering  <meyering@redhat.com>
18476
18477         at-func*.c: fix comments
18478         * lib/at-func2.c: Correct/improve first-line comment.
18479         * lib/at-func.c: Correct grammar in first-line comment.
18480
18481 2011-11-04  Bruno Haible  <bruno@clisp.org>
18482
18483         New module 'mkdirat', split off from module 'openat'.
18484         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
18485         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
18486         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
18487         * modules/mkdirat: New file, extracted from modules/openat.
18488         * modules/openat (Files): Remove lib/mkdirat.c.
18489         (Depends-on): Remove mkdir.
18490         (configure.ac): Remove AC_LIBOBJ of mkdirat.
18491         (Include): Remove <sys/stat.h>.
18492         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
18493         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
18494         tests/test-mkdir.h.
18495         (Depends-on): Remove ignore-value.
18496         (Makefile.am): Remove rules for test-mkdirat.
18497         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
18498         of module 'openat'.
18499         * NEWS: Mention the change.
18500
18501 2011-11-04  Bruno Haible  <bruno@clisp.org>
18502
18503         closedir: Avoid warning on mingw.
18504         * lib/closedir.c: Include <unistd.h>.
18505
18506 2011-11-04  Bruno Haible  <bruno@clisp.org>
18507
18508         New module 'fstatat', split off from module 'openat'.
18509         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
18510         defined.
18511         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
18512         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
18513         gl_FUNC_FSTATAT.
18514         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
18515         * modules/fstatat: New file, extracted from modules/openat.
18516         * modules/openat (Files): Remove lib/fstatat.c.
18517         (Depends-on): Remove lstat.
18518         (configure.ac): Remove AC_LIBOBJ of fstatat.
18519         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
18520         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
18521         tests/test-lstat.h, tests/test-stat.h.
18522         (Depends-on): Remove getcwd-lgpl.
18523         (Makefile.am): Remove rules for test-fstatat.
18524         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
18525         of module 'openat'.
18526         * NEWS: Mention the change.
18527         * modules/getcwd (Depends-on): Add fstatat.
18528         * modules/linkat (Depends-on): Likewise.
18529         * modules/mkfifoat-tests (Depends-on): Likewise.
18530         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
18531
18532 2011-11-03  Bruno Haible  <bruno@clisp.org>
18533
18534         New module 'unlinkat', split off from module 'openat'.
18535         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
18536         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
18537         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
18538         * modules/unlinkat: New file, extracted from modules/openat. Correct
18539         the dependency conditions.
18540         * modules/openat (Files): Remove lib/unlinkat.c.
18541         (Depends-on): Remove rmdir, unlink.
18542         (configure.ac): Remove AC_LIBOBJ of unlinkat.
18543         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
18544         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
18545         tests/test-rmdir.h, tests/test-unlink.h.
18546         (Depends-on): Remove unlinkdir.
18547         (Makefile.am): Remove rules for test-unlinkat.
18548         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
18549         of module 'openat'.
18550         * NEWS: Mention the change.
18551         * modules/linkat-tests (Depends-on): Add unlinkat.
18552         * modules/mkfifoat-tests (Depends-on): Likewise.
18553         * modules/readlinkat-tests (Depends-on): Likewise.
18554
18555 2011-11-02  Bruno Haible  <bruno@clisp.org>
18556
18557         New module 'fchmodat', split off from module 'openat'.
18558         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
18559         defined.
18560         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
18561         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
18562         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
18563         * modules/fchmodat: New file, extracted from modules/openat.
18564         * modules/openat (Files): Remove lib/fchmodat.c.
18565         (configure.ac): Remove AC_LIBOBJ of fchmodat.
18566         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
18567         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
18568         (Makefile.am): Remove rules for test-fchmodat.
18569         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
18570         of module 'openat'.
18571         * NEWS: Mention the change.
18572
18573 2011-11-02  Jim Meyering  <meyering@redhat.com>
18574
18575         putenv: indent #definition of "environ" to placate cppi
18576         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
18577
18578         gitlog-to-changelog: provide a ChangeLog-repair mechanism
18579         Git logs are often treated as immutable, because editing them
18580         changes the SHA1 checksums of all descendants.  Thus, errors in
18581         git logs tend to stay there forever.  However, when we generate
18582         a ChangeLog file -- typically for distribution -- from that git log,
18583         we can actually make corrections in the generated file.  The key
18584         lies in recording in machine-readable/applicable form the desired
18585         corrections.  See --help for description and an example.
18586         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
18587         (usage): Describe it; alphabetize option descriptions.
18588         (main): Honor the new option, carefully.
18589
18590 2011-11-01  Jim Meyering  <meyering@redhat.com>
18591
18592         gitlog-to-changelog: avoid an infloop
18593         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
18594         that ends up being empty.
18595
18596 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
18597
18598         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
18599         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
18600         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
18601         contains (possibly-quoted) backslashes.  This should avoid
18602         all-too-common shell bugs if COMPLICATED contains backslashes in
18603         the "wrong" places.  Reported by David Evans in
18604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
18605         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
18606         because we want ASCII ranges.  Is there some reason we don't use
18607         the C locale everywhere in this script?
18608         (func_module, top level): Avoid unwanted pathname expansion when
18609         $repo_url_prefix or $repo_url_suffix_repl contain shell
18610         metacharacters like '?' and '*'.
18611
18612 2011-11-01  Bruno Haible  <bruno@clisp.org>
18613
18614         fchownat: Improve description.
18615         * modules/fchownat (Description): Add link to function.
18616
18617 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
18618
18619         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
18620         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
18621         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
18622         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
18623
18624 2011-11-01  Bruno Haible  <bruno@clisp.org>
18625
18626         alignof: Avoid collision with stdalign module.
18627         * lib/alignof.h (alignof): Remove macro.
18628         * NEWS: Mention the change.
18629         Reported by Paul Eggert.
18630
18631 2011-11-01  Bruno Haible  <bruno@clisp.org>
18632
18633         New module 'fchownat', split off from module 'openat'.
18634         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
18635         defined.
18636         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
18637         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
18638         invoke gl_FUNC_FCHOWNAT.
18639         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
18640         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
18641         * modules/fchownat: New file, extracted from modules/openat.
18642         * modules/openat (Files): Remove lib/fchownat.c.
18643         (Depends-on): Remove lchown.
18644         (configure.ac): Remove AC_LIBOBJ of fchownat.
18645         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
18646         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
18647         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
18648         (Depends-on): Remove mgetgroups, usleep, stat-time.
18649         (configure.ac): Remove test for getegid.
18650         (Makefile.am): Remove rules for test-fchownat.
18651         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
18652         of module 'openat'.
18653         * NEWS: Mention the change.
18654
18655 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
18656
18657         stdalign: port better to MSVC and to Sun C 5.11
18658         This fixes some of the problems reported by Bruno Haible in
18659         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
18660         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
18661         shortcomings of MSVC and of Sun C 5.11.
18662         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
18663         around __declspec arg.
18664         * modules/stdalign-tests (Files): Add tests/macros.h.
18665         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
18666         Include macros.h, for ASSERT.
18667         (DECLARE_ALIGNED): Remove.
18668         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
18669         to catch bug), and to 1 if not (simplifies the rest of the code).
18670         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
18671         (CHECK_AUTO): Remove.
18672         (CHECK_ALIGNED): Check only the alignment of the static vars,
18673         since auto var alignment isn't supported by Sun C 5.11.
18674         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
18675         ASSERT failures are easier to diagnose.
18676
18677 2011-10-31  Bruno Haible  <bruno@clisp.org>
18678
18679         doc about some IRIX 5.3 problems.
18680         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
18681         on IRIX 5.3.
18682         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
18683         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
18684         5.3.
18685         * doc/posix-functions/grantpt.texi: Likewise.
18686         * doc/posix-functions/unlockpt.texi: Likewise.
18687         * doc/posix-functions/lgamma.texi: Likewise.
18688         * doc/posix-functions/nextafter.texi: Likewise.
18689         * doc/posix-functions/remainder.texi: Likewise.
18690         * doc/posix-functions/select.texi: Mention misplaced declaration on
18691         IRIX 5.3.
18692         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18693
18694 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
18695
18696         gitlog-to-changelog: fix git-log invocation.
18697         git-log mishandles date strings before 1970-01-01 UTC, and there is
18698         no use to specify --since=1970-01-01 by default anyway.
18699         * build-aux/gitlog-to-changelog: By default, when no --since option
18700         was given, do not specify explicit --since option to git-log.
18701
18702 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
18703
18704         gitlog-to-changelog: new option --append-dot.
18705         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
18706         first non-blank line of each commit message terminated with a dot.
18707
18708 2011-10-30  Bruno Haible  <bruno@clisp.org>
18709
18710         ffsl, ffsll: Avoid compilation error due to 'restrict'.
18711         * lib/ffsl.h: Include <config.h>.
18712         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
18713
18714 2011-10-30  Jim Meyering  <meyering@redhat.com>
18715
18716         GNUmakefile: reenable "make syntax-check" for most projects
18717         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
18718         build-aux variable", "syntax-check" would do nothing but succeed with
18719         the "No version control files detected..." diagnostic (unless you
18720         happened to override _build-aux via cfg.mk).
18721         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
18722         to precede inclusion of maint.mk.  Otherwise, these variables would
18723         be used undefined in any project that does not override the default.
18724
18725 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
18726
18727         gitlog-to-changelog: treat a message with only blank lines as empty.
18728         * build-aux/gitlog-to-changelog: Move the code that removes leading and
18729         trailing blank lines before the code that issues a warning about an
18730         empty commit message.
18731
18732 2011-10-30  Jim Meyering  <meyering@redhat.com>
18733
18734         test-parse-datetime.c: avoid new DST-related false positive test failure
18735         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
18736         based on the time/date we'll convert, not the current time.
18737         Otherwise, the moment we cross a DST boundary like today's in
18738         Europe, (CEST to CET), that offset ends up being one hour off.
18739
18740 2011-10-27  Bruno Haible  <bruno@clisp.org>
18741
18742         fstat: Tweak documentation.
18743         * modules/fstat (Description): More precise description.
18744
18745 2011-10-27  Bruno Haible  <bruno@clisp.org>
18746
18747         Update documentation regarding 'largefile' module.
18748         * doc/posix-functions/fstat.texi: Tweak wording.
18749         * doc/posix-functions/opendir.texi: Mention that the module fixes the
18750         problems with huge directories and/or small ino_t types.
18751         * doc/posix-functions/readdir.texi: Likewise.
18752         * doc/posix-functions/rewinddir.texi: Likewise.
18753
18754 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
18755
18756         maint.mk: don't maintain a second build-aux variable.
18757         * maint.mk (build_aux): Removed.  The maintainer-makefile module
18758         depends on GNUmakefile, which already maintains a cfg.mk
18759         overridable $(_build-aux) for projects with a non-standard
18760         build-aux directory location, although without the $(srcdir)
18761         prefix.  Use that variable consistently instead of introducing a
18762         second one.  Adjust all call sites.
18763
18764 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
18765
18766         Add stdalign module and use it in other modules.
18767         This is based on a previous proposal by Bruno Haible
18768         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
18769
18770         stdalign: new module
18771         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
18772         * modules/stdalign: New files.
18773         * MODULES.html.sh (c1x_core_properties): Add stdalign.
18774         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
18775
18776         stdalign-tests: new module
18777         * modules/stdalign-tests, tests/test-stdalign.c: New files.
18778
18779         argp: use stdalign
18780         * lib/argp-parse.c: Include <stdalign.h>.
18781         (alignof): Remove.
18782         * modules/argp (Depends-on): Add stdalign.
18783
18784         crypto libraries: use stdalign
18785         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
18786         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
18787         Do not include <stdlib.h> twice, in md4.c.
18788         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
18789         because we are accessing a pointer's bit-pattern, not a size.
18790         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
18791         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
18792         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
18793         * modules/crypto/sha512: Likewise.
18794
18795         sys_socket: use stdalign, not alignof
18796         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
18797         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
18798
18799 2011-10-27  Bruno Haible  <bruno@clisp.org>
18800
18801         raise test: Avoid a test failure on Linux/MIPS.
18802         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
18803         because 99 is a valid signal on Linux/MIPS.
18804
18805 2011-10-27  Bruno Haible  <bruno@clisp.org>
18806
18807         nonblocking tests: Fix test failure on Linux/MIPS.
18808         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
18809         Set to 270000.
18810
18811 2011-10-27  Bruno Haible  <bruno@clisp.org>
18812
18813         utimensat: Work around problem on Linux/hppa.
18814         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
18815         values.
18816         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
18817
18818 2011-10-25  Jim Meyering  <meyering@redhat.com>
18819
18820         maint.mk: fix a bug in sc_prohibit_stddef_without_use
18821         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
18822         after symbols like NULL, size_t, etc.
18823         Reported by Alfred M. Szmidt.
18824
18825         maint.mk: exempt ENODATA from a syntax-check rule
18826         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
18827         from the sc_prohibit_always-defined_macros syntax-check rule.
18828         Add a comment.  See this for more details:
18829         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
18830
18831 2011-10-23  Jim Meyering  <meyering@redhat.com>
18832
18833         fts: close parent dir FD before returning from post-traversal fts_read
18834         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
18835         unlink A, even though an FD open on A remained.  This is suboptimal
18836         (holding a file descriptor open longer than needed), but otherwise not
18837         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
18838         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
18839         that represents a real problem: it causes the removal of A to fail
18840         with e.g., "rm: cannot remove `A': Device or resource busy"
18841
18842         fts visits each directory twice and keeps a cache (fts_fd_ring) of
18843         directory file descriptors.  After completing the final, FTS_DP,
18844         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
18845         cache, but then proceeded to add a new FD to it via the subsequent
18846         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
18847         final file descriptor would be closed only via fts_close's call to
18848         fd_ring_clear.  Now, it is usually closed earlier, via the final
18849         FTS_DP-returning fts_read call.
18850         * lib/fts.c (restore_initial_cwd): New function, converted from
18851         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
18852         Update callers.
18853         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
18854         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
18855
18856 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
18857             Bruno Haible  <bruno@clisp.org>
18858             Jim Meyering  <jim@meyering.net>
18859
18860         readme-release: improve safety of release prep instructions.
18861         * README-release: Don't git pull all branches when only master
18862         is needed for the release process.
18863         Run make maintainer-clean before changing trees and merging.
18864         Don't try to run ./configure right after git pull in case files
18865         that influence the bootstrap process have changed, move the
18866         ./configure step to after running ./bootstrap.
18867         Don't bootstrap "one last time"... it's the first time!
18868
18869 2011-10-22  Bruno Haible  <bruno@clisp.org>
18870
18871         errno, strerror-override: Support for MSVC 10.
18872         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
18873         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
18874         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
18875         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
18876         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
18877         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
18878         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
18879         Assign values compatible with MSVC 10.
18880         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
18881         New macros.
18882         (GNULIB_defined_EWINSOCK): New macro.
18883         * lib/strerror-override.c (strerror_override): Update accordingly.
18884         * lib/strerror-override.h: Likewise.
18885         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
18886         longer equal to the corresponding errno value.
18887         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
18888
18889 2011-10-22  Bruno Haible  <bruno@clisp.org>
18890
18891         perror: Recognize when test program crashes.
18892         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
18893         strerror, set gl_cv_func_perror_works to no.
18894         Reported by Daniel Richard G. <skunk@iskunk.org>.
18895
18896         perror: Fix indentation.
18897         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
18898
18899 2011-10-22  Bruno Haible  <bruno@clisp.org>
18900
18901         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
18902         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
18903         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
18904         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
18905         functions, not as a macro.
18906         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
18907         macros.
18908         (isfinite, isinf, isnan, signbit): Check overloaded functions and
18909         absence of macro.
18910         Suggested by Eric Blake.
18911         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
18912
18913 2011-10-21  Bruno Haible  <bruno@clisp.org>
18914
18915         relocatable-prog-wrapper: Don't leave object files behind.
18916         * build-aux/install-reloc: Re-synchronize list of .o files to be
18917         removed with list of compilation units.
18918
18919 2011-10-20  Bruno Haible  <bruno@clisp.org>
18920
18921         openpty, posix_openpt: Remove code duplication.
18922         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
18923         * lib/openpty.c: Include <stdlib.h>.
18924         (openpty): Use posix_openpt on all platforms except IRIX.
18925         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
18926
18927 2011-10-20  Bruno Haible  <bruno@clisp.org>
18928
18929         unlockpt: Detect invalid argument.
18930         * lib/unlockpt.c: Include <fcntl.h>.
18931         (unlockpt): Check whether fd is valid, using fcntl().
18932         * modules/unlockpt (Depends-on): Add fcntl-h.
18933
18934 2011-10-20  Bruno Haible  <bruno@clisp.org>
18935
18936         openpty: Avoid compilation error on AIX 6.1.
18937         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
18938
18939 2011-10-20  Bruno Haible  <bruno@clisp.org>
18940
18941         posix_openpt: Support for OpenBSD.
18942         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
18943         (posix_openpt) [OpenBSD]: New code.
18944         * lib/grantpt.c: Include <fcntl.h>.
18945         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
18946         * modules/grantpt (Depends-on): Add fcntl-h.
18947
18948 2011-10-20  Bruno Haible  <bruno@clisp.org>
18949
18950         posix_openpt test: Coding style.
18951         * tests/test-posix_openpt.c: Use GNU coding style.
18952
18953 2011-10-20  Bruno Haible  <bruno@clisp.org>
18954
18955         grantpt: Support --avoid=pt_chown.
18956         * modules/grantpt (Files): Add lib/pty-private.h.
18957
18958 2011-10-20  Bruno Haible  <bruno@clisp.org>
18959
18960         posix_openpt: Fix autoconf macro.
18961         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
18962         unneeded check for _getpty.
18963
18964 2011-10-20  Bruno Haible  <bruno@clisp.org>
18965
18966         openpty: Update comments.
18967         * lib/openpty.c: Add comments about Minix.
18968
18969 2011-10-19  Eric Blake  <eblake@redhat.com>
18970
18971         openpty: relax license
18972         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
18973
18974         pt_chown: use configmake to simplify build
18975         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
18976
18977         ptsname and others: relax license
18978         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
18979         * modules/unlockpt (License): Likewise.
18980         * modules/pt_chown (License): Likewise.
18981         * modules/ptsname (License): Likewise.
18982         * modules/ttyname_r (License): Likewise.
18983
18984 2011-10-19  Jim Meyering  <meyering@redhat.com>
18985
18986         posix_openpt: remove spurious #endif
18987         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
18988
18989 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
18990
18991         maint.mk: Respect $(build_aux) in web-manual rule.
18992         * top/maint.mk (web-manual): Find gen-announce script in user's
18993         $(build_aux) directory instead of hard-coding 'build-aux'.
18994
18995 2011-10-19  Bruno Haible  <bruno@clisp.org>
18996
18997         posix_openpt: Fix compilation error.
18998         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
18999         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
19000         Mention the openpty module as an alternative.
19001
19002 2011-10-19  Bruno Haible  <bruno@clisp.org>
19003
19004         Support for old NeXTstep 3.3 frexp().
19005         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
19006         execution time of the test to 5 seconds.
19007         Reported by Daniel Richard G. <skunk@iskunk.org>.
19008
19009 2011-10-19  Bruno Haible  <bruno@clisp.org>
19010
19011         Support for old NeXTstep 3.3 sed.
19012         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
19013         part, use /.../, not \|...|. Escape periods in the header file name.
19014         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
19015         Reported by Daniel Richard G. <skunk@iskunk.org>.
19016
19017 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
19018
19019         Support for old NeXTstep 3.3 gcc.
19020         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
19021         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
19022         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
19023         * lib/spawn.in.h (_Restrict_arr_): Likewise.
19024         * lib/regex.h (_Restrict_arr_): Likewise.
19025         * lib/regex_internal.h (re_token_t): Likewise.
19026         * lib/regexec.c (check_node_accept_bytes): Likewise.
19027         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
19028
19029 2011-10-18  Eric Blake  <eblake@redhat.com>
19030
19031         posix_openpt: new module
19032         * modules/posix_openpt: New module.
19033         * m4/posix_openpt.m4: New file.
19034         * lib/posix_openpt.c: Likewise.
19035         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
19036         (gl_STDLIB_H_DEFAULTS): Set defaults.
19037         * modules/stdlib (Makefile.am): Substitute macros.
19038         * lib/stdlib.in.h (posix_openpt): Declare.
19039         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
19040         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
19041         * modules/posix_openpt-tests: New test module.
19042         * tests/test-posix_openpt.c: New test.
19043
19044 2011-10-15  Bruno Haible  <bruno@clisp.org>
19045
19046         xstrtoll: Fix compilation failure.
19047         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
19048         from lib/strtol.c.
19049         * doc/posix-headers/limits.texi: Mention missing numerical limits on
19050         some platforms.
19051         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19052
19053 2011-10-15  Bruno Haible  <bruno@clisp.org>
19054
19055         vasnprintf: Optimize bit search operation.
19056         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
19057         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
19058         gl_DOUBLE_EXPONENT_LOCATION.
19059         * modules/vasnprintf (Files): Add m4/exponentd.m4.
19060         * modules/unistdio/u8-vasnprintf (Files): Likewise.
19061         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
19062         * modules/unistdio/u16-vasnprintf (Files): Likewise.
19063         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
19064         * modules/unistdio/u32-vasnprintf (Files): Likewise.
19065         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
19066         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
19067         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
19068
19069 2011-10-15  Bruno Haible  <bruno@clisp.org>
19070
19071         vasnprintf: Fix comments.
19072         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
19073
19074 2011-10-14  Bruno Haible  <bruno@clisp.org>
19075
19076         Tests for module 'integer_length_ll'.
19077         * modules/integer_length_ll-tests: New file.
19078         * tests/test-integer_length_ll.c: New file.
19079
19080         New module 'integer_length_ll'.
19081         * lib/integer_length_ll.c: New file.
19082         * modules/integer_length_ll: New file.
19083
19084 2011-10-14  Bruno Haible  <bruno@clisp.org>
19085
19086         Tests for module 'integer_length_l'.
19087         * modules/integer_length_l-tests: New file.
19088         * tests/test-integer_length_l.c: New file.
19089
19090         New module 'integer_length_l'.
19091         * lib/integer_length_l.c: New file.
19092         * modules/integer_length_l: New file.
19093
19094 2011-10-14  Bruno Haible  <bruno@clisp.org>
19095
19096         Tests for module 'integer_length'.
19097         * modules/integer_length-tests: New file.
19098         * tests/test-integer_length.c: New file.
19099
19100         New module 'integer_length'.
19101         * lib/integer_length.h: New file.
19102         * lib/integer_length.c: New file.
19103         * modules/integer_length: New file.
19104
19105 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
19106
19107         popen: Fix dependency conditions.
19108         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
19109
19110 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
19111
19112         perror: Fix autoconf test.
19113         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
19114         <stdlib.h> and <string.h>.
19115
19116 2011-10-14  Bruno Haible  <bruno@clisp.org>
19117
19118         ffsl: Optimize on 64-bit platforms.
19119         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
19120         unrolling.
19121
19122 2011-10-13  Bruno Haible  <bruno@clisp.org>
19123
19124         ffsl: Optimize on 32-bit platforms.
19125         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
19126         use ffs() without a loop.
19127
19128         ffsl, ffsll: Optimize for GCC.
19129         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
19130         * lib/ffsl.c (GCC_BUILTIN): New macro.
19131         * lib/ffsll.c (GCC_BUILTIN): Likewise.
19132
19133 2011-10-13  Bruno Haible  <bruno@clisp.org>
19134
19135         ffs, bcopy, memset: Support symbol renaming via config.h.
19136         * lib/ffs.c: Include <config.h>.
19137         * lib/bcopy.c: Likewise.
19138         * lib/memset.c: Likewise.
19139
19140 2011-10-10  Bruno Haible  <bruno@clisp.org>
19141
19142         atanl: Simplify for platforms where 'long double' == 'double'.
19143         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
19144         alternative implementation.
19145         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19146         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19147         * modules/atanl (Depends-on): Add atan. Update conditions.
19148
19149 2011-10-10  Bruno Haible  <bruno@clisp.org>
19150
19151         acosl: Simplify for platforms where 'long double' == 'double'.
19152         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
19153         alternative implementation.
19154         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19155         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19156         * modules/acosl (Depends-on): Add acos. Update conditions.
19157
19158 2011-10-10  Bruno Haible  <bruno@clisp.org>
19159
19160         asinl: Simplify for platforms where 'long double' == 'double'.
19161         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
19162         alternative implementation.
19163         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19164         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19165         * modules/asinl (Depends-on): Add asin. Update conditions.
19166
19167 2011-10-10  Bruno Haible  <bruno@clisp.org>
19168
19169         tanl: Simplify for platforms where 'long double' == 'double'.
19170         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
19171         implementation.
19172         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19173         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19174         * modules/tanl (Depends-on): Add tan. Update conditions.
19175         (configure.ac): Don't compile trigl.c if
19176         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19177
19178 2011-10-10  Bruno Haible  <bruno@clisp.org>
19179
19180         cosl: Simplify for platforms where 'long double' == 'double'.
19181         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
19182         implementation.
19183         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19184         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19185         * modules/cosl (Depends-on): Add cos. Update conditions.
19186         (configure.ac): Don't compile sincosl.c and trigl.c if
19187         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19188
19189 2011-10-10  Bruno Haible  <bruno@clisp.org>
19190
19191         sinl: Simplify for platforms where 'long double' == 'double'.
19192         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
19193         implementation.
19194         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19195         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19196         * modules/sinl (Depends-on): Add sin. Update conditions.
19197         (configure.ac): Don't compile sincosl.c and trigl.c if
19198         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19199
19200 2011-10-10  Bruno Haible  <bruno@clisp.org>
19201
19202         logl: Simplify for platforms where 'long double' == 'double'.
19203         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
19204         implementation.
19205         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19206         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19207         * modules/logl (Depends-on): Add log. Update conditions.
19208
19209 2011-10-10  Bruno Haible  <bruno@clisp.org>
19210
19211         expl: Simplify for platforms where 'long double' == 'double'.
19212         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
19213         implementation.
19214         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19215         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19216         * modules/expl (Depends-on): Add exp. Update conditions.
19217
19218 2011-10-10  Bruno Haible  <bruno@clisp.org>
19219
19220         sqrtl: Simplify for platforms where 'long double' == 'double'.
19221         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
19222         alternative implementation.
19223         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19224         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19225         * modules/sqrtl (Depends-on): Update conditions.
19226
19227 2011-10-10  Bruno Haible  <bruno@clisp.org>
19228
19229         ldexpl: Simplify for platforms where 'long double' == 'double'.
19230         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
19231         alternative implementation.
19232         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19233         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19234         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
19235
19236 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
19237
19238         ffsll: set correct witness
19239         * modules/ffsll (configure.ac): Fix typo.
19240
19241 2011-10-10  Bruno Haible  <bruno@clisp.org>
19242
19243         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
19244         * lib/printf-frexpl.c: Include <config.h>.
19245         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
19246         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
19247         second time.
19248         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
19249         gl_LONG_DOUBLE_VS_DOUBLE.
19250         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
19251         conditions.
19252
19253 2011-10-10  Bruno Haible  <bruno@clisp.org>
19254
19255         frexpl: Simplify for platforms where 'long double' == 'double'.
19256         * lib/frexpl.c: Include <config.h>.
19257         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
19258         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
19259         time.
19260         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19261         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19262         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
19263         * modules/frexpl (Depends-on): Add frexp. Update conditions.
19264         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
19265         conditions.
19266
19267 2011-10-10  Jim Meyering  <meyering@redhat.com>
19268
19269         test-renameat: don't leave behind a temporary file
19270         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
19271           ERROR: files left in build directory after distclean:
19272           ./gltests/test-renameat.too
19273           make[1]: *** [distcleancheck] Error 1
19274         Reported by Tom G. Christensen.
19275
19276 2011-10-09  Bruno Haible  <bruno@clisp.org>
19277
19278         rint: Determine RINT_LIBM correctly on AIX 7.
19279         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
19280         directly, not only through a function pointer. Also accept an optional
19281         4th argument with extra code.
19282         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
19283         rintf() call by gcc when optimizing.
19284
19285         mathfunc.m4: Refactor.
19286         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
19287         m4 variable.
19288
19289 2011-10-09  Bruno Haible  <bruno@clisp.org>
19290
19291         rintl: Simplify for platforms where 'long double' == 'double'.
19292         * lib/rintl.c: Include <config.h>.
19293         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
19294         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
19295         time.
19296         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19297         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19298         * modules/rintl (Depends-on): Add rint. Update conditions.
19299
19300 2011-10-09  Bruno Haible  <bruno@clisp.org>
19301
19302         roundl: Simplify for platforms where 'long double' == 'double'.
19303         * lib/roundl.c: Include <config.h>.
19304         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
19305         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
19306         time.
19307         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19308         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19309         * modules/roundl (Depends-on): Add round. Update conditions.
19310
19311 2011-10-09  Bruno Haible  <bruno@clisp.org>
19312
19313         truncl: Simplify for platforms where 'long double' == 'double'.
19314         * lib/truncl.c: Include <config.h>.
19315         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
19316         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
19317         time.
19318         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19319         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19320         * modules/truncl (Depends-on): Add trunc. Update conditions.
19321
19322 2011-10-09  Bruno Haible  <bruno@clisp.org>
19323
19324         ceill: Simplify for platforms where 'long double' == 'double'.
19325         * lib/ceill.c: Include <config.h>.
19326         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
19327         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
19328         time.
19329         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19330         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19331         * modules/ceill (Depends-on): Add ceil. Update conditions.
19332
19333 2011-10-09  Bruno Haible  <bruno@clisp.org>
19334
19335         floorl: Simplify for platforms where 'long double' == 'double'.
19336         * lib/floorl.c: Include <config.h>.
19337         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
19338         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
19339         time.
19340         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19341         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19342         * modules/floorl (Depends-on): Add floor. Update conditions.
19343
19344 2011-10-09  Bruno Haible  <bruno@clisp.org>
19345
19346         rint: Fix ordering constraints.
19347         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
19348         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
19349         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
19350
19351 2011-10-09  Bruno Haible  <bruno@clisp.org>
19352
19353         copysignl: Simplify for platforms where 'long double' == 'double'.
19354         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
19355         alternative.
19356         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19357         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
19358         * modules/copysignl (Depends-on): Add copysign. Update conditions.
19359
19360 2011-10-09  Bruno Haible  <bruno@clisp.org>
19361
19362         Tests for module 'rintl'.
19363         * modules/rintl-tests: New file.
19364         * tests/test-rintl.c: New file.
19365
19366         New module 'rintl'.
19367         * lib/math.in.h (rintl): New declaration.
19368         * lib/rintl.c: New file.
19369         * m4/rintl.m4: New file.
19370         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
19371         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
19372         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
19373         * modules/rintl: New file.
19374         * tests/test-math-c++.cc: Check the declaration of rintl.
19375         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
19376         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
19377         * doc/posix-functions/rintl.texi: Mention the new module.
19378
19379 2011-10-09  Bruno Haible  <bruno@clisp.org>
19380
19381         Tests for module 'rintf'.
19382         * modules/rintf-tests: New file.
19383         * tests/test-rintf.c: New file.
19384
19385         New module 'rintf'.
19386         * lib/math.in.h (rintf): New declaration.
19387         * lib/rintf.c: New file.
19388         * m4/rintf.m4: New file.
19389         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
19390         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
19391         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
19392         * modules/rintf: New file.
19393         * tests/test-math-c++.cc: Check the declaration of rintf.
19394         * doc/posix-functions/rintf.texi: Mention the new module.
19395
19396 2011-10-09  Bruno Haible  <bruno@clisp.org>
19397
19398         rint: Support for MSVC.
19399         * lib/math.in.h (rint): New declaration.
19400         * lib/rint.c: New file.
19401         * m4/rint.m4: New file.
19402         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
19403         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
19404         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
19405         * modules/rint (Description): Fix.
19406         (Files): Add lib/rint.c, m4/rint.m4.
19407         (Depends-on): Add math.
19408         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
19409         gl_MATH_MODULE_INDICATOR.
19410         * tests/test-math-c++.cc: Check the declaration of rint.
19411         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
19412         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
19413         * doc/posix-functions/rint.texi: Mention the replacement provided by
19414         the module.
19415
19416         rint tests: More tests.
19417         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
19418         minus-zero.h, infinity.h, nan.h.
19419         (main): Skip the test if the current rounding mode is not standard. Add
19420         tests for negative numbers, minus zero, infinity, NaN.
19421         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
19422         tests/nan.h.
19423         (Depends-on): Add isnand-nolibm.
19424
19425 2011-10-09  Bruno Haible  <bruno@clisp.org>
19426
19427         Tests for module 'copysignl'.
19428         * modules/copysignl-tests: New file.
19429         * tests/test-copysignl.c: New file.
19430
19431         New module 'copysignl'.
19432         * lib/math.in.h (copysignl): New declaration.
19433         * lib/copysignl.c: New file.
19434         * m4/copysignl.m4: New file.
19435         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
19436         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
19437         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
19438         HAVE_COPYSIGNL.
19439         * modules/copysignl: New file.
19440         * tests/test-math-c++.cc: Check the declaration of copysignl.
19441         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
19442         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
19443         * doc/posix-functions/copysignl.texi: Mention the new module.
19444
19445 2011-10-09  Bruno Haible  <bruno@clisp.org>
19446
19447         Tests for module 'copysignf'.
19448         * modules/copysignf-tests: New file.
19449         * tests/test-copysignf.c: New file.
19450
19451         New module 'copysignf'.
19452         * lib/math.in.h (copysignf): New declaration.
19453         * lib/copysignf.c: New file.
19454         * m4/copysignf.m4: New file.
19455         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
19456         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
19457         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
19458         HAVE_COPYSIGNF.
19459         * modules/copysignf: New file.
19460         * tests/test-math-c++.cc: Check the declaration of copysignf.
19461         * doc/posix-functions/copysignf.texi: Mention the new module.
19462
19463 2011-10-09  Bruno Haible  <bruno@clisp.org>
19464
19465         Ensure that HAVE_* variables are set to 1 before they are set to 0.
19466         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
19467         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
19468         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
19469         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
19470         gl_SIGNAL_H_DEFAULTS.
19471
19472 2011-10-09  Bruno Haible  <bruno@clisp.org>
19473
19474         poll: Make macro safer.
19475         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
19476         ac_cv_header_poll_h is not set.
19477
19478 2011-10-09  Bruno Haible  <bruno@clisp.org>
19479
19480         copysign: Provide replacement.
19481         * lib/math.in.h (copysign): New declaration.
19482         * lib/copysign.c: New file.
19483         * m4/copysign.m4: New file.
19484         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
19485         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
19486         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
19487         HAVE_COPYSIGN.
19488         * modules/copysign (Description): Clarify.
19489         (Files): Add lib/copysign.c, m4/copysign.m4.
19490         (Depends-on): Add math, signbit.
19491         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
19492         gl_MATH_MODULE_INDICATOR.
19493         * tests/test-math-c++.cc: Check the declaration of copysign.
19494         * doc/posix-functions/copysign.texi: Mention the effects of the module
19495         on Minix and MSVC.
19496
19497 2011-10-09  Bruno Haible  <bruno@clisp.org>
19498
19499         isinf: Ensure macro on AIX 5.1.
19500         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
19501         macro.
19502         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
19503
19504 2011-10-09  Bruno Haible  <bruno@clisp.org>
19505
19506         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
19507         * modules/snprintf-posix-tests (configure.ac): Require
19508         gl_LONG_DOUBLE_VS_DOUBLE.
19509         * modules/sprintf-posix-tests (configure.ac): Likewise.
19510         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
19511         * modules/vasprintf-posix-tests (configure.ac): Likewise.
19512         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
19513         * modules/vsprintf-posix-tests (configure.ac): Likewise.
19514         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
19515         tests on platforms where 'long double' is the same as 'double'.
19516         * tests/test-sprintf-posix.h (test_function): Likewise.
19517         * tests/test-vasnprintf-posix.c (test_function): Likewise.
19518         * tests/test-vasprintf-posix.c (test_function): Likewise.
19519
19520         *printf: Fix for platforms where 'long double' == 'double'.
19521         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
19522         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
19523         * modules/dprintf-posix (Files): Add m4/math_h.m4.
19524         * modules/fprintf-posix (Files): Likewise.
19525         * modules/obstack-printf-posix (Files): Likewise.
19526         * modules/snprintf-posix (Files): Likewise.
19527         * modules/sprintf-posix (Files): Likewise.
19528         * modules/vasnprintf (Files): Likewise.
19529         * modules/vasnprintf-posix (Files): Likewise.
19530         * modules/vasprintf-posix (Files): Likewise.
19531         * modules/vdprintf-posix (Files): Likewise.
19532         * modules/vfprintf-posix (Files): Likewise.
19533         * modules/vsnprintf-posix (Files): Likewise.
19534         * modules/vsprintf-posix (Files): Likewise.
19535         * modules/unistdio/u8-vasnprintf (Files): Likewise.
19536         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
19537         * modules/unistdio/u16-vasnprintf (Files): Likewise.
19538         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
19539         * modules/unistdio/u32-vasnprintf (Files): Likewise.
19540         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
19541         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
19542
19543         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
19544         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
19545         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
19546         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
19547         'long double'.
19548         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
19549
19550         isinf: Fix for platforms where 'long double' == 'double'.
19551         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
19552         Don't blindly assume 80-bit 'long double'.
19553
19554         isfinite: Fix for platforms where 'long double' == 'double'.
19555         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
19556         Don't blindly assume 80-bit 'long double'.
19557
19558         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
19559         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
19560         * modules/isfinite-tests (configure.ac): Require
19561         gl_LONG_DOUBLE_VS_DOUBLE.
19562         * modules/isinf-tests (configure.ac): Likewise.
19563         * modules/isnan-tests (configure.ac): Likewise.
19564         * modules/isnanl-tests (configure.ac): Likewise.
19565         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
19566         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
19567         tests on platforms where 'long double' is the same as 'double'.
19568         * tests/test-isinf.c (test_isinfl): Likewise.
19569         * tests/test-isnan.c (test_long_double): Likewise.
19570         * tests/test-isnanl.h (main): Likewise.
19571
19572 2011-10-08  Bruno Haible  <bruno@clisp.org>
19573
19574         Tests for module 'tanhf'.
19575         * modules/tanhf-tests: New file.
19576         * tests/test-tanhf.c: New file.
19577
19578         New module 'tanhf'.
19579         * lib/math.in.h (tanhf): New declaration.
19580         * lib/tanhf.c: New file.
19581         * m4/tanhf.m4: New file.
19582         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
19583         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
19584         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
19585         * modules/tanhf: New file.
19586         * tests/test-math-c++.cc: Check the declaration of tanhf.
19587         * doc/posix-functions/tanhf.texi: Mention the new module.
19588
19589         tanh: Use a .m4 file.
19590         * m4/tanh.m4: New file.
19591         * modules/tanh (Files): Add it.
19592         (configure.ac): Just invoke gl_FUNC_TANH.
19593
19594 2011-10-08  Bruno Haible  <bruno@clisp.org>
19595
19596         Tests for module 'coshf'.
19597         * modules/coshf-tests: New file.
19598         * tests/test-coshf.c: New file.
19599
19600         New module 'coshf'.
19601         * lib/math.in.h (coshf): New declaration.
19602         * lib/coshf.c: New file.
19603         * m4/coshf.m4: New file.
19604         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
19605         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
19606         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
19607         * modules/coshf: New file.
19608         * tests/test-math-c++.cc: Check the declaration of coshf.
19609         * doc/posix-functions/coshf.texi: Mention the new module.
19610
19611         cosh: Use a .m4 file.
19612         * m4/cosh.m4: New file.
19613         * modules/cosh (Files): Add it.
19614         (configure.ac): Just invoke gl_FUNC_COSH.
19615
19616 2011-10-08  Bruno Haible  <bruno@clisp.org>
19617
19618         Tests for module 'sinhf'.
19619         * modules/sinhf-tests: New file.
19620         * tests/test-sinhf.c: New file.
19621
19622         New module 'sinhf'.
19623         * lib/math.in.h (sinhf): New declaration.
19624         * lib/sinhf.c: New file.
19625         * m4/sinhf.m4: New file.
19626         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
19627         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
19628         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
19629         * modules/sinhf: New file.
19630         * tests/test-math-c++.cc: Check the declaration of sinhf.
19631         * doc/posix-functions/sinhf.texi: Mention the new module.
19632
19633         sinh: Use a .m4 file.
19634         * m4/sinh.m4: New file.
19635         * modules/sinh (Files): Add it.
19636         (configure.ac): Just invoke gl_FUNC_SINH.
19637
19638 2011-10-08  Bruno Haible  <bruno@clisp.org>
19639
19640         Tests for module 'atan2f'.
19641         * modules/atan2f-tests: New file.
19642         * tests/test-atan2f.c: New file.
19643
19644         New module 'atan2f'.
19645         * lib/math.in.h (atan2f): New declaration.
19646         * lib/atan2f.c: New file.
19647         * m4/atan2f.m4: New file.
19648         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
19649         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
19650         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
19651         * modules/atan2f: New file.
19652         * tests/test-math-c++.cc: Check the declaration of atan2f.
19653         * doc/posix-functions/atan2f.texi: Mention the new module.
19654
19655         atan2: Use a .m4 file.
19656         * m4/atan2.m4: New file.
19657         * modules/atan2 (Files): Add it.
19658         (configure.ac): Just invoke gl_FUNC_ATAN2.
19659
19660 2011-10-08  Bruno Haible  <bruno@clisp.org>
19661
19662         Tests for module 'atanf'.
19663         * modules/atanf-tests: New file.
19664         * tests/test-atanf.c: New file.
19665
19666         New module 'atanf'.
19667         * lib/math.in.h (atanf): New declaration.
19668         * lib/atanf.c: New file.
19669         * m4/atanf.m4: New file.
19670         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
19671         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
19672         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
19673         * modules/atanf: New file.
19674         * tests/test-math-c++.cc: Check the declaration of atanf.
19675         * doc/posix-functions/atanf.texi: Mention the new module.
19676
19677         atan: Use a .m4 file.
19678         * m4/atan.m4: New file.
19679         * modules/atan (Files): Add it.
19680         (configure.ac): Just invoke gl_FUNC_ATAN.
19681
19682 2011-10-08  Bruno Haible  <bruno@clisp.org>
19683
19684         Tests for module 'acosf'.
19685         * modules/acosf-tests: New file.
19686         * tests/test-acosf.c: New file.
19687
19688         New module 'acosf'.
19689         * lib/math.in.h (acosf): New declaration.
19690         * lib/acosf.c: New file.
19691         * m4/acosf.m4: New file.
19692         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
19693         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
19694         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
19695         * modules/acosf: New file.
19696         * tests/test-math-c++.cc: Check the declaration of acosf.
19697         * doc/posix-functions/acosf.texi: Mention the new module.
19698
19699         acos: Use a .m4 file.
19700         * m4/acos.m4: New file.
19701         * modules/acos (Files): Add it.
19702         (configure.ac): Just invoke gl_FUNC_ACOS.
19703
19704 2011-10-08  Bruno Haible  <bruno@clisp.org>
19705
19706         Tests for module 'asinf'.
19707         * modules/asinf-tests: New file.
19708         * tests/test-asinf.c: New file.
19709
19710         New module 'asinf'.
19711         * lib/math.in.h (asinf): New declaration.
19712         * lib/asinf.c: New file.
19713         * m4/asinf.m4: New file.
19714         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
19715         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
19716         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
19717         * modules/asinf: New file.
19718         * tests/test-math-c++.cc: Check the declaration of asinf.
19719         * doc/posix-functions/asinf.texi: Mention the new module.
19720
19721         asin: Use a .m4 file.
19722         * m4/asin.m4: New file.
19723         * modules/asin (Files): Add it.
19724         (configure.ac): Just invoke gl_FUNC_ASIN.
19725
19726 2011-10-08  Bruno Haible  <bruno@clisp.org>
19727
19728         Tests for module 'tanf'.
19729         * modules/tanf-tests: New file.
19730         * tests/test-tanf.c: New file.
19731
19732         New module 'tanf'.
19733         * lib/math.in.h (tanf): New declaration.
19734         * lib/tanf.c: New file.
19735         * m4/tanf.m4: New file.
19736         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
19737         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
19738         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
19739         * modules/tanf: New file.
19740         * tests/test-math-c++.cc: Check the declaration of tanf.
19741         * doc/posix-functions/tanf.texi: Mention the new module.
19742
19743         tan: Use a .m4 file.
19744         * m4/tan.m4: New file.
19745         * modules/tan (Files): Add it.
19746         (configure.ac): Just invoke gl_FUNC_TAN.
19747
19748 2011-10-08  Bruno Haible  <bruno@clisp.org>
19749
19750         Tests for module 'cosf'.
19751         * modules/cosf-tests: New file.
19752         * tests/test-cosf.c: New file.
19753
19754         New module 'cosf'.
19755         * lib/math.in.h (cosf): New declaration.
19756         * lib/cosf.c: New file.
19757         * m4/cosf.m4: New file.
19758         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
19759         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
19760         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
19761         * modules/cosf: New file.
19762         * tests/test-math-c++.cc: Check the declaration of cosf.
19763         * doc/posix-functions/cosf.texi: Mention the new module.
19764
19765         cos: Use a .m4 file.
19766         * m4/cos.m4: New file.
19767         * modules/cos (Files): Add it.
19768         (configure.ac): Just invoke gl_FUNC_COS.
19769
19770 2011-10-08  Bruno Haible  <bruno@clisp.org>
19771
19772         Tests for module 'sinf'.
19773         * modules/sinf-tests: New file.
19774         * tests/test-sinf.c: New file.
19775
19776         New module 'sinf'.
19777         * lib/math.in.h (sinf): New declaration.
19778         * lib/sinf.c: New file.
19779         * m4/sinf.m4: New file.
19780         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
19781         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
19782         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
19783         * modules/sinf: New file.
19784         * tests/test-math-c++.cc: Check the declaration of sinf.
19785         * doc/posix-functions/sinf.texi: Mention the new module.
19786
19787         sin: Use a .m4 file.
19788         * m4/sin.m4: New file.
19789         * modules/sin (Files): Add it.
19790         (configure.ac): Just invoke gl_FUNC_SIN.
19791
19792 2011-10-08  Bruno Haible  <bruno@clisp.org>
19793
19794         Tests for module 'powf'.
19795         * modules/powf-tests: New file.
19796         * tests/test-powf.c: New file.
19797
19798         New module 'powf'.
19799         * lib/math.in.h (powf): New declaration.
19800         * lib/powf.c: New file.
19801         * m4/powf.m4: New file.
19802         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
19803         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
19804         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
19805         * modules/powf: New file.
19806         * tests/test-math-c++.cc: Check the declaration of powf.
19807         * doc/posix-functions/powf.texi: Mention the new module.
19808
19809         pow: Use a .m4 file.
19810         * m4/pow.m4: New file.
19811         * modules/pow (Files): Add it.
19812         (configure.ac): Just invoke gl_FUNC_POW.
19813
19814 2011-10-08  Bruno Haible  <bruno@clisp.org>
19815
19816         Tests for module 'log10f'.
19817         * modules/log10f-tests: New file.
19818         * tests/test-log10f.c: New file.
19819
19820         New module 'log10f'.
19821         * lib/math.in.h (log10f): New declaration.
19822         * lib/log10f.c: New file.
19823         * m4/log10f.m4: New file.
19824         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
19825         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
19826         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
19827         * modules/log10f: New file.
19828         * tests/test-math-c++.cc: Check the declaration of log10f.
19829         * doc/posix-functions/log10f.texi: Mention the new module.
19830
19831         log10: Use a .m4 file.
19832         * m4/log10.m4: New file.
19833         * modules/log10 (Files): Add it.
19834         (configure.ac): Just invoke gl_FUNC_LOG10.
19835
19836 2011-10-08  Bruno Haible  <bruno@clisp.org>
19837
19838         Tests for module 'logf'.
19839         * modules/logf-tests: New file.
19840         * tests/test-logf.c: New file.
19841
19842         New module 'logf'.
19843         * lib/math.in.h (logf): New declaration.
19844         * lib/logf.c: New file.
19845         * m4/logf.m4: New file.
19846         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
19847         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
19848         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
19849         * modules/logf: New file.
19850         * tests/test-math-c++.cc: Check the declaration of logf.
19851         * doc/posix-functions/logf.texi: Mention the new module.
19852
19853         log: Use a .m4 file.
19854         * m4/log.m4: New file.
19855         * modules/log (Files): Add it.
19856         (configure.ac): Just invoke gl_FUNC_LOG.
19857
19858 2011-10-08  Bruno Haible  <bruno@clisp.org>
19859
19860         Tests for module 'expf'.
19861         * modules/expf-tests: New file.
19862         * tests/test-expf.c: New file.
19863
19864         New module 'expf'.
19865         * lib/math.in.h (expf): New declaration.
19866         * lib/expf.c: New file.
19867         * m4/expf.m4: New file.
19868         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
19869         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
19870         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
19871         * modules/expf: New file.
19872         * tests/test-math-c++.cc: Check the declaration of expf.
19873         * doc/posix-functions/expf.texi: Mention the new module.
19874
19875         exp: Use a .m4 file.
19876         * m4/exp.m4: New file.
19877         * modules/exp (Files): Add it.
19878         (configure.ac): Just invoke gl_FUNC_EXP.
19879
19880 2011-10-08  Bruno Haible  <bruno@clisp.org>
19881
19882         Tests for module 'sqrtf'.
19883         * modules/sqrtf-tests: New file.
19884         * tests/test-sqrtf.c: New file.
19885
19886         New module 'sqrtf'.
19887         * lib/math.in.h (sqrtf): New declaration.
19888         * lib/sqrtf.c: New file.
19889         * m4/sqrtf.m4: New file.
19890         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
19891         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
19892         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
19893         * modules/sqrtf: New file.
19894         * tests/test-math-c++.cc: Check the declaration of sqrtf.
19895         * doc/posix-functions/sqrtf.texi: Mention the new module.
19896
19897 2011-10-08  Bruno Haible  <bruno@clisp.org>
19898
19899         Tests: Avoid link failures w.r.t. libintl.
19900         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
19901         $(LIBINTL).
19902         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
19903         $(LIBINTL).
19904         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
19905         against $(LIBINTL).
19906         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
19907         $(LIBINTL).
19908         * modules/openat-tests (Makefile.am): Link test-fchmodat against
19909         $(LIBINTL).
19910         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
19911
19912 2011-10-08  Bruno Haible  <bruno@clisp.org>
19913
19914         pow tests: Defeat compiler optimizations.
19915         * tests/test-pow.c (main): Assign arguments to x and y before use.
19916
19917 2011-10-08  Bruno Haible  <bruno@clisp.org>
19918
19919         gnulib-tool: Improve last commit.
19920         * gnulib-tool (func_modules_transitive_closure): Simplify code.
19921         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
19922         ignore dependencies that are not among the modules list.
19923
19924 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
19925
19926         gnulib-tool: don't follow dependencies to avoided modules
19927         This fixes a bug that is related to the previous one.
19928         * gnulib-tool (func_modules_transitive_closure)
19929         (func_emit_autoconf_snippets):
19930         Check whether a dependency is acceptable before using it.
19931         (--extract-dependencies): Report an error if --avoid is also used,
19932         since this combination of options is not yet supported.
19933
19934         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
19935         Problem reported by Peter Dyballa in
19936         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
19937         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
19938         when echoing "$condition".
19939
19940 2011-10-07  Bruno Haible  <bruno@clisp.org>
19941
19942         Fix documentation about math functions on MacOS X.
19943         * doc/posix-functions/exp2.texi: Don't say the function is missing on
19944         MacOS X 10.5.
19945         * doc/posix-functions/fdim.texi: Likewise.
19946         * doc/posix-functions/feclearexcept.texi: Likewise.
19947         * doc/posix-functions/fegetenv.texi: Likewise.
19948         * doc/posix-functions/fegetround.texi: Likewise.
19949         * doc/posix-functions/feholdexcept.texi: Likewise.
19950         * doc/posix-functions/feraiseexcept.texi: Likewise.
19951         * doc/posix-functions/fesetenv.texi: Likewise.
19952         * doc/posix-functions/fesetround.texi: Likewise.
19953         * doc/posix-functions/fetestexcept.texi: Likewise.
19954         * doc/posix-functions/feupdateenv.texi: Likewise.
19955         * doc/posix-functions/fmax.texi: Likewise.
19956         * doc/posix-functions/fmin.texi: Likewise.
19957         * doc/posix-functions/log2.texi: Likewise.
19958         * doc/posix-functions/modff.texi: Likewise.
19959         * doc/posix-functions/nan.texi: Likewise.
19960         * doc/posix-functions/nanf.texi: Likewise.
19961         * doc/posix-functions/nextafterf.texi: Likewise.
19962         * doc/posix-functions/remquo.texi: Likewise.
19963
19964 2011-10-07  Bruno Haible  <bruno@clisp.org>
19965
19966         modff: Drop assumption about library that defines modff.
19967         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
19968         AC_CHECK_FUNCS.
19969         * modules/modff (Files): Add m4/mathfunc.m4.
19970
19971 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
19972
19973         raise tests: Avoid a GCC warning.
19974         * tests/test-raise.c (handler): Use _Noreturn.
19975
19976 2011-10-07  Bruno Haible  <bruno@clisp.org>
19977
19978         Tests for module 'ldexpf'.
19979         * modules/ldexpf-tests: New file.
19980         * tests/test-ldexpf.c: New file.
19981
19982         New module 'ldexpf'.
19983         * lib/math.in.h (ldexpf): New declaration.
19984         * lib/ldexpf.c: New file.
19985         * m4/ldexpf.m4: New file.
19986         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
19987         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
19988         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
19989         * modules/ldexpf: New file.
19990         * tests/test-math-c++.cc: Check the declaration of ldexpf.
19991         * doc/posix-functions/ldexpf.texi: Mention the new module.
19992
19993 2011-10-06  Bruno Haible  <bruno@clisp.org>
19994
19995         frexpf: Work around problems on IRIX and mingw.
19996         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
19997         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
19998         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
19999         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
20000         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
20001         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
20002         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
20003
20004 2011-10-06  Bruno Haible  <bruno@clisp.org>
20005
20006         fabsf: Drop assumption about library that defines fabsf.
20007         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
20008         AC_CHECK_FUNCS.
20009         * modules/fabsf (Files): Add m4/mathfunc.m4.
20010
20011 2011-10-06  Bruno Haible  <bruno@clisp.org>
20012
20013         frexpf: Drop assumption about library that defines frexpf.
20014         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
20015         'int *', 'float *', 'long double *', 'float', 'long double'.
20016         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
20017         AC_CHECK_FUNCS.
20018         * modules/frexpf (Files): Add m4/mathfunc.m4.
20019
20020         Tests for module 'frexpf'.
20021         * modules/frexpf-tests: New file.
20022         * tests/test-frexpf.c: New file.
20023
20024         New module 'frexpf'.
20025         * lib/math.in.h (frexpf): New declaration.
20026         * lib/frexpf.c: New file.
20027         * m4/frexpf.m4: New file.
20028         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
20029         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
20030         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
20031         * modules/frexpf: New file.
20032         * tests/test-math-c++.cc: Check the declaration of frexpf.
20033         * doc/posix-functions/frexpf.texi: Mention the new module.
20034
20035 2011-10-06  Bruno Haible  <bruno@clisp.org>
20036
20037         math: Sort function declarations of math.in.h.
20038         * lib/math.in.h (frexp, logb): Move declarations.
20039
20040 2011-10-05  Bruno Haible  <bruno@clisp.org>
20041
20042         Tests for module 'modff'.
20043         * modules/modff-tests: New file.
20044         * tests/test-modff.c: New file.
20045
20046         New module 'modff'.
20047         * lib/math.in.h (modff): New declaration.
20048         * lib/modff.c: New file.
20049         * m4/modff.m4: New file.
20050         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
20051         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
20052         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
20053         * modules/modff: New file.
20054         * tests/test-math-c++.cc: Check the declaration of modff.
20055         * doc/posix-functions/modff.texi: Mention the new module.
20056
20057         modf tests: Make test sharper.
20058         * tests/test-modf.c (main): Strengthen upper bound.
20059
20060         modf: Use a .m4 file.
20061         * m4/modf.m4: New file.
20062         * modules/modf (Files): Add it.
20063         (configure.ac): Just invoke gl_FUNC_MODF.
20064
20065 2011-10-05  Bruno Haible  <bruno@clisp.org>
20066
20067         Tests for module 'fmodf'.
20068         * modules/fmodf-tests: New file.
20069         * tests/test-fmodf.c: New file.
20070
20071         New module 'fmodf'.
20072         * lib/math.in.h (fmodf): New declaration.
20073         * lib/fmodf.c: New file.
20074         * m4/fmodf.m4: New file.
20075         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
20076         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
20077         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
20078         * modules/fmodf: New file.
20079         * tests/test-math-c++.cc: Check the declaration of fmodf.
20080         * doc/posix-functions/fmodf.texi: Mention the new module.
20081
20082         fmod: Use a .m4 file.
20083         * m4/fmod.m4: New file.
20084         * modules/fmod (Files): Add it.
20085         (configure.ac): Just invoke gl_FUNC_FMOD.
20086
20087 2011-10-05  Bruno Haible  <bruno@clisp.org>
20088
20089         Tests for module 'fabsf'.
20090         * modules/fabsf-tests: New file.
20091         * tests/test-fabsf.c: New file.
20092
20093         New module 'fabsf'.
20094         * lib/math.in.h (fabsf): New declaration.
20095         * lib/fabsf.c: New file.
20096         * m4/fabsf.m4: New file.
20097         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
20098         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
20099         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
20100         * modules/fabsf: New file.
20101         * tests/test-math-c++.cc: Check the declaration of fabsf.
20102         * doc/posix-functions/fabsf.texi: Mention the new module.
20103
20104         fabs: Use a .m4 file.
20105         * m4/fabs.m4: New file.
20106         * modules/fabs (Files): Add it.
20107         (configure.ac): Just invoke gl_FUNC_FABS.
20108
20109 2011-10-05  Jim Meyering  <meyering@redhat.com>
20110
20111         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
20112         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
20113         ls -lL regression introduced in coreutils-8.12, it does so at the
20114         cost of an additional stat call in the common case.  Besides, now
20115         that the kernel change that prompted commit 95f7c57f has been reverted
20116         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
20117         we have no use for commit 95f7c57f, "file-has-acl: use
20118         acl_extended_file_nofollow if available".
20119
20120 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
20121
20122         file-has-acl: revert unintended change in behavior of ls -L
20123         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
20124         derived from...
20125         (file_has_acl): ...code here.  Call it.
20126         This problem was introduced with 2011-07-22 commit 95f7c57f,
20127         "file-has-acl: use acl_extended_file_nofollow if available".
20128         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
20129
20130 2011-10-03  Bruno Haible  <bruno@clisp.org>
20131
20132         poll: Avoid link errors on MSVC.
20133         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
20134         * modules/poll (Depends-on): Add sockets.
20135         (Link): New section.
20136         * NEWS: Mention the change.
20137         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
20138         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
20139         $(LIB_POLL) instead of $(LIBSOCKET).
20140
20141 2011-10-03  Bruno Haible  <bruno@clisp.org>
20142
20143         sys_select tests: Fix link error on MSVC 9.
20144         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
20145         with $(LIB_SELECT) instead of $(LIBSOCKET).
20146
20147 2011-10-03  Bruno Haible  <bruno@clisp.org>
20148
20149         sys_select: Fix compilation error on mingw.
20150         * lib/sys_select.in.h: On native Windows, include <io.h>.
20151
20152 2011-10-03  Bruno Haible  <bruno@clisp.org>
20153
20154         wmemset: Support for MSVC.
20155         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
20156         whether wmemset() exists.
20157
20158 2011-10-03  Bruno Haible  <bruno@clisp.org>
20159
20160         wmemmove: Support for MSVC.
20161         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
20162         whether wmemmove() exists.
20163
20164 2011-10-03  Bruno Haible  <bruno@clisp.org>
20165
20166         wmemcpy: Support for MSVC.
20167         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
20168         whether wmemcpy() exists.
20169
20170 2011-10-03  Bruno Haible  <bruno@clisp.org>
20171
20172         wmemcmp: Support for MSVC.
20173         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
20174         whether wmemcmp() exists.
20175
20176 2011-10-03  Bruno Haible  <bruno@clisp.org>
20177
20178         wmemchr: Support for MSVC.
20179         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
20180         whether wmemchr() exists.
20181
20182 2011-10-03  Bruno Haible  <bruno@clisp.org>
20183
20184         glthread/*, strsignal: Support for MSVC.
20185         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
20186         including <winsock.h> on MSVC 9.
20187         * lib/glthread/lock.h: Likewise.
20188         * lib/glthread/thread.h: Likewise.
20189         * lib/glthread/tls.h: Likewise.
20190         * lib/glthread/yield.h: Likewise.
20191         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
20192         if HAVE_UNISTD_H is false.
20193         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
20194
20195 2011-10-03  Bruno Haible  <bruno@clisp.org>
20196
20197         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
20198         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
20199         Set to 100000.
20200
20201 2011-10-03  Bruno Haible  <bruno@clisp.org>
20202
20203         acl: Fix specification.
20204         * lib/file-has-acl.c (file_has_acl): Fix specification.
20205
20206 2011-10-03  Bruno Haible  <bruno@clisp.org>
20207
20208         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
20209         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
20210         (compute_curr_prefix, shared_library_fullname,
20211         find_shared_library_fullname, get_shared_library_fullname, relocate):
20212         Use it together with PIC && INSTALLDIR.
20213         Reported by <jojelino@gmail.com>
20214         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
20215
20216 2011-10-01  Jim Meyering  <meyering@redhat.com>
20217
20218         maint.mk: adjust a release-related rule not to require use of gzip
20219         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
20220         Instead, check each file in $(DIST_ARCHIVES).  This is better for
20221         projects that build only .tar.xz files.  Also fix an erroneous test.
20222
20223         test-linkat: don't leave behind a temporary file
20224         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
20225         Otherwise, coreutils' "make distcheck" would fail with this:
20226           Only in /c/cu/tests/torture/coreutils/test/\
20227             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
20228           make[2]: *** [my-distcheck] Error 1
20229
20230         float, math: add omitted file
20231         * lib/itold.c: Add file, required for yesterday's float change.
20232
20233 2011-10-01  Bruno Haible  <bruno@clisp.org>
20234
20235         isinf: Fix for OpenBSD/x86.
20236         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
20237         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
20238         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
20239
20240 2011-10-01  Bruno Haible  <bruno@clisp.org>
20241
20242         isfinite: Fix syntax error in configure test.
20243         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
20244
20245         isfinite: Fix typo.
20246         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
20247         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
20248
20249 2011-10-01  Bruno Haible  <bruno@clisp.org>
20250
20251         nonblocking tests: Fix test failure on Linux/IA-64.
20252         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
20253         Set to 270000.
20254
20255 2011-10-01  Bruno Haible  <bruno@clisp.org>
20256
20257         mkfifoat tests: Fix a test failure on mingw.
20258         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
20259         with error ENOSYS.
20260
20261 2011-09-30  Bruno Haible  <bruno@clisp.org>
20262
20263         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
20264         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
20265         'long double'. Set REPLACE_ITOLD.
20266         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
20267         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
20268         * lib/itold.c: New file.
20269         * modules/float (Files): Add lib/itold.c.
20270         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
20271         (Makefile.am): Substitute REPLACE_ITOLD.
20272         * modules/math (Depends-on): Add float.
20273         (Makefile.am): Substitute REPLACE_ITOLD.
20274         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
20275         * doc/posix-headers/math.texi: Likewise.
20276         * doc/posix-functions/logl.texi: Likewise.
20277
20278 2011-09-30  Bruno Haible  <bruno@clisp.org>
20279
20280         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
20281         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
20282         Set to 140000.
20283
20284 2011-09-30  Bruno Haible  <bruno@clisp.org>
20285
20286         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
20287         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
20288         invocation, say "right after AC_PROG_CC_STDC", not "right after
20289         AC_PROG_CC".
20290         Reported by Gary V. Vaughan <gary@gnu.org>.
20291
20292 2011-09-30  Bruno Haible  <bruno@clisp.org>
20293
20294         Centralize C99 requirement.
20295         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
20296         * modules/stdarg (configure.ac-early): Invoke it instead of
20297         AC_PROG_CC_STDC.
20298         Reported by Gary V. Vaughan and Paul Eggert.
20299
20300 2011-09-29  Bruno Haible  <bruno@clisp.org>
20301
20302         float: Fix LDBL_MAX value on Linux/PowerPC.
20303         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
20304         on Linux/PowerPC.
20305         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
20306         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
20307         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
20308         platform.
20309         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
20310
20311 2011-09-29  Bruno Haible  <bruno@clisp.org>
20312
20313         doc: Improve doc about gl_EARLY.
20314         * doc/gnulib-tool.texi (Initial import): Mention where to place an
20315         AC_PROG_CC_STDC invocation.
20316         Reported by Gary V. Vaughan <gary@gnu.org>.
20317
20318 2011-09-28  Bruno Haible  <bruno@clisp.org>
20319
20320         fgetc, fputc, fread, fwrite tests: Fix link error.
20321         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
20322         on non-MSVC platforms.
20323         * tests/test-fputc.c (main): Likewise.
20324         * tests/test-fread.c (main): Likewise.
20325         * tests/test-fwrite.c (main): Likewise.
20326         Reported by Jim Meyering.
20327
20328 2011-09-27  Bruno Haible  <bruno@clisp.org>
20329
20330         fputc, fwrite tests: Avoid test failure on MSVC.
20331         * tests/test-fgetc.c: Include msvc-inval.h.
20332         (main): Invoke gl_msvc_inval_ensure_handler.
20333         * tests/test-fputc.c: Include msvc-inval.h.
20334         (main): Invoke gl_msvc_inval_ensure_handler.
20335         * tests/test-fread.c: Include msvc-inval.h.
20336         (main): Invoke gl_msvc_inval_ensure_handler.
20337         * tests/test-fwrite.c: Include msvc-inval.h.
20338         (main): Invoke gl_msvc_inval_ensure_handler.
20339         * modules/fgetc-tests (Depends-on): Add msvc-inval.
20340         * modules/fputc-tests (Depends-on): Likewise.
20341         * modules/fread-tests (Depends-on): Likewise.
20342         * modules/fwrite-tests (Depends-on): Likewise.
20343
20344 2011-09-27  Bruno Haible  <bruno@clisp.org>
20345
20346         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
20347         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
20348         (raise): Remove older, duplicated declaration.
20349         (_gl_raise_SIGPIPE): New declaration.
20350         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
20351         (rpl_raise): Remove function.
20352         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
20353         a gnulib-defined SIGPIPE here.
20354         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
20355         'sigprocmask' has detected missing signal-blocking and the module
20356         'sigpipe' is enabled.
20357         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
20358
20359 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
20360
20361         base64-tests: avoid memory leak
20362         * tests/test-base64.c (main): Plug memory leak.
20363
20364         base32: new module
20365         * modules/base32: New module.
20366         * lib/base32.c: New file.
20367         * lib/base32.h: Likewise.
20368         * m4/base32.m4: Likewise.
20369         * modules/base32-tests: New test.
20370         * tests/test-base32.c: Likewise.
20371         * MODULES.html.sh (Misc): Mention it.
20372
20373 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
20374
20375         gnulib: use more-standard license notice wording
20376         * gnulib-tool (func_emit_copyright_notice): When emitting a
20377         license notice into a file, use the standard wording as suggested
20378         by the current information for GNU maintainers, except say "file"
20379         rather than "program".  The new wording gives a license version
20380         number, which addresses an issue raised by Glenn Morris in
20381         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
20382         * m4/onceonly.m4: Use that same wording here, too.
20383
20384         dup2: minor simplification
20385         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
20386         as lib/dup2.c no longer uses 'inline'.
20387
20388 2011-09-25  Bruno Haible  <bruno@clisp.org>
20389
20390         strings: Fix compilation error on MSVC.
20391         * lib/strings.in.h: Include <stddef.h> for size_t.
20392
20393 2011-09-25  Bruno Haible  <bruno@clisp.org>
20394
20395         fflush et al.: Document limitation on MSVC.
20396         * doc/posix-functions/fflush.texi: Document possible crash in handling
20397         mode other than DEFAULT_HANDLING.
20398         * doc/posix-functions/fgetc.texi: Likewise.
20399         * doc/posix-functions/fputc.texi: Likewise.
20400         * doc/posix-functions/fread.texi: Likewise.
20401         * doc/posix-functions/fwrite.texi: Likewise.
20402
20403 2011-09-25  Bruno Haible  <bruno@clisp.org>
20404
20405         msvc-inval: Allow three invalid parameter handling modes.
20406         * lib/msvc-inval.h: Don't include <stdlib.h> here.
20407         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
20408         macros.
20409         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
20410         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
20411         SANE_LIBRARY_HANDLING as a no-op.
20412         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
20413         <stdlib.h>.
20414         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
20415
20416 2011-09-25  Bruno Haible  <bruno@clisp.org>
20417
20418         msvc-inval: Make handler multithread-safe.
20419         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
20420         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
20421         declarations.
20422         (gl_msvc_inval_current): New declaration.
20423         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
20424         Operate on the structure returned by gl_msvc_inval_current().
20425         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
20426         Remove varaiables.
20427         (tls_index, tls_initialized): New variables.
20428         (not_per_thread): New variable.
20429         (gl_msvc_inval_current): New function.
20430         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
20431         returned by gl_msvc_inval_current().
20432
20433 2011-09-25  Bruno Haible  <bruno@clisp.org>
20434
20435         msvc-inval: Install handler globally.
20436         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
20437         !_MSC_VER.
20438         (gl_msvc_invalid_parameter_handler): Remove declaration.
20439         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
20440         declarations.
20441         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
20442         Install the handler globally, don't uninstall it.
20443         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
20444         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
20445         currently valid, call RaiseException instead.
20446         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
20447         for !_MSC_VER.
20448
20449 2011-09-25  Bruno Haible  <bruno@clisp.org>
20450
20451         strerror_r-posix: Fix for MSVC 9.
20452         * lib/strerror_r.c (local_snprintf): New function.
20453         (snprintf): Define to local_snprintf, not to _snprintf.
20454
20455 2011-09-25  Bruno Haible  <bruno@clisp.org>
20456
20457         ftruncate: Support for MSVC 9.
20458         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
20459         (chsize_nothrow): New function.
20460         (chsize): Redefine as a macro.
20461         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
20462         * modules/ftruncate (Depends-on): Add msvc-inval.
20463
20464 2011-09-25  Bruno Haible  <bruno@clisp.org>
20465
20466         New module 'fstat'.
20467         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
20468         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
20469         * lib/fchdir.c (rpl_fstat): Remove function.
20470         * m4/fstat.m4: New file.
20471         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
20472         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
20473         declared.
20474         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
20475         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
20476         * modules/fstat: New file.
20477         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
20478         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
20479         is set.
20480         * doc/posix-functions/fstat.texi: Mention the new module and the
20481         problem on MSVC.
20482         * NEWS: Mention the change.
20483         * modules/acl (Depends-on): Add fstat.
20484         * modules/chdir-safer (Depends-on): Likewise.
20485         * modules/chown (Depends-on): Likewise.
20486         * modules/copy-file (Depends-on): Likewise.
20487         * modules/fchdir (Depends-on): Likewise.
20488         * modules/fdopendir (Depends-on): Likewise.
20489         * modules/fopen (Depends-on): Likewise.
20490         * modules/fts (Depends-on): Likewise.
20491         * modules/getcwd (Depends-on): Likewise.
20492         * modules/isapipe (Depends-on): Likewise.
20493         * modules/linkat (Depends-on): Likewise.
20494         * modules/lseek (Depends-on): Likewise.
20495         * modules/mkdir-p (Depends-on): Likewise.
20496         * modules/open (Depends-on): Likewise.
20497         * modules/openat (Depends-on): Likewise.
20498         * modules/read-file (Depends-on): Likewise.
20499         * modules/renameat (Depends-on): Likewise.
20500         * modules/utimens (Depends-on): Likewise.
20501
20502 2011-09-25  Bruno Haible  <bruno@clisp.org>
20503
20504         linkat: Fix compilation on MSVC 9.
20505         * lib/linkat.c: Don't include <stdint.h>.
20506
20507 2011-09-25  Bruno Haible  <bruno@clisp.org>
20508
20509         fclose: Support for MSVC 9.
20510         * lib/fclose.c: Include msvc-inval.h.
20511         (fclose_nothrow): New function.
20512         (rpl_fclose): Use it.
20513         * modules/fclose (Depends-on): Add msvc-inval.
20514         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
20515
20516 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
20517
20518         dup2: minor simplifications
20519         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
20520         that it's a performance win.
20521         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
20522         ! defined __CYGWIN__)" to "ifdef F_GETFL".
20523
20524 2011-09-24  Jim Meyering  <meyering@redhat.com>
20525
20526         test-futimens: avoid a warning from gcc -Wshadow
20527         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
20528         to avoid a shadowing warning.
20529
20530 2011-09-24  Bruno Haible  <bruno@clisp.org>
20531
20532         fdopen: Support for MSVC 9.
20533         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
20534         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
20535         * lib/fdopen.c: Include msvc-inval.h.
20536         (fdopen_nothrow): New function.
20537         (rpl_fdopen): Use it.
20538         * modules/fdopen (Depends-on): Add msvc-inval.
20539         * modules/fclose-tests (Depends-on): Add fdopen.
20540         * modules/fflush-tests (Depends-on): Likewise.
20541         * modules/fgetc-tests (Depends-on): Likewise.
20542         * modules/fputc-tests (Depends-on): Likewise.
20543         * modules/fread-tests (Depends-on): Likewise.
20544         * modules/freopen-tests (Depends-on): Likewise.
20545         * modules/fseeko-tests (Depends-on): Likewise.
20546         * modules/ftello-tests (Depends-on): Likewise.
20547         * modules/fwrite-tests  (Depends-on): Likewise.
20548         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
20549
20550 2011-09-24  Bruno Haible  <bruno@clisp.org>
20551
20552         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
20553         * modules/fgetc-tests (Depends-on): Add unistd.
20554         * modules/fputc-tests (Depends-on): Likewise.
20555         * modules/fread-tests (Depends-on): Likewise.
20556         * modules/fwrite-tests (Depends-on): Likewise.
20557
20558 2011-09-24  Bruno Haible  <bruno@clisp.org>
20559
20560         dup: Simplify autoconf test.
20561         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
20562         on gl_MSVC_INVAL's result.
20563
20564 2011-09-24  Bruno Haible  <bruno@clisp.org>
20565
20566         Tests for function fwrite().
20567         * modules/fwrite-tests: New file.
20568         * tests/test-fwrite.c: New file.
20569         * modules/stdio-tests (Depends-on): Add fwrite-tests.
20570
20571         Tests for function fread().
20572         * modules/fread-tests: New file.
20573         * tests/test-fread.c: New file.
20574         * modules/stdio-tests (Depends-on): Add fread-tests.
20575
20576         Activate fputc tests.
20577         * modules/stdio-tests (Depends-on): Add fputc-tests.
20578
20579         Enhance fgetc, fputc tests.
20580         * tests/test-fgetc.c (main): Also test the stream's error indicator.
20581         * tests/test-fputc.c (main): Likewise.
20582
20583 2011-09-24  Bruno Haible  <bruno@clisp.org>
20584
20585         write: Support for MSVC 9.
20586         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
20587         is not 1.
20588         * lib/write.c (write_nothrow): New function.
20589         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
20590         not 1. Use write_nothrow.
20591         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
20592         invalid parameter handler.
20593         (gl_PREREQ_WRITE): New macro.
20594         * modules/write (Depends-on): Add msvc-inval.
20595         (configure.ac): Invoke gl_PREREQ_WRITE.
20596         * doc/posix-functions/write.texi: Mention the problem on MSVC.
20597
20598 2011-09-24  Bruno Haible  <bruno@clisp.org>
20599
20600         read: Fix last commit.
20601         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
20602
20603 2011-09-24  Bruno Haible  <bruno@clisp.org>
20604
20605         dup2: Fix last commit.
20606         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
20607         (rpl_dup2): Disable fcntl workaround on native Windows.
20608
20609         sigprocmask: Make code safer.
20610         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
20611         section that changes macro definitions for this compilation unit.
20612
20613 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
20614
20615         dup2: clarify by coalescing Windows-specific material
20616         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
20617         "msvc-nothrow.h"' to the Windows-specific section, so that the
20618         Emacs source need not contain these include files.
20619         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
20620         Windows-specific fixes into this function rather than just the
20621         nothrow fix, as this shortens and clarifies the code.  Always
20622         define as a function, as that's a bit cleaner than having it be
20623         sometimes a function and sometimes a macro.
20624         (rpl_dup2): Move the Windows-specific stuff out of here and into
20625         ms_windows_dup2.  Don't protect the Haiku-related fix with
20626         "#if !defined __linux__", as the same code also works around
20627         a Linux kernel bug, and it doesn't add any system calls on any
20628         platform.  Add comment about FreeBSD 6.1.
20629
20630         sigprocmask: move #include directive
20631         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
20632         Windows-specific section, so that the Emacs source need not
20633         contain msvc-inval.h.
20634
20635 2011-09-23  Bruno Haible  <bruno@clisp.org>
20636
20637         read: Support for MSVC 9.
20638         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
20639         is not 1.
20640         * lib/read.c (read_nothrow): New function.
20641         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
20642         read_nothrow.
20643         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
20644         invalid parameter handler.
20645         (gl_PREREQ_READ): New macro.
20646         * modules/read (Depends-on): Add msvc-inval.
20647         (configure.ac): Invoke gl_PREREQ_READ.
20648         * doc/posix-functions/read.texi: Mention the problem on MSVC.
20649
20650 2011-09-23  Bruno Haible  <bruno@clisp.org>
20651
20652         close: Support for MSVC 9.
20653         * lib/close.c: Include <errno.h>, msvc-inval.h.
20654         (close_nothrow): New function.
20655         (rpl_close): Use it.
20656         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
20657         invalid parameter handler.
20658         * modules/close (Depends-on): Add msvc-inval.
20659         * modules/dup2-tests (Depends-on): Add close.
20660         * modules/dup3-tests (Depends-on): Likewise.
20661         * modules/fcntl-tests (Depends-on): Likewise.
20662         * modules/spawn-pipe-tests (Depends-on): Likewise.
20663         * modules/unistd-safer-tests (Depends-on): Likewise.
20664         * doc/posix-functions/close.texi: Mention the problem on MSVC.
20665
20666 2011-09-23  Bruno Haible  <bruno@clisp.org>
20667
20668         New module 'dup'.
20669         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
20670         Allow replacement.
20671         * lib/dup.c: New file.
20672         * lib/fchdir.c (rpl_dup): Remove function.
20673         * m4/dup.m4: New file.
20674         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
20675         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
20676         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
20677         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
20678         * modules/dup: New file.
20679         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
20680         'dup' module is in use.
20681         * modules/fdopendir (Depends-on): Add dup.
20682         * modules/fdutimensat-tests (Depends-on): Likewise.
20683         * modules/fts (Depends-on): Likewise.
20684         * modules/futimens-tests (Depends-on): Likewise.
20685         * modules/posix_spawnp-tests (Depends-on): Likewise.
20686         * modules/unistd-safer-tests (Depends-on): Likewise.
20687         * modules/utimens-tests (Depends-on): Likewise.
20688         * doc/posix-functions/dup.texi: Mention the new module and the problem
20689         on MSVC.
20690
20691 2011-09-23  Bruno Haible  <bruno@clisp.org>
20692
20693         getdtablesize: Support for MSVC 9.
20694         * lib/getdtablesize.c: Include msvc-inval.h.
20695         (_setmaxstdio_nothrow): New function.
20696         (_setmaxstdio): Redefine it.
20697         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
20698         * modules/getdtablesize (Depends-on): Add msvc-inval.
20699         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
20700
20701 2011-09-23  Bruno Haible  <bruno@clisp.org>
20702
20703         signal-h: Rename from signal.
20704         * modules/signal-h: Renamed from modules/signal.
20705         * modules/pthread_sigmask (Depends-on): Update.
20706         * modules/raise (Depends-on): Likewise.
20707         * modules/sigaction (Depends-on): Likewise.
20708         * modules/sigpipe (Depends-on): Likewise.
20709         * modules/sigprocmask (Depends-on): Likewise.
20710         * modules/sys_select (Depends-on): Likewise.
20711         * modules/signal-h-tests: Renamed from modules/signal-tests.
20712         (Files, Depends-on, Makefile.am): Update.
20713         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
20714         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
20715         (Files, Makefile.am): Update.
20716         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
20717         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
20718         * modules/signal: New placeholder file.
20719         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
20720         * doc/posix-headers/signal.texi: Update.
20721         * NEWS: Mention the change.
20722
20723 2011-09-23  Bruno Haible  <bruno@clisp.org>
20724
20725         sigprocmask: Avoid crashes through signal() on MSVC 9.
20726         * lib/sigprocmask.c: Include msvc-inval.h.
20727         (signal_nothrow): New function.
20728         (signal): Redefine it.
20729         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
20730         * modules/sigprocmask (Depends-on): Add msvc-inval.
20731         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
20732
20733 2011-09-23  Bruno Haible  <bruno@clisp.org>
20734
20735         Tests for module 'raise'.
20736         * modules/raise-tests: New file.
20737         * tests/test-raise.c: New file.
20738
20739         raise: Support for MSVC.
20740         * lib/signal.in.h (raise): New declaration.
20741         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
20742         for native Windows platforms.
20743         * m4/raise.m4: New file.
20744         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
20745         HAVE_RAISE, REPLACE_RAISE.
20746         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
20747         REPLACE_RAISE.
20748         * modules/raise (Status, Notice): Remove fields.
20749         (Files): Add m4/raise.m4.
20750         (Depends-on): Add signal, msvc-inval.
20751         (configure.ac): Use the common idioms.
20752         (Maintainer): Add me.
20753         * tests/test-signal-c++.cc: Check the signature of raise.
20754         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
20755
20756 2011-09-23  Bruno Haible  <bruno@clisp.org>
20757
20758         pipe2: Fix compilation on pre-C99 compilers.
20759         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
20760
20761 2011-09-23  Bruno Haible  <bruno@clisp.org>
20762
20763         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
20764         * lib/msvc-nothrow.h: New file.
20765         * lib/msvc-nothrow.c: New file.
20766         * m4/msvc-nothrow.m4: New file.
20767         * modules/msvc-nothrow: New file.
20768         * lib/dup2.c: Include msvc-nothrow.h.
20769         (rpl_dup2): No need to protect _get_osfhandle call here.
20770         * lib/accept4.c: Include msvc-nothrow.h.
20771         * lib/error.c: Likewise.
20772         * lib/fcntl.c: Likewise.
20773         * lib/lseek.c: Likewise.
20774         * lib/nonblocking.c: Likewise.
20775         * lib/poll.c: Likewise.
20776         * lib/read.c: Likewise.
20777         * lib/select.c: Likewise.
20778         * lib/sockets.h: Likewise.
20779         * lib/sockets.c: Likewise.
20780         * lib/stdio-read.c: Likewise.
20781         * lib/stdio-write.c: Likewise.
20782         * lib/write.c: Likewise.
20783         * lib/w32sock.h: Likewise.
20784         * lib/w32spawn.h: Likewise.
20785         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
20786         * lib/fsync.c: Likewise.
20787         * lib/isapipe.c: Likewise.
20788         * modules/dup2 (Depends-on): Add msvc-nothrow.
20789         * modules/accept4 (Depends-on): Likewise.
20790         * modules/error (Depends-on): Likewise.
20791         * modules/fcntl (Depends-on): Likewise.
20792         * modules/lseek (Depends-on): Likewise.
20793         * modules/nonblocking (Depends-on): Likewise.
20794         * modules/poll (Depends-on): Likewise.
20795         * modules/read (Depends-on): Likewise.
20796         * modules/select (Depends-on): Likewise.
20797         * modules/sockets (Depends-on): Likewise.
20798         * modules/sigpipe (Depends-on): Likewise.
20799         * modules/write (Depends-on): Likewise.
20800         * modules/accept (Depends-on): Likewise.
20801         * modules/bind (Depends-on): Likewise.
20802         * modules/connect (Depends-on): Likewise.
20803         * modules/gethostname (Depends-on): Likewise.
20804         * modules/getpeername (Depends-on): Likewise.
20805         * modules/getsockname (Depends-on): Likewise.
20806         * modules/getsockopt (Depends-on): Likewise.
20807         * modules/ioctl (Depends-on): Likewise.
20808         * modules/listen (Depends-on): Likewise.
20809         * modules/recv (Depends-on): Likewise.
20810         * modules/recvfrom (Depends-on): Likewise.
20811         * modules/send (Depends-on): Likewise.
20812         * modules/sendto (Depends-on): Likewise.
20813         * modules/setsockopt (Depends-on): Likewise.
20814         * modules/shutdown (Depends-on): Likewise.
20815         * modules/socket (Depends-on): Likewise.
20816         * modules/execute (Depends-on): Likewise.
20817         * modules/spawn-pipe (Depends-on): Likewise.
20818         * modules/flock (Depends-on): Likewise.
20819         * modules/fsync (Depends-on): Likewise.
20820         * modules/isapipe (Depends-on): Likewise.
20821         * tests/test-cloexec.c: Include msvc-nothrow.h.
20822         * tests/test-dup-safer.c: Likewise.
20823         * tests/test-dup2.c: Likewise.
20824         * tests/test-dup3.c: Likewise.
20825         * tests/test-fcntl.c: Likewise.
20826         * tests/test-pipe.c: Likewise.
20827         * tests/test-pipe2.c: Likewise.
20828         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
20829         * modules/unistd-safer-tests (Depends-on): Likewise.
20830         * modules/dup2-tests (Depends-on): Likewise.
20831         * modules/dup3-tests (Depends-on): Likewise.
20832         * modules/fcntl-tests (Depends-on): Likewise.
20833         * modules/pipe-posix-tests (Depends-on): Likewise.
20834         * modules/pipe2-tests (Depends-on): Likewise.
20835
20836 2011-09-23  Bruno Haible  <bruno@clisp.org>
20837
20838         dup2: Make code more maintainable.
20839         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
20840         (rpl_dup2): Use it.
20841         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
20842         * modules/dup2 (configure.ac): Invoke it.
20843         Reported by Paul Eggert.
20844
20845 2011-09-23  Bruno Haible  <bruno@clisp.org>
20846
20847         msvc-inval: Fix compilation error.
20848         * lib/msvc-inval.h: Include <excpt.h>.
20849
20850 2011-09-23  Bruno Haible  <bruno@clisp.org>
20851
20852         mkdir: Tweak for MSVC 9.
20853         * lib/sys_stat.in.h: Update comments.
20854         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
20855
20856         Tests for module 'chdir'.
20857         * modules/chdir-tests: New file.
20858         * tests/test-chdir.c: New file.
20859
20860         New module 'chdir'.
20861         * modules/chdir: New file.
20862         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
20863         (chdir): New declaration.
20864         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
20865         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
20866         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
20867         * tests/test-unistd-c++.cc: Check signature of chdir.
20868         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
20869         * modules/chdir-long (Depends-on): Add chdir.
20870         * modules/fchdir (Depends-on): Likewise.
20871         * modules/rename (Depends-on): Likewise.
20872         * modules/savewd (Depends-on): Likewise.
20873
20874         rmdir: Support for mingw, MSVC 9.
20875         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
20876         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
20877
20878         getcwd: Tweak for MSVC 9.
20879         * lib/unistd.in.h: Update comments.
20880         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
20881
20882 2011-09-22  Bruno Haible  <bruno@clisp.org>
20883
20884         strerror_r-posix: Avoid a link error on MSVC.
20885         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
20886         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
20887
20888 2011-09-22  Bruno Haible  <bruno@clisp.org>
20889
20890         select: Avoid link errors on MSVC.
20891         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
20892         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
20893         * modules/pselect (Link): Likewise.
20894         * NEWS: Mention the change.
20895         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
20896         test-select-stdin against $(LIB_SELECT).
20897         * modules/pselect-tests (Makefile.am): Link test-pselect against
20898         $(LIB_SELECT).
20899
20900 2011-09-22  Bruno Haible  <bruno@clisp.org>
20901
20902         select: Avoid compilation error on MSVC.
20903         * lib/select.c: Don't include <stdbool.h>.
20904
20905 2011-09-21  Bruno Haible  <bruno@clisp.org>
20906
20907         Consolidate all uses of PATH_MAX in *.m4 files.
20908         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
20909         macros.
20910         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
20911         and gl_PATHMAX_SNIPPET.
20912         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
20913         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
20914         * modules/chdir-long (Files): Add m4/pathmax.m4.
20915         * modules/getcwd (Files): Likewise.
20916
20917 2011-09-21  Bruno Haible  <bruno@clisp.org>
20918
20919         ftruncate: Un-deprecate, concentrate on Win32 support.
20920         * modules/ftruncate (Status, Notice): Remove sections.
20921         (Depends-on): Add largefile.
20922         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
20923         non-mingw platforms.
20924         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
20925         include <io.h>.
20926         * modules/perror-tests (Depends-on): Add ftruncate.
20927         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
20928         'ftruncate' module.
20929
20930 2011-09-21  Bruno Haible  <bruno@clisp.org>
20931
20932         Add dependencies to new dirent related modules.
20933         * modules/opendir (Depends-on): Add closedir.
20934         * modules/getcwd (Depends-on): Add opendir, closedir.
20935         * modules/dirent-safer-tests (Depends-on): Likewise.
20936         * modules/fdopendir-tests (Depends-on): Likewise.
20937         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
20938         * modules/renameat-tests (Depends-on): Likewise.
20939
20940 2011-09-21  Bruno Haible  <bruno@clisp.org>
20941
20942         opendir: Avoid compilation error on mingw.
20943         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
20944         * modules/opendir (Depends-on): Add unistd.
20945
20946 2011-09-21  Bruno Haible  <bruno@clisp.org>
20947
20948         ftruncate tests: Avoid a test failure on mingw.
20949         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
20950
20951 2011-09-21  Bruno Haible  <bruno@clisp.org>
20952
20953         select tests: Avoid test failures on OSF/1 5.1 and mingw.
20954         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
20955         native Windows.
20956
20957 2011-09-21  Bruno Haible  <bruno@clisp.org>
20958
20959         New module 'fdopen'.
20960         * lib/stdio.in.h (fdopen): New declaration.
20961         * lib/fdopen.c: New file.
20962         * m4/fdopen.m4: New file.
20963         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
20964         REPLACE_FDOPEN.
20965         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
20966         REPLACE_FDOPEN.
20967         * modules/fdopen: New file.
20968         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
20969         * tests/test-stdio-c++.cc: Check signature of fdopen.
20970         * doc/posix-functions/fdopen.texi: Mention the new module.
20971
20972 2011-09-21  Bruno Haible  <bruno@clisp.org>
20973
20974         unlockpt tests: Avoid test failure on NetBSD 5.1.
20975         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
20976         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
20977
20978 2011-09-21  Bruno Haible  <bruno@clisp.org>
20979
20980         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
20981         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
20982         * tests/test-getlogin_r.c (main): Likewise.
20983
20984 2011-09-20  Bruno Haible  <bruno@clisp.org>
20985
20986         time tests: Don't require pid_t.
20987         * doc/posix-headers/time.texi: Revert last change.
20988         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
20989         * tests/test-time.c: Comment out the check for pid_t.
20990
20991 2011-09-20  Bruno Haible  <bruno@clisp.org>
20992
20993         fsync tests: Avoid a test failure on mingw.
20994         * tests/test-fsync.c (main): Allow a failure with EIO.
20995
20996 2011-09-20  Bruno Haible  <bruno@clisp.org>
20997
20998         euidaccess: Update comments.
20999         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
21000
21001 2011-09-20  Bruno Haible  <bruno@clisp.org>
21002
21003         Ensure EBADF returns for socket functions on mingw.
21004         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
21005         descriptor is invalid.
21006         * lib/bind.c (rpl_bind): Likewise.
21007         * lib/connect.c (rpl_connect): Likewise.
21008         * lib/getpeername.c (rpl_getpeername): Likewise.
21009         * lib/getsockname.c (rpl_getsockname): Likewise.
21010         * lib/getsockopt.c (rpl_getsockopt): Likewise.
21011         * lib/listen.c (rpl_listen): Likewise.
21012         * lib/recv.c (rpl_recv): Likewise.
21013         * lib/recvfrom.c (rpl_recvfrom): Likewise.
21014         * lib/send.c (rpl_send): Likewise.
21015         * lib/sendto.c (rpl_sendto): Likewise.
21016         * lib/setsockopt.c (rpl_setsockopt): Likewise.
21017         * lib/shutdown.c (rpl_shutdown): Likewise.
21018
21019 2011-09-20  Bruno Haible  <bruno@clisp.org>
21020
21021         select tests: EBADF tests.
21022         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
21023         test_bad_fd): New functions.
21024         (test_function): Invoke also test_bad_fd.
21025
21026 2011-09-20  Bruno Haible  <bruno@clisp.org>
21027
21028         Tests for module 'posix_spawn_file_actions_addopen.
21029         * modules/posix_spawn_file_actions_addopen-tests: New file.
21030         * tests/test-posix_spawn_file_actions_addopen.c: New file.
21031
21032         Tests for module 'posix_spawn_file_actions_adddup2'.
21033         * modules/posix_spawn_file_actions_adddup2-tests: New file.
21034         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
21035
21036         Tests for module 'posix_spawn_file_actions_addclose'.
21037         * modules/posix_spawn_file_actions_addclose-tests: New file.
21038         * tests/test-posix_spawn_file_actions_addclose.c: New file.
21039
21040 2011-09-20  Bruno Haible  <bruno@clisp.org>
21041
21042         Tests for module 'unlockpt'.
21043         * modules/unlockpt-tests: New file.
21044         * tests/test-unlockpt.c: New file.
21045         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
21046
21047         Tests for module 'grantpt'.
21048         * modules/grantpt-tests: New file.
21049         * tests/test-grantpt.c: New file.
21050         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
21051
21052 2011-09-20  Bruno Haible  <bruno@clisp.org>
21053
21054         freopen tests: EBADF tests.
21055         * tests/test-freopen.c: Include errno.h, unistd.h.
21056         (main): Add tests for EBADF, commented out for the moment.
21057
21058         fclose tests: EBADF tests.
21059         * tests/test-fclose.c (main): Add tests for EBADF.
21060
21061         fflush tests: EBADF tests.
21062         * tests/test-fflush.c: Include errno.h, macros.h.
21063         (main): Add tests for EBADF.
21064
21065         ftello tests: EBADF tests.
21066         * tests/test-ftello4.sh: New file.
21067         * tests/test-ftello4.c: New file.
21068         * modules/ftello-tests (Files): Add them.
21069         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
21070
21071         fseeko tests: EBADF tests.
21072         * tests/test-fseeko4.sh: New file.
21073         * tests/test-fseeko4.c: New file.
21074         * modules/fseeko-tests (Files): Add them.
21075         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
21076
21077         Tests for function fputc().
21078         * modules/fputc-tests: New file.
21079         * tests/test-fputc.c: New file.
21080         * modules/stdio-tests (Depends-on): Add fputc-tests.
21081
21082         Tests for function fgetc().
21083         * modules/fgetc-tests: New file.
21084         * tests/test-fgetc.c: New file.
21085         * modules/stdio-tests (Depends-on): Add fgetc-tests.
21086
21087         Tests for function fdopen().
21088         * modules/fdopen-tests: New file.
21089         * tests/test-fdopen.c: New file.
21090         * modules/stdio-tests (Depends-on): Add fdopen-tests.
21091
21092         Tests for module 'vdprintf'.
21093         * modules/vdprintf-tests: New file.
21094         * tests/test-vdprintf.c: New file.
21095
21096         Tests for module 'dprintf'.
21097         * modules/dprintf-tests: New file.
21098         * tests/test-dprintf.c: New file.
21099
21100 2011-09-20  Bruno Haible  <bruno@clisp.org>
21101
21102         Tests for module 'ioctl'.
21103         * modules/ioctl-tests: New file.
21104         * tests/test-ioctl.c: New file.
21105
21106 2011-09-20  Bruno Haible  <bruno@clisp.org>
21107
21108         fcntl tests: EBADF tests.
21109         * tests/test-fcntl.c (main): Add more tests for EBADF.
21110
21111 2011-09-20  Bruno Haible  <bruno@clisp.org>
21112
21113         utimensat tests: EBADF tests.
21114         * tests/test-utimensat.c (main): Add tests for EBADF.
21115
21116         renameat tests: EBADF tests.
21117         * tests/test-renameat.c (main): Add tests for EBADF.
21118
21119         mkfifoat tests: EBADF tests.
21120         * tests/test-mkfifoat.c (main): Add tests for EBADF.
21121
21122         readlinkat tests: EBADF tests.
21123         * tests/test-readlinkat.c (main): Add tests for EBADF.
21124
21125         symlinkat tests: EBADF tests.
21126         * tests/test-symlinkat.c (main): Add tests for EBADF.
21127
21128         linkat tests: EBADF tests.
21129         * tests/test-linkat.c (main): Add tests for EBADF.
21130
21131         Tests for module 'faccessat'.
21132         * modules/faccessat-tests: New file.
21133         * tests/test-faccessat.c: New file.
21134
21135         fdopendir tests: EBADF tests.
21136         * tests/test-fdopendir.c (main): Add more tests for EBADF.
21137
21138         openat tests: EBADF tests.
21139         * tests/test-fchownat.c (main): Add tests for EBADF.
21140         * tests/test-fstatat.c (main): Likewise.
21141         * tests/test-mkdirat.c (main): Likewise.
21142         * tests/test-openat.c (main): Likewise.
21143         * tests/test-unlinkat.c (main): Likewise.
21144         * tests/test-fchmodat.c: New file.
21145         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
21146         (Makefile.am): Also run 'test-fchmodat'.
21147
21148 2011-09-20  Bruno Haible  <bruno@clisp.org>
21149
21150         utimens, futimens, fdutimensat tests: EBADF tests.
21151         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
21152
21153         Tests for function fstat().
21154         * modules/fstat-tests: New file.
21155         * tests/test-fstat.c: New file.
21156         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
21157
21158 2011-09-20  Bruno Haible  <bruno@clisp.org>
21159
21160         test-ttyname_r tests: EBADF tests.
21161         * tests/test-ttyname_r.c (main): Add tests for EBADF.
21162
21163         Tests for module 'isatty'.
21164         * modules/isatty-tests: New file.
21165         * tests/test-isatty.c: New file.
21166
21167         Tests for module 'write'.
21168         * modules/write-tests: New file.
21169         * tests/test-write.c: New file.
21170
21171         Tests for module 'read'.
21172         * modules/read-tests: New file.
21173         * tests/test-read.c: New file.
21174
21175         pwrite tests: EBADF tests.
21176         * tests/test-pwrite.c (main): Add tests for EBADF.
21177
21178         pread tests: EBADF tests.
21179         * tests/test-pread.c (main): Add tests for EBADF.
21180
21181         lseek tests: EBADF tests.
21182         * tests/test-lseek.c (main): Add more tests for EBADF.
21183
21184         Tests for module 'ftruncate'.
21185         * modules/ftruncate-tests: New file.
21186         * tests/test-ftruncate.sh: New file.
21187         * tests/test-ftruncate.c: New file.
21188
21189         fsync tests: EBADF tests.
21190         * tests/test-fsync.c (main): Add more tests for EBADF.
21191
21192         fdatasync tests: EBADF tests.
21193         * tests/test-fdatasync.c (main): Add more tests for EBADF.
21194
21195         Tests for module 'fchown'.
21196         * modules/fchown-tests: New file.
21197         * tests/test-fchown.c: New file.
21198
21199         Tests for module 'fchmod'.
21200         * modules/fchmod-tests: New file.
21201         * tests/test-fchmod.c: New file.
21202
21203         fchdir tests: EBADF tests.
21204         * tests/test-fchdir.c (main): Add more tests for EBADF.
21205
21206         dup2 tests: EBADF tests.
21207         * tests/test-dup2.c (main): Add more tests for EBADF.
21208
21209         Tests for module 'dup'.
21210         * modules/dup-tests: New file.
21211         * tests/test-dup.c: New file.
21212
21213         Tests for module 'close'.
21214         * modules/close-tests: New file.
21215         * tests/test-close.c: New file.
21216
21217 2011-09-20  Bruno Haible  <bruno@clisp.org>
21218
21219         Tests for module 'shutdown'.
21220         * modules/shutdown-tests: New file.
21221         * tests/test-shutdown.c: New file.
21222
21223         Tests for module 'setsockopt'.
21224         * modules/setsockopt-tests: New file.
21225         * tests/test-setsockopt.c: New file.
21226
21227         Tests for module 'sendto'.
21228         * modules/sendto-tests: New file.
21229         * tests/test-sendto.c: New file.
21230
21231         Tests for module 'send'.
21232         * modules/send-tests: New file.
21233         * tests/test-send.c: New file.
21234
21235         Tests for module 'recvfrom'.
21236         * modules/recvfrom-tests: New file.
21237         * tests/test-recvfrom.c: New file.
21238
21239         Tests for module 'recv'.
21240         * modules/recv-tests: New file.
21241         * tests/test-recv.c: New file.
21242
21243         Tests for module 'listen'.
21244         * modules/listen-tests: New file.
21245         * tests/test-listen.c: New file.
21246
21247         Tests for module 'getsockopt'.
21248         * modules/getsockopt-tests: New file.
21249         * tests/test-getsockopt.c: New file.
21250
21251         Tests for module 'getsockname'.
21252         * modules/getsockname-tests: New file.
21253         * tests/test-getsockname.c: New file.
21254
21255         Tests for module 'getpeername'.
21256         * modules/getpeername-tests: New file.
21257         * tests/test-getpeername.c: New file.
21258
21259         Tests for module 'connect'.
21260         * modules/connect-tests: New file.
21261         * tests/test-connect.c: New file.
21262
21263         Tests for module 'bind'.
21264         * modules/bind-tests: New file.
21265         * tests/test-bind.c: New file.
21266
21267         accept4 tests: Fix for native Windows.
21268         * tests/test-accept4.c: Include sockets.h.
21269         (main): Invoke gl_sockets_startup.
21270         * modules/accept4-tests (Depends-on): Add sockets.
21271
21272         accept tests: Fix for native Windows.
21273         * tests/test-accept.c: Include sockets.h.
21274         (main): Invoke gl_sockets_startup.
21275         * modules/accept-tests (Depends-on): Add sockets.
21276
21277 2011-09-19  Bruno Haible  <bruno@clisp.org>
21278
21279         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
21280         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
21281         do...while(0).
21282         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
21283         Suggested by Paul Eggert.
21284
21285 2011-09-19  Bruno Haible  <bruno@clisp.org>
21286
21287         sched: Ensure pid_t is defined.
21288         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
21289         not define pid_t.
21290         * lib/sched.in.h: Include <sys/types.h>.
21291         * doc/posix-headers/sched.texi: Mention the pid_t problem.
21292         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21293
21294 2011-09-19  Bruno Haible  <bruno@clisp.org>
21295
21296         msvc-inval: Ensure the entire expansion is a single statement.
21297         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
21298         of braces.
21299
21300 2011-09-19  Jim Meyering  <meyering@redhat.com>
21301
21302         tests: use printf, not echo in init.sh's warn_ function
21303         * tests/init.sh (warn_): Use printf, not echo.  The latter would
21304         misbehave when given strings containing a backslash or starting
21305         with e.g., -n.  James Youngman suggested setting IFS.
21306
21307 2011-09-19  Eric Blake  <eblake@redhat.com>
21308
21309         futimens: enhance test
21310         * tests/test-futimens.h (test_futimens): Also check for EBADF on
21311         closed non-negative fd.
21312
21313         date: accept 'hence' as opposite of 'ago'
21314         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
21315         * tests/test-parse-datetime.c (main): Enhance test.
21316         Suggested by Jesse Wilson.
21317
21318 2011-09-19  Jim Meyering  <meyering@redhat.com>
21319
21320         getcwd: don't fail in a deep directory on a system without openat
21321         Before this change, getcwd would fail when called from a directory
21322         of depth PATH_MAX / 3 or greater.  That was due to the fact that
21323         the non-openat implementation used "..", "../..", "../../..", etc.
21324         to access ancestor directories.  With too many, that string would
21325         be longer than PATH_MAX.
21326         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
21327         using gnulib's openat replacement.
21328         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
21329         we're using the replacement function.
21330
21331 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
21332
21333         maint.mk: avoid warnings from perl about missing files
21334         * top/maint.mk (def_sym_regex): Ignore files listed in
21335         $(gl_other_headers_) that do not exist, say because a project
21336         does not use a corresponding module.
21337
21338 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
21339
21340         stat: use pathmax.h only if needed
21341         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
21342         This is better for Emacs, which does not have a mingw port and
21343         therefore can avoid the pathmax module.
21344
21345         utimens: remove dependency on dup2
21346         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
21347         to work around the Linux kernel bug.
21348         * modules/utimens (Depends-on): Remove dup2.
21349
21350 2011-09-18  Bruno Haible  <bruno@clisp.org>
21351
21352         inet_ntop, inet_pton: Look for it also in libresolv.
21353         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
21354         libnsl, search for it in libresolv.
21355         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
21356         Needed on Solaris 7.
21357
21358 2011-09-18  Bruno Haible  <bruno@clisp.org>
21359
21360         accept, accept4 tests: Avoid link error on Solaris.
21361         * modules/accept-tests (Makefile.am): Link test-accept against
21362         $(LIBSOCKET).
21363         * modules/accept4-tests (Makefile.am): Link test-accept4 against
21364         $(LIBSOCKET).
21365
21366         accept4: Avoid link error on Solaris.
21367         * modules/accept4 (Link): New section.
21368
21369         socket functions: Avoid link errors on Solaris.
21370         * modules/accept (Depends-on): Add socketlib.
21371         (Link): New section.
21372         * modules/bind (Depends-on): Add socketlib.
21373         (Link): New section.
21374         * modules/connect (Depends-on): Add socketlib.
21375         (Link): New section.
21376         * modules/getpeername (Depends-on): Add socketlib.
21377         (Link): New section.
21378         * modules/getsockname (Depends-on): Add socketlib.
21379         (Link): New section.
21380         * modules/getsockopt (Depends-on): Add socketlib.
21381         (Link): New section.
21382         * modules/listen (Depends-on): Add socketlib.
21383         (Link): New section.
21384         * modules/recv (Depends-on): Add socketlib.
21385         (Link): New section.
21386         * modules/recvfrom (Depends-on): Add socketlib.
21387         (Link): New section.
21388         * modules/send (Depends-on): Add socketlib.
21389         (Link): New section.
21390         * modules/sendto (Depends-on): Add socketlib.
21391         (Link): New section.
21392         * modules/setsockopt (Depends-on): Add socketlib.
21393         (Link): New section.
21394         * modules/shutdown (Depends-on): Add socketlib.
21395         (Link): New section.
21396         * modules/socket (Depends-on): Add socketlib.
21397         (Link): New section.
21398
21399 2011-09-18  Bruno Haible  <bruno@clisp.org>
21400
21401         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
21402         * tests/test-ptsname.c (main): Terminate the test if it takes longer
21403         than 5 seconds.
21404         * modules/ptsname-tests (configure.ac): Test for alarm.
21405
21406 2011-09-18  Bruno Haible  <bruno@clisp.org>
21407
21408         posix_spawn_file_actions_add*: Fix module dependencies.
21409         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
21410         posix_spawn_file_actions_init.
21411         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
21412         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
21413
21414 2011-09-18  Bruno Haible  <bruno@clisp.org>
21415
21416         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
21417         * tests/test-rename.h (test_rename): Allow error code EEXIST.
21418         * tests/test-renameat.c (main): Likewise.
21419
21420 2011-09-18  Bruno Haible  <bruno@clisp.org>
21421
21422         Tests for module 'accept4'.
21423         * modules/accept4-tests: New file.
21424         * tests/test-accept4.c: New file.
21425
21426 2011-09-18  Bruno Haible  <bruno@clisp.org>
21427
21428         Tests for module 'accept'.
21429         * modules/accept-tests: New file.
21430         * tests/test-accept.c: New file.
21431
21432 2011-09-18  Bruno Haible  <bruno@clisp.org>
21433
21434         dup2: Support for MSVC.
21435         * lib/dup2.c: Include msvc-inval.h.
21436         (rpl_dup2): Handle invalid parameter notifications during dup2 and
21437         _get_osfhandle calls.
21438         * modules/dup2 (Depends-on): Add msvc-inval.
21439         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
21440
21441         New module 'msvc-inval'.
21442         * lib/msvc-inval.h: New file.
21443         * lib/msvc-inval.c: New file.
21444         * m4/msvc-inval.m4: New file.
21445         * modules/msvc-inval: New file.
21446
21447 2011-09-17  Bruno Haible  <bruno@clisp.org>
21448
21449         Tests for module 'pclose'.
21450         * modules/pclose-tests: New file.
21451
21452         New module 'pclose'.
21453         * lib/stdio.in.h (pclose): New declaration.
21454         * lib/pclose.c: New file.
21455         * m4/pclose.m4: New file.
21456         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
21457         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
21458         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
21459         * modules/pclose: New file.
21460         * modules/popen-tests (Depends-on): Add pclose.
21461         * modules/popen-safer-tests (Depends-on): Likewise.
21462         * doc/posix-functions/pclose.texi: Mention the new module.
21463
21464 2011-09-17  Bruno Haible  <bruno@clisp.org>
21465
21466         popen: Support for MSVC.
21467         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
21468         * lib/popen.c (popen): Provide alternate definition for native Windows.
21469         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
21470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
21471         * modules/popen (Depends-on, configure.ac): Update condition.
21472         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
21473         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
21474         fixed.
21475
21476 2011-09-17  Bruno Haible  <bruno@clisp.org>
21477
21478         isnanl, isnand, isnanf: Work around MSVC bug.
21479         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
21480
21481 2011-09-17  Bruno Haible  <bruno@clisp.org>
21482
21483         sys_socket tests: Fix recent mistake.
21484         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
21485
21486 2011-09-17  Bruno Haible  <bruno@clisp.org>
21487
21488         putenv: Support for MSVC.
21489         * modules/putenv (Depends-on): Add environ.
21490         * lib/putenv.c (environ): Disable declaration.
21491         * lib/unistd.in.h: Update comment.
21492
21493 2011-09-17  Bruno Haible  <bruno@clisp.org>
21494
21495         math: Avoid macro redefinition warnings on MSVC.
21496         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
21497         Undefine before redefining.
21498
21499 2011-09-17  Bruno Haible  <bruno@clisp.org>
21500
21501         doc: Mention functions which are declared as macros.
21502         * doc/posix-functions/*[fl].texi: Mention that some functions are
21503         defined as macros with arguments only.
21504
21505 2011-09-17  Bruno Haible  <bruno@clisp.org>
21506
21507         Add dependencies to new dirent related modules.
21508         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
21509         * modules/fts (Depends-on): Likewise.
21510         * modules/glob (Depends-on): Likewise.
21511         * modules/savedir (Depends-on): Likewise.
21512         * modules/scandir (Depends-on): Likewise.
21513         * modules/dirent-safer (Depends-on): Add opendir, closedir.
21514         * modules/fdopendir (Depends-on): Add opendir.
21515
21516 2011-09-17  Bruno Haible  <bruno@clisp.org>
21517
21518         inet_pton: Support for MSVC on Windows Vista or newer.
21519         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
21520         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
21521         HAVE_DECL_INET_PTON is defined.
21522         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
21523         On platforms with <winsock2.h>, test whether inet_pton is declared in
21524         <ws2tcpip.h>. If so, arrange to replace it.
21525         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
21526         REPLACE_INET_PTON.
21527         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
21528         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
21529         (Depends-on, configure.ac): Update condition.
21530         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
21531
21532 2011-09-17  Bruno Haible  <bruno@clisp.org>
21533
21534         inet_ntop: Support for MSVC on Windows Vista or newer.
21535         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
21536         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
21537         HAVE_DECL_INET_NTOP is defined.
21538         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
21539         On platforms with <winsock2.h>, test whether inet_ntop is declared in
21540         <ws2tcpip.h>. If so, arrange to replace it.
21541         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
21542         REPLACE_INET_NTOP.
21543         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
21544         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
21545         (Depends-on, configure.ac): Update condition.
21546         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
21547
21548 2011-09-16  Eric Blake  <eblake@redhat.com>
21549
21550         test-fsync: yet another enhancement
21551         * tests/test-fsync.c (main): Also test behavior on read-only text
21552         file.
21553
21554 2011-09-16  Bruno Haible  <bruno@clisp.org>
21555
21556         Enhance fsync, fdatasync tests.
21557         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
21558         * tests/test-fdatasync.c (main): Likewise.
21559
21560 2011-09-16  Bruno Haible  <bruno@clisp.org>
21561
21562         Support for MSVC compiler: Ensure mode_t gets defined.
21563         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
21564         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21565         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
21566         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
21567         * tests/test-fcntl-h.c: Check that mode_t is defined.
21568         * tests/test-sys_stat.c: Likewise.
21569         * tests/test-sys_types.c: Likewise.
21570         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
21571         * doc/posix-headers/sys_stat.texi: Likewise.
21572         * doc/posix-headers/sys_types.texi: Likewise.
21573
21574 2011-09-16  Bruno Haible  <bruno@clisp.org>
21575
21576         sys_stat: Support for MSVC.
21577         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
21578         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
21579         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
21580         MSVC.
21581
21582 2011-09-16  Bruno Haible  <bruno@clisp.org>
21583
21584         Support for MSVC compiler: Ensure off_t gets defined.
21585         * lib/unistd.in.h: Include <sys/types.h>.
21586         * tests/test-fcntl-h.c: Check that off_t is defined.
21587         * tests/test-sys_stat.c: Likewise.
21588         * tests/test-sys_types.c: Likewise.
21589
21590 2011-09-16  Eric Blake  <eblake@redhat.com>
21591
21592         fdatasync: port to Solaris
21593         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
21594         * modules/fdatasync (Link): Document it.
21595         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
21596
21597         fdatasync: port to MacOS X 10.7
21598         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
21599         declared.
21600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
21601         * modules/unistd (Makefile.am): Substitute it.
21602         * lib/unistd.in.h (fdatasync): Declare on MacOS.
21603         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
21604
21605         fdatasync: minor improvements
21606         * modules/fdatasync (Depends-on): Add condition for fsync.
21607         * lib/fdatasync.c (fdatasync): Add comment.
21608         * tests/test-unistd-c++.cc: Test fdatasync.
21609
21610         unistd: update refs to newer POSIX
21611         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
21612         Suggested by Bruno Haible.
21613
21614         fdatasync: new module
21615         * modules/fsync (Description): Document difference to fdatasync.
21616         * modules/fdatasync: New module.
21617         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
21618         * lib/fdatasync.c (fdatasync): Likewise.
21619         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
21620         defaults.
21621         * modules/unistd (Makefile.am): Set witnesses.
21622         * lib/unistd.in.h (fdatasync): Declare.
21623         * MODULES.html.sh: Document it.
21624         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
21625         * modules/fdatasync-tests: New test.
21626         * tests/test-fdatasync.c: Likewise.
21627
21628 2011-09-16  Eric Blake  <eblake@redhat.com>
21629
21630         test-fsync: enhance tests
21631         * modules/fsync-tests (Depends-on): Add errno, for mingw.
21632         * tests/test-fsync.c (main): Enhance test.
21633
21634 2011-09-15  Bruno Haible  <bruno@clisp.org>
21635
21636         Support for MSVC compiler: Ensure ssize_t gets defined.
21637         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
21638         * doc/posix-headers/stdio.texi: Likewise.
21639         * modules/stdio (Depends-on): Add ssize_t.
21640         * modules/sys_socket (Depends-on): Likewise.
21641         * modules/sys_types (Depends-on): Likewise.
21642         * modules/sys_uio (Depends-on): Likewise.
21643         * modules/unistd (Depends-on): Likewise.
21644         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
21645         * tests/test-sys_types.c: Check that ssize_t is defined.
21646
21647 2011-09-14  Bruno Haible  <bruno@clisp.org>
21648
21649         Avoid using #, the m4 comment starter character, near brackets.
21650         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
21651         delimiter character in sed expressions.
21652         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
21653         Suggested by Eric Blake.
21654
21655         Properly quote AC_CHECK_DECLS' 4th argument.
21656         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
21657         argument.
21658         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
21659         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
21660         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21661         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
21662         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
21663         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
21664         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
21665         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
21666         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
21667         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
21668         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
21669         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
21670         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
21671         * m4/isinf.m4 (gl_ISINF): Likewise.
21672         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
21673         * m4/readutmp.m4 (gl_READUTMP): Likewise.
21674         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
21675         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
21676         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
21677         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
21678         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
21679         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
21680         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
21681         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
21682         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
21683         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
21684         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
21685         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21686         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
21687         Reported by Eric Blake.
21688
21689         Properly quote AC_CHECK_DECL's 4th argument.
21690         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
21691         argument.
21692         * m4/argp.m4 (gl_ARGP): Likewise.
21693         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
21694         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
21695         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
21696         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
21697         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
21698         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
21699         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
21700         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
21701         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21702         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
21703         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
21704         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
21705         Reported by Eric Blake.
21706
21707 2011-09-14  Eric Blake  <eblake@redhat.com>
21708
21709         opendir: avoid compile warning
21710         * lib/opendir.c (includes): Always include errno.h.
21711         Reported by Tatsuro MATSUOKA.
21712
21713 2011-09-14  Jim Meyering  <meyering@redhat.com>
21714
21715         maint.mk: sc_tight_scope: propagate failure from sub-make
21716         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
21717         Reported by Martin von Gagern.
21718
21719 2011-09-13  Bruno Haible  <bruno@clisp.org>
21720
21721         tempname: Support for MSVC.
21722         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
21723         MSVC.
21724         * modules/tempname (Depends-on): Add fcntl-h.
21725
21726 2011-09-13  Bruno Haible  <bruno@clisp.org>
21727
21728         sys_time: Support for MSVC.
21729         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
21730         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
21731         include <winsock2.h>.
21732         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
21733         function declarations that collide with POSIX.
21734         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
21735         (Makefile.am): Substitute HAVE_WINSOCK2_H.
21736
21737 2011-09-13  Bruno Haible  <bruno@clisp.org>
21738
21739         stat: Support for MSVC.
21740         * lib/stat.c: Include pathmax.h.
21741         * modules/stat (Depends-on): Add pathmax.
21742
21743         pathmax: Support for native Windows.
21744         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
21745
21746 2011-09-12  Bruno Haible  <bruno@clisp.org>
21747
21748         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
21749         * lib/dirent.in.h (struct dirent): New type.
21750         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
21751         DT_WHT): New macros.
21752         (DIR): New type.
21753         (opendir, closedir): Declare only if the module 'opendir' is enabled.
21754         (readdir, rewinddir): New declarations.
21755         * lib/dirent-private.h: New file.
21756         * lib/opendir.c: New file.
21757         * lib/readdir.c: New file.
21758         * lib/rewinddir.c: New file.
21759         * lib/closedir.c: New file.
21760         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
21761         * m4/opendir.m4: New file.
21762         * m4/readdir.m4: New file.
21763         * m4/rewinddir.m4: New file.
21764         * m4/closedir.m4: New file.
21765         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
21766         REPLACE_CLOSEDIR here.
21767         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
21768         readdir, rewinddir are declared.
21769         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
21770         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
21771         HAVE_REWINDDIR, HAVE_CLOSEDIR.
21772         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
21773         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
21774         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
21775         * modules/opendir: New file.
21776         * modules/readdir: New file.
21777         * modules/rewinddir: New file.
21778         * modules/closedir: New file.
21779         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
21780         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
21781         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
21782         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
21783         * NEWS: Mention the 'fchdir' change.
21784
21785 2011-09-11  Bruno Haible  <bruno@clisp.org>
21786
21787         asm-underscore.m4: Support for MSVC.
21788         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
21789         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
21790
21791 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
21792
21793         Doc about crypt functions.
21794         * doc/posix-functions/crypt.texi: Expand range of glibc versions
21795         needing for _GNU_SOURCE to get crypt.
21796         * doc/posix-functions/encrypt.texi: Likewise.
21797         * doc/posix-functions/setkey.texi: Likewise.
21798
21799 2011-09-11  Bruno Haible  <bruno@clisp.org>
21800
21801         doc: Update regarding MSVC 9.
21802         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
21803         tested".
21804         * doc/posix-functions/*.texi: Update with info about MSVC 9.
21805         * doc/posix-headers/*.texi: Likewise.
21806         * doc/pastposix-functions/*.texi: Likewise.
21807         * doc/glibc-functions/*.texi: Likewise.
21808         * doc/glibc-headers/*.texi: Likewise.
21809
21810 2011-09-11  Bruno Haible  <bruno@clisp.org>
21811
21812         unistd et al.: Don't assume <unistd.h> exists.
21813         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
21814         does not exist.
21815         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
21816         exist. But include <stdlib.h>.
21817         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
21818         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
21819         symlink() does not exist.
21820         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
21821         include <io.h> instead.
21822         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
21823         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
21824         include <direct.h> instead.
21825         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
21826         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
21827         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
21828         <io.h> instead.
21829         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
21830         correctly if the system does not have hard links.
21831         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
21832         <direct.h> instead.
21833         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
21834         it when looking for function declarations.
21835         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
21836         <direct.h> and <io.h> instead.
21837         * doc/posix-headers/unistd.texi: More details about MSVC problem.
21838
21839 2011-09-11  Bruno Haible  <bruno@clisp.org>
21840
21841         strcase: Support for MSVC.
21842         * modules/strcase (Status, Notice): Remove obsoletion mark.
21843         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
21844         * doc/posix-functions/strncasecmp.texi: Likewise.
21845
21846         strings: Don't assume <strings.h> exists.
21847         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
21848         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
21849         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
21850         * doc/posix-headers/strings.texi: Mention the MSVC problem.
21851
21852 2011-09-11  Bruno Haible  <bruno@clisp.org>
21853
21854         dirent: Don't assume <dirent.h> exists.
21855         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
21856         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
21857         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
21858         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
21859
21860 2011-09-11  Bruno Haible  <bruno@clisp.org>
21861
21862         Fix wint_t on MSVC.
21863         * lib/wchar.in.h (wint_t): On MSVC, override it.
21864         * lib/wctype.in.h (wint_t): Likewise.
21865         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
21866         MSVC.
21867         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
21868         * doc/posix-headers/wctype.texi: Likewise.
21869
21870 2011-09-11  Bruno Haible  <bruno@clisp.org>
21871
21872         sys_types: Fix typo.
21873         * lib/sys_types.in.h: Fix typo in comment.
21874         Reported by Paul Eggert.
21875
21876         Support for MSVC compiler: Ensure size_t gets defined.
21877         * modules/strings (Depends-on): Add 'sys_types'.
21878         * modules/sys_uio (Depends-on): Likewise.
21879         * lib/sys_uio.in.h: Update comment.
21880
21881         C++ tests for module 'sys_types'.
21882         * modules/sys_types-c++-tests: New file.
21883         * tests/test-sys_types-c++.cc: New file.
21884
21885         Tests for module 'sys_types'.
21886         * modules/sys_types-tests: New file.
21887         * tests/test-sys_types.c: New file.
21888
21889         New module 'sys_types'.
21890         * lib/sys_types.in.h: New file.
21891         * m4/sys_types_h.m4: New file.
21892         * modules/sys_types: New file.
21893         * doc/posix-headers/sys_types.texi: Mention the new module and the
21894         size_t problem on MSVC 9.
21895
21896 2011-09-11  Bruno Haible  <bruno@clisp.org>
21897
21898         Support for MSVC compiler: Avoid division by a literal 0.
21899         * lib/math.in.h (NAN): Define through a function call also on MSVC.
21900         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
21901         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
21902         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
21903         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
21904         * tests/infinity.h: New file.
21905         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
21906         on MSVC.
21907         * tests/test-ceilf1.c: Include infinity.h.
21908         (main): Use Infinityf.
21909         * tests/test-ceil1.c: Include infinity.h.
21910         (main): Use Infinityd.
21911         * tests/test-ceill.c: Include infinity.h.
21912         (main): Use Infinityl.
21913         * tests/test-dprintf-posix.c: Include infinity.h.
21914         (test_function): Use Infinityd.
21915         * tests/test-floorf1.c: Include infinity.h.
21916         (main): Use Infinityf.
21917         * tests/test-floor1.c: Include infinity.h.
21918         (main): Use Infinityd.
21919         * tests/test-floorl.c: Include infinity.h.
21920         (main): Use Infinityl.
21921         * tests/test-fprintf-posix.c: Include infinity.h.
21922         (test_function): Use Infinityd.
21923         * tests/test-frexp.c: Include infinity.h.
21924         (main): Use Infinityd.
21925         * tests/test-frexpl.c: Include infinity.h.
21926         (main): Use Infinityl.
21927         * tests/test-isfinite.c: Include infinity.h.
21928         (test_isfinitef): Use Infinityf.
21929         (test_isfinited): Use Infinityd.
21930         (test_isfinitel): Use Infinityl.
21931         * tests/test-isinf.c: Include infinity.h.
21932         (test_isinff): Use Infinityf.
21933         (test_isinfd): Use Infinityd.
21934         (test_isinfl): Use Infinityl.
21935         * tests/test-isnan.c: Include infinity.h.
21936         (test_float): Use Infinityf.
21937         (test_double): Use Infinityd.
21938         (test_long_double): Use Infinityl.
21939         * tests/test-isnanf.h: Include infinity.h.
21940         (main): Use Infinityf.
21941         * tests/test-isnand.h: Include infinity.h.
21942         (main): Use Infinityd.
21943         * tests/test-isnanl.h: Include infinity.h.
21944         (main): Use Infinityl.
21945         * tests/test-ldexpl.c: Include infinity.h.
21946         (main): Use Infinityl.
21947         * tests/test-printf-posix.h: Include infinity.h.
21948         (test_function): Use Infinityd.
21949         * tests/test-roundf1.c: Include infinity.h.
21950         (main): Use Infinityf.
21951         * tests/test-round1.c: Include infinity.h.
21952         (main): Use Infinityd.
21953         * tests/test-roundl.c: Include infinity.h.
21954         (main): Use Infinityl.
21955         * tests/test-signbit.c: Include infinity.h.
21956         (test_signbitf): Use Infinityf.
21957         (test_signbitd): Use Infinityd.
21958         (test_signbitl): Use Infinityl.
21959         * tests/test-snprintf-posix.h: Include infinity.h.
21960         (test_function): Use Infinityd, Infinityl.
21961         * tests/test-sprintf-posix.h: Include infinity.h.
21962         (test_function): Use Infinityd, Infinityl.
21963         * tests/test-truncf1.c: Include infinity.h.
21964         (main): Use Infinityf.
21965         * tests/test-trunc1.c: Include infinity.h.
21966         (main): Use Infinityd.
21967         * tests/test-truncl.c: Include infinity.h.
21968         (main): Use Infinityl.
21969         * tests/test-vasnprintf-posix.c: Include infinity.h.
21970         (test_function): Use Infinityd, Infinityl.
21971         * tests/test-vasprintf-posix.c: Include infinity.h.
21972         (test_function): Use Infinityd, Infinityl.
21973         * modules/ceilf-tests (Files): Add tests/infinity.h.
21974         * modules/ceil-tests (Files): Likewise.
21975         * modules/ceill-tests (Files): Likewise.
21976         * modules/dprintf-posix-tests (Files): Likewise.
21977         * modules/floorf-tests (Files): Likewise.
21978         * modules/floor-tests (Files): Likewise.
21979         * modules/floorl-tests (Files): Likewise.
21980         * modules/fprintf-posix-tests (Files): Likewise.
21981         * modules/frexp-tests (Files): Likewise.
21982         * modules/frexp-nolibm-tests (Files): Likewise.
21983         * modules/frexpl-tests (Files): Likewise.
21984         * modules/frexpl-nolibm-tests (Files): Likewise.
21985         * modules/isfinite-tests (Files): Likewise.
21986         * modules/isinf-tests (Files): Likewise.
21987         * modules/isnan-tests (Files): Likewise.
21988         * modules/isnanf-tests (Files): Likewise.
21989         * modules/isnanf-nolibm-tests (Files): Likewise.
21990         * modules/isnand-tests (Files): Likewise.
21991         * modules/isnand-nolibm-tests (Files): Likewise.
21992         * modules/isnanl-tests (Files): Likewise.
21993         * modules/isnanl-nolibm-tests (Files): Likewise.
21994         * modules/ldexpl-tests (Files): Likewise.
21995         * modules/printf-posix-tests (Files): Likewise.
21996         * modules/roundf-tests (Files): Likewise.
21997         * modules/round-tests (Files): Likewise.
21998         * modules/roundl-tests (Files): Likewise.
21999         * modules/signbit-tests (Files): Likewise.
22000         * modules/snprintf-posix-tests (Files): Likewise.
22001         * modules/sprintf-posix-tests (Files): Likewise.
22002         * modules/truncf-tests (Files): Likewise.
22003         * modules/trunc-tests (Files): Likewise.
22004         * modules/truncl-tests (Files): Likewise.
22005         * modules/vasnprintf-posix-tests (Files): Likewise.
22006         * modules/vasprintf-posix-tests (Files): Likewise.
22007         * modules/vdprintf-posix-tests (Files): Likewise.
22008         * modules/vfprintf-posix-tests (Files): Likewise.
22009         * modules/vprintf-posix-tests (Files): Likewise.
22010         * modules/vsnprintf-posix-tests (Files): Likewise.
22011         * modules/vsprintf-posix-tests (Files): Likewise.
22012         * modules/xprintf-posix-tests (Files): Likewise.
22013
22014 2011-09-11  Bruno Haible  <bruno@clisp.org>
22015
22016         Ensure pid_t gets defined.
22017         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
22018         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
22019         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
22020         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22021         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
22022         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
22023         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
22024         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22025         * tests/test-fcntl-h.c: Check that pid_t is defined.
22026         * tests/test-sched.c: Likewise.
22027         * tests/test-termios.c: Likewise.
22028         * tests/test-time.c: Likewise.
22029         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
22030         * doc/posix-headers/signal.texi: Likewise.
22031         * doc/posix-headers/sys_types.texi: Likewise.
22032         * doc/posix-headers/time.texi: Likewise.
22033
22034 2011-09-11  Bruno Haible  <bruno@clisp.org>
22035
22036         acl: Fix compilation on Solaris 10 (older version).
22037         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
22038         of ACE_EVERYONE.
22039         * lib/set-mode-acl.c (qset_acl): Likewise.
22040         Reported by Christian Jullien <eligis@orange.fr>.
22041
22042 2011-09-10  Bruno Haible  <bruno@clisp.org>
22043
22044         iconv, unsetenv: Add support for MSVC compiler.
22045         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
22046         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
22047
22048 2011-09-10  Bruno Haible  <bruno@clisp.org>
22049
22050         *printf: Add support for MSVC compiler.
22051         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
22052         handles the exception caused by the %n directive. When cross-compiling,
22053         guess no on native Windows.
22054         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
22055         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
22056         emulate it through vsnprintf.
22057         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
22058         * doc/posix-functions/dprintf.texi: Update documentation regarding
22059         MSVC 9.
22060         * doc/posix-functions/fprintf.texi: Likewise.
22061         * doc/posix-functions/printf.texi: Likewise.
22062         * doc/posix-functions/snprintf.texi: Likewise.
22063         * doc/posix-functions/sprintf.texi: Likewise.
22064         * doc/posix-functions/swprintf.texi: Likewise.
22065         * doc/posix-functions/vdprintf.texi: Likewise.
22066         * doc/posix-functions/vfprintf.texi: Likewise.
22067         * doc/posix-functions/vprintf.texi: Likewise.
22068         * doc/posix-functions/vsnprintf.texi: Likewise.
22069         * doc/posix-functions/vsprintf.texi: Likewise.
22070         * doc/glibc-functions/asprintf.texi: Likewise.
22071         * doc/glibc-functions/obstack_printf.texi: Likewise.
22072         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22073         * doc/glibc-functions/vasprintf.texi: Likewise.
22074
22075 2011-09-10  Bruno Haible  <bruno@clisp.org>
22076
22077         nocrash: Add support for native Windows.
22078         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
22079
22080 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
22081             Bruno Haible  <bruno@clisp.org>
22082
22083         absolute-header, include-next: Add support for MSVC compiler.
22084         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
22085         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
22086         directory separator in #line directives.
22087         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
22088         recognize also backslash as directory separator in #line directives.
22089
22090 2011-09-08  Jim Meyering  <meyering@redhat.com>
22091
22092         maint.mk: mark the post-release commit log with "maint: " prefix
22093         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
22094         one-line commit-log summary.
22095
22096 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
22097             Bruno Haible  <bruno@clisp.org>
22098
22099         Doc about crypt functions.
22100         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
22101         systems.
22102         * doc/posix-functions/encrypt.texi: Likewise.
22103         * doc/posix-functions/setkey.texi: Likewise.
22104
22105 2011-09-08  Simon Josefsson  <simon@josefsson.org>
22106
22107         * lib/gc.h: Fix copyright header.
22108
22109 2011-09-07  Bruno Haible  <bruno@clisp.org>
22110
22111         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
22112         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
22113         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
22114
22115 2011-09-07  Bruno Haible  <bruno@clisp.org>
22116
22117         openat: Work around compilation error with OSF/1 5.1 DTK cc.
22118         * lib/fopen.c: Use different syntax for include of <stdio.h>.
22119         * lib/freopen.c: Likewise.
22120         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
22121         * lib/lstat.c: Likewise.
22122         * lib/stat.c: Likewise.
22123         * lib/open.c: Use different syntax for include of <fcntl.h>.
22124         * lib/openat.c: Include fcntl.h again, explicitly.
22125
22126 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
22127
22128         parse-datetime: document the newly accepted format
22129         * doc/parse-datetime.texi (Combined date and time of day items):
22130         New section.
22131
22132 2011-09-06  Bruno Haible  <bruno@clisp.org>
22133
22134         acl: Fix a test failure on newer Solaris 10 with ZFS.
22135         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
22136         ENOSYS as no ACL.
22137         Reported by Jim Meyering.
22138
22139 2011-09-06  Bruno Haible  <bruno@clisp.org>
22140
22141         acl: Update for AIX >= 5.3 with NFS.
22142         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
22143         ENOSYS as no ACL.
22144
22145         acl: Fix a test failure on AIX >= 5.3 with NFS.
22146         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
22147         as no ACL.
22148
22149 2011-09-06  Bruno Haible  <bruno@clisp.org>
22150
22151         acl: Fix a test failure on IRIX 6.5 with NFS.
22152         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
22153         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
22154         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
22155         * lib/copy-acl.c (qcopy_acl): Likewise.
22156
22157 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
22158
22159         openat: port to AIX 7.1 with large files
22160         AIX 7.1 does a "#define openat open64at" if large files are in use,
22161         so we can't simply #undef openat.  Use the orig_openat trick (similar
22162         to orig_open in lib/open.c) to work around the problem.  Problem
22163         reported by Kevin Brott for GNU tar, in the thread containing
22164         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
22165         * lib/openat.c (__need_system_fcntl_h): Define first.
22166         Include <fcntl.h> and <sys/types.h> before undefining.
22167         (orig_openat) [HAVE_OPENAT]: New inline function.
22168         (openat) [HAVE_OPENAT]: Do not undef.
22169         (rpl_openat): Use orig_openat, not openat.
22170
22171 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
22172             Bruno Haible  <bruno@clisp.org>
22173
22174         acl: Avoid errors on NonStop Kernel.
22175         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
22176         ENOTSUP errors.
22177
22178 2011-09-05  Bruno Haible  <bruno@clisp.org>
22179
22180         acl: Clean up Solaris code.
22181         * lib/acl-internal.h: Remove no-op #if.
22182         * lib/file-has-acl.c: Likewise.
22183         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
22184         * lib/copy-acl.c (qcopy_acl): Likewise.
22185
22186 2011-09-05  Bruno Haible  <bruno@clisp.org>
22187
22188         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
22189         binaries built on the original Solaris 10.
22190         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
22191         trivial.
22192
22193 2011-09-05  Bruno Haible  <bruno@clisp.org>
22194
22195         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
22196         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
22197         10.
22198         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
22199         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
22200         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
22201         instead of acl_get, facl_get, acl_set, facl_set.
22202
22203 2011-09-05  Bruno Haible  <bruno@clisp.org>
22204
22205         copy-file: Try unit tests on more file systems.
22206         * tests/test-copy-file-1.sh: New file.
22207         * tests/test-copy-file-2.sh: New file.
22208         * modules/copy-file-tests (Files): Add them.
22209         (Makefile.am): Add them to TESTS.
22210
22211         acl: Try unit tests on more file systems.
22212         * tests/test-file-has-acl-1.sh: New file.
22213         * tests/test-file-has-acl-2.sh: New file.
22214         * tests/test-set-mode-acl-1.sh: New file.
22215         * tests/test-set-mode-acl-2.sh: New file.
22216         * tests/test-copy-acl-1.sh: New file.
22217         * tests/test-copy-acl-2.sh: New file.
22218         * modules/acl-tests (Files): Add them.
22219         (Makefile.am): Add them to TESTS.
22220
22221 2011-09-04  Bruno Haible  <bruno@clisp.org>
22222
22223         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
22224         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
22225         10.
22226         (OLD_ALLOW, OLD_DENY): New macros.
22227         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
22228         ACE_ACCESS_ALLOWED_ACE_TYPE.
22229         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
22230         ACE_ACCESS_DENIED_ACE_TYPE.
22231         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
22232         (NEW_ACE_EXECUTE): Fix value.
22233         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
22234         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
22235         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
22236         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
22237         NEW_ACE_SYNCHRONIZE): New macros.
22238         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
22239         instead of acl_fromtext, acl_set, facl_set.
22240         Fixes a coreutils/tests/cp/perm failure.
22241
22242 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
22243
22244         openat: test for fstatat (..., 0) bug
22245         Further testing with tar suggests that fstatat (..., 0)
22246         does not work in general, on AIX 7.1; see
22247         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
22248         So, give up entirely on AIX 7.1's fstatat, and fall back on our
22249         replacement fstatat (which is what older AIX releases were using
22250         anyway).
22251         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
22252         use is now changed to orig_fstatat.  This was probably the right
22253         thing to do anyway.
22254         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
22255         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
22256         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
22257         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
22258         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
22259         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
22260         if the bug is found.
22261
22262         openat: test for fstatat (AT_FDCWD, ..., 0) bug
22263         This tests for another fstatat bug on AIX 7.1:
22264         fstatat (AT_FDCWD, ..., 0) does not work.  See
22265         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
22266         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
22267         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
22268         (rpl_fstatat): Adjust so that it works around either (or both)
22269         bugs if present.
22270         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
22271
22272 2011-09-03  Karl Berry  <karl@gnu.org>
22273
22274         * doc/regex.texi (Character Class Operators): Avoid literal ":"
22275         in index entries.
22276
22277 2011-09-02  Bruno Haible  <bruno@clisp.org>
22278
22279         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
22280         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
22281         values of AR, ARFLAGS, RANLIB.
22282         Reported by John W. Eaton <jwe@gnu.org> for Octave.
22283
22284 2011-09-02  Bruno Haible  <bruno@clisp.org>
22285
22286         Find 'ar' program that fits with --host argument.
22287         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
22288
22289 2011-09-02  Bruno Haible  <bruno@clisp.org>
22290
22291         tests: init.sh: Support any non-GNU diff.
22292         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
22293         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
22294         Solaris 8.
22295
22296 2011-09-02  Bruno Haible  <bruno@clisp.org>
22297
22298         tests: init.sh: work also with any non-GNU diff that supports -u
22299         * tests/init.sh: Relax check for diff -u support.
22300         Rather than checking for GNU diff via --version, simply check
22301         for support for -u itself.  Useful at least on OpenBSD 4.9,
22302         AIX 7.1, IRIX 6.5, and Solaris 10.
22303
22304 2011-09-01  Bruno Haible  <bruno@clisp.org>
22305
22306         strtoimax, strtoumax: Document problem on HP-UX 11.
22307         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
22308         * doc/posix-functions/strtoumax.texi: Likewise.
22309
22310 2011-09-01  Bruno Haible  <bruno@clisp.org>
22311
22312         strtoumax: Avoid link error on OSF/1 with DTK cc.
22313         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
22314         defined as a function.
22315         * modules/strtoumax (Depends-on, configure.ac): Test only whether
22316         strtoumax is defined, not whether it is declared.
22317
22318 2011-09-01  Bruno Haible  <bruno@clisp.org>
22319
22320         strtoimax: Avoid link error on OSF/1 with DTK cc.
22321         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
22322         defined as a function.
22323         * modules/strtoimax (Depends-on, configure.ac): Test only whether
22324         strtoimax is defined, not whether it is declared.
22325
22326 2011-09-01  Bruno Haible  <bruno@clisp.org>
22327
22328         imaxdiv: Avoid link error on OSF/1 with DTK cc.
22329         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
22330         as a function.
22331         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
22332         whether it is declared.
22333
22334 2011-09-01  Bruno Haible  <bruno@clisp.org>
22335
22336         imaxabs: Avoid link error on OSF/1 with DTK cc.
22337         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
22338         as a function.
22339         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
22340         whether it is declared.
22341
22342 2011-09-01  Bruno Haible  <bruno@clisp.org>
22343
22344         Tests for module 'strtoumax'.
22345         * modules/strtoumax-tests: New file.
22346         * tests/test-strtoumax.c: New file.
22347
22348         Tests for module 'strtoimax'.
22349         * modules/strtoimax-tests: New file.
22350         * tests/test-strtoimax.c: New file.
22351
22352         Tests for module 'imaxdiv'.
22353         * modules/imaxdiv-tests: New file.
22354         * tests/test-imaxdiv.c: New file.
22355
22356         Tests for module 'imaxabs'.
22357         * modules/imaxabs-tests: New file.
22358         * tests/test-imaxabs.c: New file.
22359
22360 2011-09-01  Bruno Haible  <bruno@clisp.org>
22361
22362         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
22363         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
22364         pthread_create.
22365
22366 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22367
22368         openat: work around AIX 7.1 fstatat issue
22369         This should fix the problem that was not properly fixed
22370         in the previous change, dated 2011-08-30.
22371         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
22372         __need_system_stat_h defined.
22373         (orig_fstatat) [HAVE_FSTATAT]: New function.
22374         (rpl_fstatat): Go back to the old way of doing things,
22375         except call orig_fstatat instead of fstatat.
22376         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
22377         Remove unnecessary check whether fstatat fills in st_size etc.
22378
22379 2011-09-01  Bruno Haible  <bruno@clisp.org>
22380
22381         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
22382         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
22383         just include the system's header.
22384
22385 2011-08-31  Jim Meyering  <meyering@redhat.com>
22386
22387         tests: avoid spurious assertion failure in test-float.c on ppc64
22388         * tests/test-float.c (test_long_double): Comment out an assertion,
22389         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
22390         with gcc-4.4.4.
22391
22392         maint: indent with spaces, not TABs
22393         I need to get in the habit of running gnulib's "make check".
22394         Both of these would have been caught.
22395         * m4/largefile.m4: Indent with spaces, not TABs.
22396         * lib/parse-datetime.y (iso_8601_time): Likewise.
22397         Spotted by Pádraig Brady.
22398
22399         test-parse-datetime.c: accommodate a relatively strict gcc warning
22400         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
22401         to avoid a warning from gcc's -Werror=missing-declarations.
22402         Insert a few spaces-before-funcall-parenthesis.
22403
22404 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
22405
22406         parse-datetime: accept ISO 8601 date and time rep with "T" separator
22407         The parser now accepts ISO 8601 date-time strings with "T" as the
22408         separator.  It has long parsed dates like "2004-02-29 16:21:42"
22409         with a space between the date and time strings.  Now it also parses
22410         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
22411         variants like "2004-02-29T16:21:42.333-07:00"
22412         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
22413         of day representation using the 'T' separator character.
22414         * doc/parse-datetime.texi (General date syntax): replace use of
22415         deprecated --iso-8601 option with --rfc-3339 in example of date
22416         command output formats that can be parsed.
22417         * tests/test-parse-datetime.c (tm_diff): New function, taken from
22418         lib/parse-datetime.y.
22419         (gmt_offset): New function.
22420         (main): Add additional test cases to validate ISO8601 extended
22421         date and time of day parsing.
22422
22423 2011-08-31  Bruno Haible  <bruno@clisp.org>
22424
22425         freopen: Documentation.
22426         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
22427         name.
22428         Reported by Claudio Bley <claudio.bley@gmail.com>.
22429
22430 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
22431
22432         freopen: Don't crash if the filename argument is NULL.
22433         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
22434         NULL.
22435
22436 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
22437
22438         openat: work around AIX 7.1 fstatat bug
22439         Problem reported by Kevin Brott for GNU tar, in the thread containing
22440         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
22441         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
22442         FSTATAT_ST_SIZE_ETC_BROKEN.
22443         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
22444         rpl_fstatat.
22445         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
22446         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
22447         AC_CHECK_FUNCS_ONCE for fstatat.
22448         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
22449         fchmodat, mkdirat, openat and unlinkat.
22450
22451 2011-08-30  Bruno Haible  <bruno@clisp.org>
22452
22453         Avoid endless recursions if config.h includes some header files.
22454         * lib/fopen.c (__need_FILE): Define already before including config.h.
22455         * lib/freopen.c (__need_FILE): Likewise.
22456         * lib/open.c (__need_system_fcntl_h): Likewise.
22457         * lib/stat.c (__need_system_sys_stat_h): Likewise.
22458         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
22459         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
22460
22461 2011-08-25  Karl Berry  <karl@gnu.org>
22462
22463         * config/srclist.txt (ylwrap): new try.
22464         * build-aux/ylwrap: new file.
22465
22466 2011-08-23  Bruno Haible  <bruno@clisp.org>
22467
22468         tmpdir: Use a good default directory on native Windows.
22469         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
22470         (P_tmpdir): Default to _P_tmpdir on native Windows.
22471         (path_search): On native Windows, try the value returned by GetTempPath
22472         before trying P_tmpdir.
22473         * modules/tmpdir (Depends-on): Add pathmax.
22474         Suggested by John Darrington <john@darrington.wattle.id.au>.
22475
22476 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
22477
22478         doc: fix typo in README-release
22479         * top/README-release: Capitalize first word of a sentence.
22480
22481 2011-08-19  Jim Meyering  <meyering@redhat.com>
22482
22483         fts: do not exhaust memory when processing million-entry directories
22484         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
22485         directory would require about 256*N bytes of memory.  Thus, it was
22486         easy to construct a directory too large to be processed by any of
22487         those tools.  With this change, fts' maximum memory utilization is
22488         now limited to around 30MB.
22489         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
22490         (fts_read): When we've processed the final entry (i.e., when
22491         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
22492         using the parent entry to read any remaining entries.  Dispatch
22493         depending on what fts_build returns:
22494         - NULL+stop, aka failure: stop
22495         - NULL otherwise: move up in the dir hierarchy
22496         - non-NULL: handle this new entry
22497         (fts_build): Declare and use new local, continue_readdir.
22498         Prepare to be called from fts_read, when the entries
22499         from a partially-read directory have just been exhausted.
22500         In that case, we'll skip the opendir and instead use the parent's
22501         fts_dirp and derive dir_fd from that.
22502         Finally, in the readdir loop, if we read max_entries entries,
22503         exit the loop ensuring *not* to call closedir.  This is required
22504         so that fts_dirp can be reused on a subsequent call.
22505         Prompted by Ben England's report of memory exhaustion in find
22506         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
22507
22508         maint: fts: move decl of `dp' down into while loop; split a long line
22509         * lib/fts.c (fts_build): No semantic change.
22510
22511         fts: add/use new struct member, fts_dirp
22512         We are about to use this to manage any directory with
22513         too many entries to read all of them into memory at once.
22514         To do that, we'll need to save the DIR* pointer in each
22515         affected FTSENT struct.
22516         * lib/fts_.h: Include <dirent.h>.
22517         (struct FTSENT) [fts_dirp]: New member.
22518         * lib/fts.c (closedir_and_clear): Define.
22519         Use it in place of closedir so that we are sure to
22520         clear the new fts_dirp member when done with it.
22521         (fts_alloc): Initialize the new member.
22522         (fts_lfree): Free, if needed.
22523
22524         maint: fts: give __opendir2 a new parameter and rename
22525         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
22526         than surreptitiously using sole caller's "dir_fd".
22527         (fts_opendir): Rename from __opendir2.
22528
22529         maint: fts.c: remove __opendir2's now-unused parameter, oflag
22530         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
22531
22532         maint: fts.c: correct off-by-one indentation
22533         * lib/fts.c (fts_build): Correct indentation, change style
22534         of a couple of block comments, and bracing style.
22535
22536         maint: fts.c: move __opendir2 #define "up" out of function body
22537         * lib/fts.c (__opendir2): Move "up".  No semantic change.
22538
22539         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
22540         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
22541         out for a long time and besides was useful only on BSD systems.
22542
22543 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
22544
22545         regex: port to Stratus OpenVOS
22546         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
22547         define to empty, rather than attempting nonportable optimizations.
22548         Problem reported by Paul Green in:
22549         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
22550         and fix suggested by Eric Blake in:
22551         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
22552
22553 2011-08-17  Eric Blake  <eblake@redhat.com>
22554
22555         getcwd: fix test failures on mingw
22556         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
22557         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
22558         test if long directory cannot be created, and allow mingw errno.
22559
22560         getcwd-lgpl: fix m4 to match relaxed test for BSD
22561         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
22562         (gl_FUNC_GETCWD_SIGNATURE): New macro.
22563         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
22564         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
22565         signature problem.
22566
22567         getcwd: fix compilation on mingw64
22568         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
22569         getcwd.
22570         Reported by Marc-André Lureau.
22571
22572         pipe2: silence compiler warning
22573         * lib/pipe2.c (pipe2): Hide label if it is not used.
22574
22575 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
22576
22577         relocatable-prog: fix link error
22578         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
22579         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
22580         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
22581         into modules/relocatable-lib without noticing that
22582         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
22583         also needs to build relocatable.c.
22584
22585 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22586
22587         getaddrinfo: fix sh typo in gai_strerrorA decl checking
22588         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
22589         shell code: it contained a 'break' that was not in a loop.
22590         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
22591         via a shell-language loop; this may have been true in old Autoconf
22592         versions, but it's not true in Autoconf 2.68.  I found this bug
22593         when testing coreutils git on Solaris 8, whose shell complains
22594         about the syntax error.
22595
22596 2011-08-12  Simon Josefsson  <simon@josefsson.org>
22597
22598         * lib/base64.c: Fix comment to reference RFC 4648.
22599         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
22600         <gvtulder@gmail.com>.
22601
22602 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
22603
22604         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
22605
22606         po/Makefile.in.in: fix make -q problem
22607         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
22608         rule, since there's no file named 'check-macro-version' and its
22609         use as a file breaks make -q.
22610         (all): Don't depend on check-macro-version.
22611         (CHECK_MACRO_VERSION): New macro.
22612         (stamp-po): Use it.
22613
22614         configmake: fix make -q problem
22615         * modules/configmake (configmake.h): Update configmake.h's time stamp
22616         even if the file does not change.  Otherwise, 'make -q' fails.
22617         Problem reported by Simon Josefsson in
22618         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
22619
22620 2011-08-11  Jim Meyering  <meyering@redhat.com>
22621
22622         git-version-gen: correct the advice in a comment
22623         * build-aux/git-version-gen: Correct comment.
22624         Don't recommend to list .tarball-version in .gitignore.
22625
22626 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
22627
22628         base64: fix off-by-one buffer size bug
22629         Problem and (trivial) fix reported by Gijs van Tulder in
22630         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
22631         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
22632         * tests/test-base64.c (main): Catch the bug.
22633
22634 2011-08-10  Eric Blake  <eblake@redhat.com>
22635
22636         closein: correct comments
22637         * lib/closein.c (close_stdin): Improve comments.
22638
22639 2011-08-09  Bruno Haible  <bruno@clisp.org>
22640
22641         More tests for 'fseeko'.
22642         * tests/test-fseeko3.c: New file, from Eric Blake.
22643         * tests/test-fseeko3.sh: New file.
22644         * modules/fseeko-tests (Files): Add them.
22645         (TESTS): Add test-fseeko3.sh.
22646         (check_PROGRAMS): Add test-fseeko3.
22647
22648 2011-08-09  Eric Blake  <eblake@redhat.com>
22649
22650         fseeko: remove unneeded hack
22651         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
22652
22653         fseeko: fix bug on glibc
22654         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
22655         Reported by John W. Eaton.
22656
22657 2011-08-08  Bruno Haible  <bruno@clisp.org>
22658
22659         unictype/base: Fix interoperability with preinstalled libunistring.
22660         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
22661         Reported by Simon Josefsson.
22662
22663 2011-08-08  Bruno Haible  <bruno@clisp.org>
22664
22665         iswblank: Detect declaration correctly.
22666         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
22667         AC_CHECK_DECLS invocation.
22668
22669 2011-08-08  Bruno Haible  <bruno@clisp.org>
22670
22671         tcgetsid: Detect declaration correctly.
22672         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
22673         AC_CHECK_DECLS invocation.
22674         Reported by Simon Josefsson.
22675
22676 2011-08-08  Eric Blake  <eblake@redhat.com>
22677
22678         largefile: fix typo that regressed large file support
22679         * modules/largefile (configure.ac-early): Fix section name.
22680
22681 2011-08-06  Karl Berry  <karl@gnu.org>
22682
22683         * MODULES.html.sh (func_all_files): _Noreturn is no longer
22684         a separate module.
22685
22686 2011-08-05  Simon Josefsson  <simon@josefsson.org>
22687
22688         openat: Fix warnings and commens when building unlinkat.c on Hurd.
22689         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
22690         get prototype for free.
22691
22692 2011-08-04  Bruno Haible  <bruno@clisp.org>
22693
22694         Tests for module 'pathmax'.
22695         * modules/pathmax-tests: New file.
22696         * tests/test-pathmax.c: New file.
22697
22698         canonicalize-lgpl: Support larger filenames on the Hurd.
22699         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
22700         Reported by Paul Eggert.
22701
22702         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
22703         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
22704         * lib/chdir-long.h: Include pathmax.h.
22705         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
22706         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
22707         (PATH_MAX): Remove code that is done by pathmax.h.
22708         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
22709         * lib/tmpfile.c: Add a comment.
22710         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
22711         * modules/chdir-long (Depends-on): Add pathmax.
22712         * modules/getcwd (Depends-on): Add pathmax.
22713         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
22714         is not defined.
22715         * doc/posix-headers/limits.texi: Mention the pathmax module.
22716         * NEWS: Mention the change.
22717
22718 2011-08-02  Bruno Haible  <bruno@clisp.org>
22719
22720         pthread_sigmask: Actually use results of gl_THREADLIB.
22721         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
22722         gl_THREADLIB, not gl_[]THREADLIB.
22723         Reported by Eric Blake.
22724
22725 2011-08-02  Jim Meyering  <meyering@redhat.com>
22726
22727         maint.mk: relax the default _gl_TS_function_match regexp
22728         * top/maint.mk (_gl_TS_function_match): Don't require at least one
22729         space between function name and "(" in an "extern" declaration.
22730         That would fail to match a decl with no space there: extern void foo();
22731
22732 2011-07-31  Iain Nicol  <iain@thenicols.net>
22733
22734         git-version-gen: document that EXTRA_DIST must include .version
22735         * build-aux/git-version-gen: In the how-to-use comment, document
22736         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
22737         will fail when run from an unpacked distribution tarball.
22738
22739 2011-08-01  Bruno Haible  <bruno@clisp.org>
22740
22741         wctype-h: Fix last change.
22742         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
22743         REPLACE_TOWLOWER to 0.
22744         Reported by Sam Steingold <sds@gnu.org>.
22745
22746 2011-07-31  Bruno Haible  <bruno@clisp.org>
22747
22748         frexpl: Update autoconf test.
22749         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
22750         according to changes of 2011-06-20.
22751
22752 2011-07-31  Bruno Haible  <bruno@clisp.org>
22753
22754         sys_utsname: Add support for Minix.
22755         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
22756         <sys/utsname.h>.
22757         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22758         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
22759
22760 2011-07-31  Bruno Haible  <bruno@clisp.org>
22761
22762         strings: Add support for Minix.
22763         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
22764         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
22765         * doc/posix-headers/strings.texi: Document the Minix problem.
22766
22767 2011-07-31  Bruno Haible  <bruno@clisp.org>
22768
22769         wctype-h: Add support for Minix.
22770         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
22771         REPLACE_TOWLOWER.
22772         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
22773         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
22774         REPLACE_ISWCNTRL.
22775
22776 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
22777
22778         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
22779         This is a performance improvement for 64-bit hosts: it causes the
22780         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
22781
22782 2011-07-31  Bruno Haible  <bruno@clisp.org>
22783
22784         stdioext: Add support for Minix.
22785         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
22786         * lib/fpurge.c (fpurge): Likewise.
22787         * lib/freadahead.c (freadahead): Likewise.
22788         * lib/freadable.c (freadable): Likewise.
22789         * lib/freading.c (freading): Likewise.
22790         * lib/freadptr.c (freadptr): Likewise.
22791         * lib/freadseek.c (freadptrinc): Likewise.
22792         * lib/fseeko.c (rpl_fseeko): Likewise.
22793         * lib/fseterr.c (fseterr): Likewise.
22794         * lib/fwritable.c (fwritable): Likewise.
22795         * lib/fwriting.c (fwriting): Likewise.
22796         * lib/fflush.c (clear_ungetc_buffer): Update comment.
22797         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
22798
22799 2011-07-31  Bruno Haible  <bruno@clisp.org>
22800
22801         errno: Port to Minix.
22802         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
22803         ECONNABORTED are defined.
22804         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
22805         GNULIB_defined_ECONNABORTED): New macros.
22806         * lib/strerror-override.h (strerror_override): Test also
22807         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
22808         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
22809         ECONNABORTED.
22810         * doc/posix-headers/errno.texi: Mention the Minix problem.
22811
22812 2011-07-31  Bruno Haible  <bruno@clisp.org>
22813
22814         Work around declaration collisions on Minix.
22815         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
22816         defined, set REPLACE_MBSINIT.
22817         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
22818         defined, set REPLACE_MBRTOWC.
22819         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
22820         set REPLACE_MBRLEN.
22821         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
22822         defined, set REPLACE_MBSRTOWCS.
22823         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
22824         defined, set REPLACE_WCRTOMB.
22825         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
22826         defined, set REPLACE_WCSRTOMBS.
22827
22828 2011-07-31  Bruno Haible  <bruno@clisp.org>
22829
22830         Add support for Minix with ACK compiler.
22831         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
22832         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
22833         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
22834
22835 2011-07-31  Bruno Haible  <bruno@clisp.org>
22836
22837         Documentation about Minix.
22838         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
22839         * doc/glibc-headers/*.texi: Likewise.
22840         * doc/posix-functions/*.texi: Likewise.
22841         * doc/glibc-functions/*.texi: Likewise.
22842
22843 2011-07-31  Bruno Haible  <bruno@clisp.org>
22844
22845         snippet/warn-on-use: Fix indentation.
22846         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
22847
22848 2011-07-25  Jim Meyering  <meyering@redhat.com>
22849
22850         tests: test-update-copyright.sh: remove unnecessary "rm" commands
22851         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
22852         commands.
22853
22854 2011-07-27  Jim Meyering  <meyering@redhat.com>
22855
22856         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
22857         * top/maint.mk (gl_extract_significant_defines_): Now that
22858         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
22859         gnulib/lib/signal.in.h, and now that we recommend to
22860         define-if-undefined those two symbols in application code,
22861         we must filter them out of the "significant" list.
22862         This avoids a "make syntax-check" failure in coreutils.
22863
22864 2011-07-26  Eric Blake  <eblake@redhat.com>
22865
22866         warnings: add comments about previous patch
22867         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
22868         * m4/include_next.m4: Likewise.
22869         * m4/warn-on-use.m4: Likewise.
22870         * m4/warnings.m4: Likewise, and simplify use.
22871         Suggested by Stefano Lattarini.
22872
22873         include-next, warnings: support older autoconf
22874         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
22875         AS_VAR_PUSHDEF in a way that works with older autoconf.
22876         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
22877         Reported by Daniel P. Berrange.
22878
22879 2011-07-25  Bruno Haible  <bruno@clisp.org>
22880
22881         fseek, ftell: Fix doc.
22882         * doc/posix-functions/fseek.texi: Reword statement about
22883         AC_SYS_LARGEFILE.
22884         * doc/posix-functions/ftell.texi: Likewise.
22885
22886 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
22887             Bruno Haible  <bruno@clisp.org>
22888
22889         Add dependencies to the 'largefile' module.
22890         * modules/fopen (Depends-on): Add 'largefile'.
22891         * modules/freopen (Depends-on): Likewise.
22892         * modules/fseeko (Depends-on): Likewise.
22893         * modules/ftello (Depends-on): Likewise.
22894         * modules/glob (Depends-on): Likewise.
22895         * modules/lseek (Depends-on): Likewise.
22896         * modules/lstat (Depends-on): Likewise.
22897         * modules/mkostemp (Depends-on): Likewise.
22898         * modules/mkostemps (Depends-on): Likewise.
22899         * modules/mkstemp (Depends-on): Likewise.
22900         * modules/mkstemps (Depends-on): Likewise.
22901         * modules/open (Depends-on): Likewise.
22902         * modules/openat (Depends-on): Likewise.
22903         * modules/pread (Depends-on): Likewise.
22904         * modules/pwrite (Depends-on): Likewise.
22905         * modules/scandir (Depends-on): Likewise.
22906         * modules/stat (Depends-on): Likewise.
22907         * modules/tmpfile (Depends-on): Likewise.
22908         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
22909         since the containing module now depends on the largefile module.
22910         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
22911         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
22912         off_t is fixed by gnulib.
22913         * doc/posix-functions/freopen.texi: Likewise.
22914         * doc/posix-functions/fseeko.texi: Likewise.
22915         * doc/posix-functions/fstatat.texi: Likewise.
22916         * doc/posix-functions/ftello.texi: Likewise.
22917         * doc/posix-functions/glob.texi: Likewise.
22918         * doc/posix-functions/lseek.texi: Likewise.
22919         * doc/posix-functions/lstat.texi: Likewise.
22920         * doc/posix-functions/mkstemp.texi: Likewise.
22921         * doc/posix-functions/open.texi: Likewise.
22922         * doc/posix-functions/openat.texi: Likewise.
22923         * doc/posix-functions/pread.texi: Likewise.
22924         * doc/posix-functions/pwrite.texi: Likewise.
22925         * doc/posix-functions/scandir.texi: Likewise.
22926         * doc/posix-functions/stat.texi: Likewise.
22927         * doc/posix-functions/tmpfile.texi: Likewise.
22928         * doc/glibc-functions/mkostemp.texi: Likewise.
22929         * doc/glibc-functions/mkostemps.texi: Likewise.
22930         * doc/glibc-functions/mkstemps.texi: Likewise.
22931
22932 2011-07-25  Bruno Haible  <bruno@clisp.org>
22933
22934         fcntl: Move AC_LIBOBJ invocation to module description.
22935         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
22936         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
22937
22938         fcntl: Remove call-in from fchdir.m4.
22939         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
22940         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
22941
22942         dup3: Remove potential call-in from fchdir.m4.
22943         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
22944         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
22945
22946         dup2: Move AC_LIBOBJ invocation to module description.
22947         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
22948         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
22949         Don't invoke AC_LIBOBJ.
22950         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
22951
22952         dup2: Remove call-in from fchdir.m4.
22953         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
22954         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
22955
22956         fclose: Move AC_LIBOBJ invocation to module description.
22957         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
22958         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
22959         to 1.
22960         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
22961
22962         fclose: Remove call-in from close.m4.
22963         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
22964         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
22965
22966         close: Move AC_LIBOBJ invocation to module description.
22967         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
22968         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
22969         1.
22970         * modules/close (configure.ac): Invoke AC_LIBOBJ.
22971
22972         close: Remove call-in from fchdir.m4.
22973         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
22974         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
22975
22976         open: Move AC_LIBOBJ invocation to module description.
22977         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
22978         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
22979         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
22980
22981         open: Remove call-in from fchdir.m4.
22982         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
22983         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
22984
22985         fchdir: Start to remove gl_REPLACE_* idiom.
22986         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
22987         (gl_FUNC_FCHDIR): Invoke it.
22988
22989 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
22990
22991         * lib/ftell.c (ftell): Comment out cast.
22992
22993         close: use gl_REPLACE_FCLOSE only if defined
22994         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
22995         is defined.  The close module doesn't depend on the fclose module
22996         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
22997         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
22998         I reproduced the problem with "./gnulib-tool --test close sys_socket".
22999
23000 2011-07-24  Jim Meyering  <meyering@redhat.com>
23001
23002         test-select.h: avoid warning when using gcc's -Wmissing-declarations
23003         * tests/test-select.h (test_function): Declare as "static".
23004
23005 2011-07-24  Bruno Haible  <bruno@clisp.org>
23006
23007         doc: Mention the effects of AC_SYS_LARGEFILE.
23008         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
23009         on this function.
23010         * doc/posix-functions/aio_error.texi: Likewise.
23011         * doc/posix-functions/aio_fsync.texi: Likewise.
23012         * doc/posix-functions/aio_read.texi: Likewise.
23013         * doc/posix-functions/aio_return.texi: Likewise.
23014         * doc/posix-functions/aio_suspend.texi: Likewise.
23015         * doc/posix-functions/aio_write.texi: Likewise.
23016         * doc/posix-functions/fgetpos.texi: Likewise.
23017         * doc/posix-functions/fopen.texi: Likewise.
23018         * doc/posix-functions/freopen.texi: Likewise.
23019         * doc/posix-functions/fsetpos.texi: Likewise.
23020         * doc/posix-functions/fstatvfs.texi: Likewise.
23021         * doc/posix-functions/ftruncate.texi: Likewise.
23022         * doc/posix-functions/ftw.texi: Likewise.
23023         * doc/posix-functions/getrlimit.texi: Likewise.
23024         * doc/posix-functions/glob.texi: Likewise.
23025         * doc/posix-functions/lio_listio.texi: Likewise.
23026         * doc/posix-functions/lockf.texi: Likewise.
23027         * doc/posix-functions/mkstemp.texi: Likewise.
23028         * doc/posix-functions/mmap.texi: Likewise.
23029         * doc/posix-functions/nftw.texi: Likewise.
23030         * doc/posix-functions/openat.texi: Likewise.
23031         * doc/posix-functions/opendir.texi: Likewise.
23032         * doc/posix-functions/posix_fadvise.texi: Likewise.
23033         * doc/posix-functions/posix_fallocate.texi: Likewise.
23034         * doc/posix-functions/pread.texi: Likewise.
23035         * doc/posix-functions/pwrite.texi: Likewise.
23036         * doc/posix-functions/readdir.texi: Likewise.
23037         * doc/posix-functions/readdir_r.texi: Likewise.
23038         * doc/posix-functions/rewinddir.texi: Likewise.
23039         * doc/posix-functions/scandir.texi: Likewise.
23040         * doc/posix-functions/seekdir.texi: Likewise.
23041         * doc/posix-functions/setrlimit.texi: Likewise.
23042         * doc/posix-functions/statvfs.texi: Likewise.
23043         * doc/posix-functions/telldir.texi: Likewise.
23044         * doc/posix-functions/tmpfile.texi: Likewise.
23045         * doc/posix-functions/truncate.texi: Likewise.
23046         * doc/glibc-functions/fallocate.texi: Likewise.
23047         * doc/glibc-functions/fstatfs.texi: Likewise.
23048         * doc/glibc-functions/fts_children.texi: Likewise.
23049         * doc/glibc-functions/fts_read.texi: Likewise.
23050         * doc/glibc-functions/getdirentries.texi: Likewise.
23051         * doc/glibc-functions/mkostemp.texi: Likewise.
23052         * doc/glibc-functions/mkostemps.texi: Likewise.
23053         * doc/glibc-functions/mkstemps.texi: Likewise.
23054         * doc/glibc-functions/preadv.texi: Likewise.
23055         * doc/glibc-functions/pwritev.texi: Likewise.
23056         * doc/glibc-functions/sendfile.texi: Likewise.
23057         * doc/glibc-functions/statfs.texi: Likewise.
23058
23059 2011-07-24  Bruno Haible  <bruno@clisp.org>
23060
23061         doc: Fix typo.
23062         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
23063
23064 2011-07-24  Bruno Haible  <bruno@clisp.org>
23065
23066         doc: Mention fsusage.
23067         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
23068
23069 2011-07-24  Bruno Haible  <bruno@clisp.org>
23070
23071         doc: Mention new glibc headers and functions.
23072         * doc/glibc-headers/gshadow.texi: New file.
23073         * doc/glibc-functions/endsgent.texi: New file.
23074         * doc/glibc-functions/fgetsgent.texi: New file.
23075         * doc/glibc-functions/fgetsgent_r.texi: New file.
23076         * doc/glibc-functions/getsgent.texi: New file.
23077         * doc/glibc-functions/getsgent_r.texi: New file.
23078         * doc/glibc-functions/getsgnam.texi: New file.
23079         * doc/glibc-functions/getsgnam_r.texi: New file.
23080         * doc/glibc-functions/putsgent.texi: New file.
23081         * doc/glibc-functions/setsgent.texi: New file.
23082         * doc/glibc-functions/sgetsgent.texi: New file.
23083         * doc/glibc-functions/sgetsgent_r.texi: New file.
23084         * doc/glibc-functions/malloc_info.texi: New file.
23085         * doc/glibc-functions/preadv.texi: New file.
23086         * doc/glibc-functions/pwritev.texi: New file.
23087         * doc/glibc-functions/register_printf_modifier.texi: New file.
23088         * doc/glibc-functions/register_printf_specifier.texi: New file.
23089         * doc/glibc-functions/register_printf_type.texi: New file.
23090         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
23091         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
23092         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
23093         * doc/glibc-functions/pthread_getname_np.texi: New file.
23094         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
23095         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
23096         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
23097         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
23098         * doc/glibc-functions/pthread_setname_np.texi: New file.
23099         * doc/glibc-functions/pthread_sigqueue.texi: New file.
23100         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
23101         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
23102         * doc/glibc-functions/qsort_r.texi: New file.
23103         * doc/glibc-functions/quick_exit.texi: New file.
23104         * doc/glibc-functions/syncfs.texi: New file.
23105         * doc/gnulib.texi: Include them.
23106         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
23107         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
23108         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
23109         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
23110         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
23111         * doc/glibc-functions/execvpe.texi: Likewise.
23112
23113 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
23114
23115         ftell: don't include <unistd.h>
23116         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
23117         guaranteed to define off_t, and the ftell module depends on the
23118         stdio module.
23119
23120         ftell: do not assume wraparound signed arithmetic
23121         * lib/ftell.c: Include <limits.h>.
23122         (ftell): Don't assume wraparound signed arithmetic.
23123
23124 2011-07-24  Bruno Haible  <bruno@clisp.org>
23125
23126         close: No longer depend on module 'fclose'.
23127         * modules/close (Depends-on): Remove fclose.
23128         * NEWS: Mention the change.
23129         Suggested by Sam Steingold <sds@gnu.org>.
23130
23131 2011-07-24  Bruno Haible  <bruno@clisp.org>
23132
23133         fsusage: Enable large volume support on AIX >= 5.2.
23134         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
23135         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
23136         instead of STAT_STATVFS.
23137         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
23138
23139         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
23140         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
23141         f_blocks field only on MacOS X.
23142
23143         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
23144         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
23145         * modules/fsusage (Depends-on): Add largefile.
23146
23147 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
23148
23149         * README: Modernize discussion of signed integers.
23150         Assuming overflow wraparound is no longer safe.
23151         Mention ones' complement and signed magnitude.
23152
23153 2011-07-22  Bruno Haible  <bruno@clisp.org>
23154
23155         select tests, pselect tests: Refactor.
23156         * tests/test-select.h: New file, extracted from tests/test-select.c.
23157         (select_fn): New type.
23158         (test, do_select, do_select_nowait, do_select_wait, test_tty,
23159         test_connect_first, test_accept_first, test_pair, test_socket_pair,
23160         test_pipe): Add my_select argument.
23161         (test_function): Renamed from main. Add my_select argument.
23162         * tests/test-select.c: Move most code to tests/test-select.h. Include
23163         test-select.h.
23164         * modules/select-tests (Files): Add tests/test-select.h.
23165         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
23166         (my_select, main): New functions.
23167         * modules/pselect-tests (Files): Add tests/test-select.h,
23168         tests/macros.h, tests/signature.h.
23169         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
23170         (configure.ac): Check for <sys/wait.h>.
23171
23172 2011-07-22  Bruno Haible  <bruno@clisp.org>
23173
23174         sys_select tests: Check the signature of FD_*.
23175         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
23176         signature tests from here...
23177         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
23178         here.
23179         * modules/sys_select-tests (Files): Add tests/signature.h.
23180
23181 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
23182
23183         largefile: new module, replacing large-inode
23184         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
23185         * MODULES.html.sh: Add largefile, remove large-inode.
23186         * modules/largefile, m4/largefile.m4: New files.
23187         * modules/large-inode, m4/large-inode.m4: Remove.
23188
23189         fsusage: port to MacOS X 10.7 with 4 TiB file systems
23190         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
23191         implementations that use only 32 bits to count blocks.
23192         On typical hosts with 1024-byte blocks, this fails with file
23193         systems as small as 4 TiB.  Problem reported by Herb Wartens
23194         <http://debbugs.gnu.org/9140> and this should also fix a similar
23195         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
23196
23197         large-inode: New module
23198         * MODULES.html.sh: Add it.
23199         * modules/large-inode, m4/large-inode.m4: New files.
23200
23201         extensions: Enable extensions on MacOS X 10.5 and later.
23202         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
23203
23204 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
23205
23206         file-has-acl: use acl_extended_file_nofollow if available
23207         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
23208         (acl_extended_file): New macro.
23209         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
23210         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
23211
23212 2011-07-21  Bruno Haible  <bruno@clisp.org>
23213
23214         Declare system functions in a way that works with C++.
23215         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
23216         declare fdopendir as extern "C".
23217         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
23218         declare frexpl as extern "C".
23219         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
23220         declare gai_strerror as extern "C".
23221         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
23222         programs, declare gai_strerror as extern "C".
23223         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
23224         declare getlogin_r as extern "C".
23225         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
23226         as extern "C".
23227         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
23228         declare ldexpl as extern "C".
23229         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
23230         as extern "C".
23231         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
23232         program, declare getmntinfo as extern "C".
23233         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
23234         stpncpy as extern "C".
23235         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
23236         program, declare __xpg_strerror_r as extern "C".
23237         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
23238         strndup as extern "C".
23239         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
23240         declare memset and bzero as extern "C".
23241         Reported by Sam Steingold <sds@gnu.org>.
23242
23243 2011-07-12  Jim Meyering  <meyering@redhat.com>
23244
23245         maint.mk: prohibit inclusion of "verify.h" without use
23246         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
23247
23248 2011-07-19  Pádraig Brady  <P@draigBrady.com>
23249
23250         timer-time: A new module to check for timer_settime()
23251         * m4/timer_time.m4: Check for the posix function.
23252         * modules/timer-time: Add the new module.
23253         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
23254         Mention it.
23255
23256 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
23257             Bruno Haible  <bruno@clisp.org>
23258
23259         pthread_sigmask: assume POSIX threads if --avoid=threadlib
23260         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
23261         not defined, assume POSIX threads and look for pthread_sigmask in
23262         $LIBS, without changing $CPPFLAGS.
23263
23264 2011-07-19  Bruno Haible  <bruno@clisp.org>
23265
23266         strstr: Update cross-compilation guess.
23267         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
23268         CPUs, guess no, in view of glibc
23269         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
23270         Suggested by Eric Blake. Reported by Reuben Thomas.
23271
23272 2011-07-19  Pádraig Brady  <P@draigBrady.com>
23273
23274         getopt-gnu: suppress core dumps from detection code
23275         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
23276         to suppress core dumps that may well occur on glibc systems.
23277         * modules/getopt-gnu: Depend on nocrash.
23278
23279 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
23280
23281         pthread_sigmask: ensure usleep is declared
23282         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
23283         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
23284
23285 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
23286
23287         doc: Document NonStop portability issues.
23288         * doc/posix-functions/sigaction.texi (sigaction):
23289         * doc/posix-headers/signal.texi (signal.h):
23290         Document NonStop.  See Joachim Schmitz in
23291         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
23292
23293 2011-07-15  Bruno Haible  <bruno@clisp.org>
23294
23295         ffsl, ffsll: Avoid unportable behaviour.
23296         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
23297
23298 2011-07-15  Bruno Haible  <bruno@clisp.org>
23299
23300         ffs: More tests.
23301         * tests/test-ffs.c (NBITS): New macro.
23302         (main): Add more tests.
23303         * tests/test-ffsl.c (NBITS): New macro.
23304         (main): Add more tests.
23305         * tests/test-ffsll.c (NBITS): New macro.
23306         (main): Add more tests.
23307
23308 2011-07-15  Eric Blake  <eblake@redhat.com>
23309
23310         ffsl, ffsll: new modules
23311         * modules/ffsl: New file.
23312         * modules/ffsll: Likewise.
23313         * m4/ffsl.m4: Likewise.
23314         * m4/ffsll.m4: Likewise.
23315         * lib/ffsl.c: Likewise.
23316         * lib/ffsl.h: Likewise.
23317         * lib/ffsll.c: Likewise.
23318         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
23319         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
23320         * modules/string (Makefile.am): Substitute witnesses.
23321         * lib/strings.in.h (ffsl, ffsll): Declare.
23322         * modules/ffsl-tests: New test file.
23323         * modules/ffsll-tests: Likewise.
23324         * tests/test-ffsl.c: Likewise.
23325         * tests/test-ffsll.c: Likewise.
23326         * MODULES.html.sh (Integer arithmetic functions): Mention it.
23327         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
23328         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
23329
23330         ffs: fix m4 prerequisite
23331         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
23332
23333         ffs: avoid undefined behavior
23334         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
23335         * tests/test-ffs.c (naive, main): Avoid signed shifts.
23336         Reported by Bruno Haible.
23337
23338 2011-07-12  Bruno Haible  <bruno@clisp.org>
23339
23340         pthread_sigmask: Rely on module 'threadlib'.
23341         * modules/pthread_sigmask (Depends-on): Add threadlib.
23342         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
23343         is defined.
23344
23345 2011-07-12  Bruno Haible  <bruno@clisp.org>
23346
23347         regex: Depend on module 'strcase'.
23348         * modules/regex (Depends-on): Add strcase, for strcasecmp().
23349
23350 2011-07-12  Jim Meyering  <meyering@redhat.com>
23351
23352         warn-on-use: fix typo in file name
23353         * modules/snippet/warn-on-use (Files): Correct file name:
23354         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
23355
23356 2011-07-12  Bruno Haible  <bruno@clisp.org>
23357
23358         strings: Document module.
23359         * doc/posix-headers/strings.texi: Mention module 'strings'.
23360
23361 2011-07-12  Bruno Haible  <bruno@clisp.org>
23362
23363         Rename module '_Noreturn' to 'snippet/_Noreturn'.
23364         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
23365         (Files, Makefile.am): Update.
23366         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
23367         * modules/stdlib (Depends-on): Update.
23368
23369 2011-07-12  Bruno Haible  <bruno@clisp.org>
23370
23371         * NEWS: Mention the changes.
23372
23373         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
23374         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
23375         (Files, Makefile.am): Update.
23376         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
23377         * modules/arpa_inet (Depends-on): Update.
23378         * modules/ctype (Depends-on): Update.
23379         * modules/dirent (Depends-on): Update.
23380         * modules/fcntl-h (Depends-on): Update.
23381         * modules/glob (Depends-on): Update.
23382         * modules/iconv-h (Depends-on): Update.
23383         * modules/inttypes-incomplete (Depends-on): Update.
23384         * modules/langinfo (Depends-on): Update.
23385         * modules/locale (Depends-on): Update.
23386         * modules/math (Depends-on): Update.
23387         * modules/netdb (Depends-on): Update.
23388         * modules/poll-h (Depends-on): Update.
23389         * modules/pty (Depends-on): Update.
23390         * modules/search (Depends-on): Update.
23391         * modules/signal (Depends-on): Update.
23392         * modules/spawn (Depends-on): Update.
23393         * modules/stdio (Depends-on): Update.
23394         * modules/stdlib (Depends-on): Update.
23395         * modules/string (Depends-on): Update.
23396         * modules/strings (Depends-on): Update.
23397         * modules/sys_file (Depends-on): Update.
23398         * modules/sys_ioctl (Depends-on): Update.
23399         * modules/sys_select (Depends-on): Update.
23400         * modules/sys_socket (Depends-on): Update.
23401         * modules/sys_stat (Depends-on): Update.
23402         * modules/sys_time (Depends-on): Update.
23403         * modules/sys_times (Depends-on): Update.
23404         * modules/sys_utsname (Depends-on): Update.
23405         * modules/sys_wait (Depends-on): Update.
23406         * modules/termios (Depends-on): Update.
23407         * modules/time (Depends-on): Update.
23408         * modules/unistd (Depends-on): Update.
23409         * modules/wchar (Depends-on): Update.
23410         * modules/wctype-h (Depends-on): Update.
23411         * MODULES.html.sh (Support for building libraries and executables):
23412         Update.
23413
23414         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
23415         * modules/snippet/unused-parameter: Renamed from
23416         modules/unused-parameter.
23417         (Files, Makefile.am): Update.
23418         * build-aux/snippet/unused-parameter.h: Renamed from
23419         build-aux/unused-parameter.h.
23420         * modules/selinux-h (Depends-on): Update.
23421         * modules/unistr/base (Depends-on): Update.
23422         * MODULES.html.sh (Core language properties): Update.
23423
23424         Rename module 'link-warning' to 'snippet/link-warning'.
23425         * modules/snippet/link-warning: Renamed from modules/link-warning.
23426         (Files, Makefile.am): Update.
23427         * build-aux/snippet/link-warning.h: Renamed from
23428         build-aux/link-warning.h.
23429         * MODULES.html.sh (Support for building libraries and executables):
23430         Update.
23431
23432         Rename module 'c++defs' to 'snippet/c++defs'.
23433         * modules/snippet/c++defs: Renamed from modules/c++defs.
23434         (Files, Makefile.am): Update.
23435         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
23436         * modules/arpa_inet (Depends-on): Update.
23437         * modules/ctype (Depends-on): Update.
23438         * modules/dirent (Depends-on): Update.
23439         * modules/fcntl-h (Depends-on): Update.
23440         * modules/glob (Depends-on): Update.
23441         * modules/iconv-h (Depends-on): Update.
23442         * modules/langinfo (Depends-on): Update.
23443         * modules/locale (Depends-on): Update.
23444         * modules/math (Depends-on): Update.
23445         * modules/netdb (Depends-on): Update.
23446         * modules/poll-h (Depends-on): Update.
23447         * modules/pty (Depends-on): Update.
23448         * modules/search (Depends-on): Update.
23449         * modules/signal (Depends-on): Update.
23450         * modules/spawn (Depends-on): Update.
23451         * modules/stdio (Depends-on): Update.
23452         * modules/stdlib (Depends-on): Update.
23453         * modules/string (Depends-on): Update.
23454         * modules/strings (Depends-on): Update.
23455         * modules/sys_ioctl (Depends-on): Update.
23456         * modules/sys_select (Depends-on): Update.
23457         * modules/sys_socket (Depends-on): Update.
23458         * modules/sys_stat (Depends-on): Update.
23459         * modules/sys_time (Depends-on): Update.
23460         * modules/sys_wait (Depends-on): Update.
23461         * modules/termios (Depends-on): Update.
23462         * modules/time (Depends-on): Update.
23463         * modules/unistd (Depends-on): Update.
23464         * modules/wchar (Depends-on): Update.
23465         * modules/wctype-h (Depends-on): Update.
23466
23467         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
23468         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
23469         (Files, Makefile.am): Update.
23470         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
23471         * modules/argv-iter (Depends-on): Update.
23472         * modules/arpa_inet (Depends-on): Update.
23473         * modules/dirent (Depends-on): Update.
23474         * modules/fcntl-h (Depends-on): Update.
23475         * modules/fnmatch (Depends-on): Update.
23476         * modules/getopt-posix (Depends-on): Update.
23477         * modules/glob (Depends-on): Update.
23478         * modules/iconv-h (Depends-on): Update.
23479         * modules/inttypes-incomplete (Depends-on): Update.
23480         * modules/locale (Depends-on): Update.
23481         * modules/math (Depends-on): Update.
23482         * modules/netdb (Depends-on): Update.
23483         * modules/search (Depends-on): Update.
23484         * modules/signal (Depends-on): Update.
23485         * modules/spawn (Depends-on): Update.
23486         * modules/stdio (Depends-on): Update.
23487         * modules/stdlib (Depends-on): Update.
23488         * modules/string (Depends-on): Update.
23489         * modules/strings (Depends-on): Update.
23490         * modules/sys_socket (Depends-on): Update.
23491         * modules/sys_stat (Depends-on): Update.
23492         * modules/sys_time (Depends-on): Update.
23493         * modules/sys_times (Depends-on): Update.
23494         * modules/sys_utsname (Depends-on): Update.
23495         * modules/time (Depends-on): Update.
23496         * modules/unistd (Depends-on): Update.
23497         * modules/wchar (Depends-on): Update.
23498         * MODULES.html.sh (Support for building libraries and executables):
23499         Update.
23500
23501 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
23502
23503         Improvements on _Noreturn and related modules.
23504
23505         modules/_Exit-tests: test _Noreturn too
23506         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
23507         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
23508         (main): Use them.
23509
23510         stdnoreturn, stdnoreturn-tests: remove modules
23511         They're not needed here and a bit premature for use elsewhere.  See
23512         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
23513         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
23514         * tests/test-stdnoreturn.c: Remove files.
23515         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
23516         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
23517         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
23518         and using noreturn.
23519         * modules/openat, modules/sigpipe-die, modules/xalloc:
23520         * modules/xmemdup0, modules/xstrtol:
23521         Remove dependency on stdnoreturn.
23522
23523         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
23524         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
23525         Reparenthesize to avoid GCC warning.
23526         Support Microsoft's syntax.
23527         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
23528
23529         _Noreturn-tests: remove module
23530         * modules/_Noreturn-tests: Remove.
23531         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
23532         * tests/test-_Noreturn.c: Remove.
23533         * tests/test-stdnoreturn.c: Merge from the old
23534         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
23535
23536 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
23537
23538         _Noreturn, stdnoreturn, and related modules.
23539
23540         * top/maint.mk: Adjust to new noreturn support.
23541         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
23542         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
23543
23544         xalloc: use stdnoreturn.h
23545         * lib/xalloc.h: Include <stdnoreturn.h>.
23546         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
23547         * modules/xalloc (Depends-on): Add stdnoreturn.
23548
23549         xstrtol: use stdnoreturn.h
23550         * lib/xstrtol.h: Include <stdnoreturn.h>.
23551         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
23552         * modules/xstrtol (Depends-on): Add stdnoreturn.
23553
23554         xmemdup0: use stdnoreturn.h
23555         * lib/xmemdup0.h: Include <stdnoreturn.h>.
23556         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
23557         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
23558
23559         sigpipe-die: use stdnoreturn.h
23560         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
23561         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
23562         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
23563
23564         openat: use stdnoreturn.h
23565         * lib/openat.h: Include <stdnoreturn.h>.
23566         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
23567         * modules/openat (Depends-on): Add stdnoreturn.
23568
23569         * lib/openat-die.c (openat_save_fail): Modernize comment.
23570
23571         * lib/xalloc-die.c (xalloc_die): Modernize comment.
23572
23573         * lib/glthread/thread.h: Modernize comment.
23574
23575         obstack: use _Noreturn
23576         * lib/obstack.c (__attribute__): Remove macro.
23577         (print_and_abort): Use _Noreturn.
23578
23579         c-stack: use _Noreturn
23580         * lib/c-stack.c (die, overflow_handler, segv_handler):
23581         Use _Noreturn rather than __attribute__((noreturn)).
23582
23583         argmatch-tests, exclude_tests: use _Noreturn
23584         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
23585         Remove.
23586         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
23587
23588         stdlib: use _Noreturn
23589         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
23590         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
23591         * modules/stdlib (Depends-on): Add _Noreturn.
23592         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
23593
23594         stdnoreturn-tests: new module
23595         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
23596
23597         stdnoreturn: new module
23598         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
23599         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
23600
23601         _Noreturn-tests: new module
23602         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
23603
23604         _Noreturn: new module
23605         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
23606         New section, mentioning it.
23607         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
23608
23609         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
23610
23611 2011-07-11  Eric Blake  <eblake@redhat.com>
23612
23613         ffs: new module
23614         * modules/ffs: New file.
23615         * m4/ffs.m4: Likewise.
23616         * lib/ffs.c: Likewise.
23617         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
23618         * modules/strings (Makefile.am): Substitute witness.
23619         (Depends-on): Add c++defs.
23620         * lib/strings.in.h (ffs): Declare.
23621         * modules/ffs-tests: New test file.
23622         * tests/test-ffs.c: Test new module.
23623         * MODULES.html.sh (Integer arithmetic functions): Mention it.
23624         * doc/posix-functions/ffs.texi (ffs): Likewise.
23625
23626         regex: avoid compiler warning
23627         * lib/regex.c (includes): Include <strings.h>, for use of
23628         strcasecmp in regcomp.c.
23629         Reported by Joachim Schmitz.
23630
23631 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
23632
23633         stdint: respect system's intmax_t if INTMAX_MAX
23634         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
23635         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
23636         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
23637         long but int64_t is long long, and where we will clash with the
23638         system intmax_t if we override it.  See
23639         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
23640         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
23641         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
23642         similarly for UINTMAX_C.
23643
23644 2011-07-08  Bruno Haible  <bruno@clisp.org>
23645
23646         pthread_sigmask tests: Avoid a compiler warning.
23647         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
23648         non-zero.
23649
23650         sigprocmask tests: A better way to avoid a compiler warning.
23651         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
23652         (main): Complain if system() returns non-zero.
23653         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
23654
23655 2011-07-08  Bruno Haible  <bruno@clisp.org>
23656
23657         pthread_sigmask: Work around IRIX bug.
23658         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
23659         bug.
23660         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
23661         there may be unblocked pending signals.
23662         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
23663
23664 2011-07-08  Bruno Haible  <bruno@clisp.org>
23665
23666         pthread_sigmask: Work around Cygwin bug.
23667         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
23668         bug.
23669         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
23670         the system's pthread_sigmask function.
23671         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
23672
23673 2011-07-08  Bruno Haible  <bruno@clisp.org>
23674
23675         pthread_sigmask: Work around bug in single-threaded implementation.
23676         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
23677         FreeBSD, HP-UX, Solaris bug.
23678         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
23679         * lib/pthread_sigmask.c: Include <stddef.h>.
23680         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
23681         the system's pthread_sigmask function.
23682         * modules/pthread_sigmask (configure.ac): Invoke
23683         gl_PREREQ_PTHREAD_SIGMASK.
23684         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
23685         HP-UX, Solaris.
23686
23687 2011-07-08  Eric Blake  <eblake@redhat.com>
23688
23689         test-sigprocmask: avoid compiler warning
23690         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
23691         * tests/test-sigprocmask.c (main): Use it to silence warning.
23692         Reported by Jim Meyering.
23693
23694         test-snprintf: avoid compiler warning
23695         * tests/test-snprintf.c (main): Avoid shadowed declaration.
23696         * tests/test-vsnprintf.c (main): Likewise.
23697         Reported by Jim Meyering.
23698
23699 2011-07-08  Bruno Haible  <bruno@clisp.org>
23700
23701         Tests for module 'pthread_sigmask'.
23702         * modules/pthread_sigmask-tests: New file.
23703         * tests/test-pthread_sigmask1.c: New file, based on
23704         tests/test-sigprocmask.c.
23705         * tests/test-pthread_sigmask2.c: New file.
23706
23707 2011-07-08  Jim Meyering  <meyering@redhat.com>
23708
23709         test-getopt.h: avoid warning about an unused variable
23710         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
23711
23712 2011-07-07  Jim Meyering  <meyering@redhat.com>
23713
23714         maint: reduce list of files exempt from sc_prohibit_leading_TABs
23715         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
23716         now that it no longer contains leading TABs.
23717         Remove unused "url=FIXME" statement.
23718
23719 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23720
23721         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
23722         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
23723         When gl_THREADLIB is not in use, assume that the POSIX sematics
23724         are desired.  This is better for Emacs, which uses POSIX semantics
23725         on GNUish and/or POSIXish platforms, and does not use threads at
23726         all otherwise.
23727
23728         pthread_sigmask: fix typo when testing for libraries
23729         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
23730         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
23731
23732 2011-07-08  Eric Blake  <eblake@redhat.com>
23733
23734         fts: introduce FTS_NOATIME
23735         * lib/fts_.h (FTS_NOATIME): New bit flag.
23736         (FTS_OPTIONMASK): Adjust.
23737         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
23738         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
23739
23740 2011-07-08  Bruno Haible  <bruno@clisp.org>
23741
23742         Tests for module 'thread'.
23743         * modules/thread-tests: New file.
23744         * tests/test-thread_self.c: New file.
23745         * tests/test-thread_create.cc: New file.
23746
23747 2011-07-08  Bruno Haible  <bruno@clisp.org>
23748
23749         thread: Avoid gcc warnings when using gl_thread_self().
23750         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
23751         'void *'.
23752         (gl_thread_self_pointer): Update.
23753
23754 2011-07-07  Bruno Haible  <bruno@clisp.org>
23755
23756         signal-c++-tests: Check declaration of pthread_sigmask.
23757         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
23758         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
23759         $(LIB_PTHREAD_SIGMASK).
23760
23761 2011-07-07  Bruno Haible  <bruno@clisp.org>
23762
23763         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
23764         * lib/signal.in.h (pthread_sigmask): Override if
23765         REPLACE_PTHREAD_SIGMASK is 1.
23766         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
23767         REPLACE_PTHREAD_SIGMASK.
23768         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
23769         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
23770         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
23771         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
23772         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
23773
23774 2011-07-07  Bruno Haible  <bruno@clisp.org>
23775
23776         pthread_sigmask: Ensure declaration in <signal.h>.
23777         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
23778         include <pthread.h>.
23779         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
23780         problem.
23781
23782 2011-07-07  Bruno Haible  <bruno@clisp.org>
23783
23784         pthread_sigmask: Document the module.
23785         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
23786
23787 2011-07-07  Bruno Haible  <bruno@clisp.org>
23788
23789         pthread_sigmask: Follow gnulib conventions.
23790         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
23791         gl_PTHREAD_SIGMASK.
23792         * modules/pthread_sigmask (configure.ac): Update.
23793
23794 2011-07-07  Bruno Haible  <bruno@clisp.org>
23795
23796         pthread_sigmask: Make declaration C++ safe.
23797         * lib/signal.in.h: In two special conditions, just do an #include_next.
23798         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
23799         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
23800         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
23801         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
23802         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
23803         not REPLACE_PTHREAD_MASK.
23804         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
23805         not REPLACE_PTHREAD_MASK.
23806         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
23807
23808 2011-07-07  Bruno Haible  <bruno@clisp.org>
23809
23810         pthread_sigmask: Fix return value.
23811         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
23812         * lib/pthread_sigmask.c: New file.
23813         * modules/pthread_sigmask (Files): Add it.
23814         (configure.ac): Invoke AC_LIBOBJ.
23815
23816 2011-07-07  Eric Blake  <eblake@redhat.com>
23817
23818         getopt: more portable argv creation
23819         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
23820         const, use char arrays rather than strings.
23821         Suggested by Paul Eggert.
23822
23823 2011-07-07  Bruno Haible  <bruno@clisp.org>
23824
23825         Tests for module 'sigprocmask'.
23826         * modules/sigprocmask-tests: New file.
23827         * tests/test-sigprocmask.c: New file.
23828
23829 2011-07-07  Bruno Haible  <bruno@clisp.org>
23830
23831         float tests: Tweak.
23832         * tests/test-float.c (main): Tweak skip message.
23833
23834 2011-07-07  Eric Blake  <eblake@redhat.com>
23835
23836         getopt: avoid compiler warning during configure
23837         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
23838         assigning string literals to non-const pointer.
23839
23840         getopt-gnu: avoid crash in glibc getopt
23841         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
23842         * tests/test-getopt.h (test_getopt): Enhance test.
23843         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23844         * doc/posix-functions/getopt.texi (getopt): Document it.
23845         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23846         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23847         Likewise.
23848
23849 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
23850
23851         getopt: handle W; without long options in getopt [BZ #12922]
23852         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
23853         but no long options are defined, just return 'W'.
23854
23855 2011-07-07  Bruno Haible  <bruno@clisp.org>
23856
23857         Avoid literal tabs.
23858         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
23859         variable containing a tab instead of a literal tab.
23860         Reported by Jim Meyering.
23861
23862 2011-07-07  Bruno Haible  <bruno@clisp.org>
23863
23864         Comments.
23865         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
23866
23867 2011-07-06  Bruno Haible  <bruno@clisp.org>
23868
23869         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
23870         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
23871         <winsock2.h>.
23872         (rpl_fd_isset, FD_ISSET): New definitions, copied from
23873         lib/sys_socket.in.h.
23874         (close, gethostname): Hide declarations from <winsock2.h>.
23875         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
23876         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
23877         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
23878         (select): Don't override if gnulib's <sys/select.h> was already
23879         included.
23880         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
23881         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
23882         setsockopt, shutdown, select): Tweak indentation.
23883
23884 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23885
23886         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
23887         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
23888         in an application that does not use the sys_select module.
23889
23890 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
23891
23892         poll: do not return 0 on timeout=-1
23893         * lib/poll.c: Loop with yield if no events occurred.
23894
23895 2011-07-06  Eric Blake  <eblake@redhat.com>
23896
23897         pthread_sigmask: always replace when not using pthread
23898         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
23899         replacement when using some threading other than pthread.  Fix
23900         logic bug.
23901
23902 2011-07-06  Bruno Haible  <bruno@clisp.org>
23903
23904         Comments.
23905         * m4/printf.m4: Update comments about mingw.
23906
23907 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23908
23909         sys_select: define sigset_t more portably
23910         * lib/sys_select.in.h: Always include <sys/types.h>, since
23911         we now need sigset_t and mingw defines it there.
23912         Include <signal.h> before split inclusion guard, to avoid
23913         mishaps on Solaris, whose <signal.h> eventually includes us.
23914         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
23915         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
23916         which come from ...
23917         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
23918         gl_CHECK_TYPE_SIGSET_T.
23919         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
23920         does the real work.
23921         * modules/sys_select (Depends-on): Add 'signal'.
23922
23923         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
23924         Suggested by Bruno Haible.
23925
23926         pselect: Use pthread_sigmask, not sigprocmask.
23927         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
23928         multithreaded apps better than sigprocmask does.
23929         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
23930         sigprocmask directly.
23931
23932 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
23933
23934         * lib/pselect.c (pselect): Use plain name, without "rpl_".
23935         Don't #undef,  since we don't need any underlying pselect.
23936         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
23937         (Depends-on): Add select.
23938         (Link): Add $(LIBSOCKET).
23939         These changes suggested by Bruno Haible.
23940
23941         pselect: document better
23942         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
23943         * doc/posix-functions/pselect.texi (pselect): Document new module.
23944
23945         pthread_sigmask: new module
23946         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
23947         * doc/posix-functions/pthread_sigmask.texi: Document new module.
23948         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
23949         This is done only as a macro; I don't know how well that'll
23950         work for C++.  Move <sys/types.h> include before the include_next,
23951         to avoid mishap on Solaris.
23952         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
23953         * modules/signal (Makefile.am): Substitute the check's results.
23954         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
23955
23956         test-pselect: new module
23957         * modules/pselect-tests, tests/test-pselect.c: New files.
23958         * tests/test-select.c, tests/test-sys_select-c++.cc:
23959         If TEST_PSELECT is defined, test pselect instead of testing select.
23960
23961         * tests/test-sys_select.c (sigset_t): Test for it, too.
23962         Suggested by Bruno Haible.
23963
23964 2011-07-05  Eric Blake  <eblake@redhat.com>
23965
23966         snprintf: guarantee %1$d, for libintl
23967         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
23968         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
23969         * doc/posix-functions/snprintf.texi (snprintf): Update.
23970         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23971         * tests/test-snprintf.c (main): Enhance test.
23972         * tests/test-vsnprintf.c (main): Likewise.
23973
23974 2011-07-05  Jim Meyering  <meyering@redhat.com>
23975
23976         maint: exempt stdio-read.c and stdio-write.c from the cppi check
23977         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
23978         per Bruno's request, to accommodate this idiom (no space after "#")
23979         even when the function is inside an #if block:
23980         char *
23981         gets (char *s)
23982         #undef gets
23983         {
23984           ...
23985         }
23986
23987 2011-07-04  Jim Meyering  <meyering@redhat.com>
23988
23989         maint: indent with spaces, not TABs, and add a rule to check this
23990         * tests/test-userspec.c: Indent with spaces, not TABs.
23991         * tests/test-argp.c: Likewise.
23992         * tests/test-c-stack2.sh: Likewise.
23993         * tests/test-parse-duration.sh: Likewise
23994         * m4/strtod.m4: Likewise.
23995         * m4/alloca.m4: Likewise.
23996         * m4/pselect.m4: Likewise.
23997         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
23998
23999 2011-07-03  Jim Meyering  <meyering@redhat.com>
24000
24001         maint.mk: correct omissions in prohibit_argmatch_without_use check
24002         This rule would mistakenly report that argmatch.h is included without
24003         use even when both the argmatch and invalid_arg macro were used.
24004         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
24005         of argmatch and invalid_arg.
24006
24007 2011-07-03  Bruno Haible  <bruno@clisp.org>
24008
24009         Comments about EINTR.
24010         * lib/safe-read.h: Explain the purpose of this module.
24011         * lib/safe-write.h: Likewise.
24012         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
24013         module.
24014         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
24015         module.
24016         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24017
24018 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
24019
24020         xnanosleep: Rewrite to use new dtotimespec module.
24021         It has the conversion code that used to be in xnanosleep.
24022         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
24023         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
24024         (TIME_T_MAX): Remove.
24025         (xnanosleep): Rewrite in terms of dtotimespec.
24026         * modules/xnanosleep (Depends-on): Add dtotimespec.
24027         Remove intprops, stdbool.
24028
24029         timespec-add, timespec-sub: new modules
24030         * lib/timespec.h (timespec_add, timespec_sub): New decls.
24031         * lib/timespec-add.c, lib/timespec-sub.c:
24032         * modules/timespec-add, modules/timespec-sub: New files.
24033
24034         dtotimespec: new module
24035         * lib/timespec.h (dtotimespec): New decl.
24036         * lib/dtotimespec.c, modules/dtotimespec: New files.
24037
24038         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
24039
24040         pselect: new module
24041         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
24042         (pselect): New decls.
24043         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
24044         since the standard pselect decl uses 'restrict'.
24045         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
24046         HAVE_PSELECT, REPLACE_PSELECT.
24047         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
24048         HAVE_PSELECT, REPLACE_PSELECT.
24049         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
24050
24051         sys_select: don't depend on sys_socket
24052         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
24053         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
24054         This fix works on GNU and GNU-like platforms, but has not been tested
24055         on native Windows.
24056         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
24057         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
24058         gl_HEADER_SYS_SOCKET.
24059         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
24060         gl_PREREQ_SYS_H_WINSOCK2.
24061
24062 2011-06-29  Eric Blake  <eblake@redhat.com>
24063
24064         pipe2: fix C89 compile problem
24065         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
24066         Reported by Bruno Haible.
24067
24068         pipe, pipe2: don't corrupt fd on error
24069         * lib/pipe.c (pipe): Leave fd unchanged on error.
24070         * lib/pipe2.c (pipe2): Likewise.
24071         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
24072         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
24073
24074 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
24075
24076         mmap-anon: do not use regular expressions inadvertently
24077         * m4/mmap-anon.m4: Remove trailing period from strings sought
24078         in the output.
24079
24080 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
24081
24082         nanosleep: fix integer overflow problem
24083         * lib/nanosleep.c (my_usleep): Don't assume signed integer
24084         arithmetic wraps around on overflow.
24085
24086         nanosleep: simplify carrying
24087         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
24088         first call to the underyling nanosleep, not for the last one.
24089         This doesn't fix any bugs, but it simplifies the computation of
24090         the remaining delay.  Found while auditing integer overflow issues.
24091
24092         dup2: remove test for existence of fcntl
24093         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
24094         "#if HAVE_FCNTL", in the configure-time test program.
24095         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
24096         and therefore speeds up "configure" a bit.  Found while
24097         adding the dup2 module to Emacs.
24098
24099 2011-06-24  Eric Blake  <eblake@redhat.com>
24100
24101         maint.mk: enhance useless header checks
24102         * top/maint.mk (_sc_header_without_use): Check both include
24103         styles.
24104         (sc_prohibit_assert_without_use)
24105         (sc_prohibit_close_stream_without_use)
24106         (sc_prohibit_getopt_without_use)
24107         (sc_prohibit_quotearg_without_use)
24108         (sc_prohibit_quote_without_use)
24109         (sc_prohibit_long_options_without_use)
24110         (sc_prohibit_inttostr_without_use)
24111         (sc_prohibit_ignore_value_without_use)
24112         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
24113         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
24114         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
24115         (sc_prohibit_hash_pjw_without_use)
24116         (sc_prohibit_safe_read_without_use)
24117         (sc_prohibit_argmatch_without_use)
24118         (sc_prohibit_canonicalize_without_use)
24119         (sc_prohibit_root_dev_ino_without_use)
24120         (sc_prohibit_openat_without_use)
24121         (sc_prohibit_c_ctype_without_use)
24122         (sc_prohibit_signal_without_use)
24123         (sc_prohibit_stdio--_without_use)
24124         (sc_prohibit_stdio-safer_without_use)
24125         (sc_prohibit_strings_without_use)
24126         (sc_prohibit_intprops_without_use)
24127         (sc_prohibit_stddef_without_use)
24128         (sc_prohibit_xfreopen_without_use): Update clients.
24129
24130 2011-06-24  Jim Meyering  <meyering@redhat.com>
24131
24132         syntax-check: keep one maint.mk rule in sync with its header
24133         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
24134         of the bug Eric has just fixed, with today's commit 25e4c2ec.
24135         I prefer to avoid temporary files here, so use <(...), but that
24136         is not supported by /bin/sh, so...
24137         (SHELL): Define to /bin/bash.
24138
24139 2011-06-24  Eric Blake  <eblake@redhat.com>
24140
24141         maint.mk: update sc_prohibit_intprops_without_use
24142         * top/maint.mk (_intprops_names): Match recent changes.
24143
24144 2011-06-24  Bruno Haible  <bruno@clisp.org>
24145
24146         strerror-override: No-op tweak.
24147         * lib/strerror-override.h (strerror_override): Reorder conditions,
24148         for consistency with lib/strerror-override.c.
24149
24150 2011-06-23  Eric Blake  <eblake@redhat.com>
24151
24152         maint.mk: test further PATH_MAX issues
24153         * top/maint.mk (sc_prohibit_path_max_array): Rename...
24154         (sc_prohibit_path_max_allocation): ...and also test alloca.
24155         Suggested by Jim Meyering.
24156
24157 2011-06-22  Eric Blake  <eblake@redhat.com>
24158
24159         maint.mk: add syntax-check to avoid char[PATH_MAX]
24160         * top/maint.mk (sc_prohibit_path_max_array): New rule.
24161
24162         stat: be robust to PATH_MAX definition
24163         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
24164         * modules/stat (Depends-on): Add verify.
24165
24166         link: work around IRIX bug
24167         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
24168         * lib/link.c (rpl_link): Work around it.
24169         * tests/test-link.h (test_link): Enhance test.
24170         * doc/posix-functions/link.texi (link): Document the bug.
24171
24172         getopt: silence clang warning
24173         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
24174         dereference.
24175         Reported by Gustavo Martin Domato.
24176
24177 2011-06-22  Jim Meyering  <meyering@redhat.com>
24178
24179         bootstrap: do not insert a blank line into each .gitignore file
24180         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
24181
24182 2011-06-21  Eric Blake  <eblake@redhat.com>
24183
24184         perror: test for output mismatch
24185         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
24186         perror on IRIX.
24187
24188         strerror_r: fix OpenBSD behavior on out-of-range
24189         * lib/strerror_r.c (strerror_r): Always use maximal string.
24190         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
24191
24192         strerror_r: fix OpenBSD behavior on 0
24193         * lib/strerror-override.c (strerror_override): Also override 0
24194         when needed.
24195         * lib/strerror-override.h (strerror_override): Likewise.
24196         * lib/strerror.c (strerror): Simplify, now that 0 override is done
24197         earlier.
24198         * lib/strerror_r.c (strerror_r): Likewise.
24199         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
24200         behavior...
24201         (gl_FUNC_STRERROR_0): ...into new macro.
24202         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
24203         is overridden.
24204         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
24205         * modules/strerror-override (Files): Add strerror.m4.
24206         (configure.ac): Also provide override for 0 when needed.
24207         * doc/posix-functions/strerror.texi (strerror): Document this.
24208         * doc/posix-functions/perror.texi (perror): Likewise.
24209
24210         perror: adjust array size
24211         * modules/perror (Depends-on): Add strerror-override.
24212         * lib/perror.c (perror): Use it to avoid magic number.
24213
24214         strerror-override: reduce size
24215         * lib/strerror-override.c (strerror_override): Use fewer lines.
24216
24217 2011-06-20  Bruno Haible  <bruno@clisp.org>
24218
24219         pathmax: Ensure correct value for PATH_MAX on HP-UX.
24220         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
24221
24222 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
24223
24224         alloca: port to compilers that can optimize like GCC 4.6.0
24225         * lib/alloca.c (find_stack_direction): New signature, taken from
24226         Autoconf git.  This works with GCC 4.6.0.  This code should never
24227         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
24228         be used with other compilers that optimize as well as GCC 4.6.0 does.
24229         (alloca): Adjust to new signature.
24230         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
24231         New macro, which patches Autoconf in a similar way.
24232
24233         c-stack: stop worrying about stack direction
24234         * lib/c-stack.c (find_stack_direction): Remove.
24235         (segv_handler): Don't worry about stack direction growth, as it's
24236         too much of a pain to configure this correctly, given how compilers
24237         are optimizing-away our stack-growth detection code.  Instead, assume
24238         that any access to just before or just after the stack is OK.
24239         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
24240         Don't require AC_FUNC_ALLOCA; no longer needed.
24241
24242 2011-06-20  Eric Blake  <eblake@redhat.com>
24243
24244         test-stat: don't allocate PATH_MAX bytes
24245         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
24246         PATH_MAX-sized buffer.
24247         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
24248         * modules/stat-tests (Depends-on): Likewise.
24249         * tests/test-fstatat.c (includes): Drop pathmax.h.
24250         * tests/test-stat.c (includes): Likewise.
24251         Reported by Bruno Haible.
24252
24253 2011-06-20  Bruno Haible  <bruno@clisp.org>
24254
24255         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
24256         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
24257         * lib/float.c: New file.
24258         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
24259         REPLACE_FLOAT_LDBL.
24260         * modules/float (Files): Add lib/float.c.
24261         (configure.ac): Invoke AC_LIBOBJ.
24262         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
24263
24264 2011-06-20  Bruno Haible  <bruno@clisp.org>
24265
24266         Tests for module 'float'.
24267         * modules/float-tests: New file.
24268         * tests/test-float.c: New file.
24269
24270 2011-06-19  Bruno Haible  <bruno@clisp.org>
24271
24272         isinf: Coding style.
24273         * lib/isinf.c: Use GNU coding style.
24274
24275 2011-06-19  Bruno Haible  <bruno@clisp.org>
24276
24277         linkat test: Avoid test failure on AIX 7.1.
24278         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
24279         * tests/test-link.h (test_link): Likewise.
24280
24281 2011-06-19  Bruno Haible  <bruno@clisp.org>
24282
24283         pread test: Avoid test failure on OpenBSD 4.9.
24284         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
24285
24286 2011-06-19  Bruno Haible  <bruno@clisp.org>
24287
24288         sprintf-posix: Fix test failure on AIX 7.1.
24289         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
24290         * doc/posix-functions/dprintf.texi: Mention limited precision problem
24291         on AIX.
24292         * doc/posix-functions/fprintf.texi: Likewise.
24293         * doc/posix-functions/printf.texi: Likewise.
24294         * doc/posix-functions/snprintf.texi: Likewise.
24295         * doc/posix-functions/sprintf.texi: Likewise.
24296         * doc/posix-functions/vdprintf.texi: Likewise.
24297         * doc/posix-functions/vfprintf.texi: Likewise.
24298         * doc/posix-functions/vprintf.texi: Likewise.
24299         * doc/posix-functions/vsnprintf.texi: Likewise.
24300         * doc/posix-functions/vsprintf.texi: Likewise.
24301
24302 2011-06-19  Bruno Haible  <bruno@clisp.org>
24303
24304         roundl-ieee: Fix test failure on AIX 7.1.
24305         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
24306         * doc/posix-functions/roundl.texi: Mention problem with negative
24307         arguments.
24308
24309 2011-06-19  Bruno Haible  <bruno@clisp.org>
24310
24311         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
24312         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
24313         * doc/posix-functions/round.texi: Mention problem with negative
24314         arguments.
24315         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
24316
24317 2011-06-19  Bruno Haible  <bruno@clisp.org>
24318
24319         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
24320         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
24321         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
24322         * doc/posix-functions/roundf.texi: Mention problem with negative
24323         arguments.
24324         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
24325
24326 2011-06-19  Bruno Haible  <bruno@clisp.org>
24327
24328         ceilf-ieee: Work around bug on MacOS X 10.5.
24329         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
24330
24331         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
24332         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
24333         IEEE compliant, avoid compiler optimizations.
24334         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
24335         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
24336         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
24337         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
24338         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24339         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
24340         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24341         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
24342         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
24343         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
24344
24345 2011-06-19  Bruno Haible  <bruno@clisp.org>
24346
24347         ceilf-ieee: Work around bug on AIX 7.1.
24348         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
24349         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
24350
24351 2011-06-19  Bruno Haible  <bruno@clisp.org>
24352
24353         ceil-ieee: Work around bug on AIX 7.1.
24354         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
24355         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
24356
24357 2011-06-18  Bruno Haible  <bruno@clisp.org>
24358
24359         fsync test: Avoid test failure on MacOS X and AIX.
24360         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
24361         EINVAL.
24362
24363 2011-06-18  Bruno Haible  <bruno@clisp.org>
24364
24365         openat, fdopendir tests: Fix link errors.
24366         * modules/openat-tests (Depends-on): Add progname.
24367         * modules/fdopendir-tests (Depends-on): Likewise.
24368         * tests/test-fchownat.c: Include progname.h.
24369         (main): Call set_program_name.
24370         * tests/test-fstatat.c: Include progname.h.
24371         (main): Call set_program_name.
24372         * tests/test-mkdirat.c: Include progname.h.
24373         (main): Call set_program_name.
24374         * tests/test-openat.c: Include progname.h.
24375         (main): Call set_program_name.
24376         * tests/test-unlinkat.c: Include progname.h.
24377         (main): Call set_program_name.
24378         * tests/test-fdopendir.c: Include progname.h.
24379         (main): Call set_program_name.
24380
24381 2011-06-18  Bruno Haible  <bruno@clisp.org>
24382
24383         Doc update.
24384         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
24385         HP-UX.
24386         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
24387
24388 2011-06-18  Bruno Haible  <bruno@clisp.org>
24389
24390         getcwd tests: Avoid compilation error on HP-UX 11.31.
24391         * modules/getcwd-tests (Depends-on): Add pathmax.
24392         * tests/test-getcwd.c: Include pathmax.h.
24393
24394 2011-06-18  Bruno Haible  <bruno@clisp.org>
24395
24396         isfinite, isinf: Fix link error on AIX 6 and 7.
24397         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
24398         needed, also test the macro with a 'float' argument.
24399         * m4/isinf.m4 (gl_ISINF): Likewise.
24400
24401 2011-06-18  Bruno Haible  <bruno@clisp.org>
24402
24403         getloadavg: Don't clobber LIBS. Regression from previous commit.
24404         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
24405         AC_CHECK_LIB from here...
24406         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
24407         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
24408         gl_func_getloadavg_done.
24409         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24410
24411 2011-06-18  Bruno Haible  <bruno@clisp.org>
24412
24413         clean-temp: Improve documentation.
24414         * lib/clean-temp.h: Explain better how to use this module.
24415         Reported by John Darrington <john@darrington.wattle.id.au>.
24416
24417 2011-06-17  Bruno Haible  <bruno@clisp.org>
24418
24419         pread, pwrite: Avoid cc warning on AIX.
24420         * lib/unistd.in.h (pread): Undefine before defining as a macro.
24421         (pwrite): Likewise.
24422
24423 2011-06-17  Bruno Haible  <bruno@clisp.org>
24424
24425         spawn-pipe tests: Fix link error.
24426         * tests/test-spawn-pipe-child.c: Undefine fprintf.
24427         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24428
24429 2011-06-17  Bruno Haible  <bruno@clisp.org>
24430
24431         Tests: Remove unnecessary dependency.
24432         * modules/canonicalize-tests (Depends-on): Remove progname.
24433         * modules/chown-tests (Depends-on): Likewise.
24434         * modules/dirname-tests (Depends-on): Likewise.
24435         * modules/fdopendir-tests (Depends-on): Likewise.
24436         * modules/fdutimensat-tests (Depends-on): Likewise.
24437         * modules/hash-tests (Depends-on): Likewise.
24438         * modules/lchown-tests (Depends-on): Likewise.
24439         * modules/linkat-tests (Depends-on): Likewise.
24440         * modules/renameat-tests (Depends-on): Likewise.
24441         * modules/spawn-pipe-tests (Depends-on): Likewise.
24442         * modules/utimensat-tests (Depends-on): Likewise.
24443
24444 2011-06-17  Bruno Haible  <bruno@clisp.org>
24445
24446         spawn-pipe tests: Fix link error.
24447         * tests/test-spawn-pipe-child.c: Undefine fflush.
24448
24449 2011-06-17  Bruno Haible  <bruno@clisp.org>
24450
24451         Fix tests link errors.
24452         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
24453         * modules/chown-tests (Makefile.am): Don't link test-chown with
24454         LIBINTL.
24455         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
24456         LIBINTL.
24457         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
24458         LIBINTL.
24459         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
24460         LIBINTL.
24461
24462 2011-06-16  Bruno Haible  <bruno@clisp.org>
24463
24464         crypto/gc-sha1: Fix recent regression.
24465         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
24466         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
24467
24468         crypto/gc-md5: Fix recent regression.
24469         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
24470
24471         crypto/gc-md4: Fix recent regression.
24472         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
24473         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
24474
24475         crypto/gc-arctwo: Fix recent regression.
24476         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
24477         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
24478
24479         crypto/gc-rijndael: Fix recent regression.
24480         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
24481         (configure.ac): Invoke AC_LIBOBJ here.
24482         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
24483         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24484
24485         crypto/gc-hmac-sha1: Fix recent regression.
24486         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
24487         (configure.ac): Invoke AC_LIBOBJ here.
24488         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
24489         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24490
24491         crypto/gc-hmac-md5: Fix recent regression.
24492         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
24493         (configure.ac): Invoke AC_LIBOBJ here.
24494         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
24495         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24496
24497         crypto/gc-des: Fix recent regression.
24498         * modules/crypto/gc-des (Files): Remove m4/des.m4.
24499         (configure.ac): Invoke AC_LIBOBJ here.
24500         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
24501         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24502
24503         crypto/gc-arcfour: Fix recent regression.
24504         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
24505         (configure.ac): Invoke AC_LIBOBJ here.
24506         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
24507         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24508
24509 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
24510
24511         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
24512         After the 2011-05-21 change, this macro requires
24513         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
24514         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24515
24516 2011-06-16  Bruno Haible  <bruno@clisp.org>
24517
24518         fprintftime: Move AC_LIBOBJ invocations to module description.
24519         * m4/fprintftime.m4: Remove file.
24520         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
24521         (configure.ac): Remove gl_FPRINTFTIME call.
24522         (Makefile.am): Augment lib_SOURCES.
24523         Reported by Jim Meyering.
24524
24525 2011-06-16  Bruno Haible  <bruno@clisp.org>
24526
24527         tmpfile-safer: Finish 2011-05-23 commit.
24528         * m4/stdio-safer.m4: Really remove file.
24529         Reported by Jim Meyering.
24530
24531 2011-06-16  Bruno Haible  <bruno@clisp.org>
24532
24533         syntax-check: Fix typo.
24534         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
24535         printf-posix.m4.
24536         Reported by Jim Meyering.
24537
24538 2011-06-13  Jim Meyering  <meyering@redhat.com>
24539
24540         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
24541         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
24542
24543 2011-05-23  Bruno Haible  <bruno@clisp.org>
24544
24545         yesno: Move AC_LIBOBJ invocations to module description.
24546         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
24547         * modules/yesno (Makefile.am): Augment lib_SOURCES.
24548
24549 2011-05-23  Bruno Haible  <bruno@clisp.org>
24550
24551         xstrtol: Move AC_LIBOBJ invocations to module description.
24552         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
24553         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
24554
24555 2011-05-23  Bruno Haible  <bruno@clisp.org>
24556
24557         xstrtold: Move AC_LIBOBJ invocations to module description.
24558         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
24559         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
24560
24561 2011-05-23  Bruno Haible  <bruno@clisp.org>
24562
24563         xstrtod: Move AC_LIBOBJ invocations to module description.
24564         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
24565         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
24566
24567 2011-05-23  Bruno Haible  <bruno@clisp.org>
24568
24569         xnanosleep: Move AC_LIBOBJ invocations to module description.
24570         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
24571         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
24572
24573 2011-05-23  Bruno Haible  <bruno@clisp.org>
24574
24575         xgetcwd: Move AC_LIBOBJ invocations to module description.
24576         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
24577         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
24578
24579 2011-05-23  Bruno Haible  <bruno@clisp.org>
24580
24581         xalloc: Move AC_LIBOBJ invocations to module description.
24582         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
24583         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
24584
24585 2011-05-23  Bruno Haible  <bruno@clisp.org>
24586
24587         write-any-file: Move AC_LIBOBJ invocations to module description.
24588         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
24589         invocation.
24590         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
24591
24592 2011-05-23  Bruno Haible  <bruno@clisp.org>
24593
24594         utimens: Move AC_LIBOBJ invocations to module description.
24595         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
24596         * modules/utimens (Makefile.am): Augment lib_SOURCES.
24597
24598 2011-05-23  Bruno Haible  <bruno@clisp.org>
24599
24600         utimecmp: Move AC_LIBOBJ invocations to module description.
24601         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
24602         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
24603
24604 2011-05-23  Bruno Haible  <bruno@clisp.org>
24605
24606         userspec: Move AC_LIBOBJ invocations to module description.
24607         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
24608         * modules/userspec (Makefile.am): Augment lib_SOURCES.
24609
24610 2011-05-23  Bruno Haible  <bruno@clisp.org>
24611
24612         unlinkdir: Move AC_LIBOBJ invocations to module description.
24613         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
24614         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
24615
24616 2011-05-23  Bruno Haible  <bruno@clisp.org>
24617
24618         unistd-safer: Move AC_LIBOBJ invocations to module description.
24619         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
24620         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
24621
24622 2011-05-23  Bruno Haible  <bruno@clisp.org>
24623
24624         tempname: Move AC_LIBOBJ invocations to module description.
24625         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
24626         * modules/tempname (Makefile.am): Augment lib_SOURCES.
24627
24628 2011-05-23  Bruno Haible  <bruno@clisp.org>
24629
24630         strftime: Move AC_LIBOBJ invocations to module description.
24631         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
24632         * modules/strftime (Makefile.am): Augment lib_SOURCES.
24633
24634 2011-05-23  Bruno Haible  <bruno@clisp.org>
24635
24636         stdlib-safer: Move AC_LIBOBJ invocations to module description.
24637         * m4/stdlib-safer.m4: Remove file.
24638         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
24639         (configure.ac): Remove gl_STDLIB_SAFER call.
24640         (Makefile.am): Augment lib_SOURCES.
24641
24642 2011-05-23  Bruno Haible  <bruno@clisp.org>
24643
24644         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
24645         * m4/stdio-safer.m4: Remove file.
24646         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
24647         (configure.ac): Remove gl_TMPFILE_SAFER call.
24648         (Makefile.am): Augment lib_SOURCES.
24649
24650 2011-05-23  Bruno Haible  <bruno@clisp.org>
24651
24652         popen-safer: Move AC_LIBOBJ invocations to module description.
24653         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
24654         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
24655         (configure.ac): Remove gl_POPEN_SAFER call.
24656         (Makefile.am): Augment lib_SOURCES.
24657
24658 2011-05-23  Bruno Haible  <bruno@clisp.org>
24659
24660         freopen-safer: Move AC_LIBOBJ invocations to module description.
24661         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
24662         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
24663         (configure.ac): Remove gl_FREOPEN_SAFER call.
24664         (Makefile.am): Augment lib_SOURCES.
24665
24666 2011-05-23  Bruno Haible  <bruno@clisp.org>
24667
24668         fopen-safer: Move AC_LIBOBJ invocations to module description.
24669         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
24670         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
24671         (configure.ac): Remove gl_FOPEN_SAFER call.
24672         (Makefile.am): Augment lib_SOURCES.
24673
24674 2011-05-23  Bruno Haible  <bruno@clisp.org>
24675
24676         crypto/sha512: Move AC_LIBOBJ invocations to module description.
24677         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
24678         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
24679
24680 2011-05-23  Bruno Haible  <bruno@clisp.org>
24681
24682         crypto/sha256: Move AC_LIBOBJ invocations to module description.
24683         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
24684         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
24685
24686 2011-05-23  Bruno Haible  <bruno@clisp.org>
24687
24688         crypto/sha1: Move AC_LIBOBJ invocations to module description.
24689         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
24690         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
24691
24692 2011-05-23  Bruno Haible  <bruno@clisp.org>
24693
24694         settime: Move AC_LIBOBJ invocations to module description.
24695         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
24696         * modules/settime (Makefile.am): Augment lib_SOURCES.
24697
24698 2011-05-23  Bruno Haible  <bruno@clisp.org>
24699
24700         savedir: Move AC_LIBOBJ invocations to module description.
24701         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
24702         * modules/savedir (Makefile.am): Augment lib_SOURCES.
24703
24704 2011-05-23  Bruno Haible  <bruno@clisp.org>
24705
24706         save-cwd: Move AC_LIBOBJ invocations to module description.
24707         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
24708         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
24709
24710 2011-05-23  Bruno Haible  <bruno@clisp.org>
24711
24712         same: Move AC_LIBOBJ invocations to module description.
24713         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
24714         * modules/same (Makefile.am): Augment lib_SOURCES.
24715
24716 2011-05-23  Bruno Haible  <bruno@clisp.org>
24717
24718         safe-write: Move AC_LIBOBJ invocations to module description.
24719         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
24720         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
24721         instead of gl_SAFE_WRITE.
24722         (Makefile.am): Augment lib_SOURCES.
24723
24724 2011-05-23  Bruno Haible  <bruno@clisp.org>
24725
24726         safe-read: Move AC_LIBOBJ invocations to module description.
24727         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
24728         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
24729         of gl_SAFE_READ.
24730         (Makefile.am): Augment lib_SOURCES.
24731
24732 2011-05-23  Bruno Haible  <bruno@clisp.org>
24733
24734         safe-alloc: Move AC_LIBOBJ invocations to module description.
24735         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
24736         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
24737
24738 2011-05-23  Bruno Haible  <bruno@clisp.org>
24739
24740         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
24741         * m4/rijndael.m4: Remove file.
24742         * modules/crypto/rijndael (Files): Remove it.
24743         (configure.ac): Remove gl_RIJNDAEL call.
24744         (Makefile.am): Augment lib_SOURCES.
24745
24746 2011-05-23  Bruno Haible  <bruno@clisp.org>
24747
24748         readtokens: Move AC_LIBOBJ invocations to module description.
24749         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
24750         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
24751
24752 2011-05-23  Bruno Haible  <bruno@clisp.org>
24753
24754         read-file: Move AC_LIBOBJ invocations to module description.
24755         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
24756         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
24757         of gl_FUNC_READ_FILE.
24758         (Makefile.am): Augment lib_SOURCES.
24759
24760 2011-05-23  Bruno Haible  <bruno@clisp.org>
24761
24762         quotearg: Move AC_LIBOBJ invocations to module description.
24763         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
24764         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
24765
24766 2011-05-23  Bruno Haible  <bruno@clisp.org>
24767
24768         quote: Move AC_LIBOBJ invocations to module description.
24769         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
24770         * modules/quote (Makefile.am): Augment lib_SOURCES.
24771
24772 2011-05-23  Bruno Haible  <bruno@clisp.org>
24773
24774         posixver: Move AC_LIBOBJ invocations to module description.
24775         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
24776         * modules/posixver (Makefile.am): Augment lib_SOURCES.
24777
24778 2011-05-23  Bruno Haible  <bruno@clisp.org>
24779
24780         posixtm: Move AC_LIBOBJ invocations to module description.
24781         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
24782         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
24783
24784 2011-05-23  Bruno Haible  <bruno@clisp.org>
24785
24786         physmem: Move AC_LIBOBJ invocations to module description.
24787         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
24788         * modules/physmem (Makefile.am): Augment lib_SOURCES.
24789
24790 2011-05-23  Bruno Haible  <bruno@clisp.org>
24791
24792         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
24793         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
24794         invocation.
24795         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
24796
24797 2011-05-23  Bruno Haible  <bruno@clisp.org>
24798
24799         mpsort: Move AC_LIBOBJ invocations to module description.
24800         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
24801         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
24802
24803 2011-05-23  Bruno Haible  <bruno@clisp.org>
24804
24805         modechange: Move AC_LIBOBJ invocations to module description.
24806         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
24807         * modules/modechange (Makefile.am): Augment lib_SOURCES.
24808
24809 2011-05-23  Bruno Haible  <bruno@clisp.org>
24810
24811         mkdir-p: Move AC_LIBOBJ invocations to module description.
24812         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
24813         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
24814
24815 2011-05-23  Bruno Haible  <bruno@clisp.org>
24816
24817         mkancesdirs: Move AC_LIBOBJ invocations to module description.
24818         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
24819         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
24820
24821 2011-05-23  Bruno Haible  <bruno@clisp.org>
24822
24823         mgetgroups: Move AC_LIBOBJ invocations to module description.
24824         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
24825         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
24826
24827 2011-05-23  Bruno Haible  <bruno@clisp.org>
24828
24829         memxor: Move AC_LIBOBJ invocations to module description.
24830         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
24831         * modules/memxor (Makefile.am): Augment lib_SOURCES.
24832
24833 2011-05-23  Bruno Haible  <bruno@clisp.org>
24834
24835         memcoll: Move AC_LIBOBJ invocations to module description.
24836         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
24837         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
24838
24839 2011-05-23  Bruno Haible  <bruno@clisp.org>
24840
24841         memcasecmp: Move AC_LIBOBJ invocations to module description.
24842         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
24843         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
24844
24845 2011-05-23  Bruno Haible  <bruno@clisp.org>
24846
24847         crypto/md5: Move AC_LIBOBJ invocations to module description.
24848         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
24849         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
24850
24851 2011-05-23  Bruno Haible  <bruno@clisp.org>
24852
24853         crypto/md4: Move AC_LIBOBJ invocations to module description.
24854         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
24855         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
24856
24857 2011-05-23  Bruno Haible  <bruno@clisp.org>
24858
24859         crypto/md2: Move AC_LIBOBJ invocations to module description.
24860         * m4/md2.m4: Remove file.
24861         * modules/crypto/md2 (Files): Remove it.
24862         (configure.ac): Remove gl_MD2 call.
24863         (Makefile.am): Augment lib_SOURCES.
24864
24865 2011-05-23  Bruno Haible  <bruno@clisp.org>
24866
24867         long-options: Move AC_LIBOBJ invocations to module description.
24868         * m4/long-options.m4: Remove file.
24869         * modules/long-options (Files): Remove it.
24870         (configure.ac): Remove gl_LONG_OPTIONS call.
24871         (Makefile.am): Augment lib_SOURCES.
24872
24873 2011-05-23  Bruno Haible  <bruno@clisp.org>
24874
24875         i-ring: Move AC_LIBOBJ invocations to module description.
24876         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
24877         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
24878
24879 2011-05-23  Bruno Haible  <bruno@clisp.org>
24880
24881         idcache: Move AC_LIBOBJ invocations to module description.
24882         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
24883         * modules/idcache (Makefile.am): Augment lib_SOURCES.
24884
24885 2011-05-23  Bruno Haible  <bruno@clisp.org>
24886
24887         human: Move AC_LIBOBJ invocations to module description.
24888         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
24889         * modules/human (Makefile.am): Augment lib_SOURCES.
24890
24891 2011-05-23  Bruno Haible  <bruno@clisp.org>
24892
24893         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
24894         * m4/hmac-sha1.m4: Remove file.
24895         * modules/crypto/hmac-sha1 (Files): Remove it.
24896         (configure.ac): Remove gl_HMAC_SHA1 call.
24897         (Makefile.am): Augment lib_SOURCES.
24898
24899 2011-05-23  Bruno Haible  <bruno@clisp.org>
24900
24901         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
24902         * m4/hmac-md5.m4: Remove file.
24903         * modules/crypto/hmac-md5 (Files): Remove it.
24904         (configure.ac): Remove gl_HMAC_MD5 call.
24905         (Makefile.am): Augment lib_SOURCES.
24906
24907 2011-05-23  Bruno Haible  <bruno@clisp.org>
24908
24909         hash: Move AC_LIBOBJ invocations to module description.
24910         * m4/hash.m4: Remove file.
24911         * modules/hash (Files): Remove it.
24912         (configure.ac): Remove gl_HASH call.
24913         (Makefile.am): Augment lib_SOURCES.
24914
24915 2011-05-23  Bruno Haible  <bruno@clisp.org>
24916
24917         hard-locale: Move AC_LIBOBJ invocations to module description.
24918         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
24919         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
24920
24921 2011-05-23  Bruno Haible  <bruno@clisp.org>
24922
24923         getugroups: Move AC_LIBOBJ invocations to module description.
24924         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
24925         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
24926
24927 2011-05-23  Bruno Haible  <bruno@clisp.org>
24928
24929         gettime: Move AC_LIBOBJ invocations to module description.
24930         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
24931         * modules/gettime (Makefile.am): Augment lib_SOURCES.
24932
24933 2011-05-23  Bruno Haible  <bruno@clisp.org>
24934
24935         getndelim2: Move AC_LIBOBJ invocations to module description.
24936         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
24937         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
24938
24939 2011-05-23  Bruno Haible  <bruno@clisp.org>
24940
24941         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
24942         * m4/gc-pbkdf2-sha1.m4: Remove file.
24943         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
24944         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
24945         (Makefile.am): Augment lib_SOURCES.
24946
24947 2011-05-23  Bruno Haible  <bruno@clisp.org>
24948
24949         fts: Move AC_LIBOBJ invocations to module description.
24950         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
24951         * modules/fts (configure.ac): ... to here.
24952
24953 2011-05-23  Bruno Haible  <bruno@clisp.org>
24954
24955         file-type: Move AC_LIBOBJ invocations to module description.
24956         * m4/file-type.m4: Remove file.
24957         * modules/file-type (Files): Remove it.
24958         (configure.ac): Remove gl_FILE_TYPE call.
24959         (Makefile.am): Augment lib_SOURCES.
24960
24961 2011-05-23  Bruno Haible  <bruno@clisp.org>
24962
24963         filenamecat*: Respect rules for use of AC_LIBOBJ.
24964         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
24965         Remove AC_LIBOBJ invocation.
24966         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
24967         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
24968
24969 2011-05-23  Bruno Haible  <bruno@clisp.org>
24970
24971         filemode: Move AC_LIBOBJ invocations to module description.
24972         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
24973         * modules/filemode (Makefile.am): Augment lib_SOURCES.
24974
24975 2011-05-23  Bruno Haible  <bruno@clisp.org>
24976
24977         openat-safer: Move AC_LIBOBJ invocations to module description.
24978         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
24979         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
24980
24981 2011-05-23  Bruno Haible  <bruno@clisp.org>
24982
24983         fcntl-safer: Move AC_LIBOBJ invocations to module description.
24984         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
24985         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
24986
24987 2011-05-23  Bruno Haible  <bruno@clisp.org>
24988
24989         exclude: Move AC_LIBOBJ invocations to module description.
24990         * m4/exclude.m4: Remove file.
24991         * modules/exclude (Files): Remove it.
24992         (configure.ac): Remove gl_EXCLUDE call.
24993         (Makefile.am): Augment lib_SOURCES.
24994
24995 2011-05-23  Bruno Haible  <bruno@clisp.org>
24996
24997         dirname*: Respect rules for use of AC_LIBOBJ.
24998         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
24999         invocations.
25000         * modules/dirname (Makefile.am): Augment lib_SOURCES.
25001         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
25002
25003 2011-05-23  Bruno Haible  <bruno@clisp.org>
25004
25005         dirent-safer: Move AC_LIBOBJ invocations to module description.
25006         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
25007         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
25008
25009 2011-05-23  Bruno Haible  <bruno@clisp.org>
25010
25011         crypto/des: Move AC_LIBOBJ invocations to module description.
25012         * m4/des.m4: Remove file.
25013         * modules/crypto/des (Files): Remove it.
25014         (configure.ac): Remove gl_DES call.
25015         (Makefile.am): Augment lib_SOURCES.
25016
25017 2011-05-23  Bruno Haible  <bruno@clisp.org>
25018
25019         cycle-check: Move AC_LIBOBJ invocations to module description.
25020         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
25021         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
25022
25023 2011-05-23  Bruno Haible  <bruno@clisp.org>
25024
25025         c-strtold: Move AC_LIBOBJ invocations to module description.
25026         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
25027         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
25028
25029 2011-05-23  Bruno Haible  <bruno@clisp.org>
25030
25031         c-strtod: Move AC_LIBOBJ invocations to module description.
25032         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
25033         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
25034
25035 2011-05-23  Bruno Haible  <bruno@clisp.org>
25036
25037         crc: Move AC_LIBOBJ invocations to module description.
25038         * m4/crc.m4: Remove file.
25039         * modules/crc (Files): Remove it.
25040         (configure.ac): Remove gl_CRC call.
25041         (Makefile.am): Augment lib_SOURCES.
25042
25043 2011-05-23  Bruno Haible  <bruno@clisp.org>
25044
25045         close-stream: Move AC_LIBOBJ invocations to module description.
25046         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
25047         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
25048
25049 2011-05-23  Bruno Haible  <bruno@clisp.org>
25050
25051         closeout: Move AC_LIBOBJ invocations to module description.
25052         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
25053         * modules/closeout (Makefile.am): Augment lib_SOURCES.
25054
25055 2011-05-23  Bruno Haible  <bruno@clisp.org>
25056
25057         closein: Move AC_LIBOBJ invocations to module description.
25058         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
25059         * modules/closein (Makefile.am): Augment lib_SOURCES.
25060
25061 2011-05-23  Bruno Haible  <bruno@clisp.org>
25062
25063         cloexec: Move AC_LIBOBJ invocations to module description.
25064         * m4/cloexec.m4: Remove file.
25065         * modules/cloexec (Files): Remove it.
25066         (configure.ac): Remove gl_CLOEXEC call.
25067         (Makefile.am): Augment lib_SOURCES.
25068
25069 2011-05-23  Bruno Haible  <bruno@clisp.org>
25070
25071         check-version: Move AC_LIBOBJ invocations to module description.
25072         * m4/check-version.m4: Remove file.
25073         * modules/check-version (Files): Remove it.
25074         (configure.ac): Remove gl_CHECK_VERSION call.
25075         (Makefile.am): Augment lib_SOURCES.
25076
25077 2011-05-23  Bruno Haible  <bruno@clisp.org>
25078
25079         chdir-safer: Move AC_LIBOBJ invocations to module description.
25080         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
25081         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
25082
25083 2011-05-23  Bruno Haible  <bruno@clisp.org>
25084
25085         canonicalize: Move AC_LIBOBJ invocations to module description.
25086         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
25087         AC_LIBOBJ invocation.
25088         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
25089
25090 2011-05-23  Bruno Haible  <bruno@clisp.org>
25091
25092         canon-host: Move AC_LIBOBJ invocations to module description.
25093         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
25094         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
25095         instead of gl_CANON_HOST.
25096         (Makefile.am): Augment lib_SOURCES.
25097
25098 2011-05-23  Bruno Haible  <bruno@clisp.org>
25099
25100         backupfile: Move AC_LIBOBJ invocations to module description.
25101         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
25102         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
25103
25104 2011-05-23  Bruno Haible  <bruno@clisp.org>
25105
25106         argmatch: Move AC_LIBOBJ invocations to module description.
25107         * m4/argmatch.m4: Remove file.
25108         * modules/argmatch (Files): Remove it.
25109         (configure.ac): Remove gl_ARGMATCH call.
25110         (Makefile.am): Augment lib_SOURCES.
25111
25112 2011-05-23  Bruno Haible  <bruno@clisp.org>
25113
25114         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
25115         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
25116         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
25117
25118 2011-05-23  Bruno Haible  <bruno@clisp.org>
25119
25120         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
25121         * m4/arcfour.m4: Remove file.
25122         * modules/crypto/arcfour (Files): Remove it.
25123         (configure.ac): Remove gl_ARCFOUR call.
25124         (Makefile.am): Augment lib_SOURCES.
25125
25126 2011-05-22  Bruno Haible  <bruno@clisp.org>
25127
25128         write: Move AC_LIBOBJ invocations to module description.
25129         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
25130         * modules/write (configure.ac): ... to here.
25131
25132 2011-05-22  Bruno Haible  <bruno@clisp.org>
25133
25134         wmemset: Move AC_LIBOBJ invocations to module description.
25135         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
25136         here...
25137         * modules/wmemset (configure.ac): ... to here.
25138
25139 2011-05-22  Bruno Haible  <bruno@clisp.org>
25140
25141         wmemmove: Move AC_LIBOBJ invocations to module description.
25142         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
25143         here...
25144         * modules/wmemmove (configure.ac): ... to here.
25145
25146 2011-05-22  Bruno Haible  <bruno@clisp.org>
25147
25148         wmemcpy: Move AC_LIBOBJ invocations to module description.
25149         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
25150         here...
25151         * modules/wmemcpy (configure.ac): ... to here.
25152
25153 2011-05-22  Bruno Haible  <bruno@clisp.org>
25154
25155         wmemcmp: Move AC_LIBOBJ invocations to module description.
25156         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
25157         here...
25158         * modules/wmemcmp (configure.ac): ... to here.
25159
25160 2011-05-22  Bruno Haible  <bruno@clisp.org>
25161
25162         wmemchr: Move AC_LIBOBJ invocations to module description.
25163         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
25164         here...
25165         * modules/wmemchr (configure.ac): ... to here.
25166
25167 2011-05-22  Bruno Haible  <bruno@clisp.org>
25168
25169         wcswidth: Move AC_LIBOBJ invocations to module description.
25170         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
25171         here...
25172         * modules/wcswidth (configure.ac): ... to here.
25173
25174 2011-05-22  Bruno Haible  <bruno@clisp.org>
25175
25176         wcwidth: Respect rules for use of AC_LIBOBJ.
25177         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
25178         invocation from here...
25179         * modules/wcwidth (configure.ac): ... to here.
25180         (Depends-on): Update conditions.
25181
25182 2011-05-22  Bruno Haible  <bruno@clisp.org>
25183
25184         wctype: Move AC_LIBOBJ invocations to module description.
25185         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
25186         invocation from here...
25187         * modules/wctype (configure.ac): ... to here.
25188         (Depends-on): Update conditions.
25189
25190 2011-05-22  Bruno Haible  <bruno@clisp.org>
25191
25192         wctrans: Move AC_LIBOBJ invocations to module description.
25193         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
25194         invocation from here...
25195         * modules/wctrans (configure.ac): ... to here.
25196
25197 2011-05-22  Bruno Haible  <bruno@clisp.org>
25198
25199         wctomb: Move AC_LIBOBJ invocations to module description.
25200         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
25201         invocations from here...
25202         * modules/wctomb (configure.ac): ... to here.
25203
25204 2011-05-22  Bruno Haible  <bruno@clisp.org>
25205
25206         wctob: Move AC_LIBOBJ invocations to module description.
25207         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
25208         gl_PREREQ_WCTOB invocations from here...
25209         * modules/wctob (configure.ac): ... to here.
25210         (Depends-on): Update conditions.
25211
25212 2011-05-22  Bruno Haible  <bruno@clisp.org>
25213
25214         wcsxfrm: Move AC_LIBOBJ invocations to module description.
25215         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
25216         here...
25217         * modules/wcsxfrm (configure.ac): ... to here.
25218
25219 2011-05-22  Bruno Haible  <bruno@clisp.org>
25220
25221         wcstok: Move AC_LIBOBJ invocations to module description.
25222         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
25223         * modules/wcstok (configure.ac): ... to here.
25224
25225 2011-05-22  Bruno Haible  <bruno@clisp.org>
25226
25227         wcsstr: Move AC_LIBOBJ invocations to module description.
25228         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
25229         * modules/wcsstr (configure.ac): ... to here.
25230
25231 2011-05-22  Bruno Haible  <bruno@clisp.org>
25232
25233         wcsspn: Move AC_LIBOBJ invocations to module description.
25234         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
25235         * modules/wcsspn (configure.ac): ... to here.
25236
25237 2011-05-22  Bruno Haible  <bruno@clisp.org>
25238
25239         wcsrtombs: Move AC_LIBOBJ invocations to module description.
25240         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
25241         gl_PREREQ_WCSRTOMBS invocations from here...
25242         * modules/wcsrtombs (configure.ac): ... to here.
25243
25244 2011-05-22  Bruno Haible  <bruno@clisp.org>
25245
25246         wcsrchr: Move AC_LIBOBJ invocations to module description.
25247         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
25248         here...
25249         * modules/wcsrchr (configure.ac): ... to here.
25250
25251 2011-05-22  Bruno Haible  <bruno@clisp.org>
25252
25253         wcspbrk: Move AC_LIBOBJ invocations to module description.
25254         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
25255         here...
25256         * modules/wcspbrk (configure.ac): ... to here.
25257
25258 2011-05-22  Bruno Haible  <bruno@clisp.org>
25259
25260         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
25261         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
25262         gl_PREREQ_WCSNRTOMBS invocations from here...
25263         * modules/wcsnrtombs (configure.ac): ... to here.
25264
25265 2011-05-22  Bruno Haible  <bruno@clisp.org>
25266
25267         wcsnlen: Move AC_LIBOBJ invocations to module description.
25268         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
25269         here...
25270         * modules/wcsnlen (configure.ac): ... to here.
25271
25272 2011-05-22  Bruno Haible  <bruno@clisp.org>
25273
25274         wcsncpy: Move AC_LIBOBJ invocations to module description.
25275         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
25276         here...
25277         * modules/wcsncpy (configure.ac): ... to here.
25278
25279 2011-05-22  Bruno Haible  <bruno@clisp.org>
25280
25281         wcsncmp: Move AC_LIBOBJ invocations to module description.
25282         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
25283         here...
25284         * modules/wcsncmp (configure.ac): ... to here.
25285
25286 2011-05-22  Bruno Haible  <bruno@clisp.org>
25287
25288         wcsncat: Move AC_LIBOBJ invocations to module description.
25289         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
25290         here...
25291         * modules/wcsncat (configure.ac): ... to here.
25292
25293 2011-05-22  Bruno Haible  <bruno@clisp.org>
25294
25295         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
25296         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
25297         from here...
25298         * modules/wcsncasecmp (configure.ac): ... to here.
25299
25300 2011-05-22  Bruno Haible  <bruno@clisp.org>
25301
25302         wcslen: Move AC_LIBOBJ invocations to module description.
25303         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
25304         * modules/wcslen (configure.ac): ... to here.
25305
25306 2011-05-22  Bruno Haible  <bruno@clisp.org>
25307
25308         wcsdup: Move AC_LIBOBJ invocations to module description.
25309         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
25310         * modules/wcsdup (configure.ac): ... to here.
25311
25312 2011-05-22  Bruno Haible  <bruno@clisp.org>
25313
25314         wcscspn: Move AC_LIBOBJ invocations to module description.
25315         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
25316         here...
25317         * modules/wcscspn (configure.ac): ... to here.
25318
25319 2011-05-22  Bruno Haible  <bruno@clisp.org>
25320
25321         wcscpy: Move AC_LIBOBJ invocations to module description.
25322         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
25323         * modules/wcscpy (configure.ac): ... to here.
25324
25325 2011-05-22  Bruno Haible  <bruno@clisp.org>
25326
25327         wcscoll: Move AC_LIBOBJ invocations to module description.
25328         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
25329         here...
25330         * modules/wcscoll (configure.ac): ... to here.
25331
25332 2011-05-22  Bruno Haible  <bruno@clisp.org>
25333
25334         wcscmp: Move AC_LIBOBJ invocations to module description.
25335         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
25336         * modules/wcscmp (configure.ac): ... to here.
25337
25338 2011-05-22  Bruno Haible  <bruno@clisp.org>
25339
25340         wcschr: Move AC_LIBOBJ invocations to module description.
25341         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
25342         * modules/wcschr (configure.ac): ... to here.
25343
25344 2011-05-22  Bruno Haible  <bruno@clisp.org>
25345
25346         wcscat: Move AC_LIBOBJ invocations to module description.
25347         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
25348         * modules/wcscat (configure.ac): ... to here.
25349
25350 2011-05-22  Bruno Haible  <bruno@clisp.org>
25351
25352         wcscasecmp: Move AC_LIBOBJ invocations to module description.
25353         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
25354         here...
25355         * modules/wcscasecmp (configure.ac): ... to here.
25356
25357 2011-05-22  Bruno Haible  <bruno@clisp.org>
25358
25359         wcrtomb: Move AC_LIBOBJ invocations to module description.
25360         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
25361         invocations from here...
25362         * modules/wcrtomb (configure.ac): ... to here.
25363
25364 2011-05-22  Bruno Haible  <bruno@clisp.org>
25365
25366         wcpncpy: Move AC_LIBOBJ invocations to module description.
25367         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
25368         here...
25369         * modules/wcpncpy (configure.ac): ... to here.
25370
25371 2011-05-22  Bruno Haible  <bruno@clisp.org>
25372
25373         wcpcpy: Move AC_LIBOBJ invocations to module description.
25374         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
25375         * modules/wcpcpy (configure.ac): ... to here.
25376
25377 2011-05-22  Bruno Haible  <bruno@clisp.org>
25378
25379         waitpid: Move AC_LIBOBJ invocations to module description.
25380         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
25381         invocation from here...
25382         * modules/waitpid (configure.ac): ... to here.
25383
25384 2011-05-22  Bruno Haible  <bruno@clisp.org>
25385
25386         utimensat: Move AC_LIBOBJ invocations to module description.
25387         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
25388         here...
25389         * modules/utimensat (configure.ac): ... to here.
25390
25391 2011-05-22  Bruno Haible  <bruno@clisp.org>
25392
25393         usleep: Move AC_LIBOBJ invocations to module description.
25394         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
25395         here...
25396         * modules/usleep (configure.ac): ... to here.
25397
25398 2011-05-22  Bruno Haible  <bruno@clisp.org>
25399
25400         unlockpt: Move AC_LIBOBJ invocations to module description.
25401         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
25402         gl_PREREQ_UNLOCKPT invocations from here...
25403         * modules/unlockpt (configure.ac): ... to here.
25404
25405 2011-05-22  Bruno Haible  <bruno@clisp.org>
25406
25407         unlink: Respect rules for use of AC_LIBOBJ.
25408         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
25409         * modules/unlink (configure.ac): ... to here.
25410
25411 2011-05-22  Bruno Haible  <bruno@clisp.org>
25412
25413         uname: Move AC_LIBOBJ invocations to module description.
25414         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
25415         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
25416         here...
25417         * modules/uname (configure.ac): ... to here.
25418
25419 2011-05-22  Bruno Haible  <bruno@clisp.org>
25420
25421         ttyname_r: Move AC_LIBOBJ invocations to module description.
25422         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
25423         gl_PREREQ_TTYNAME_R invocations from here...
25424         * modules/ttyname_r (configure.ac): ... to here.
25425
25426 2011-05-22  Bruno Haible  <bruno@clisp.org>
25427
25428         tsearch: Move AC_LIBOBJ invocations to module description.
25429         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
25430         invocations from here...
25431         * modules/tsearch (configure.ac): ... to here.
25432
25433 2011-05-22  Bruno Haible  <bruno@clisp.org>
25434
25435         towctrans: Move AC_LIBOBJ invocations to module description.
25436         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
25437         AC_LIBOBJ invocation from here...
25438         * modules/towctrans (configure.ac): ... to here.
25439
25440 2011-05-22  Bruno Haible  <bruno@clisp.org>
25441
25442         tmpfile: Move AC_LIBOBJ invocations to module description.
25443         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
25444         invocations from here...
25445         * modules/tmpfile (configure.ac): ... to here.
25446
25447 2011-05-22  Bruno Haible  <bruno@clisp.org>
25448
25449         times: Move AC_LIBOBJ invocations to module description.
25450         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
25451         * modules/times (configure.ac): ... to here.
25452
25453 2011-05-22  Bruno Haible  <bruno@clisp.org>
25454
25455         time_r: Move AC_LIBOBJ invocations to module description.
25456         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
25457         invocations from here...
25458         * modules/time_r (configure.ac): ... to here.
25459
25460 2011-05-22  Bruno Haible  <bruno@clisp.org>
25461
25462         timegm: Move AC_LIBOBJ invocations to module description.
25463         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
25464         invocations from here...
25465         * modules/timegm (configure.ac): ... to here.
25466
25467 2011-05-22  Bruno Haible  <bruno@clisp.org>
25468
25469         tcgetsid: Move AC_LIBOBJ invocations to module description.
25470         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
25471         and gl_PREREQ_TCGETSID invocations from here...
25472         * modules/tcgetsid (configure.ac): ... to here.
25473         (Depends-on): Update conditions.
25474
25475 2011-05-22  Bruno Haible  <bruno@clisp.org>
25476
25477         symlinkat: Move AC_LIBOBJ invocations to module description.
25478         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
25479         here...
25480         * modules/symlinkat (configure.ac): ... to here.
25481
25482 2011-05-22  Bruno Haible  <bruno@clisp.org>
25483
25484         symlink: Move AC_LIBOBJ invocations to module description.
25485         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
25486         here...
25487         * modules/symlink (configure.ac): ... to here.
25488
25489 2011-05-22  Bruno Haible  <bruno@clisp.org>
25490
25491         strverscmp: Move AC_LIBOBJ invocations to module description.
25492         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
25493         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
25494         from here...
25495         * modules/strverscmp (configure.ac): ... to here.
25496
25497 2011-05-22  Bruno Haible  <bruno@clisp.org>
25498
25499         strtok_r: Move AC_LIBOBJ invocations to module description.
25500         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
25501         and gl_PREREQ_STRTOK_R invocations from here...
25502         * modules/strtok_r (configure.ac): ... to here.
25503         (Depends-on): Update conditions.
25504
25505 2011-05-22  Bruno Haible  <bruno@clisp.org>
25506
25507         strtoumax: Move AC_LIBOBJ invocations to module description.
25508         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
25509         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
25510         from here...
25511         * modules/strtoumax (configure.ac): ... to here.
25512
25513 2011-05-22  Bruno Haible  <bruno@clisp.org>
25514
25515         strtoimax: Move AC_LIBOBJ invocations to module description.
25516         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
25517         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
25518         from here...
25519         * modules/strtoimax (configure.ac): ... to here.
25520
25521 2011-05-22  Bruno Haible  <bruno@clisp.org>
25522
25523         strtoull: Move AC_LIBOBJ invocations to module description.
25524         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
25525         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
25526         from here...
25527         * modules/strtoull (configure.ac): ... to here.
25528
25529 2011-05-22  Bruno Haible  <bruno@clisp.org>
25530
25531         strtoll: Move AC_LIBOBJ invocations to module description.
25532         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
25533         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
25534         here...
25535         * modules/strtoll (configure.ac): ... to here.
25536
25537 2011-05-22  Bruno Haible  <bruno@clisp.org>
25538
25539         strtoul: Move AC_LIBOBJ invocations to module description.
25540         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
25541         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
25542         * modules/strtoul (configure.ac): ... to here.
25543
25544 2011-05-22  Bruno Haible  <bruno@clisp.org>
25545
25546         strtol: Move AC_LIBOBJ invocations to module description.
25547         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
25548         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
25549         * modules/strtol (configure.ac): ... to here.
25550
25551 2011-05-22  Bruno Haible  <bruno@clisp.org>
25552
25553         strtod: Move AC_LIBOBJ invocations to module description.
25554         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
25555         invocations from here...
25556         * modules/strtod (configure.ac): ... to here.
25557
25558 2011-05-22  Bruno Haible  <bruno@clisp.org>
25559
25560         strstr*: Move AC_LIBOBJ invocations to module description.
25561         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
25562         invocations from here...
25563         * modules/strstr-simple (configure.ac): ... to here.
25564         * modules/strstr (configure.ac): ... and here.
25565
25566 2011-05-22  Bruno Haible  <bruno@clisp.org>
25567
25568         strsignal: Move AC_LIBOBJ invocations to module description.
25569         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
25570         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
25571         * modules/strsignal (configure.ac): ... to here.
25572         (Depends-on): Update conditions.
25573
25574 2011-05-22  Bruno Haible  <bruno@clisp.org>
25575
25576         strsep: Move AC_LIBOBJ invocations to module description.
25577         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
25578         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
25579         here...
25580         * modules/strsep (configure.ac): ... to here.
25581
25582 2011-05-22  Bruno Haible  <bruno@clisp.org>
25583
25584         strptime: Move AC_LIBOBJ invocations to module description.
25585         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
25586         gl_PREREQ_STRPTIME invocations from here...
25587         * modules/strptime (configure.ac): ... to here.
25588
25589 2011-05-22  Bruno Haible  <bruno@clisp.org>
25590
25591         strpbrk: Move AC_LIBOBJ invocations to module description.
25592         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
25593         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
25594         here...
25595         * modules/strpbrk (configure.ac): ... to here.
25596
25597 2011-05-22  Bruno Haible  <bruno@clisp.org>
25598
25599         strnlen: Move AC_LIBOBJ invocations to module description.
25600         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
25601         invocations from here...
25602         * modules/strnlen (configure.ac): ... to here.
25603
25604 2011-05-22  Bruno Haible  <bruno@clisp.org>
25605
25606         strndup: Move AC_LIBOBJ invocations to module description.
25607         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
25608         invocations from here...
25609         * modules/strndup (configure.ac): ... to here.
25610         (Depends-on): Update conditions.
25611
25612 2011-05-22  Bruno Haible  <bruno@clisp.org>
25613
25614         strncat: Move AC_LIBOBJ invocations to module description.
25615         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
25616         invocations from here...
25617         * modules/strncat (configure.ac): ... to here.
25618
25619 2011-05-22  Bruno Haible  <bruno@clisp.org>
25620
25621         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
25622         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
25623         invocations from here...
25624         * modules/strdup (configure.ac): ... to here.
25625         * modules/strdup-posix (configure.ac): ... and here.
25626
25627 2011-05-22  Bruno Haible  <bruno@clisp.org>
25628
25629         strcspn: Move AC_LIBOBJ invocations to module description.
25630         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
25631         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
25632         here...
25633         * modules/strcspn (configure.ac): ... to here.
25634
25635 2011-05-22  Bruno Haible  <bruno@clisp.org>
25636
25637         strchrnul: Move AC_LIBOBJ invocations to module description.
25638         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
25639         gl_PREREQ_STRCHRNUL invocations from here...
25640         * modules/strchrnul (configure.ac): ... to here.
25641
25642 2011-05-22  Bruno Haible  <bruno@clisp.org>
25643
25644         strcasestr*: Move AC_LIBOBJ invocations to module description.
25645         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
25646         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
25647         * modules/strcasestr-simple (configure.ac): ... to here.
25648         * modules/strcasestr (configure.ac): ... and here.
25649
25650 2011-05-22  Bruno Haible  <bruno@clisp.org>
25651
25652         strcase: Move AC_LIBOBJ invocations to module description.
25653         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
25654         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
25655         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
25656         gl_PREREQ_STRNCASECMP invocations from here...
25657         * modules/strcase (configure.ac): ... to here.
25658
25659 2011-05-22  Bruno Haible  <bruno@clisp.org>
25660
25661         stpncpy: Move AC_LIBOBJ invocations to module description.
25662         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
25663         here...
25664         * modules/stpncpy (configure.ac): ... to here.
25665
25666 2011-05-22  Bruno Haible  <bruno@clisp.org>
25667
25668         stpcpy: Move AC_LIBOBJ invocations to module description.
25669         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
25670         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
25671         here...
25672         * modules/stpcpy (configure.ac): ... to here.
25673
25674 2011-05-21  Bruno Haible  <bruno@clisp.org>
25675
25676         stat: Move AC_LIBOBJ invocations to module description.
25677         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
25678         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
25679         here...
25680         * modules/stat (configure.ac): ... to here.
25681
25682 2011-05-21  Bruno Haible  <bruno@clisp.org>
25683
25684         sleep: Move AC_LIBOBJ invocations to module description.
25685         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
25686         * modules/sleep (configure.ac): ... to here.
25687
25688 2011-05-21  Bruno Haible  <bruno@clisp.org>
25689
25690         signbit: Move AC_LIBOBJ invocations to module description.
25691         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
25692         * modules/signbit (configure.ac): ... to here.
25693
25694 2011-05-21  Bruno Haible  <bruno@clisp.org>
25695
25696         sigprocmask: Move AC_LIBOBJ invocations to module description.
25697         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
25698         gl_PREREQ_SIGPROMASK invocations from here...
25699         * modules/sigprocmask (configure.ac): ... to here.
25700
25701 2011-05-21  Bruno Haible  <bruno@clisp.org>
25702
25703         sigaction: Move AC_LIBOBJ invocations to module description.
25704         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
25705         gl_PREREQ_SIGACTION invocations from here...
25706         * modules/sigaction (configure.ac): ... to here.
25707
25708 2011-05-21  Bruno Haible  <bruno@clisp.org>
25709
25710         sig2str: Move AC_LIBOBJ invocations to module description.
25711         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
25712         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
25713         here...
25714         * modules/sig2str (configure.ac): ... to here.
25715
25716 2011-05-21  Bruno Haible  <bruno@clisp.org>
25717
25718         setlocale: Move AC_LIBOBJ invocations to module description.
25719         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
25720         gl_PREREQ_SETLOCALE invocations from here...
25721         * modules/setlocale (configure.ac): ... to here.
25722
25723 2011-05-21  Bruno Haible  <bruno@clisp.org>
25724
25725         unsetenv: Move AC_LIBOBJ invocations to module description.
25726         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
25727         and gl_PREREQ_UNSETENV invocations from here...
25728         * modules/unsetenv (configure.ac): ... to here.
25729         (Depends-on): Update.
25730
25731 2011-05-21  Bruno Haible  <bruno@clisp.org>
25732
25733         setenv: Move AC_LIBOBJ invocations to module description.
25734         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
25735         here...
25736         * modules/setenv (configure.ac): ... to here.
25737
25738 2011-05-21  Bruno Haible  <bruno@clisp.org>
25739
25740         selinux-h: Move AC_LIBOBJ invocations to module description.
25741         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
25742         AC_LIBOBJ invocation from here...
25743         * modules/selinux-h (configure.ac): ... to here.
25744
25745 2011-05-21  Bruno Haible  <bruno@clisp.org>
25746
25747         select: Respect rules for use of AC_LIBOBJ.
25748         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
25749         here...
25750         * modules/select (configure.ac): ... to here.
25751
25752 2011-05-21  Bruno Haible  <bruno@clisp.org>
25753
25754         scandir: Move AC_LIBOBJ invocations to module description.
25755         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
25756         invocations from here...
25757         * modules/scandir (configure.ac): ... to here.
25758
25759 2011-05-21  Bruno Haible  <bruno@clisp.org>
25760
25761         rpmatch: Move AC_LIBOBJ invocations to module description.
25762         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
25763         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
25764         here...
25765         * modules/rpmatch (configure.ac): ... to here.
25766
25767 2011-05-21  Bruno Haible  <bruno@clisp.org>
25768
25769         rmdir: Respect rules for use of AC_LIBOBJ.
25770         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
25771         * modules/rmdir (configure.ac): ... to here.
25772
25773 2011-05-21  Bruno Haible  <bruno@clisp.org>
25774
25775         renameat: Move AC_LIBOBJ invocations to module description.
25776         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
25777         here...
25778         * modules/renameat (configure.ac): ... to here.
25779
25780 2011-05-21  Bruno Haible  <bruno@clisp.org>
25781
25782         rename: Respect rules for use of AC_LIBOBJ.
25783         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
25784         here...
25785         * modules/rename (configure.ac): ... to here.
25786
25787 2011-05-21  Bruno Haible  <bruno@clisp.org>
25788
25789         remove: Move AC_LIBOBJ invocations to module description.
25790         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
25791         here...
25792         * modules/remove (configure.ac): ... to here.
25793
25794 2011-05-21  Bruno Haible  <bruno@clisp.org>
25795
25796         relocatable-lib: Move AC_LIBOBJ invocations to module description.
25797         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
25798         macro.
25799         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
25800         * modules/relocatable-lib (configure.ac): ... to here.
25801         * modules/relocatable-prog-wrapper (configure.ac): Invoke
25802         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
25803
25804 2011-05-21  Bruno Haible  <bruno@clisp.org>
25805
25806         relocatable-prog: Move AC_LIBOBJ invocations to module description.
25807         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
25808         here...
25809         * modules/relocatable-prog (configure.ac): ... to here.
25810
25811 2011-05-21  Bruno Haible  <bruno@clisp.org>
25812
25813         regex: Move AC_LIBOBJ invocations to module description.
25814         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
25815         invocations from here...
25816         * modules/regex (configure.ac): ... to here.
25817
25818 2011-05-21  Bruno Haible  <bruno@clisp.org>
25819
25820         realloc-*: Move AC_LIBOBJ invocations to module description.
25821         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
25822         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
25823         AC_LIBOBJ invocations from here...
25824         * modules/realloc-gnu (configure.ac): ... to here.
25825         * modules/realloc-posix (configure.ac): ... and here.
25826
25827 2011-05-21  Bruno Haible  <bruno@clisp.org>
25828
25829         readutmp: Move AC_LIBOBJ invocations to module description.
25830         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
25831         * modules/readutmp (configure.ac): ... to here.
25832
25833 2011-05-21  Bruno Haible  <bruno@clisp.org>
25834
25835         readlinkat: Move AC_LIBOBJ invocations to module description.
25836         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
25837         here...
25838         * modules/readlinkat (configure.ac): ... to here.
25839
25840 2011-05-21  Bruno Haible  <bruno@clisp.org>
25841
25842         readlink: Move AC_LIBOBJ invocations to module description.
25843         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
25844         gl_PREREQ_READLINK invocations from here...
25845         * modules/readlink (configure.ac): ... to here.
25846
25847 2011-05-21  Bruno Haible  <bruno@clisp.org>
25848
25849         readline: Move AC_LIBOBJ invocations to module description.
25850         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
25851         gl_PREREQ_READLINE invocations from here...
25852         * modules/readline (configure.ac): ... to here.
25853
25854 2011-05-21  Bruno Haible  <bruno@clisp.org>
25855
25856         read: Move AC_LIBOBJ invocations to module description.
25857         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
25858         * modules/read (configure.ac): ... to here.
25859
25860 2011-05-21  Bruno Haible  <bruno@clisp.org>
25861
25862         rawmemchr: Move AC_LIBOBJ invocations to module description.
25863         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
25864         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
25865         from here...
25866         * modules/rawmemchr (configure.ac): ... to here.
25867
25868 2011-05-21  Bruno Haible  <bruno@clisp.org>
25869
25870         random_r: Move AC_LIBOBJ invocations to module description.
25871         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
25872         gl_PREREQ_RANDOM_R invocations from here...
25873         * modules/random_r (configure.ac): ... to here.
25874
25875 2011-05-21  Bruno Haible  <bruno@clisp.org>
25876
25877         pwrite: Move AC_LIBOBJ invocations to module description.
25878         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
25879         * modules/pwrite (configure.ac): ... to here.
25880
25881 2011-05-21  Bruno Haible  <bruno@clisp.org>
25882
25883         putenv: Move AC_LIBOBJ invocations to module description.
25884         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
25885         * modules/putenv (configure.ac): ... to here.
25886
25887 2011-05-21  Bruno Haible  <bruno@clisp.org>
25888
25889         login_tty: Move AC_LIBOBJ invocations to module description.
25890         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
25891         * modules/login_tty (configure.ac): ... to here.
25892
25893 2011-05-21  Bruno Haible  <bruno@clisp.org>
25894
25895         openpty: Move AC_LIBOBJ invocations to module description.
25896         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
25897         * modules/openpty (configure.ac): ... to here.
25898
25899 2011-05-21  Bruno Haible  <bruno@clisp.org>
25900
25901         forkpty: Move AC_LIBOBJ invocations to module description.
25902         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
25903         * modules/forkpty (configure.ac): ... to here.
25904
25905 2011-05-21  Bruno Haible  <bruno@clisp.org>
25906
25907         ptsname: Move AC_LIBOBJ invocations to module description.
25908         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
25909         invocations from here...
25910         * modules/ptsname (configure.ac): ... to here.
25911
25912 2011-05-21  Bruno Haible  <bruno@clisp.org>
25913
25914         pread: Move AC_LIBOBJ invocations to module description.
25915         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
25916         * modules/pread (configure.ac): ... to here.
25917
25918 2011-05-21  Bruno Haible  <bruno@clisp.org>
25919
25920         posix_spawn*: Move AC_LIBOBJ invocations to module description.
25921         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
25922         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
25923         * modules/posix_spawn (configure.ac): ... to here.
25924         * modules/posix_spawnp (configure.ac): ... and here.
25925
25926 2011-05-21  Bruno Haible  <bruno@clisp.org>
25927
25928         popen: Move AC_LIBOBJ invocations to module description.
25929         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
25930         invocations from here...
25931         * modules/popen (configure.ac): ... to here.
25932
25933 2011-05-21  Bruno Haible  <bruno@clisp.org>
25934
25935         poll: Move AC_LIBOBJ invocations to module description.
25936         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
25937         invocations from here...
25938         * modules/poll (configure.ac): ... to here.
25939
25940 2011-05-21  Bruno Haible  <bruno@clisp.org>
25941
25942         pipe-posix: Move AC_LIBOBJ invocations to module description.
25943         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
25944         * modules/pipe-posix (configure.ac): ... to here.
25945
25946 2011-05-21  Bruno Haible  <bruno@clisp.org>
25947
25948         openat: Respect rules for use of AC_LIBOBJ.
25949         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
25950         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
25951         * modules/openat (configure.ac): ... to here.
25952
25953 2011-05-21  Bruno Haible  <bruno@clisp.org>
25954
25955         obstack-printf*: Move AC_LIBOBJ invocations to module description.
25956         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
25957         invocation from here...
25958         * modules/obstack-printf (configure.ac): ... to here.
25959         * modules/obstack-printf-posix (configure.ac): ... and here.
25960
25961 2011-05-21  Bruno Haible  <bruno@clisp.org>
25962
25963         nl_langinfo: Move AC_LIBOBJ invocations to module description.
25964         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
25965         from here...
25966         * modules/nl_langinfo (configure.ac): ... to here.
25967
25968 2011-05-21  Bruno Haible  <bruno@clisp.org>
25969
25970         nanosleep: Move AC_LIBOBJ invocations to module description.
25971         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
25972         gl_PREREQ_NANOSLEEP invocations from here...
25973         * modules/nanosleep (configure.ac): ... to here.
25974
25975 2011-05-21  Bruno Haible  <bruno@clisp.org>
25976
25977         mountlist: Move AC_LIBOBJ invocations to module description.
25978         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
25979         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
25980         * modules/mountlist (configure.ac): ... to here.
25981
25982 2011-05-21  Bruno Haible  <bruno@clisp.org>
25983
25984         mktime: Respect rules for use of AC_LIBOBJ.
25985         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
25986         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
25987         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
25988         (gl_FUNC_MKTIME_INTERNAL): ... and here...
25989         * modules/mktime (configure.ac): ... to here.
25990         * modules/mktime-internal (configure.ac): ... and here.
25991         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
25992
25993 2011-05-21  Bruno Haible  <bruno@clisp.org>
25994
25995         mkstemps: Move AC_LIBOBJ invocations to module description.
25996         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
25997         here...
25998         * modules/mkstemps (configure.ac): ... to here.
25999
26000 2011-05-21  Bruno Haible  <bruno@clisp.org>
26001
26002         mkstemp: Move AC_LIBOBJ invocations to module description.
26003         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
26004         gl_PREREQ_MKSTEMP invocations from here...
26005         * modules/mkstemp (configure.ac): ... to here.
26006
26007 2011-05-21  Bruno Haible  <bruno@clisp.org>
26008
26009         mkostemps: Move AC_LIBOBJ invocations to module description.
26010         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
26011         here...
26012         * modules/mkostemps (configure.ac): ... to here.
26013
26014 2011-05-21  Bruno Haible  <bruno@clisp.org>
26015
26016         mkostemp: Move AC_LIBOBJ invocations to module description.
26017         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
26018         gl_PREREQ_MKOSTEMP invocations from here...
26019         * modules/mkostemp (configure.ac): ... to here.
26020
26021 2011-05-21  Bruno Haible  <bruno@clisp.org>
26022
26023         mknod: Move AC_LIBOBJ invocations to module description.
26024         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
26025         * modules/mknod (configure.ac): ... to here.
26026
26027 2011-05-21  Bruno Haible  <bruno@clisp.org>
26028
26029         mkfifoat: Move AC_LIBOBJ invocations to module description.
26030         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
26031         here...
26032         * modules/mkfifoat (configure.ac): ... to here.
26033
26034 2011-05-21  Bruno Haible  <bruno@clisp.org>
26035
26036         mkfifo: Respect rules for use of AC_LIBOBJ.
26037         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
26038         here...
26039         * modules/mkfifo (configure.ac): ... to here.
26040
26041 2011-05-21  Bruno Haible  <bruno@clisp.org>
26042
26043         mkdtemp: Move AC_LIBOBJ invocations to module description.
26044         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
26045         invocations from here...
26046         * modules/mkdtemp (configure.ac): ... to here.
26047
26048 2011-05-21  Bruno Haible  <bruno@clisp.org>
26049
26050         mkdir: Move AC_LIBOBJ invocations to module description.
26051         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
26052         * modules/mkdir (configure.ac): ... to here.
26053
26054 2011-05-21  Bruno Haible  <bruno@clisp.org>
26055
26056         memset: Move AC_LIBOBJ invocations to module description.
26057         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
26058         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
26059         here...
26060         * modules/memset (configure.ac): ... to here.
26061
26062 2011-05-21  Bruno Haible  <bruno@clisp.org>
26063
26064         memrchr: Move AC_LIBOBJ invocations to module description.
26065         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
26066         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
26067         here...
26068         * modules/memrchr (configure.ac): ... to here.
26069
26070 2011-05-21  Bruno Haible  <bruno@clisp.org>
26071
26072         mempcpy: Move AC_LIBOBJ invocations to module description.
26073         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
26074         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
26075         here...
26076         * modules/mempcpy (configure.ac): ... to here.
26077
26078 2011-05-21  Bruno Haible  <bruno@clisp.org>
26079
26080         memmove: Move AC_LIBOBJ invocations to module description.
26081         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
26082         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
26083         here...
26084         * modules/memmove (configure.ac): ... to here.
26085
26086 2011-05-21  Bruno Haible  <bruno@clisp.org>
26087
26088         memmem*: Move AC_LIBOBJ invocations to module description.
26089         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
26090         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
26091         here...
26092         (gl_FUNC_MEMMEM): ... and here...
26093         * modules/memmem-simple (configure.ac): ... to here.
26094         * modules/memmem (configure.ac): ... and here.
26095
26096 2011-05-21  Bruno Haible  <bruno@clisp.org>
26097
26098         memcpy: Move AC_LIBOBJ invocations to module description.
26099         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
26100         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
26101         here...
26102         * modules/memcpy (configure.ac): ... to here.
26103
26104 2011-05-21  Bruno Haible  <bruno@clisp.org>
26105
26106         memcmp: Simplify autoconf macro.
26107         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
26108         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
26109         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
26110
26111 2011-05-21  Bruno Haible  <bruno@clisp.org>
26112
26113         memcmp: Move AC_LIBOBJ invocations to module description.
26114         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
26115         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
26116         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
26117         * modules/memcmp (configure.ac): ... to here.
26118         (Depends-on): Update conditions.
26119
26120 2011-05-21  Bruno Haible  <bruno@clisp.org>
26121
26122         memchr: Respect rules for use of AC_LIBOBJ.
26123         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
26124         invocations from here...
26125         * modules/memchr (configure.ac): ... to here.
26126
26127 2011-05-21  Bruno Haible  <bruno@clisp.org>
26128
26129         mbtowc: Move AC_LIBOBJ invocations to module description.
26130         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
26131         invocations from here...
26132         * modules/mbtowc (configure.ac): ... to here.
26133
26134 2011-05-21  Bruno Haible  <bruno@clisp.org>
26135
26136         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
26137         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
26138         gl_PREREQ_MBSRTOWCS invocations from here...
26139         * modules/mbsrtowcs (configure.ac): ... to here.
26140
26141 2011-05-21  Bruno Haible  <bruno@clisp.org>
26142
26143         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
26144         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
26145         gl_PREREQ_MBSNRTOWCS invocations from here...
26146         * modules/mbsnrtowcs (configure.ac): ... to here.
26147
26148 2011-05-21  Bruno Haible  <bruno@clisp.org>
26149
26150         mbsinit: Move AC_LIBOBJ invocations to module description.
26151         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
26152         invocations from here...
26153         * modules/mbsinit (configure.ac): ... to here.
26154
26155 2011-05-21  Bruno Haible  <bruno@clisp.org>
26156
26157         mbrlen: Move AC_LIBOBJ invocations to module description.
26158         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
26159         invocations from here...
26160         * modules/mbrlen (configure.ac): ... to here.
26161
26162 2011-05-21  Bruno Haible  <bruno@clisp.org>
26163
26164         mbrtowc: Respect rules for use of AC_LIBOBJ.
26165         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
26166         invocations from here...
26167         * modules/mbrtowc (configure.ac): ... to here.
26168
26169 2011-05-21  Bruno Haible  <bruno@clisp.org>
26170
26171         malloc-*: Move AC_LIBOBJ invocations to module description.
26172         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
26173         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
26174         AC_LIBOBJ invocations from here...
26175         * modules/malloc-gnu (configure.ac): ... to here.
26176         * modules/malloc-posix (configure.ac): ... and here.
26177
26178 2011-05-21  Bruno Haible  <bruno@clisp.org>
26179
26180         lstat, openat: Respect rules for use of AC_LIBOBJ.
26181         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
26182         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
26183         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
26184         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
26185         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
26186         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
26187         here.
26188         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
26189
26190 2011-05-21  Bruno Haible  <bruno@clisp.org>
26191
26192         lseek: Move AC_LIBOBJ invocations to module description.
26193         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
26194         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
26195         * modules/lseek (configure.ac): ... to here.
26196
26197 2011-05-21  Bruno Haible  <bruno@clisp.org>
26198
26199         linkat: Move AC_LIBOBJ invocations to module description.
26200         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
26201         here...
26202         * modules/linkat (configure.ac): ... to here.
26203
26204 2011-05-21  Bruno Haible  <bruno@clisp.org>
26205
26206         link: Respect rules for use of AC_LIBOBJ.
26207         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
26208         * modules/link (configure.ac): ... to here.
26209
26210 2011-05-21  Bruno Haible  <bruno@clisp.org>
26211
26212         lchown: Move AC_LIBOBJ invocations to module description.
26213         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
26214         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
26215         * modules/lchown (configure.ac): ... to here.
26216
26217 2011-05-21  Bruno Haible  <bruno@clisp.org>
26218
26219         iswctype: Move AC_LIBOBJ invocations to module description.
26220         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
26221         here...
26222         * modules/iswctype (configure.ac): ... to here.
26223
26224 2011-05-21  Bruno Haible  <bruno@clisp.org>
26225
26226         iswblank: Move AC_LIBOBJ invocations to module description.
26227         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
26228         here...
26229         * modules/iswblank (configure.ac): ... to here.
26230
26231 2011-05-21  Bruno Haible  <bruno@clisp.org>
26232
26233         atanl: Move AC_LIBOBJ invocations to module description.
26234         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
26235         * modules/atanl (configure.ac): ... to here.
26236
26237 2011-05-21  Bruno Haible  <bruno@clisp.org>
26238
26239         acosl: Move AC_LIBOBJ invocations to module description.
26240         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
26241         * modules/acosl (configure.ac): ... to here.
26242
26243 2011-05-21  Bruno Haible  <bruno@clisp.org>
26244
26245         asinl: Respect rules for use of AC_LIBOBJ.
26246         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
26247         * modules/asinl (configure.ac): ... to here.
26248
26249 2011-05-21  Bruno Haible  <bruno@clisp.org>
26250
26251         tanl: Move AC_LIBOBJ invocations to module description.
26252         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
26253         * modules/tanl (configure.ac): ... to here.
26254
26255 2011-05-21  Bruno Haible  <bruno@clisp.org>
26256
26257         cosl: Move AC_LIBOBJ invocations to module description.
26258         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
26259         * modules/cosl (configure.ac): ... to here.
26260
26261 2011-05-21  Bruno Haible  <bruno@clisp.org>
26262
26263         sinl: Move AC_LIBOBJ invocations to module description.
26264         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
26265         * modules/sinl (configure.ac): ... to here.
26266
26267 2011-05-21  Bruno Haible  <bruno@clisp.org>
26268
26269         logl: Move AC_LIBOBJ invocations to module description.
26270         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
26271         * modules/logl (configure.ac): ... to here.
26272
26273 2011-05-21  Bruno Haible  <bruno@clisp.org>
26274
26275         expl: Move AC_LIBOBJ invocations to module description.
26276         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
26277         * modules/expl (configure.ac): ... to here.
26278
26279 2011-05-21  Bruno Haible  <bruno@clisp.org>
26280
26281         roundl: Move AC_LIBOBJ invocations to module description.
26282         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
26283         * modules/roundl (configure.ac): ... to here.
26284
26285 2011-05-21  Bruno Haible  <bruno@clisp.org>
26286
26287         round: Move AC_LIBOBJ invocations to module description.
26288         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
26289         * modules/round (configure.ac): ... to here.
26290
26291 2011-05-21  Bruno Haible  <bruno@clisp.org>
26292
26293         roundf: Move AC_LIBOBJ invocations to module description.
26294         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
26295         * modules/roundf (configure.ac): ... to here.
26296
26297 2011-05-21  Bruno Haible  <bruno@clisp.org>
26298
26299         truncl: Move AC_LIBOBJ invocations to module description.
26300         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
26301         * modules/truncl (configure.ac): ... to here.
26302
26303 2011-05-21  Bruno Haible  <bruno@clisp.org>
26304
26305         trunc: Move AC_LIBOBJ invocations to module description.
26306         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
26307         * modules/trunc (configure.ac): ... to here.
26308
26309 2011-05-21  Bruno Haible  <bruno@clisp.org>
26310
26311         truncf: Move AC_LIBOBJ invocations to module description.
26312         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
26313         * modules/truncf (configure.ac): ... to here.
26314
26315 2011-05-21  Bruno Haible  <bruno@clisp.org>
26316
26317         ceill: Move AC_LIBOBJ invocations to module description.
26318         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
26319         * modules/ceill (configure.ac): ... to here.
26320
26321 2011-05-21  Bruno Haible  <bruno@clisp.org>
26322
26323         ceil: Move AC_LIBOBJ invocations to module description.
26324         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
26325         * modules/ceil (configure.ac): ... to here.
26326
26327 2011-05-21  Bruno Haible  <bruno@clisp.org>
26328
26329         ceilf: Move AC_LIBOBJ invocations to module description.
26330         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
26331         * modules/ceilf (configure.ac): ... to here.
26332
26333 2011-05-21  Bruno Haible  <bruno@clisp.org>
26334
26335         floorl: Respect rules for use of AC_LIBOBJ.
26336         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
26337         * modules/floorl (configure.ac): ... to here.
26338
26339 2011-05-21  Bruno Haible  <bruno@clisp.org>
26340
26341         floor: Respect rules for use of AC_LIBOBJ.
26342         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
26343         * modules/floor (configure.ac): ... to here.
26344
26345 2011-05-21  Bruno Haible  <bruno@clisp.org>
26346
26347         floorf: Move AC_LIBOBJ invocations to module description.
26348         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
26349         * modules/floorf (configure.ac): ... to here.
26350
26351 2011-05-20  Bruno Haible  <bruno@clisp.org>
26352
26353         sqrtl: Respect rules for use of AC_LIBOBJ.
26354         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
26355         * modules/sqrtl (configure.ac): ... to here.
26356
26357 2011-05-20  Bruno Haible  <bruno@clisp.org>
26358
26359         ldexpl: Respect rules for use of AC_LIBOBJ.
26360         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
26361         * modules/ldexpl (configure.ac): ... to here.
26362
26363 2011-05-20  Bruno Haible  <bruno@clisp.org>
26364
26365         frexpl*: Respect rules for use of AC_LIBOBJ.
26366         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
26367         invocation from here...
26368         * modules/frexpl (configure.ac): ... to here.
26369         * modules/frexpl-nolibm (configure.ac): ... and here.
26370
26371 2011-05-20  Bruno Haible  <bruno@clisp.org>
26372
26373         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
26374         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
26375         invocation from here...
26376         * modules/frexp (configure.ac): ... to here.
26377         * modules/frexp-nolibm (configure.ac): ... and here.
26378
26379 2011-05-20  Bruno Haible  <bruno@clisp.org>
26380
26381         isnan: Respect rules for use of AC_LIBOBJ.
26382         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
26383         invocations here.
26384         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
26385         REPLACE_ISNAN.
26386         * modules/isnand (configure.ac): Likewise.
26387         * modules/isnanl (configure.ac): Likewise.
26388
26389 2011-05-20  Bruno Haible  <bruno@clisp.org>
26390
26391         isnanl*: Respect rules for use of AC_LIBOBJ.
26392         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
26393         invocation from here...
26394         * modules/isnanl (configure.ac): ... to here.
26395         * modules/isnanl-nolibm (configure.ac): ... and here.
26396
26397 2011-05-20  Bruno Haible  <bruno@clisp.org>
26398
26399         isnand*: Move AC_LIBOBJ invocations to module description.
26400         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
26401         invocation from here...
26402         * modules/isnand (configure.ac): ... to here.
26403         * modules/isnand-nolibm (configure.ac): ... and here.
26404
26405 2011-05-20  Bruno Haible  <bruno@clisp.org>
26406
26407         isnanf*: Move AC_LIBOBJ invocations to module description.
26408         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
26409         invocation from here...
26410         * modules/isnanf (configure.ac): ... to here.
26411         * modules/isnanf-nolibm (configure.ac): ... and here.
26412
26413 2011-05-20  Bruno Haible  <bruno@clisp.org>
26414
26415         isnan*: Separate the AC_LIBOBJ invocations.
26416         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
26417         AC_LIBOBJ invocation.
26418         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
26419         here.
26420         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
26421         AC_LIBOBJ invocation.
26422         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
26423         here.
26424         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
26425         AC_LIBOBJ invocation.
26426         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
26427         here.
26428         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
26429
26430 2011-05-08  Bruno Haible  <bruno@clisp.org>
26431
26432         isinf: Move AC_LIBOBJ invocations to module description.
26433         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
26434         * modules/isinf (configure.ac): ... to here.
26435
26436 2011-05-08  Bruno Haible  <bruno@clisp.org>
26437
26438         isfinite: Move AC_LIBOBJ invocations to module description.
26439         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
26440         * modules/isfinite (configure.ac): ... to here.
26441
26442 2011-05-08  Bruno Haible  <bruno@clisp.org>
26443
26444         isblank: Move AC_LIBOBJ invocations to module description.
26445         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
26446         here...
26447         * modules/isblank (configure.ac): ... to here.
26448
26449 2011-05-08  Bruno Haible  <bruno@clisp.org>
26450
26451         isapipe: Move AC_LIBOBJ invocations to module description.
26452         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
26453         gl_PREREQ_ISAPIPE invocations from here...
26454         * modules/isapipe (configure.ac): ... to here.
26455         (Depends-on): Update condition.
26456
26457 2011-05-08  Bruno Haible  <bruno@clisp.org>
26458
26459         ioctl: Move AC_LIBOBJ invocations to module description.
26460         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
26461         invocations from here...
26462         * modules/ioctl (configure.ac): ... to here.
26463         (Depends-on): Update condition.
26464
26465 2011-05-08  Bruno Haible  <bruno@clisp.org>
26466
26467         imaxdiv: Move AC_LIBOBJ invocations to module description.
26468         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
26469         invocations from here...
26470         * modules/imaxdiv (configure.ac): ... to here.
26471
26472 2011-05-08  Bruno Haible  <bruno@clisp.org>
26473
26474         imaxabs: Move AC_LIBOBJ invocations to module description.
26475         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
26476         invocations from here...
26477         * modules/imaxabs (configure.ac): ... to here.
26478
26479 2011-05-08  Bruno Haible  <bruno@clisp.org>
26480
26481         getaddrinfo: Move AC_LIBOBJ invocations to module description.
26482         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
26483         AC_LIBOBJ invocations from here...
26484         * modules/getaddrinfo (configure.ac): ... to here.
26485         (Depends-on): Add conditions.
26486
26487 2011-05-08  Bruno Haible  <bruno@clisp.org>
26488
26489         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
26490         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
26491         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
26492         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
26493         (gl_PREREQ_INET_PTON): ... from here.
26494         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
26495         gl_PREREQ_INET_PTON here.
26496         (Depends-on): Update condition.
26497
26498 2011-05-08  Bruno Haible  <bruno@clisp.org>
26499
26500         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
26501         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
26502         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
26503         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
26504         (gl_PREREQ_INET_NTOP): ... from here.
26505         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
26506         gl_PREREQ_INET_NTOP here.
26507         (Depends-on): Update condition.
26508
26509 2011-05-08  Bruno Haible  <bruno@clisp.org>
26510
26511         iconv_open: Move AC_LIBOBJ invocations to module description.
26512         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
26513         AC_LIBOBJ invocations from here...
26514         * modules/iconv_open (configure.ac): ... to here.
26515
26516 2011-05-08  Bruno Haible  <bruno@clisp.org>
26517
26518         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
26519         If module 'iconv_open' is among the main modules and module
26520         'iconv_open-utf' is among the tests dependencies, then
26521         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
26522         return the special iconv_t values. Therefore iconv() and iconv_close()
26523         must support these special iconv_t values, already in lib, not only in
26524         tests.
26525         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
26526         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
26527         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
26528         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
26529         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
26530         (Depends-on): Add the dependencies of iconv_open-utf.
26531         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
26532         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
26533         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
26534
26535 2011-05-08  Bruno Haible  <bruno@clisp.org>
26536
26537         group-member: Move AC_LIBOBJ invocations to module description.
26538         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
26539         gl_PREREQ_GROUP_MEMBER invocations from here...
26540         * modules/group-member (configure.ac): ... to here.
26541
26542 2011-05-08  Bruno Haible  <bruno@clisp.org>
26543
26544         grantpt: Move AC_LIBOBJ invocations to module description.
26545         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
26546         invocations from here...
26547         * modules/grantpt (configure.ac): ... to here.
26548
26549 2011-05-08  Bruno Haible  <bruno@clisp.org>
26550
26551         glob: Move AC_LIBOBJ invocations to module description.
26552         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
26553         from here...
26554         * modules/glob (configure.ac): ... to here.
26555
26556 2011-05-08  Bruno Haible  <bruno@clisp.org>
26557
26558         getusershell: Move AC_LIBOBJ invocations to module description.
26559         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
26560         Move AC_LIBOBJ invocation from here...
26561         * modules/getusershell (configure.ac): ... to here.
26562         (Depends-on): Update condition.
26563
26564 2011-05-08  Bruno Haible  <bruno@clisp.org>
26565
26566         gettimeofday: Move AC_LIBOBJ invocations to module description.
26567         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
26568         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
26569         gl_PREREQ_GETTIMEOFDAY invocations from here...
26570         * modules/gettimeofday (configure.ac): ... to here.
26571
26572 2011-05-08  Bruno Haible  <bruno@clisp.org>
26573
26574         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
26575         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
26576         just gl_FUNC_TZSET.
26577         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
26578         (gl_FUNC_TZSET_CLOBBER): Remove actions.
26579         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
26580         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
26581
26582 2011-05-08  Bruno Haible  <bruno@clisp.org>
26583
26584         getsubopt: Move AC_LIBOBJ invocations to module description.
26585         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
26586         gl_PREREQ_GETSUBOPT invocations from here...
26587         * modules/getsubopt (configure.ac): ... to here.
26588
26589 2011-05-08  Bruno Haible  <bruno@clisp.org>
26590
26591         getpass-gnu: Move AC_LIBOBJ invocations to module description.
26592         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
26593         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
26594         * modules/getpass-gnu (configure.ac): ... to here.
26595
26596 2011-05-08  Bruno Haible  <bruno@clisp.org>
26597
26598         getpass: Move AC_LIBOBJ invocations to module description.
26599         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
26600         gl_PREREQ_GETPASS invocations from here...
26601         * modules/getpass (configure.ac): ... to here.
26602
26603 2011-05-08  Bruno Haible  <bruno@clisp.org>
26604
26605         getpagesize: Move AC_LIBOBJ invocations to module description.
26606         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
26607         from here...
26608         * modules/getpagesize (configure.ac): ... to here.
26609
26610 2011-05-08  Bruno Haible  <bruno@clisp.org>
26611
26612         getopt: Move AC_LIBOBJ invocations to module description.
26613         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
26614         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
26615         invocations from here...
26616         * modules/getopt-gnu (configure.ac): ... to here.
26617         * modules/getopt-posix (configure.ac): ... and here.
26618         (Depends-on): Update condition.
26619
26620 2011-05-08  Bruno Haible  <bruno@clisp.org>
26621
26622         getopt, argp: Respect rules for use of AC_LIBOBJ.
26623         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
26624         (gl_REPLACE_GETOPT_ALWAYS): New macro.
26625         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
26626         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
26627
26628 2011-05-08  Bruno Haible  <bruno@clisp.org>
26629
26630         getlogin_r: Move AC_LIBOBJ invocations to module description.
26631         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
26632         gl_PREREQ_GETLOGIN_R invocations from here...
26633         * modules/getlogin_r (configure.ac): ... to here.
26634
26635 2011-05-08  Bruno Haible  <bruno@clisp.org>
26636
26637         getlogin: Move AC_LIBOBJ invocations to module description.
26638         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
26639         here...
26640         * modules/getlogin (configure.ac): ... to here.
26641
26642 2011-05-08  Bruno Haible  <bruno@clisp.org>
26643
26644         getloadavg: Move AC_LIBOBJ invocations to module description.
26645         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
26646         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
26647         * modules/getloadavg (configure.ac): ... to here.
26648
26649 2011-05-08  Bruno Haible  <bruno@clisp.org>
26650
26651         gethrxtime: Move AC_LIBOBJ invocations to module description.
26652         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
26653         LIB_GETHRXTIME from here...
26654         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
26655         invocations from here...
26656         * modules/gethrxtime (configure.ac): ... to here.
26657
26658 2011-05-08  Bruno Haible  <bruno@clisp.org>
26659
26660         gethostname: Move AC_LIBOBJ invocations to module description.
26661         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
26662         gl_PREREQ_GETHOSTNAME invocations from here...
26663         * modules/gethostname (configure.ac): ... to here.
26664
26665 2011-05-08  Bruno Haible  <bruno@clisp.org>
26666
26667         getgroups: Move AC_LIBOBJ invocations to module description.
26668         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
26669         here...
26670         * modules/getgroups (configure.ac): ... to here.
26671
26672 2011-05-08  Bruno Haible  <bruno@clisp.org>
26673
26674         getdtablesize: Move AC_LIBOBJ invocations to module description.
26675         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
26676         invocation from here...
26677         * modules/getdtablesize (configure.ac): ... to here.
26678
26679 2011-05-08  Bruno Haible  <bruno@clisp.org>
26680
26681         getdomainname: Move AC_LIBOBJ invocations to module description.
26682         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
26683         gl_PREREQ_GETDOMAINNAME invocations from here...
26684         * modules/getdomainname (configure.ac): ... to here.
26685
26686 2011-05-08  Bruno Haible  <bruno@clisp.org>
26687
26688         getline: Move AC_LIBOBJ invocations to module description.
26689         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
26690         invocations from here...
26691         * modules/getline (configure.ac): ... to here.
26692
26693 2011-05-08  Bruno Haible  <bruno@clisp.org>
26694
26695         getline: Simplify.
26696         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
26697         It's already handled through the module dependency.
26698
26699 2011-05-08  Bruno Haible  <bruno@clisp.org>
26700
26701         getdelim: Move AC_LIBOBJ invocations to module description.
26702         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
26703         and gl_PREREQ_GETDELIM invocations from here...
26704         * modules/getdelim (configure.ac): ... to here.
26705         (Depends-on): Fix condition.
26706
26707 2011-05-08  Bruno Haible  <bruno@clisp.org>
26708
26709         getcwd: Move AC_LIBOBJ invocations to module description.
26710         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
26711         invocations from here...
26712         * modules/getcwd (configure.ac): ... to here.
26713
26714 2011-05-08  Bruno Haible  <bruno@clisp.org>
26715
26716         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
26717         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
26718         here...
26719         * modules/getcwd-lgpl (configure.ac): ... to here.
26720
26721 2011-05-07  Bruno Haible  <bruno@clisp.org>
26722
26723         crypto/gc: Move AC_LIBOBJ invocations to module description.
26724         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
26725         * modules/crypto/gc (configure.ac): ... to here.
26726
26727 2011-05-07  Bruno Haible  <bruno@clisp.org>
26728
26729         fwriting: Move AC_LIBOBJ invocations to module description.
26730         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
26731         here...
26732         * modules/fwriting (configure.ac): ... to here.
26733
26734 2011-05-07  Bruno Haible  <bruno@clisp.org>
26735
26736         fwritable: Move AC_LIBOBJ invocations to module description.
26737         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
26738         here...
26739         * modules/fwritable (configure.ac): ... to here.
26740
26741 2011-05-07  Bruno Haible  <bruno@clisp.org>
26742
26743         futimens: Move AC_LIBOBJ invocations to module description.
26744         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
26745         here...
26746         * modules/futimens (configure.ac): ... to here.
26747
26748 2011-05-07  Bruno Haible  <bruno@clisp.org>
26749
26750         ftruncate: Move AC_LIBOBJ invocations to module description.
26751         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
26752         gl_PREREQ_FTRUNCATE invocations from here...
26753         * modules/ftruncate (configure.ac): ... to here.
26754
26755 2011-05-07  Bruno Haible  <bruno@clisp.org>
26756
26757         fsync: Move AC_LIBOBJ invocations to module description.
26758         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
26759         invocations from here...
26760         * modules/fsync (configure.ac): ... to here.
26761
26762 2011-05-07  Bruno Haible  <bruno@clisp.org>
26763
26764         fsusage: Move AC_LIBOBJ invocations to module description.
26765         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
26766         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
26767         * modules/fsusage (configure.ac): ... to here.
26768
26769 2011-05-07  Bruno Haible  <bruno@clisp.org>
26770
26771         freopen: Move AC_LIBOBJ invocations to module description.
26772         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
26773         invocations from here...
26774         * modules/freopen (configure.ac): ... to here.
26775
26776 2011-05-07  Bruno Haible  <bruno@clisp.org>
26777
26778         free: Move AC_LIBOBJ invocations to module description.
26779         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
26780         invocations from here...
26781         * modules/free (configure.ac): ... to here.
26782
26783 2011-05-07  Bruno Haible  <bruno@clisp.org>
26784
26785         freadable: Move AC_LIBOBJ invocations to module description.
26786         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
26787         here...
26788         * modules/freadable (configure.ac): ... to here.
26789
26790 2011-05-07  Bruno Haible  <bruno@clisp.org>
26791
26792         fpurge: Move AC_LIBOBJ invocations to module description.
26793         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
26794         invocations from here...
26795         * modules/fpurge (configure.ac): ... to here.
26796
26797 2011-05-07  Bruno Haible  <bruno@clisp.org>
26798
26799         fpending: Move AC_LIBOBJ invocations to module description.
26800         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
26801         gl_FUNC_FPENDING.
26802         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
26803         invocations from here...
26804         * modules/fpending (configure.ac): ... to here.
26805
26806 2011-05-07  Bruno Haible  <bruno@clisp.org>
26807
26808         fopen: Move AC_LIBOBJ invocations to module description.
26809         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
26810         invocations from here...
26811         * modules/fopen (configure.ac): ... to here.
26812
26813 2011-05-07  Bruno Haible  <bruno@clisp.org>
26814
26815         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
26816         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
26817         gl_FUNC_FNMATCH_POSIX.
26818         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
26819         invocations from here...
26820         * modules/fnmatch (configure.ac): ... to here.
26821         * modules/fnmatch-gnu (configure.ac): ... and here.
26822
26823 2011-05-07  Bruno Haible  <bruno@clisp.org>
26824
26825         flock: Move AC_LIBOBJ invocations to module description.
26826         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
26827         invocations from here...
26828         * modules/flock (configure.ac): ... to here.
26829
26830 2011-05-07  Bruno Haible  <bruno@clisp.org>
26831
26832         fileblocks: Move AC_LIBOBJ invocations to module description.
26833         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
26834         gl_PREREQ_FILEBLOCKS invocations from here...
26835         * modules/fileblocks (configure.ac): ... to here.
26836
26837 2011-05-06  Bruno Haible  <bruno@clisp.org>
26838
26839         fflush: Move AC_LIBOBJ invocations to module description.
26840         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
26841         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
26842         invocations from here...
26843         * modules/fflush (configure.ac): ... to here.
26844
26845 2011-05-06  Bruno Haible  <bruno@clisp.org>
26846
26847         fdopendir: Move AC_LIBOBJ invocations to module description.
26848         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
26849         here...
26850         * modules/fdopendir (configure.ac): ... to here.
26851         (Depends-on): Improve conditions.
26852
26853 2011-05-06  Bruno Haible  <bruno@clisp.org>
26854
26855         _Exit: Move AC_LIBOBJ invocations to module description.
26856         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
26857         invocations from here...
26858         * modules/_Exit (configure.ac): ... to here.
26859
26860 2011-05-21  Bruno Haible  <bruno@clisp.org>
26861
26862         euidaccess: Respect rules for use of AC_LIBOBJ.
26863         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
26864         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
26865         from here...
26866         * modules/euidaccess (configure.ac): ... to here.
26867
26868 2011-05-06  Bruno Haible  <bruno@clisp.org>
26869
26870         error: Move AC_LIBOBJ invocations to module description.
26871         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
26872         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
26873         invocations from here...
26874         * modules/error (configure.ac): ... to here.
26875
26876 2011-05-06  Bruno Haible  <bruno@clisp.org>
26877
26878         duplocale: Move AC_LIBOBJ invocations to module description.
26879         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
26880         gl_PREREQ_DUPLOCALE invocations from here...
26881         * modules/duplocale (configure.ac): ... to here.
26882
26883 2011-05-05  Bruno Haible  <bruno@clisp.org>
26884
26885         dirfd: Move AC_LIBOBJ invocations to module description.
26886         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
26887         gl_FUNC_DIRFD.
26888         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
26889         here...
26890         * modules/dirfd (configure.ac): ... to here.
26891         (Depends-on): Fix condition.
26892
26893 2011-05-05  Bruno Haible  <bruno@clisp.org>
26894
26895         chown: Respect rules for use of AC_LIBOBJ.
26896         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
26897         * modules/chown (configure.ac): ... to here.
26898
26899 2011-05-05  Bruno Haible  <bruno@clisp.org>
26900
26901         chdir-long: Move AC_LIBOBJ invocations to module description.
26902         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
26903         gl_PREREQ_CHDIR_LONG invocations from here...
26904         * modules/chdir-long (configure.ac): ... to here.
26905
26906 2011-05-05  Bruno Haible  <bruno@clisp.org>
26907
26908         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
26909         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
26910         from here...
26911         * modules/canonicalize-lgpl (configure.ac): ... to here.
26912
26913 2011-05-05  Bruno Haible  <bruno@clisp.org>
26914
26915         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
26916         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
26917         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
26918         REPLACE_CALLOC.
26919         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
26920         * modules/calloc-gnu (configure.ac): Likewise.
26921
26922 2011-05-05  Bruno Haible  <bruno@clisp.org>
26923
26924         btowc: Move AC_LIBOBJ invocations to module description.
26925         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
26926         invocations from here...
26927         * modules/btowc (configure.ac): ... to here.
26928
26929 2011-05-21  Bruno Haible  <bruno@clisp.org>
26930
26931         atexit: Move AC_LIBOBJ invocations to module description.
26932         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
26933         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
26934         here...
26935         * modules/atexit (configure.ac): ... to here.
26936
26937 2011-05-05  Bruno Haible  <bruno@clisp.org>
26938
26939         atoll: Move AC_LIBOBJ invocations to module description.
26940         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
26941         invocations from here...
26942         * modules/atoll (configure.ac): ... to here.
26943
26944 2011-05-05  Bruno Haible  <bruno@clisp.org>
26945
26946         argz: Move AC_LIBOBJ invocations to module description.
26947         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
26948         * modules/argz (configure.ac): ... to here.
26949
26950 2011-05-05  Bruno Haible  <bruno@clisp.org>
26951
26952         alphasort: Move AC_LIBOBJ invocations to module description.
26953         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
26954         gl_PREREQ_ALPHASORT invocations from here...
26955         * modules/alphasort (configure.ac): ... to here.
26956
26957 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
26958
26959         verify: new macro verify_expr; verify_true deprecated
26960         * NEWS: Mention this.
26961         * doc/verify.texi (Compile-time Assertions): Document this.
26962         * lib/verify.h (verify_true): Deprecate.
26963         (verify_expr): New macro.
26964         * tests/test-verify.c (function): Test verify_expr.
26965
26966 2011-06-14  Jim Meyering  <meyering@redhat.com>
26967
26968         init.sh: give more portable redirection-related advice in a comment
26969         * tests/init.sh (stderr_fileno_): Update the advice in comments.
26970         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
26971         for lots of discussion.  Stefano Lattarini suggested the solution
26972         of putting "9>&2" after the command.  Reported by Bruno Haible.
26973
26974 2011-06-13  Bruno Haible  <bruno@clisp.org>
26975
26976         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
26977         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
26978         'none'.
26979
26980 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
26981
26982         ftoastr: use strtof only if HAVE_STRTOF
26983         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
26984         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
26985         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
26986         * modules/ftoastr (configure.ac): Check for strtof.
26987
26988 2011-06-13  Bruno Haible  <bruno@clisp.org>
26989
26990         gnulib-tool: Addendum to 2011-06-08 commit.
26991         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
26992         and --witness-c-macro have been given, augment AM_CPPFLAGS.
26993
26994 2011-06-13  Bruno Haible  <bruno@clisp.org>
26995
26996         fseeko: Provide a non-inline replacement of fseek().
26997         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
26998         * modules/fseeko (Depends-on): Add fseek.
26999         * modules/fseek (License): Change to LGPLv2+.
27000
27001 2011-06-13  Bruno Haible  <bruno@clisp.org>
27002
27003         ftello: Provide a non-inline replacement of ftell().
27004         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
27005         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
27006         not have ftello() (such as on mingw).
27007         * modules/ftello (Depends-on): Add ftell.
27008         * modules/ftell (License): Change to LGPLv2+.
27009
27010 2011-05-07  Bruno Haible  <bruno@clisp.org>
27011
27012         ftell: Move AC_LIBOBJ invocations to module description.
27013         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
27014         * modules/ftell (configure.ac): ... to here.
27015
27016 2011-05-07  Bruno Haible  <bruno@clisp.org>
27017
27018         ftello: Respect rules for use of AC_LIBOBJ.
27019         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
27020         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
27021         here...
27022         * modules/ftello (configure.ac): ... to here.
27023
27024 2011-05-07  Bruno Haible  <bruno@clisp.org>
27025
27026         fseeko: Simplify.
27027         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
27028         (gl_FUNC_FSEEKO): Inline it here.
27029
27030 2011-05-07  Bruno Haible  <bruno@clisp.org>
27031
27032         fseek: Move AC_LIBOBJ invocations to module description.
27033         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
27034         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
27035         * modules/fseek (configure.ac): ... to here.
27036
27037 2011-05-07  Bruno Haible  <bruno@clisp.org>
27038
27039         fseek: Respect rules for use of AC_LIBOBJ.
27040         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
27041         here...
27042         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
27043
27044 2011-05-07  Bruno Haible  <bruno@clisp.org>
27045
27046         fseeko: Respect rules for use of AC_LIBOBJ.
27047         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
27048         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
27049         here...
27050         * modules/fseeko (configure.ac): ... to here.
27051
27052 2011-06-13  Bruno Haible  <bruno@clisp.org>
27053
27054         gnulib-tool: Allow comments in the 'Depends-on' section.
27055         * doc/gnulib.texi (Module description): Mention comment syntax in the
27056         Depends-on section.
27057         * gnulib-tool (func_get_dependencies): Filter out comment lines.
27058
27059 2011-06-13  Bruno Haible  <bruno@clisp.org>
27060
27061         file-set.h: guard __attibute__ use, now that it's not always defined
27062         * lib/file-set.h (record_file): Use __attribute__ only with compiler
27063         versions that support it.  This fixes a coreutils build failure with
27064         the vendor cc on HP-UX 11.31.
27065
27066 2011-06-12  Bruno Haible  <bruno@clisp.org>
27067
27068         acl: Add support for HP-UX >= 11.11 JFS ACLs.
27069         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
27070         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
27071         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
27072         (acl, aclsort): New declarations.
27073         (aclv_nontrivial): New declaration.
27074         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
27075         (file_has_acl): Read also the second kind of HP-UX ACLs.
27076         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
27077         kind of HP-UX ACLs if the first kind fails.
27078         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
27079         second kind of HP-UX ACLs.
27080         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
27081         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
27082         agree.
27083         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
27084         hpuxjfs.
27085         Handle hpuxjfs.
27086         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
27087         hpuxjfs.
27088         Handle hpuxjfs.
27089         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
27090         (func_test_same_acls): Use both lsacl and getacl.
27091         Handle hpuxjfs.
27092         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
27093         (func_test_same_acls): Use both lsacl and getacl.
27094         Handle hpuxjfs.
27095
27096 2011-06-12  Bruno Haible  <bruno@clisp.org>
27097
27098         acl: Complete the 2010-08-10 fix.
27099         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
27100         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
27101         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
27102         explicitly.
27103         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
27104         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
27105
27106 2011-06-12  Bruno Haible  <bruno@clisp.org>
27107
27108         spawn-pipe tests: Comments.
27109         * tests/test-spawn-pipe-child.c (main): Update comment.
27110         Reported by James Youngman <jay@gnu.org>.
27111
27112 2011-06-11  James Youngman  <jay@gnu.org>
27113
27114         New module 'stat-size'.
27115         * modules/stat-size: New module.  Provides macros for accessing
27116         file size information in instances of struct stat.  Depends on the
27117         fileblocks module because it calls st_blocks.
27118         * lib/stat-size.h: New file, adapted from coreutils' system.h.
27119         * doc/gnulib.texi: Include stat-size.texi.
27120         * doc/stat-size.texi: Documentation for this module.
27121         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
27122         * m4/fileblocks.m4: Mention that stat-size depends on the call to
27123         AC_STRUCT_ST_BLOCKS.
27124
27125 2011-06-09  Bruno Haible  <bruno@clisp.org>
27126
27127         thread: Support pthreads-win32.
27128         * lib/glthread/thread.h (gl_thread_self): Define differently on
27129         pthreads-win32.
27130         (gl_null_thread): New declaration.
27131         (gl_thread_self_pointer): New macro.
27132         * lib/glthread/thread.c (gl_null_thread): New constant.
27133         * tests/test-lock.c: Use gl_thread_self_pointer instead of
27134         gl_thread_self.
27135         * tests/test-tls.c: Likewise.
27136         Suggested by Paul Eggert. Reported by Eric Blake.
27137
27138 2011-06-09  Bruno Haible  <bruno@clisp.org>
27139
27140         thread: Fix confusion between NULL and 0.
27141         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
27142         Reported by Paul Eggert.
27143
27144 2011-06-09  Bruno Haible  <bruno@clisp.org>
27145
27146         spawn-pipe tests: Avoid test failure on HP-UX 11.
27147         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
27148         is closed.
27149
27150 2011-06-09  Bruno Haible  <bruno@clisp.org>
27151
27152         acl tests: Fix compilation error on HP-UX 11.
27153         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
27154
27155 2011-06-09  Bruno Haible  <bruno@clisp.org>
27156
27157         rmdir: Avoid test failure on HP-UX 10.20.
27158         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
27159         EEXIST.
27160
27161 2011-06-08  Eric Blake  <eblake@redhat.com>
27162
27163         perror: fix test on mingw
27164         * modules/perror-tests (Depends-on): Add dup2.
27165
27166         strerror_r-posix: fix on MacOS
27167         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
27168         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
27169         logic bug.
27170         * lib/strerror_r.c (strerror_r): Fix the bug.
27171         * lib/strerror.c (strerror): Likewise.
27172         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
27173         problem.
27174         * doc/posix-functions/strerror.texi (strerror): Likewise.
27175         * doc/posix-functions/perror.texi (perror): Likewise.
27176         * tests/test-strerror.c (main): Enhance test.
27177         * tests/test-strerror_r.c (main): Likewise.
27178
27179 2011-06-08  Bruno Haible  <bruno@clisp.org>
27180
27181         gnulib-tool: Better isolation between different gnulib-tool invocations.
27182         * gnulib-tool: New option --witness-c-macro.
27183         (witness_c_macro): New variable.
27184         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
27185         AM_CPPFLAGS define it as a C macro.
27186         (func_emit_tests_Makefile_am): Likewise.
27187         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
27188         read it from there.
27189         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
27190         m4_define, not AC_DEFUN.
27191         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
27192         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
27193         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
27194         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
27195         s|...|...|, to substitute the values of the GNULIB_* module indicator
27196         variables.
27197         * modules/dirent (Makefile.am): Likewise.
27198         * modules/fcntl-h (Makefile.am): Likewise.
27199         * modules/iconv-h (Makefile.am): Likewise.
27200         * modules/langinfo (Makefile.am): Likewise.
27201         * modules/locale (Makefile.am): Likewise.
27202         * modules/math (Makefile.am): Likewise.
27203         * modules/netdb (Makefile.am): Likewise.
27204         * modules/poll-h (Makefile.am): Likewise.
27205         * modules/pty (Makefile.am): Likewise.
27206         * modules/search (Makefile.am): Likewise.
27207         * modules/signal (Makefile.am): Likewise.
27208         * modules/spawn (Makefile.am): Likewise.
27209         * modules/stdio (Makefile.am): Likewise.
27210         * modules/stdlib (Makefile.am): Likewise.
27211         * modules/string (Makefile.am): Likewise.
27212         * modules/sys_ioctl (Makefile.am): Likewise.
27213         * modules/sys_select (Makefile.am): Likewise.
27214         * modules/sys_socket (Makefile.am): Likewise.
27215         * modules/sys_stat (Makefile.am): Likewise.
27216         * modules/sys_times (Makefile.am): Likewise.
27217         * modules/sys_utsname (Makefile.am): Likewise.
27218         * modules/sys_wait (Makefile.am): Likewise.
27219         * modules/termios (Makefile.am): Likewise.
27220         * modules/time (Makefile.am): Likewise.
27221         * modules/unistd (Makefile.am): Likewise.
27222         * modules/wchar (Makefile.am): Likewise.
27223
27224 2011-06-08  Eric Blake  <eblake@redhat.com>
27225
27226         strerror: simplify replacement
27227         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
27228         * modules/strerror (configure.ac): No prereqs needed here...
27229         * modules/strerror-override (configure.ac): ...but this needs it.
27230         (Files): Add file for needed prereq macro.
27231
27232 2011-06-08  Bruno Haible  <bruno@clisp.org>
27233
27234         strerror_r-posix: Tweaks.
27235         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
27236         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
27237         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
27238         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
27239         (gl_FUNC_STRERROR_R): ... to here.
27240         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
27241
27242 2011-06-07  Eric Blake  <eblake@redhat.com>
27243
27244         perror: document fixed bugs
27245         * doc/posix-functions/perror.texi (perror): Document recent
27246         patches.
27247
27248 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
27249
27250         stat-time: get_stat_birthtime failure is better-defined
27251         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
27252         return a timestamp whose tv_sec and tv_nsec values are both -1.
27253         Previously, the spec said only that the tv_nsec value was negative.
27254         This upward-compatible change simplifies GNU tar a bit.
27255
27256 2011-06-07  Eric Blake  <eblake@redhat.com>
27257
27258         strerror_r-posix: work around cygwin 1.7.9
27259         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
27260         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
27261         bug without replacing strerror_r.
27262         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
27263         strerror_r is buggy, but without requiring strerror_r compilation.
27264         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
27265
27266         test-perror: relax test to ignore cygwin bug
27267         * tests/test-perror2.c (main): Relax test on requiring detection
27268         of stream errors, and use unbuffered stream.
27269         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
27270         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
27271         * doc/posix-functions/fputc.texi (fputc): Likewise.
27272         * doc/posix-functions/fputs.texi (fputs): Likewise.
27273         * doc/posix-functions/fputws.texi (fputws): Likewise.
27274         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
27275         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
27276         * doc/posix-functions/getopt.texi (getopt): Likewise.
27277         * doc/posix-functions/perror.texi (perror): Likewise.
27278         * doc/posix-functions/printf.texi (printf): Likewise.
27279         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
27280         * doc/posix-functions/psignal.texi (psignal): Likewise.
27281         * doc/posix-functions/putc.texi (putc): Likewise.
27282         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
27283         Likewise.
27284         * doc/posix-functions/putchar.texi (putchar): Likewise.
27285         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
27286         Likewise.
27287         * doc/posix-functions/puts.texi (puts): Likewise.
27288         * doc/posix-functions/putwc.texi (putwc): Likewise.
27289         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
27290         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
27291         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
27292         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
27293         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
27294         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
27295         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
27296         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
27297
27298 2011-05-22  Bruno Haible  <bruno@clisp.org>
27299
27300         strerror: Move AC_LIBOBJ invocations to module description.
27301         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
27302         gl_PREREQ_STRERROR invocations from here...
27303         * modules/strerror (configure.ac): ... to here.
27304
27305 2011-05-21  Bruno Haible  <bruno@clisp.org>
27306
27307         perror: Use common idiom.
27308         * modules/perror (configure.ac): Reorder statements.
27309
27310 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
27311
27312         tests: fix usage message in 'mktempd_'
27313         * tests/init.sh (mktempd_): In the usage message, use literal
27314         'mktempd_', not '$ME' (which is even undefined), as the name of
27315         the subroutine.
27316
27317 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
27318
27319         tests init: new function 'fatal_', for hard errors
27320         Before this patch, the only way offered by tests/init.sh to
27321         properly signal a hard error was the `framework_failure_'
27322         function.  But the error message issued by that function,
27323         as its name would suggest, refers to a set-up failure in the
27324         testsuite, while hard errors can obviously also be due to
27325         other reasons.  The best way to fix this inconsistency is to
27326         introduce a new function with a more general error message.
27327         * tests/init.sh (fatal_): New function.
27328
27329 2011-06-06  Eric Blake  <eblake@redhat.com>
27330
27331         canonicalize-lgpl: use common idiom
27332         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
27333         over newer POSIX -Rf.
27334         Reported by Bruno Haible.
27335
27336         canonicalize-lgpl: work around AIX realpath bug
27337         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
27338         * doc/posix-functions/realpath.texi (realpath): Document it.
27339         Reported by Bruno Haible.
27340
27341         strerror: work around FreeBSD bug
27342         * lib/strerror.c (strerror): Special case 0.
27343         Reported by Bruno Haible.
27344
27345         strerror-override: avoid bloating errno module
27346         * modules/errno (Files, configure.ac): Move replacement strings...
27347         * modules/strerror-override: ...to new module.
27348         * modules/strerror (Depends-on): Add strerror-override.
27349         * modules/strerror_r-posix (Depends-on): Likewise.
27350         * MODULES.html.sh: Document new module.
27351         Reported by Bruno Haible.
27352
27353 2011-06-06  Bruno Haible  <bruno@clisp.org>
27354
27355         spawn-pipe tests: Rename program.
27356         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
27357         * tests/test-spawn-pipe-child.c: Update comment.
27358         * tests/test-spawn-pipe.sh: Update.
27359         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
27360
27361         spawn-pipe tests: Link the child program only against libc.
27362         * tests/test-spawn-pipe-child.c: New file, extracted from
27363         tests/test-spawn-pipe.c.
27364         (main): Expect only one argument.
27365         (is_open): New function, copied from tests/test-pipe.c.
27366         * tests/test-spawn-pipe.c: Don't include <errno.h>.
27367         (child_main): Remove function.
27368         (test_pipe): Pass only one argument to the child program.
27369         (main): Remove child process code. Expect the child program's name as
27370         first argument.
27371         * tests/test-spawn-pipe.sh: Pass the child program's name as first
27372         argument.
27373         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
27374         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
27375         test-spawn-pipe-child against no libraries.
27376
27377 2011-06-06  Bruno Haible  <bruno@clisp.org>
27378
27379         careadlinkat: Avoid mismatch between ssize_t and int.
27380         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
27381         * lib/careadlinkat.c (careadlinkatcwd): Define always.
27382
27383 2011-06-06  Jim Meyering  <meyering@redhat.com>
27384
27385         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
27386         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
27387         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
27388
27389 2011-06-05  Bruno Haible  <bruno@clisp.org>
27390
27391         ansi-c++-opt: Interoperability with libtool.
27392         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
27393         set the variable to "no", not to ":".
27394         * NEWS: Mention the change.
27395
27396 2011-06-05  Bruno Haible  <bruno@clisp.org>
27397
27398         acl: Fix test failure on AIX 7.
27399         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
27400         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
27401
27402 2011-06-05  Bruno Haible  <bruno@clisp.org>
27403
27404         pipe-filter-ii: Fix test failure on AIX and IRIX.
27405         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
27406         with EAGAIN, retry with a smaller buffer size.
27407
27408 2011-06-05  Bruno Haible  <bruno@clisp.org>
27409
27410         localename: Fix link dependencies.
27411         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
27412         * modules/localename-tests (Makefile.am): Link test-localename with
27413         $(LIBTHREAD).
27414
27415 2011-06-05  Bruno Haible  <bruno@clisp.org>
27416
27417         error: Avoid gcc warning.
27418         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
27419
27420 2011-06-05  Bruno Haible  <bruno@clisp.org>
27421
27422         unsetenv: Avoid gcc warning.
27423         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
27424
27425 2011-06-05  Bruno Haible  <bruno@clisp.org>
27426
27427         setenv: Avoid gcc warning.
27428         * lib/setenv.c (setenv): Provide declaration if system lacks it.
27429
27430 2011-06-05  Bruno Haible  <bruno@clisp.org>
27431
27432         sys_select: Ensure memset is declared also on AIX 7.
27433         * lib/sys_select.in.h: Include <string.h> also on AIX.
27434         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
27435         self-contained also on AIX 7.1.
27436
27437 2011-06-04  Jim Meyering  <meyering@redhat.com>
27438
27439         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
27440         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
27441         function name, "error".
27442         (_gl_translatable_diag_func_re): New configurable variable.
27443
27444 2011-06-04  Bruno Haible  <bruno@clisp.org>
27445
27446         getopt: Avoid gcc warning.
27447         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
27448
27449 2011-06-04  Bruno Haible  <bruno@clisp.org>
27450
27451         strerror_r: Fix comments.
27452         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
27453         commit.
27454
27455 2011-06-04  Bruno Haible  <bruno@clisp.org>
27456
27457         perror: Fix compilation error.
27458         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
27459         Undefine fprintf, not sprintf.
27460         * modules/perror (Depends-on): Remove intprops, verify.
27461
27462 2011-06-04  Bruno Haible  <bruno@clisp.org>
27463
27464         setlocale: Enable replacement on Cygwin 1.5.
27465         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
27466         Cygwin 1.5.x.
27467         * doc/posix-functions/setlocale.texi: Mention that the problem with the
27468         LC_CTYPE category also exists on Cygwin 1.5.x.
27469
27470 2011-06-04  Bruno Haible  <bruno@clisp.org>
27471
27472         strerror-override: Don't disable symbol renamings.
27473         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
27474         * lib/strerror-override.c: Include config.h.
27475         (strerror_override): Don't undefine.
27476
27477 2011-06-03  Bruno Haible  <bruno@clisp.org>
27478
27479         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
27480         * lib/localename.h: Update copyright header.
27481         * lib/localename.c: Likewise.
27482         * lib/relocatable.h: Likewise.
27483         * lib/relocatable.c: Likewise.
27484
27485 2011-06-02  Bruno Haible  <bruno@clisp.org>
27486
27487         doc: Fix a module name.
27488         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
27489
27490 2011-06-02  Bruno Haible  <bruno@clisp.org>
27491
27492         pipe2: Remove dependency on 'nonblocking' module.
27493         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
27494         O_NONBLOCK is defined by gnulib.
27495         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
27496         is zero.
27497         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
27498         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
27499         defined by gnulib.
27500         (get_nonblocking_flag): New function.
27501         (main): Test O_NONBLOCK flag only if it is nonzero.
27502         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
27503
27504 2011-06-03  Jim Meyering  <meyering@redhat.com>
27505
27506         maint: three new prohibit-header-without-use rules
27507         Prohibit use of cloexec.h, posixver.h, same.h without use.
27508         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
27509         (sc_prohibit_posixver_without_use): Likewise.
27510         (sc_prohibit_same_without_use): Likewise.
27511
27512 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
27513
27514         allocator: 'die' routine is now given requested size
27515         * lib/allocator.h (struct allocator.die): New size arg.
27516         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
27517         If the actual problem is an ssize_t limitation, not a size_t or
27518         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
27519
27520 2011-06-01  Eric Blake  <eblake@redhat.com>
27521
27522         strerror: drop strerror_r dependency
27523         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
27524         * lib/strerror-override.c (strerror_override): ...to new file.
27525         * lib/strerror-override.h: Add prototype.
27526         * lib/strerror-impl.h: Delete.
27527         * lib/strerror.c (strerror): New implementation.
27528         * modules/errno (Files): Add new files.
27529         (configure.ac): Compile new file as appropriate.
27530         * modules/strerror (Files): Drop unused file.
27531         (Depends-on): Drop strerror_r-posix.
27532         * MODULES.html.sh: Document strerror_r-posix.
27533         Requested by Sam Steingold.
27534
27535         perror: call strerror_r directly
27536         * modules/perror (Files): Drop strerror-impl.h.
27537         * lib/perror.c (perror): Use our own stack buffer, rather than
27538         calling a wrapper that uses static storage.
27539         * doc/posix-functions/perror.texi (perror): Document a limitation
27540         of our replacement.
27541
27542         strerror_r: fix includes for FreeBSD
27543         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
27544         since we use abort on some platforms.
27545         Reported by Matthias Bolte.
27546
27547 2011-05-31  Bruno Haible  <bruno@clisp.org>
27548
27549         Fix link errors in tests: openat-die uses gettext-h.
27550         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
27551         against $(LIBINTL).
27552         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
27553         against $(LIBINTL).
27554         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
27555         $(LIBINTL).
27556         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
27557         against $(LIBINTL).
27558         * modules/linkat-tests (Makefile.am): Link test-linkat against
27559         $(LIBINTL).
27560         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
27561         $(LIBINTL).
27562         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
27563         against $(LIBINTL).
27564         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
27565         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
27566         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
27567         $(LIBINTL).
27568         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
27569         $(LIBINTL).
27570         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
27571         $(LIBINTL).
27572         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27573
27574 2011-05-31  Bruno Haible  <bruno@clisp.org>
27575
27576         Fix link errors in tests: wait-process uses gettext-h.
27577         * modules/nonblocking-pipe-tests (Makefile.am): Set
27578         test_nonblocking_pipe_main_LDADD.
27579         * modules/nonblocking-socket-tests (Makefile.am): Link
27580         test-nonblocking-socket-main against $(LIBINTL).
27581         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27582
27583 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
27584
27585         assert-h: work around 'verify' incompatibility
27586         * lib/verify.h: Use @...@ directives, not ifdef.
27587         * modules/assert-h (assert.h): Implement the directives.
27588         (assert.h): Substitute the symbol-prefix more consistently.
27589
27590 2011-05-29  Jim Meyering  <meyering@redhat.com>
27591
27592         trim: remove three superfluous assignments
27593         * lib/trim.c (trim2): Remove three superfluous assignments
27594         and correct brace positioning.
27595
27596 2011-05-29  Bruno Haible  <bruno@clisp.org>
27597
27598         wctype-h: Avoid namespace pollution on Solaris 2.6.
27599         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
27600         identifiers.
27601         * doc/posix-headers/wctype.texi: Mention the problem.
27602         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27603
27604 2011-05-28  Jim Meyering  <meyering@redhat.com>
27605
27606         parse-datetime.y: accommodate -Wstrict-overflow
27607         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
27608         placate -Wstrict-overflow.
27609
27610         trim: avoid a warning from -O2 -Wstrict-overflow
27611         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
27612
27613 2011-05-29  Bruno Haible  <bruno@clisp.org>
27614
27615         gnulib-tool: Fix bug in yesterday's commit.
27616         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
27617         twice.
27618
27619 2011-05-29  Bruno Haible  <bruno@clisp.org>
27620
27621         Allow multiple gnulib generated include files to be combined.
27622         * gnulib-tool (func_compute_include_guard_prefix): New function.
27623         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
27624         ${gl_include_guard_prefix} references.
27625         (func_import, func_create_testdir): Invoke
27626         func_compute_include_guard_prefix.
27627         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
27628         * lib/ctype.in.h: Likewise.
27629         * lib/dirent.in.h: Likewise.
27630         * lib/errno.in.h: Likewise.
27631         * lib/fcntl.in.h: Likewise.
27632         * lib/float.in.h: Likewise.
27633         * lib/getopt.in.h: Likewise.
27634         * lib/iconv.in.h: Likewise.
27635         * lib/langinfo.in.h: Likewise.
27636         * lib/locale.in.h: Likewise.
27637         * lib/math.in.h: Likewise.
27638         * lib/netdb.in.h: Likewise.
27639         * lib/netinet_in.in.h: Likewise.
27640         * lib/poll.in.h: Likewise.
27641         * lib/pthread.in.h: Likewise.
27642         * lib/pty.in.h: Likewise.
27643         * lib/sched.in.h: Likewise.
27644         * lib/se-selinux.in.h: Likewise.
27645         * lib/search.in.h: Likewise.
27646         * lib/signal.in.h: Likewise.
27647         * lib/spawn.in.h: Likewise.
27648         * lib/stdarg.in.h: Likewise.
27649         * lib/stddef.in.h: Likewise.
27650         * lib/stdint.in.h: Likewise.
27651         * lib/stdio.in.h: Likewise.
27652         * lib/stdlib.in.h: Likewise.
27653         * lib/string.in.h: Likewise.
27654         * lib/strings.in.h: Likewise.
27655         * lib/sys_file.in.h: Likewise.
27656         * lib/sys_ioctl.in.h: Likewise.
27657         * lib/sys_select.in.h: Likewise.
27658         * lib/sys_socket.in.h: Likewise.
27659         * lib/sys_stat.in.h: Likewise.
27660         * lib/sys_time.in.h: Likewise.
27661         * lib/sys_times.in.h: Likewise.
27662         * lib/sys_uio.in.h: Likewise.
27663         * lib/sys_utsname.in.h: Likewise.
27664         * lib/sys_wait.in.h: Likewise.
27665         * lib/sysexits.in.h: Likewise.
27666         * lib/termios.in.h: Likewise.
27667         * lib/time.in.h: Likewise.
27668         * lib/unistd.in.h: Likewise.
27669         * lib/wchar.in.h: Likewise.
27670         * lib/wctype.in.h: Likewise.
27671         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
27672         * modules/ctype (Makefile.am): Likewise.
27673         * modules/dirent (Makefile.am): Likewise.
27674         * modules/errno (Makefile.am): Likewise.
27675         * modules/fcntl-h (Makefile.am): Likewise.
27676         * modules/float (Makefile.am): Likewise.
27677         * modules/getopt-posix (Makefile.am): Likewise.
27678         * modules/iconv-h (Makefile.am): Likewise.
27679         * modules/langinfo (Makefile.am): Likewise.
27680         * modules/locale (Makefile.am): Likewise.
27681         * modules/math (Makefile.am): Likewise.
27682         * modules/netdb (Makefile.am): Likewise.
27683         * modules/netinet_in (Makefile.am): Likewise.
27684         * modules/poll-h (Makefile.am): Likewise.
27685         * modules/pthread (Makefile.am): Likewise.
27686         * modules/pty (Makefile.am): Likewise.
27687         * modules/sched (Makefile.am): Likewise.
27688         * modules/search (Makefile.am): Likewise.
27689         * modules/selinux-h (Makefile.am): Likewise.
27690         * modules/signal (Makefile.am): Likewise.
27691         * modules/spawn (Makefile.am): Likewise.
27692         * modules/stdarg (Makefile.am): Likewise.
27693         * modules/stddef (Makefile.am): Likewise.
27694         * modules/stdint (Makefile.am): Likewise.
27695         * modules/stdio (Makefile.am): Likewise.
27696         * modules/stdlib (Makefile.am): Likewise.
27697         * modules/string (Makefile.am): Likewise.
27698         * modules/strings (Makefile.am): Likewise.
27699         * modules/sys_file (Makefile.am): Likewise.
27700         * modules/sys_ioctl (Makefile.am): Likewise.
27701         * modules/sys_select (Makefile.am): Likewise.
27702         * modules/sys_socket (Makefile.am): Likewise.
27703         * modules/sys_stat (Makefile.am): Likewise.
27704         * modules/sys_time (Makefile.am): Likewise.
27705         * modules/sys_times (Makefile.am): Likewise.
27706         * modules/sys_uio (Makefile.am): Likewise.
27707         * modules/sys_utsname (Makefile.am): Likewise.
27708         * modules/sys_wait (Makefile.am): Likewise.
27709         * modules/sysexits (Makefile.am): Likewise.
27710         * modules/termios (Makefile.am): Likewise.
27711         * modules/time (Makefile.am): Likewise.
27712         * modules/unistd (Makefile.am): Likewise.
27713         * modules/wchar (Makefile.am): Likewise.
27714         * modules/wctype-h (Makefile.am): Likewise.
27715         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
27716
27717 2011-05-29  Bruno Haible  <bruno@clisp.org>
27718
27719         assert-h: Allow multiple gnulib generated replacements to coexist.
27720         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
27721
27722 2011-05-29  Bruno Haible  <bruno@clisp.org>
27723
27724         argp: Allow coexistence with strerror_r-posix module.
27725         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
27726         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
27727         by gnulib's <string.h> replacement), assume it has the POSIX signature,
27728         not the glibc signature.
27729
27730 2011-05-28  Bruno Haible  <bruno@clisp.org>
27731
27732         gnulib-tool: Alternative structure of testdirs, similar to --import.
27733         * gnulib-tool: New option --single-configure.
27734         (func_usage): Document it.
27735         (single_configure): New variable.
27736         (func_modules_transitive_closure_separately,
27737         func_modules_transitive_closure_separately,
27738         func_determine_use_libtests, func_modules_add_dummy_separately,
27739         func_modules_to_filelist_separately): New functions, extracted from
27740         func_import.
27741         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
27742         (func_import): Use the new functions.
27743         (func_create_testdir): Set final_modules. Handle $single_configure =
27744         true case.
27745
27746 2011-05-28  Bruno Haible  <bruno@clisp.org>
27747
27748         getloadavg: Remove an unreliable safety check.
27749         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
27750         getloadavg.c is in place.
27751         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
27752         Reported by Sam Steingold <sds@gnu.org>.
27753
27754 2011-05-28  Bruno Haible  <bruno@clisp.org>
27755
27756         doc: Cleanup yet another file produced by texinfo.tex.
27757         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
27758
27759 2011-05-28  Bruno Haible  <bruno@clisp.org>
27760
27761         Finish the conditional dependencies mechanism.
27762         * gnulib-tool: New option --no-conditional-dependencies.
27763         (func_usage): Document it. Don't mark --conditional-dependencies as
27764         experimental.
27765         (cond_dependencies): The possible values can now be true, false, empty.
27766         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
27767         (func_import): Store setting in gnulib-cache.m4 and read it from there.
27768         * doc/gnulib-tool.texi (Conditional dependencies): New section.
27769
27770 2011-05-28  Bruno Haible  <bruno@clisp.org>
27771
27772         doc: Use a recent texinfo.tex.
27773         * doc/Makefile (tex_opts): New variable.
27774         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
27775
27776 2011-05-28  Jim Meyering  <meyering@redhat.com>
27777
27778         intprops.h: adjust comment to match code change
27779         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
27780         only once, it *may* have side effects.  Also fix an unrelated typo.
27781         (_GL_INT_SIGNED): Likewise.
27782
27783 2011-05-26  Simon Josefsson  <simon@josefsson.org>
27784
27785         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
27786
27787 2011-05-26  Bruno Haible  <bruno@clisp.org>
27788
27789         mbsrchr: Avoid collision with system function on Interix.
27790         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
27791         Reported by Markus Duft <mduft@gentoo.org>.
27792
27793 2011-05-15  James Youngman  <jay@gnu.org>
27794
27795         getopt: for ambiguous options, enumerate the possibilities.
27796         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
27797         the ambiguous options when an ambiguous prefix is given. This was
27798         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
27799         glibc change was
27800         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
27801
27802 2011-05-25  Eric Blake  <eblake@redhat.com>
27803
27804         getcwd: work around mingw bug
27805         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
27806         * doc/posix-functions/getcwd.texi (getcwd): Document it.
27807         Reported by Matthias Bolte.
27808
27809 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
27810
27811         test-intprops: disable -Wtype-limits diagnostics
27812         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
27813         diagnostics.  Otherwise, the integer overflow macros generate many
27814         diagnostics.  Reported by Jim Meyering in
27815         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
27816
27817         intprops: shorten, to pacify gcc -Woverlength-strings
27818         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
27819         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
27820         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
27821         likely to run afoul of C compiler limits for string constant lengths.
27822         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
27823
27824 2011-05-24  Eric Blake  <eblake@redhat.com>
27825
27826         docs: document recently fixed glibc printf bug
27827         * doc/posix-functions/fprintf.texi (fprintf): Document it.
27828         * doc/posix-functions/printf.texi (printf): Likewise.
27829         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
27830         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
27831
27832         closein-tests: convert to init.sh
27833         * modules/closein-tests (Files): Add init.sh
27834         * tests/test-closein.sh Use it.
27835
27836         yesno-tests: convert to init.sh
27837         * modules/yesno-tests (Files): Add init.sh.
27838         * tests/test-yesno.sh: Use it.
27839
27840         atexit-tests: ensure reliable exit status
27841         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
27842         Reported by Bruno Haible.
27843
27844 2011-05-24  Bruno Haible  <bruno@clisp.org>
27845
27846         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
27847         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
27848         gl_PREREQ_STRERROR_R invocations from here...
27849         * modules/strerror_r-posix (configure.ac): ... to here.
27850
27851 2011-05-24  Eric Blake  <eblake@redhat.com>
27852
27853         strerror_r: fix missing header
27854         * lib/strerror_r.c: Avoid compiler warning about snprintf.
27855
27856         strerror_r: fix AIX test failures
27857         * lib/strerror_r.c (strerror_r): Convert silent truncation to
27858         ERANGE failure.
27859
27860         strerror_r: fix Solaris test failures
27861         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
27862         failures.
27863         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
27864
27865         strerror_r: enforce POSIX recommendations
27866         * lib/strerror_r.c (safe_copy): New helper method.
27867         (strerror_r): Guarantee a non-empty string.
27868         * tests/test-strerror_r.c (main): Enhance tests to incorporate
27869         recent POSIX rulings and to match our strerror guarantees.
27870         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
27871
27872 2011-05-24  Jim Meyering  <meyering@redhat.com>
27873
27874         test-perror2.c: avoid warning about unused variable
27875         * tests/test-perror2.c (main): Remove declaration of unused "fp".
27876
27877 2011-05-24  Eric Blake  <eblake@redhat.com>
27878
27879         perror: avoid spurious test failure on HP-UX
27880         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
27881
27882         tests: fix logic bug in init.sh
27883         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
27884         shell.
27885
27886 2011-05-24  Jim Meyering  <meyering@redhat.com>
27887
27888         utimensat: do not reference an out-of-scope buffer
27889         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
27890         declared in an inner scope, yet "times" would be dereferenced outside
27891         the scope in which "ts" was valid.
27892         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
27893         of ts[2] "out/up", so that the use of aliased "times" (via
27894         "times = ts;") does not end up referencing an out-of-scope "ts"
27895
27896         opendir-safer.c: don't clobber errno; don't close negative FD
27897         * lib/opendir-safer.c (opendir_safer):
27898         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
27899         file descriptor, and more importantly, don't clobber the
27900         offending errno value with EINVAL.  Before, upon failure
27901         of dup_safer, we would pass the negative file descriptor to
27902         fdopendir, which would clobber errno.
27903
27904 2011-05-23  Bruno Haible  <bruno@clisp.org>
27905
27906         idcache: Fix module description.
27907         * modules/idcache (Include): Set to "idcache.h".
27908
27909 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
27910
27911         gnulib-tool: fix portability problem with MacOS sed
27912         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
27913         before the "}".  Problem reported by Leo in
27914         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
27915         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
27916         sed_extract_condition1, sed_extract_condition2.
27917
27918 2011-05-23  Bruno Haible  <bruno@clisp.org>
27919
27920         hash: Simplify autoconf macro.
27921         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
27922
27923 2011-05-23  Bruno Haible  <bruno@clisp.org>
27924
27925         getugroups: Fix module description.
27926         * modules/getugroups (Include): Set to "getugroups.h".
27927
27928 2011-05-23  Bruno Haible  <bruno@clisp.org>
27929
27930         linkat: Simplify autoconf macro.
27931         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
27932
27933 2011-05-23  Bruno Haible  <bruno@clisp.org>
27934             Eric Blake  <eblake@redhat.com>
27935
27936         linkat, renameat: Update dependencies.
27937         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
27938         * modules/linkat (Depends-on): Likewise. Remove also readlink,
27939         symlinkat.
27940
27941 2011-05-23  Jim Meyering  <meyering@redhat.com>
27942
27943         maint.mk: more tight_scope improvements
27944         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
27945         (_gl_TS_headers): Define only in if-0'd block.
27946         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
27947         sometimes we must *not* use it.  Adjust uses accordingly.
27948         (sc_tight_scope): Use much simpler grep-based test to determine
27949         whether we skip this rule.
27950
27951         maint.mk: generalize/improve the tight-scope rule
27952         * top/maint.mk: Emit a warning when the test is skipped.
27953         (_gl_TS_dir): Add $(srcdir)/ prefix.
27954         (_gl_TS_function_match): Simplify, rather than trying
27955         to enumerate common types.  Otherwise, it would fail to match an
27956         "extern unsigned char const *" declaration in idutils.
27957         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
27958         a way to support use of that type of macro.
27959         (_gl_TS_var_match): Simplify regexp.
27960         (_gl_TS_obj_files): New configurable variable.
27961         (_gl_TS_headers): Likewise.
27962
27963 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
27964
27965         verify: fix bug when gnulib <assert.h> is also included
27966         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
27967         is defined, not if _GL_STATIC_ASSERT_H is not defined.
27968         Perhaps there's a better way, but this fixes the immediate problem.
27969         Problem reported by Bruno Haible in
27970         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
27971
27972 2011-05-22  Bruno Haible  <bruno@clisp.org>
27973
27974         xgetcwd: Simplify autoconf macro.
27975         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
27976
27977 2011-05-22  Bruno Haible  <bruno@clisp.org>
27978
27979         New module 'mktime-internal'.
27980         * modules/mktime-internal: New file.
27981         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
27982         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
27983         mktime_internal as a C macro if libc has __mktime_internal.
27984         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
27985         conditions.
27986         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
27987
27988 2011-05-22  Bruno Haible  <bruno@clisp.org>
27989
27990         timegm: Correct mktime replacement statements.
27991         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
27992         defining mktime as a C macro. This completes a 2009-07-28 commit.
27993
27994 2011-05-22  Bruno Haible  <bruno@clisp.org>
27995
27996         timegm: Simplify autoconf macro.
27997         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
27998
27999 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
28000
28001         clock-time: change to LGPLv2+.
28002         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
28003         BSD-like but we have no mark for that; this is good enough for now.
28004
28005 2011-05-21  Bruno Haible  <bruno@clisp.org>
28006
28007         strerror_r: Fix comments.
28008         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
28009
28010 2011-05-21  Bruno Haible  <bruno@clisp.org>
28011
28012         relocatable-prog-wrapper: Fix possible link error.
28013         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
28014         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
28015         (gl_FUNC_SETENV): ... to here.
28016         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
28017         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
28018
28019 2011-05-21  Bruno Haible  <bruno@clisp.org>
28020
28021         relocatable-prog-wrapper: Assume strerror() exists.
28022         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
28023         m4/strerror.m4.
28024         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
28025         * lib/relocwrapper.c: Remove mention of strerror module.
28026         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
28027         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
28028         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
28029         C macro.
28030
28031 2011-05-21  Bruno Haible  <bruno@clisp.org>
28032
28033         select: Simplify replacement idiom.
28034         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
28035         Win32 platforms.
28036         * lib/sys_select.in.h (select): Simplify accordingly.
28037         * modules/select (Depends-on): Likewise.
28038
28039 2011-05-21  Bruno Haible  <bruno@clisp.org>
28040
28041         mkdir-p: Simplify autoconf macro.
28042         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
28043         gl_FUNC_LCHOWN.
28044
28045 2011-05-21  Eric Blake  <eblake@redhat.com>
28046
28047         strerror_r: avoid clobbering strerror on cygwin
28048         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
28049         fall back instead to sys_errlist.
28050         * modules/strerror (configure.ac): Add witness.
28051         * tests/test-strerror_r.c (main): Enhance test.
28052         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
28053         * tests/test-perror2.c (main): Free memory before exit.
28054
28055 2011-05-21  Bruno Haible  <bruno@clisp.org>
28056
28057         mkdtemp: Use gnulib naming conventions.
28058         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
28059         * modules/mkdtemp (configure.ac): Update.
28060
28061 2011-05-20  Eric Blake  <eblake@redhat.com>
28062
28063         strerror_r: avoid corrupting errno on Solaris
28064         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
28065         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
28066
28067         strerror_r: avoid compiler warning
28068         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
28069
28070         strerror_r: simplify AIX code
28071         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
28072
28073         test-perror: avoid spurious failure on FreeBSD
28074         * modules/perror-tests (Depends-on): Add strerror, now that
28075         strerror_r no longer pulls it in.
28076
28077 2011-05-20  Bruno Haible  <bruno@clisp.org>
28078
28079         strerror_r-posix: Remove unused dependencies.
28080         * modules/strerror_r-posix (Depends-on): Remove strerror.
28081         Reported by Eric Blake.
28082
28083 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
28084
28085         intprops: remove assumption about A|B representation
28086         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
28087         is a valid integer if both A and B are.  Although this is true for
28088         all known practical hosts, the C standard doesn't guarantee it,
28089         and the code need not assume it.  Also, this change may work around
28090         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
28091         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
28092
28093 2011-05-20  Eric Blake  <eblake@redhat.com>
28094
28095         perror: work around FreeBSD bug
28096         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
28097         is broken.  Move AC_LIBOBJ...
28098         * modules/perror (configure.ac): Here.
28099         * doc/posix-functions/perror.texi (perror): Document this.
28100         * tests/test-perror2.c (main): Enhance test.
28101
28102         test-perror: check for strerror interactions
28103         * tests/macros.h (STREQ): Add macro.
28104         * modules/perror-tests (Files): Add second test.
28105         * tests/test-perror2.c (main): New file.
28106         * doc/posix-functions/perror.texi (perror): Document glibc bug.
28107
28108         test-perror: rewrite to use init script
28109         * modules/perror-tests (Files): Add init.sh.
28110         * tests/test-perror.sh: Use temporary directory.
28111
28112 2011-05-20  Jim Meyering  <meyering@redhat.com>
28113
28114         maint: replace misused "a" with "an"
28115         * doc/intprops.texi: "a integer"
28116         * doc/regex.texi: "a explanation"
28117         * lib/alignof.h: "a object"
28118         * lib/argmatch.h: "a explanation"
28119         * lib/argp-help.c: "a option" and "a OPTION_DOC"
28120         * lib/stdint.in.h: "a integer"
28121         * lib/userspec.c: "a owner"
28122         * doc/gnulib.texi: Fix "a idea", and reword.
28123
28124 2011-05-19  Jim Meyering  <meyering@redhat.com>
28125
28126         maint: correct misuse of "a" and "an"
28127         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
28128         * lib/argp-help.c: "an docum...": s/an/a/
28129         * lib/argp-parse.c: "An vector": s/An/A/
28130         * lib/execute.c: "an native": s/an/a/
28131         * lib/spawn-pipe.c: Likewise.
28132         * lib/gc.h: "an Gc_rc": s/an/a/
28133         * lib/unigbrk.in.h: "an grapheme": s/an/a/
28134         * lib/fts.c: "an stat.st_dev": s/an/a/
28135
28136 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28137
28138         intprops-tests: work around HP-UX 11.23 cc bug with constants
28139         * tests/test-intprops.c (VERIFY): New macro.
28140         (main): Use it, instead of verify, to work around the compiler bug; see
28141         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
28142
28143         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
28144         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
28145         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
28146         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
28147         (_GL_REMAINDER_OVERFLOW): Use it.
28148
28149         intprops-tests: revert unsigned part of previous change
28150         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
28151         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
28152         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
28153         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
28154
28155 2011-05-19  Bruno Haible  <bruno@clisp.org>
28156
28157         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
28158         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
28159         strerror_r() returned without filling the buffer.
28160         Reported by Eric Blake.
28161
28162 2011-05-19  Eric Blake  <eblake@redhat.com>
28163
28164         strerror_r: guarantee unchanged errno
28165         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
28166         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
28167         failure.
28168         * tests/test-strerror_r.c (main): Enhance test.
28169
28170 2011-05-19  Bruno Haible  <bruno@clisp.org>
28171
28172         strerror_r: Reorder #if blocks.
28173         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
28174         for consistency with the previous commit.
28175
28176 2011-05-19  Bruno Haible  <bruno@clisp.org>
28177
28178         perror: Avoid clobbering the strerror buffer when possible.
28179         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
28180         * lib/strerror.c: Include it.
28181         * modules/strerror (Files): Add lib/strerror-impl.h.
28182         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
28183         (my_strerror): New function, defined through lib/strerror-impl.h.
28184         (perror): Use it instead of strerror.
28185         * modules/perror (Files): Add lib/strerror-impl.h.
28186         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
28187
28188 2011-05-19  Eric Blake  <eblake@redhat.com>
28189
28190         strerror_r: fix on newer cygwin
28191         * lib/strerror_r.c (strerror_r): Cygwin now has
28192         __xpg_strerror_r, use it.
28193
28194 2011-05-19  Bruno Haible  <bruno@clisp.org>
28195
28196         strerror_r: Avoid clobbering the strerror buffer when possible.
28197         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
28198         (sys_nerr, sys_errlist): New declarations.
28199         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
28200         HP-UX, native Win32, IRIX, and 32-bit Solaris.
28201         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
28202
28203 2011-05-19  Bruno Haible  <bruno@clisp.org>
28204
28205         strerror_r: Fix test failure on mingw.
28206         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
28207         EXTEND_STRERROR_R.
28208         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
28209         macros from errno.in.h instead.
28210
28211 2011-05-19  Eric Blake  <eblake@redhat.com>
28212
28213         strerror: relax test for Solaris
28214         * tests/test-strerror.c (main): Permit Solaris behavior.
28215         * tests/test-strerror_r.c (main): Likewise.
28216
28217         strerror: enforce POSIX ruling on strerror(0)
28218         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
28219         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
28220         * lib/strerror_r.c (rpl_strerror_r): Work around it.
28221         * doc/posix-functions/strerror.texi (strerror): Document it.
28222         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
28223         * tests/test-strerror.c (main): Strengthen test.
28224         * tests/test-strerror_r.c (main): Likewise.
28225
28226 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28227
28228         intprop-tests: port to older and more-pedantic compilers
28229         * modules/intprops-tests (Files): Add tests/macros.h.
28230         * tests/test-intprops.c: Include macros.h.
28231         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
28232         it's no longer documented to expand to an integer constant expression.
28233         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
28234         argument is floating point, as it's no longer documented to expand
28235         to an integer constant expression in that case.
28236         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
28237         compiler bugs reported by Bruno Haible.  See
28238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
28239         (U0, U1): New constants, to work around the same bugs.  Also,
28240         in tests, use e.g., "(unsigned int) 39" rather than "39u".
28241
28242         intprops: work around C compiler bugs
28243         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
28244         bug in Sun C 5.11 2010/08/13 and other compilers; see
28245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
28246
28247         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
28248         * doc/intprops.texi (Integer Type Determination): Fix
28249         documentation for TYPE_IS_INTEGER: it returns an constant
28250         expression, not an integer constant expression.  Fix doc for
28251         TYPE_SIGNED: it returns an integer constant expression only if its
28252         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
28253         hardly worth documented that way....)
28254
28255 2011-05-18  Bruno Haible  <bruno@clisp.org>
28256
28257         strerror_r: Avoid clobbering the strerror buffer when possible.
28258         * lib/strerror_r.c (strerror_r): Merge the three implementations.
28259         Handle gnulib defined errno values here. When strerror() returns NULL
28260         or an empty string, return EINVAL.
28261         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
28262         gnulib defined errno values here.
28263         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
28264
28265 2011-05-18  Eric Blake  <eblake@redhat.com>
28266
28267         fnmatch: avoid compiler warning
28268         * lib/fnmatch_loop.c (FCT): Use correct type.
28269         Reported by Matthias Bolte.
28270
28271 2011-05-13  Jim Meyering  <meyering@redhat.com>
28272
28273         maint.mk: three new prohibit_<HDR>_without_use rules
28274         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
28275         (sc_prohibit_stdio-safer_without_use): Likewise.
28276         (sc_prohibit_xfreopen_without_use): Likewise.
28277
28278 2011-05-17  Jim Meyering  <meyering@redhat.com>
28279
28280         announce-gen: fail if the NEWS delta is empty
28281         If there's nothing noteworthy in NEWS, then either you forgot
28282         or you shouldn't be releasing.
28283         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
28284
28285 2011-05-17  Pádraig Brady <P@draigBrady.com>
28286
28287         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
28288         reserved symbols starting with double underscore from the check.
28289
28290 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
28291
28292         intprops: add doc
28293         * doc/intprops.texi: New file, documenting intprops.
28294         * doc/gnulib.texi (Particular Modules): Include it.
28295
28296         verify: add doc to gnulib manual and fix example
28297         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
28298         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
28299         (Compile-time Assertions): Fix example so it can't overflow.
28300
28301 2011-05-17  Jim Meyering  <meyering@redhat.com>
28302
28303         warnings.m4: don't usurp save_CPPFLAGS variable name
28304         * m4/warnings.m4: Prefix local temporary variable name with gl_.
28305
28306         doc: fix typo
28307         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
28308
28309 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
28310             Bruno Haible  <bruno@clisp.org>
28311
28312         doc: Tweak recent change.
28313         * README (Portability guidelines): Tweak new text.
28314         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
28315         Interix 6.1.
28316
28317 2011-05-16  Eric Blake  <eblake@redhat.com>
28318
28319         inttypes: avoid autoconf warning
28320         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
28321         * m4/stdint.m4 (gl_STDINT_H): Likewise.
28322
28323 2011-05-16  Sam Steingold <sds@gnu.org>
28324         and Eric Blake  <eblake@redhat.com>
28325
28326         vc-list-files: accept multiple directory operands
28327         * build-aux/vc-list-files: Iterate over all remaining operands.
28328
28329 2011-05-16  Bruno Haible  <bruno@clisp.org>
28330
28331         Fix confusion regarding deprecated modules.
28332         * modules/calloc (Status, Notice): Mark module as deprecated, not
28333         obsolete.
28334         * modules/fnmatch-posix (Status, Notice): Likewise.
28335         * modules/getdate (Status, Notice): Likewise.
28336         * modules/getopt (Status, Notice): Likewise.
28337         * modules/malloc (Status, Notice): Likewise.
28338         * modules/pipe (Status, Notice): Likewise.
28339         * modules/realloc (Status, Notice): Likewise.
28340         * modules/rename-dest-slash (Status, Notice): Likewise.
28341         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
28342         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
28343         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
28344         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
28345         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
28346
28347 2011-05-16  Bruno Haible  <bruno@clisp.org>
28348
28349         doc: List the target platforms.
28350         * doc/gnulib-intro.texi (Target Platforms): New section.
28351         * doc/gnulib.texi (Introduction): Update menu.
28352         * README (Portability guidelines): Refer to the new section. Update
28353         statement about oldest supported environment. Remove rationale why
28354         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
28355         unportable C89 function.
28356         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
28357         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
28358
28359 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
28360
28361         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
28362
28363 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
28364
28365         intprops-tests: new module
28366         * modules/intprops-tests, tests/test-intprops.c: New files.
28367
28368         intprops: add safe, portable integer overflow checking
28369         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
28370         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
28371         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
28372         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
28373         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
28374         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
28375         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
28376         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
28377         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
28378         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
28379         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
28380
28381 2011-05-12  James Youngman  <jay@gnu.org>
28382
28383         Add a test for glibc's Bugzilla bug #12378.
28384         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
28385         doesn't allow the literal matching of a lone "[" (which is
28386         required by POSIX).
28387         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
28388
28389 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
28390
28391         Sync glibc change fixing Bugzilla bug #12378.
28392         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
28393         beginning and fall back to matching as normal character if the
28394         string ends before the matching ']' is found.  This is what POSIX
28395         requires.
28396
28397 2011-05-13  Eric Blake  <eblake@redhat.com>
28398
28399         getcwd-lgpl: relax test for FreeBSD
28400         * doc/posix-functions/getcwd.texi (getcwd): Document portability
28401         issue.
28402         * tests/test-getcwd-lgpl.c (main): Relax test.
28403         Reported by Matthias Bolte.
28404
28405 2011-05-11  Eric Blake  <eblake@redhat.com>
28406
28407         test-fflush: silence compiler warning
28408         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
28409
28410 2011-05-11  Bruno Haible  <bruno@clisp.org>
28411
28412         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
28413         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
28414         * modules/canonicalize (Depends-on): Add 'nocrash'.
28415         * modules/canonicalize-lgpl (Depends-on): Likewise.
28416         * doc/posix-functions/realpath.texi: Update platforms list.
28417         Reported by Ryan Schmidt <ryandesign@macports.org>.
28418
28419 2011-05-11  Bruno Haible  <bruno@clisp.org>
28420
28421         group-member: Declare function in <unistd.h>.
28422         * lib/unistd.in.h (group_member): New declaration.
28423         * lib/group-member.h: Remove file.
28424         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
28425         * tests/test-unistd-c++.cc: Check signature of group_member.
28426         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
28427         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
28428         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
28429         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
28430         HAVE_GROUP_MEMBER.
28431         * modules/group-member (Files): Remove lib/group-member.h.
28432         (Depends-on): Add unistd. Specify conditions.
28433         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28434         (Include): Change to <unistd.h>.
28435         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
28436         HAVE_GROUP_MEMBER.
28437         * NEWS: Mention the change.
28438         * lib/euidaccess.c: Don't include group-member.h.
28439
28440 2011-05-11  Bruno Haible  <bruno@clisp.org>
28441
28442         group-member: Document module.
28443         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
28444         module.
28445
28446 2011-05-11  Bruno Haible  <bruno@clisp.org>
28447
28448         fclose: Fix mistake earlier today.
28449         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
28450
28451 2011-05-11  Eric Blake  <eblake@redhat.com>
28452
28453         fclose: preserve fflush errors
28454         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
28455         Reported by Jim Meyering.
28456
28457         bootstrap: support a prereq of 'rpcgen -' on RHEL5
28458         * build-aux/bootstrap (check_versions): When no specific version
28459         is required, merely check that the app produces an exit status
28460         that indicates its existence.
28461
28462         maint.mk: drop redundant check
28463         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
28464         the same but better.
28465
28466 2011-05-11  Bruno Haible  <bruno@clisp.org>
28467
28468         fclose: Fix possible link error.
28469         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
28470         unregister_shadow_fd. Improve comments.
28471         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
28472         Eric Blake.
28473
28474 2011-05-11  Jim Meyering  <meyering@redhat.com>
28475
28476         maint.mk: improve "can not" detection and generalize rule name
28477         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
28478         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
28479         Use the same technique as in sc_prohibit_doubled_word, so that
28480         we recognize "can not" also when the words are separated by a newline.
28481         Suggested by Eric Blake.
28482         (perl_filename_lineno_text_): Define.  Factored out of...
28483         (prohibit_doubled_word_): ...here.  Use the new definition.
28484         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
28485         (prohibit_undesirable_word_seq_RE_): New overridable variable.
28486         (ignore_undesirable_word_sequence_RE_): New overridable variable.
28487
28488 2011-05-10  Eric Blake  <eblake@redhat.com>
28489
28490         fclose: avoid double close race when possible
28491         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
28492         all but WINDOWS_SOCKETS.
28493
28494 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
28495
28496         openat: correct new comment
28497         * lib/openat-proc.c (openat_proc_name): Correct the comment.
28498
28499 2011-05-10  Jim Meyering  <meyering@redhat.com>
28500
28501         openat: add comments
28502         * lib/openat-proc.c (openat_proc_name): Add comments,
28503         mostly from Eric Blake.
28504
28505 2011-05-09  Eric Blake  <eblake@redhat.com>
28506
28507         openat: reduce syscalls in first probe of /proc
28508         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
28509         be a directory.  Simplify the probe for .. bugs.
28510         * modules/openat (Depends-on): Drop same-inode.
28511         Reported by Bastien ROUCARIES.
28512
28513 2011-05-09  Jim Meyering  <meyering@redhat.com>
28514
28515         maint.mk: change semantics/name of tight_scope variables
28516         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
28517         Rename variables to align with semantics that make them more useful.
28518
28519         maint.mk: tweak new rule's name not to impinge
28520         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
28521         (sc_tight_scope): Use new rule name rather than $@-0.
28522
28523         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
28524         * top/maint.mk (sc_tight_scope): New rule.
28525         (sc_tight_scope-0): New rule, ifdef'd out.
28526         (_gl_TS_dir): Default.
28527         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
28528         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
28529
28530 2011-05-09  Simon Josefsson  <simon@josefsson.org>
28531
28532         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
28533         Haible <bruno@clisp.org>.
28534
28535 2011-05-08  Bruno Haible  <bruno@clisp.org>
28536
28537         Comments.
28538         * m4/isnanf.m4: Add comment.
28539         * m4/isnanl.m4: Likewise.
28540
28541 2011-05-08  Bruno Haible  <bruno@clisp.org>
28542
28543         glob: Remove obsolete macro.
28544         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
28545
28546 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
28547
28548         intprops: Sun C 5.11 supports __typeof__
28549         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
28550         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
28551         which is new.
28552         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
28553
28554         intprops: switch to usual gnulib indenting and naming
28555         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
28556         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
28557
28558         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
28559
28560 2011-05-08  Jim Meyering  <meyering@redhat.com>
28561
28562         maint.mk: suppress "Entering/Leaving directory" diag in announcement
28563         * top/maint.mk (release-prep): Use make's --no-print-directory
28564         option when generating the announcement.  This eliminates the
28565         pesky "make[2]: Entering/Leaving directory" diagnostics in the
28566         generated announcement template.
28567
28568 2011-05-08  Bruno Haible  <bruno@clisp.org>
28569
28570         tzset: Fix gettimeofday wrapper on Solaris 2.6.
28571         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
28572         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
28573
28574 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
28575
28576         ignore-value, verify: Omit include files from lib_SOURCES.
28577         * modules/ignore-value, modules/verify (Makefile.am):
28578         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
28579         that leads Automake to duplicate use of am__objects_... variables
28580         in Makefile.in.  See
28581         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
28582
28583 2011-05-07  Bruno Haible  <bruno@clisp.org>
28584
28585         fclose: Simplify autoconf macro.
28586         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
28587         defined.
28588
28589 2011-05-07  Bruno Haible  <bruno@clisp.org>
28590
28591         canonicalize-lgpl: Fix autoconf macro ordering bug.
28592         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
28593         gl_STDLIB_H_DEFAULTS.
28594
28595 2011-05-06  Eric Blake  <eblake@redhat.com>
28596
28597         maintainer-makefile: make sc_po_check easier to tune
28598         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
28599         to probe for strings, such as an alternate location for gnulib.
28600
28601         fclose: guarantee behavior on seekable stdin
28602         * modules/fclose (Depends-on): Add fflush.
28603         * doc/posix-functions/fclose.texi (fclose): Document this.
28604         * tests/test-fclose.c (main): Make test for this unconditional.
28605
28606 2011-05-06  Bruno Haible  <bruno@clisp.org>
28607
28608         fflush, fpurge: Relicense under LGPLv2+.
28609         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
28610         * modules/fpurge (License): Likewise.
28611         With permission from Eric Blake and Jim Meyering.
28612         Suggested by Eric Blake.
28613
28614 2011-05-06  Karl Berry  <karl@gnu.org>
28615
28616         * MODULES.html.sh (func_all_modules): remove exit.
28617
28618 2011-05-06  Jim Meyering  <meyering@redhat.com>
28619
28620         maint.mk: use info-gnu@ as the default only for a stable release
28621         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
28622         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
28623         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
28624         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
28625
28626 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
28627
28628         assert-h: new module, which supports C1X-style static_assert
28629         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
28630         * lib/verify.h: Revamp so that this can be copied into assert.h,
28631         while retaining the ability to use it standalone as before.
28632         Rename private identifiers so as not to encroach on the
28633         standard C namespace, since this is now used by assert.h.
28634         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
28635         the old verify_true.
28636         (_GL_VERIFY_TRUE): New macro, with much of the contents of
28637         the old verify_true.  Use _GL_VERIFY_TYPE.
28638         (_GL_VERIFY): New macro, with much of the contents of the old verify.
28639         (static_assert): New macro, if _GL_STATIC_ASSERT_H
28640         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
28641         defined when this file is copied into the replacement assert.h.
28642         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
28643         and _Static_assert is not built in.
28644         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
28645         defined, and use the new macros mentioned above.
28646         * doc/posix-headers/assert.texi: Document this.
28647
28648 2011-05-05  Bruno Haible  <bruno@clisp.org>
28649
28650         fclose, fflush: Respect rules for use of AC_LIBOBJ.
28651         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
28652         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
28653         gl_REPLACE_FCLOSE here.
28654         * modules/fflush (Depends-on): Remove fclose.
28655         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
28656         combination with module 'fclose'.
28657
28658 2011-05-05  Bruno Haible  <bruno@clisp.org>
28659
28660         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
28661         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
28662         gl_FUNC_FFLUSH.
28663         (gl_FUNC_FFLUSH): Use it.
28664         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
28665         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
28666         gl_REPLACE_FSEEKO here.
28667
28668 2011-05-05  Bruno Haible  <bruno@clisp.org>
28669
28670         tzset: Relicense under LGPL.
28671         * modules/tzset (License): Change to LGPL.
28672         No agreement needed; it's a no-op.
28673
28674         strtoimax, strtoumax: Relicense under LGPL.
28675         * modules/strtoimax (License): Change to LGPL.
28676         * modules/strtoumax (License): Likewise.
28677         With permission from Jim Meyering, Paul Eggert:
28678         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
28679         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
28680
28681         getgroups: Relicense under LGPL.
28682         * modules/getgroups (License): Change to LGPL.
28683         With permission from Jim Meyering, Paul Eggert, Eric Blake:
28684         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
28685         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
28686         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
28687
28688         nanosleep: Relicense under LGPL.
28689         * modules/nanosleep (License): Change to LGPL.
28690         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
28691         Haible:
28692         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
28693         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
28694         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
28695         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
28696
28697         futimens: Relicense under LGPL.
28698         * modules/futimens (License): Change to LGPL.
28699         With permission from Eric Blake:
28700         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
28701
28702         fflush: Relicense under LGPL.
28703         * modules/fflush (License): Change to LGPL.
28704         With permission from Eric Blake, Bruno Haible, Jim Meyering:
28705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
28706         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
28707         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
28708
28709         tmpfile: Relicense under LGPL.
28710         * modules/tmpfile (License): Change to LGPL.
28711         With permission from Ben Pfaff:
28712         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
28713
28714         isfinite: Relicense under LGPL.
28715         * modules/isfinite (License): Change to LGPL.
28716         With permission from Ben Pfaff, Bruno Haible:
28717         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
28718         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
28719
28720         acosl..tanl: Relicense under LGPL.
28721         * modules/acosl (License): Change to LGPL.
28722         * modules/asinl (License): Likewise.
28723         * modules/atanl (License): Likewise.
28724         * modules/cosl (License): Likewise.
28725         * modules/expl (License): Likewise.
28726         * modules/logl (License): Likewise.
28727         * modules/sinl (License): Likewise.
28728         * modules/sqrtl (License): Likewise.
28729         * modules/tanl (License): Likewise.
28730         Source code originally from glibc and Paolo Bonzini. Agreements:
28731         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
28732         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
28733
28734 2011-05-05  Bruno Haible  <bruno@clisp.org>
28735
28736         signal: Define sighandler_t.
28737         * lib/signal.in.h (sighandler_t): New type.
28738         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
28739         whether sighandler_t is defined.
28740         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
28741         * modules/signal (Depends-on): Add extensions.
28742         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
28743         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
28744         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
28745
28746 2011-05-05  Eric Blake  <eblake@redhat.com>
28747
28748         maint: remove useless REPLACE_*_H macros
28749         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
28750         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28751         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28752         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
28753         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28754         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28755         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
28756         * m4/btowc.m4: Update callers.
28757         * m4/dirfd.m4: Likewise.
28758         * m4/duplocale.m4: Likewise.
28759         * m4/fchdir.m4: Likewise.
28760         * m4/fdopendir.m4: Likewise.
28761         * m4/inet_ntop.m4: Likewise.
28762         * m4/inet_pton.m4: Likewise.
28763         * m4/ioctl.m4: Likewise.
28764         * m4/mbrlen.m4: Likewise.
28765         * m4/mbrtowc.m4: Likewise.
28766         * m4/mbsinit.m4: Likewise.
28767         * m4/mbsnrtowcs.m4: Likewise.
28768         * m4/mbsrtowcs.m4: Likewise.
28769         * m4/poll.m4: Likewise.
28770         * m4/setlocale.m4: Likewise.
28771         * m4/wcrtomb.m4: Likewise.
28772         * m4/wcsnrtombs.m4: Likewise.
28773         * m4/wcsrtombs.m4: Likewise.
28774         * m4/wctob.m4: Likewise.
28775         * m4/wcwidth.m4: Likewise.
28776         * modules/posix_spawn: Likewise.
28777         * modules/posix_spawn_file_actions_addclose: Likewise.
28778         * modules/posix_spawn_file_actions_adddup2: Likewise.
28779         * modules/posix_spawn_file_actions_addopen: Likewise.
28780         * modules/posix_spawn_file_actions_destroy: Likewise.
28781         * modules/posix_spawn_file_actions_init: Likewise.
28782         * modules/posix_spawnattr_destroy: Likewise.
28783         * modules/posix_spawnattr_getflags: Likewise.
28784         * modules/posix_spawnattr_getpgroup: Likewise.
28785         * modules/posix_spawnattr_getschedparam: Likewise.
28786         * modules/posix_spawnattr_getschedpolicy: Likewise.
28787         * modules/posix_spawnattr_getsigdefault: Likewise.
28788         * modules/posix_spawnattr_getsigmask: Likewise.
28789         * modules/posix_spawnattr_init: Likewise.
28790         * modules/posix_spawnattr_setflags: Likewise.
28791         * modules/posix_spawnattr_setpgroup: Likewise.
28792         * modules/posix_spawnattr_setschedparam: Likewise.
28793         * modules/posix_spawnattr_setschedpolicy: Likewise.
28794         * modules/posix_spawnattr_setsigdefault: Likewise.
28795         * modules/posix_spawnattr_setsigmask: Likewise.
28796         * modules/posix_spawnp: Likewise.
28797
28798 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
28799
28800         Add option to do-release-commit-and-tag to specify branch.
28801         * build-aux/do-release-commit-and-tag: Add --branch.
28802
28803 2011-05-03  Bruno Haible  <bruno@clisp.org>
28804
28805         Avoid unnecessary compilation units, through conditional dependencies.
28806         * modules/accept (Depends-on): Add conditions to the dependencies.
28807         * modules/acosl (Depends-on): Likewise.
28808         * modules/argz (Depends-on): Likewise.
28809         * modules/asinl (Depends-on): Likewise.
28810         * modules/atanl (Depends-on): Likewise.
28811         * modules/atoll (Depends-on): Likewise.
28812         * modules/bind (Depends-on): Likewise.
28813         * modules/btowc (Depends-on): Likewise.
28814         * modules/canonicalize-lgpl (Depends-on): Likewise.
28815         * modules/ceil (Depends-on): Likewise.
28816         * modules/ceilf (Depends-on): Likewise.
28817         * modules/ceill (Depends-on): Likewise.
28818         * modules/chdir-long (Depends-on): Likewise.
28819         * modules/chown (Depends-on): Likewise.
28820         * modules/close (Depends-on): Likewise.
28821         * modules/connect (Depends-on): Likewise.
28822         * modules/cosl (Depends-on): Likewise.
28823         * modules/dirfd (Depends-on): Likewise.
28824         * modules/dprintf (Depends-on): Likewise.
28825         * modules/dprintf-posix (Depends-on): Likewise.
28826         * modules/error (Depends-on): Likewise.
28827         * modules/euidaccess (Depends-on): Likewise.
28828         * modules/expl (Depends-on): Likewise.
28829         * modules/faccessat (Depends-on): Likewise.
28830         * modules/fchdir (Depends-on): Likewise.
28831         * modules/fclose (Depends-on): Likewise.
28832         * modules/fcntl (Depends-on): Likewise.
28833         * modules/fdopendir (Depends-on): Likewise.
28834         * modules/fflush (Depends-on): Likewise.
28835         * modules/floor (Depends-on): Likewise.
28836         * modules/floorf (Depends-on): Likewise.
28837         * modules/floorl (Depends-on): Likewise.
28838         * modules/fnmatch (Depends-on): Likewise.
28839         * modules/fopen (Depends-on): Likewise.
28840         * modules/fprintf-posix (Depends-on): Likewise.
28841         * modules/frexp (Depends-on): Likewise.
28842         * modules/frexp-nolibm (Depends-on): Likewise.
28843         * modules/frexpl (Depends-on): Likewise.
28844         * modules/frexpl-nolibm (Depends-on): Likewise.
28845         * modules/fseek (Depends-on): Likewise.
28846         * modules/fsusage (Depends-on): Likewise.
28847         * modules/ftell (Depends-on): Likewise.
28848         * modules/ftello (Depends-on): Likewise.
28849         * modules/futimens (Depends-on): Likewise.
28850         * modules/getcwd (Depends-on): Likewise.
28851         * modules/getcwd-lgpl (Depends-on): Likewise.
28852         * modules/getdelim (Depends-on): Likewise.
28853         * modules/getdomainname (Depends-on): Likewise.
28854         * modules/getgroups (Depends-on): Likewise.
28855         * modules/gethostname (Depends-on): Likewise.
28856         * modules/getline (Depends-on): Likewise.
28857         * modules/getlogin_r (Depends-on): Likewise.
28858         * modules/getopt-posix (Depends-on): Likewise.
28859         * modules/getpeername (Depends-on): Likewise.
28860         * modules/getsockname (Depends-on): Likewise.
28861         * modules/getsockopt (Depends-on): Likewise.
28862         * modules/getsubopt (Depends-on): Likewise.
28863         * modules/getusershell (Depends-on): Likewise.
28864         * modules/glob (Depends-on): Likewise.
28865         * modules/grantpt (Depends-on): Likewise.
28866         * modules/iconv_open (Depends-on): Likewise.
28867         * modules/iconv_open-utf (Depends-on): Likewise.
28868         * modules/inet_ntop (Depends-on): Likewise.
28869         * modules/inet_pton (Depends-on): Likewise.
28870         * modules/ioctl (Depends-on): Likewise.
28871         * modules/isapipe (Depends-on): Likewise.
28872         * modules/isfinite (Depends-on): Likewise.
28873         * modules/isinf (Depends-on): Likewise.
28874         * modules/lchown (Depends-on): Likewise.
28875         * modules/ldexpl (Depends-on): Likewise.
28876         * modules/link (Depends-on): Likewise.
28877         * modules/linkat (Depends-on): Likewise.
28878         * modules/listen (Depends-on): Likewise.
28879         * modules/logl (Depends-on): Likewise.
28880         * modules/lstat (Depends-on): Likewise.
28881         * modules/mbrlen (Depends-on): Likewise.
28882         * modules/mbrtowc (Depends-on): Likewise.
28883         * modules/mbsinit (Depends-on): Likewise.
28884         * modules/mbsnrtowcs (Depends-on): Likewise.
28885         * modules/mbsrtowcs (Depends-on): Likewise.
28886         * modules/mbtowc (Depends-on): Likewise.
28887         * modules/memcmp (Depends-on): Likewise.
28888         * modules/mkdir (Depends-on): Likewise.
28889         * modules/mkdtemp (Depends-on): Likewise.
28890         * modules/mkfifo (Depends-on): Likewise.
28891         * modules/mkfifoat (Depends-on): Likewise.
28892         * modules/mknod (Depends-on): Likewise.
28893         * modules/mkostemp (Depends-on): Likewise.
28894         * modules/mkostemps (Depends-on): Likewise.
28895         * modules/mkstemp (Depends-on): Likewise.
28896         * modules/mkstemps (Depends-on): Likewise.
28897         * modules/mktime (Depends-on): Likewise.
28898         * modules/nanosleep (Depends-on): Likewise.
28899         * modules/open (Depends-on): Likewise.
28900         * modules/openat (Depends-on): Likewise.
28901         * modules/perror (Depends-on): Likewise.
28902         * modules/poll (Depends-on): Likewise.
28903         * modules/popen (Depends-on): Likewise.
28904         * modules/posix_spawn (Depends-on): Likewise.
28905         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
28906         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
28907         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
28908         * modules/posix_spawnp (Depends-on): Likewise.
28909         * modules/pread (Depends-on): Likewise.
28910         * modules/printf-posix (Depends-on): Likewise.
28911         * modules/ptsname (Depends-on): Likewise.
28912         * modules/putenv (Depends-on): Likewise.
28913         * modules/pwrite (Depends-on): Likewise.
28914         * modules/readline (Depends-on): Likewise.
28915         * modules/readlink (Depends-on): Likewise.
28916         * modules/readlinkat (Depends-on): Likewise.
28917         * modules/recv (Depends-on): Likewise.
28918         * modules/recvfrom (Depends-on): Likewise.
28919         * modules/regex (Depends-on): Likewise.
28920         * modules/remove (Depends-on): Likewise.
28921         * modules/rename (Depends-on): Likewise.
28922         * modules/renameat (Depends-on): Likewise.
28923         * modules/rmdir (Depends-on): Likewise.
28924         * modules/round (Depends-on): Likewise.
28925         * modules/roundf (Depends-on): Likewise.
28926         * modules/roundl (Depends-on): Likewise.
28927         * modules/rpmatch (Depends-on): Likewise.
28928         * modules/select (Depends-on): Likewise.
28929         * modules/send (Depends-on): Likewise.
28930         * modules/sendto (Depends-on): Likewise.
28931         * modules/setenv (Depends-on): Likewise.
28932         * modules/setlocale (Depends-on): Likewise.
28933         * modules/setsockopt (Depends-on): Likewise.
28934         * modules/shutdown (Depends-on): Likewise.
28935         * modules/sigaction (Depends-on): Likewise.
28936         * modules/signbit (Depends-on): Likewise.
28937         * modules/sigprocmask (Depends-on): Likewise.
28938         * modules/sinl (Depends-on): Likewise.
28939         * modules/sleep (Depends-on): Likewise.
28940         * modules/snprintf (Depends-on): Likewise.
28941         * modules/snprintf-posix (Depends-on): Likewise.
28942         * modules/socket (Depends-on): Likewise.
28943         * modules/sprintf-posix (Depends-on): Likewise.
28944         * modules/sqrtl (Depends-on): Likewise.
28945         * modules/stat (Depends-on): Likewise.
28946         * modules/strchrnul (Depends-on): Likewise.
28947         * modules/strdup-posix (Depends-on): Likewise.
28948         * modules/strerror (Depends-on): Likewise.
28949         * modules/strerror_r-posix (Depends-on): Likewise.
28950         * modules/strndup (Depends-on): Likewise.
28951         * modules/strnlen (Depends-on): Likewise.
28952         * modules/strptime (Depends-on): Likewise.
28953         * modules/strsep (Depends-on): Likewise.
28954         * modules/strsignal (Depends-on): Likewise.
28955         * modules/strstr-simple (Depends-on): Likewise.
28956         * modules/strtod (Depends-on): Likewise.
28957         * modules/strtoimax (Depends-on): Likewise.
28958         * modules/strtok_r (Depends-on): Likewise.
28959         * modules/strtoumax (Depends-on): Likewise.
28960         * modules/symlink (Depends-on): Likewise.
28961         * modules/symlinkat (Depends-on): Likewise.
28962         * modules/tanl (Depends-on): Likewise.
28963         * modules/tcgetsid (Depends-on): Likewise.
28964         * modules/tmpfile (Depends-on): Likewise.
28965         * modules/trunc (Depends-on): Likewise.
28966         * modules/truncf (Depends-on): Likewise.
28967         * modules/truncl (Depends-on): Likewise.
28968         * modules/uname (Depends-on): Likewise.
28969         * modules/unlink (Depends-on): Likewise.
28970         * modules/unlockpt (Depends-on): Likewise.
28971         * modules/unsetenv (Depends-on): Likewise.
28972         * modules/usleep (Depends-on): Likewise.
28973         * modules/utimensat (Depends-on): Likewise.
28974         * modules/vasprintf (Depends-on): Likewise.
28975         * modules/vdprintf (Depends-on): Likewise.
28976         * modules/vdprintf-posix (Depends-on): Likewise.
28977         * modules/vfprintf-posix (Depends-on): Likewise.
28978         * modules/vprintf-posix (Depends-on): Likewise.
28979         * modules/vsnprintf (Depends-on): Likewise.
28980         * modules/vsnprintf-posix (Depends-on): Likewise.
28981         * modules/vsprintf-posix (Depends-on): Likewise.
28982         * modules/wcrtomb (Depends-on): Likewise.
28983         * modules/wcscasecmp (Depends-on): Likewise.
28984         * modules/wcscspn (Depends-on): Likewise.
28985         * modules/wcsdup (Depends-on): Likewise.
28986         * modules/wcsncasecmp (Depends-on): Likewise.
28987         * modules/wcsnrtombs (Depends-on): Likewise.
28988         * modules/wcspbrk (Depends-on): Likewise.
28989         * modules/wcsrtombs (Depends-on): Likewise.
28990         * modules/wcsspn (Depends-on): Likewise.
28991         * modules/wcsstr (Depends-on): Likewise.
28992         * modules/wcstok (Depends-on): Likewise.
28993         * modules/wcswidth (Depends-on): Likewise.
28994         * modules/wctob (Depends-on): Likewise.
28995         * modules/wctomb (Depends-on): Likewise.
28996         * modules/wctype (Depends-on): Likewise.
28997         * modules/wcwidth (Depends-on): Likewise.
28998         * modules/write (Depends-on): Likewise.
28999
29000 2011-05-03  Bruno Haible  <bruno@clisp.org>
29001
29002         Support for conditional dependencies.
29003         * doc/gnulib.texi (Module description): Document the syntax of
29004         conditional dependencies.
29005         * gnulib-tool: New option --conditional-dependencies.
29006         (func_usage): Document it.
29007         (cond_dependencies): New variable.
29008         (func_get_automake_snippet_conditional,
29009         func_get_automake_snippet_unconditional): New functions, extracted from
29010         func_get_automake_snippet.
29011         (func_get_automake_snippet): Use them.
29012         (sed_first_32_chars): New variable.
29013         (func_module_shellfunc_name): New function.
29014         (func_module_shellvar_name): New function.
29015         (func_module_conditional_name): New function.
29016         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
29017         func_cond_module_condition): New functions.
29018         (func_modules_transitive_closure): Add support for conditional
29019         dependencies.
29020         (func_emit_lib_Makefile_am): For a conditional module, enclose the
29021         conditional automake snippet in an automake conditional.
29022         (func_emit_autoconf_snippets): Emit shell functions that contain the
29023         code for conditional modules.
29024         (func_import, func_create_testdir): Update specification.
29025
29026 2011-05-03  Eric Blake  <eblake@redhat.com>
29027
29028         test-getaddrinfo: report error information
29029         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
29030
29031 2011-05-03  Jim Meyering  <meyering@redhat.com>
29032
29033         bootstrap: avoid build failure when $GZIP is set
29034         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
29035         program name.  If defined at all, it is supposed to list gzip options.
29036         Reported by Alan Curry in http://debbugs.gnu.org/8609
29037
29038 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
29039
29040         readme-release: new module with release instructions
29041         * modules/readme-release: New module.
29042         * top/README-release: New file, from coreutils, grep, diffutils.
29043         * MODULES.html.sh (Support for maintaining and releasing): Add it.
29044
29045 2011-05-02  Eric Blake  <eblake@redhat.com>
29046
29047         fflush: also replace fclose when fixing fflush
29048         * modules/fflush (Depends-on): Add fclose.
29049         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
29050         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
29051         memstreams with no backing fd.
29052         * doc/posix-functions/fclose.texi (fclose): Document the use of
29053         fflush module to fix the bug.
29054         * tests/test-fclose.c (main): Relax test when fclose is used in
29055         isolation.
29056
29057         fclose: add some tests
29058         * modules/fclose-tests: New test module.
29059         * tests/test-fclose.c: New file.
29060         * doc/posix-functions/fclose.texi (fclose): Document the bug.
29061
29062         fclose: reduced dependencies
29063         * modules/fclose (Depends-on): Switch from fflush/fseeko to
29064         simpler lseek.
29065         * lib/fclose.c (rpl_fclose): Likewise.
29066         Reported by Simon Josefsson.
29067
29068         exit: drop remaining clients
29069         * modules/argmatch (Depends-on): Replace exit with stdlib.
29070         * modules/copy-file (Depends-on): Likewise.
29071         * modules/execute (Depends-on): Likewise.
29072         * modules/exitfail (Depends-on): Likewise.
29073         * modules/obstack (Depends-on): Likewise.
29074         * modules/pagealign_alloc (Depends-on): Likewise.
29075         * modules/pipe-filter-gi (Depends-on): Likewise.
29076         * modules/pipe-filter-ii (Depends-on): Likewise.
29077         * modules/savewd (Depends-on): Likewise.
29078         * modules/spawn-pipe (Depends-on): Likewise.
29079         * modules/wait-process (Depends-on): Likewise.
29080         * modules/xsetenv (Depends-on): Likewise.
29081         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
29082         * modules/git-merge-changelog (Depends-on): Likewise.
29083         * modules/long-options (Depends-on): Likewise.
29084         * modules/pt_chown (Depends-on): Likewise.
29085         * modules/sysexits (Depends-on): Likewise.
29086
29087         freading: relax license from LGPLv3+ to LGPLv2+
29088         * modules/freading (License): Relax LGPL version.
29089
29090 2011-05-02  Bruno Haible  <bruno@clisp.org>
29091
29092         fchdir: Remove unused dependencies.
29093         * modules/fchdir (Depends-on): Remove include_next.
29094
29095 2011-05-02  Bruno Haible  <bruno@clisp.org>
29096
29097         gnulib-tool: Refactor.
29098         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
29099         from func_emit_autoconf_snippets.
29100         (func_emit_autoconf_snippets): Use it.
29101
29102 2011-05-02  Simon Josefsson  <simon@josefsson.org>
29103
29104         * NEWS: Document removal of 'exit'.
29105         * modules/exit: Remove file.
29106
29107 2011-05-01  Bruno Haible  <bruno@clisp.org>
29108
29109         Update DEPENDENCIES.
29110         * DEPENDENCIES (gettext): Recommend the newest release.
29111         Reported by Simon Josefsson.
29112
29113 2011-05-01  Bruno Haible  <bruno@clisp.org>
29114
29115         gnulib-tool: Reduce code duplication.
29116         * gnulib-tool (func_emit_autoconf_snippets): New function.
29117         (func_import, func_create_testdir): Use it.
29118
29119 2011-04-30  Eric Blake  <eblake@redhat.com>
29120
29121         fclose: don't fail on non-seekable input stream
29122         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
29123         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
29124         since fflush is allowed to fail in that case.
29125
29126 2011-04-30  Bruno Haible  <bruno@clisp.org>
29127
29128         dup3: cleanup
29129         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
29130
29131 2011-04-30  Bruno Haible  <bruno@clisp.org>
29132
29133         netdb: Make it work in C++ mode.
29134         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
29135         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
29136         module.
29137         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
29138         gl_MODULE_INDICATOR_FOR_TESTS.
29139         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
29140         * modules/netdb-c++-tests: New file.
29141         * tests/test-netdb-c++.cc: New file.
29142
29143 2011-04-30  Bruno Haible  <bruno@clisp.org>
29144
29145         New modules 'vfscanf', 'vscanf'.
29146         * modules/vfscanf: New file.
29147         * modules/vscanf: New file.
29148         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
29149         here.
29150         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
29151         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
29152
29153 2011-04-30  Bruno Haible  <bruno@clisp.org>
29154
29155         passfd: Add comments.
29156         * lib/passfd.c: Add comments about platforms.
29157
29158 2011-04-30  Bruno Haible  <bruno@clisp.org>
29159
29160         sys_uio: Make <sys/uio.h> self-contained.
29161         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
29162         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
29163
29164 2011-04-30  Bruno Haible  <bruno@clisp.org>
29165
29166         sys_socket: Ensure 'struct iovec' definition.
29167         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
29168         <sys/socket.h>.
29169         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
29170
29171 2011-04-30  Bruno Haible  <bruno@clisp.org>
29172
29173         sys_uio: Protect definition of 'struct iovec'.
29174         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
29175         it as a C struct.
29176
29177 2011-04-30  Bruno Haible  <bruno@clisp.org>
29178
29179         manywarnings: fix indentation
29180         * m4/manywarnings.m4: Indent by 2 spaces consistently.
29181
29182 2011-04-30  Pádraig Brady <P@draigBrady.com>
29183
29184         manywarnings: add -Wno-missing-field-initializers if needed.
29185         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
29186         option if it's needed to allow initialization with { 0, }
29187
29188 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
29189
29190         announce-gen: cosmetic improvement
29191         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
29192
29193 2011-04-29  Jim Meyering  <meyering@redhat.com>
29194
29195         vc-list-files: indent with spaces, not TABs
29196         * build-aux/vc-list-files: Convert leading TABs to spaces,
29197         to match the style of most other files in gnulib.
29198
29199         announce-gen: indent with spaces, not TABs
29200         * build-aux/announce-gen: Convert all TABs to spaces, to match
29201         the style of most other files in gnulib.
29202
29203 2011-04-29  Eric Blake  <eblake@redhat.com>
29204
29205         quotearg: avoid uninitialized variable use
29206         * lib/quotearg.c (quoting_options_from_style): Initialize
29207         remaining fields, and ensure that custom styles are only used via
29208         quoting_options rather than quoting_style.
29209
29210 2011-04-29  Jim Meyering  <meyering@redhat.com>
29211
29212         maint.mk: remove unused VC-tag variable
29213         * top/maint.mk (VC-tag): Remove unused variable.
29214
29215 2011-04-29  Bruno Haible  <bruno@clisp.org>
29216
29217         netdb: fix gai_strerror replacements
29218         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
29219         * modules/netdb: Substitute it.
29220
29221 2011-04-29  Jim Meyering  <meyering@redhat.com>
29222
29223         test-getcwd.c: avoid new set-but-not-used warning
29224         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
29225         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
29226         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
29227         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
29228
29229         test-hash.c: avoid a new shadowing warning
29230         * tests/test-hash.c (main): Don't shadow "dup".
29231
29232 2011-04-28  Eric Blake  <eblake@redhat.com>
29233
29234         getaddrinfo: fix gai_strerror signature
29235         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
29236         and work around mingw with UNICODE defined.
29237         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
29238         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
29239         * modules/netdb (Makefile.am): Substitute it.
29240         * lib/netdb.in.h (gai_strerror): Declare replacement.
29241         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
29242         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
29243         the fix.
29244
29245         getsockopt: avoid compiler warning
29246         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
29247         Reported by Matthias Bolte.
29248
29249         tests: drop unused link dependency
29250         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
29251         * modules/dirent-safer-tests (Makefile.am): Likewise.
29252         * modules/fdopendir-tests (Makefile.am): Likewise.
29253         * modules/mkfifoat-tests (Makefile.am): Likewise.
29254         * modules/openat-safer-tests (Makefile.am): Likewise.
29255         * modules/openat-tests (Makefile.am): Likewise.
29256         * modules/readlinkat-tests (Makefile.am): Likewise.
29257         * modules/symlinkat-tests (Makefile.am): Likewise.
29258         * modules/linkat-tests (Makefile.am): Likewise.
29259         (Depends-on): Switch to filenamecat-lgpl.
29260         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
29261         LIBINTL.
29262         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
29263         * tests/test-linkat.c (main): Don't require xalloc.
29264
29265         hash, mgetgroups: drop xalloc dependency
29266         * lib/hash.c (includes): Adjust includes.
29267         * lib/mgetgroups.c (includes): Likewise.
29268         (xgetgroups): Move...
29269         * lib/xgetgroups.c: ...to new file.
29270         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
29271         * modules/xgetgroups: New file, split from...
29272         * modules/mgetgroups: ...here.
29273         (Depends-on): Add xalloc-oversized.
29274         * modules/hash (Depends-on): Likewise.
29275         * modules/hash-tests (Depends-on): Drop xalloc.
29276         (test_hash_LDADD): Drop unused library.
29277         * tests/test-hash.c (main): Break xalloc dependency.
29278         (includes): Drop unused include.
29279
29280         xalloc-oversized: new module
29281         * modules/xalloc-oversized: New module.
29282         * modules/xalloc (Depends-on): Add it.
29283         * lib/xalloc.h (xalloc_oversized): Move...
29284         * lib/xalloc-oversized.h: ...into new file.
29285
29286         utimecmp: drop dependency on xmalloc
29287         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
29288         due to memory pressure.
29289         * modules/utimecmp (Depends-on): Drop xalloc.
29290
29291 2011-04-27  Eric Blake  <eblake@redhat.com>
29292
29293         getcwd: fix mingw bugs
29294         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
29295         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
29296         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
29297
29298 2011-04-27  Bruno Haible  <bruno@clisp.org>
29299
29300         mkstemps: Ensure declaration on MacOS X 10.5.
29301         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
29302         * doc/glibc-functions/mkstemps.texi: Document header file problem on
29303         MacOS X.
29304
29305 2011-04-27  Bruno Haible  <bruno@clisp.org>
29306
29307         mkstemp: More documentation.
29308         * doc/posix-functions/mkstemp.texi: Document header file problem on
29309         MacOS X.
29310
29311 2011-04-27  Bruno Haible  <bruno@clisp.org>
29312
29313         mkstemp: Tweak configure message when cross-compiling.
29314         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
29315         result as a guess.
29316
29317 2011-04-27  Bruno Haible  <bruno@clisp.org>
29318
29319         clean-temp: Clarify what it does.
29320         * lib/clean-temp.h: Add more comments.
29321         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
29322         module.
29323         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
29324         * doc/glibc-functions/mkstemps.texi: Likewise.
29325         * doc/glibc-functions/mkostemps.texi: Likewise.
29326
29327 2011-04-27  Eric Blake  <eblake@redhat.com>
29328
29329         fchdir: avoid extra chdir and fix test
29330         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
29331         getcwd-lgpl.
29332         * lib/fchdir.c (get_name): Any absolute name will do; it does not
29333         have to be canonical.
29334         (canonicalize_file_name): Drop unused macro.
29335         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
29336
29337         filenamecat-lgpl: fix licence
29338         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
29339         when it was first created.
29340
29341         linkat, renameat: add missing dependency
29342         * modules/linkat (Depends-on): Require getcwd-lgpl.
29343         * modules/renameat (Depends-on): Likewise.
29344
29345         tests: reduce dependencies
29346         * tests/test-linkat.c (main): Use lighter-weight getcwd.
29347         * tests/test-renameat.c (main): Likewise.
29348         * modules/linkat-tests (Depends-on): Relax dependency.
29349         * modules/renameat-tests (Depends-on): Likewise.
29350         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
29351         dependency explicit.
29352
29353         save-cwd: reduce default dependency
29354         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
29355         * lib/save-cwd.c: Update comments.
29356         * NEWS: Document the semantic change.
29357
29358         getcwd: enhance tests
29359         * tests/test-getcwd-lgpl.c: New file, taken from...
29360         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
29361         repeat long path stress tests from m4 probe.
29362         * modules/getcwd-lgpl-tests: New module.
29363         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
29364         * m4/getcwd-abort-bug.m4: Update comment.
29365         * m4/getcwd-path-max.m4: Likewise.
29366
29367         getcwd-lgpl: new module
29368         * modules/getcwd-lgpl: New module.
29369         * lib/getcwd-lgpl.c: New file.
29370         * doc/posix-functions/getcwd.texi (getcwd): Document it.
29371         * MODULES.html.sh (lacking POSIX:2008): Likewise.
29372         * modules/getcwd (configure.ac): Set C witness.
29373         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
29374
29375         getcwd: tweak comments
29376         * m4/getcwd-abort-bug.m4: Fix comments.
29377         * m4/getcwd-path-max.m4: Likewise.
29378         * m4/getcwd.m4: Likewise.
29379
29380 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
29381         and Eric Blake  <eblake@redhat.com>
29382
29383         mkstemp: replace if system version uses wrong permissions
29384         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
29385         read/write mode bits set in file created by mkstemp.
29386         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
29387
29388 2011-04-27  Eric Blake  <eblake@redhat.com>
29389
29390         passfd: avoid compiler warning
29391         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
29392         Reported by Laine Stump.
29393
29394 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
29395
29396         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
29397         required by the NetBSD (and perhaps other 4.4BSD derived) join.
29398
29399 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
29400         and Eric Blake  <eblake@redhat.com>
29401
29402         mkstemp: mention clean-temp module
29403         * lib/mkstemp.c: Add comment.
29404         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
29405
29406 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
29407
29408         inttypes: also provide default values for 32-bit tests
29409         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
29410         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
29411
29412 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
29413
29414         strtoumax: remove dependency on strtoimax
29415         This is like the strtoull change of yesterday.
29416         * modules/strtoumax (Files): Add lib/strtoimax.c.
29417         (Depends-on): Remove strtoimax and add verify.
29418
29419         inttypes-incomplete: new module
29420         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
29421         all but the PRI* and SCN* parts of gl_INTTYPES_H.
29422         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
29423         of gl_INTTYPES_H.
29424         (gl_INTTYPES_H): Rewrite in terms of these new macros.
29425         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
29426         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
29427         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
29428         * modules/strtoumax, modules/xstrtol (Depends-on):
29429         Depend on inttypes-incomplete, not inttypes.
29430         * modules/inttypes-incomplete: New module, containing the contents
29431         of the old modules/inttypes module, except that the Files: section
29432         omits m4/inttypes-pri.m4, and the configure.ac section invokes
29433         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
29434         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
29435         (Depends-on): Depend only on inttypes-incomplete.
29436         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
29437
29438         inttypes: omit now-redundant strtoimax and strtoumax work
29439         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
29440         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
29441
29442         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
29443         This supports apps that need pointers to strtoimax and strtoumax,
29444         and ports to HP-UX 11.00 64.bit, which has macros that expand to
29445         nonexistent functions.  See
29446         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
29447         et seq.
29448         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
29449         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
29450         a macro.
29451         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
29452
29453 2011-04-25  Simon Josefsson  <simon@josefsson.org>
29454
29455         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
29456
29457 2011-04-25  Bruno Haible  <bruno@clisp.org>
29458
29459         strtol, strtoul: Mark modules as obsolete.
29460         * modules/strtol (Status, Notice): New sections.
29461         * modules/strtoul (Status, Notice): New sections.
29462
29463 2011-04-25  Bruno Haible  <bruno@clisp.org>
29464
29465         strtod: Remove check for strtod, unless supporting old platforms.
29466         * modules/strtod-obsolete: New file.
29467         * m4/strtod-obsolete.m4: New file.
29468         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
29469         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
29470         * modules/strtod (Depends-on): Add strtod-obsolete.
29471         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
29472
29473 2011-04-25  Bruno Haible  <bruno@clisp.org>
29474
29475         strcase: Make module obsolete.
29476         * modules/strcase (Status, Notice): New sections.
29477
29478 2011-04-25  Bruno Haible  <bruno@clisp.org>
29479
29480         dup2: Remove check for dup2, unless supporting old obsolete platforms.
29481         * modules/dup2-obsolete: New file.
29482         * m4/dup2-obsolete.m4: New file.
29483         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
29484         gl_FUNC_DUP2_OBSOLETE is not also defined.
29485         * modules/dup2 (Depends-on): Add dup2-obsolete.
29486         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
29487
29488 2011-04-25  Bruno Haible  <bruno@clisp.org>
29489
29490         strnlen: Avoid memchr related link error on old obsolete platforms.
29491         * modules/memchr-obsolete: New file.
29492         * m4/memchr-obsolete.m4: New file.
29493         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
29494         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
29495         * modules/memchr (Depends-on): Add memchr-obsolete.
29496         * modules/strnlen (Depends-on): Likewise.
29497         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
29498
29499 2011-04-25  Jim Meyering  <meyering@redhat.com>
29500
29501         maint.mk: makefile_at_at_check extend and clean up
29502         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
29503         in addition to */Makefile.am.
29504         Exempt legitimate uses of @VAR@ notation, e.g.,
29505         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
29506         Remove obsolete coreutils-specific comment.
29507         Prompted by discussion here:
29508         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
29509
29510 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
29511
29512         strtoul: remove dependency on strtol
29513         This is so that 'configure' need not check for strtol merely because
29514         the application needs strtoul.
29515         * modules/strtoul (Files): Add lib/strtol.c.
29516         (Depends-on): Remove strtol.
29517
29518         strtoull: remove dependency on strtoul
29519         This is like the strtoll change.
29520         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
29521         (Depends-on): Remove strtoul.
29522
29523         strtoll: remove dependency on strtol
29524         This is so that 'configure' need not check for strtol merely because
29525         the application needs strtoll.
29526         * modules/strtoll (Files): Add lib/strtol.c.
29527         (Depends-on): Remove strtol.
29528
29529 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
29530
29531         inttypes: Move some configure check to module 'imaxdiv'.
29532         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
29533         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
29534         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
29535
29536 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
29537
29538         inttypes: Move some configure check to module 'imaxabs'.
29539         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
29540         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
29541         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
29542
29543 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
29544
29545         inttypes: Remove configure tests that are not needed since 2009-12-31.
29546         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
29547         gl_cv_header_working_inttypes_h.
29548
29549 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
29550
29551         * modules/strnlen (Depends-on): Remove memchr.
29552         The strnlen implementation doesn't need the memchr module's fixes; see
29553         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
29554
29555         strtol: remove dependency on wchar
29556         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
29557         * modules/strtol (Depends-on): Remove wchar.
29558
29559 2011-04-21  Eric Blake  <eblake@redhat.com>
29560
29561         passfd: fix test regression on Linux
29562         * modules/passfd-tests (configure.ac): Correct socketpair check.
29563
29564         passfd: speed up configure and drop unused code
29565         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
29566         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
29567         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
29568         Instead of probing at configure for unix_scm_rights_bsd44_way,
29569         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
29570         check to a struct member probe.
29571         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
29572         (sendfd, recvfd): Update preprocessor checks.
29573         * modules/passfd (Files): Reflect rename, and drop unused file.
29574         (Depends-on): Drop unused dependency.
29575
29576         passfd: allow compilation on mingw
29577         * modules/sys_socket (Depends-on): Add sys_uio.
29578         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
29579         iovec and a minimal struct msghdr.
29580         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
29581         * tests/test-sys_socket.c (main): Enhance test.
29582         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
29583         guaranteed to provide what we need.
29584         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
29585         * modules/passfd-tests (Depends-on): Add sys_wait.
29586         * tests/test-passfd.c (main): Skip test on mingw, for now.
29587         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
29588         partial 'struct msghdr' implementation.
29589
29590         sys_uio: new module
29591         * modules/sys_uio: New module.
29592         * modules/sys_uio-tests: Likewise.
29593         * lib/sys_uio.in.h: New file.
29594         * m4/sys_uio_h.m4: Likewise.
29595         * tests/test-sys_uio.c: Likewise.
29596         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
29597         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
29598
29599 2011-04-20  Jim Meyering  <meyering@redhat.com>
29600
29601         useless-if-before-free: avoid false-positive
29602         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
29603         disjunct so that it too requires a terminating ";".  Without that,
29604         this script would identify as useless one statement from gcc that
29605         was not:
29606           if (aligned_ptr)
29607             free (((void **) aligned_ptr) [-1]);
29608
29609 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
29610
29611         doc: update users.txt.
29612         * users.txt: Add barcode.
29613
29614 2011-04-19  Bruno Haible  <bruno@clisp.org>
29615
29616         ioctl: Remove link dependency on native Windows.
29617         * lib/fd-hook.h: Renamed from lib/close-hook.h.
29618         (gl_close_fn, gl_ioctl_fn): New types.
29619         (struct fd_hook): Renamed from struct close_hook. Change type of
29620         private_close_fn field. Add private_ioctl_fn field.
29621         (close_hook_fn): Add parameter for primary close method.
29622         (execute_close_hooks, execute_all_close_hooks): Likewise.
29623         (ioctl_hook_fn): New type.
29624         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
29625         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
29626         argument.
29627         (unregister_fd_hook): Renamed from unregister_close_hook.
29628         * lib/fd-hook.c: Renamed from lib/close-hook.c.
29629         Don't include <unistd.h>.
29630         (close): Remove undef.
29631         (anchor): Update.
29632         (execute_close_hooks): Add argument for primary close method.
29633         (execute_all_close_hooks): Likewise.
29634         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
29635         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
29636         argument. Allow each argument to be NULL.
29637         (unregister_fd_hook): Renamed from unregister_close_hook.
29638         * lib/close.c (rpl_close): Pass 'close' function pointer to
29639         execute_all_close_hooks.
29640         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
29641         (primary_ioctl): New function.
29642         (ioctl): Don't call ioctlsocket here. Instead, call
29643         execute_all_ioctl_hooks.
29644         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
29645         close method.
29646         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
29647         (fd_sockets_hook): Renamed from close_sockets_hook.
29648         (gl_sockets_startup, gl_sockets_cleanup): Update.
29649         * modules/fd-hook: Renamed from modules/close-hook. Update.
29650         * modules/close (Depends-on): Add fd-hook, remove close-hook.
29651         * modules/sockets (Depends-on): Likewise.
29652         * modules/ioctl (Depends-on): Add fd-hook.
29653         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
29654         GNULIB_SOCKET.
29655
29656 2011-04-19  Bruno Haible  <bruno@clisp.org>
29657
29658         Move the support of O_NONBLOCK in open() to the 'open' module.
29659         * modules/nonblocking (Depends-on): Remove 'open'.
29660         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
29661         gl_cv_have_open_O_NONBLOCK.
29662         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
29663         O_NONBLOCK support.
29664         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
29665
29666 2011-04-17  Bruno Haible  <bruno@clisp.org>
29667
29668         pipe2: Simplify code.
29669         * lib/pipe2.c (pipe2): Reduce code duplication.
29670
29671 2011-04-17  Bruno Haible  <bruno@clisp.org>
29672
29673         nonblocking: Add comment.
29674         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
29675
29676 2011-04-17  Bruno Haible  <bruno@clisp.org>
29677
29678         nonblocking: Add tests for sockets.
29679         * tests/test-nonblocking-socket.sh: New file.
29680         * tests/test-nonblocking-socket-main.c: New file.
29681         * tests/test-nonblocking-socket-child.c: New file.
29682         * tests/test-nonblocking-socket.h: New file.
29683         * tests/socket-server.h: New file.
29684         * tests/socket-client.h: New file.
29685         * modules/nonblocking-socket-tests: New file.
29686         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
29687
29688 2011-04-17  Bruno Haible  <bruno@clisp.org>
29689
29690         nonblocking: Add tests for pipes.
29691         * tests/test-nonblocking-pipe.sh: New file.
29692         * tests/test-nonblocking-pipe-main.c: New file.
29693         * tests/test-nonblocking-pipe-child.c: New file.
29694         * tests/test-nonblocking-pipe.h: New file.
29695         * tests/test-nonblocking-writer.h: New file.
29696         * tests/test-nonblocking-reader.h: New file.
29697         * tests/test-nonblocking-misc.h: New file.
29698         * modules/nonblocking-pipe-tests: New file.
29699         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
29700
29701 2011-04-16  Bruno Haible  <bruno@clisp.org>
29702
29703         gettext: Clarify the needed programmer actions.
29704         * modules/gettext (Notice): New field.
29705         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
29706
29707 2011-04-16  Bruno Haible  <bruno@clisp.org>
29708
29709         strchrnul: Tweak last commit.
29710         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
29711         bug.
29712         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
29713         as in _GL_FUNCDECL_SYS.
29714         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
29715         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
29716
29717 2011-04-15  Eric Blake  <eblake@redhat.com>
29718
29719         strchrnul: work around cygwin bug
29720         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
29721         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
29722         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
29723         * modules/string (Makefile.am): Substitute it.
29724         * lib/string.in.h (strchrnul): Use it.
29725
29726 2011-04-15  Bruno Haible  <bruno@clisp.org>
29727
29728         Don't require lib/stdio-write.c when only module 'stdio' is used.
29729         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
29730         invocation.
29731         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
29732
29733 2011-04-14  Bruno Haible  <bruno@clisp.org>
29734
29735         Support non-blocking pipe I/O in read() on native Windows.
29736         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
29737         (read): New declaration.
29738         * lib/read.c: New file.
29739         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
29740         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
29741         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
29742         vscanf): New declarations.
29743         * lib/stdio-read.c: New file.
29744         * m4/read.m4: New file.
29745         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
29746         REPLACE_READ.
29747         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
29748         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
29749         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
29750         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
29751         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
29752         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
29753         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
29754         * modules/read: New file.
29755         * modules/nonblocking (Files): Add lib/stdio-read.c.
29756         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
29757         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
29758         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
29759         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
29760         * modules/pread (Depends-on): Add read.
29761         * modules/safe-read (Depends-on): Likewise.
29762         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
29763         gets, scanf, vfscanf, vscanf): Verify signatures.
29764         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
29765         problem with non-blocking pipes.
29766         * doc/posix-functions/fgetc.texi: Likewise.
29767         * doc/posix-functions/fgets.texi: Likewise.
29768         * doc/posix-functions/fread.texi: Likewise.
29769         * doc/posix-functions/fscanf.texi: Likewise.
29770         * doc/posix-functions/getc.texi: Likewise.
29771         * doc/posix-functions/getchar.texi: Likewise.
29772         * doc/posix-functions/gets.texi: Likewise.
29773         * doc/posix-functions/scanf.texi: Likewise.
29774         * doc/posix-functions/vfscanf.texi: Likewise.
29775         * doc/posix-functions/vscanf.texi: Likewise.
29776
29777 2011-04-14  Bruno Haible  <bruno@clisp.org>
29778
29779         Support non-blocking pipe I/O in write() on native Windows.
29780         * lib/write.c (rpl_write): Split a write request that failed merely
29781         because the byte count was larger than the pipe buffer's size.
29782         * doc/posix-functions/write.texi: Mention the problem with large byte
29783         counts.
29784
29785 2011-04-14  Bruno Haible  <bruno@clisp.org>
29786
29787         wchar: Ensure that wchar_t gets defined on uClibc.
29788         * lib/wchar.in.h: On uClibc, include <stddef.h>.
29789         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
29790
29791 2011-04-13  Bruno Haible  <bruno@clisp.org>
29792
29793         safe-write, full-read: Avoid unnecessary compilation units.
29794         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
29795         (Depends-on): Remove safe-read. Add ssize_t.
29796         * modules/full-read (Files): Add lib/full-write.c.
29797         (Depends-on): Add full-write.
29798
29799 2011-04-13  Bruno Haible  <bruno@clisp.org>
29800
29801         Support non-blocking pipe I/O and SIGPIPE in pwrite().
29802         * modules/pwrite (Depends-on): Add 'write'.
29803
29804 2011-04-13  Bruno Haible  <bruno@clisp.org>
29805
29806         Support non-blocking pipe I/O in write() on native Windows.
29807         * lib/unistd.in.h (write): Enable replacement also if
29808         GNULIB_UNISTD_H_NONBLOCKING is 1.
29809         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
29810         (rpl_write): When failing to write on a non-blocking pipe, change
29811         errno from ENOSPC to EAGAIN.
29812         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
29813         putchar, puts, vfprintf, vprintf): Enable replacement also if
29814         GNULIB_STDIO_H_NONBLOCKING is 1.
29815         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
29816         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
29817         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
29818         CALL_WITH_SIGPIPE_EMULATION.
29819         (CALL_WITH_SIGPIPE_EMULATION): Use them.
29820         * m4/nonblocking.m4: New file.
29821         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
29822         for non-blocking I/O support.
29823         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29824         GNULIB_UNISTD_H_NONBLOCKING.
29825         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
29826         required for non-blocking I/O support.
29827         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
29828         * modules/nonblocking (Files): Add m4/nonblocking.m4,
29829         lib/stdio-write.c, m4/asm-underscore.m4.
29830         (Depends-on): Add stdio, unistd.
29831         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
29832         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
29833         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
29834         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
29835         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
29836         problem with non-blocking pipes.
29837         * doc/posix-functions/fputc.texi: Likewise.
29838         * doc/posix-functions/fputs.texi: Likewise.
29839         * doc/posix-functions/fwrite.texi: Likewise.
29840         * doc/posix-functions/printf.texi: Likewise.
29841         * doc/posix-functions/putc.texi: Likewise.
29842         * doc/posix-functions/putchar.texi: Likewise.
29843         * doc/posix-functions/puts.texi: Likewise.
29844         * doc/posix-functions/vfprintf.texi: Likewise.
29845         * doc/posix-functions/vprintf.texi: Likewise.
29846         * doc/posix-functions/write.texi: Likewise.
29847
29848 2011-04-10  Jim Meyering  <meyering@redhat.com>
29849
29850         maint.mk: prohibit doubled words
29851         Detect them also when they're separated by a newline.
29852         There are 3 ways to customize it:
29853           - disable the test on a per file basis, as usual with rules using
29854             $(VC_LIST_EXCEPT)
29855           - replace the default doubled-word-selecting regexp (affects all files)
29856           - ignore a particular file-vs-doubled-word match
29857         I nearly used that last one to ignore the "is is" match in
29858         coreutils' NEWS file, since the text was "ls -is is ..."
29859         To do that, I would have added this line to cfg.mk:
29860           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
29861         but it would have ignored any "is is" match in NEWS.
29862         Low probability, but still...
29863         Instead, I changed the text, slightly:
29864           -  ls -is is now consistent with ls -lis in ignoring values returned
29865           +  "ls -is" is now consistent with ls -lis in ignoring values returned
29866         * top/maint.mk (prohibit_double_word_RE_): Provide default.
29867         (prohibit_doubled_word_): Define.
29868         (sc_prohibit_doubled_word): New rule.
29869         (sc_prohibit_the_the): Remove.  Subsumed by the above.
29870
29871 2011-04-10  Jim Meyering  <meyering@redhat.com>
29872
29873         maint: fix doubled-word typo in comment
29874         * m4/gethostname.m4: s/is is/it is/
29875         * m4/getdomainname.m4: Likewise.
29876
29877 2011-04-10  Jim Meyering  <meyering@redhat.com>
29878
29879         maint: remove doubled word: s/it it/it/
29880         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
29881
29882 2011-04-10  Jim Meyering  <meyering@redhat.com>
29883
29884         maint.mk: remove useless semicolon and backslash
29885         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
29886         semicolon and backslash.
29887
29888 2011-04-10  Bruno Haible  <bruno@clisp.org>
29889
29890         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
29891         * modules/stdint-tests (Depends-on): Add wchar.
29892
29893 2011-04-10  Jim Meyering  <meyering@redhat.com>
29894
29895         maint: remove doubled words in comments, e.g., s/a a/a/
29896         * lib/strptime.c (day_of_the_week): s/the the/the/
29897         * tests/test-chown.h (test_chown): s/a a/a/
29898
29899         test-chown.h: correct a cast
29900         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
29901         when the destination is a stat.st_gid.
29902
29903 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
29904
29905         getaddrinfo: Fix test for sa_len member.
29906         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
29907         include <sys/types.h> before <sys/socket.h>.
29908
29909 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
29910
29911         maint: change "can not" to "cannot"
29912         * doc/posix-functions/iconv.texi (iconv): This one crossed line
29913         boundaries.
29914
29915 2011-04-09  Jim Meyering  <meyering@redhat.com>
29916
29917         maint: change "a a" to "a"
29918         * tests/test-lchown.h (test_lchown): s/a a/a/
29919
29920         maint.mk: prohibit \<the the\>
29921         * top/maint.mk (sc_prohibit_the_the): New rule.
29922
29923         maint: fix "the the" in comment
29924         * lib/count-one-bits.h: s/the the/the/
29925
29926         maint: change "can not" to "cannot"
29927         But do not change the occurrences in maintain.texi or in
29928         build-aux/po/Makefile.in.in, which I presume comes from gettext.
29929         * doc/gnulib-tool.texi: s/can not/cannot/
29930         * doc/posix-functions/accept.texi (accept): Likewise.
29931         * doc/posix-functions/socket.texi (socket): Likewise.
29932         * lib/mbrtowc.c: Likewise.
29933
29934         maint.mk: prohibit use of "can not"
29935         * top/maint.mk (sc_prohibit_can_not): New rule.
29936         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
29937
29938 2011-04-09  Bruno Haible  <bruno@clisp.org>
29939
29940         careadlinkat: Guard against misuse of careadlinkatcwd.
29941         * lib/careadlinkat.c: Include <stdlib.h>.
29942         (careadlinkatcwd): Check that the fd argument is as expected.
29943
29944 2011-04-09  Bruno Haible  <bruno@clisp.org>
29945
29946         careadlinkat: Use common coding style.
29947         * lib/careadlinkat.c: Move gnulib includes after system includes.
29948
29949 2011-04-09  Bruno Haible  <bruno@clisp.org>
29950
29951         careadlinkat: Clarify specification.
29952         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
29953         (careadlinkatcwd): Add comment.
29954         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
29955
29956 2011-04-09  Bruno Haible  <bruno@clisp.org>
29957
29958         areadlinkat: Avoid link error on many platforms.
29959         * modules/areadlinkat (Depends-on): Add areadlink.
29960
29961 2011-04-09  Bruno Haible  <bruno@clisp.org>
29962
29963         allocator, careadlinkat: Fix double-inclusion guard.
29964         * lib/allocator.h: Fix double-inclusion guard.
29965         * lib/careadlinkat.h: Likewise.
29966
29967 2011-04-09  Bruno Haible  <bruno@clisp.org>
29968
29969         relocatable-prog-wrapper: Update after module 'areadlink' changed.
29970         * lib/relocwrapper.c: Update dependencies hierarchy.
29971         * build-aux/install-reloc: Update list of files to be compiled.
29972         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
29973         lib/allocator.[hc].
29974
29975 2011-04-08  Eric Blake  <eblake@redhat.com>
29976
29977         strftime: silence gnulib-tool warning
29978         * modules/strftime-tests (Depends-on): Drop automatic dependency.
29979
29980 2011-04-08  Bruno Haible  <bruno@clisp.org>
29981
29982         verify: Fix syntax error with GCC 4.6 in C++ mode.
29983         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
29984         (HAVE_STATIC_ASSERT): New macro.
29985         (verify_true, verify): Use 'static_assert' if it is supported and
29986         '_Static_assert' is not supported.
29987
29988 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
29989
29990         allocator: New module.
29991         * modules/allocator, lib/allocator.c: New files.
29992         * lib/allocator.h (stdlib_allocator): New decl.
29993         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
29994         Remove.  Do not include <stdlib.h>.
29995         (careadlinkat): Use stdlib_allocator instead of rolling our own.
29996         * modules/careadlinkat (Files): Remove lib/allocator.h.
29997         (Depends-on): Add allocator.
29998
29999         stdlib: let modules use system malloc, realloc
30000         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
30001         if !_GL_USE_STDLIB_ALLOC.
30002         (malloc, realloc): Limit this change to a smaller scope.
30003
30004         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
30005         (malloc, realloc): Don't #undef; no longer needed.
30006         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
30007         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
30008         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
30009         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
30010         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
30011         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
30012         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
30013         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
30014
30015         careadlinkat: rename members to avoid problem
30016         * lib/allocator.h (struct allocator): Rename members from
30017         malloc/realloc to allocate/reallocate, to avoid problems if malloc
30018         and realloc are #define'd.  Reported by Eric Blake in
30019         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
30020         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
30021
30022 2011-04-08  Eric Blake  <eblake@redhat.com>
30023
30024         nonblocking: reduce dependency
30025         * tests/test-nonblocking.c: Only test sockets when in use.
30026         * modules/nonblocking-tests (Depends-on): Drop socket.
30027         (Makefile.am): Link even if sockets are not present.
30028         * modules/pipe2-tests (Makefile.am): Likewise.
30029         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
30030
30031         pipe2: fix O_NONBLOCK support on mingw
30032         * modules/pipe2 (Depends-on): Add nonblocking.
30033         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
30034         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
30035         * tests/test-nonblocking.c (main): Likewise.
30036         * modules/pipe2-tests (Makefile.am): Avoid link failure.
30037
30038         fcntl-h: fix O_ACCMODE on cygwin
30039         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
30040         * lib/fcntl.in.h (O_ACCMODE): Fix it.
30041
30042         pipe-filter: drop O_NONBLOCK workarounds
30043         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
30044         * modules/pipe-filter-ii (Depends-on): Likewise.
30045         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
30046
30047         nonblocking: provide O_NONBLOCK for mingw
30048         * modules/nonblocking (Depends-on): Add open.
30049         (configure.ac): Set new witness macro.
30050         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
30051         * modules/fcntl-h (Makefile.am): Substitute it.
30052         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
30053         nonblocking module is in use.
30054         * lib/nonblocking.c: Adjust portability test.
30055         * lib/open.c (open): Don't let native open see gnulib flag.
30056         * tests/test-fcntl-h.c (main): Enhance test.
30057         * tests/test-open.h (test_open): Likewise.
30058         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
30059
30060         careadlinkat: fix compilation error on mingw
30061         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
30062         within struct allocator.
30063
30064 2011-04-06  Eric Blake  <eblake@redhat.com>
30065
30066         binary-io: relicense under LGPLv2+
30067         * modules/binary-io (License): Relax to LGPLv2+.
30068         Requested for libvirt, and required by pipe2.
30069
30070 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
30071
30072         verify: use _Static_assert if available
30073         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
30074         (verify_true, verify): Use it if available.  This generates better
30075         diagnostics with GCC 4.6.0 and later.
30076
30077 2011-04-05  Bruno Haible  <bruno@clisp.org>
30078
30079         Remove leftover generated .h files after config.status changed.
30080
30081         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
30082         GL_GENERATE_ALLOCA_H.
30083         * modules/alloca-opt (Makefile.am): Remove alloca.h if
30084         GL_GENERATE_ALLOCA_H evaluates to false.
30085
30086         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
30087         GL_GENERATE_ARGZ_H.
30088         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
30089         evaluates to false.
30090
30091         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
30092         GL_GENERATE_BYTESWAP_H.
30093         * modules/byteswap (Makefile.am): Remove byteswap.h if
30094         GL_GENERATE_BYTESWAP_H evaluates to false.
30095
30096         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
30097         GL_GENERATE_ERRNO_H.
30098         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
30099         evaluates to false.
30100
30101         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
30102         GL_GENERATE_FLOAT_H.
30103         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
30104         evaluates to false.
30105
30106         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
30107         GL_GENERATE_FNMATCH_H.
30108         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
30109         GL_GENERATE_FNMATCH_H evaluates to false.
30110
30111         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
30112         GL_GENERATE_GLOB_H.
30113         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
30114         evaluates to false.
30115
30116         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
30117         automake conditional GL_GENERATE_ICONV_H.
30118         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
30119         evaluates to false.
30120
30121         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
30122         GL_GENERATE_NETINET_IN_H.
30123         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
30124         GL_GENERATE_NETINET_IN_H evaluates to false.
30125
30126         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
30127         conditional GL_GENERATE_PTHREAD_H.
30128         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
30129         * modules/pthread (Makefile.am): Remove pthread.h if
30130         GL_GENERATE_PTHREAD_H evaluates to false.
30131
30132         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
30133         GL_GENERATE_SCHED_H.
30134         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
30135         evaluates to false.
30136
30137         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
30138         conditional GL_GENERATE_SELINUX_CONTEXT_H.
30139         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
30140         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
30141
30142         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
30143         GL_GENERATE_STDARG_H.
30144         * modules/stdarg (Makefile.am): Remove stdarg.h if
30145         GL_GENERATE_STDARG_H evaluates to false.
30146
30147         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
30148         GL_GENERATE_STDBOOL_H.
30149         * modules/stdbool (Makefile.am): Remove stdbool.h if
30150         GL_GENERATE_STDBOOL_H evaluates to false.
30151
30152         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
30153         conditional GL_GENERATE_STDDEF_H.
30154         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
30155         * modules/stddef (Makefile.am): Remove stddef.h if
30156         GL_GENERATE_STDDEF_H evaluates to false.
30157
30158         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
30159         GL_GENERATE_STDINT_H.
30160         * modules/stdint (Makefile.am): Remove stdint.h if
30161         GL_GENERATE_STDINT_H evaluates to false.
30162
30163         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
30164         GL_GENERATE_SYSEXITS_H.
30165         * modules/sysexits (Makefile.am): Remove sysexits.h if
30166         GL_GENERATE_SYSEXITS_H evaluates to false.
30167
30168         Reported by Karl Berry and Ralf Wildenhues.
30169
30170 2011-04-05  Bruno Haible  <bruno@clisp.org>
30171
30172         Ensure to rebuild generated .h files when config.status has changed.
30173         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
30174         config.status.
30175         * modules/ctype (Makefile.am): Likewise.
30176         * modules/dirent (Makefile.am): Likewise.
30177         * modules/errno (Makefile.am): Likewise.
30178         * modules/fcntl-h (Makefile.am): Likewise.
30179         * modules/float (Makefile.am): Likewise.
30180         * modules/getopt-posix (Makefile.am): Likewise.
30181         * modules/glob (Makefile.am): Likewise.
30182         * modules/iconv-h (Makefile.am): Likewise.
30183         * modules/inttypes (Makefile.am): Likewise.
30184         * modules/langinfo (Makefile.am): Likewise.
30185         * modules/locale (Makefile.am): Likewise.
30186         * modules/math (Makefile.am): Likewise.
30187         * modules/netdb (Makefile.am): Likewise.
30188         * modules/netinet_in (Makefile.am): Likewise.
30189         * modules/poll-h (Makefile.am): Likewise.
30190         * modules/pthread (Makefile.am): Likewise.
30191         * modules/pty (Makefile.am): Likewise.
30192         * modules/sched (Makefile.am): Likewise.
30193         * modules/search (Makefile.am): Likewise.
30194         * modules/selinux-h (Makefile.am): Likewise.
30195         * modules/signal (Makefile.am): Likewise.
30196         * modules/spawn (Makefile.am): Likewise.
30197         * modules/stdarg (Makefile.am): Likewise.
30198         * modules/stdbool (Makefile.am): Likewise.
30199         * modules/stddef (Makefile.am): Likewise.
30200         * modules/stdint (Makefile.am): Likewise.
30201         * modules/stdio (Makefile.am): Likewise.
30202         * modules/stdlib (Makefile.am): Likewise.
30203         * modules/string (Makefile.am): Likewise.
30204         * modules/strings (Makefile.am): Likewise.
30205         * modules/sys_file (Makefile.am): Likewise.
30206         * modules/sys_ioctl (Makefile.am): Likewise.
30207         * modules/sys_select (Makefile.am): Likewise.
30208         * modules/sys_socket (Makefile.am): Likewise.
30209         * modules/sys_stat (Makefile.am): Likewise.
30210         * modules/sys_time (Makefile.am): Likewise.
30211         * modules/sys_times (Makefile.am): Likewise.
30212         * modules/sys_utsname (Makefile.am): Likewise.
30213         * modules/sys_wait (Makefile.am): Likewise.
30214         * modules/sysexits (Makefile.am): Likewise.
30215         * modules/termios (Makefile.am): Likewise.
30216         * modules/time (Makefile.am): Likewise.
30217         * modules/unistd (Makefile.am): Likewise.
30218         * modules/wchar (Makefile.am): Likewise.
30219         * modules/wctype-h (Makefile.am): Likewise.
30220         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
30221
30222 2011-04-05  Bruno Haible  <bruno@clisp.org>
30223
30224         pipe2: Relicense under LGPLv2+.
30225         * modules/pipe2 (License): Change to LGPLv2+.
30226         Requested by Eric Blake, for libvirt.
30227
30228 2011-04-05  Bruce Korb  <bkorb@gnu.org>
30229
30230         bootstrap: compute gnulib_extra_files after updating build_aux
30231         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
30232         change build_aux or also supply gnulib_extra_files.  Handle correctly.
30233
30234 2011-04-05  Eric Blake  <eblake@redhat.com>
30235
30236         bootstrap: preserve git whitelist item sorting
30237         * build-aux/bootstrap (sort_patterns): New function.
30238         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
30239
30240 2011-04-05  Simon Josefsson  <simon@josefsson.org>
30241
30242         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
30243         sc_space_tab check.
30244
30245 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
30246
30247         areadlink, areadlinkat: rewrite in terms of careadlinkat
30248         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
30249         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
30250         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
30251         (malloc, realloc): Remove #undefs.
30252         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
30253         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
30254         readlink, ssize_t, stdint, unistd.
30255         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
30256         areadlink, stdint.
30257
30258         careadlinkat: new module
30259         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
30260         * modules/careadlinkat: New files, written by me with
30261         a review and feedback from Ben Pfaff in
30262         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
30263
30264 2011-04-01  Bruno Haible  <bruno@clisp.org>
30265
30266         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
30267         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
30268         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
30269         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
30270         Reported by Bruce Korb <bruce.korb@gmail.com>.
30271
30272 2011-04-01  Bruno Haible  <bruno@clisp.org>
30273
30274         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
30275         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
30276         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
30277         * modules/wcpcpy (Depends-on): Add extensions.
30278         * modules/wcpncpy (Depends-on): Likewise.
30279         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
30280         systems.
30281         * doc/posix-functions/wcpncpy.texi: Likewise.
30282         * doc/posix-functions/wcwidth.texi: Likewise.
30283
30284 2011-03-31  Eric Blake  <eblake@redhat.com>
30285
30286         nonblocking: fix mingw test failures
30287         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
30288         non-blocking flag on regular file.
30289         (get_nonblocking_flag): Set errno on invalid fd.
30290         * tests/test-nonblocking.c (main): Avoid test failure on
30291         directories if fchdir is not active.
30292         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
30293
30294 2011-03-31  Bruno Haible  <bruno@clisp.org>
30295
30296         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
30297         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
30298         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
30299         Reported by Simon Josefsson <simon@josefsson.org>.
30300
30301 2011-03-31  Bruno Haible  <bruno@clisp.org>
30302         and Eric Blake  <eblake@redhat.com>
30303
30304         nonblocking: new module
30305         * modules/nonblocking: New module.
30306         * modules/nonblocking-tests: Likewise.
30307         * lib/nonblocking.h: New file.
30308         * lib/nonblocking.c: Likewise.
30309         * tests/test-nonblocking.c: New test.
30310         * lib/ioctl.c (ioctl) [mingw]: Update comment.
30311
30312 2011-03-30  Bruno Haible  <bruno@clisp.org>
30313
30314         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
30315         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
30316         instead of 'printf' format for GCC >= 4.4.
30317         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
30318         (fprintf, printf, vfprintf, vprintf): Declare with
30319         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
30320         the system's vfprintf() function.
30321         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
30322
30323 2011-03-30  Eric Blake  <eblake@redhat.com>
30324
30325         passfd: fix scoping bug
30326         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
30327         before sendmsg/recvmsg.
30328
30329         passfd: standardize coding conventions
30330         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
30331         can be learned at compile time.
30332         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
30333         ifdefs.
30334         (sendfd, recvfd): Follow gnulib code conventions.
30335
30336         passfd: fix incorrect sendmsg arguments
30337         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
30338         incorrect msg_controllen value.
30339         * modules/passfd-tests (Depends-on): Check for alarm.
30340         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
30341         Reported by Bastien ROUCARIES.
30342
30343 2011-03-30  Bruno Haible  <bruno@clisp.org>
30344
30345         c-strcasestr: Relicense under LGPLv2+.
30346         * modules/c-strcasestr (License): Change to LGPLv2+.
30347         Requested by Eric Blake, for libvirt.
30348
30349 2011-03-30  Simon Josefsson  <simon@josefsson.org>
30350
30351         * users.txt: Add libidn2.  Fix libtasn1 link.
30352
30353 2011-03-30  Jim Meyering  <meyering@redhat.com>
30354
30355         tests: readlink* ("",... fails with EINVAL on newer kernels
30356         readlink and readlinkat have typically failed with ENOENT for
30357         the invalid, empty file name,  "".  However, with the advent
30358         of linux-2.6.39, they fail with EINVAL.
30359         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
30360         when operating on the empty file name.
30361         * tests/test-readlink.h (test_readlink): Likewise.
30362
30363 2011-03-29  Bruno Haible  <bruno@clisp.org>
30364
30365         Relicense some modules under LGPLv2+, for libidn2.
30366         * modules/array-mergesort (License): Change to LGPLv2+.
30367         * modules/c-strcaseeq (License): Likewise.
30368         * modules/striconveh (License): Likewise.
30369         * modules/striconveha (License): Likewise.
30370         * modules/uniconv/base (License): Likewise.
30371         * modules/uniconv/u8-conv-from-enc (License): Likewise.
30372         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
30373         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
30374         * modules/unictype/base (License): Likewise.
30375         * modules/unictype/bidiclass-of (License): Likewise.
30376         * modules/unictype/category-M (License): Likewise.
30377         * modules/unictype/category-none (License): Likewise.
30378         * modules/unictype/category-of (License): Likewise.
30379         * modules/unictype/category-test (License): Likewise.
30380         * modules/unictype/category-test-withtable (License): Likewise.
30381         * modules/unictype/combining-class (License): Likewise.
30382         * modules/unictype/joiningtype-of (License): Likewise.
30383         * modules/unictype/scripts (License): Likewise.
30384         * modules/uninorm/base (License): Likewise.
30385         * modules/uninorm/canonical-decomposition (License): Likewise.
30386         * modules/uninorm/composition (License): Likewise.
30387         * modules/uninorm/decompose-internal (License): Likewise.
30388         * modules/uninorm/decomposition-table (License): Likewise.
30389         * modules/uninorm/nfc (License): Likewise.
30390         * modules/uninorm/nfd (License): Likewise.
30391         * modules/uninorm/u32-normalize (License): Likewise.
30392         * modules/unistr/base (License): Likewise.
30393         * modules/unistr/u32-cpy (License): Likewise.
30394         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
30395         * modules/unistr/u32-to-u8 (License): Likewise.
30396         * modules/unistr/u32-uctomb (License): Likewise.
30397         * modules/unistr/u8-check (License): Likewise.
30398         * modules/unistr/u8-mblen (License): Likewise.
30399         * modules/unistr/u8-mbtouc (License): Likewise.
30400         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
30401         * modules/unistr/u8-mbtoucr (License): Likewise.
30402         * modules/unistr/u8-prev (License): Likewise.
30403         * modules/unistr/u8-strlen (License): Likewise.
30404         * modules/unistr/u8-to-u32 (License): Likewise.
30405         * modules/unistr/u8-uctomb (License): Likewise.
30406         * modules/unitypes (License): Likewise.
30407         Requested by Simon Josefsson.
30408
30409 2011-03-29  Simon Josefsson  <simon@josefsson.org>
30410
30411         lib-symbol-visibility: Add a notice.
30412         * modules/lib-symbol-visibility (Notice): New field.
30413
30414 2011-03-29  Bruno Haible  <bruno@clisp.org>
30415
30416         getaddrinfo: Doc fix.
30417         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
30418         section "fixed in Gnulib".
30419
30420 2011-03-28  Simon Josefsson  <simon@josefsson.org>
30421
30422         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
30423         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
30424
30425 2011-03-26  Bruno Haible  <bruno@clisp.org>
30426
30427         unictype/property-byname: Reduce the number of load-time relocations.
30428         * lib/unictype/pr_byname.c: Include <stdlib.h>.
30429         (UC_PROPERTY_INDEX_*): New enumeration values.
30430         (uc_property_byname): Convert an index from the lookup table to an
30431         uc_property_t.
30432         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
30433         values.
30434
30435 2011-03-26  Bruno Haible  <bruno@clisp.org>
30436
30437         unictype/property-byname: Allow omitted word separators and aliases.
30438         * lib/unictype/pr_byname.gperf: Add property names without word
30439         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
30440         for 'space'.
30441
30442 2011-03-26  Bruno Haible  <bruno@clisp.org>
30443
30444         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
30445         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
30446         also hyphens to space.
30447         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
30448         without spaces.
30449         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
30450
30451 2011-03-26  Bruno Haible  <bruno@clisp.org>
30452
30453         unictype/joiningtype-byname: Recognize long names as well.
30454         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
30455         a long name.
30456         * lib/unictype/joiningtype_byname.c: Include <string.h>,
30457         unictype/joiningtype_byname.h.
30458         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
30459         * lib/unictype/joiningtype_byname.gperf: New file.
30460         * modules/unictype/joiningtype-byname (Files): Add
30461         lib/unictype/joiningtype_byname.gperf.
30462         (Depends-on): Add gperf.
30463         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
30464         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
30465         long names.
30466
30467         Tests for module 'unictype/joiningtype-longname'.
30468         * modules/unictype/joiningtype-longname-tests: New file.
30469         * tests/unictype/test-joiningtype_longname.c: New file.
30470
30471         New module 'unictype/joiningtype-longname'.
30472         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
30473         * lib/unictype/joiningtype_longname.c: New file.
30474         * modules/unictype/joiningtype-longname: New file.
30475         * modules/unictype/joiningtype-all (Depends-on): Add
30476         unictype/joiningtype-longname.
30477
30478 2011-03-26  Bruno Haible  <bruno@clisp.org>
30479
30480         unictype/bidiclass-byname: Recognize long names as well.
30481         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
30482         name.
30483         * lib/unictype/bidi_byname.c: Include <string.h>,
30484         unictype/bidi_byname.h.
30485         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
30486         * lib/unictype/bidi_byname.gperf: New file.
30487         * modules/unictype/bidiclass-byname (Files): Add
30488         lib/unictype/bidi_byname.gperf.
30489         (Depends-on): Add gperf.
30490         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
30491         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
30492         long names.
30493
30494         Tests for module 'unictype/bidiclass-longname'.
30495         * modules/unictype/bidiclass-longname-tests: New file.
30496         * tests/unictype/test-bidi_longname.c: New file.
30497
30498         New module 'unictype/bidiclass-longname'.
30499         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
30500         * lib/unictype/bidi_longname.c: New file.
30501         * modules/unictype/bidiclass-longname: New file.
30502         * modules/unictype/bidiclass-all (Depends-on): Add
30503         unictype/bidiclass-longname.
30504
30505 2011-03-26  Bruno Haible  <bruno@clisp.org>
30506
30507         unictype/bidi*: Rename modules.
30508         * modules/unictype/bidiclass-all: Renamed from
30509         modules/unictype/bidicategory-all.
30510         * modules/unictype/bidiclass-name: Renamed from
30511         modules/unictype/bidiclass-name.
30512         (Description): Update.
30513         * modules/unictype/bidiclass-name-tests: Renamed from
30514         modules/unictype/bidicategory-name-tests.
30515         * modules/unictype/bidiclass-byname: Renamed from
30516         modules/unictype/bidicategory-byname.
30517         (Description): Update.
30518         * modules/unictype/bidiclass-byname-tests: Renamed from
30519         modules/unictype/bidicategory-byname-tests.
30520         * modules/unictype/bidiclass-of: Renamed from
30521         modules/unictype/bidicategory-of.
30522         (Description): Update.
30523         * modules/unictype/bidiclass-of-tests: Renamed from
30524         modules/unictype/bidicategory-of-tests.
30525         * modules/unictype/bidiclass-test: Renamed from
30526         modules/unictype/bidicategory-test.
30527         (Description): Update.
30528         * modules/unictype/bidiclass-test-tests: Renamed from
30529         modules/unictype/bidicategory-test-tests.
30530         * modules/unictype/bidicategory-all: New file, a simple redirection.
30531         * modules/unictype/bidicategory-name: Likewise.
30532         * modules/unictype/bidicategory-byname: Likewise.
30533         * modules/unictype/bidicategory-of: Likewise.
30534         * modules/unictype/bidicategory-test: Likewise.
30535         * modules/unictype/property-bidi-* (Dependencies): Update.
30536         * lib/unictype/bidi_*.c: Update comment.
30537
30538 2011-03-26  Bruno Haible  <bruno@clisp.org>
30539
30540         unictype/bidi*: Rename functions, part 2.
30541         * modules/unictype/bidicategory-name (configure.ac): Update required
30542         libunistring version.
30543         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
30544
30545 2011-03-25  Bruno Haible  <bruno@clisp.org>
30546
30547         New module 'unictype/combining-class-all'.
30548         * modules/unictype/combining-class-all: New file.
30549
30550         Tests for module 'unictype/combining-class-byname'.
30551         * modules/unictype/combining-class-byname-tests: New file.
30552         * tests/unictype/test-combiningclass_byname.c: New file.
30553
30554         New module 'unictype/combining-class-byname'.
30555         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
30556         * lib/unictype/combiningclass_byname.c: New file.
30557         * lib/unictype/combiningclass_byname.gperf: New file.
30558         * modules/unictype/combining-class-byname: New file.
30559
30560         Tests for module 'unictype/combining-class-longname'.
30561         * modules/unictype/combining-class-longname-tests: New file.
30562         * tests/unictype/test-combiningclass_longname.c: New file.
30563
30564         New module 'unictype/combining-class-longname'.
30565         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
30566         * lib/unictype/combiningclass_longname.c: New file.
30567         * modules/unictype/combining-class-longname: New file.
30568
30569         Tests for module 'unictype/combining-class-name'.
30570         * modules/unictype/combining-class-name-tests: New file.
30571         * tests/unictype/test-combiningclass_name.c: New file.
30572
30573         New module 'unictype/combining-class-name'.
30574         * lib/unictype.in.h (uc_combining_class_name): New declaration.
30575         * lib/unictype/combiningclass_name.c: New file.
30576         * modules/unictype/combining-class-name: New file.
30577
30578 2011-03-25  Bruno Haible  <bruno@clisp.org>
30579
30580         unictype/combining-class: Rename source files.
30581         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
30582         of unictype/combining.h.
30583         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
30584         Update.
30585         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
30586         * modules/unictype/combining-class (Description): Fix.
30587         (Files, Makefile.am): Update.
30588         * tests/unictype/test-combiningclass.c: Renamed from
30589         tests/unictype/test-combining.c.
30590         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
30591
30592 2011-03-25  Bruno Haible  <bruno@clisp.org>
30593
30594         unictype: Update list of canonical combining classes.
30595         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
30596
30597 2011-03-25  Bruno Haible  <bruno@clisp.org>
30598
30599         unictype/category-byname: Recognize long names as well.
30600         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
30601         a long name.
30602         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
30603         unictype/categ_byname.h.
30604         (UC_CATEGORY_INDEX_*): New enumeration values.
30605         (uc_general_category_byname): Use uc_general_category_lookup and
30606         convert from index to value.
30607         * lib/unictype/categ_byname.gperf: New file.
30608         * modules/unictype/category-byname (Files): Add
30609         lib/unictype/categ_byname.gperf.
30610         (Depends-on): Add gperf.
30611         (Makefile.am): Add rule for generating unictype/categ_byname.h.
30612         * tests/unictype/test-categ_byname.c (main): Test the recognition of
30613         long names.
30614
30615         Tests for module 'unictype/category-longname'.
30616         * modules/unictype/category-longname-tests: New file.
30617         * tests/unictype/test-categ_longname.c: New file.
30618
30619         New module 'unictype/category-longname'.
30620         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
30621         * lib/unictype/categ_longname.c: New file.
30622         * modules/unictype/category-longname: New file.
30623         * modules/unictype/category-all (Depends-on): Add it.
30624
30625 2011-03-25  Bruno Haible  <bruno@clisp.org>
30626
30627         Tests for module 'unictype/category-LC'.
30628         * modules/unictype/category-LC-tests: New file.
30629         * tests/unictype/test-categ_LC.c: New file, automatically generated.
30630
30631         New module 'unictype/category-LC'.
30632         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
30633         (UC_CATEGORY_LC): New declaration.
30634         (UC_CASED_LETTER): New macro.
30635         * lib/gen-uni-tables.c (is_category_LC): New function.
30636         (output_categories): Also handle category LC.
30637         (UC_CATEGORY_MASK_LC): New enumeration value.
30638         (general_category_byname): Also handle category LC.
30639         * lib/unictype/categ_LC.c: New file.
30640         * lib/unictype/categ_LC.h: New file, automatically generated.
30641         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
30642         category LC.
30643         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
30644         * modules/unictype/category-LC: New file.
30645         * modules/unictype/category-byname (Depends-on): Add
30646         unictype/category-LC.
30647         * modules/unictype/category-all (Depends-on): Likewise.
30648
30649 2011-03-25  Eric Blake  <eblake@redhat.com>
30650
30651         xmalloc: revert yesterday's regression
30652         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
30653         realloc's underlying behavior (allowing allocation of zero-size
30654         objects, especially if malloc-gnu is also in use).
30655
30656 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
30657
30658         maint.mk: add missing version to VC-tag
30659         * top/maint.mk: git tag was missing actual tag name; add it.
30660
30661         valgrind: do leak checking, and exit with code 1 on error (not 0)
30662         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
30663         to VALGRIND.
30664
30665 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
30666
30667         posix-modules: say what it does.
30668         * posix-modules: Add a line to the --help output saying what it does.
30669
30670 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
30671
30672         xmalloc: Do not leak if underlying realloc is C99 compatible.
30673         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
30674         This avoids a leak on C99-based systems.  See
30675         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
30676
30677 2011-03-24  Eric Blake  <eblake@redhat.com>
30678
30679         realloc: document portability problem
30680         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
30681         passing 0 size to realloc.
30682
30683 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
30684
30685         doc: update users.txt
30686         * users.txt: Add cvsps, tmpwatch
30687
30688 2011-03-23  Matt Rice  <ratmice@gmail.com>
30689
30690         doc: update users.txt
30691         * users.txt: Add gdb.
30692
30693 2011-03-23  Jim Meyering  <meyering@redhat.com>
30694
30695         doc: update users.txt
30696         Looking through matches up to the following URL (there are still
30697         several more pages), I found several projects that use gnulib:
30698         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
30699         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
30700         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
30701
30702 2011-03-22  Bruno Haible  <bruno@clisp.org>
30703
30704         unictype/bidi*: Rename functions.
30705         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
30706         uc_bidi_class, uc_is_bidi_class): New declarations.
30707         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
30708         uc_bidi_category_byname.
30709         (uc_bidi_category_byname): New function.
30710         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
30711         u_bidi_category_name.
30712         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
30713         (uc_bidi_category_name): New function.
30714         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
30715         uc_bidi_category.
30716         (uc_bidi_category): New function.
30717         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
30718         uc_is_bidi_category. Invoke uc_bidi_class.
30719         (uc_is_bidi_category): New function.
30720         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
30721         instead of uc_bidi_category_byname.
30722         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
30723         instead of uc_bidi_category_name.
30724         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
30725         uc_bidi_category.
30726         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
30727         instead of uc_is_bidi_category.
30728
30729 2011-03-21  Bruno Haible  <bruno@clisp.org>
30730
30731         New module 'unictype/joininggroup-all'.
30732         * modules/unictype/joininggroup-all: New file.
30733
30734         Tests for module 'unictype/joininggroup-of'.
30735         * modules/unictype/joininggroup-of-tests: New file.
30736         * tests/unictype/test-joininggroup_of.c: New file.
30737         * tests/unictype/test-joininggroup_of.h: New file, automatically
30738         generated by gen-uni-tables.
30739
30740         New module 'unictype/joininggroup-of'.
30741         * modules/unictype/joininggroup-of: New file.
30742         * lib/unictype/joininggroup_of.c: New file.
30743         * lib/unictype/joininggroup_of.h: New file, automatically generated by
30744         gen-uni-tables.
30745
30746         Tests for module 'unictype/joininggroup-byname'.
30747         * modules/unictype/joininggroup-byname-tests: New file.
30748         * tests/unictype/test-joininggroup_byname.c: New file.
30749
30750         New module 'unictype/joininggroup-byname'.
30751         * modules/unictype/joininggroup-byname: New file.
30752         * lib/unictype/joininggroup_byname.c: New file.
30753         * lib/unictype/joininggroup_byname.gperf: New file.
30754
30755         Tests for module 'unictype/joininggroup-name'.
30756         * modules/unictype/joininggroup-name-tests: New file.
30757         * tests/unictype/test-joininggroup_name.c: New file.
30758
30759         New module 'unictype/joininggroup-name'.
30760         * modules/unictype/joininggroup-name: New file.
30761         * lib/unictype/joininggroup_name.c: New file.
30762         * lib/unictype/joininggroup_name.h: New file.
30763
30764         New module 'unictype/joiningtype-all'.
30765         * modules/unictype/joiningtype-all: New file.
30766
30767         Tests for module 'unictype/joiningtype-of'.
30768         * modules/unictype/joiningtype-of-tests: New file.
30769         * tests/unictype/test-joiningtype_of.c: New file.
30770         * tests/unictype/test-joiningtype_of.h: New file, automatically
30771         generated by gen-uni-tables.
30772
30773         New module 'unictype/joiningtype-of'.
30774         * modules/unictype/joiningtype-of: New file.
30775         * lib/unictype/joiningtype_of.c: New file.
30776         * lib/unictype/joiningtype_of.h: New file, automatically generated by
30777         gen-uni-tables.
30778
30779         Tests for module 'unictype/joiningtype-byname'.
30780         * modules/unictype/joiningtype-byname-tests: New file.
30781         * tests/unictype/test-joiningtype_byname.c: New file.
30782
30783         New module 'unictype/joiningtype-byname'.
30784         * modules/unictype/joiningtype-byname: New file.
30785         * lib/unictype/joiningtype_byname.c: New file.
30786
30787         Tests for module 'unictype/joiningtype-name'.
30788         * modules/unictype/joiningtype-name-tests: New file.
30789         * tests/unictype/test-joiningtype_name.c: New file.
30790
30791         New module 'unictype/joiningtype-name'.
30792         * modules/unictype/joiningtype-name: New file.
30793         * lib/unictype/joiningtype_name.c: New file.
30794
30795         unictype: Add support for Arabic shaping properties.
30796         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
30797         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
30798         declarations.
30799         (UC_JOINING_GROUP_*): New enumeration values.
30800         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
30801         declarations.
30802         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
30803         (unicode_joining_type): New variable.
30804         (UC_JOINING_GROUP_*): New enumeration values.
30805         (unicode_joining_group): New variable.
30806         (fill_arabicshaping, joining_type_as_c_identifier,
30807         output_joining_type_test, output_joining_type,
30808         joining_group_as_c_identifier, output_joining_group_test,
30809         output_joining_group): New functions.
30810         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
30811         fill_arabicshaping and output_joining_type_test, output_joining_type,
30812         output_joining_group_test, output_joining_group.
30813         Reported by Simon Josefsson.
30814
30815 2011-03-21  Jim Meyering  <meyering@redhat.com>
30816
30817         strftime: fix a bug in yesterday's change
30818         * lib/strftime.c (add): Accommodate width's initial value of -1.
30819         Otherwise, nstrftime would copy uninitialized data into
30820         the result buffer.
30821
30822 2011-03-21  Jim Meyering  <meyering@redhat.com>
30823
30824         tests: add strftime-tests module
30825         * tests/test-strftime.c: New file.
30826         * modules/strftime-tests: New module.
30827
30828 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
30829
30830         strftime: don't assume a byte count fits in 'int'
30831         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
30832         found this problem by static analysis, using gcc -Wstrict-overflow
30833         (GCC 4.5.2, x86-64).  This reported an optimization that depended
30834         on an integer overflow having undefined behavior, but it turns out
30835         that the argument is a size, which might not fit in 'int' anyway,
30836
30837 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
30838
30839         stdio: don't require ignore_value around fwrite
30840
30841         This patch works around libc bug 11959
30842         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
30843         Without this patch, applications must often write
30844         ignore_value (fwrite (...)) even though the ignore_value is
30845         not helpful here.  It's common to write many objects, using
30846         fwrite/printf/etc., and then use ferror to detect output error.
30847
30848         I considered making this patch optional, but decided against it,
30849         because libc is obviously being inconsistent here: there is no
30850         reason libc should insist that user code must inspect fwrite
30851         return's value without also insisting that it inspect printf's,
30852         putchar's, etc.  If user code wants to have a strict style where
30853         all these functions' values are checked (so that ferror need not
30854         be checked), we could add support for that style in a new gnulib
30855         module, but in the meantime it's better to be consistent and to
30856         support common usage.
30857
30858         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
30859         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
30860         that we are compiling in checking mode, and if not C++, and
30861         if not already wrapping fwrite for some other reason.
30862         (fwrite): #define to rpl_fwrite if the latter is defined.
30863
30864 2011-03-20  Bruno Haible  <bruno@clisp.org>
30865
30866         verror: Fix compilation error introduced on 2011-02-13.
30867         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
30868         instead of __attribute__.
30869         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30870
30871 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
30872             Bruno Haible  <bruno@clisp.org>
30873
30874         socklen: do not depend on sys_socket
30875         While trying to modify Emacs to use gnulib's socklen module,
30876         I discovered a circular dependency: socklen depends on sys_socket
30877         and vice versa.  Emacs can use socklen, but it does not need
30878         sys_socket because it has its own substitute for sys/socket.h.
30879         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
30880         gl_TYPE_SOCKLEN_T.
30881         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
30882         gl_PREREQ_SYS_H_SOCKET.
30883         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
30884         gl_PREREQ_SYS_H_SOCKET.
30885         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
30886         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
30887         * modules/socklen (Depends-on): Do not depend on sys_socket.
30888         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
30889
30890 2011-03-20  Jim Meyering  <meyering@redhat.com>
30891
30892         maint.mk: sort file names *after* new transformation
30893         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
30894         prefix would have led to an unwarranted failure in GNU parted.
30895         Sort after that transformation.
30896
30897 2011-03-19  Jim Meyering  <meyering@redhat.com>
30898
30899         maint.mk: fix po-file syntax-check rule
30900         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
30901         Patch by Bruno Haible.
30902
30903 2011-03-19  Bruno Haible  <bruno@clisp.org>
30904
30905         socklen: Update comment.
30906         * m4/socklen.m4: Update comment about platforms.
30907
30908 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
30909             Bruno Haible  <bruno@clisp.org>
30910
30911         inet_ntop, inet_pton: Simplify.
30912         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
30913         documented to provide socklen_t and we already depend on sys_socket.
30914         * modules/inet_pton (Depends-on): Likewise.
30915         * lib/arpa_inet.in.h: Adjust comment.
30916
30917 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
30918             Bruno Haible  <bruno@clisp.org>
30919
30920         netdb: Simplify.
30921         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
30922         documented to provide socklen_t and we already depend on sys_socket.
30923         * lib/netdb.in.h: Adjust comment.
30924
30925 2011-03-19  Bruno Haible  <bruno@clisp.org>
30926
30927         sys_socket, netdb: Document problem with socklen_t.
30928         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
30929         platforms.
30930         * doc/posix-headers/netdb.texi: Likewise.
30931
30932 2011-03-18  Eric Blake  <eblake@redhat.com>
30933
30934         maint.mk: let po check work in VPATH build
30935         * top/maint.mk (po_file): Allow cfg.mk override.
30936         (sc_po_check): Allow VPATH use.
30937         Reported by Jiri Denemark.
30938
30939 2011-03-16  Jim Meyering  <meyering@redhat.com>
30940
30941         maint.mk: allow fine-grained syntax-check exclusion via Make variables
30942         Before, you would have had to create one .x-sc_ file per rule in order
30943         to exempt offending files.  Now, you may instead use a Make variable --
30944         usually defined in cfg.mk -- whose name identifies the affected rule.
30945         * top/maint.mk (_sc_excl): Define.
30946         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
30947         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
30948
30949 2011-03-13  Bruno Haible  <bruno@clisp.org>
30950
30951         ignore-value tests: Avoid warnings.
30952         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
30953         empty for gcc < 3.4.
30954
30955 2011-03-13  Bruno Haible  <bruno@clisp.org>
30956
30957         passfd: Fix link error on Solaris.
30958         * modules/passfd (Description): Correct.
30959         (Depends-on): Add socketlib.
30960         (Link): New section.
30961         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
30962
30963 2011-03-13  Bruno Haible  <bruno@clisp.org>
30964
30965         passfd: Fix link error on AIX 5.2.
30966         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
30967
30968 2011-03-13  Bruno Haible  <bruno@clisp.org>
30969
30970         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
30971         * lib/sys_socket.in.h: Include <stddef.h>.
30972         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
30973         CMSG_FIRSTHDR. Remove unused variable.
30974
30975 2011-03-13  Bruno Haible  <bruno@clisp.org>
30976
30977         passfd: Fix compilation error on OpenBSD.
30978         * lib/passfd.c: Include <sys/uio.h>.
30979
30980 2011-03-13  Bruno Haible  <bruno@clisp.org>
30981
30982         passfd test: Fix warnings.
30983         * tests/test-passfd.c: Include <sys/wait.h>.
30984         (main): Fix typo.
30985
30986 2011-03-13  Bruno Haible  <bruno@clisp.org>
30987
30988         passfd module, part 4, tweaks.
30989         * tests/test-passfd.c: Reorder includes.
30990         (main): Fix perror and printf calls.
30991
30992 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
30993
30994         passfd module, part 4.
30995         * modules/passfd-tests: New file.
30996         * tests/test-passfd.c: New file.
30997
30998 2011-03-13  Jim Meyering  <meyering@redhat.com>
30999
31000         Makefile: rely on GNU make; derive syntax-check rule names
31001         Rather than requiring that each sc_ rule be listed as a dependent
31002         of "check", use features of GNU make to derive the list.
31003         * Makefile (syntax-check-rules): Define.
31004         (check): Depend on the new variable, not the hard-coded list.
31005
31006 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
31007             Bruno Haible  <bruno@clisp.org>
31008
31009         passfd module, part 3.
31010         * lib/passfd.h (recvfd): Add a flags argument.
31011         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
31012         (recvfd): Add a flags argument.
31013         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
31014         exists.
31015         * modules/passfd (Depends-on): Add cloexec.
31016         Suggested by Eric Blake.
31017
31018 2011-03-13  Bruno Haible  <bruno@clisp.org>
31019
31020         passfd module, part 2, tweaks.
31021         * modules/passfd (Files): Reorder.
31022         (Depends-on): Remove errno.
31023         (Include): Remove <sys/socket.h>, <sys/un.h>.
31024         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
31025         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
31026         specification header. Include <sys/socket.h> always. Don't include
31027         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
31028         (sendfd): Clarify that it sets errno when it fails.
31029         (recvfd): Fix specification.
31030
31031 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
31032
31033         passfd module, part 2.
31034         * modules/passfd: New file.
31035         * lib/passfd.h: New file.
31036         * lib/passfd.c: New file.
31037
31038 2011-03-12  Bruno Haible  <bruno@clisp.org>
31039
31040         wcswidth, mbswidth: Avoid integer overflow.
31041         * lib/wcswidth.c: Include <limits.h>.
31042         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
31043         * lib/mbswidth.c: Include <limits.h>.
31044         (mbsnwidth): Avoid 'int' overflow.
31045         Reported by Jim Meyering.
31046
31047 2011-03-12  Bruno Haible  <bruno@clisp.org>
31048
31049         futimens, utimensat: Avoid endless recursion on Solaris 10.
31050         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
31051         Solaris.
31052         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
31053         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
31054
31055 2011-03-11  Jim Meyering  <meyering@redhat.com>
31056
31057         maint.mk: relax a regexp to accommodate other formatting styles
31058         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
31059         between "ngettext" and the following "(".
31060
31061 2011-03-11  Pádraig Brady <P@draigBrady.com>
31062
31063         maint.mk: suppress a false positive warning
31064         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
31065         diagnostics are marked with ngettext.
31066
31067 2011-03-10  Eric Blake  <eblake@redhat.com>
31068
31069         wchar: add explicit dependencies, for Tru64
31070         * modules/mbmemcasecoll (Depends-on): Add wchar.
31071         * modules/mbtowc (Depends-on): Likewise.
31072         * modules/vasnprintf (Depends-on): Likewise.
31073         * modules/unistdio/u-printf-args (Depends-on): Likewise.
31074         * modules/wctomb (Depends-on): Likewise.
31075         Reported by Peter O'Gorman.
31076
31077 2011-03-08  Bruno Haible  <bruno@clisp.org>
31078
31079         passfd module, part 1, tweaks.
31080         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
31081         Improve indentation. Improve AC_MSG_CHECKING messages.
31082         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
31083         gl_SOCKET_FAMILIES.
31084
31085 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
31086
31087         passfd module, part 1.
31088         * m4/afunix.m4: New file.
31089         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
31090         sockets.
31091
31092 2011-03-08  Bruno Haible  <bruno@clisp.org>
31093
31094         regex-quote: New API.
31095         * lib/regex-quote.h: Include <stdbool.h>.
31096         (struct regex_quote_spec): New type.
31097         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
31098         New declarations.
31099         (regex_quote_length, regex_quote_copy, regex_quote): Take a
31100         'const struct regex_quote_spec *' argument.
31101         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
31102         (pcre_special): New constant.
31103         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
31104         New functions.
31105         (regex_quote_length, regex_quote_copy, regex_quote): Take a
31106         'const struct regex_quote_spec *' argument.
31107         * modules/regex-quote (Depends-on): Add stdbool.
31108         * tests/test-regex-quote.c (check): Update for new API. Add test for
31109         anchored results.
31110         * NEWS: Mention the API change.
31111         Reported by Reuben Thomas and Eric Blake.
31112
31113 2011-03-06  Bruno Haible  <bruno@clisp.org>
31114
31115         regex-quote: Fix creation of POSIX extended regular expressions.
31116         * lib/regex-quote.c (ere_special): Add grouping and alternation
31117         operators.
31118
31119 2011-03-05  Bruno Haible  <bruno@clisp.org>
31120
31121         doc: Improve doc regarding autopoint vs. gnulib.
31122         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
31123         disable autopoint while running autoreconf.
31124         Suggested by Ralf Wildenhues.
31125
31126 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31127
31128         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
31129         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
31130
31131 2011-03-03  Bruce Korb  <bkorb@gnu.org>
31132
31133         parse-duration: remove xalloc.h dependency
31134         * lib/parse-duration.c (parse_period): handle NULL return from
31135         strdup instead of calling xstrdup().
31136         * modules/parse-duration: remove "xalloc" dependency
31137
31138 2011-03-03  Matthew Booth  <mbooth@redhat.com>
31139
31140         bootstrap: honor m4_base when running aclocal
31141         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
31142
31143 2011-03-02  Jim Meyering  <meyering@redhat.com>
31144
31145         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
31146         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
31147         on request from Matt Booth.
31148
31149 2011-03-01  Eric Blake  <eblake@redhat.com>
31150
31151         test-link: work on Hurd
31152         * tests/test-link.h (test_link): Hurd rejects linking directories
31153         with EISDIR instead of the POSIX-mandated EPERM.
31154
31155 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
31156
31157         stdio: simplify by moving files to printf-posix, sigpipe
31158         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
31159         since this symbol is needed only if printf is replaced.
31160         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
31161         Require gl_ASM_SYMBOL_PREFIX.
31162         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
31163         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
31164         (Depends-on): Add 'raise'.
31165         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
31166         * modules/stdio (Files): Remove lib/stdio-write.c,
31167         m4/asm-underscore.m4.
31168         (Depends-on): Remove 'raise'.
31169
31170         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
31171         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
31172         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
31173         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
31174
31175 2011-02-28  Bruno Haible  <bruno@clisp.org>
31176
31177         localcharset: Assume ANSI C behaviour of free().
31178         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
31179         calling free().
31180         Suggested by Simon Josefsson <simon@josefsson.org>.
31181
31182 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
31183             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
31184             Bruno Haible  <bruno@clisp.org>  (tiny change)
31185
31186         On Cygwin, use /proc file system instead of win32 API.
31187         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
31188         Win32 file names.
31189         (DllMain): Simplify by removing Cygwin specific code.
31190         (find_shared_library_fullname): Use Linux specific implementation also
31191         for Cygwin.
31192         (get_shared_library_fullname): Update accordingly.
31193         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
31194         Win32 file names.
31195         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
31196         Cygwin specific code.
31197
31198 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
31199             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
31200
31201         Fix OpenMP flag detection for various Fortran compilers.
31202         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
31203         OpenMP-conditional compilation construct, to force compile
31204         failure with missing OpenMP flag.
31205         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
31206
31207 2011-02-25  Eric Blake  <eblake@redhat.com>
31208
31209         strstr: expand test coverage
31210         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
31211         compilation.
31212         * tests/test-memmem.c (main): Duplicate tests.
31213         * tests/test-strcasestr.c (main): Likewise.
31214         * tests/test-c-strcasestr.c (main): Likewise.
31215
31216 2011-02-25  Jim Meyering  <meyering@redhat.com>
31217
31218         maint.mk: detect missing-NL-at-EOF, too
31219         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
31220         it also detects when a file lacks a newline at EOF.
31221         (require_exactly_one_NL_at_EOF_): Renamed from
31222         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
31223         since people may well have .x-sc_... file names tied to the
31224         existing name.  Suggested by Eric Blake.
31225
31226 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
31227
31228         dirname: move m4/dos.m4 functionality into lib/dosname.h
31229
31230         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
31231         extracts symbols from it, puts them into config.h; but it's much
31232         easier to use the symbols directly.  filename.h already does this,
31233         but it disagrees with dos.m4 in some respects.  This patch
31234         introduces a different include file dosname.h that packages up
31235         dos.m4, and then later we can work on merging filename.h and
31236         dosname.h.  Applications that need only the easy-to-configure
31237         symbols should consider including dosname.h rather than dirname.h.
31238         * NEWS: Mention incompatible changes.
31239         * m4/dos.m4: Remove.
31240         * lib/dosname.h, modules/dosname: New files.
31241         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
31242         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
31243         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
31244         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
31245         Include dosname.h, not dirname.h.
31246         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
31247         Include dosname.h, for definitions of symbols like ISSLASH
31248         that used to be in config.h.
31249         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
31250         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
31251         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
31252         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
31253         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
31254         * modules/rmdir (Files): Likewise.
31255         * modules/stat (Files): Likewise.
31256         * modules/unlink (Files): Likewise.
31257         * modules/dirname-lgpl (Depends-on): Add dosname.
31258         * modules/lstat (Depends-on): Likewise.
31259         * modules/openat (Depends-on): Likewise.
31260         * modules/rmdir (Depends-on): Likewise.
31261         * modules/savewd (Depends-on): Likewise.
31262         * modules/stat (Depends-on): Likewise.
31263         * modules/unlink (Depends-on): Likewise.
31264         * modules/openat (Depends-on): Remove dirname-lgpl.
31265         * modules/savewd (Depends-on): Likewise.
31266         * tests/test-dirname.c: Do not use removed symbols like
31267         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
31268         the remaining symbols, e.g., ISSLASH ('\\').
31269
31270 2011-02-25  Eric Blake  <eblake@redhat.com>
31271
31272         strstr: revert patches that introduced bug and pessimization
31273         * lib/str-two-way.h: Add another reference.
31274         (two_way_short_needle, two_way_long_needle): Revert changes from
31275         2011-02-24; they pessimize search speed.
31276         (critical_factorization): Partially revert changes from
31277         2010-06-22; they violate the requirement that the left half of the
31278         needle be smaller than the period of the needle.
31279
31280 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
31281
31282         filenamecat: remove unnecessary dependency on dirname-lgpl
31283         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
31284         is no direct dependency, just an indirect one via filenamecat-lgpl.
31285
31286         remove: remove unnecessary use of m4/dos.m4
31287         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
31288         * modules/remove (FILES): Remove m4/dos.m4.
31289
31290         * lib/openat-proc.c: Don't include dirname.h; not needed.
31291
31292         backupfile: remove unnecessary use of m4/dos.m4
31293         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
31294         of its symbols are used by the backupfile code.  backupfile.c does
31295         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
31296         for the rare case of programs that want all their backup file
31297         names to live within 8+3 limits, and dos.m4 doesn't address that.
31298         * modules/backupfile (Files): Remove m4/dos.m4.
31299
31300 2011-02-24  Jim Meyering  <meyering@redhat.com>
31301
31302         strstr: fix a bug whereby strstr would mistakenly return NULL
31303         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
31304         in period calculation.
31305         (two_way_long_needle): Likewise.
31306         The original problem was reported by Mike Stump in
31307         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
31308         Ralf Wildenhues provided the short needle and haystack.
31309         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
31310         Add a more involved test to trigger the bug in two_way_long_needle.
31311
31312 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
31313
31314         gnulib-tool: remove use of bold display in help screen
31315         * gnulib-tool (func_usage): Do not use bold display anymore in the
31316         help screen.  That was just meant to be a temporary emphasis for a
31317         backward-incompatible change.
31318
31319 2011-02-23  Bruno Haible  <bruno@clisp.org>
31320
31321         Fix misindentation of preprocessor directives.
31322         * lib/argp-namefrob.h: Reindent preprocessor directives.
31323         * lib/getopt_int.h (struct _getopt_data): Likewise.
31324         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
31325         * lib/vasnprintf.c (decode_long_double): Likewise.
31326         * tests/test-argmatch.c: Insert blank lines, for clarity.
31327         * tests/test-exclude.c: Likewise.
31328
31329 2011-02-22  Bruno Haible  <bruno@clisp.org>
31330
31331         ioctl: Fix for MacOS X in 64-bit mode.
31332         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
31333         value.
31334         Suggested by Eric Blake.
31335         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
31336
31337 2011-02-22  Jim Meyering  <meyering@redhat.com>
31338
31339         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
31340         * Makefile (sc_cpp_indent_check): Don't limit the check to files
31341         in lib/.
31342
31343 2011-02-22  Eric Blake  <eblake@redhat.com>
31344
31345         maint: avoid any CDPATH issue
31346         * Makefile (sc_cpp_indent_check): Anchor cd argument.
31347
31348         maint: adjust cpp indentation for my modules, as well
31349         * Makefile (sc_cpp_indent_check): Add my name.
31350         * lib/fbufmode.c: Filter through cppi.
31351         * lib/fpurge.c: Likewise.
31352         * lib/freadable.c: Likewise.
31353         * lib/freading.c: Likewise.
31354         * lib/fwritable.c: Likewise.
31355         * lib/fwriting.c: Likewise.
31356         * lib/sigaction.c: Likewise.
31357
31358 2011-02-22  Jim Meyering  <meyering@redhat.com>
31359
31360         maint: adjust cpp indentation to reflect nesting depth
31361         I.e., in a block of code that begins with an unnested "#if",
31362         put one space between the "#" in column 1 and following token.
31363         For example,
31364         -#include <sys/vfs.h>
31365         +# include <sys/vfs.h>
31366         Do this only in .c files that are part of a module I maintain.
31367         * lib/linkat.c: Filter through cppi.
31368         * lib/nanosleep.c: Likewise.
31369         * lib/openat.c: Likewise.
31370         * lib/openat-die.c: Likewise.
31371         * lib/dup3.c: Likewise.
31372         * lib/fchownat.c: Likewise.
31373         * lib/flock.c: Likewise.
31374         * lib/fsync.c: Likewise.
31375         * lib/fts.c: Likewise.
31376         * lib/getpass.c: Likewise.
31377         * lib/gettimeofday.c: Likewise.
31378         * lib/userspec.c: Likewise.
31379         * Makefile (sc_cpp_indent_check): New rule, to check this.
31380
31381 2011-02-22  Bruno Haible  <bruno@clisp.org>
31382
31383         New module 'wctomb'.
31384         * lib/stdlib.in.h (wctomb): New declaration.
31385         * lib/wctomb.c: New file.
31386         * lib/wctomb-impl.h: New file.
31387         * m4/wctomb.m4: New file.
31388         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
31389         REPLACE_WCTOMB.
31390         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
31391         REPLACE_WCTOMB.
31392         * modules/wctomb: New file.
31393         * tests/test-stdlib-c++.cc: Test signature of wctomb.
31394         * doc/posix-functions/wctomb.texi: Mention the new module.
31395         * modules/wctob (Depends-on): Add wctomb.
31396
31397 2011-02-22  Bruno Haible  <bruno@clisp.org>
31398
31399         New module 'mbtowc'.
31400         * lib/stdlib.in.h (mbtowc): New declaration.
31401         * lib/mbtowc.c: New file.
31402         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
31403         * m4/mbtowc.m4: New file.
31404         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
31405         REPLACE_MBTOWC.
31406         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
31407         REPLACE_MBTOWC.
31408         * modules/mbtowc: New file.
31409         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
31410         * doc/posix-functions/mbtowc.texi: Mention the new module.
31411         * modules/btowc (Depends-on): Add mbtowc.
31412
31413 2011-02-22  Bruno Haible  <bruno@clisp.org>
31414
31415         wcrtomb: Add more tests for native Windows platforms.
31416         * tests/test-wcrtomb-w32-1.sh: New file.
31417         * tests/test-wcrtomb-w32-2.sh: New file.
31418         * tests/test-wcrtomb-w32-3.sh: New file.
31419         * tests/test-wcrtomb-w32-4.sh: New file.
31420         * tests/test-wcrtomb-w32-5.sh: New file.
31421         * tests/test-wcrtomb-w32.c: New file.
31422         * modules/wcrtomb-tests (Files): Add them.
31423         (Makefile.am): Arrange to run these tests.
31424         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
31425         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
31426
31427 2011-02-20  Bruno Haible  <bruno@clisp.org>
31428
31429         wcrtomb: Enhance test.
31430         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
31431
31432 2011-02-20  Bruno Haible  <bruno@clisp.org>
31433
31434         mbrtowc: Tiny optimization.
31435         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
31436
31437 2011-02-20  Jim Meyering  <meyering@redhat.com>
31438
31439         test-exclude.c: remove unmatched #endif
31440         * tests/test-exclude.c: Remove stray #endif, left over from
31441         the change of a week ago.
31442
31443 2011-02-19  Jim Meyering  <meyering@redhat.com>
31444
31445         git-version-gen: skip "-dirty" check when appropriate
31446         * build-aux/git-version-gen: Don't run any git commands when the
31447         version string comes from .tarball-version.  Prior to this, we
31448         would run git update-index --refresh even from a just-unpacked
31449         tarball directory, and that could affect a .git/ directory in a
31450         parent of the build directory.  Reported by Mike Frysinger.
31451
31452 2011-02-19  Bruno Haible  <bruno@clisp.org>
31453
31454         unictype/property-byname: Reduce the size of the 'data' segment.
31455         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
31456
31457 2011-02-19  Bruno Haible  <bruno@clisp.org>
31458
31459         unictype/scripts: Reduce the size of the 'data' segment.
31460         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
31461         '%pic'.
31462         * lib/unictype/scripts_byname.gperf: Regenerated.
31463
31464 2011-02-19  Bruno Haible  <bruno@clisp.org>
31465
31466         stdint: Update documentation.
31467         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
31468
31469 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
31470
31471         stdint: omit redundant check for wchar.h
31472         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
31473         always tests whether wchar.h exists, so remove the now-redundant test.
31474
31475 2011-02-18  Bruno Haible  <bruno@clisp.org>
31476
31477         stdint: Cut dependency to module 'wchar'.
31478         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
31479         include the necessary prerequisites.
31480         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
31481         * modules/stdint (Depends-on): Remove wchar.
31482         (Makefile.am): Substitute HAVE_WCHAR_H.
31483         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
31484
31485 2011-02-18  Eric Blake  <eblake@redhat.com>
31486
31487         longlong: skip, rather than fail, on cross-compilation
31488         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
31489         when cross-compiling; regression from 2011-02-16.
31490
31491 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
31492
31493         * NEWS: Mention 2011-02-08 change to stdlib.
31494
31495 2011-02-17  Bruno Haible  <bruno@clisp.org>
31496
31497         getloadavg: Add comments about platforms.
31498         * m4/getloadavg.m4: Add comment.
31499         * lib/getloadavg.c: Likewise.
31500
31501 2011-02-17  Bruno Haible  <bruno@clisp.org>
31502
31503         getloadavg: Fix link error on Solaris 2.6.
31504         * modules/getloadavg (Link): New section.
31505         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
31506         linking test-getloadavg.
31507         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
31508         getloadavg.
31509
31510 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
31511
31512         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
31513         It was 'int', but this doesn't match the IRIX 6.5 manual.
31514         Suggested by Bruno Haible in
31515         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
31516
31517 2011-02-17  Bruno Haible  <bruno@clisp.org>
31518
31519         havelib: Fix comments.
31520         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
31521         change.
31522
31523 2011-02-17  Bruno Haible  <bruno@clisp.org>
31524
31525         havelib: Update config.rpath.
31526         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
31527
31528 2011-02-17  Bruno Haible  <bruno@clisp.org>
31529
31530         getloadavg test: Add some plausibility checks.
31531         * tests/test-getloadavg.c (check_avg): Print a warning when the value
31532         is improbable.
31533
31534 2011-02-16  Eric Blake  <eblake@redhat.com>
31535
31536         maintainer-makefile: make syntax-check a no-op from tarballs
31537         * top/maint.mk (no-vc-detected): New rule.
31538         (local-checks-available): Use it to avoid hanging if someone tries
31539         'make syntax-check' from a tarball.  Also append to any non-syntax
31540         checks already defined in cfg.mk.
31541
31542 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
31543
31544         longlong: tune, particularly for common case of c99
31545
31546         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
31547         or running anything if c99, or if unsigned long long int does not
31548         work.  In either case, we know the answer without further tests.
31549         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
31550         it at most once, and use its results for both long long int and
31551         unsigned long long int.  This is more likely to be efficient in
31552         the common case where the program wants to check for both long
31553         long int and unsigned long long int.
31554         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
31555         since the answer is already known.
31556
31557 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
31558
31559         getloadavg: set errno
31560         * lib/getloadavg.c: Set errno when returning -1.  If no other
31561         error number looks appropriate, set it to ENOSYS if the getloadavg
31562         looks like it can't possibly ever work, ENOTSUP otherwise.
31563         Suggested by Bruno Haible in
31564         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
31565
31566         getloadavg: trim unused parts and speed up 'configure'
31567         * NEWS: Document this.
31568         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
31569         always compiled if getloadavg is absent.
31570         Move test code to ...
31571         * tests/test-getloadavg.c: New file, containing previous
31572         contents of test from lib/getloadavg.c.  It also contains
31573         suggestions by Bruno Haible in
31574         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
31575         * modules/getloadavg-tests: New file.
31576         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
31577         Do tests in the same order as they're needed for getloadavg.c.
31578         Omit setgid-related tests that generate symbols KMEM_GROUP,
31579         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
31580         Do only the tests that are needed to see whether the system has
31581         getloadavg, moving the other tests into ...
31582         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
31583         NLIST_NAME_UNION; nobody should be using it.  Do not define
31584         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
31585         relevant, as the user of this module shouldn't care how getloadavg
31586         is implemented.
31587
31588         getloadavg: omit unused var
31589         * lib/getloadavg.c (getloadavg): Omit unused local variable.
31590
31591 2011-02-15  Jim Meyering  <meyering@redhat.com>
31592
31593         doc: update users.txt
31594         * users.txt: Update iwhd's URL.
31595
31596 2011-02-13  Bruno Haible  <bruno@clisp.org>
31597
31598         Consistent macro naming for macros that use GCC __attribute__.
31599         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
31600         _ATTRIBUTE_NONNULL_.
31601         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
31602         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
31603         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
31604         ATTRIBUTE_DEPRECATED.
31605         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
31606         ATTRIBUTE_NORETURN.
31607         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
31608         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
31609         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
31610         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
31611         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
31612         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
31613         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
31614         ATTRIBUTE_SENTINEL.
31615         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
31616         ATTRIBUTE_RETURN_CHECK.
31617         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
31618         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
31619         ATTRIBUTE_NORETURN.
31620         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
31621         Reported by Paul Eggert.
31622
31623 2011-02-13  Bruno Haible  <bruno@clisp.org>
31624
31625         Don't interfere with a program's definition of __attribute__.
31626         * lib/argp.h (__attribute__): Remove definition.
31627         (_GL_ATTRIBUTE_FORMAT): New macro.
31628         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
31629         * lib/argp-fmtstream.h (__attribute__): Remove definition.
31630         (_GL_ATTRIBUTE_FORMAT): New macro.
31631         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
31632         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
31633         GCC 3 or newer.
31634         * lib/error.h (__attribute__): Remove definition.
31635         (_GL_ATTRIBUTE_FORMAT): New macro.
31636         (error, error_at_line): Use it.
31637         * lib/hash.h (__attribute__): Remove definition.
31638         (ATTRIBUTE_WUR): Update definition. Define always.
31639         * lib/openat.h (__attribute__): Remove definition.
31640         (ATTRIBUTE_NORETURN): Update definition. Define always.
31641         * lib/sigpipe-die.h (__attribute__): Remove definition.
31642         (ATTRIBUTE_NORETURN): Update definition. Define always.
31643         * lib/vasnprintf.h (__attribute__): Remove definition.
31644         (_GL_ATTRIBUTE_FORMAT): New macro.
31645         (asnprintf, vasnprintf): Use it.
31646         * lib/xalloc.h (__attribute__): Remove definition.
31647         (ATTRIBUTE_NORETURN): Update definition. Define always.
31648         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
31649         * lib/xmemdup0.h (__attribute__): Remove definition.
31650         (ATTRIBUTE_NORETURN): Update definition. Define always.
31651         * lib/xprintf.h (__attribute__): Remove definition.
31652         (_GL_ATTRIBUTE_FORMAT): New macro.
31653         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
31654         * lib/xstrtol.h (__attribute__): Remove definition.
31655         (ATTRIBUTE_NORETURN): Update definition. Define always.
31656         * lib/xvasprintf.h (__attribute__): Remove definition.
31657         (_GL_ATTRIBUTE_FORMAT): New macro.
31658         (xasprintf, xvasprintf): Use it.
31659         * tests/test-argmatch.c (__attribute__): Remove definition.
31660         (ATTRIBUTE_NORETURN): Update definition. Define always.
31661         * tests/test-exclude.c (__attribute__): Remove definition.
31662         (ATTRIBUTE_NORETURN): Update definition. Define always.
31663         Reported by Paul Eggert.
31664
31665 2011-02-13  Bruno Haible  <bruno@clisp.org>
31666
31667         mbrtowc: Add more tests for native Windows platforms.
31668         * tests/test-mbrtowc-w32-1.sh: New file.
31669         * tests/test-mbrtowc-w32-2.sh: New file.
31670         * tests/test-mbrtowc-w32-3.sh: New file.
31671         * tests/test-mbrtowc-w32-4.sh: New file.
31672         * tests/test-mbrtowc-w32-5.sh: New file.
31673         * tests/test-mbrtowc-w32.c: New file.
31674         * modules/mbrtowc-tests (Files): Add them.
31675         (Makefile.am): Arrange to run these tests.
31676         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
31677         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
31678
31679 2011-02-13  Bruno Haible  <bruno@clisp.org>
31680
31681         mbrtowc: Work around native Windows bug.
31682         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
31683         guess when no suitable locale for testing was found.
31684         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
31685
31686 2011-02-13  Bruno Haible  <bruno@clisp.org>
31687
31688         mbsinit: Work around mingw bug.
31689         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
31690         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
31691         Windows.
31692         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
31693
31694 2011-02-13  Bruno Haible  <bruno@clisp.org>
31695
31696         mbsinit: Don't crash for a NULL argument.
31697         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
31698         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
31699
31700 2011-02-13  Bruno Haible  <bruno@clisp.org>
31701
31702         Don't interfere with a program's definition of __attribute__.
31703         * lib/stdio.in.h (__attribute__): Remove definition.
31704         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
31705         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
31706         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
31707         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
31708         * lib/string.in.h (__attribute__): Remove definition.
31709         Reported by Paul Eggert.
31710
31711 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
31712
31713         stdlib: don't get in the way of non-GCC __attribute__
31714         See thread starting at
31715         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
31716         Revert previous stdlib change, installing the following instead:
31717         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
31718         to get in the way of a non-GCC compiler that supports __attribute__.
31719         (_GL_ATTRIBUTE_RETURN): New macro.
31720         (_Exit): Use it instead of __attribute__.
31721
31722 2011-02-12  Bruno Haible  <bruno@clisp.org>
31723
31724         quotearg test: Avoid test failure on mingw.
31725         * tests/test-quotearg.sh: Convert the locale identifier from native
31726         Windows syntax to Unix syntax.
31727
31728 2011-02-12  Bruno Haible  <bruno@clisp.org>
31729
31730         setlocale: Prefer gnulib's override over libintl's override.
31731         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
31732         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
31733         GNULIB_defined_setlocale is set.
31734
31735 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
31736
31737         stdlib: support non-GCC __attribute__
31738
31739         Fix a serious and tricky problem encountered when attempting to
31740         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
31741         5.5, but it crashed due to memory corruption on Solaris 10 with
31742         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
31743         bits that are otherwise zero.  This tagging is optional inside
31744         Emacs but is preferred and is used when __attribute__ ((__aligned
31745         (8))) works, as it does with both recent-enough GCC and with Sun C
31746         5.11.  However, Sun C 5.11 is not GCC and does not #define
31747         __GNUC__ and __GNUC_MINOR__.
31748
31749         When I added the getloadavg module to Emacs, it brought in
31750         stdlib.in.h, which contained this fragment:
31751
31752            #ifndef __attribute__
31753            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
31754            #  define __attribute__(Spec)   /* empty */
31755            # endif
31756            #endif
31757
31758         When files that include <stdlib.h> were compiled with Sun C 5.11,
31759         the above code disabled __attribute__ ((__aligned (8))), which
31760         caused variables to not be properly aligned, which eventually led
31761         to the pointer corruption mentioned above.  (This was a bit hard
31762         to diagnose, unfortunately.)
31763
31764         Several "#define __attribute__(X) /* empty */" code snippets need
31765         to be eradicated from Gnulib to work with non-GCC compilers that
31766         support __attribute__.  The Autoconf way to do this is to test for
31767         each kind of attribute that we want support for, and selectively
31768         enable that in source code.
31769
31770         Fix this problem just for stdlib.h, by adding a test for the
31771         __noreturn__ attribute, and change stdlib.in.h to use that test
31772         when needed.  This technique can be easily generalized to the
31773         other *.in.h files and attributes, and a similar technique can be
31774         used for *.h and *.c files.  This patch is enough to solve the
31775         problem for Emacs + getloadavg, and I thought I'd publish it for
31776         feedback before undertaking further, similar fixes in other
31777         modules.
31778
31779         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
31780         because it's not needed for stdlib.h.  It merely substitutes the
31781         value directly into stdlib.h.  We may well need to #define it, or
31782         similar symbols, for other modules, but it's nice to also have an
31783         option to not #define it for applications like Emacs that do not
31784         need it.
31785
31786         * lib/stdlib.in.h (__attribute__): Do not #define.
31787         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
31788         be defined only if the _Exit module is also used.
31789         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
31790         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
31791         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
31792         platforms.
31793         * modules/_Exit (Files): Add m4/attribute.m4.
31794         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
31795         * m4/attribute.m4: New file.
31796
31797 2011-02-12  Bruno Haible  <bruno@clisp.org>
31798
31799         wcsrtombs: Work around bug on native Windows.
31800         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
31801         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
31802         instead of len.
31803         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
31804
31805 2011-02-12  Bruno Haible  <bruno@clisp.org>
31806
31807         mbsrtowcs: Work around bug on native Windows.
31808         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
31809         against mingw bug.
31810         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
31811
31812 2011-02-12  Bruno Haible  <bruno@clisp.org>
31813
31814         Avoid setlocale bugs in tests.
31815         * modules/btowc (Dependencies): Add setlocale.
31816         * modules/c-strcase (Dependencies): Likewise.
31817         * modules/mbmemcasecmp (Dependencies): Likewise.
31818         * modules/mbmemcasecoll (Dependencies): Likewise.
31819         * modules/mbrtowc (Dependencies): Likewise.
31820         * modules/mbscasecmp (Dependencies): Likewise.
31821         * modules/mbscasestr (Dependencies): Likewise.
31822         * modules/mbschr (Dependencies): Likewise.
31823         * modules/mbscspn (Dependencies): Likewise.
31824         * modules/mbsinit (Dependencies): Likewise.
31825         * modules/mbsncasecmp (Dependencies): Likewise.
31826         * modules/mbsnrtowcs (Dependencies): Likewise.
31827         * modules/mbspbrk (Dependencies): Likewise.
31828         * modules/mbspcasecmp (Dependencies): Likewise.
31829         * modules/mbsrchr (Dependencies): Likewise.
31830         * modules/mbsrtowcs (Dependencies): Likewise.
31831         * modules/mbsspn (Dependencies): Likewise.
31832         * modules/mbsstr (Dependencies): Likewise.
31833         * modules/nl_langinfo (Dependencies): Likewise.
31834         * modules/quotearg (Dependencies): Likewise.
31835         * modules/unicase/locale-language (Dependencies): Likewise.
31836         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
31837         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
31838         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
31839         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
31840         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
31841         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
31842         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
31843         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
31844         * modules/vasnprintf-posix (Dependencies): Likewise.
31845         * modules/wcrtomb (Dependencies): Likewise.
31846         * modules/wcsnrtombs (Dependencies): Likewise.
31847         * modules/wcsrtombs (Dependencies): Likewise.
31848
31849 2011-02-12  Bruno Haible  <bruno@clisp.org>
31850
31851         setlocale: Workaround native Windows bug.
31852         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
31853         succeeds but sets LC_CTYPE to "C", report a failure.
31854         * tests/test-setlocale2.sh: New file.
31855         * tests/test-setlocale2.c: New file.
31856         * modules/setlocale-tests (Files): Add the new files.
31857         (Makefile.am): Enable test-setlocale2.sh test.
31858         * doc/posix-functions/setlocale.texi: Mention workaround.
31859
31860 2011-02-11  Bruno Haible  <bruno@clisp.org>
31861
31862         Tests for module 'setlocale'.
31863         * modules/setlocale-tests: New file.
31864         * tests/test-setlocale1.sh: New file.
31865         * tests/test-setlocale1.c: New file.
31866
31867         New module 'setlocale'.
31868         * lib/locale.in.h (setlocale): New declaration.
31869         * lib/setlocale.c: New file, based on
31870         gettext/gettext-runtime/intl/setlocale.c.
31871         * m4/setlocale.m4: New file.
31872         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
31873         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
31874         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
31875         REPLACE_SETLOCALE.
31876         * modules/setlocale: New file.
31877         * tests/test-locale-c++.cc: Test the declaration of setlocale.
31878         * doc/posix-functions/setlocale.texi: Mention the new module.
31879
31880 2011-02-11  Bruno Haible  <bruno@clisp.org>
31881
31882         Prepare for locale dependent tests on mingw.
31883         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
31884         because it has the wrong locale encoding.
31885         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
31886         French_France.1252 instead of "fr".
31887         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
31888         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
31889         because it has the wrong locale encoding.
31890         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
31891         native Windows, try Turkish_Turkey.65001.
31892         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
31893         Chinese_China.54936.
31894
31895         Prepare for locale dependent tests on mingw.
31896         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
31897         differently.
31898         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
31899         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
31900         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31901         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31902
31903 2011-02-11  Eric Blake  <eblake@redhat.com>
31904
31905         strptime: avoid compiler warnings
31906         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
31907         compiler warnings about dead code.
31908         Reported by Daniel P. Berrange.
31909
31910 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
31911
31912         doc: update users.txt
31913         * users.txt: Add rcs.
31914
31915 2011-02-10  John W. Eaton  <jwe@gnu.org>
31916
31917         doc: update users.txt
31918         * users.txt: Add octave.
31919
31920 2011-02-10  Jim Meyering  <meyering@redhat.com>
31921
31922         doc: update users.txt
31923         * users.txt: Add iwhd.
31924
31925 2011-02-09  Bruno Haible  <bruno@clisp.org>
31926
31927         gnulib-tool: Make copyright notice adjustment more robust.
31928         * gnulib-tool (func_import): In sed_transform_main_lib_file,
31929         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
31930         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
31931         License".
31932         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
31933
31934 2011-02-06  Bruno Haible  <bruno@clisp.org>
31935
31936         New module 'towctrans'.
31937         * modules/towctrans: New file.
31938         * lib/wctype.in.h (towctrans): New declaration.
31939         * lib/towctrans.c: New file.
31940         * lib/towctrans-impl.h: New file.
31941         * m4/towctrans.m4: New file.
31942         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
31943         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
31944         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
31945         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
31946         * doc/posix-functions/towctrans.texi: Mention the new module.
31947
31948 2011-02-06  Bruno Haible  <bruno@clisp.org>
31949
31950         New module 'wctrans'.
31951         * modules/wctrans: New file.
31952         * lib/wctype.in.h (wctrans): New declaration.
31953         * lib/wctrans.c: New file.
31954         * lib/wctrans-impl.h: New file.
31955         * m4/wctrans.m4: New file.
31956         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
31957         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
31958         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
31959         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
31960         * doc/posix-functions/wctrans.texi: Mention the new module.
31961
31962 2011-02-06  Bruno Haible  <bruno@clisp.org>
31963
31964         New module 'iswctype'.
31965         * modules/iswctype: New file.
31966         * lib/wctype.in.h (iswctype): New declaration.
31967         * lib/iswctype.c: New file.
31968         * lib/iswctype-impl.h: New file.
31969         * m4/iswctype.m4: New file.
31970         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
31971         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
31972         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
31973         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
31974         * doc/posix-functions/iswctype.texi: Mention the new module and the
31975         HP-UX 11.00 problem.
31976
31977 2011-02-06  Bruno Haible  <bruno@clisp.org>
31978
31979         New module 'wctype'.
31980         * modules/wctype: Change to represent the wctype() substitute.
31981         * lib/wctype.in.h (wctype): New declaration.
31982         * lib/wctype.c: New file.
31983         * lib/wctype-impl.h: New file.
31984         * m4/wctype.m4: New file.
31985         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
31986         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
31987         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
31988         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
31989         * doc/posix-functions/wctype.texi: Mention the new module and the
31990         HP-UX 11.00 problem.
31991
31992 2011-02-06  Bruno Haible  <bruno@clisp.org>
31993
31994         wctype-h: Ensure wctype_t and wctrans_t are defined.
31995         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
31996         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
31997         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
31998         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
31999         HAVE_WCTRANS_T.
32000         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
32001
32002 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
32003
32004         flock: fix license typo
32005
32006         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
32007         omitted.
32008
32009 2011-02-08  Bruno Haible  <bruno@clisp.org>
32010
32011         Split large sed scripts, for HP-UX sed.
32012         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
32013         to avoid HP-UX limit of 99 commands, in the near future.
32014         * modules/stdlib (Makefile.am): Likewise.
32015         * modules/unistd (Makefile.am): Likewise.
32016         * modules/wchar (Makefile.am): Likewise.
32017         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32018         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
32019         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
32020
32021 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
32022             Bruno Haible  <bruno@clisp.org>
32023
32024         stdlib: improve random_r modularization
32025         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
32026         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
32027         you also need the random_r module to get this material right.
32028         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
32029         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
32030         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
32031
32032 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
32033
32034         stdlib: don't depend on stdint
32035         * lib/stdlib.in.h: Don't include <stdint.h> merely because
32036         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
32037         be independent of whether stdint.h is needed.
32038         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
32039         here, instead of ...
32040         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
32041         struct random_data should be using the random_r module, not just
32042         the stdlib module (which wouldn't make sense: what package needs
32043         just struct random_data without also needing random_r?).
32044         * modules/stdlib (Depends-on): Remove stdint.
32045
32046         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
32047         See the thread rooted at
32048         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
32049         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
32050         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
32051         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
32052         __VMS)); previously it was always included (via fcntl--.h).
32053         (getloadavg): Do not use c_strtod.  Instead, approximate it by
32054         hand; this is good enough for load averages.  Also, do not use
32055         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
32056         flags directly if available and don't bother otherwise.  (Packages
32057         that need the extra reliability should use the modules that define
32058         these flags on older platforms that lack them.)
32059         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
32060         fcntl-safer.
32061
32062 2011-02-08  Jim Meyering  <meyering@redhat.com>
32063
32064         di-set.h, ino-map.h: add multiple-inclusion guard
32065         Technically, the guard is required only for ino-map.h, due to its
32066         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
32067         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
32068         * lib/ino-map.h: Likewise.
32069
32070 2011-02-06  Bruno Haible  <bruno@clisp.org>
32071
32072         iswblank: Ensure declaration on glibc systems.
32073         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
32074         * modules/iswblank (Dependencies): Add 'extensions'.
32075         * doc/posix-functions/iswblank.texi: Document the glibc problem.
32076
32077 2011-02-06  Bruno Haible  <bruno@clisp.org>
32078
32079         New module 'iswblank'.
32080         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
32081         * modules/iswblank: New file.
32082         * modules/wctype-h (Files): Remove lib/iswblank.c.
32083         (Makefile.am): Substitute GNULIB_ISWBLANK.
32084         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
32085         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
32086         (gl_WCTYPE_H_DEFAULTS): New macro.
32087         (gl_WCTYPE_H): Require it. Remove iswblank related code.
32088         * modules/iswblank-tests: New file.
32089         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
32090         * tests/test-wctype-h.c (main): Remove iswblank tests.
32091         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
32092         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
32093         of 'wctype-h'.
32094         * NEWS: Mention the change.
32095         * modules/mbchar (Depends-on): Add iswblank.
32096
32097 2011-02-08  Bruno Haible  <bruno@clisp.org>
32098
32099         di-set tests: Refactor.
32100         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
32101         unnecessary includes.
32102         (ASSERT): Remove macro.
32103         (main): Make C90 compliant by avoiding variable declaration after
32104         statement.
32105         * modules/di-set-tests (Files): Add tests/macros.h.
32106
32107 2011-02-08  Bruno Haible  <bruno@clisp.org>
32108
32109         ino-map tests: Refactor.
32110         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
32111         unnecessary includes.
32112         (ASSERT): Remove macro.
32113         (main): Make C90 compliant by avoiding variable declaration after
32114         statement.
32115         * modules/ino-map-tests (Files): Add tests/macros.h.
32116
32117 2011-02-08  Jim Meyering  <meyering@redhat.com>
32118
32119         di-set: add "const" to a cast
32120         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
32121         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
32122
32123 2011-02-06  Bruno Haible  <bruno@clisp.org>
32124
32125         Rename module 'wctype' to 'wctype-h'.
32126         * modules/wctype-h: Renamed from modules/wctype.
32127         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
32128         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
32129         (Files, Depends-on, Makefile.am): Update.
32130         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
32131         (Files, Makefile.am): Update.
32132         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
32133         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
32134         * doc/posix-headers/wctype.texi: Update.
32135         * doc/posix-functions/iswalnum.texi: Update.
32136         * doc/posix-functions/iswalpha.texi: Update.
32137         * doc/posix-functions/iswblank.texi: Update.
32138         * doc/posix-functions/iswcntrl.texi: Update.
32139         * doc/posix-functions/iswdigit.texi: Update.
32140         * doc/posix-functions/iswgraph.texi: Update.
32141         * doc/posix-functions/iswlower.texi: Update.
32142         * doc/posix-functions/iswprint.texi: Update.
32143         * doc/posix-functions/iswpunct.texi: Update.
32144         * doc/posix-functions/iswspace.texi: Update.
32145         * doc/posix-functions/iswupper.texi: Update.
32146         * doc/posix-functions/iswxdigit.texi: Update.
32147         * doc/posix-functions/towlower.texi: Update.
32148         * doc/posix-functions/towupper.texi: Update.
32149         * NEWS: Mention the change.
32150         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
32151         * modules/mbchar (Dependencies): Likewise.
32152         * modules/mbswidth (Dependencies): Likewise.
32153         * modules/quotearg (Dependencies): Likewise.
32154         * modules/regex (Dependencies): Likewise.
32155         * modules/wcscasecmp (Dependencies): Likewise.
32156         * modules/wcsncasecmp (Dependencies): Likewise.
32157         * modules/wcwidth (Dependencies): Likewise.
32158
32159 2011-02-06  Bruno Haible  <bruno@clisp.org>
32160
32161         New module 'wcswidth'.
32162         * modules/wcswidth: New file.
32163         * lib/wchar.in.h (wcswidth): New declaration.
32164         * lib/wcswidth.c: New file.
32165         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
32166         * m4/wcswidth.m4: New file.
32167         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
32168         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
32169         REPLACE_WCSWIDTH.
32170         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
32171         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
32172         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
32173         * doc/posix-functions/wcswidth.texi: Mention the new module.
32174
32175 2011-02-06  Bruno Haible  <bruno@clisp.org>
32176
32177         New module 'wcstok'.
32178         * modules/wcstok: New file.
32179         * lib/wchar.in.h (wcstok): New declaration.
32180         * lib/wcstok.c: New file.
32181         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
32182         * m4/wcstok.m4: New file.
32183         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
32184         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
32185         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
32186         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
32187         * doc/posix-functions/wcstok.texi: Mention the new module.
32188
32189 2011-02-06  Bruno Haible  <bruno@clisp.org>
32190
32191         New module 'wcsstr'.
32192         * modules/wcsstr: New file.
32193         * lib/wchar.in.h (wcsstr): New declaration.
32194         * lib/wcsstr.c: New file.
32195         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
32196         * m4/wcsstr.m4: New file.
32197         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
32198         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
32199         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
32200         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
32201         * doc/posix-functions/wcsstr.texi: Mention the new module.
32202
32203 2011-02-06  Bruno Haible  <bruno@clisp.org>
32204
32205         New module 'wcspbrk'.
32206         * modules/wcspbrk: New file.
32207         * lib/wchar.in.h (wcspbrk): New declaration.
32208         * lib/wcspbrk.c: New file.
32209         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
32210         * m4/wcspbrk.m4: New file.
32211         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
32212         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
32213         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
32214         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
32215         * doc/posix-functions/wcspbrk.texi: Mention the new module.
32216
32217 2011-02-06  Bruno Haible  <bruno@clisp.org>
32218
32219         New module 'wcsspn'.
32220         * modules/wcsspn: New file.
32221         * lib/wchar.in.h (wcsspn): New declaration.
32222         * lib/wcsspn.c: New file.
32223         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
32224         * m4/wcsspn.m4: New file.
32225         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
32226         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
32227         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
32228         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
32229         * doc/posix-functions/wcsspn.texi: Mention the new module.
32230
32231 2011-02-06  Bruno Haible  <bruno@clisp.org>
32232
32233         New module 'wcscspn'.
32234         * modules/wcscspn: New file.
32235         * lib/wchar.in.h (wcscspn): New declaration.
32236         * lib/wcscspn.c: New file.
32237         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
32238         * m4/wcscspn.m4: New file.
32239         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
32240         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
32241         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
32242         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
32243         * doc/posix-functions/wcscspn.texi: Mention the new module.
32244
32245 2011-02-06  Bruno Haible  <bruno@clisp.org>
32246
32247         New module 'wcsrchr'.
32248         * modules/wcsrchr: New file.
32249         * lib/wchar.in.h (wcsrchr): New declaration.
32250         * lib/wcsrchr.c: New file.
32251         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
32252         * m4/wcsrchr.m4: New file.
32253         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
32254         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
32255         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
32256         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
32257         * doc/posix-functions/wcsrchr.texi: Mention the new module.
32258
32259 2011-02-06  Bruno Haible  <bruno@clisp.org>
32260
32261         New module 'wcschr'.
32262         * modules/wcschr: New file.
32263         * lib/wchar.in.h (wcschr): New declaration.
32264         * lib/wcschr.c: New file.
32265         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
32266         * m4/wcschr.m4: New file.
32267         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
32268         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
32269         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
32270         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
32271         * doc/posix-functions/wcschr.texi: Mention the new module.
32272
32273 2011-02-06  Bruno Haible  <bruno@clisp.org>
32274
32275         New module 'wcsdup'.
32276         * modules/wcsdup: New file.
32277         * lib/wchar.in.h (wcsdup): New declaration.
32278         * lib/wcsdup.c: New file.
32279         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
32280         * m4/wcsdup.m4: New file.
32281         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
32282         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
32283         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
32284         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
32285         * doc/posix-functions/wcsdup.texi: Mention the new module.
32286
32287 2011-02-06  Bruno Haible  <bruno@clisp.org>
32288
32289         New module 'wcsxfrm'.
32290         * modules/wcsxfrm: New file.
32291         * lib/wchar.in.h (wcsxfrm): New declaration.
32292         * lib/wcsxfrm.c: New file.
32293         * lib/wcsxfrm-impl.h: New file.
32294         * m4/wcsxfrm.m4: New file.
32295         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
32296         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
32297         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
32298         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
32299         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
32300
32301 2011-02-06  Bruno Haible  <bruno@clisp.org>
32302
32303         New module 'wcscoll'.
32304         * modules/wcscoll: New file.
32305         * lib/wchar.in.h (wcscoll): New declaration.
32306         * lib/wcscoll.c: New file.
32307         * lib/wcscoll-impl.h: New file.
32308         * m4/wcscoll.m4: New file.
32309         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
32310         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
32311         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
32312         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
32313         * doc/posix-functions/wcscoll.texi: Mention the new module.
32314
32315 2011-02-06  Bruno Haible  <bruno@clisp.org>
32316
32317         New module 'wcsncasecmp'.
32318         * modules/wcsncasecmp: New file.
32319         * lib/wchar.in.h (wcsncasecmp): New declaration.
32320         * lib/wcsncasecmp.c: New file.
32321         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
32322         * m4/wcsncasecmp.m4: New file.
32323         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
32324         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
32325         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
32326         HAVE_WCSNCASECMP.
32327         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
32328         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
32329
32330 2011-02-06  Bruno Haible  <bruno@clisp.org>
32331
32332         New module 'wcscasecmp'.
32333         * modules/wcscasecmp: New file.
32334         * lib/wchar.in.h (wcscasecmp): New declaration.
32335         * lib/wcscasecmp.c: New file.
32336         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
32337         * m4/wcscasecmp.m4: New file.
32338         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
32339         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
32340         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
32341         HAVE_WCSCASECMP.
32342         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
32343         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
32344
32345 2011-02-05  Bruno Haible  <bruno@clisp.org>
32346
32347         New module 'wcsncmp'.
32348         * modules/wcsncmp: New file.
32349         * lib/wchar.in.h (wcsncmp): New declaration.
32350         * lib/wcsncmp.c: New file.
32351         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
32352         * m4/wcsncmp.m4: New file.
32353         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
32354         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
32355         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
32356         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
32357         * doc/posix-functions/wcsncmp.texi: Mention the new module.
32358
32359 2011-02-05  Bruno Haible  <bruno@clisp.org>
32360
32361         New module 'wcscmp'.
32362         * modules/wcscmp: New file.
32363         * lib/wchar.in.h (wcscmp): New declaration.
32364         * lib/wcscmp.c: New file.
32365         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
32366         * m4/wcscmp.m4: New file.
32367         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
32368         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
32369         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
32370         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
32371         * doc/posix-functions/wcscmp.texi: Mention the new module.
32372
32373 2011-02-05  Bruno Haible  <bruno@clisp.org>
32374
32375         New module 'wcsncat'.
32376         * modules/wcsncat: New file.
32377         * lib/wchar.in.h (wcsncat): New declaration.
32378         * lib/wcsncat.c: New file.
32379         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
32380         * m4/wcsncat.m4: New file.
32381         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
32382         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
32383         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
32384         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
32385         * doc/posix-functions/wcsncat.texi: Mention the new module.
32386
32387 2011-02-05  Bruno Haible  <bruno@clisp.org>
32388
32389         New module 'wcscat'.
32390         * modules/wcscat: New file.
32391         * lib/wchar.in.h (wcscat): New declaration.
32392         * lib/wcscat.c: New file.
32393         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
32394         * m4/wcscat.m4: New file.
32395         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
32396         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
32397         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
32398         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
32399         * doc/posix-functions/wcscat.texi: Mention the new module.
32400
32401 2011-02-05  Bruno Haible  <bruno@clisp.org>
32402
32403         New module 'wcpncpy'.
32404         * modules/wcpncpy: New file.
32405         * lib/wchar.in.h (wcpncpy): New declaration.
32406         * lib/wcpncpy.c: New file.
32407         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
32408         * m4/wcpncpy.m4: New file.
32409         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
32410         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
32411         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
32412         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
32413         * doc/posix-functions/wcpncpy.texi: Mention the new module.
32414
32415 2011-02-05  Bruno Haible  <bruno@clisp.org>
32416
32417         New module 'wcsncpy'.
32418         * modules/wcsncpy: New file.
32419         * lib/wchar.in.h (wcsncpy): New declaration.
32420         * lib/wcsncpy.c: New file.
32421         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
32422         * m4/wcsncpy.m4: New file.
32423         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
32424         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
32425         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
32426         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
32427         * doc/posix-functions/wcsncpy.texi: Mention the new module.
32428
32429 2011-02-05  Bruno Haible  <bruno@clisp.org>
32430
32431         New module 'wcpcpy'.
32432         * modules/wcpcpy: New file.
32433         * lib/wchar.in.h (wcpcpy): New declaration.
32434         * lib/wcpcpy.c: New file.
32435         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
32436         * m4/wcpcpy.m4: New file.
32437         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
32438         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
32439         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
32440         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
32441         * doc/posix-functions/wcpcpy.texi: Mention the new module.
32442
32443 2011-02-05  Bruno Haible  <bruno@clisp.org>
32444
32445         New module 'wcscpy'.
32446         * modules/wcscpy: New file.
32447         * lib/wchar.in.h (wcscpy): New declaration.
32448         * lib/wcscpy.c: New file.
32449         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
32450         * m4/wcscpy.m4: New file.
32451         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
32452         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
32453         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
32454         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
32455         * doc/posix-functions/wcscpy.texi: Mention the new module.
32456
32457 2011-02-05  Bruno Haible  <bruno@clisp.org>
32458
32459         New module 'wcsnlen'.
32460         * modules/wcsnlen: New file.
32461         * lib/wchar.in.h (wcsnlen): New declaration.
32462         * lib/wcsnlen.c: New file.
32463         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
32464         * m4/wcsnlen.m4: New file.
32465         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
32466         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
32467         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
32468         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
32469         * doc/posix-functions/wcsnlen.texi: Mention the new module.
32470
32471 2011-02-05  Bruno Haible  <bruno@clisp.org>
32472
32473         New module 'wcslen'.
32474         * modules/wcslen: New file.
32475         * lib/wchar.in.h (wcslen): New declaration.
32476         * lib/wcslen.c: New file.
32477         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
32478         * m4/wcslen.m4: New file.
32479         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
32480         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
32481         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
32482         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
32483         * doc/posix-functions/wcslen.texi: Mention the new module.
32484
32485 2011-02-05  Bruno Haible  <bruno@clisp.org>
32486
32487         New module 'wmemset'.
32488         * modules/wmemset: New file.
32489         * lib/wchar.in.h (wmemset): New declaration.
32490         * lib/wmemset.c: New file.
32491         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
32492         * m4/wmemset.m4: New file.
32493         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
32494         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
32495         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
32496         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
32497         * doc/posix-functions/wmemset.texi: Mention the new module.
32498
32499 2011-02-05  Bruno Haible  <bruno@clisp.org>
32500
32501         New module 'wmemmove'.
32502         * modules/wmemmove: New file.
32503         * lib/wchar.in.h (wmemmove): New declaration.
32504         * lib/wmemmove.c: New file.
32505         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
32506         * m4/wmemmove.m4: New file.
32507         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
32508         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
32509         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
32510         HAVE_WMEMMOVE.
32511         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
32512         * doc/posix-functions/wmemmove.texi: Mention the new module.
32513
32514 2011-02-05  Bruno Haible  <bruno@clisp.org>
32515
32516         New module 'wmemcpy'.
32517         * modules/wmemcpy: New file.
32518         * lib/wchar.in.h (wmemcpy): New declaration.
32519         * lib/wmemcpy.c: New file.
32520         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
32521         * m4/wmemcpy.m4: New file.
32522         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
32523         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
32524         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
32525         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
32526         * doc/posix-functions/wmemcpy.texi: Mention the new module.
32527
32528 2011-02-05  Bruno Haible  <bruno@clisp.org>
32529
32530         New module 'wmemcmp'.
32531         * modules/wmemcmp: New file.
32532         * lib/wchar.in.h (wmemcmp): New declaration.
32533         * lib/wmemcmp.c: New file.
32534         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
32535         * m4/wmemcmp.m4: New file.
32536         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
32537         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
32538         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
32539         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
32540         * doc/posix-functions/wmemcmp.texi: Mention the new module.
32541
32542 2011-02-07  Jim Meyering  <meyering@redhat.com>
32543
32544         di-set, ino-map: new modules, from coreutils
32545         * lib/di-set.c: New file.
32546         * lib/di-set.h: Likewise.
32547         * lib/ino-map.c: Likewise.
32548         * lib/ino-map.h: Likewise.
32549         * modules/di-set: Likewise.
32550         * modules/di-set-tests: Likewise.
32551         * modules/ino-map: Likewise.
32552         * modules/ino-map-tests: Likewise.
32553         * tests/test-di-set.c: Likewise.
32554         * tests/test-ino-map.c: Likewise.
32555
32556 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
32557
32558         getloadavg: merge minor changes from Emacs
32559
32560         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
32561         (getloadavg): Use memset, not bzero.
32562
32563         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
32564         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
32565         clash (bug#86).
32566
32567 2010-11-14  Bruno Haible  <bruno@clisp.org>
32568
32569         Allow multiple gnulib generated replacements to coexist.
32570         * lib/getopt.in.h (struct option): Avoid identical redefinition.
32571         * lib/inttypes.in.h (imaxdiv_t): Likewise.
32572         * lib/langinfo.in.h (nl_item): Likewise.
32573         * lib/math.in.h (_NaN, NAN): Likewise.
32574         * lib/netdb.in.h (struct addrinfo): Likewise.
32575         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
32576         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
32577         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
32578         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
32579         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
32580         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
32581         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
32582         pthread_mutexattr_init, pthread_mutexattr_settype,
32583         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
32584         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
32585         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
32586         pthread_spin_trylock, pthread_spin_unlock): Likewise.
32587         * lib/sched.in.h (struct sched_param): Likewise.
32588         * lib/se-selinux.in.h (security_class_t, security_context_t,
32589         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
32590         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
32591         lsetfilecon, fsetfilecon, security_check_context,
32592         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
32593         Likewise.
32594         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
32595         Likewise.
32596         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
32597         _gl_function_taking_int_returning_void_t, union sigval,
32598         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
32599         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
32600         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
32601         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
32602         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
32603         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
32604         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
32605         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
32606         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
32607         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
32608         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
32609         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
32610         socklen_t, rpl_fd_isset): Likewise.
32611         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
32612         * lib/sys_time.in.h (struct timeval): Likewise.
32613         * lib/sys_times.in.h (struct tms): Likewise.
32614         * lib/sys_utsname.in.h (struct utsname):
32615         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
32616         * lib/unistd.in.h (getpagesize): Likewise.
32617         * lib/wchar.in.h (mbstate_t): Likewise.
32618         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
32619         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
32620         towlower, towupper): Likewise.
32621         Reported by Sam Steingold <sds@gnu.org>.
32622
32623 2011-02-05  Eric Blake  <eblake@redhat.com>
32624
32625         unsetenv: work around Haiku issues
32626         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
32627         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
32628
32629 2010-12-30  Bruce Korb  <bkorb@gnu.org>
32630
32631         libposix: avoid calling error() within libposix
32632         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
32633         is defined.
32634
32635 2011-02-05  Eric Blake  <eblake@redhat.com>
32636
32637         strerror_r-posix: port to cygwin
32638         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
32639         implementation.
32640         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
32641         * tests/test-strerror_r.c (main): Fix test.
32642         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
32643         issue.
32644
32645 2011-02-05  Bruno Haible  <bruno@clisp.org>
32646
32647         New module 'wmemchr'.
32648         * modules/wmemchr: New file.
32649         * lib/wchar.in.h (wmemchr): New declaration.
32650         * lib/wmemchr.c: New file.
32651         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
32652         * m4/wmemchr.m4: New file.
32653         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
32654         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
32655         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
32656         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
32657         * doc/posix-functions/wmemchr.texi: Mention the new module.
32658
32659 2011-02-04  Eric Blake  <eblake@redhat.com>
32660
32661         fdopendir: detect FreeBSD bug
32662         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
32663         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
32664
32665 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
32666
32667         stdbool: do not define HAVE_STDBOOL_H
32668         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
32669         AC_HEADER_STDBOOL.  All uses changed.  Do not define
32670         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
32671         imported from the latest Autoconf git.  It was motivated by Emacs,
32672         which uses gnulib but does not need HAVE_STDBOOL_H.
32673
32674 2011-02-04  Bruno Haible  <bruno@clisp.org>
32675
32676         wcsnrtombs: Prepare for new module wwcsnrtombs.
32677         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
32678         * lib/wcsnrtombs.c: Include it.
32679         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
32680
32681         wcsrtombs: Prepare for new module wwcsrtombs.
32682         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
32683         * lib/wcsrtombs.c: Include it.
32684         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
32685
32686         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
32687         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
32688         * lib/mbsnrtowcs.c: Include it.
32689         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
32690
32691         mbsrtowcs: Prepare for new module mbsrtowwcs.
32692         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
32693         * lib/mbsrtowcs.c: Include it.
32694         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
32695
32696 2011-02-04  Bruno Haible  <bruno@clisp.org>
32697
32698         vasnprintf: Reduce use of malloc for small format strings.
32699         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
32700         (arguments): Add room for the first 7 arguments.
32701         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
32702         (char_directives, u8_directives, u16_directives, u32_directives): Add
32703         room for the first 7 directives.
32704         * lib/printf-parse.c: Include <string.h>.
32705         (PRINTF_PARSE): Change memory handling code so that it uses the first
32706         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
32707         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
32708         Reported by Pádraig Brady <P@draigbrady.com>.
32709
32710 2011-01-31  Eric Blake  <eblake@redhat.com>
32711
32712         dup2: work around Haiku bug
32713         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
32714         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
32715         * doc/posix-functions/dup2.texi (dup2): Document the bug.
32716         * tests/test-dup2.c (main): Enhance test.
32717
32718 2011-01-31  Simon Josefsson  <simon@josefsson.org>
32719
32720         doc: off_t is not available in eglibc 2.11.2 stdio.h.
32721         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
32722         declared by eglibc 2.11.2.
32723         * lib/stdio.in.h: Likewise.
32724
32725 2011-01-31  Eric Blake  <eblake@redhat.com>
32726
32727         ignore-value: add missing test dependency
32728         * tests/test-ignore-value.c: Revert previous change; stdio.h
32729         provides off_t.
32730         * modules/ignore-value-tests (Depends-on): Add missing dependency.
32731
32732 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
32733
32734         mktime: clarify long_int width checking
32735         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
32736         the top level, to make it clearer that the assumption about
32737         long_int width is being checked.  See
32738         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
32739
32740 2011-01-30  Simon Josefsson  <simon@josefsson.org>
32741
32742         ignore-value: Fix self-test.
32743         * tests/test-ignore-value.c: Include sys/types.h for off_t.
32744
32745 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
32746
32747         TYPE_MAXIMUM: avoid theoretically undefined behavior
32748         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
32749         negative number, which the C Standard says has undefined behavior.
32750         In practice this is not a problem, but might as well do it by the book.
32751         Reported by Rich Felker and Eric Blake; see
32752         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
32753         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
32754         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
32755         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
32756         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
32757         * m4/stdint.m4 (gl_STDINT_H): Likewise.
32758         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
32759
32760         mktime: #undef mktime before #defining it
32761         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
32762
32763         mktime: systematically normalize tm_isdst comparisons
32764         * lib/mktime.c (isdst_differ): New function.
32765         (__mktime_internal): Use it systematically for all isdst comparisons.
32766         This completes the fix for libc BZ #6723, and removes the need for
32767         normalizing tm_isdst.  See
32768         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
32769         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
32770
32771         mktime: fix some integer overflow issues and sidestep the rest
32772
32773         This was prompted by a bug report by Benjamin Lindner for MinGW
32774         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
32775         His bug is due to signed integer overflow (0 - INT_MIN), and I
32776         I scanned through mktime.c looking for other integer overflow
32777         problems, fixing all the bugs I found.
32778
32779         Although the C Standard says the resulting code is still not safe
32780         in the presence of integer overflow, in practice it should be good
32781         enough for all real-world two's-complement implementations, except
32782         for debugging environments that deliberately trap on integer
32783         overflow (e.g., gcc -ftrapv).
32784
32785         * lib/mktime.c (WRAPV): New macro.
32786         (SHR): Also check that long_int and time_t shift right in the
32787         usual way, before using the fast-but-unportable method.
32788         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
32789         used.  The code already assumed two's complement, so there's
32790         no need to test for alternatives.  All uses removed.
32791         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
32792         the C standard.  Problem reported by Rich Felker in
32793         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
32794         (twos_complement_arithmetic): Also check long_int and time_t.
32795         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
32796         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
32797         (__mktime_internal): Avoid integer overflow with unary subtraction
32798         in two instances where -1 - X is an adequate replacement for -X,
32799         since the calculations are approximate.
32800
32801 2011-01-29  Eric Blake  <eblake@redhat.com>
32802
32803         mktime: avoid infinite loop
32804         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
32805         type; behavior is still undefined but portable to all known targets.
32806         Reported by Rich Felker.
32807
32808 2011-01-29  Simon Josefsson  <simon@josefsson.org>
32809
32810         rename, unlink, same-inode: Relicense.
32811         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
32812         * modules/unlink (License): Likewise.
32813         * modules/same-inode (License): Likewise.
32814
32815 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
32816
32817         mktime: avoid problems on NetBSD 5 / i386
32818         * lib/mktime.c (long_int): New type.  This works around a problem
32819         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
32820         but time_t is 64 bits, and where I expect the existing code is
32821         wrong in some cases.
32822         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
32823         (ydhms_diff): Bring back the compile-time check for wide-enough
32824         year and yday.
32825
32826         mktime: fix misspelling in comment
32827         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
32828         This merges all recent glibc changes of importance.
32829
32830 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32831
32832         move-if-change: cope with concurrent mv of identical file.
32833         * build-aux/move-if-change (CMPPROG): Accept environment
32834         variable as an override for `cmp'.
32835         (usage): Document CMPPROG.
32836         Adjust comparison to drop stdout.  Cope with failure of mv if
32837         the target file exists and is identical to the source, for
32838         parallel builds.
32839         Report from H.J. Lu against binutils in PR binutils/12283.
32840
32841 2011-01-28  Bruce Korb  <bkorb@gnu.org>
32842
32843         * users.txt: Mention sharutils.
32844
32845 2011-01-28  Simon Josefsson  <simon@josefsson.org>
32846
32847         * users.txt: Mention OATH Toolkit.
32848
32849 2011-01-27  Bruno Haible  <bruno@clisp.org>
32850
32851         Prepare for supporting FreeBSD 10.
32852         * build-aux/config.libpath: Remove handling of freebsd1*.
32853
32854 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
32855
32856         Prepare for supporting FreeBSD 10.
32857         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
32858         match FreeBSD 10.0.
32859
32860 2011-01-27  Bruno Haible  <bruno@clisp.org>
32861
32862         vma-iter, get-rusage-as: Add OpenBSD support.
32863         * modules/vma-iter (configure.ac): Test for mquery.
32864         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
32865         * lib/vma-iter.c: Include <sys/mman.h>.
32866         (vma_iterate): Add an implementation based on mquery().
32867         * lib/resource-ext.h (get_rusage_as): Update comments.
32868         * lib/get-rusage-as.c: Likewise.
32869         * lib/get-rusage-data.c: Likewise.
32870
32871 2011-01-26  Karl Berry  <karl@gnu.org>
32872
32873         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
32874         variables to make it easier to override the makeinfo program used.
32875
32876 2011-01-26  Eric Blake  <eblake@redhat.com>
32877
32878         fcntl: work around Haiku F_DUPFD bugs
32879         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
32880         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
32881         cloexec bit on duplication.
32882         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
32883
32884 2011-01-26  Bruno Haible  <bruno@clisp.org>
32885
32886         Enable memory leak tests on AIX.
32887         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
32888         * tests/test-fprintf-posix3.c (main): Likewise.
32889
32890 2011-01-26  Bruno Haible  <bruno@clisp.org>
32891
32892         Tests for module 'get-rusage-data'.
32893         * modules/get-rusage-data-tests: New file.
32894         * tests/test-get-rusage-data.c: New file.
32895
32896         New module 'get-rusage-data'.
32897         * lib/resource-ext.h (get_rusage_data): New declaration.
32898         * lib/get-rusage-data.c: New file.
32899         * modules/get-rusage-data: New file.
32900
32901 2011-01-25  Bruno Haible  <bruno@clisp.org>
32902
32903         get-rusage-as: Allow for easier testing.
32904         * lib/resource-ext.h (get_rusage_as): Add comment.
32905         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
32906         (main): New function for interactive testing.
32907
32908 2011-01-25  Bruno Haible  <bruno@clisp.org>
32909
32910         vma-iter: Treat Haiku like BeOS.
32911         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
32912         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
32913
32914 2011-01-25  Eric Blake  <eblake@redhat.com>
32915
32916         c-stack: fix regression on cygwin when libsigsegv is present
32917         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
32918
32919 2011-01-24  Bruno Haible  <bruno@clisp.org>
32920
32921         vma-iter: Avoid empty intervals.
32922         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
32923         on an empty interval.
32924
32925 2011-01-24  Jim Meyering  <meyering@redhat.com>
32926
32927         u64: remove unnecessary #include
32928         * lib/u64.h: Don't include <stddef.h>.  It was not used.
32929
32930 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
32931
32932         Allow the user to avoid the HAVE_RAW_DECL_* macros.
32933         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
32934
32935 2011-01-23  Bruno Haible  <bruno@clisp.org>
32936
32937         New module 'vma-iter'.
32938         * lib/vma-iter.h: New file.
32939         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
32940         * modules/vma-iter: New file.
32941         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
32942         for get_rusage_as_via_iterator.
32943         (vma_iterate_callback): New function.
32944         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
32945         * modules/get-rusage-as (Depends-on): Add vma-iter.
32946
32947 2011-01-23  Bruno Haible  <bruno@clisp.org>
32948
32949         uninorm: Tweak includes.
32950         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
32951         Reported by Jim Meyering.
32952
32953 2011-01-23  Bruno Haible  <bruno@clisp.org>
32954
32955         get-rusage-as: Improve on NetBSD.
32956         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
32957         /proc, like on FreeBSD.
32958
32959 2011-01-23  Jim Meyering  <meyering@redhat.com>
32960
32961         xreadlink.h: remove unnecessary #include
32962         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
32963
32964         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
32965         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
32966
32967 2011-01-23  Bruno Haible  <bruno@clisp.org>
32968
32969         get-rusage-as: Fix bug.
32970         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
32971         original limit when aborting the first loop.
32972
32973 2011-01-23  Bruno Haible  <bruno@clisp.org>
32974
32975         wctype: Ensure valid C syntax.
32976         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
32977         unconditionally, instead of gl_NEXT_HEADERS conditionally.
32978
32979 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
32980
32981         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
32982         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
32983         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
32984         as they are needed only for configure's test case.
32985         This removes two unnecessary symbols from config.h.
32986
32987         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
32988         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
32989         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
32990         AC_CHECK_HEADERS_ONCE on a header that we also invoke
32991         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
32992         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
32993         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
32994         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
32995         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32996         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32997         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
32998         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32999         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33000         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33001         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
33002         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
33003         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
33004         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
33005
33006 2011-01-21  Eric Blake  <eblake@redhat.com>
33007
33008         maintainer-makefile: work with older git for submodule check
33009         * top/maint.mk (public-submodule-commit): Rewrite to avoid
33010         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
33011         Reported by Matthias Bolte.
33012
33013         bootstrap: minor portability fixes
33014         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
33015         (usage): Omit leading capital and trailing . on help phrases, per
33016         GNU Coding Standards.
33017         (check_versions, top level): Prefix messages with script name.
33018
33019 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
33020
33021         bootstrap: support --no-git option
33022         * build-aux/bootstrap: Add --no-git option, to be used when
33023         --gnulib-srcdir points to the exact desired checkout.
33024
33025 2011-01-21  Eric Blake  <eblake@redhat.com>
33026
33027         strerror_r-posix: work with glibc 2.13
33028         * lib/strerror_r.c (strerror_r): Fix return type.
33029
33030 2011-01-21  Pádraig Brady  <P@draigBrady.com>
33031             Bruno Haible  <bruno@clisp.org>
33032
33033         uN_strstr: New unit tests.
33034         * modules/unistr/u8-strstr-tests: New file.
33035         * modules/unistr/u16-strstr-tests: New file.
33036         * modules/unistr/u32-strstr-tests: New file.
33037         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
33038         * tests/unistr/test-u8-strstr.c: New file.
33039         * tests/unistr/test-u16-strstr.c: New file.
33040         * tests/unistr/test-u32-strstr.c: New file.
33041
33042 2011-01-21  Pádraig Brady  <P@draigBrady.com>
33043             Bruno Haible  <bruno@clisp.org>
33044
33045         Make uN_strstr functions O(n) worst-case.
33046         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
33047         16-bit and 32-bit unit cases, use the unibyte algorithm from
33048         lib/mbsstr.c.
33049         * lib/unistr/u8-strstr.c: Include <string.h>.
33050         (UNIT_IS_UINT8_T): New macro.
33051         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
33052         (U_STRLEN, U_STRNLEN): New macros.
33053         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
33054         (U_STRLEN, U_STRNLEN): New macros.
33055         * modules/unistr/u8-strstr (Depends-on): Add strstr.
33056         (configure.ac): Update required libunistring version.
33057         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
33058         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
33059         malloca.
33060         (configure.ac): Update required libunistring version.
33061         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
33062         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
33063         malloca.
33064         (configure.ac): Update required libunistring version.
33065
33066 2011-01-21  Pádraig Brady  <P@draigBrady.com>
33067             Bruno Haible  <bruno@clisp.org>
33068
33069         Prepare for faster uN_strstr functions.
33070         * lib/str-kmp.h: Support definable UNITs.
33071         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
33072         needle_len argument.
33073         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
33074         * lib/mbscasestr.c (mbscasestr): Likewise.
33075
33076 2011-01-21  Pádraig Brady <P@draigBrady.com>
33077
33078         malloca-tests: make faster by unsetting MALLOC_PERTURB_
33079         * tests/test-malloca.c (main): Unset the environment variable
33080         to greatly speed up the test.
33081         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
33082         * modules/malloca-tests: Depend on unsetenv.
33083
33084 2011-01-21  Pádraig Brady <P@draigBrady.com>
33085
33086         ignore-value: remove stdint dependency
33087         * lib/ignore-value.h: Remove <stdint.h>
33088         * modules/ignore-value: Remove stdint dependency.
33089
33090 2011-01-21  Jim Meyering  <meyering@redhat.com>
33091
33092         maint.mk: adjust variable name to be consistent with other gl_ vars
33093         * top/maint.mk (gl_public_submodule_commit): Rename the variable
33094         to be lower case.
33095
33096 2011-01-20  Jim Meyering  <meyering@redhat.com>
33097
33098         maint.mk: make "check" depend on public-submodule-commit by default
33099         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
33100
33101 2011-01-20  Bruno Haible  <bruno@clisp.org>
33102
33103         mbfile, mbiter: Complete change from 2008-12-21.
33104         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
33105         * m4/mbiter.m4 (gl_MBITER): Likewise.
33106
33107 2011-01-20  Jim Meyering  <meyering@redhat.com>
33108
33109         init.sh: insert space between each function name and "()"
33110         * tests/init.sh: Make it a little easier to see that a function's
33111         name is "warn_", and not "warn" when looking at the first part of
33112         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
33113
33114 2011-01-20  Jim Meyering  <meyering@redhat.com>
33115
33116         mountlist: clean up code formatting
33117         * lib/mountlist.c (read_file_system_list): Split a long line,
33118         correct bracing style, use NULL in place of "(struct statfs *)0",
33119         don't parenthesize return value, add spaces around "=" and after
33120         ";-in-for-stmt".
33121
33122 2011-01-14  Markus Duft <mduft@gentoo.org>
33123
33124         mountlist: add support for Interix
33125         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
33126         Apply statvfs to all entries of /dev/fs.
33127         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
33128         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
33129
33130 2011-01-20  Jim Meyering  <meyering@redhat.com>
33131
33132         maint.mk: improve the public-submodule-commit rule
33133         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
33134         to suppress printing of its commands... unless V=1.
33135         Add git submodule's --quiet option to suppress printing of e.g.,
33136         "Entering gnulib" output.
33137         "cd" into $(srcdir) before running git submodule.
33138
33139 2011-01-20  Bruno Haible  <bruno@clisp.org>
33140
33141         include_next: Fix bug introduced on 2011-01-18.
33142         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
33143         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
33144         ac_cv_header_... variable if the second argument is not 'check'.
33145         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
33146         gl_NEXT_HEADERS_INTERNAL.
33147
33148 2011-01-20  Bruno Haible  <bruno@clisp.org>
33149
33150         Allow the user to avoid the GNULIB_TEST_* macros.
33151         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
33152         Suggested by Paul Eggert.
33153
33154 2011-01-14  Jim Meyering  <meyering@redhat.com>
33155
33156         bootstrap: avoid failure when there is no .gitmodules file
33157         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
33158         has been assigned to, even when its value is the empty string.
33159         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
33160         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
33161         Reported by John W. Eaton <jwe@gnu.org>.
33162
33163 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
33164
33165         assume <ctype.h>, ..., <time.h> exist
33166         For years gnulib has been assuming the existence of the headers
33167         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
33168         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
33169         them, since they don't appear to be needed.
33170         * README (Portability guidelines): Document this.
33171         * lib/flock.c: Assume <fcntl.h> exists.
33172         * lib/regex_internal.h: Assume <locale.h> exists.
33173         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
33174         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
33175         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
33176         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
33177         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
33178         * m4/regex.m4 (gl_REGEX): Likewise.
33179         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
33180         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
33181         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
33182         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
33183         * tests/test-argp.c: Likewise.
33184         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
33185
33186         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
33187         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
33188         AA_APPLE_UNIVERSAL_BUILD.  See
33189         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
33190         * NEWS: Document this.
33191
33192 2011-01-19  Eric Blake  <eblake@redhat.com>
33193
33194         c-stack: assume stack overflow if SA_SIGINFO unsupported
33195         * lib/c-stack.c (SIGACTION_WORKS): Rename...
33196         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
33197         sigaction will work.
33198         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
33199         behavior match Linux.
33200         * tests/test-c-stack.c (main): Prefer NULL for pointers.
33201
33202         stdbool-tests: accommodate Haiku
33203         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
33204
33205         binary-io: fix O_TEXT on Haiku
33206         * modules/binary-io (Depends-on): Add fcntl-h.
33207         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
33208         than blindly undefining O_TEXT.
33209         Reported by Scott McCreary.
33210
33211 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
33212
33213         include_next: do not check for standard headers like stddef.h
33214
33215         I found this problem when modifying Emacs to use gnulib.
33216         I noticed that it added HAVE_STDDEF_H to config.h, even though
33217         gnulib always assumes <stddef.h> exists as per README and this
33218         symbol is unnecessary.
33219         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
33220         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
33221         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
33222         faster for headers like stddef.h that are known to exist.
33223         (gl_CHECK_NEXT_HEADERS): Use it.
33224         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
33225         rather than gl_CHECK_NEXT_HEADERS.
33226         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
33227         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
33228
33229 2011-01-18  Eric Blake  <eblake@redhat.com>
33230
33231         ansi-c++-opt: skip C++ dependency style if C++ is unused
33232         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
33233         tests when we know C++ compilation is not desired.
33234         Reported by Scott McCreary.
33235
33236 2011-01-18  Bruno Haible  <bruno@clisp.org>
33237
33238         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
33239         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
33240         (main): Perform test also when getrlimit and setrlimit don't exist or
33241         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
33242         limiting the address space size using setrlimit, compare the address
33243         space size before and after the the test.
33244         * tests/test-dprintf-posix2.c: Likewise.
33245         * tests/test-fprintf-posix3.sh: Update skip messages.
33246         * tests/test-dprintf-posix2.sh: Likewise.
33247         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
33248         * modules/dprintf-posix-tests (Depends-on): Likewise.
33249         Reported by Bruce Korb <bkorb@gnu.org> and
33250         Gary V. Vaughan <gary@gnu.org>.
33251
33252 2011-01-18  Bruno Haible  <bruno@clisp.org>
33253
33254         get-rusage-as: Improvement for Cygwin.
33255         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
33256         areas that are merely reserved.
33257
33258 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
33259
33260         strftime: remove dependencies on multibyte modules
33261
33262         strftime depended on mbrlen, mbsinit, and wchar, but these modules
33263         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
33264         only if __osf__ is defined, and I suspect OSF doesn't need these
33265         other modules.  If my guess is wrong, we'll need to come up with a
33266         variant of strftime that doesn't need the multibyte modules.
33267
33268         I discovered this problem when attempting modify Emacs to use the
33269         strftime module.  With the previous gnulib, this caused Emacs to
33270         need 31 new files, ranging from lib/config.charset to
33271         m4/wint_t.m4.  This was overkill and I expect would be offputting
33272         to the Emacs maintainers.  After this change, only 6 new files are
33273         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
33274         stdbool.m4, and tm_gmtoff.m4.
33275
33276         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
33277         Suggested by Bruno Haible in
33278         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
33279         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
33280         and do not check for wchar.h.
33281         * modules/strftime (Files): Remove m4/mbstate_t.m4.
33282         (Depends-on): Remove mbrlen, mbsinit, wchar.
33283
33284 2011-01-18  Bruno Haible  <bruno@clisp.org>
33285
33286         Tests for module 'get-rusage-as'.
33287         * modules/get-rusage-as-tests: New file.
33288         * tests/test-get-rusage-as.c: New file.
33289
33290         New module 'get-rusage-as'.
33291         * modules/get-rusage-as: New file.
33292         * lib/resource-ext.h: New file.
33293         * lib/get-rusage-as.c: New file.
33294
33295 2011-01-17  Eric Blake  <eblake@redhat.com>
33296
33297         sigaction: relax license from LGPLv3+ to LGPLv2+
33298         * modules/sigaction (License): Relax to LGPLv2+.
33299
33300 2011-01-14  Bruno Haible  <bruno@clisp.org>
33301
33302         filemode: Make function declarations usable in C++ mode.
33303         * lib/filemode.h: Enclose function declarations in extern "C" block.
33304         Reported by John W. Eaton <jwe@gnu.org>.
33305
33306 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
33307
33308         save-cwd: no longer include "xgetcwd.h"
33309         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
33310         This avoids a compilation failure in projects that use save-cwd
33311         without also using the xgetcwd module.
33312
33313 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
33314
33315         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
33316         This is so that a program like Emacs, which needs only dtoastr,
33317         does not have to bother with distributing and compiling ftoastr
33318         and ldtoastr.
33319         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
33320         * modules/dtoastr, modules/ldtoastr: New files.
33321         * modules/ftoastr: Now works just for 'float'.
33322         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
33323         (Makefile.am): Remove ftoastr.h (not needed and no effect),
33324         dtoastr.c, ldtoastr.c.
33325
33326 2011-01-11  Jim Meyering  <meyering@redhat.com>
33327
33328         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
33329         There is no need to work around the lack of the fchdir function,
33330         since gnulib can now provide a replacement when required.
33331         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
33332         * modules/save-cwd (Depends-on): Add fchdir.
33333
33334 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
33335
33336         openat, save-cwd: avoid xmalloc
33337
33338         This removes a direct (but undocumented) dependency of openat on
33339         xalloc, along with an indirect dependency via save-cwd.  It also
33340         removes a dependency of save-cwd on xgetcwd, and thereby
33341         indirectly on xalloc.  This change causes the openat substitute
33342         to fall back on save_cwd when memory is tight, and for save_cwd to
33343         fail instead of dying when memory is tight, but that's good enough.
33344         Problem and initial idea for fix reported by Bastien Roucaries in
33345         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
33346
33347         * lib/openat-proc.c: Include stdlib.h (for malloc), not
33348         xalloc.h (for xmalloc).
33349         (openat_proc_name): Use malloc, not xmalloc.
33350         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
33351         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
33352
33353         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
33354         This avoids heap allocation for file names whose lengths are in
33355         the range 512..1023, with the upper bound increasing to at most
33356         4031 depending on the platform's PATH_MAX.  (We do not want
33357         pathmax.h here as it might supply a non-constant PATH_MAX.)
33358         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
33359         Perhaps they should be moved to malloca.h?
33360         (OPENAT_BUFFER_SIZE): Use them.
33361
33362 2011-01-10  Bruno Haible  <bruno@clisp.org>
33363
33364         doc: Update users.txt.
33365         * users.txt: Add recutils.
33366
33367 2011-01-09  Karl Berry  <karl@gnu.org>
33368
33369         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
33370
33371         * doc/configmake.texi: New file.
33372         * doc/gnulib.texi: Include it.
33373         * modules/configmake: Move documentation from here.
33374
33375 2011-01-09  Bruno Haible  <bruno@clisp.org>
33376
33377         Update to Unicode 6.0.0.
33378         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
33379         (get_lbp): Update for Unicode 6.0.0.
33380         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
33381         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
33382         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
33383         U+11001, U+11038..U+11046. Remove U+06DE.
33384         (uc_width): Fix bounds of planes.
33385         * tests/uniwidth/test-uc_width2.sh: Same updates as in
33386         lib/uniwidth/width.c.
33387         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
33388         trailing whitespace removed.
33389         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
33390         without comments, but with the original copyright notice.
33391         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
33392         * lib/unicase/ignorable.h: Likewise.
33393         * lib/unicase/tocasefold.h: Likewise.
33394         * lib/unicase/tolower.h: Likewise.
33395         * lib/unicase/totitle.h: Likewise.
33396         * lib/unicase/toupper.h: Likewise.
33397         * lib/unictype/bidi_of.h: Likewise.
33398         * lib/unictype/blocks.h: Likewise.
33399         * lib/unictype/categ_C.h: Likewise.
33400         * lib/unictype/categ_Cn.h: Likewise.
33401         * lib/unictype/categ_L.h: Likewise.
33402         * lib/unictype/categ_Ll.h: Likewise.
33403         * lib/unictype/categ_Lm.h: Likewise.
33404         * lib/unictype/categ_Lo.h: Likewise.
33405         * lib/unictype/categ_Lu.h: Likewise.
33406         * lib/unictype/categ_M.h: Likewise.
33407         * lib/unictype/categ_Mc.h: Likewise.
33408         * lib/unictype/categ_Me.h: Likewise.
33409         * lib/unictype/categ_Mn.h: Likewise.
33410         * lib/unictype/categ_N.h: Likewise.
33411         * lib/unictype/categ_Nd.h: Likewise.
33412         * lib/unictype/categ_No.h: Likewise.
33413         * lib/unictype/categ_P.h: Likewise.
33414         * lib/unictype/categ_Po.h: Likewise.
33415         * lib/unictype/categ_S.h: Likewise.
33416         * lib/unictype/categ_Sc.h: Likewise.
33417         * lib/unictype/categ_Sk.h: Likewise.
33418         * lib/unictype/categ_Sm.h: Likewise.
33419         * lib/unictype/categ_So.h: Likewise.
33420         * lib/unictype/categ_of.h: Likewise.
33421         * lib/unictype/combining.h: Likewise.
33422         * lib/unictype/ctype_alnum.h: Likewise.
33423         * lib/unictype/ctype_alpha.h: Likewise.
33424         * lib/unictype/ctype_graph.h: Likewise.
33425         * lib/unictype/ctype_lower.h: Likewise.
33426         * lib/unictype/ctype_print.h: Likewise.
33427         * lib/unictype/ctype_punct.h: Likewise.
33428         * lib/unictype/ctype_upper.h: Likewise.
33429         * lib/unictype/decdigit.h: Likewise.
33430         * lib/unictype/digit.h: Likewise.
33431         * lib/unictype/numeric.h: Likewise.
33432         * lib/unictype/pr_alphabetic.h: Likewise.
33433         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
33434         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
33435         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
33436         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
33437         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
33438         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
33439         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
33440         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
33441         * lib/unictype/pr_case_ignorable.h: Likewise.
33442         * lib/unictype/pr_cased.h: Likewise.
33443         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
33444         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
33445         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
33446         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
33447         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
33448         * lib/unictype/pr_combining.h: Likewise.
33449         * lib/unictype/pr_composite.h: Likewise.
33450         * lib/unictype/pr_currency_symbol.h: Likewise.
33451         * lib/unictype/pr_decimal_digit.h: Likewise.
33452         * lib/unictype/pr_deprecated.h: Likewise.
33453         * lib/unictype/pr_format_control.h: Likewise.
33454         * lib/unictype/pr_grapheme_base.h: Likewise.
33455         * lib/unictype/pr_grapheme_extend.h: Likewise.
33456         * lib/unictype/pr_grapheme_link.h: Likewise.
33457         * lib/unictype/pr_id_continue.h: Likewise.
33458         * lib/unictype/pr_id_start.h: Likewise.
33459         * lib/unictype/pr_ideographic.h: Likewise.
33460         * lib/unictype/pr_lowercase.h: Likewise.
33461         * lib/unictype/pr_math.h: Likewise.
33462         * lib/unictype/pr_numeric.h: Likewise.
33463         * lib/unictype/pr_other_alphabetic.h: Likewise.
33464         * lib/unictype/pr_other_id_continue.h: Likewise.
33465         * lib/unictype/pr_other_math.h: Likewise.
33466         * lib/unictype/pr_punctuation.h: Likewise.
33467         * lib/unictype/pr_sentence_terminal.h: Likewise.
33468         * lib/unictype/pr_terminal_punctuation.h: Likewise.
33469         * lib/unictype/pr_unassigned_code_value.h: Likewise.
33470         * lib/unictype/pr_unified_ideograph.h: Likewise.
33471         * lib/unictype/pr_uppercase.h: Likewise.
33472         * lib/unictype/pr_xid_continue.h: Likewise.
33473         * lib/unictype/pr_xid_start.h: Likewise.
33474         * lib/unictype/scripts.h: Likewise.
33475         * lib/unictype/scripts_byname.gperf: Likewise.
33476         * lib/unictype/sy_java_ident.h: Likewise.
33477         * lib/unigbrk/gbrkprop.h: Likewise.
33478         * lib/unilbrk/lbrkprop1.h: Likewise.
33479         * lib/unilbrk/lbrkprop2.h: Likewise.
33480         * lib/uninorm/decomposition-table2.h: Likewise.
33481         * lib/uniwbrk/wbrkprop.h: Likewise.
33482         * tests/unicase/test-cased.c: Likewise.
33483         * tests/unicase/test-ignorable.c: Likewise.
33484         * tests/unicase/test-uc_tolower.c: Likewise.
33485         * tests/unicase/test-uc_totitle.c: Likewise.
33486         * tests/unicase/test-uc_toupper.c: Likewise.
33487         * tests/unictype/test-categ_C.c: Likewise.
33488         * tests/unictype/test-categ_Cn.c: Likewise.
33489         * tests/unictype/test-categ_L.c: Likewise.
33490         * tests/unictype/test-categ_Ll.c: Likewise.
33491         * tests/unictype/test-categ_Lm.c: Likewise.
33492         * tests/unictype/test-categ_Lo.c: Likewise.
33493         * tests/unictype/test-categ_Lu.c: Likewise.
33494         * tests/unictype/test-categ_M.c: Likewise.
33495         * tests/unictype/test-categ_Mc.c: Likewise.
33496         * tests/unictype/test-categ_Me.c: Likewise.
33497         * tests/unictype/test-categ_Mn.c: Likewise.
33498         * tests/unictype/test-categ_N.c: Likewise.
33499         * tests/unictype/test-categ_Nd.c: Likewise.
33500         * tests/unictype/test-categ_No.c: Likewise.
33501         * tests/unictype/test-categ_P.c: Likewise.
33502         * tests/unictype/test-categ_Po.c: Likewise.
33503         * tests/unictype/test-categ_S.c: Likewise.
33504         * tests/unictype/test-categ_Sc.c: Likewise.
33505         * tests/unictype/test-categ_Sk.c: Likewise.
33506         * tests/unictype/test-categ_Sm.c: Likewise.
33507         * tests/unictype/test-categ_So.c: Likewise.
33508         * tests/unictype/test-ctype_alnum.c: Likewise.
33509         * tests/unictype/test-ctype_alpha.c: Likewise.
33510         * tests/unictype/test-ctype_graph.c: Likewise.
33511         * tests/unictype/test-ctype_lower.c: Likewise.
33512         * tests/unictype/test-ctype_print.c: Likewise.
33513         * tests/unictype/test-ctype_punct.c: Likewise.
33514         * tests/unictype/test-ctype_upper.c: Likewise.
33515         * tests/unictype/test-decdigit.h: Likewise.
33516         * tests/unictype/test-digit.h: Likewise.
33517         * tests/unictype/test-numeric.h: Likewise.
33518         * tests/unictype/test-pr_alphabetic.c: Likewise.
33519         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
33520         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
33521         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
33522         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
33523         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
33524         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
33525         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
33526         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
33527         * tests/unictype/test-pr_case_ignorable.c: Likewise.
33528         * tests/unictype/test-pr_cased.c: Likewise.
33529         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
33530         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
33531         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
33532         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
33533         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
33534         * tests/unictype/test-pr_combining.c: Likewise.
33535         * tests/unictype/test-pr_composite.c: Likewise.
33536         * tests/unictype/test-pr_currency_symbol.c: Likewise.
33537         * tests/unictype/test-pr_decimal_digit.c: Likewise.
33538         * tests/unictype/test-pr_deprecated.c: Likewise.
33539         * tests/unictype/test-pr_format_control.c: Likewise.
33540         * tests/unictype/test-pr_grapheme_base.c: Likewise.
33541         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
33542         * tests/unictype/test-pr_grapheme_link.c: Likewise.
33543         * tests/unictype/test-pr_id_continue.c: Likewise.
33544         * tests/unictype/test-pr_id_start.c: Likewise.
33545         * tests/unictype/test-pr_ideographic.c: Likewise.
33546         * tests/unictype/test-pr_lowercase.c: Likewise.
33547         * tests/unictype/test-pr_math.c: Likewise.
33548         * tests/unictype/test-pr_numeric.c: Likewise.
33549         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
33550         * tests/unictype/test-pr_other_id_continue.c: Likewise.
33551         * tests/unictype/test-pr_other_math.c: Likewise.
33552         * tests/unictype/test-pr_punctuation.c: Likewise.
33553         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
33554         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
33555         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
33556         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
33557         * tests/unictype/test-pr_uppercase.c: Likewise.
33558         * tests/unictype/test-pr_xid_continue.c: Likewise.
33559         * tests/unictype/test-pr_xid_start.c: Likewise.
33560         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
33561         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
33562         changes.
33563         * lib/unictype/categ_Cc.h: Likewise.
33564         * lib/unictype/categ_Cf.h: Likewise.
33565         * lib/unictype/categ_Co.h: Likewise.
33566         * lib/unictype/categ_Cs.h: Likewise.
33567         * lib/unictype/categ_Lt.h: Likewise.
33568         * lib/unictype/categ_Nl.h: Likewise.
33569         * lib/unictype/categ_Pc.h: Likewise.
33570         * lib/unictype/categ_Pd.h: Likewise.
33571         * lib/unictype/categ_Pe.h: Likewise.
33572         * lib/unictype/categ_Pf.h: Likewise.
33573         * lib/unictype/categ_Pi.h: Likewise.
33574         * lib/unictype/categ_Ps.h: Likewise.
33575         * lib/unictype/categ_Z.h: Likewise.
33576         * lib/unictype/categ_Zl.h: Likewise.
33577         * lib/unictype/categ_Zp.h: Likewise.
33578         * lib/unictype/categ_Zs.h: Likewise.
33579         * lib/unictype/ctype_blank.h: Likewise.
33580         * lib/unictype/ctype_cntrl.h: Likewise.
33581         * lib/unictype/ctype_digit.h: Likewise.
33582         * lib/unictype/ctype_space.h: Likewise.
33583         * lib/unictype/ctype_xdigit.h: Likewise.
33584         * lib/unictype/mirror.h: Likewise.
33585         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
33586         * lib/unictype/pr_bidi_block_separator.h: Likewise.
33587         * lib/unictype/pr_bidi_common_separator.h: Likewise.
33588         * lib/unictype/pr_bidi_control.h: Likewise.
33589         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
33590         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
33591         * lib/unictype/pr_bidi_european_digit.h: Likewise.
33592         * lib/unictype/pr_bidi_pdf.h: Likewise.
33593         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
33594         * lib/unictype/pr_bidi_whitespace.h: Likewise.
33595         * lib/unictype/pr_dash.h: Likewise.
33596         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
33597         * lib/unictype/pr_diacritic.h: Likewise.
33598         * lib/unictype/pr_extender.h: Likewise.
33599         * lib/unictype/pr_hex_digit.h: Likewise.
33600         * lib/unictype/pr_hyphen.h: Likewise.
33601         * lib/unictype/pr_ids_binary_operator.h: Likewise.
33602         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
33603         * lib/unictype/pr_ignorable_control.h: Likewise.
33604         * lib/unictype/pr_iso_control.h: Likewise.
33605         * lib/unictype/pr_join_control.h: Likewise.
33606         * lib/unictype/pr_left_of_pair.h: Likewise.
33607         * lib/unictype/pr_line_separator.h: Likewise.
33608         * lib/unictype/pr_logical_order_exception.h: Likewise.
33609         * lib/unictype/pr_non_break.h: Likewise.
33610         * lib/unictype/pr_not_a_character.h: Likewise.
33611         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
33612         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
33613         * lib/unictype/pr_other_id_start.h: Likewise.
33614         * lib/unictype/pr_other_lowercase.h: Likewise.
33615         * lib/unictype/pr_other_uppercase.h: Likewise.
33616         * lib/unictype/pr_paired_punctuation.h: Likewise.
33617         * lib/unictype/pr_paragraph_separator.h: Likewise.
33618         * lib/unictype/pr_pattern_syntax.h: Likewise.
33619         * lib/unictype/pr_pattern_white_space.h: Likewise.
33620         * lib/unictype/pr_private_use.h: Likewise.
33621         * lib/unictype/pr_quotation_mark.h: Likewise.
33622         * lib/unictype/pr_radical.h: Likewise.
33623         * lib/unictype/pr_soft_dotted.h: Likewise.
33624         * lib/unictype/pr_space.h: Likewise.
33625         * lib/unictype/pr_titlecase.h: Likewise.
33626         * lib/unictype/pr_variation_selector.h: Likewise.
33627         * lib/unictype/pr_white_space.h: Likewise.
33628         * lib/unictype/pr_zero_width.h: Likewise.
33629         * lib/unictype/sy_c_ident.h: Likewise.
33630         * lib/unictype/sy_c_whitespace.h: Likewise.
33631         * lib/unictype/sy_java_whitespace.h: Likewise.
33632         * lib/uninorm/composition-table.gperf: Likewise.
33633         * lib/uninorm/decomposition-table1.h: Likewise.
33634         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
33635         LB8.
33636         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
33637         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
33638         * modules/unictype/*: Bump version number of expected libunistring
33639         version.
33640
33641 2011-01-09  Bruno Haible  <bruno@clisp.org>
33642
33643         Update to Unicode 5.2.0.
33644         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
33645         trailing whitespace removed.
33646
33647 2011-01-09  Bruno Haible  <bruno@clisp.org>
33648
33649         New Unicode character properties, from Unicode 5.2.0.
33650         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
33651         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
33652         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
33653         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
33654         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
33655         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
33656         uc_is_property_cased, uc_is_property_case_ignorable,
33657         uc_is_property_changes_when_lowercased,
33658         uc_is_property_changes_when_uppercased,
33659         uc_is_property_changes_when_titlecased,
33660         uc_is_property_changes_when_casefolded,
33661         uc_is_property_changes_when_casemapped): New declarations.
33662         * lib/unictype/pr_byname.gperf: Add the new properties.
33663         * modules/unictype/property-byname (Depends-on): Depend on the new
33664         properties modules.
33665         * modules/unictype/property-all (Depends-on): Likewise.
33666         * MODULES.html.sh (Unicode string functions): Add
33667         unictype/property-case-ignorable, unictype/property-cased,
33668         unictype/property-changes-when-casefolded,
33669         unictype/property-changes-when-casemapped,
33670         unictype/property-changes-when-lowercased,
33671         unictype/property-changes-when-titlecased,
33672         unictype/property-changes-when-uppercased.
33673
33674         New module 'unictype/property-changes-when-casemapped'.
33675         * modules/unictype/property-changes-when-casemapped: New file.
33676         * lib/unictype/pr_changes_when_casemapped.c: New file.
33677         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
33678         generated by gen-uni-tables.
33679         * modules/unictype/property-changes-when-casemapped-tests: New file.
33680         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
33681         automatically generated by gen-uni-tables.
33682
33683         New module 'unictype/property-changes-when-casefolded'.
33684         * modules/unictype/property-changes-when-casefolded: New file.
33685         * lib/unictype/pr_changes_when_casefolded.c: New file.
33686         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
33687         generated by gen-uni-tables.
33688         * modules/unictype/property-changes-when-casefolded-tests: New file.
33689         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
33690         automatically generated by gen-uni-tables.
33691
33692         New module 'unictype/property-changes-when-titlecased'.
33693         * modules/unictype/property-changes-when-titlecased: New file.
33694         * lib/unictype/pr_changes_when_titlecased.c: New file.
33695         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
33696         generated by gen-uni-tables.
33697         * modules/unictype/property-changes-when-titlecased-tests: New file.
33698         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
33699         automatically generated by gen-uni-tables.
33700
33701         New module 'unictype/property-changes-when-uppercased'.
33702         * modules/unictype/property-changes-when-uppercased: New file.
33703         * lib/unictype/pr_changes_when_uppercased.c: New file.
33704         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
33705         generated by gen-uni-tables.
33706         * modules/unictype/property-changes-when-uppercased-tests: New file.
33707         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
33708         automatically generated by gen-uni-tables.
33709
33710         New module 'unictype/property-changes-when-lowercased'.
33711         * modules/unictype/property-changes-when-lowercased: New file.
33712         * lib/unictype/pr_changes_when_lowercased.c: New file.
33713         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
33714         generated by gen-uni-tables.
33715         * modules/unictype/property-changes-when-lowercased-tests: New file.
33716         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
33717         automatically generated by gen-uni-tables.
33718
33719         New module 'unictype/property-case-ignorable'.
33720         * modules/unictype/property-case-ignorable: New file.
33721         * lib/unictype/pr_case_ignorable.c: New file.
33722         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
33723         by gen-uni-tables.
33724         * modules/unictype/property-case-ignorable-tests: New file.
33725         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
33726         generated by gen-uni-tables.
33727
33728         New module 'unictype/property-cased'.
33729         * modules/unictype/property-cased: New file.
33730         * lib/unictype/pr_cased.c: New file.
33731         * lib/unictype/pr_cased.h: New file, automatically generated by
33732         gen-uni-tables.
33733         * modules/unictype/property-cased-tests: New file.
33734         * tests/unictype/test-pr_cased.c: New file, automatically generated by
33735         gen-uni-tables.
33736
33737 2011-01-09  Bruno Haible  <bruno@clisp.org>
33738
33739         Update to Unicode 5.2.0.
33740         * lib/gen-uni-tables.c (output_predicate, output_category,
33741         output_combclass, output_bidi_category, output_decimal_digit_test,
33742         output_decimal_digit, output_digit_test, output_digit,
33743         output_numeric_test, output_numeric, output_mirror, output_scripts,
33744         output_scripts_byname, output_blocks, output_ident_category): Fix
33745         comment header.
33746         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
33747         get_wbp.
33748         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
33749         items.
33750         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
33751         Changes_When_Lowercased, Changes_When_Uppercased,
33752         Changes_When_Titlecased, Changes_When_Casefolded,
33753         Changes_When_Casemapped.
33754         (is_property_alphabetic, is_property_default_ignorable_code_point):
33755         Update for Unicode 5.2.0.
33756         (is_property_cased, is_property_case_ignorable,
33757         is_property_changes_when_lowercased,
33758         is_property_changes_when_uppercased,
33759         is_property_changes_when_titlecased,
33760         is_property_changes_when_casefolded,
33761         is_property_changes_when_casemapped): New functions.
33762         (output_properties): Output also the properties cased, case_ignorable,
33763         changes_when_lowercased, changes_when_uppercased,
33764         changes_when_titlecased, changes_when_casefolded,
33765         changes_when_casemapped.
33766         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
33767         Unicode TR#11 revision 17 -> 19.
33768         (LBP_CP): New enumeration value.
33769         (LBP_*): Adjust values accordingly.
33770         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
33771         TR#14 revision 22 -> 24.
33772         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
33773         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
33774         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
33775         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
33776         is_WBP_MIDLETTER.
33777         (output_composition_tables): Allow for 24 bits instead of 16 bits in
33778         the code1 and code2 of each composition rule.
33779         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
33780         * lib/unicase/ignorable.h: Likewise.
33781         * lib/unicase/tocasefold.h: Likewise.
33782         * lib/unicase/tolower.h: Likewise.
33783         * lib/unicase/totitle.h: Likewise.
33784         * lib/unicase/toupper.h: Likewise.
33785         * lib/unictype/bidi_of.h: Likewise.
33786         * lib/unictype/blocks.h: Likewise.
33787         * lib/unictype/categ_C.h: Likewise.
33788         * lib/unictype/categ_Cf.h: Likewise.
33789         * lib/unictype/categ_Cn.h: Likewise.
33790         * lib/unictype/categ_L.h: Likewise.
33791         * lib/unictype/categ_Ll.h: Likewise.
33792         * lib/unictype/categ_Lm.h: Likewise.
33793         * lib/unictype/categ_Lo.h: Likewise.
33794         * lib/unictype/categ_Lu.h: Likewise.
33795         * lib/unictype/categ_M.h: Likewise.
33796         * lib/unictype/categ_Mc.h: Likewise.
33797         * lib/unictype/categ_Mn.h: Likewise.
33798         * lib/unictype/categ_N.h: Likewise.
33799         * lib/unictype/categ_Nd.h: Likewise.
33800         * lib/unictype/categ_Nl.h: Likewise.
33801         * lib/unictype/categ_No.h: Likewise.
33802         * lib/unictype/categ_P.h: Likewise.
33803         * lib/unictype/categ_Pd.h: Likewise.
33804         * lib/unictype/categ_Po.h: Likewise.
33805         * lib/unictype/categ_S.h: Likewise.
33806         * lib/unictype/categ_Sc.h: Likewise.
33807         * lib/unictype/categ_So.h: Likewise.
33808         * lib/unictype/categ_of.h: Likewise.
33809         * lib/unictype/combining.h: Likewise.
33810         * lib/unictype/ctype_alnum.h: Likewise.
33811         * lib/unictype/ctype_alpha.h: Likewise.
33812         * lib/unictype/ctype_graph.h: Likewise.
33813         * lib/unictype/ctype_lower.h: Likewise.
33814         * lib/unictype/ctype_print.h: Likewise.
33815         * lib/unictype/ctype_punct.h: Likewise.
33816         * lib/unictype/ctype_upper.h: Likewise.
33817         * lib/unictype/decdigit.h: Likewise.
33818         * lib/unictype/digit.h: Likewise.
33819         * lib/unictype/numeric.h: Likewise.
33820         * lib/unictype/pr_alphabetic.h: Likewise.
33821         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
33822         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
33823         * lib/unictype/pr_bidi_european_digit.h: Likewise.
33824         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
33825         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
33826         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
33827         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
33828         * lib/unictype/pr_combining.h: Likewise.
33829         * lib/unictype/pr_composite.h: Likewise.
33830         * lib/unictype/pr_currency_symbol.h: Likewise.
33831         * lib/unictype/pr_dash.h: Likewise.
33832         * lib/unictype/pr_decimal_digit.h: Likewise.
33833         * lib/unictype/pr_deprecated.h: Likewise.
33834         * lib/unictype/pr_diacritic.h: Likewise.
33835         * lib/unictype/pr_extender.h: Likewise.
33836         * lib/unictype/pr_grapheme_base.h: Likewise.
33837         * lib/unictype/pr_grapheme_extend.h: Likewise.
33838         * lib/unictype/pr_grapheme_link.h: Likewise.
33839         * lib/unictype/pr_id_continue.h: Likewise.
33840         * lib/unictype/pr_id_start.h: Likewise.
33841         * lib/unictype/pr_ideographic.h: Likewise.
33842         * lib/unictype/pr_ignorable_control.h: Likewise.
33843         * lib/unictype/pr_logical_order_exception.h: Likewise.
33844         * lib/unictype/pr_lowercase.h: Likewise.
33845         * lib/unictype/pr_numeric.h: Likewise.
33846         * lib/unictype/pr_other_alphabetic.h: Likewise.
33847         * lib/unictype/pr_punctuation.h: Likewise.
33848         * lib/unictype/pr_sentence_terminal.h: Likewise.
33849         * lib/unictype/pr_terminal_punctuation.h: Likewise.
33850         * lib/unictype/pr_unassigned_code_value.h: Likewise.
33851         * lib/unictype/pr_unified_ideograph.h: Likewise.
33852         * lib/unictype/pr_uppercase.h: Likewise.
33853         * lib/unictype/pr_xid_continue.h: Likewise.
33854         * lib/unictype/pr_xid_start.h: Likewise.
33855         * lib/unictype/pr_zero_width.h: Likewise.
33856         * lib/unictype/scripts.h: Likewise.
33857         * lib/unictype/scripts_byname.gperf: Likewise.
33858         * lib/unictype/sy_java_ident.h: Likewise.
33859         * lib/unigbrk/gbrkprop.h: Likewise.
33860         * lib/unilbrk/lbrkprop1.h: Likewise.
33861         * lib/unilbrk/lbrkprop2.h: Likewise.
33862         * lib/unilbrk/lbrktables.h: Likewise.
33863         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
33864         LBP_CP. Implement rule LB30.
33865         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
33866         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
33867         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
33868         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
33869         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
33870         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
33871         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
33872         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
33873         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
33874         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
33875         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
33876         bits instead of 16 bits in the code1 and code2 of each composition
33877         rule.
33878         (uc_composition): Update for Unicode 5.2.0.
33879         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
33880         * lib/uninorm/decomposition-table2.h: Likewise.
33881         * lib/uniwbrk/wbrkprop.h: Likewise.
33882         * tests/unicase/test-cased.c: Likewise.
33883         * tests/unicase/test-ignorable.c: Likewise.
33884         * tests/unicase/test-uc_tolower.c: Likewise.
33885         * tests/unicase/test-uc_totitle.c: Likewise.
33886         * tests/unicase/test-uc_toupper.c: Likewise.
33887         * tests/unictype/test-categ_C.c: Likewise.
33888         * tests/unictype/test-categ_Cf.c: Likewise.
33889         * tests/unictype/test-categ_Cn.c: Likewise.
33890         * tests/unictype/test-categ_L.c: Likewise.
33891         * tests/unictype/test-categ_Ll.c: Likewise.
33892         * tests/unictype/test-categ_Lm.c: Likewise.
33893         * tests/unictype/test-categ_Lo.c: Likewise.
33894         * tests/unictype/test-categ_Lu.c: Likewise.
33895         * tests/unictype/test-categ_M.c: Likewise.
33896         * tests/unictype/test-categ_Mc.c: Likewise.
33897         * tests/unictype/test-categ_Mn.c: Likewise.
33898         * tests/unictype/test-categ_N.c: Likewise.
33899         * tests/unictype/test-categ_Nd.c: Likewise.
33900         * tests/unictype/test-categ_Nl.c: Likewise.
33901         * tests/unictype/test-categ_No.c: Likewise.
33902         * tests/unictype/test-categ_P.c: Likewise.
33903         * tests/unictype/test-categ_Pd.c: Likewise.
33904         * tests/unictype/test-categ_Po.c: Likewise.
33905         * tests/unictype/test-categ_S.c: Likewise.
33906         * tests/unictype/test-categ_Sc.c: Likewise.
33907         * tests/unictype/test-categ_So.c: Likewise.
33908         * tests/unictype/test-ctype_alnum.c: Likewise.
33909         * tests/unictype/test-ctype_alpha.c: Likewise.
33910         * tests/unictype/test-ctype_graph.c: Likewise.
33911         * tests/unictype/test-ctype_lower.c: Likewise.
33912         * tests/unictype/test-ctype_print.c: Likewise.
33913         * tests/unictype/test-ctype_punct.c: Likewise.
33914         * tests/unictype/test-ctype_upper.c: Likewise.
33915         * tests/unictype/test-decdigit.h: Likewise.
33916         * tests/unictype/test-digit.h: Likewise.
33917         * tests/unictype/test-numeric.h: Likewise.
33918         * tests/unictype/test-pr_alphabetic.c: Likewise.
33919         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
33920         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
33921         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
33922         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
33923         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
33924         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
33925         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
33926         * tests/unictype/test-pr_combining.c: Likewise.
33927         * tests/unictype/test-pr_composite.c: Likewise.
33928         * tests/unictype/test-pr_currency_symbol.c: Likewise.
33929         * tests/unictype/test-pr_dash.c: Likewise.
33930         * tests/unictype/test-pr_decimal_digit.c: Likewise.
33931         * tests/unictype/test-pr_deprecated.c: Likewise.
33932         * tests/unictype/test-pr_diacritic.c: Likewise.
33933         * tests/unictype/test-pr_extender.c: Likewise.
33934         * tests/unictype/test-pr_grapheme_base.c: Likewise.
33935         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
33936         * tests/unictype/test-pr_grapheme_link.c: Likewise.
33937         * tests/unictype/test-pr_id_continue.c: Likewise.
33938         * tests/unictype/test-pr_id_start.c: Likewise.
33939         * tests/unictype/test-pr_ideographic.c: Likewise.
33940         * tests/unictype/test-pr_ignorable_control.c: Likewise.
33941         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
33942         * tests/unictype/test-pr_lowercase.c: Likewise.
33943         * tests/unictype/test-pr_numeric.c: Likewise.
33944         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
33945         * tests/unictype/test-pr_punctuation.c: Likewise.
33946         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
33947         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
33948         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
33949         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
33950         * tests/unictype/test-pr_uppercase.c: Likewise.
33951         * tests/unictype/test-pr_xid_continue.c: Likewise.
33952         * tests/unictype/test-pr_xid_start.c: Likewise.
33953         * tests/unictype/test-pr_zero_width.c: Likewise.
33954         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
33955         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
33956         changed behaviour: line breaking is now disallowed between a letter
33957         or '=' and '('.
33958         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
33959         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
33960         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
33961         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
33962         * tests/uniwidth/test-uc_width2.sh: Same updates as in
33963         lib/uniwidth/width.c.
33964         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
33965         without comments, but with the original copyright notice.
33966         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
33967         changes.
33968         * lib/unictype/categ_Cc.h: Likewise.
33969         * lib/unictype/categ_Co.h: Likewise.
33970         * lib/unictype/categ_Cs.h: Likewise.
33971         * lib/unictype/categ_Lt.h: Likewise.
33972         * lib/unictype/categ_Me.h: Likewise.
33973         * lib/unictype/categ_Pc.h: Likewise.
33974         * lib/unictype/categ_Pe.h: Likewise.
33975         * lib/unictype/categ_Pf.h: Likewise.
33976         * lib/unictype/categ_Pi.h: Likewise.
33977         * lib/unictype/categ_Ps.h: Likewise.
33978         * lib/unictype/categ_Sk.h: Likewise.
33979         * lib/unictype/categ_Sm.h: Likewise.
33980         * lib/unictype/categ_Z.h: Likewise.
33981         * lib/unictype/categ_Zl.h: Likewise.
33982         * lib/unictype/categ_Zp.h: Likewise.
33983         * lib/unictype/categ_Zs.h: Likewise.
33984         * lib/unictype/ctype_blank.h: Likewise.
33985         * lib/unictype/ctype_cntrl.h: Likewise.
33986         * lib/unictype/ctype_digit.h: Likewise.
33987         * lib/unictype/ctype_space.h: Likewise.
33988         * lib/unictype/ctype_xdigit.h: Likewise.
33989         * lib/unictype/mirror.h: Likewise.
33990         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
33991         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
33992         * lib/unictype/pr_bidi_block_separator.h: Likewise.
33993         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
33994         * lib/unictype/pr_bidi_common_separator.h: Likewise.
33995         * lib/unictype/pr_bidi_control.h: Likewise.
33996         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
33997         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
33998         * lib/unictype/pr_bidi_pdf.h: Likewise.
33999         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
34000         * lib/unictype/pr_bidi_whitespace.h: Likewise.
34001         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
34002         * lib/unictype/pr_format_control.h: Likewise.
34003         * lib/unictype/pr_hex_digit.h: Likewise.
34004         * lib/unictype/pr_hyphen.h: Likewise.
34005         * lib/unictype/pr_ids_binary_operator.h: Likewise.
34006         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
34007         * lib/unictype/pr_iso_control.h: Likewise.
34008         * lib/unictype/pr_join_control.h: Likewise.
34009         * lib/unictype/pr_left_of_pair.h: Likewise.
34010         * lib/unictype/pr_line_separator.h: Likewise.
34011         * lib/unictype/pr_math.h: Likewise.
34012         * lib/unictype/pr_non_break.h: Likewise.
34013         * lib/unictype/pr_not_a_character.h: Likewise.
34014         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
34015         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
34016         * lib/unictype/pr_other_id_continue.h: Likewise.
34017         * lib/unictype/pr_other_id_start.h: Likewise.
34018         * lib/unictype/pr_other_lowercase.h: Likewise.
34019         * lib/unictype/pr_other_math.h: Likewise.
34020         * lib/unictype/pr_other_uppercase.h: Likewise.
34021         * lib/unictype/pr_paired_punctuation.h: Likewise.
34022         * lib/unictype/pr_paragraph_separator.h: Likewise.
34023         * lib/unictype/pr_pattern_syntax.h: Likewise.
34024         * lib/unictype/pr_pattern_white_space.h: Likewise.
34025         * lib/unictype/pr_private_use.h: Likewise.
34026         * lib/unictype/pr_quotation_mark.h: Likewise.
34027         * lib/unictype/pr_radical.h: Likewise.
34028         * lib/unictype/pr_soft_dotted.h: Likewise.
34029         * lib/unictype/pr_space.h: Likewise.
34030         * lib/unictype/pr_titlecase.h: Likewise.
34031         * lib/unictype/pr_variation_selector.h: Likewise.
34032         * lib/unictype/pr_white_space.h: Likewise.
34033         * lib/unictype/sy_c_ident.h: Likewise.
34034         * lib/unictype/sy_c_whitespace.h: Likewise.
34035         * lib/unictype/sy_java_whitespace.h: Likewise.
34036         * modules/uni*/*: Bump version number of expected libunistring version.
34037         Reported by Simon Josefsson.
34038
34039 2011-01-09  Karl Heuer  <kwzh@gnu.org>
34040
34041         useless-if-before-free: fix typo in --help and make the internal,
34042         automatic version date update process work once again.
34043         --help output contained a NUL character instead of the
34044         backslash-zero that was intended.  Also, the "must lie within
34045         the first 8 lines" line is on line 9, and hence not getting
34046         automatically updated.
34047         * build-aux/useless-if-before-free: Fix the former by adding a
34048         backslash, and the latter by condensing the three lines of what-it-does
34049         to a single line, leaving one line of slack for the future.
34050
34051 2011-01-09  Bruno Haible  <bruno@clisp.org>
34052
34053         uniwidth/width: Fix width of U+1D173..U+1D17A.
34054         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
34055         symbolic_width, output_width_property_test): New functions.
34056         (main): Invoke output_nonspacing_property, output_width_property_test.
34057         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
34058         U+1D173..U+1D17A.
34059         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
34060         1.
34061         * modules/uniwidth/*: Bump version number of expected libunistring
34062         version.
34063         * modules/unilbrk/*: Likewise.
34064
34065 2011-01-08  Bruno Haible  <bruno@clisp.org>
34066
34067         uninorm tests: Preserve copyright of Unicode data file.
34068         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
34069         Mention modifications.
34070
34071 2011-01-08  Bruno Haible  <bruno@clisp.org>
34072
34073         gen-uni-tables: Prepare for Unicode 5.2.0.
34074         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
34075         (debug_output_lbp, output_lbp): Update.
34076
34077 2011-01-08  Bruno Haible  <bruno@clisp.org>
34078
34079         unilbrk: Clarify gen-uni-tables.c code.
34080         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
34081         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
34082         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
34083
34084 2011-01-07  Bruno Haible  <bruno@clisp.org>
34085
34086         strtod: Restore errno when successfully parsing Infinity or NaN.
34087         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
34088         restore the original errno.
34089
34090 2011-01-07  Bruno Haible  <bruno@clisp.org>
34091
34092         remove test: Avoid failure on HP-UX 11.
34093         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
34094
34095 2011-01-07  Bruno Haible  <bruno@clisp.org>
34096
34097         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
34098         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
34099         error code.
34100
34101 2011-01-07  Pádraig Brady <P@draigBrady.com>
34102
34103         ignore-value: fixup comments, and add Eric Blake
34104         as an author since he rewrote the macros.
34105         * lib/ignore-value.h (ignore_value):  State that
34106         we now support aggregates.  Also specify exactly
34107         when the GCC warn_unused_result feature was added.
34108
34109 2011-01-06  Eric Blake  <eblake@redhat.com>
34110
34111         ignore-value: support aggregate types
34112         * lib/ignore-value.h (ignore_value): Provide separate gcc
34113         definition.
34114         * modules/ignore-value-tests: New test module.
34115         * tests/test-ignore-value.c: New test.
34116
34117         maint.mk: improve sc_prohibit_strcmp regex
34118         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
34119         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
34120         definition of STRNEQ.
34121
34122         signal: work around Haiku issue with SIGBUS
34123         * lib/siglist.h: Add comment.
34124         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
34125         strsignal's favoring of SIGSEGV.
34126         * tests/test-signal.c (main): Avoid test failure.
34127         * doc/posix-headers/signal.texi (signal.h): Document the issue.
34128         Reported by Scott McCreary.
34129
34130         maint.mk: add pre-release check to ensure submodule commits are public
34131         * top/maint.mk (public-submodule-commit): New rule.
34132         (submodule-checks): New variable.
34133         (alpha beta stable): Depend on the variable.
34134
34135 2011-01-05  Pádraig Brady <P@draigBrady.com>
34136         and Jim Meyering  <meyering@redhat.com>
34137
34138         ignore-value: make ignore_value more generic; deprecate ignore_ptr
34139         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
34140         (ATTRIBUTE_DEPRECATED): Define.
34141         (_ignore_case): New function.
34142         (ignore_value): New macro, to replace the old function.
34143         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
34144         * modules/ignore-value (Depends-on): Add stdint.
34145
34146 2011-01-04  Eric Blake  <eblake@redhat.com>
34147
34148         doc: regenerate INSTALL
34149         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
34150         @firstparagraphindent support, now that autoconf dropped it.
34151         (INSTALL_PRELUDE): Reinstate old macro.
34152         * doc/install.texi: Resync from autoconf.
34153         * doc/INSTALL: Reflect recent autoconf update.
34154         * doc/INSTALL.ISO: Likewise.
34155         * doc/INSTALL.UTF-8: Likewise.
34156         Reported by Karl Berry.
34157
34158 2011-01-04  Bruce Korb  <address@hidden>
34159
34160         git-version-gen: avoid a sub-shell
34161         * build-aux/git-version-gen: Redirect stderr in `...` via
34162         "exec 2>...", rather than via an added sub-shell.
34163
34164 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
34165
34166         git-version-gen: use (...) rather than sh -c '...'
34167         * build-aux/git-version-gen: Rather than hard-coding a shell's name
34168         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
34169
34170 2011-01-03  Jim Meyering  <meyering@redhat.com>
34171
34172         git-version-gen: convert leading TABs to spaces
34173         * build-aux/git-version-gen: Expand leading TABs.
34174
34175         git-version-gen: handle failed "git rev-list"
34176         * build-aux/git-version-gen: Rather than leaking a "fatal" error
34177         from git and proceeding as if it had succeeded but printed no SHA1
34178         checksums, suppress the diagnostic and handle the failure.
34179         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
34180
34181         git-version-gen: include command name in one more diagnostic
34182         * build-aux/git-version-gen: When the required .tarball-version file
34183         was missing or unreadable, you might see the diagnostic from "cat",
34184         but no trace of the name of the invoking script.  Now, you still see
34185         the diagnostic from cat, but also get one from "git-version-gen: ".
34186         Inspired by a patch from Bruce Korb.
34187
34188         update-copyright: adjust test to match changed code
34189         * tests/test-update-copyright.sh: Change test's expected output
34190         to match new actual output.
34191
34192 2011-01-02  Bruno Haible  <bruno@clisp.org>
34193
34194         getlogin_r: Avoid test failure on HP-UX 11.
34195         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
34196         ERANGE when the second argument is zero.
34197         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
34198         portability problem.
34199
34200 2011-01-02  Bruce Korb  <bkorb@gnu.org>
34201
34202         * build-aux/update-copyright: doc Simon's changes
34203
34204 2011-01-02  Simon Josefsson  <simon@josefsson.org>
34205
34206         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
34207         environment variable.
34208
34209 2011-01-02  Bruno Haible  <bruno@clisp.org>
34210
34211         unigbrk: Avoid gcc warnings.
34212         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
34213         unused variable.
34214         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
34215         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
34216         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
34217         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
34218         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
34219         Change type of first argument to 'const char *'.
34220         (main): Remove unused variable.
34221         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
34222         type of first argument to 'const char *'.
34223         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
34224         Likewise.
34225         (main): Change type of variable 's'.
34226         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
34227         to 'int'.
34228
34229 2011-01-02  Bruno Haible  <bruno@clisp.org>
34230
34231         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
34232         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
34233         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
34234         bug.
34235         * lib/pwrite.c: Undo 2010-12-31 patch.
34236         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
34237
34238 2011-01-02  Bruno Haible  <bruno@clisp.org>
34239
34240         pread: Fix test whether it works.
34241         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
34242
34243 2011-01-02  Bruno Haible  <bruno@clisp.org>
34244
34245         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
34246         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
34247         ends in "6". Don't require a specific month name. Try also the locale
34248         names found on HP-UX 11 and Solaris 7.
34249
34250 2011-01-02  Bruno Haible  <bruno@clisp.org>
34251
34252         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
34253         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
34254         C linkage.
34255         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
34256
34257 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
34258
34259         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
34260         for consistency, since the "cluster" term is not used elsewhere.
34261         * lib/unigbrk.in.h: Update name.
34262         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
34263         * lib/unigbrk/u16-grapheme-next.c: Update name.
34264         * lib/unigbrk/u16-grapheme-prev.c: Update name.
34265         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
34266         * lib/unigbrk/u32-grapheme-next.c: Update name.
34267         * lib/unigbrk/u32-grapheme-prev.c: Update name.
34268         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
34269         * lib/unigbrk/u8-grapheme-next.c: Update name.
34270         * lib/unigbrk/u8-grapheme-prev.c: Update name.
34271         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
34272         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
34273         Suggested by Bruno Haible.
34274
34275 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
34276
34277         Remove module 'u8-grapheme-len' as too redundant with
34278         'u8-grapheme-next'.
34279         * modules/unigbrk/u8-grapheme-len: Delete file.
34280         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
34281         * lib/unigbrk.in.h: Remove prototype for deleted function.
34282         * lib/unigbrk/u8-grapheme-len.c: Delete file.
34283         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
34284
34285         Remove module 'u16-grapheme-len' as too redundant with
34286         'u16-grapheme-next'.
34287         * modules/unigbrk/u16-grapheme-len: Delete file.
34288         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
34289         * lib/unigbrk.in.h: Remove prototype for deleted function.
34290         * lib/unigbrk/u16-grapheme-len.c: Delete file.
34291         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
34292
34293         Remove module 'u32-grapheme-len' as too redundant with
34294         'u32-grapheme-next'.
34295         * modules/unigbrk/u32-grapheme-len: Delete file.
34296         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
34297         * lib/unigbrk.in.h: Remove prototype for deleted function.
34298         * lib/unigbrk/u32-grapheme-len.c: Delete file.
34299         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
34300
34301         Suggested by Bruno Haible.
34302
34303 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
34304
34305         * unigbrk.in.h: Fix typo: "ben" => "been".
34306         Reported by Bruno Haible.
34307
34308 2011-01-01  Jim Meyering  <meyering@redhat.com>
34309
34310         maint: update almost all copyright ranges to include 2011
34311         Run the new "make update-copyright" rule.
34312
34313 2011-01-01  Jim Meyering  <meyering@redhat.com>
34314
34315         maint: update-copyright: exempt doc/INSTALL*
34316         * Makefile (update-copyright): Also exclude doc/INSTALL*,
34317         since they are generated.  Suggested by Bruno Haible.
34318
34319 2011-01-01  Jim Meyering  <meyering@redhat.com>
34320
34321         maint: refine the update-copyright rule
34322         * Makefile (update-copyright): Also exclude any file that includes
34323         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
34324         code that merely generates the comment.
34325
34326 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
34327
34328         New module 'u8-grapheme-len'.
34329         * modules/unigbrk/u8-grapheme-len: New file.
34330         * modules/unigbrk/u8-grapheme-len-tests: New file.
34331         * lib/unigbrk.in.h: Add prototype for new function.
34332         * lib/unigbrk/u8-grapheme-len.c: New file.
34333         * tests/unigbrk/test-u8-grapheme-len.c: New file.
34334
34335         New module 'u16-grapheme-len'.
34336         * modules/unigbrk/u16-grapheme-len: New file.
34337         * modules/unigbrk/u16-grapheme-len-tests: New file.
34338         * lib/unigbrk.in.h: Add prototype for new function.
34339         * lib/unigbrk/u16-grapheme-len.c: New file.
34340         * tests/unigbrk/test-u16-grapheme-len.c: New file.
34341
34342         New module 'u32-grapheme-len'.
34343         * modules/unigbrk/u32-grapheme-len: New file.
34344         * modules/unigbrk/u32-grapheme-len-tests: New file.
34345         * lib/unigbrk.in.h: Add prototype for new function.
34346         * lib/unigbrk/u32-grapheme-len.c: New file.
34347         * tests/unigbrk/test-u32-grapheme-len.c: New file.
34348
34349         New module 'u8-grapheme-next'.
34350         * modules/unigbrk/u8-grapheme-next: New file.
34351         * modules/unigbrk/u8-grapheme-next-tests: New file.
34352         * lib/unigbrk.in.h: Add prototype for new function.
34353         * lib/unigbrk/u8-grapheme-next.c: New file.
34354         * tests/unigbrk/test-u8-grapheme-next.c: New file.
34355
34356         New module 'u16-grapheme-next'.
34357         * modules/unigbrk/u16-grapheme-next: New file.
34358         * modules/unigbrk/u16-grapheme-next-tests: New file.
34359         * lib/unigbrk.in.h: Add prototype for new function.
34360         * lib/unigbrk/u16-grapheme-next.c: New file.
34361         * tests/unigbrk/test-u16-grapheme-next.c: New file.
34362
34363         New module 'u32-grapheme-next'.
34364         * modules/unigbrk/u32-grapheme-next: New file.
34365         * modules/unigbrk/u32-grapheme-next-tests: New file.
34366         * lib/unigbrk.in.h: Add prototype for new function.
34367         * lib/unigbrk/u32-grapheme-next.c: New file.
34368         * tests/unigbrk/test-u32-grapheme-next.c: New file.
34369
34370         New module 'u8-grapheme-prev'.
34371         * modules/unigbrk/u8-grapheme-prev: New file.
34372         * modules/unigbrk/u8-grapheme-prev-tests: New file.
34373         * lib/unigbrk.in.h: Add prototype for new function.
34374         * lib/unigbrk/u8-grapheme-prev.c: New file.
34375         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
34376
34377         New module 'u16-grapheme-prev'.
34378         * modules/unigbrk/u16-grapheme-prev: New file.
34379         * modules/unigbrk/u16-grapheme-prev-tests: New file.
34380         * lib/unigbrk.in.h: Add prototype for new function.
34381         * lib/unigbrk/u16-grapheme-prev.c: New file.
34382         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
34383
34384         New module 'u32-grapheme-prev'.
34385         * modules/unigbrk/u32-grapheme-prev: New file.
34386         * modules/unigbrk/u32-grapheme-prev-tests: New file.
34387         * lib/unigbrk.in.h: Add prototype for new function.
34388         * lib/unigbrk/u32-grapheme-prev.c: New file.
34389         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
34390
34391         New module 'u8-grapheme-breaks'.
34392         * modules/unigbrk/u8-grapheme-breaks: New file.
34393         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
34394         * lib/unigbrk.in.h: Add prototype for new function.
34395         * lib/unigbrk/u8-grapheme-breaks.c: New file.
34396         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
34397
34398         New module 'u16-grapheme-breaks'.
34399         * modules/unigbrk/u16-grapheme-breaks: New file.
34400         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
34401         * lib/unigbrk.in.h: Add prototype for new function.
34402         * lib/unigbrk/u16-grapheme-breaks.c: New file.
34403         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
34404
34405         New module 'u32-grapheme-breaks'.
34406         * modules/unigbrk/u32-grapheme-breaks: New file.
34407         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
34408         * lib/unigbrk.in.h: Add prototype for new function.
34409         * lib/unigbrk/u32-grapheme-breaks.c: New file.
34410         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
34411
34412         New module 'ulc-grapheme-breaks'.
34413         * modules/unigbrk/ulc-grapheme-breaks: New file.
34414         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
34415         * m4/locale-ar.m4: New file.
34416         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
34417         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
34418         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
34419
34420 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
34421
34422         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
34423         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
34424         modified how this file was generated before I initially submitted
34425         the module, but failed to regenerate it.  This meant that several
34426         of the level2 entries were wrong.
34427         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
34428         Remove the division-by-2 that is folded into the table now that
34429         gbrkprop.h has been regenerated properly.  Now -1 entries are
34430         handled correctly.
34431
34432         New module 'unigbrk/uc-gbrk-prop-tests'.
34433         * modules/unigbrk/uc-gbrk-prop-tests: New file.
34434         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
34435         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
34436         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
34437
34438 2011-01-01  Bruno Haible  <bruno@clisp.org>
34439
34440         Avoid use of hexadecimal escapes.
34441         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
34442         instead of hexadecimal escapes.
34443
34444 2011-01-01  Jim Meyering  <meyering@redhat.com>
34445
34446         maint: new rule to update copyright year ranges
34447         * Makefile (update-copyright): New rule.
34448
34449         maint: indent with TABs in Makefile
34450         * Makefile: Expand leading sequences of spaces to TABs
34451
34452         version-etc: update the copyright year it reports
34453         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
34454
34455 2010-12-31  Bruno Haible  <bruno@clisp.org>
34456
34457         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
34458         * lib/isfinite.c (zerof, zerod, zerol): New variables.
34459         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
34460         zero.
34461
34462 2010-12-31  Bruno Haible  <bruno@clisp.org>
34463
34464         pwrite: Work around HP-UX 11.11 bug.
34465         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
34466         works and set REPLACE_PWRITE if not.
34467         * lib/pwrite.c (pwrite): Add an implementation that uses the system
34468         function.
34469         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
34470
34471 2010-12-31  Bruno Haible  <bruno@clisp.org>
34472
34473         pread: Work around HP-UX 11 bugs.
34474         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
34475         and set REPLACE_PREAD if not.
34476         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
34477
34478 2010-12-31  Eric Blake  <eblake@redhat.com>
34479
34480         nl_langinfo: fix YESEXPR on Irix 6.5
34481         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
34482         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
34483         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
34484         it.
34485
34486 2010-12-31  Bruno Haible  <bruno@clisp.org>
34487
34488         iconv: Document HP-UX 11 bug.
34489         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
34490
34491 2010-12-31  Bruno Haible  <bruno@clisp.org>
34492
34493         ldexpl: Fix link error on HP-UX 11.
34494         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
34495         LDEXPL_LIBM, using $ISNANL_LIBM.
34496
34497 2010-12-31  Eric Blake  <eblake@redhat.com>
34498
34499         ftello: avoid compilation failure with SunStudio c89
34500         * lib/ftello.c (ftello): Use lseek, not llseek.
34501
34502         tests: avoid failing coreutils tests on cygwin
34503         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
34504         (create_exe_shims_): Return 0 when skipping.
34505
34506 2010-12-31  Bruno Haible  <bruno@clisp.org>
34507
34508         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
34509         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
34510
34511 2010-12-31  Bruno Haible  <bruno@clisp.org>
34512
34513         waitpid: Fix link error in C++ mode.
34514         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
34515
34516 2010-12-31  Bruno Haible  <bruno@clisp.org>
34517
34518         isnan: Use GCC built-ins when possible.
34519         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
34520         __builtin_isnan.
34521         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
34522         (isnan): Define using GCC built-ins for GCC >= 4.0.
34523
34524 2010-12-31  Bruno Haible  <bruno@clisp.org>
34525
34526         isnand: Fix mistake.
34527         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
34528         __builtin_isnand.
34529
34530 2010-12-31  Bruno Haible  <bruno@clisp.org>
34531
34532         open: Avoid C++ error on HP-UX 11.
34533         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
34534
34535 2010-12-31  Bruno Haible  <bruno@clisp.org>
34536
34537         time_r: Add missing declarations on HP-UX 11.
34538         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
34539         instead of HAVE_LOCALTIME_R.
34540         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
34541         HAVE_LOCALTIME_R always.
34542         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
34543         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
34544         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
34545         HAVE_LOCALTIME_R.
34546         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
34547         * doc/posix-functions/localtime_r.texi: Likewise.
34548
34549 2010-12-29  Eric Blake  <eblake@redhat.com>
34550
34551         mountlist: tweak previous commit
34552         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
34553         Reported by Paul Eggert.
34554
34555         mountlist: fix local drive detection on cygwin
34556         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
34557         that works for cygwin.
34558
34559 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
34560
34561         ftoastr, snprintf: ftoastr + snprintf module
34562         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
34563         since the snprintf module now should be good enough here.
34564         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
34565         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
34566         and gl_MODULE_INDICATOR([snprintf]), but the former enables
34567         GNULIB_SNPRINTF only for the test directory, and the latter
34568         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
34569         seems to suffice by itself.
34570
34571 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
34572
34573         alloca: one step towards thread-safety
34574         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
34575         need for a static variable.  All callers changed.  This does not
34576         make the alloca replacement thread-safe, but it's one step.
34577
34578         tests: minor indenting change
34579         * tests/init.sh: Sync from coreutils housekeeping patch
34580         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
34581         to keep lines within 80 columns.
34582
34583 2010-12-28  Jim Meyering  <meyering@redhat.com>
34584
34585         regex: don't infloop on persistent failing calloc
34586         * lib/regexec.c (build_trtable): Return failure indication upon
34587         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
34588         In glibc, this was fixed for version 2.13:
34589         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
34590
34591 2010-12-28  Bruno Haible  <bruno@clisp.org>
34592             Paul Eggert <eggert@cs.ucla.edu>
34593
34594         linkat: Make implementation robust against system behaviour variations.
34595         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
34596         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
34597         way, and to -2 if it needs a generic runtime test.
34598         * lib/linkat.c (solaris_optimized_link_immediate,
34599         solaris_optimized_link_follow): New functions.
34600         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
34601         (check_same_link): Use it.
34602
34603 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
34604
34605         New module 'unigbrk/base'.
34606         * modules/unigbrk/base: New file.
34607         * lib/unigbrk.in.h: New file.
34608
34609         New module 'unigbrk/uc-gbrk-prop'.
34610         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
34611         * modules/unigbrk/uc-gbrk-prop: New file.
34612         * lib/unigbrk/gbrkprop.h: New file.
34613         * lib/unigbrk/uc-gbrk-prop.c: New file.
34614
34615         New module 'unigbrk/uc-is-grapheme-break'.
34616         * modules/unigbrk/uc-is-grapheme-break: New file.
34617         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
34618         * lib/unigbrk/uc-is-grapheme-break.c: New file.
34619         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
34620         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
34621         * tests/unigbrk/GraphemeBreakTest.txt: New file.
34622
34623         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
34624
34625 2010-12-27  Bruno Haible  <bruno@clisp.org>
34626
34627         linkat test: Avoid failure on Solaris 11 2010-11.
34628         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
34629
34630 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
34631
34632         utimens: work around glibc rounding bug on more platforms
34633         * lib/utimens.c (fdutimens): Work around rounding bug even if
34634         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
34635         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
34636
34637 2010-12-27  Bruno Haible  <bruno@clisp.org>
34638
34639         select tests: Improve comments.
34640         * tests/test-select.c (do_select): Add comments.
34641
34642 2010-12-27  Bruno Haible  <bruno@clisp.org>
34643
34644         select tests: Safer way of handling timeout.
34645         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
34646         at every invocation.
34647
34648 2010-12-27  Bruno Haible  <bruno@clisp.org>
34649
34650         select tests: Use 'bool' where appropriate.
34651         * tests/test-select.c (connect_to_socket): Change argument type to
34652         'bool'.
34653
34654 2010-12-27  Bruno Haible  <bruno@clisp.org>
34655
34656         select tests: Use existing modules.
34657         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
34658         (configure.ac): Don't test for unistd.h.
34659         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
34660         declared in <unistd.h>.
34661
34662 2010-12-27  Bruno Haible  <bruno@clisp.org>
34663
34664         mbrtowc: Work around a Solaris 7 bug.
34665         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
34666         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
34667         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
34668         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
34669         MBRTOWC_NULL_ARG1_BUG.
34670         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
34671         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
34672         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
34673         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
34674
34675 2010-12-27  Jim Meyering  <meyering@redhat.com>
34676
34677         read-file.c: tweak syntax
34678         * lib/read-file.c (fread_file): Remove space after "*" in function
34679         definitions.
34680
34681 2010-12-27  Bruno Haible  <bruno@clisp.org>
34682
34683         times test: Avoid gcc warnings on OSF/1.
34684         * tests/test-times.c (main): Cast printf arguments from clock_t to
34685         'long int'.
34686
34687 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
34688
34689         utimens: work around glibc rounding bug on older Linux kernels
34690         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
34691         on Linux with a glibc whose utimes might not work, then work
34692         around a longstanding glibc bug involving rounding rather than
34693         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
34694         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
34695
34696 2010-12-26  Bruno Haible  <bruno@clisp.org>
34697
34698         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
34699         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
34700         _GL_CXXALIAS_SYS.
34701         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
34702
34703 2010-12-26  Bruno Haible  <bruno@clisp.org>
34704
34705         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
34706         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
34707         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
34708         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
34709         looking for the declaration.
34710         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
34711         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
34712         problem.
34713         * doc/posix-functions/inet_pton.texi: Likewise.
34714
34715 2010-12-26  Bruno Haible  <bruno@clisp.org>
34716
34717         arpa_inet: Use the common idioms with C++ support.
34718         * lib/arpa_inet.in.h: Include c++defs.h.
34719         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
34720         support.
34721         * modules/arpa_inet (Depends-on): Add c++defs.
34722         (Makefile.am): Substitute the contents of c++defs.h.
34723         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
34724         * modules/arpa_inet-c++-tests: New file.
34725         * tests/test-arpa_inet-c++.cc: New file.
34726
34727 2010-12-25  Bruno Haible  <bruno@clisp.org>
34728
34729         Fix more C++ link errors on Solaris 8.
34730         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
34731         $(LIB_EACCESS).
34732         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
34733         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
34734         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
34735         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
34736         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
34737
34738 2010-12-25  Bruno Haible  <bruno@clisp.org>
34739
34740         printf-posix: Fix link error when a non-GCC compiler is used.
34741         * lib/stdio.in.h (printf): When not using GCC, override printf
34742         correctly.
34743         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
34744
34745 2010-12-25  Bruno Haible  <bruno@clisp.org>
34746
34747         strerror_r-posix: Update doc.
34748         * doc/posix-functions/strerror_r.texi: Update doc about the return
34749         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
34750
34751 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34752
34753         utimens: simplify the logic of the previous change
34754         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
34755         This should not affect whether the test succeeds or fails.
34756
34757         utimens: configure better on hosts with NFS clock skew
34758         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
34759         uses the clock of the local host.  It might use the clock of the
34760         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
34761         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
34762
34763 2010-12-25  Bruno Haible  <bruno@clisp.org>
34764
34765         ptsname test: Avoid failure on Solaris.
34766         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
34767         open a pseudo-terminal; don't use BSD-style ptys.
34768         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
34769
34770 2010-12-25  Bruno Haible  <bruno@clisp.org>
34771
34772         ptsname: Avoid ERANGE failure on some systems.
34773         * lib/ptsname.c (buffer): Increase size.
34774
34775 2010-12-25  Bruno Haible  <bruno@clisp.org>
34776
34777         rename, renameat: Avoid test failures at NFS mounted locations.
34778         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
34779         so that subsequent mkdir calls succeed.
34780
34781 2010-12-25  Bruno Haible  <bruno@clisp.org>
34782
34783         iswblank: Fix C++ link error on Solaris 8.
34784         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
34785         _GL_FUNCDECL_SYS.
34786
34787 2010-12-25  Bruno Haible  <bruno@clisp.org>
34788
34789         unistd: Fix C++ link error on Solaris 8.
34790         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
34791
34792 2010-12-25  Bruno Haible  <bruno@clisp.org>
34793
34794         readlink doc: Mention an old glibc bug.
34795         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
34796
34797 2010-12-25  Bruno Haible  <bruno@clisp.org>
34798
34799         fcntl-h: Fix for use of C++ on glibc systems.
34800         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
34801         also on glibc systems in C++ mode.
34802         Reported by Gary V. Vaughan <gary@gnu.org>.
34803
34804 2010-12-25  Bruno Haible  <bruno@clisp.org>
34805
34806         roundl-ieee: Make it work on OSF/1 5.1 with cc.
34807         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
34808
34809 2010-12-25  Bruno Haible  <bruno@clisp.org>
34810
34811         truncl-ieee: Make it work on OSF/1 5.1 with cc.
34812         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
34813         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
34814         test whether truncl works according to ISO C 99 with IEC 60559.
34815         * m4/truncl-ieee.m4: New file.
34816         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
34817         m4/signbit.m4.
34818         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
34819
34820 2010-12-25  Bruno Haible  <bruno@clisp.org>
34821
34822         ceill-ieee: Make it work on OSF/1 5.1 with cc.
34823         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
34824         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
34825         test whether ceill works according to ISO C 99 with IEC 60559.
34826         * m4/ceill-ieee.m4: New file.
34827         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
34828         m4/signbit.m4.
34829         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
34830
34831 2010-12-25  Bruno Haible  <bruno@clisp.org>
34832
34833         Ensure all prerequisites of <wchar.h> are included.
34834         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
34835         before <wchar.h>.
34836         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
34837         gl_MBRLEN_NUL_RETVAL): Likewise.
34838         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
34839         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
34840         AC_FUNC_MBRTOWC): Likewise.
34841         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
34842         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
34843         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
34844         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
34845         Likewise.
34846         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
34847         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
34848         (gl_WCHAR_H): Improve comments.
34849         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
34850
34851 2010-12-25  Bruno Haible  <bruno@clisp.org>
34852
34853         strtok_r: Fix C syntax error in autoconf macro.
34854         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
34855         characters in test program.
34856
34857 2010-12-24  Bruno Haible  <bruno@clisp.org>
34858
34859         ceil, trunc, round: Fix gcc warnings.
34860         * lib/ceil.c (MIN): Undefine before redefining.
34861         * lib/trunc.c (MIN): Likewise.
34862         * lib/round.c (MIN): Likewise.
34863         Include <math.h> first.
34864
34865 2010-12-24  Bruno Haible  <bruno@clisp.org>
34866
34867         select tests: Avoid failures on OSF/1 5.1.
34868         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
34869         failure of closing the last socket; it may fail with ECONNRESET.
34870
34871 2010-12-24  Eric Blake  <eblake@redhat.com>
34872
34873         stdint: avoid HP-UX 10.20 preprocessor bug
34874         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
34875         than #if.
34876         * tests/test-floor2.c (main): Likewise.
34877         Reported by Peter O'Gorman.
34878
34879         pipe: make obsoletion transition easier
34880         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
34881         * modules/pipe (Files): Include revived file.
34882         (Include): Drop reference, to mirror getdate's behavior.
34883
34884 2010-12-24  Bruno Haible  <bruno@clisp.org>
34885
34886         sys_socket: Hide mismatch of declarations on NonStop Kernel.
34887         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
34888         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
34889         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
34890
34891 2010-12-24  Bruno Haible  <bruno@clisp.org>
34892
34893         gethostname: Ensure declaration on NonStop Kernel.
34894         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
34895         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
34896
34897 2010-12-24  Bruno Haible  <bruno@clisp.org>
34898
34899         sys_select: Ensure all necessary types on NonStop Kernel.
34900         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
34901         include <sys/time.h>.
34902         * doc/posix-headers/sys_select.texi: Mention that it's missing on
34903         NonStop Kernel.
34904         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
34905
34906 2010-12-24  Bruno Haible  <bruno@clisp.org>
34907
34908         sys_select: Remove unneeded include.
34909         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
34910         have <sys/select.h>.
34911
34912 2010-12-24  Bruno Haible  <bruno@clisp.org>
34913
34914         gethostname: Provide a fallback for HOST_NAME_MAX.
34915         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
34916         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
34917         instead.
34918         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
34919
34920 2010-12-24  Bruno Haible  <bruno@clisp.org>
34921
34922         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
34923         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
34924         (SA_RESTART): Likewise.
34925         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
34926
34927 2010-12-24  Bruno Haible  <bruno@clisp.org>
34928
34929         signal: Define NSIG.
34930         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
34931         * tests/test-signal.c (nsig): New variable.
34932         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
34933
34934 2010-12-24  Bruno Haible  <bruno@clisp.org>
34935
34936         rename, renameat: Avoid test failures on OSF/1 5.1.
34937         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
34938         alternative error codes.
34939         * tests/test-renameat.c (main): Likewise.
34940
34941 2010-12-24  Bruno Haible  <bruno@clisp.org>
34942
34943         *printf: Detect large precisions bug on Solaris 10/SPARC.
34944         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
34945         by Paul Eggert.
34946         * tests/test-snprintf-posix.h (test_function): Add this test code here
34947         too.
34948         * tests/test-sprintf-posix.h (test_function): Likewise.
34949         * tests/test-vasnprintf-posix.c (test_function): Likewise.
34950         * tests/test-vasprintf-posix.c (test_function): Likewise.
34951         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
34952         around by gnulib.
34953         * doc/posix-functions/printf.texi: Likewise.
34954         * doc/posix-functions/snprintf.texi: Likewise.
34955         * doc/posix-functions/sprintf.texi: Likewise.
34956         * doc/posix-functions/vfprintf.texi: Likewise.
34957         * doc/posix-functions/vprintf.texi: Likewise.
34958         * doc/posix-functions/vsnprintf.texi: Likewise.
34959         * doc/posix-functions/vsprintf.texi: Likewise.
34960         * doc/posix-functions/dprintf.texi: Undo last commit.
34961         * doc/posix-functions/vdprintf.texi: Likewise.
34962
34963 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
34964
34965         tests: port test-fdutimensat.c to Solaris 8
34966         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
34967         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
34968         On Solaris 8, it fails with errno == ENOSYS, because there is no
34969         futimens (so it can't use the fd), and there is no lutimens (so it
34970         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
34971
34972         vsnprintf: make more consistent with snprintf; doc fixes
34973
34974         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
34975         the byte count return problem was promoted from the snprintf-posix
34976         to the snprintf module.
34977         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
34978         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
34979         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
34980         * tests/test-snprintf.c (main): Check the byte count returned.
34981         * tests/test-vsnprintf.c (main): Likewise.
34982
34983 2010-12-23  Eric Blake  <eblake@redhat.com>
34984
34985         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
34986         * modules/sigpipe (License): Relax license.
34987
34988 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
34989
34990         doc: document Solaris printf bug with large float precisions
34991         * doc/posix-functions/dprintf.texi (dprintf):
34992         * doc/posix-functions/fprintf.texi (fprintf):
34993         * doc/posix-functions/printf.texi (printf):
34994         * doc/posix-functions/snprintf.texi (snprintf):
34995         * doc/posix-functions/sprintf.texi (sprintf):
34996         * doc/posix-functions/vdprintf.texi (vdprintf):
34997         * doc/posix-functions/vfprintf.texi (vfprintf):
34998         * doc/posix-functions/vprintf.texi (vprintf):
34999         * doc/posix-functions/vsnprintf.texi (vsnprintf):
35000         * doc/posix-functions/vsprintf.texi (vsprintf):
35001         Mention that these functions mishandle large floating point
35002         precisions on Solaris 10.  The same bug is also present in Solaris
35003         8, and I assume earlier.  This causes "cd gnulib-tests; make
35004         check" to fail on Solaris 8 (and I assume, later) when building
35005         the latest coreutils, in test-vasprintf-posix's call to
35006         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
35007         the wide flavors (e.g., wprintf) so this patch just updates the
35008         documentation for the narrow ones.
35009
35010         test-posixtm.c: add two tests
35011         * tests/test-posixtm.c: Add two tests, to highlight the
35012         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
35013         around this bug; this is merely to document it.
35014
35015 2010-12-22  Bruno Haible  <bruno@clisp.org>
35016
35017         getlogin_r: Work around portability problem on OSF/1.
35018         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
35019         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
35020         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
35021         test for a truncated result.
35022         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
35023         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
35024         * modules/getlogin_r (Depends-on): Add memchr.
35025         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
35026
35027 2010-12-22  Bruno Haible  <bruno@clisp.org>
35028
35029         ptsname: Avoid test failure on OSF/1 5.1.
35030         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
35031         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
35032         (same_slave): New function.
35033         (main): Use it to compare ptsname's result with the expected file name.
35034
35035 2010-12-22  Bruno Haible  <bruno@clisp.org>
35036
35037         Port extended stdio modules to HP NonStop Kernel.
35038         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
35039         macros.
35040         * lib/fbufmode.c: Update comments.
35041         * lib/fflush.c: Likewise.
35042         * lib/fpurge.c: Likewise.
35043         * lib/freadable.c: Likewise.
35044         * lib/freadahead.c: Likewise.
35045         * lib/freading.c: Likewise.
35046         * lib/freadptr.c: Likewise.
35047         * lib/freadseek.c: Likewise.
35048         * lib/fseeko.c: Likewise.
35049         * lib/fseterr.c: Likewise.
35050         * lib/fwritable.c: Likewise.
35051         * lib/fwriting.c: Likewise.
35052         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
35053
35054 2010-12-22  Bruno Haible  <bruno@clisp.org>
35055
35056         ttyname_r: Work around bug on OSF/1 5.1.
35057         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
35058         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
35059         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
35060         present.
35061         * lib/ttyname_r.c (ttyname_r): Update comments.
35062
35063 2010-12-22  Bruno Haible  <bruno@clisp.org>
35064
35065         round: Implement result sign according to IEEE 754.
35066         * lib/round.c (MIN, MINUS_ZERO): New macros.
35067         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
35068         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
35069         * tests/test-round-ieee.c (main): Likewise.
35070         * tests/test-roundl-ieee.c (main): Likewise.
35071
35072         trunc: Implement result sign according to IEEE 754.
35073         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
35074         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
35075         * tests/test-trunc2.c: Include minus-zero.h.
35076         (MINUS_ZERO): New macro.
35077         (trunc_reference): Keep in sync with lib/trunc.c.
35078         * tests/test-truncf2.c: Include minus-zero.h.
35079         (MINUS_ZERO): New macro.
35080         (truncf_reference): Keep in sync with lib/trunc.c.
35081         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
35082         * tests/test-trunc-ieee.c (main): Likewise.
35083         * tests/test-truncl-ieee.c (main): Likewise.
35084
35085         ceil: Implement result sign according to IEEE 754.
35086         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
35087         (FUNC): Return -0.0 for -1 < x < 0.
35088         * tests/test-ceil2.c: Include minus-zero.h.
35089         (MINUS_ZERO): New macro.
35090         (ceil_reference): Keep in sync with lib/ceil.c.
35091         * tests/test-ceilf2.c: Include minus-zero.h.
35092         (MINUS_ZERO): New macro.
35093         (ceilf_reference): Keep in sync with lib/ceil.c.
35094         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
35095         * tests/test-ceil-ieee.c (main): Likewise.
35096         * tests/test-ceill-ieee.c (main): Likewise.
35097
35098         floor: Implement result sign according to IEEE 754.
35099         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
35100         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
35101         * tests/test-floorf2.c (floorf_reference): Likewise.
35102         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
35103         * tests/test-floor-ieee.c (main): Likewise.
35104         * tests/test-floorl-ieee.c (main): Likewise.
35105
35106 2010-12-22  Bruno Haible  <bruno@clisp.org>
35107
35108         getaddrinfo: Update doc.
35109         * doc/posix-functions/gai_strerror.texi: Return type is also different
35110         on AIX and HP-UX.
35111
35112 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
35113
35114         getaddrinfo, inet_ntop: Update doc for Solaris.
35115         * doc/posix-functions/gai_strerror.texi: Return type is also an
35116         issue on Solaris 9 and earlier.
35117         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
35118         on Solaris 10 and earlier.
35119
35120 2010-12-21  Bruno Haible  <bruno@clisp.org>
35121
35122         New module 'roundl-ieee'.
35123         * modules/roundl-ieee: New file.
35124         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
35125         test whether roundl works according to ISO C 99 with IEC 60559.
35126         * m4/roundl-ieee.m4: New file.
35127         * modules/roundl-ieee-tests: New file.
35128         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
35129         * tests/test-roundl.c (main): Remove signbit tests.
35130         * modules/roundl-tests (Depends-on): Remove signbit.
35131         * doc/posix-functions/roundl.texi: Mention the new module.
35132
35133 2010-12-21  Bruno Haible  <bruno@clisp.org>
35134
35135         New module 'truncl-ieee'.
35136         * modules/truncl-ieee: New file.
35137         * modules/truncl-ieee-tests: New file.
35138         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
35139         * tests/test-truncl.c (main): Remove signbit tests.
35140         * modules/truncl-tests (Depends-on): Remove signbit.
35141         * doc/posix-functions/truncl.texi: Mention the new module.
35142
35143 2010-12-21  Bruno Haible  <bruno@clisp.org>
35144
35145         New module 'ceill-ieee'.
35146         * modules/ceill-ieee: New file.
35147         * modules/ceill-ieee-tests: New file.
35148         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
35149         * tests/test-ceill.c (main): Remove signbit tests.
35150         * modules/ceill-tests (Depends-on): Remove signbit.
35151         * doc/posix-functions/ceill.texi: Mention the new module.
35152
35153 2010-12-21  Bruno Haible  <bruno@clisp.org>
35154
35155         New module 'floorl-ieee'.
35156         * modules/floorl-ieee: New file.
35157         * modules/floorl-ieee-tests: New file.
35158         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
35159         * tests/test-floorl.c (main): Remove signbit tests.
35160         * modules/floorl-tests (Depends-on): Remove signbit.
35161         * doc/posix-functions/floorl.texi: Mention the new module.
35162
35163 2010-12-21  Bruno Haible  <bruno@clisp.org>
35164
35165         New module 'round-ieee'.
35166         * modules/round-ieee: New file.
35167         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
35168         whether round works according to ISO C 99 with IEC 60559.
35169         * m4/round-ieee.m4: New file.
35170         * modules/round-ieee-tests: New file.
35171         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
35172         * tests/test-round1.c (main): Remove signbit tests.
35173         * modules/round-tests (Depends-on): Remove 'signbit'.
35174         * doc/posix-functions/round.texi: Mention the new module.
35175
35176 2010-12-21  Bruno Haible  <bruno@clisp.org>
35177
35178         New module 'trunc-ieee'.
35179         * modules/trunc-ieee: New file.
35180         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
35181         whether trunc works according to ISO C 99 with IEC 60559.
35182         * m4/trunc-ieee.m4: New file.
35183         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
35184         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
35185         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
35186         * modules/trunc-ieee-tests: New file.
35187         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
35188         * tests/test-trunc1.c (main): Remove signbit tests.
35189         * modules/trunc-tests (Depends-on): Remove 'signbit'.
35190         * doc/posix-functions/trunc.texi: Mention the new module.
35191
35192 2010-12-21  Bruno Haible  <bruno@clisp.org>
35193
35194         New module 'ceil-ieee'.
35195         * modules/ceil-ieee: New file.
35196         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
35197         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
35198         ISO C 99 with IEC 60559.
35199         * m4/ceil-ieee.m4: New file.
35200         * modules/ceil (Files): Add lib/ceil.c.
35201         (Depends-on): Add 'float'.
35202         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35203         * lib/math.in.h (ceil): New declaration.
35204         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
35205         REPLACE_CEIL.
35206         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
35207         * modules/ceil-ieee-tests: New file.
35208         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
35209         * tests/test-math-c++.cc: Check the signature of 'ceil'.
35210         * doc/posix-functions/ceil.texi: Mention the new module.
35211
35212 2010-12-21  Bruno Haible  <bruno@clisp.org>
35213
35214         New module 'floor-ieee'.
35215         * modules/floor-ieee: New file.
35216         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
35217         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
35218         ISO C 99 with IEC 60559.
35219         * m4/floor-ieee.m4: New file.
35220         * modules/floor (Files): Add lib/floor.c.
35221         (Depends-on): Add 'float'.
35222         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35223         * lib/math.in.h (floor): New declaration.
35224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
35225         REPLACE_FLOOR.
35226         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
35227         * modules/floor-ieee-tests: New file.
35228         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
35229         * tests/test-math-c++.cc: Check the signature of 'floor'.
35230         * doc/posix-functions/floor.texi: Mention the new module.
35231
35232 2010-12-21  Bruno Haible  <bruno@clisp.org>
35233
35234         New module 'roundf-ieee'.
35235         * modules/roundf-ieee: New file.
35236         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
35237         test whether roundf works according to ISO C 99 with IEC 60559.
35238         * m4/roundf-ieee.m4: New file.
35239         * modules/roundf-ieee-tests: New file.
35240         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
35241         * tests/test-roundf1.c (main): Remove signbit tests.
35242         * modules/roundf-tests (Depends-on): Remove 'signbit'.
35243         * doc/posix-functions/roundf.texi: Mention the new module.
35244
35245 2010-12-21  Bruno Haible  <bruno@clisp.org>
35246
35247         New module 'truncf-ieee'.
35248         * modules/truncf-ieee: New file.
35249         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
35250         test whether truncf works according to ISO C 99 with IEC 60559.
35251         * m4/truncf-ieee.m4: New file.
35252         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
35253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
35254         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
35255         * modules/truncf-ieee-tests: New file.
35256         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
35257         * tests/test-truncf1.c (main): Remove signbit tests.
35258         * modules/truncf-tests (Depends-on): Remove 'signbit'.
35259         * doc/posix-functions/truncf.texi: Mention the new module.
35260
35261 2010-12-21  Bruno Haible  <bruno@clisp.org>
35262
35263         New module 'ceilf-ieee'.
35264         * modules/ceilf-ieee: New file.
35265         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
35266         test whether ceilf works according to ISO C 99 with IEC 60559.
35267         * m4/ceilf-ieee.m4: New file.
35268         * modules/ceilf-ieee-tests: New file.
35269         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
35270         * tests/test-ceilf1.c (main): Remove signbit tests.
35271         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
35272         * doc/posix-functions/ceilf.texi: Mention the new module.
35273
35274 2010-12-21  Bruno Haible  <bruno@clisp.org>
35275
35276         New module 'floorf-ieee'.
35277         * modules/floorf-ieee: New file.
35278         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
35279         test whether floorf works according to ISO C 99 with IEC 60559.
35280         * m4/floorf-ieee.m4: New file.
35281         * modules/floorf-ieee-tests: New file.
35282         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
35283         * tests/test-floorf1.c (main): Remove signbit tests.
35284         * modules/floorf-tests (Depends-on): Remove 'signbit'.
35285         * doc/posix-functions/floorf.texi: Mention the new module.
35286
35287 2010-12-21  Bruno Haible  <bruno@clisp.org>
35288
35289         Support for minus zero in autoconf macros.
35290         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
35291         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
35292         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
35293         * tests/minus-zero.h: Update comments.
35294
35295 2010-12-21  Bruno Haible  <bruno@clisp.org>
35296
35297         Tests for module 'ceil'.
35298         * modules/ceil-tests: New file.
35299         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
35300         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
35301
35302 2010-12-21  Bruno Haible  <bruno@clisp.org>
35303
35304         Tests for module 'floor'.
35305         * modules/floor-tests: New file.
35306         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
35307         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
35308
35309 2010-12-21  Bruno Haible  <bruno@clisp.org>
35310
35311         math: Fix indentation.
35312         * lib/math.in.h (floorf): Fix indentation.
35313
35314 2010-12-21  Bruno Haible  <bruno@clisp.org>
35315
35316         Fix cross-compilation guesses on Solaris.
35317         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
35318         not match "solaris2.10".
35319         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
35320         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
35321         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
35322
35323 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
35324
35325         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
35326         This fixes a problem observed with the latest coreutils snapshot
35327         that caused a test to fail on Solaris 8.  src/csplit.c's call
35328         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
35329         earlier, instead of returning the number of bytes that would have
35330         been generated; this causes csplit to incorrectly report memory
35331         exhaustion.
35332         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
35333         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
35334         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
35335         comments to match.
35336         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
35337         Fix typo in matching older versions of Solaris: "solaris2.10"
35338         is matched by the shell pattern "solaris2.[0-9]*".  This matters
35339         only for guessing while cross-compiling.
35340         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
35341
35342 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
35343
35344         ftoastr: fix comment again
35345         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
35346         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
35347         Also, simplify example a bit by using flags = 0.
35348
35349 2010-12-20  Bruno Haible  <bruno@clisp.org>
35350
35351         round*, trunc*: Update documentation regarding glibc.
35352         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
35353         * doc/posix-functions/round.texi: Likewise.
35354         * doc/posix-functions/roundl.texi: Likewise.
35355         * doc/posix-functions/truncf.texi: Likewise.
35356         * doc/posix-functions/trunc.texi: Likewise.
35357         * doc/posix-functions/truncl.texi: Likewise.
35358
35359 2010-12-20  Bruno Haible  <bruno@clisp.org>
35360
35361         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
35362         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
35363         * doc/posix-functions/round.texi: Likewise.
35364         * doc/posix-functions/roundl.texi: Likewise.
35365
35366 2010-12-20  Bruno Haible  <bruno@clisp.org>
35367
35368         ttyname_r: Add missing declaration on HP-UX 11.
35369         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
35370         HAVE_TTYNAME_R.
35371         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
35372         declared. Set HAVE_TTYNAME_R always.
35373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35374         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
35375         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
35376         HAVE_TTYNAME_R.
35377         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
35378
35379 2010-12-20  Bruno Haible  <bruno@clisp.org>
35380
35381         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
35382         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
35383         * doc/posix-functions/getlogin_r.texi: Likewise.
35384         * tests/test-getlogin.c: Include <errno.h>.
35385         (main): Avoid test failure on HP-UX 11.11.
35386         * tests/test-getlogin_r.c (main): Likewise.
35387
35388 2010-12-20  Bruno Haible  <bruno@clisp.org>
35389
35390         getlogin_r: Add missing declaration on HP-UX 11.
35391         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
35392         declared also when it exists as a function.
35393         * doc/posix-functions/getlogin_r.texi: Document this workaround.
35394
35395 2010-12-20  Bruno Haible  <bruno@clisp.org>
35396
35397         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
35398         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
35399         through wcrtomb.
35400
35401 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
35402
35403         ftoastr: fix comment
35404         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
35405         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
35406
35407 2010-12-19  Bruno Haible  <bruno@clisp.org>
35408
35409         isnan: Ensure it is a macro.
35410         * lib/math.in.h (isnan): Define as a macro if not already a macro.
35411         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
35412         Solaris.
35413
35414 2010-12-19  Bruno Haible  <bruno@clisp.org>
35415
35416         ldexpl test: Fix link error on OSF/1 5.1.
35417         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
35418
35419 2010-12-19  Bruno Haible  <bruno@clisp.org>
35420
35421         wctype: Make it work in C++ mode on OSF/1 5.1.
35422         * lib/wctype.in.h (iswblank): Declare but not define here.
35423         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
35424         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
35425         * modules/wctype (Files): Add lib/iswblank.c.
35426
35427 2010-12-19  Bruno Haible  <bruno@clisp.org>
35428
35429         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
35430         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
35431         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
35432
35433 2010-12-19  Bruno Haible  <bruno@clisp.org>
35434
35435         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
35436         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
35437         _POSIX_PII_SOCKET.
35438         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
35439         * doc/posix-functions/recvfrom.texi: Likewise.
35440         * doc/posix-functions/send.texi: Likewise.
35441         * doc/posix-functions/sendto.texi: Likewise.
35442
35443 2010-12-19  Bruno Haible  <bruno@clisp.org>
35444
35445         tcgetsid: Add missing declaration on OSF/1 5.1.
35446         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
35447         HAVE_TCGETSID.
35448         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
35449         Don't set HAVE_TCGETSID.
35450         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
35451         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
35452         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
35453         HAVE_TCGETSID.
35454         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
35455
35456 2010-12-19  Bruno Haible  <bruno@clisp.org>
35457
35458         stdio: Fix problem with popen() declaration on OSF/1 5.1.
35459         * lib/stdio.in.h: During the include_next statement, let recursive
35460         includes of this file include only the system header file.
35461
35462 2010-12-19  Bruno Haible  <bruno@clisp.org>
35463
35464         iconv_open: Fix regression from 2010-12-04.
35465         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
35466         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
35467
35468 2010-12-19  Bruno Haible  <bruno@clisp.org>
35469
35470         stdbool test: Avoid a gcc warning.
35471         * tests/test-stdbool.c (main): Fail if e1 is false.
35472         Reported by Jim Meyering.
35473
35474 2010-12-19  Jim Meyering  <meyering@redhat.com>
35475
35476         setenv: restore to working order
35477         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
35478         mistakenly removed.
35479         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
35480         HAVE_SETENV.
35481         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
35482         HAVE_SETENV.
35483
35484 2010-12-19  Bruno Haible  <bruno@clisp.org>
35485
35486         Document some different function declarations on OSF/1 5.1.
35487         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
35488         * doc/posix-functions/inet_ntop.texi: Likewise.
35489         * doc/posix-functions/gethostname.texi: Likewise.
35490         * lib/unistd.in.h (gethostname): Update comment.
35491
35492 2010-12-19  Bruno Haible  <bruno@clisp.org>
35493
35494         doc: Mention vasprintf-posix module.
35495         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
35496         the 'vasprintf-posix' module.
35497         * doc/glibc-functions/vasprintf.texi: Likewise.
35498
35499 2010-12-19  Bruno Haible  <bruno@clisp.org>
35500
35501         unsetenv: Add missing declaration on OSF/1 5.1.
35502         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
35503         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
35504         Don't set HAVE_UNSETENV. In the test program, set _BSD.
35505         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
35506         not HAVE_UNSETENV.
35507         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
35508         HAVE_UNSETENV.
35509         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
35510
35511 2010-12-19  Bruno Haible  <bruno@clisp.org>
35512
35513         setenv: Add missing declaration on OSF/1 5.1.
35514         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
35515         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
35516         declared. Don't set HAVE_SETENV.
35517         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
35518         not HAVE_SETENV.
35519         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
35520         HAVE_SETENV.
35521         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
35522
35523 2010-12-19  Bruno Haible  <bruno@clisp.org>
35524
35525         nl_langinfo tests: Avoid gcc warning.
35526         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
35527
35528 2010-12-19  Bruno Haible  <bruno@clisp.org>
35529
35530         mknod: Avoid error in C++ mode on OSF/1 with GCC.
35531         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
35532         _GL_CXXALIAS_SYS.
35533
35534 2010-12-19  Bruno Haible  <bruno@clisp.org>
35535
35536         stdbool: Relax test.
35537         * tests/test-stdbool.c (e): Don't require that casts from a variable's
35538         address to 'bool' work in static initializer, for compilers other than
35539         GCC.
35540
35541 2010-12-19  Bruno Haible  <bruno@clisp.org>
35542
35543         ftello: Add missing declaration on OSF/1 5.1.
35544         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
35545         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
35546         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
35547         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
35548         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
35549
35550 2010-12-19  Bruno Haible  <bruno@clisp.org>
35551
35552         fseeko: Add missing declaration on OSF/1 5.1.
35553         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
35554         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
35555         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
35556         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
35557         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
35558
35559 2010-12-19  Bruno Haible  <bruno@clisp.org>
35560
35561         fchdir: Add missing declaration on OSF/1 5.1.
35562         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
35563         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
35564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
35565         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
35566         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
35567
35568 2010-12-19  Bruno Haible  <bruno@clisp.org>
35569
35570         relocatable-prog-wrapper: Separate from relocatable-prog.
35571         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
35572         uninstall-relocwrapper rule here.
35573         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
35574         Reported by Ian Beckwith <ianb@erislabs.net>.
35575
35576 2010-12-19  Bruno Haible  <bruno@clisp.org>
35577
35578         unistr/u8-mbsnlen: Add missing dependency.
35579         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
35580         Reported by Ian Beckwith <ianb@erislabs.net>.
35581
35582 2010-12-19  Bruno Haible  <bruno@clisp.org>
35583
35584         iconv: Make it possible again to use this module without 'iconv-h'.
35585         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
35586         if it is not defined.
35587         Reported by Ian Beckwith <ianb@erislabs.net>.
35588
35589 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
35590
35591         acl: port to Solaris 8 when copying from tmpfs to ufs
35592         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
35593         error number.  Problem observed on Solaris 8 with latest
35594         coreutils, with "mv A B", where A is on a tmpfs file system and B
35595         is on a ufs file system.  This caused coreutils' mv/part-symlink
35596         test to fail.
35597
35598         tests: set fail=0 at start
35599         * tests/init.sh (setup_): Move fail=0 initialization here ...
35600         (mktempd_): ... from here, so that tests can rely on fail being
35601         set to 0 initially.  This fixes a problem in coreutils; see:
35602         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
35603
35604 2010-12-18  Bruno Haible  <bruno@clisp.org>
35605
35606         memmem-simple: Stylistic changes.
35607         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
35608         Fix preprocessor directive indentation.
35609
35610 2010-12-15  Pádraig Brady <P@draigBrady.com>
35611
35612         memmem, memmem-simple: reorganize and expand empty needle check
35613         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
35614         functional checks to memmem-simple so that one has a fully functional
35615         memmem by using just this module.
35616         Restrict the performance only check to the memmem module.
35617         Also expand the empty needle check to ensure the correct
35618         pointer is returned, not just a non NULL pointer.
35619         * doc/glibc-functions/memmem.texi: Rearrange the portability
35620         documentation to correlate with the rearranged checks.
35621         Clarify exactly how the memmem and memmem-simple modules
35622         relate to each other.
35623
35624 2010-12-15  Pádraig Brady <P@draigBrady.com>
35625             Bruno Haible  <bruno@clisp.org>
35626
35627         Improve cross-compilation guesses for uClibc.
35628         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
35629         that uClibc does not have the glibc bug.
35630         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
35631         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
35632
35633 2010-12-14  Eric Blake  <eblake@redhat.com>
35634
35635         configmake: provide fallbacks for oldest supported autotools
35636         * m4/configmake.m4: New file.
35637         * modules/configmake (Files): Ship it.
35638         (configure.ac): Use it to guarantee fallbacks.
35639
35640 2010-12-13  Pádraig Brady <P@draigBrady.com>
35641
35642         read-file: Improve handling of large files
35643         * lib/read-file.c (fread_file): Minimize realloc()s
35644         for regular files, and better manage sizes around SIZE_MAX.
35645
35646 2010-12-13  Eric Blake  <eblake@redhat.com>
35647
35648         cloexec, fcntl: relax license
35649         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
35650         consent from all contributors.
35651         * modules/fcntl (License): Likewise.
35652
35653 2010-12-10  Bruno Haible  <bruno@clisp.org>
35654
35655         Tests for module 'pipe-posix'.
35656         * modules/pipe-posix-tests: New file.
35657         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
35658
35659 2010-12-10  Bruno Haible  <bruno@clisp.org>
35660
35661         pipe-posix: Make it work in C++ mode.
35662         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
35663         (pipe): Use common idiom, not a macro definition.
35664         * lib/pipe.c: New file.
35665         * m4/pipe.m4: New file.
35666         * modules/pipe-posix (Description): Enhance.
35667         (Files): Add lib/pipe.c, m4/pipe.m4.
35668         (configure.ac): Invoke gl_FUNC_PIPE.
35669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
35670         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
35671         * tests/test-unistd-c++.cc: Check the signature of pipe.
35672
35673 2010-12-10  Bruno Haible  <bruno@clisp.org>
35674
35675         Rename module 'pipe' to 'spawn-pipe'.
35676         * modules/spawn-pipe: New file, renamed from modules/pipe.
35677         (Files, configure.ac, Makefile.am): Update.
35678         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
35679         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
35680         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
35681         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
35682         "spawn-pipe.h" instead of "pipe.h".
35683         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
35684         to gl_SPAWN_PIPE.
35685         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
35686         (Files, Makefile.am): Update.
35687         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
35688         Update.
35689         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
35690         Include "spawn-pipe.h" instead of "pipe.h".
35691         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
35692         * lib/javacomp.c: Likewise.
35693         * lib/javaversion.c: Likewise.
35694         * lib/pipe-filter-gi.c: Likewise.
35695         * lib/pipe-filter-ii.c: Likewise.
35696         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
35697         * modules/javacomp (Depends-on): Likewise.
35698         * modules/javaversion (Depends-on): Likewise.
35699         * modules/pipe-filter-gi (Depends-on): Likewise.
35700         * modules/pipe-filter-ii (Depends-on): Likewise.
35701         * MODULES.html.sh (Executing programs): Update.
35702         * NEWS: Mention the change.
35703
35704 2010-12-10  Eric Blake  <eblake@redhat.com>
35705
35706         pipe-posix: new module
35707         * modules/pipe-posix: New file.
35708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
35709         (gl_UNISTD_H): Check for declaration.
35710         * modules/unistd (Makefile.am): Substitute it.
35711         * lib/unistd.in.h (pipe): Provide it for mingw.
35712         * doc/posix-functions/pipe.texi (pipe): Update documentation.
35713         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
35714
35715 2010-12-07  Bruno Haible  <bruno@clisp.org>
35716
35717         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
35718         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
35719         u8_strcmp_gnu.
35720         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
35721
35722 2010-12-06  Bruno Haible  <bruno@clisp.org>
35723
35724         Update internal documentation.
35725         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
35726
35727 2010-12-04  Bruno Haible  <bruno@clisp.org>
35728
35729         Put more information about failed tests into the test return codes.
35730         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
35731         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
35732         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
35733         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
35734         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
35735         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
35736         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35737         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
35738         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
35739         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
35740         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
35741         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
35742         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
35743         * m4/stdint.m4 (gl_STDINT_H): Likewise.
35744         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
35745         returns a bit mask.
35746         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
35747         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
35748         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
35749         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
35750         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
35751         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
35752         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
35753         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
35754         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
35755         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
35756         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
35757         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
35758         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
35759         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
35760         * m4/link.m4 (gl_FUNC_LINK): Likewise.
35761         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
35762         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
35763         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
35764         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
35765         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
35766         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
35767         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
35768         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
35769         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
35770         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
35771         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
35772         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
35773         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
35774         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
35775         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
35776         gl_PRINTF_PRECISION): Likewise.
35777         * m4/regex.m4 (gl_REGEX): Likewise.
35778         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35779         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
35780         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
35781         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
35782         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35783         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
35784         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
35785         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
35786         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
35787         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
35788         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
35789         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
35790         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
35791         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
35792         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
35793         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35794         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
35795         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
35796         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
35797         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
35798         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
35799         enumerated value.
35800         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
35801
35802 2010-12-04  Bruno Haible  <bruno@clisp.org>
35803
35804         Update for Solaris 11 2010-11.
35805         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
35806         Express, released in November 2010.
35807
35808 2010-12-04  Bruno Haible  <bruno@clisp.org>
35809
35810         nproc: Relax license.
35811         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
35812         and Paul Eggert.
35813         Requested by Ludovic Courtès <ludo@gnu.org>.
35814
35815 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
35816
35817         utimecmp: fine-grained src to nearby coarse-grained dest
35818
35819         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
35820         and the source is on a file system with higher-resolution time
35821         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
35822         not work, and the time stamps are close together, the algorithm to
35823         determine the exact resolution from the read-back mtime was buggy:
35824         it had a "!=" where it should have had an "==".  This bug has been
35825         in the code ever since it was introduced to gnulib.
35826         Problem reported by Dan Jacobson in
35827         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
35828
35829 2010-11-30  Bruno Haible  <bruno@clisp.org>
35830
35831         strerror_r-posix: Fix autoconf test.
35832         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
35833
35834 2010-11-28  Bruno Haible  <bruno@clisp.org>
35835             Paul Eggert  <eggert@cs.ucla.edu>
35836
35837         Tests for module 'getdomainname'.
35838         * modules/getdomainname-tests: New file.
35839         * tests/test-getdomainname.c: New file, based on
35840         tests/test-gethostname.c.
35841
35842 2010-11-28  Bruno Haible  <bruno@clisp.org>
35843             Paul Eggert  <eggert@cs.ucla.edu>
35844
35845         getdomainname: Use the system function when possible.
35846         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
35847         (getdomainname): Replace if needed. Provide the declaration if it is
35848         missing. Don't use _GL_CXXALIAS_SYS_CAST.
35849         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
35850         (getdomainname): When the system has getdomainname, call the system
35851         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
35852         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
35853         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
35854         found in libnsl. Look for the declaration also in <netdb.h>. Replace
35855         the function if its second argument is of type 'int' or if it is found
35856         in libnsl.
35857         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
35858         <sys/systeminfo.h> and sysinfo().
35859         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
35860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35861         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
35862         HAVE_GETDOMAINNAME.
35863         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
35864         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
35865         * doc/glibc-functions/getdomainname.texi: Document the problems with
35866         the getdomainname declaration.
35867
35868 2010-11-28  Bruno Haible  <bruno@clisp.org>
35869
35870         sys_socket: Ensure ss_family field on AIX.
35871         * lib/sys_socket.in.h (ss_family): New macro definition.
35872         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
35873         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
35874         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35875         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
35876         * modules/sys_socket (Makefile.am): Substitute
35877         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
35878         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
35879
35880 2010-11-27  Bruno Haible  <bruno@clisp.org>
35881
35882         readline: Improve configure output.
35883         * m4/readline.m4 (gl_FUNC_READLINE): Make the
35884         "checking for readline..." result understandable.
35885
35886 2010-11-27  Bruno Haible  <bruno@clisp.org>
35887
35888         *printf-posix: Detect a bug on Solaris 10/x86.
35889         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
35890         for floating-point output.
35891         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
35892         directive.
35893         * tests/test-snprintf-posix.h (test_function): Likewise.
35894         * tests/test-sprintf-posix.h (test_function): Likewise.
35895         * tests/test-vasprintf-posix.c (test_function): Likewise.
35896         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
35897         * doc/posix-functions/printf.texi: Likewise.
35898         * doc/posix-functions/snprintf.texi: Likewise.
35899         * doc/posix-functions/sprintf.texi: Likewise.
35900         * doc/posix-functions/vfprintf.texi: Likewise.
35901         * doc/posix-functions/vprintf.texi: Likewise.
35902         * doc/posix-functions/vsnprintf.texi: Likewise.
35903         * doc/posix-functions/vsprintf.texi: Likewise.
35904         * doc/glibc-functions/obstack_printf.texi: Likewise.
35905         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
35906
35907 2010-11-27  Bruno Haible  <bruno@clisp.org>
35908
35909         Fix link error when module libunistring-optional is in use.
35910         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
35911         * modules/striconveha-tests (Makefile.am): Likewise.
35912
35913 2010-11-27  Bruno Haible  <bruno@clisp.org>
35914
35915         regex: Mention link dependencies.
35916         * modules/regex (Link): New section.
35917         * modules/rpmatch (Link): Likewise.
35918         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
35919
35920 2010-11-27  Bruno Haible  <bruno@clisp.org>
35921
35922         ftoastr: Fix compilation error on Solaris.
35923         * lib/ftoastr.c: Include <config.h>.
35924
35925 2010-11-27  Bruno Haible  <bruno@clisp.org>
35926
35927         getloadavg: Update documentation.
35928         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
35929
35930 2010-11-27  Bruno Haible  <bruno@clisp.org>
35931
35932         sys_socket: Fix test whether the functions are declared.
35933         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
35934         not <sys/select.h>.
35935
35936 2010-11-27  Bruno Haible  <bruno@clisp.org>
35937
35938         getpass: Make sure to get system declaration on some platforms.
35939         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
35940         gl_USE_SYSTEM_EXTENSIONS.
35941         * modules/getpass (Depends-on): Add extensions.
35942
35943 2010-11-26  Bruno Haible  <bruno@clisp.org>
35944
35945         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
35946         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
35947         'iconv' module is present.
35948         (ICONV_CONST): New macro.
35949         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
35950         ICONV_CONST.
35951         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
35952         set ICONV_CONST.
35953         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
35954         here.
35955         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
35956         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
35957         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
35958         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
35959         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
35960         present.
35961
35962 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
35963
35964         ftoastr: comment fix
35965         * lib/ftoastr.c: "little" -> "little or no" in comment
35966
35967 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
35968
35969         stdint: port to GCC 4.3 + OSX + Octave
35970         On this platform, stdint.h is buggy and defines int64_t to long
35971         long int.  The replacement defined it to long int, causing
35972         problems with C++ style name mangling.  Instead, trust the system
35973         definition if INT64_MAX is defined, and likewise for the unsigned
35974         variant.   Problem reported by Jarno Rajahalme in
35975         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
35976         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
35977         and don't mess with int64_t and INT64_MAX in this case.
35978         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
35979
35980 2010-11-24  Bruno Haible  <bruno@clisp.org>
35981
35982         doc: Corrections regarding MacOS X 10.4 and 10.5.
35983         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
35984         MacOS X.
35985         Reported by Simon Josefsson.
35986
35987 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
35988
35989         Uninstall ".bin" files installed by relocwrapper.
35990         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
35991         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
35992         unless it is already there.
35993
35994 2010-11-21  Bruno Haible  <bruno@clisp.org>
35995
35996         Update for NetBSD 5.0.
35997         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
35998         NetBSD; the test fails on NetBSD 5.0.
35999         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
36000         about NetBSD.
36001
36002 2010-11-21  Bruno Haible  <bruno@clisp.org>
36003
36004         Update for HP-UX 11.23 and HP-UX 11.31.
36005         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
36006         HP-UX.
36007
36008 2010-11-21  Bruno Haible  <bruno@clisp.org>
36009
36010         Update for MacOS X 10.5.
36011         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
36012         MacOS X; the test fails on MacOS X 10.5.8.
36013         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
36014         about MacOS X.
36015
36016 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
36017
36018         bootstrap: add bootstrap_sync option.
36019         See discussion at
36020         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
36021         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
36022         * build-aux/bootstrap: Accept --bootstrap-sync to update
36023         bootstrap if it is not identical to the local gnulib's
36024         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
36025         enable this by default.  Accept --no-bootstrap-sync to disable
36026         it.
36027
36028 2010-11-20  Bruno Haible  <bruno@clisp.org>
36029
36030         Ensure that <features.h> is included before __GLIBC__ is tested.
36031         * lib/printf-parse.h: Include <features.h>.
36032         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
36033         Reported by Mike Frysinger <vapier@gentoo.org>.
36034
36035         Ensure that <features.h> is included before __GLIBC__ is tested.
36036         * lib/wchar.in.h: Include <features.h>.
36037         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
36038         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
36039         Reported by Mike Frysinger <vapier@gentoo.org>.
36040
36041         Ensure that <features.h> is included before __GLIBC__ is tested.
36042         * lib/arpa_inet.in.h: Include <features.h>.
36043         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
36044         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
36045         Reported by Mike Frysinger <vapier@gentoo.org>.
36046
36047         Ensure that <features.h> is included before __GLIBC__ is tested.
36048         * build-aux/link-warning.h: Include <features.h>.
36049         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
36050         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
36051         Reported by Mike Frysinger <vapier@gentoo.org>.
36052
36053         Ensure that <features.h> is included before __GLIBC__ is tested.
36054         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
36055         Reported by Mike Frysinger <vapier@gentoo.org>.
36056
36057 2010-11-20  Bruno Haible  <bruno@clisp.org>
36058
36059         memmem: Fix autoconf test.
36060         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
36061
36062 2010-11-20  Bruno Haible  <bruno@clisp.org>
36063
36064         Port to uClibc.
36065         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
36066         * lib/fcntl.in.h: Likewise.
36067         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
36068         * lib/mbrtowc.c (mbrtowc): Likewise.
36069         * lib/relocatable.c (find_shared_library_fullname): Likewise.
36070         * lib/strerror_r.c: Likewise.
36071         * lib/unistr/u8-strnlen.c: Likewise.
36072         * lib/vasnprintf.c (decimal_point_char): Likewise.
36073         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
36074         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
36075         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
36076         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
36077         * tests/test-sigaction.c (handler, main): Likewise.
36078         * lib/freading.h: Treat uClibc like a non-glibc platform.
36079         * lib/freading.c: Likewise.
36080         * lib/gettext.h: Likewise.
36081         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
36082         Likewise.
36083         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
36084         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
36085         * lib/propername.c (proper_name_utf8): Likewise.
36086         * lib/spawn.in.h: Likewise.
36087         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
36088         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
36089         mem_cd_iconveh_internal): Likewise.
36090         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
36091         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36092         strstr, strcasestr): Likewise.
36093         * lib/unicodeio.c (unicode_to_mb): Likewise.
36094         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
36095         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
36096         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
36097         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
36098         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
36099         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
36100         * lib/unistr/u8-stpncpy.c: Likewise.
36101         * lib/vasnprintf.c (VASNPRINTF): Likewise.
36102         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
36103         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
36104         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
36105         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
36106         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
36107         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
36108         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
36109         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
36110         Likewise.
36111         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
36112         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
36113         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
36114         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36115         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
36116         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36117         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
36118         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
36119         * tests/test-getopt.h (OPTIND_MIN): Likewise.
36120         * tests/test-striconveha.c (main): Likewise.
36121         * tests/test-vasnprintf-posix.c (test_function): Likewise.
36122         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
36123         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
36124         * doc/posix-functions/getline.texi: Likewise.
36125         Reported by Mike Frysinger <vapier@gentoo.org>.
36126
36127 2010-11-20  Bruno Haible  <bruno@clisp.org>
36128
36129         nproc: Fix condition.
36130         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
36131         HAVE_PTHREAD_AFFINITY_NP.
36132
36133 2010-11-20  Bruno Haible  <bruno@clisp.org>
36134
36135         Fix a comment.
36136         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
36137
36138 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
36139
36140         ftoastr: don't assume snprintf
36141         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
36142         Implement a subset of snprintf here, by using sprintf safely.
36143         * modules/ftoastr (Depends-on): Remove snprintf.
36144
36145 2010-11-19  Jim Meyering  <meyering@redhat.com>
36146
36147         test-rename.h: fix compilation failure
36148         * tests/test-rename.h (test_rename): Add omitted "}".
36149
36150 2010-11-17  Jim Meyering  <meyering@redhat.com>
36151
36152         maint.mk: add a URL discussing the no-@acronym policy
36153         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
36154
36155 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
36156
36157         ftoastr: depend on snprintf, improve comments
36158         * lib/ftoastr.c: Also mention Loitsch's draft.
36159         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
36160         needed in the current implementation, but it might simplify
36161         speeding up the code later.
36162         * modules/ftoastr: Depend on snprintf; this improves portability.
36163         Suggested by Bruno Haible in the same email.
36164
36165         ftoastr: port to hosts lacking strtof and strtold
36166         Problem reported by Bruno Haible in
36167         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
36168         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
36169         environment and strtold (and presumably strtof) are not available.
36170         * modules/ftoastr (Files): Add m4/c-strtod.m4.
36171         (configure.ac): Require gl_C99_STRTOLD.
36172
36173 2010-11-18  Bruno Haible  <bruno@clisp.org>
36174
36175         c-strtold: Avoid link error on AIX 7.
36176         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
36177         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
36178         (gl_C_STRTOLD): Test whether strtold_l exists.
36179         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36180
36181 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
36182
36183         intprops: new macro INT_BITS_STRLEN_BOUND
36184         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
36185         ftoastr.h.  This exposes an internal of intprops.h that was formerly
36186         not exposed.  Also, it uses a slightly tighter bound than before;
36187         though this makes no practical difference, we might as well be as
36188         tight as we easily can.
36189
36190         ftoastr: new module, for lossless conversion of floats to short strings
36191         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
36192         * modules/ftoastr: New files.
36193
36194 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
36195
36196         bootstrap: port to Solaris sed
36197         * build-aux/bootstrap (get_version): Port to Solaris sed.
36198         See Ralf Wildenhues's note in
36199         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
36200
36201 2010-11-14  Jim Meyering  <meyering@redhat.com>
36202
36203         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
36204         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
36205         and move definition closer to sole use.
36206
36207 2010-11-13  Jim Meyering  <meyering@redhat.com>
36208
36209         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
36210         Now we require at least autoconf-2.59, which means the work-around
36211         is no longer needed.
36212         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
36213         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
36214         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
36215         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
36216         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
36217
36218 2010-11-13  Bruno Haible  <bruno@clisp.org>
36219
36220         rename, renameat: Avoid test failures at NFS mounted locations.
36221         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
36222         functions.
36223         (test_rename): Use assert_nonexistent.
36224         * tests/test-rename.c: Include <dirent.h>.
36225         * tests/test-renameat.c: Likewise.
36226         Reported by Gary V. Vaughan <gary@gnu.org>.
36227
36228         rename, renameat: Document Linux bug with NFS
36229         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
36230         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
36231         * doc/posix-functions/renameat.texi: Likewise.
36232         Suggested by Eric Blake.
36233
36234 2010-11-13  Bruno Haible  <bruno@clisp.org>
36235
36236         rename test: Add comments.
36237         * tests/test-rename.h (test_rename): Add structure and comments.
36238
36239 2010-11-13  Eric Blake  <eblake@redhat.com>
36240
36241         maintainer-makefile: cover a few more files
36242         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
36243         scripts generated within C files, for libvirt.
36244
36245 2010-11-13  Bruno Haible  <bruno@clisp.org>
36246
36247         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
36248         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
36249         character, return the number of bytes that belong together, not always
36250         1.
36251         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
36252         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
36253         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
36254         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
36255         number of bytes of an invalid character.
36256         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
36257         (main): Invoke it.
36258         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
36259         results.
36260         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
36261         malformed byte sequences.
36262         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
36263         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
36264         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
36265         Reported by Ben Pfaff and Paolo Bonzini.
36266
36267 2010-11-13  Bruno Haible  <bruno@clisp.org>
36268
36269         openat: Work around glibc bug with fchownat() and empty file names.
36270         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
36271         (gl_FUNC_FCHOWNAT): Invoke it.
36272         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
36273         * doc/posix-functions/fchownat.texi: Document the glibc bug.
36274         Reported by Gary V. Vaughan <gary@gnu.org>.
36275
36276 2010-11-13  Bruno Haible  <bruno@clisp.org>
36277
36278         openat: Ensure autoconf macro ordering.
36279         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
36280         gl_USE_SYSTEM_EXTENSIONS.
36281         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
36282
36283 2010-11-13  Bruno Haible  <bruno@clisp.org>
36284
36285         Update comments.
36286         * lib/unistr/u8-check.c: Update file name in comments.
36287         * lib/unistr/u8-mblen.c: Likewise.
36288         * lib/unistr/u8-prev.c: Likewise.
36289         * lib/unistr/u8-strmblen.c: Likewise.
36290         * lib/unistr/u8-strmbtouc.c: Likewise.
36291
36292 2010-11-13  Jim Meyering  <meyering@redhat.com>
36293
36294         tests: avoid test failure on Solaris 10 due to lack of PATH export
36295         * tests/test-update-copyright.sh: Don't forget to export PATH.
36296
36297         init.sh: ensure that IFS is defined, just in case...
36298         * tests/init.sh (setup_): Ensure that IFS is defined,
36299         so that saving and restoring it works as expected.  This
36300         appears to be useful at least for an old version of dash
36301         from a long time ago (RH 6).  See here for details:
36302         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
36303
36304         maint.mk: tighten "test a == b" check
36305         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
36306         test to files that contain something like #!/bin/sh.
36307         Without this, coreutils would get two false positives in
36308         the comments of C source files.
36309
36310 2010-11-12  Eric Blake  <eblake@redhat.com>
36311
36312         bootstrap: fix typo in previous attempt
36313         * build-aux/bootstrap (buildreq): Correct the grouping.
36314         Reported by Paul Eggert.
36315
36316         maintainer-makefile: prohibit test x == x
36317         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
36318         Based on a report by Matthias Bolte.
36319
36320         bootstrap: allow FreeBSD gzip
36321         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
36322         which has no '.' and goes to stderr.
36323         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
36324         Reported by Matthias Bolte.
36325
36326         maintainer-makefile: check for i18n setup
36327         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
36328         will likely work.
36329
36330 2010-11-12  Bruno Haible  <bruno@clisp.org>
36331
36332         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
36333         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
36334         * lib/nanosleep.c (nanosleep): Likewise.
36335
36336 2010-11-11  Bruno Haible  <bruno@clisp.org>
36337
36338         fcntl-h: Fix for use of C++ on glibc systems.
36339         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
36340         also on glibc systems in C++ mode.
36341         Reported by Gary V. Vaughan <gary@gnu.org>.
36342
36343 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
36344
36345         mknod: avoid false failure with dash
36346         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
36347
36348 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
36349
36350         unlink: Fix "is it should" typo in diagnostic.
36351         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
36352         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
36353
36354 2010-11-11  Bruno Haible  <bruno@clisp.org>
36355
36356         Tests for module 'strerror_r-posix'.
36357         * modules/strerror_r-posix-tests: New file.
36358         * tests/test-strerror_r.c: New file.
36359         * tests/test-string-c++.cc: Check the signature of strerror_r.
36360
36361         New module 'strerror_r-posix'.
36362         * lib/string.in.h (strerror_r): New declaration.
36363         * lib/strerror_r.c: New file.
36364         * m4/strerror_r.m4: New file.
36365         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
36366         of strerror_r.
36367         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
36368         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
36369         * modules/strerror_r-posix: New file.
36370         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
36371         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
36372         * doc/posix-functions/strerror_r.texi: Mention the new module and the
36373         portability problems.
36374
36375 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
36376
36377         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
36378         line is also considered for output. Quoted function name in shell
36379         command, so temporary files for functions like MyClass::operator()
36380         are removed correctly without errors.
36381
36382 2010-11-09  Bruno Haible  <bruno@clisp.org>
36383
36384         * doc/posix-functions/strerror.texi: List more failing platforms.
36385
36386         * doc/posix-functions/strerror.texi: Add a comment.
36387
36388 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
36389
36390         fdopendir: fix bug on MacOS X when low on file descriptors
36391
36392         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
36393         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
36394         All callers changed.
36395         (fdopendir): Invoke save_cwd at the top level, not after using
36396         multiple dup() calls to use up file descriptors.  Then retry
36397         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
36398         less than the maximum number of open file descriptors, because
36399         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
36400         on Mac OS X 10.6.4 for tar 1.24
36401         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
36402         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
36403         and for tar 1.25
36404         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
36405
36406 2010-11-07  Bruno Haible  <bruno@clisp.org>
36407
36408         vasnprintf: Support I flag on glibc systems.
36409         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
36410         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
36411         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
36412         snprintf function.
36413         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
36414         glibc systems.
36415         * tests/test-vasnprintf-posix3.c: New file.
36416         * modules/vasnprintf-posix-tests (Files): Add it.
36417         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
36418
36419 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
36420
36421         [html] Fix copy/paste bug: Use unique name for compiler warnings.
36422         * MODULES.html.sh: For compiler warnings, use name
36423         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
36424
36425 2010-11-05  Eric Blake  <eblake@redhat.com>
36426
36427         ceil, floor: avoid spurious failure with icc
36428         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
36429         [denormals-as-zero] when optimizing without -mieee-fp option.
36430         * tests/test-floorf2.c (floorf_reference): Likewise.
36431         * tests/test-ceilf1.c (dummy): New function.
36432         (main): Use it to outsmart icc's optimization.
36433         * tests/test-floorf1.c (dummy, main): Likewise.
36434
36435         tests: require working signbit
36436         * modules/ceilf-tests (Depends-on): Add signbit.
36437         * modules/ceill-tests (Depends-on): Likewise.
36438         * modules/floorf-tests (Depends-on): Likewise.
36439         * modules/floorl-tests (Depends-on): Likewise.
36440         * modules/round-tests (Depends-on): Likewise.
36441         * modules/roundf-tests (Depends-on): Likewise.
36442         * modules/roundl-tests (Depends-on): Likewise.
36443         * modules/trunc-tests (Depends-on): Likewise.
36444         * modules/truncf-tests (Depends-on): Likewise.
36445         * modules/truncl-tests (Depends-on): Likewise.
36446
36447         strtod: work around icc bug
36448         * lib/strtod.c (minus_zero): Define to working value.
36449         (strtod): Use it to avoid icc bug.
36450
36451         copysign: enhance tests
36452         * modules/copysign-tests (Files): Add minus-zero.h.
36453         * tests/test-copysign.c (main): Also test zeros.
36454
36455 2010-11-04  Eric Blake  <eblake@redhat.com>
36456
36457         ceil, floor, round, trunc: enhance tests of -0
36458         * tests/test-ceilf1.c (main): Ensure correct sign of result.
36459         * tests/test-ceill.c (main): Likewise.
36460         * tests/test-floorf1.c (main): Likewise.
36461         * tests/test-floorl.c (main): Likewise.
36462         * tests/test-round1.c (main): Likewise.
36463         * tests/test-roundf1.c (main): Likewise.
36464         * tests/test-roundl.c (main): Likewise.
36465         * tests/test-trunc1.c (main): Likewise.
36466         * tests/test-truncf1.c (main): Likewise.
36467         * tests/test-truncl.c (main): Likewise.
36468
36469 2010-11-04  Eric Blake  <eblake@redhat.com>
36470
36471         frexp, tests: work around ICC bug with -zero
36472         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
36473         works with more compilers.
36474         * tests/minus-zero.h: New file.
36475         * modules/ceilf-tests (Files): Include it.
36476         * modules/ceill-tests (Files): Likewise.
36477         * modules/floorf-tests (Files): Likewise.
36478         * modules/floorl-tests (Files): Likewise.
36479         * modules/frexp-nolibm-tests (Files): Likewise.
36480         * modules/frexp-tests (Files): Likewise.
36481         * modules/frexpl-nolibm-tests (Files): Likewise.
36482         * modules/frexpl-tests (Files): Likewise.
36483         * modules/isnan-tests (Files): Likewise.
36484         * modules/isnand-nolibm-tests (Files): Likewise.
36485         * modules/isnand-tests (Files): Likewise.
36486         * modules/isnanf-nolibm-tests (Files): Likewise.
36487         * modules/isnanf-tests (Files): Likewise.
36488         * modules/isnanl-nolibm-tests (Files): Likewise.
36489         * modules/isnanl-tests (Files): Likewise.
36490         * modules/round-tests (Files): Likewise.
36491         * modules/roundf-tests (Files): Likewise.
36492         * modules/roundl-tests (Files): Likewise.
36493         * modules/ldexpl-tests (Files): Likewise.
36494         * modules/signbit-tests (Files): Likewise.
36495         * modules/snprintf-posix-tests (Files): Likewise.
36496         * modules/sprintf-posix-tests (Files): Likewise.
36497         * modules/strtod-tests (Files): Likewise.
36498         * modules/trunc-tests (Files): Likewise.
36499         * modules/truncf-tests (Files): Likewise.
36500         * modules/truncl-tests (Files): Likewise.
36501         * modules/vsnprintf-posix-tests (Files): Likewise.
36502         * modules/vsprintf-posix-tests (Files): Likewise.
36503         * modules/vasnprintf-posix-tests (Files): Likewise.
36504         * modules/vasprintf-posix-tests (Files): Likewise.
36505         * tests/test-ceilf1.c (main): Use it.
36506         * tests/test-ceill.c (main): Likewise.
36507         * tests/test-floorf1.c (main): Likewise.
36508         * tests/test-floorl.c (main): Likewise.
36509         * tests/test-frexp.c (main): Likewise.
36510         * tests/test-frexpl.c (main): Likewise.
36511         * tests/test-isnan.c (main): Likewise.
36512         * tests/test-isnand.h (main): Likewise.
36513         * tests/test-isnanf.h (main): Likewise.
36514         * tests/test-isnanl.h (main): Likewise.
36515         * tests/test-ldexpl.c (main): Likewise.
36516         * tests/test-round.c (main): Likewise.
36517         * tests/test-roundf.c (main): Likewise.
36518         * tests/test-roundl.c (main): Likewise.
36519         * tests/test-signbit.c (test_signbitf, test_signbitd)
36520         (test_signbitl): Likewise.
36521         * tests/test-snprintf-posix.h (test_function): Likewise.
36522         * tests/test-sprintf-posix.h (test_function): Likewise.
36523         * tests/test-strtod.c (main): Likewise.
36524         * tests/test-trunc1.c (main): Likewise.
36525         * tests/test-truncf1.c (main): Likewise.
36526         * tests/test-truncl.c (main): Likewise.
36527
36528         isnanl: work around icc bug
36529         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
36530
36531 2010-11-03  Eric Blake  <eblake@redhat.com>
36532
36533         tests: fix compiler warnings
36534         * tests/test-getopt.h (test_getopt): Fix condition.
36535         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36536         * tests/test-pipe2.c (main): Likewise.
36537         * tests/test-quotearg-simple.c (main): Avoid icc warning.
36538
36539         utimens: fix broken m4 test
36540         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
36541
36542 2010-10-28  Bruno Haible  <bruno@clisp.org>
36543
36544         posix_spawn*, getdtablesize: Relax license.
36545         * modules/posix_spawn (License): Change to LGPLv2+.
36546         * modules/posix_spawnp (License): Likewise.
36547         * modules/posix_spawn-internal (License): Likewise.
36548         * modules/posix_spawnattr_init (License): Likewise.
36549         * modules/posix_spawnattr_getflags (License): Likewise.
36550         * modules/posix_spawnattr_setflags (License): Likewise.
36551         * modules/posix_spawnattr_getpgroup (License): Likewise.
36552         * modules/posix_spawnattr_setpgroup (License): Likewise.
36553         * modules/posix_spawnattr_getschedparam (License): Likewise.
36554         * modules/posix_spawnattr_setschedparam (License): Likewise.
36555         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
36556         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
36557         * modules/posix_spawnattr_getsigdefault (License): Likewise.
36558         * modules/posix_spawnattr_setsigdefault (License): Likewise.
36559         * modules/posix_spawnattr_getsigmask (License): Likewise.
36560         * modules/posix_spawnattr_setsigmask (License): Likewise.
36561         * modules/posix_spawnattr_destroy (License): Likewise.
36562         * modules/posix_spawn_file_actions_init (License): Likewise.
36563         * modules/posix_spawn_file_actions_addclose (License): Likewise.
36564         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
36565         * modules/posix_spawn_file_actions_addopen (License): Likewise.
36566         * modules/posix_spawn_file_actions_destroy (License): Likewise.
36567         * modules/getdtablesize (License): Likewise.
36568         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
36569
36570 2010-10-26  Bruno Haible  <bruno@clisp.org>
36571
36572         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
36573         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
36574         Cygwin and mingw.
36575         Suggested by Eric Blake.
36576
36577 2010-10-26  Bruno Haible  <bruno@clisp.org>
36578
36579         stdio: Work around compilation error due to renameat() on Solaris 10.
36580         * lib/stdio.in.h: Include <unistd.h> on Solaris.
36581         * lib/renameat.c: Don't include <unistd.h> here.
36582         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
36583         Reported by Paul Eggert and Eric Blake.
36584
36585 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
36586
36587         renameat: port to Solaris 10, which declares renameat in unistd.h
36588
36589         * lib/renameat.c: Include unistd.h before stdio.h, because
36590         Solaris 10 declares renameat in unistd.h.  Problem encountered
36591         when building GNU tar 1.24 on Solaris 10.
36592
36593 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
36594
36595         fdopendir: fix C89 compilation
36596         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
36597         compilers.
36598
36599 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36600
36601         inttostr: simplify by removing unnecessary redundancy
36602         * lib/anytostr.c: Don't include verify.h.
36603         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
36604         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
36605         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
36606         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
36607         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
36608         Likewise.
36609         * modules/inttostr (Depends-on): Remove 'verify'.
36610
36611 2010-10-23  Bruno Haible  <bruno@clisp.org>
36612
36613         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
36614         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
36615         Reported by Eric Blake.
36616
36617 2010-10-23  Bruno Haible  <bruno@clisp.org>
36618
36619         Tests: Fix LOCALE_JA on MirBSD 10.
36620         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
36621         to an UTF-8 locale.
36622         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
36623         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
36624         Reported by Eric Blake.
36625
36626 2010-10-21  Bruno Haible  <bruno@clisp.org>
36627
36628         nl_langinfo test: Avoid test failure on NetBSD 5.
36629         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
36630         Reported by Eric Blake.
36631
36632 2010-10-21  Eric Blake  <eblake@redhat.com>
36633
36634         c-stack: work around libsigsegv 2.8 bug
36635         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
36636         overflow on at least PowerPC64.
36637
36638 2010-10-17  Bruno Haible  <bruno@clisp.org>
36639
36640         userspec: Drop redundant file.
36641         * modules/userspec (Files): Remove lib/inttostr.h.
36642
36643 2010-10-17  Bruno Haible  <bruno@clisp.org>
36644
36645         nl_langinfo tests: Silence some warnings.
36646         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
36647         Reported by Jim Meyering.
36648
36649 2010-10-17  Bruno Haible  <bruno@clisp.org>
36650
36651         Make use of GCC's attribute __alloc_size__.
36652         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
36653         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
36654         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
36655         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
36656         __alloc_size__.
36657         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
36658         Suggested by Jim Meyering.
36659
36660 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
36661
36662         bootstrap: anchor .gitignore entries.
36663         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
36664         with...
36665         (insert_vc_ignore): ... this new function, which prepends `/' to
36666         all .gitignore entries before passing them to
36667         insert_sorted_if_absent.
36668
36669 2010-10-16  Bruno Haible  <bruno@clisp.org>
36670
36671         nextafter: Fix configure check.
36672         * modules/nextafter (configure.ac): Correct expected prototype.
36673
36674 2010-10-16  Bruno Haible  <bruno@clisp.org>
36675
36676         termios: Update documentation.
36677         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
36678
36679 2010-10-16  Bruno Haible  <bruno@clisp.org>
36680
36681         tests: Make them compile with TinyCC.
36682         * tests/test-strstr.c (main): Remove parentheses around array
36683         initializer.
36684
36685 2010-10-15  Eric Blake  <eblake@redhat.com>
36686
36687         ignore-value: make header idempotent
36688         * lib/ignore-value.h: Add double-inclusion guards.
36689         Reported by Stefan Berger.
36690
36691 2010-10-15  Jim Meyering  <meyering@redhat.com>
36692
36693         GNUmakefile: handle "stable" target, not "major"
36694         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
36695         lists in maint.mk and announce-gen.  Without this, "make stable"
36696         would fail to ensure that $(VERSION) is up to date.
36697
36698 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
36699
36700         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
36701         & co.
36702
36703 2010-10-14  Bruno Haible  <bruno@clisp.org>
36704
36705         vasnprintf: Don't set errno to 0.
36706         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
36707         block that sets it to 0.
36708         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
36709
36710 2010-10-14  Bruno Haible  <bruno@clisp.org>
36711
36712         socketlib: Fix.
36713         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
36714         gl_PREREQ_SYS_H_WINSOCK2.
36715         Reported by Ian Beckwith <ianb@erislabs.net>.
36716
36717 2010-10-13  Jim Meyering  <meyering@redhat.com>
36718
36719         test-select-stdin.c: avoid warn_unused_result warnings
36720         * tests/test-select-stdin.c: Include "macros.h".
36721         ASSERT that read and fflush succeed.
36722
36723 2010-10-13  Jim Meyering  <meyering@redhat.com>
36724
36725         git-version-gen: do require git-VC'd files in cwd
36726         * build-aux/git-version-gen: Reject a git version string
36727         if there are no commits associated with the current directory.
36728         This avoids an unlikely false-positive (unrelated dir whose parent
36729         repository also contains a tag matching v*), as pointed out
36730         by Giuseppe Scrivano in
36731         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
36732
36733 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
36734
36735         argv-iter: omit nonconforming declaration
36736         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
36737         enum arg_iter_err declaration, which doesn't conform to C99.
36738         Solaris 10 cc warns about this.
36739
36740 2010-10-13  Eric Blake  <eblake@redhat.com>
36741
36742         termios: fix compilation on mingw
36743         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
36744         (gl_TERMIOS_H): Adjust it on mingw.
36745         * modules/termios (Makefile.am): Substitute new key.
36746         * lib/termios.in.h (includes): Make include_next conditional.
36747         * doc/posix-headers/termios.texi (termios.h): Update
36748         documentation.
36749         Reported by Daniel P. Berrange.
36750
36751 2010-10-13  Jim Meyering  <meyering@redhat.com>
36752
36753         git-version-gen: don't require that .git/ be in the current dir
36754         * build-aux/git-version-gen: Adjust this script so that it works
36755         when run from any working directory beneath the top-level .git/-
36756         containing directory.  Inspired by a patch from Giuseppe Scrivano,
36757         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
36758
36759         test-select: avoid warn_unused_result warnings
36760         * tests/test-select.c: Include "macros.h".
36761         ASSERT that each call to read, write, and pipe succeeds.
36762         While not technically required, also check each "close".
36763         * modules/select-tests (Files): Add tests/macros.h.
36764
36765         test-symlinkat: remove declaration of unused local
36766         * tests/test-symlinkat.c (main): Remove unused local, "buf".
36767
36768         test-inttostr: avoid shadowing warnings
36769         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
36770         and use malloc rather than the stack for the same reason as
36771         mentioned in the comment justifying the other allocation.
36772
36773 2010-10-11  Bruno Haible  <bruno@clisp.org>
36774
36775         stdlib: Allow multiple gnulib generated replacements to coexist.
36776         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
36777         Reported by Sam Steingold <sds@gnu.org>.
36778
36779 2010-10-11  Jim Meyering  <meyering@redhat.com>
36780
36781         fix a documentation typo
36782         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
36783
36784 2010-10-11  Eric Blake  <eblake@redhat.com>
36785
36786         futimens: work around Solaris 11 bug
36787         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
36788         * tests/test-futimens.h (test_futimens): Enhance, rather than
36789         weaken test.
36790         * doc/posix-functions/futimens.texi (futimens): Document the bug.
36791
36792 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
36793
36794         Indentation.
36795         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
36796         higher-level operators more to the left.
36797
36798 2010-10-11  Jim Meyering  <meyering@redhat.com>
36799
36800         test-futimens: avoid unwarranted test failure on Solaris 5.11
36801         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
36802         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
36803         because it tries to dereference the NULL name argument.
36804
36805 2010-10-11  Bruno Haible  <bruno@clisp.org>
36806
36807         Indentation.
36808         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
36809         indentation.
36810
36811 2010-10-11  Jim Meyering  <meyering@redhat.com>
36812
36813         spawn.in.h: make indentation consistent with parentheses
36814         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
36815         Make indentation consistent with parentheses.
36816
36817 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
36818
36819         Fix mismatched parens in previous commit
36820         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
36821         parens.
36822
36823 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
36824
36825         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
36826
36827         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
36828         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
36829         * lib/malloca.c: Include "verify.h".
36830         (verify1): Remove, replacing with a verify call.
36831         * lib/relocwrapper.c (verify1): Likewise.
36832         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
36833         Likewise.
36834         * modules/malloca (Depends-on): Add 'verify'.
36835         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
36836         * modules/vasnprintf (Depends-on): Add 'verify'.
36837         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
36838         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
36839         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
36840         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
36841         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
36842         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
36843         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
36844
36845         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
36846
36847         Formerly the style was sometimes 2*X - 1, because the C standard
36848         was wrongly thought to disallow ?: in integral constant expressions.
36849         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
36850         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
36851         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
36852         * lib/stdint.in.h (_verify_intmax_size): Likewise.
36853         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
36854         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
36855         verify that time_t cannot be floating.
36856
36857 2010-10-08  Eric Blake  <eblake@redhat.com>
36858
36859         time: enforce recent POSIX ruling that time_t is integral
36860         * lib/time.in.h (__time_t_must_be_integral): Detect any
36861         problematic systems, allowing the rest of gnulib to assume POSIX.
36862
36863 2010-10-08  Jim Meyering  <meyering@redhat.com>
36864
36865         fdopendir: fix a bug on systems lacking openat and /proc support
36866         OpenBSD 4.7 is one such system.  The most noticeable effect was
36867         failure of any application making nontrivial use of fts: rm, du,
36868         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
36869           ./rm: traversal failed: `a': Bad file descriptor
36870         Debugging that, you see that even though FD 6 was closed just
36871         prior to the opendir call in fd_clone_opendir, its resulting
36872         dir->dd_fd was 8, rather than the expected value of 6:
36873
36874         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
36875         93                close (fd);
36876         (gdb) n
36877         94                dir = fd_clone_opendir (dupfd);
36878         (gdb) n
36879         95                saved_errno = errno;
36880         (gdb) p dir->dd_fd
36881         $11 = 8
36882
36883         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
36884         The problem is that on OpenBSD, fd_clone_opendir has to resort
36885         to using the old-style save/restore CWD mechanism, due to its
36886         lack of openat/proc support, and *that* would steal the FD (6)
36887         that opendir was supposed to use.
36888
36889         The fix is to squirrel away the desired FD so that save_cwd uses a
36890         different one, and then free the dest FD right before calling opendir.
36891         That guarantees opendir will use the required file descriptor.
36892
36893         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
36894
36895 2010-10-08  Bruno Haible  <bruno@clisp.org>
36896
36897         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
36898         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
36899
36900 2010-10-08  Bruno Haible  <bruno@clisp.org>
36901
36902         nanosleep: Make replacement POSIX compliant.
36903         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
36904         is out of range.
36905         Reported by Jim Meyering.
36906
36907 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
36908
36909         bootstrap: add hook for altering gnulib.mk, for Bison
36910         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
36911         the Bison bootstrapping process can rewrite file names and variables
36912         in this file before later parts of 'bootstrap' use the file.
36913         Bison wants to include lib/gnulib.mk from the top-level makefile,
36914         so it needs the file names in this file to be relative to the top
36915         level, not relative to lib; plus it needs variable names to be
36916         rewritten.
36917         (slurp): Use the new function.
36918
36919         bootstrap: reformat for readability
36920         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
36921
36922 2010-10-08  Eric Blake  <eblake@redhat.com>
36923
36924         docs: update cygwin progress
36925         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
36926         1.7.7.
36927         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
36928         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
36929         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
36930         * doc/posix-functions/carg.texi (carg): Likewise.
36931         * doc/posix-functions/cargf.texi (cargf): Likewise.
36932         * doc/posix-functions/casin.texi (casin): Likewise.
36933         * doc/posix-functions/casinf.texi (casinf): Likewise.
36934         * doc/posix-functions/casinh.texi (casinh): Likewise.
36935         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
36936         * doc/posix-functions/catan.texi (catan): Likewise.
36937         * doc/posix-functions/catanf.texi (catanf): Likewise.
36938         * doc/posix-functions/catanh.texi (catanh): Likewise.
36939         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
36940         * doc/posix-functions/ccos.texi (ccos): Likewise.
36941         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
36942         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
36943         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
36944         * doc/posix-functions/cexp.texi (cexp): Likewise.
36945         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
36946         * doc/posix-functions/cimag.texi (cimag): Likewise.
36947         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
36948         * doc/posix-functions/clog.texi (clog): Likewise.
36949         * doc/posix-functions/clogf.texi (clogf): Likewise.
36950         * doc/posix-functions/conj.texi (conj): Likewise.
36951         * doc/posix-functions/conjf.texi (conjf): Likewise.
36952         * doc/posix-functions/cpow.texi (cpow): Likewise.
36953         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
36954         * doc/posix-functions/cproj.texi (cproj): Likewise.
36955         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
36956         * doc/posix-functions/creal.texi (creal): Likewise.
36957         * doc/posix-functions/crealf.texi (crealf): Likewise.
36958         * doc/posix-functions/csin.texi (csin): Likewise.
36959         * doc/posix-functions/csinf.texi (csinf): Likewise.
36960         * doc/posix-functions/csinh.texi (csinh): Likewise.
36961         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
36962         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
36963         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
36964         * doc/posix-functions/ctan.texi (ctan): Likewise.
36965         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
36966         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
36967         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
36968         * doc/posix-headers/complex.texi (complex.h): Likewise.
36969
36970 2010-10-07  Jim Meyering  <meyering@redhat.com>
36971
36972         parse-datetime: avoid compilation failure on OpenBSD 4.7
36973         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
36974         This works around a compilation failure on OpenBSD 4.7:
36975         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
36976
36977 2010-10-07  Eric Blake  <eblake@redhat.com>
36978
36979         docs: update cygwin progress
36980         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
36981         1.7.6.
36982         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
36983         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
36984         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
36985         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
36986         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
36987         Likewise.
36988         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
36989         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
36990         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
36991         Likewise.
36992         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
36993         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
36994         Likewise.
36995         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
36996         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
36997         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
36998         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
36999         Likewise.
37000         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
37001         Likewise.
37002         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
37003
37004         docs: update parse-datetime history
37005         * doc/parse-datetime.texi (Authors of parse_datetime): Better
37006         documentation of this function's history and alternatives.
37007
37008         cygwin: use more robust version check
37009         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
37010         exclude an eventual cygwin 1.9.1.
37011         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
37012         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
37013         (gl_FUNC_STRCASESTR): Likewise.
37014         Reported by Bruno Haible.
37015
37016 2010-10-06  Bruno Haible  <bruno@clisp.org>
37017
37018         string, sys_select: Avoid #including large headers unless necessary.
37019         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
37020         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
37021         OSF/1, BeOS, Haiku.
37022         Reported by Jim Meyering.
37023
37024 2010-10-05  Eric Blake  <eblake@redhat.com>
37025
37026         memmem, strstr, strcasestr: fix bug with long periodic needle
37027         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
37028         periodic needle having false positive.
37029         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
37030         and cygwin 1.7.7.
37031         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
37032         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
37033         (gl_FUNC_STRCASESTR): Likewise.
37034         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
37035         * tests/test-memmem.c (main): Expose the bug.
37036         * tests/test-strcasestr.c (main): Likewise.
37037         * tests/test-strstr.c (main): Likewise.
37038         * tests/test-c-strcasestr.c (main): Likewise.
37039         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
37040         * doc/posix-functions/strstr.texi (strstr): Likewise.
37041         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37042         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
37043
37044 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
37045
37046         parse-datetime: do some more renaming
37047         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
37048         parse_datetime, not get_date.  Mention the renaming.
37049         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
37050         in comments.
37051         * m4/bison.m4: Likewise.
37052
37053 2010-10-05  Eric Blake  <eblake@redhat.com>
37054
37055         parse-datetime: better name than get_date
37056         * NEWS: Reword the deprecation notice.
37057         * modules/get_date: Rename to modules/parse-datetime.
37058         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
37059         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
37060         * lib/get_date.y: Rename to lib/parse-datetime.y.
37061         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
37062         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
37063         * doc/getdate.texi: Provide fallback wrapper.
37064         * lib/getdate.h: Move guts, and wrap...
37065         * lib/parse-datetime.h: ...new file.
37066         * lib/parse-datetime.y (get_date): Rename...
37067         (parse_datetime): ...to this.
37068         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
37069         (gl_PARSE_DATETIME): ...to this.
37070         * doc/posix-functions/getdate.texi (get_date): Provide fallback
37071         documentation.
37072         * modules/getdate (Files): Provide fallback docs and header.
37073         (Notice, Depends-on): Update references.
37074         * tests/test-parse-datetime.c: Likewise.
37075         * DEPENDENCIES: Likewise.
37076         * MODULES.html.sh (Date and time <time.h>): Likewise.
37077         * doc/parse-datetime.texi (Date input formats)
37078         (Authors of parse_datetime): Likewise.
37079         * modules/parse-datetime (Files, configure.ac, Makefile.am)
37080         (Include): Likewise.
37081         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
37082         * gnulib-tool: Likewise.
37083         * m4/bison.m4 (gl_BISON): Likewise.
37084         Suggested by Bruno Haible.
37085
37086 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
37087
37088         more ports to Solaris tr, which needs [] around ranges
37089         * gnulib-tool: Solaris tr needs [] around ranges.
37090         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
37091         * tests/test-pipe-filter-gi1.c (main): Likewise.
37092         * tests/test-pipe-filter-ii1.c (main): Likewise.
37093
37094 2010-10-05  Eric Blake  <eblake@redhat.com>
37095
37096         bootstrap: fix Solaris regression
37097         * build-aux/bootstrap (check_versions): Solaris tr still needs []
37098         around ranges.
37099         Reported by Pádraig Brady.
37100
37101         bootstrap: work with pkg-config
37102         * build-aux/bootstrap (check_versions): Also transliterate - in
37103         prerequisite name.
37104         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
37105         prerequisites that were already found, to avoid confusion.
37106         Reported by Justin Clift.
37107
37108         faccessat: remove unused wrappers
37109         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
37110         presence of these wrappers dragged in -lgen on Solaris.
37111         Reported by Clemens Brogi; fix suggested by Paul Eggert.
37112
37113 2010-10-05  Jim Meyering  <meyering@redhat.com>
37114
37115         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
37116         * Makefile (sc_pragma_columns): New syntax-check rule.
37117
37118 2010-10-04  Bruno Haible  <bruno@clisp.org>
37119
37120         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
37121         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
37122         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
37123         Reported by Bruce Korb and Eric Blake.
37124
37125 2010-10-04  Bruno Haible  <bruno@clisp.org>
37126
37127         threadlib: Make option --with-libpth-prefix work.
37128         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
37129         use $LIBPTH, not just -lpth.
37130
37131 2010-10-04  Bruno Haible  <bruno@clisp.org>
37132
37133         Avoid line length limitation from HP NonStop system header files.
37134         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
37135         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
37136         * lib/ctype.in.h: Likewise.
37137         * lib/dirent.in.h: Likewise.
37138         * lib/errno.in.h: Likewise.
37139         * lib/fcntl.in.h: Likewise.
37140         * lib/float.in.h: Likewise.
37141         * lib/getopt.in.h: Likewise.
37142         * lib/iconv.in.h: Likewise.
37143         * lib/inttypes.in.h: Likewise.
37144         * lib/langinfo.in.h: Likewise.
37145         * lib/locale.in.h: Likewise.
37146         * lib/math.in.h: Likewise.
37147         * lib/netdb.in.h: Likewise.
37148         * lib/netinet_in.in.h: Likewise.
37149         * lib/poll.in.h: Likewise.
37150         * lib/pthread.in.h: Likewise.
37151         * lib/pty.in.h: Likewise.
37152         * lib/sched.in.h: Likewise.
37153         * lib/se-selinux.in.h: Likewise.
37154         * lib/search.in.h: Likewise.
37155         * lib/signal.in.h: Likewise.
37156         * lib/spawn.in.h: Likewise.
37157         * lib/stdarg.in.h: Likewise.
37158         * lib/stddef.in.h: Likewise.
37159         * lib/stdint.in.h: Likewise.
37160         * lib/stdio.in.h: Likewise.
37161         * lib/stdlib.in.h: Likewise.
37162         * lib/string.in.h: Likewise.
37163         * lib/strings.in.h: Likewise.
37164         * lib/sys_file.in.h: Likewise.
37165         * lib/sys_ioctl.in.h: Likewise.
37166         * lib/sys_select.in.h: Likewise.
37167         * lib/sys_socket.in.h: Likewise.
37168         * lib/sys_stat.in.h: Likewise.
37169         * lib/sys_time.in.h: Likewise.
37170         * lib/sys_times.in.h: Likewise.
37171         * lib/sys_utsname.in.h: Likewise.
37172         * lib/sys_wait.in.h: Likewise.
37173         * lib/sysexits.in.h: Likewise.
37174         * lib/termios.in.h: Likewise.
37175         * lib/time.in.h: Likewise.
37176         * lib/unistd.in.h: Likewise.
37177         * lib/wchar.in.h: Likewise.
37178         * lib/wctype.in.h: Likewise.
37179         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
37180         * modules/ctype (Makefile.am): Likewise.
37181         * modules/dirent (Makefile.am): Likewise.
37182         * modules/errno (Makefile.am): Likewise.
37183         * modules/fcntl-h (Makefile.am): Likewise.
37184         * modules/float (Makefile.am): Likewise.
37185         * modules/getopt-posix (Makefile.am): Likewise.
37186         * modules/iconv-h (Makefile.am): Likewise.
37187         * modules/inttypes (Makefile.am): Likewise.
37188         * modules/langinfo (Makefile.am): Likewise.
37189         * modules/locale (Makefile.am): Likewise.
37190         * modules/math (Makefile.am): Likewise.
37191         * modules/netdb (Makefile.am): Likewise.
37192         * modules/netinet_in (Makefile.am): Likewise.
37193         * modules/poll-h (Makefile.am): Likewise.
37194         * modules/pthread (Makefile.am): Likewise.
37195         * modules/pty (Makefile.am): Likewise.
37196         * modules/sched (Makefile.am): Likewise.
37197         * modules/search (Makefile.am): Likewise.
37198         * modules/selinux-h (Makefile.am): Likewise.
37199         * modules/signal (Makefile.am): Likewise.
37200         * modules/spawn (Makefile.am): Likewise.
37201         * modules/stdarg (Makefile.am): Likewise.
37202         * modules/stddef (Makefile.am): Likewise.
37203         * modules/stdint (Makefile.am): Likewise.
37204         * modules/stdio (Makefile.am): Likewise.
37205         * modules/stdlib (Makefile.am): Likewise.
37206         * modules/string (Makefile.am): Likewise.
37207         * modules/strings (Makefile.am): Likewise.
37208         * modules/sys_file (Makefile.am): Likewise.
37209         * modules/sys_ioctl (Makefile.am): Likewise.
37210         * modules/sys_select (Makefile.am): Likewise.
37211         * modules/sys_socket (Makefile.am): Likewise.
37212         * modules/sys_stat (Makefile.am): Likewise.
37213         * modules/sys_time (Makefile.am): Likewise.
37214         * modules/sys_times (Makefile.am): Likewise.
37215         * modules/sys_utsname (Makefile.am): Likewise.
37216         * modules/sys_wait (Makefile.am): Likewise.
37217         * modules/sysexits (Makefile.am): Likewise.
37218         * modules/termios (Makefile.am): Likewise.
37219         * modules/time (Makefile.am): Likewise.
37220         * modules/unistd (Makefile.am): Likewise.
37221         * modules/wchar (Makefile.am): Likewise.
37222         * modules/wctype (Makefile.am): Likewise.
37223
37224 2010-10-04  Bruno Haible  <bruno@clisp.org>
37225
37226         read-file tests: Avoid a test failure on NonStop Kernel.
37227         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
37228         a regular file.
37229         Reported by Joachim Schmitz <schmitz@hp.com>.
37230
37231 2010-10-03  Bruno Haible  <bruno@clisp.org>
37232
37233         gnulib-tool: Fixes for --create-testdir with --libtool.
37234         * gnulib-tool (func_get_automake_snippet): Don't augment
37235         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
37236         an executable.
37237         (func_create_testdir): Handle module 'alloca' like func_import.
37238         Reported by Bruce Korb <bruce.korb@gmail.com>.
37239
37240 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
37241
37242         Avoid some lines longer than 80 characters.
37243         * lib/stdint.in.h: Break long comment lines.
37244         * lib/math.in.h: Likewise.
37245         (_GL_NUM_UINT_WORDS): New macro, for readability.
37246         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
37247         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
37248         * lib/stdlib.in.h: Likewise.
37249         * lib/spawn.in.h: Likewise.
37250         * lib/sys_socket.in.h: Update an URL.
37251         * lib/sys_stat.in.h: Break long line.
37252
37253 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
37254
37255         Improve pmccabe2html.
37256         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
37257         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
37258         when the sources change. Remove the line in the HTML about "Used
37259         ranges" (which implied that there might be other unused ranges),
37260         rename "Resume" to "Summary" (easier to understand for more users).
37261         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
37262         styles, and some unnecessary blank lines.
37263
37264 2010-10-03  Bruno Haible  <bruno@clisp.org>
37265             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
37266
37267         acl: Add support for ACLs on NonStop Kernel.
37268         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
37269         Check whether the function aclsort() exists.
37270         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
37271         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
37272         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
37273         (acl_nontrivial [HAVE_ACLSORT]: New function.
37274         (file_has_acl): Implement for NonStop Kernel.
37275         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
37276         (qset_acl): Implement for NonStop Kernel.
37277         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
37278         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
37279         (main): Implement for NonStop Kernel.
37280         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
37281         Kernel. Handle this flavor.
37282         * tests/test-set-mode-acl.sh: Likewise.
37283         * tests/test-copy-acl.sh: Likewise.
37284         * tests/test-copy-file.sh: Likewise.
37285
37286 2010-10-03  Bruno Haible  <bruno@clisp.org>
37287
37288         Info about ACLs on NonStop Kernel.
37289         * doc/acl-resources.txt: Add info about NonStop Kernel.
37290         References by Joachim Schmitz <schmitz@hp.com>.
37291
37292 2010-10-02  Bruno Haible  <bruno@clisp.org>
37293
37294         Define missing EDQUOT on NonStop Kernel.
37295         * lib/errno.in.h (EDQUOT): Assign a value if missing.
37296         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
37297         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
37298         missing.
37299         * doc/posix-headers/errno.texi: Mention the NSK bug.
37300         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
37301         Reported by Joachim Schmitz <schmitz@hp.com>.
37302
37303 2010-10-02  Bruno Haible  <bruno@clisp.org>
37304
37305         Update doc for POSIX:2008.
37306         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
37307         Update URL of POSIX specification.
37308
37309 2010-10-02  Bruno Haible  <bruno@clisp.org>
37310
37311         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
37312         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
37313         from gnulib, not from Automake.
37314
37315 2010-10-02  Bruno Haible  <bruno@clisp.org>
37316
37317         New module 'system-posix'.
37318         * modules/system-posix: New file.
37319         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
37320         module is present.
37321         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
37322         GNULIB_SYSTEM_POSIX.
37323         * modules/stdlib (Depends-on): Remove sys_wait.
37324         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
37325         * doc/posix-functions/system.texi: Mention the new module.
37326         * doc/posix-headers/stdlib.texi: Likewise.
37327         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
37328         define test_sys_wait_macros to a no-op.
37329         Reported by Sam Steingold <sds@gnu.org>.
37330
37331 2010-09-30  Bruno Haible  <bruno@clisp.org>
37332
37333         More renaming from 'getdate' to 'get_date'.
37334         * doc/get_date.texi: Renamed from doc/getdate.texi.
37335         * modules/get_date (Files): Update.
37336         * MODULES.html.sh (Date and time <time.h>): Update.
37337         * DEPENDENCIES: Update.
37338         * gnulib-tool: Update comment.
37339         * m4/bison.m4 (gl_BISON): Likewise.
37340         * m4/get_date.m4 (gl_GET_DATE): Likewise.
37341
37342 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
37343
37344         bootstrap: support ACLOCAL_FLAGS during aclocal
37345         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
37346         can add additional -I dir for third-party .m4 files.
37347
37348 2010-09-30  Eric Blake  <eblake@redhat.com>
37349
37350         bootstrap: use glibtoolize on MacOS
37351         * build-aux/bootstrap (check_versions): Convert libtool into
37352         libtoolize.
37353         (tool search): Move libtool check earlier, and look for
37354         glibtoolize for MacOS.
37355         (gnulib_tool_options): Auto-add --libtool when appropriate.
37356         Reported by Justin Clift.
37357
37358         poll: fix typo that broke test on MacOS
37359         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
37360         Reported by Justin Clift.
37361
37362         getdate: rename to get_date
37363         Note: getdate.h is not renamed, to minimize client impact.
37364         * modules/getdate: Mark obsolete.  Move old contents...
37365         * modules/get_date: ...to new module name.
37366         * modules/getdate-tests: Move...
37367         * modules/get_date-tests: ...here.
37368         * m4/getdate.m4: Move...
37369         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
37370         * lib/getdate.y: Move...
37371         * lib/get_date.y: ...here.
37372         * tests/test-getdate.c: Move...
37373         * tests/test-get_date.c: ...here.
37374         * doc/posix-functions/getdate.texi (getdate): Update name.
37375         * NEWS: Mention the change.
37376
37377 2010-09-29  Bruno Haible  <bruno@clisp.org>
37378
37379         Separate the module 'waitpid' from the module 'sys_wait'.
37380         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
37381         present.
37382         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
37383         gl_MODULE_INDICATOR_FOR_TESTS.
37384         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
37385         * modules/sys_wait (Depends-on): Remove waitpid.
37386         (Makefile.am): Substitute GNULIB_WAITPID.
37387         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
37388         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
37389         signature only if the 'waitpid' module is present.
37390         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
37391         * NEWS: Mention the change.
37392         * modules/grantpt (Depends-on): Add waitpid.
37393         * modules/wait-process (Depends-on): Likewise.
37394
37395 2010-09-29  Bruno Haible  <bruno@clisp.org>
37396
37397         More tests for module 'sys_wait'.
37398         * modules/sys_wait-c++-tests: New file.
37399         * tests/test-sys_wait-c++.cc: New file.
37400         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
37401         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
37402
37403 2010-09-29  Bruno Haible  <bruno@clisp.org>
37404
37405         New module 'waitpid'.
37406         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
37407         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
37408         Don't include <process.h>.
37409         (waitpid): Declare only, using modern idiom.
37410         * m4/waitpid.m4: New file.
37411         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
37412         * modules/waitpid: New file.
37413         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
37414         (Makefile.am): Update.
37415         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
37416
37417 2010-09-28  Bruno Haible  <bruno@clisp.org>
37418
37419         poll: Assume ANSI C.
37420         * lib/poll.c (poll): Use an ANSI C declaration.
37421
37422 2010-09-28  Bruno Haible  <bruno@clisp.org>
37423
37424         poll-h: Create poll.h on all platforms.
37425         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
37426         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
37427         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
37428         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
37429         (gl_REPLACE_POLL_H): Don't set POLL_H.
37430         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
37431         * modules/poll-h (Depends-on): Add include_next.
37432         (Makefile.am): Create poll.h unconditionally. Substitute also
37433         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
37434
37435 2010-09-28  Bruno Haible  <bruno@clisp.org>
37436
37437         Tests for module 'poll-h'.
37438         * modules/poll-h-c++-tests: New file.
37439         * tests/test-poll-h-c++.cc: New file.
37440
37441         Tests for module 'poll-h'.
37442         * modules/poll-h-tests: New file.
37443         * tests/test-poll-h.c: New file.
37444
37445 2010-09-28  Bruno Haible  <bruno@clisp.org>
37446
37447         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
37448         * modules/poll-h (Depends-on): Add 'extensions'.
37449
37450 2010-09-28  Bruno Haible  <bruno@clisp.org>
37451
37452         New module 'poll-h'.
37453         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
37454         (poll): Use modern idiom.
37455         * modules/poll-h: New file.
37456         * modules/poll (Files): Remove lib/poll.in.h.
37457         (Depends-on): Add poll-h.
37458         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
37459         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
37460         * m4/poll_h.m4: New file.
37461         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
37462         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
37463         and invoke gl_REPLACE_POLL_H.
37464         * lib/poll.c: Use common idiom.
37465         * tests/test-poll.c: Likewise.
37466         * doc/posix-headers/poll.texi: Mention the poll-h module.
37467         Suggested by Eric Blake.
37468
37469 2010-09-26  Bruno Haible  <bruno@clisp.org>
37470
37471         sys_wait: Implement WSTOPSIG.
37472         * lib/sys_wait.in.h (WSTOPSIG): New macro.
37473         Reported by Simon Josefsson.
37474
37475 2010-09-26  Simon Josefsson  <simon@josefsson.org>
37476
37477         stdlib, sys_wait: Avoid compilation error on mingw.
37478         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
37479
37480 2010-09-26  Bruno Haible  <bruno@clisp.org>
37481
37482         stdlib tests: Avoid code duplication.
37483         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
37484         * modules/sys_wait-tests (Files): Likewise.
37485         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
37486         * tests/test-stdlib.c: Include test-sys_wait.h.
37487         (main): Invoke test_sys_wait_macros.
37488         * tests/test-sys_wait.c: Include test-sys_wait.h.
37489         (main): Invoke test_sys_wait_macros.
37490
37491 2010-09-25  Simon Josefsson  <simon@josefsson.org>
37492
37493         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
37494         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
37495         sure Windows sockets are working before calling getaddrinfo.
37496         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
37497         * doc/gnulib.texi (Windows sockets): Fix typo.
37498
37499 2010-09-25  Bruno Haible  <bruno@clisp.org>
37500
37501         Tests for module 'regex-quote'.
37502         * modules/regex-quote-tests: New file.
37503         * tests/test-regex-quote.c: New file.
37504
37505         New module 'regex-quote'.
37506         * lib/regex-quote.h: New file.
37507         * lib/regex-quote.c: New file.
37508         * modules/regex-quote: New file.
37509         Suggested by Reuben Thomas <rrt@sc3d.org>.
37510
37511 2010-09-24  Bruno Haible  <bruno@clisp.org>
37512
37513         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
37514         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
37515
37516 2010-09-23  Bruno Haible  <bruno@clisp.org>
37517
37518         setenv: Relax license.
37519         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
37520         Blake.
37521         Requested by Eric Blake.
37522
37523 2010-09-22  Bruno Haible  <bruno@clisp.org>
37524
37525         termios: Relax license.
37526         * modules/termios (License): Change to LGPLv2+.
37527         Requested by Eric Blake.
37528
37529 2010-09-22  Bruno Haible  <bruno@clisp.org>
37530
37531         threadlib: Allow the package to change the default to 'no'.
37532         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
37533         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
37534         Reported by Paul Eggert.
37535
37536 2010-09-22  Pádraig Brady  <P@draigbrady.com>
37537             Bruno Haible  <bruno@clisp.org>
37538
37539         Fix endless loop in mbmemcasecoll.
37540         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
37541         byte.
37542         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
37543
37544 2010-09-22  Bruno Haible  <bruno@clisp.org>
37545
37546         Tests for module 'memcoll'.
37547         * modules/memcoll-tests: New file.
37548         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
37549
37550         memcoll, xmemcoll: Clarify size vs. length.
37551         * modules/memcoll.c (memcoll0): Clarify specification.
37552         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
37553         passed to collate_error.
37554
37555 2010-09-22  Bruno Haible  <bruno@clisp.org>
37556
37557         Tests for module 'memcasecmp'.
37558         * modules/memcasecmp-tests: New file.
37559         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
37560
37561 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37562
37563         * lib/pthread.in.h: Add split double-inclusion guard, and include
37564         system <pthread.h> if there is one.  Use @@-style as in other
37565         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
37566         pthread.h doesn't.
37567         (pthread_mutexattr_destroy, pthread_mutexattr_init):
37568         (pthread_mutexattr_settype, pthread_mutex_trylock):
37569         New static inline functions, if there's no system <pthread.h>.
37570         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
37571         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
37572         Approximate with mutexes if the system lacks spinlocks, as in
37573         MacOS.
37574         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
37575         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
37576         @@-style.  Check for spinlocks separately.
37577         (gl_PTHREAD_DEFAULTS): New macro.
37578         * modules/pthread: Redo to use a more typical style for in.h files.
37579
37580 2010-09-21  Eric Blake  <eblake@redhat.com>
37581
37582         net_if: enhance tests
37583         * tests/test-net_if.c (main): Move signature checks earlier.
37584         Print failures to stderr.
37585         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
37586         Document the bug that we do not yet fix.
37587
37588 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
37589
37590         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
37591         about gnulib, not GSS.
37592
37593 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
37594
37595         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
37596         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
37597         for Emacs.
37598         * build-aux/pmccabe2html: Make Makefile.am example code more
37599         cut-and-paste friendly.
37600
37601 2010-09-21  Simon Josefsson  <simon@josefsson.org>
37602
37603         * tests/test-net_if.c: New file.
37604         * modules/net_if-tests: New file.
37605
37606 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
37607
37608         pthread: add pthread_spin_destroy
37609         * lib/pthread.in.h (pthread_spin_destroy): New function.
37610
37611 2010-09-19  Bruno Haible  <bruno@clisp.org>
37612
37613         gnulib-tool: Fix --help output.
37614         * gnulib-tool (func_usage): Fix help message.
37615         Reported by Reuben Thomas <rrt@sc3d.org>.
37616
37617 2010-09-18  Jim Meyering  <meyering@redhat.com>
37618
37619         maint.mk: avoid unexpanded \n in two diagnostics
37620         * top/maint.mk (sc_prohibit_always_true_header_tests):
37621         Don't use a literal \n in a halt=... assignment.  It would not be
37622         expanded, and the two \n bytes would appear in the diagnostic output
37623         rather than the desired newline.  Use halt=$$(printf ... instead.
37624         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
37625
37626 2010-09-18  Bruno Haible  <bruno@clisp.org>
37627
37628         netinet_in: Doc tweak.
37629         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
37630         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
37631
37632 2010-09-18  Jim Meyering  <meyering@redhat.com>
37633
37634         init.sh: correct an outdated comment
37635         * tests/init.sh (create_exe_shims_):  s/function/alias/
37636
37637         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
37638         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
37639         a file named "*.exe" is removed between the glob expansion and the
37640         processing of that oddly named file.
37641
37642 2010-09-17  Eric Blake  <eblake@redhat.com>
37643
37644         mirbsd: add some more support
37645         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
37646         in BSD family.
37647         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
37648         devices as OpenBSD.
37649         * m4/host-os.m4 (mirbsd): Add MirBSD.
37650
37651         tests: fix unportable assumption on sys/wait.h
37652         * tests/test-sys_wait.c (main): Relax test.
37653         * tests/test-stdlib.c (main): Likewise.
37654
37655         init.sh: accommodate directory with no .exes
37656         * tests/init.sh: Accomodate directory containing only scripts.
37657
37658         tests: avoid compiler warning
37659         * tests/test-stdlib.c (main): Use the variable.
37660
37661         fdutimens, fdutimensat: update signature, again
37662         * lib/utimens.h (gl_futimens): Delete, and move signature...
37663         (fdutimens): ...here.
37664         (fdutimensat): Rearrange signature.
37665         (lutimensat): Rename variable for clarity.
37666         * lib/fdutimensat.c (fdutimensat): Update signature.
37667         * lib/utimens.c (fdutimens): Likewise.
37668         (gl_futimens): Delete.
37669         (utimens, lutimens): Update callers.
37670         * lib/futimens.c (futimens): Likewise.
37671         * tests/test-fdutimensat.c: Likewise.
37672         * tests/test-utimens.c: Likewise.
37673         * tests/test-futimens.h: Update comment.
37674         * NEWS: Mention this.
37675         Suggested by Paul Eggert.
37676
37677 2010-09-17  Bruno Haible  <bruno@clisp.org>
37678
37679         Take over the maintenance of some older macros from Autoconf.
37680         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
37681         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
37682         GNU Autoconf.
37683         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
37684         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
37685
37686 2010-09-17  Eric Blake  <eblake@redhat.com>
37687
37688         fdutimensat: drop atflag validation
37689         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
37690         with valid fd, to close a race scenario where futimens is
37691         unsupported and FILE was replaced by a symlink.
37692         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
37693         accordingly.
37694         Suggested by Paul Eggert.
37695
37696 2010-09-16  Bruno Haible  <bruno@clisp.org>
37697
37698         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
37699         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
37700
37701 2010-09-16  Bruno Haible  <bruno@clisp.org>
37702
37703         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
37704         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
37705         login_tty exists.
37706         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
37707
37708 2010-09-16  Bruno Haible  <bruno@clisp.org>
37709
37710         login_tty: Make the replacement code work on BSD systems.
37711         * lib/login_tty.c: Include <sys/ioctl.h>.
37712         (login_tty): Use ioctl TIOCSCTTY when available.
37713         * modules/login_tty (Depends-on): Add sys_ioctl.
37714         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
37715
37716 2010-09-16  Bruno Haible  <bruno@clisp.org>
37717
37718         login_tty: Stricter unit test.
37719         * modules/login_tty-tests (Depends-on): Add tcgetsid.
37720         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
37721         and tcgetsid() after login_tty.
37722         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
37723
37724 2010-09-16  Bruno Haible  <bruno@clisp.org>
37725
37726         New module 'tcgetsid'.
37727         * lib/tcgetsid.c: New file.
37728         * m4/tcgetsid.m4: New file.
37729         * modules/tcgetsid: New file.
37730         * modules/termios (Depends-on): Add c++defs, warn-on-use.
37731         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
37732         GNULIB_TCGETSID, HAVE_TCGETSID.
37733         * lib/termios.in.h: Include <sys/types.h>.
37734         (tcgetsid): New declaration.
37735         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
37736         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
37737         * doc/posix-functions/tcgetsid.texi: Mention the new module.
37738         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
37739
37740 2010-09-16  Bruno Haible  <bruno@clisp.org>
37741
37742         Tests for module 'termios'.
37743         * modules/termios-c++-tests: New file.
37744         * modules/termios-tests: New file.
37745         * tests/test-termios-c++.cc: New file.
37746         * tests/test-termios.c: New file.
37747
37748         New module 'termios'.
37749         * modules/termios: New file.
37750         * lib/termios.in.h: New file.
37751         * m4/termios_h.m4: New file.
37752         * doc/posix-headers/termios.texi: Mention the new module.
37753
37754 2010-09-16  Eric Blake  <eblake@redhat.com>
37755
37756         fdutimensat: add an atflag parameter
37757         * lib/fdutimensat.c (fdutimensat): Add new parameter.
37758         * lib/utimens.h (fdutimensat): Update prototype.
37759         * tests/test-fdutimensat.c: Adjust test to match.
37760         * NEWS: Document the change.
37761         Suggested by Paul Eggert.
37762
37763 2010-09-16  Bruno Haible  <bruno@clisp.org>
37764
37765         Fix typos in comments.
37766         * lib/striconveh.h: Fix typo in comment.
37767         * lib/login_tty.c (login_tty): Likewise.
37768
37769 2010-09-15  Bruno Haible  <bruno@clisp.org>
37770
37771         stdlib: clarify MirBSD WEXITSTATUS bug
37772         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
37773         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
37774
37775 2010-09-15  Eric Blake  <eblake@redhat.com>
37776
37777         stdlib: work around MirBSD WEXITSTATUS bug
37778         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
37779         * modules/stdlib (Depends-on): Add sys_wait.
37780         * tests/test-sys_wait.c (main): Enhance test.
37781         * tests/test-stdlib.c (main): Likewise.
37782         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
37783
37784         docs: mention MacOS issue with WEXITSTATUS(constant)
37785         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
37786         issue.
37787         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
37788
37789         strnlen: add tests
37790         * modules/strnlen-tests: New file.
37791         * tests/test-strnlen.c: Likewise.
37792
37793 2010-09-14  Bruno Haible  <bruno@clisp.org>
37794
37795         unistr/base: Avoid link errors when module 'libunistring' is also used.
37796         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
37797         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
37798         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
37799         Declare also when HAVE_LIBUNISTRING is set.
37800         Reported by Pádraig Brady <P@draigbrady.com>.
37801
37802 2010-09-14  Eric Blake  <eblake@redhat.com>
37803
37804         test-rawmemchr: make more robust
37805         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
37806         (Depends-on, configure.ac): Add needed prerequisites to use it.
37807         * modules/memchr-tests (Files, Depends-on, configure.ac):
37808         Likewise, to avoid implicit reliance on memchr module prereqs.
37809         * tests/test-memchr.c (main): Ensure proper masking.
37810         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
37811         reads.
37812
37813         memchr: detect glibc Alpha bug
37814         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
37815         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
37816         Alpha.
37817         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
37818         * tests/test-memchr.c (main): Enhance test.
37819         Reported by Nelson H. F. Beebe.
37820
37821 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
37822
37823         fts, getcwd, glob: audit for dirfd returning -1
37824         * lib/fts.c (opendir): Remove #define; no longer used.
37825         (opendirat): New arg PDIR_FD.  All callers changed.
37826         (fts_build, _opendir2): Use new opendirat to avoid the need for
37827         dirfd, or for checking whether dirfd returns a negative value.
37828         Don't use opendir; always use openat followed by fdopendir.
37829         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
37830         it.
37831         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
37832         returns -1 here.
37833         * modules/fts (Depends-on): Remove dirfd.
37834         * modules/getcwd (Depends-on): Likewise.
37835
37836 2010-09-13  Eric Blake  <eblake@redhat.com>
37837
37838         float: fix broken MirBSD header
37839         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
37840         * doc/posix-headers/float.texi (float.h): Document it.
37841
37842 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
37843
37844         fts: use O_NOFOLLOW to avoid race condition when opening a directory
37845         * lib/fts.c (opendirat): New arg extra_flags.
37846         (__opendir2): Use it to avoid following symlinks when opening
37847         a directory, if symlinks are not supposed to be followed.  See
37848         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
37849
37850         fdopendir: preserve argument fd before returning
37851         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
37852         (fdopendir_with_dup, fd_clone_opendir): New static functions.
37853         (fdopendir): Use them, arranging for FD to be open to the same
37854         directory that it was when it started.  (It might be temporarily
37855         closed while fdopendir is running, so this not thread- or
37856         signal-safe.)  Be careful to do the right thing even when file
37857         descriptors are scarce and dup fails with errno == EMFILE.  See
37858         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
37859
37860 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
37861
37862         regex: Pass the system regex if its only problem is 32-bit regoff_t.
37863         * NEWS: Document change.
37864         * m4/regex.m4: Disable test for regoff_t size.
37865
37866 2010-09-13  Jim Meyering  <meyering@redhat.com>
37867
37868         fts: don't operate on an invalid file descriptor after failed dup
37869         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
37870         negative file descriptor.
37871
37872 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
37873
37874         savedir: add streamsavedir, deprecate fdsavedir
37875         * NEWS: Mention deprecation of fdsavedir.
37876         * lib/savedir.c (streamsavedir): New extern function, whose name
37877         ends in "savedir" to be consistent with the others.  This differs
37878         from savedirstream in that it doesn't close its argument.  The
37879         next version of GNU tar will use this instead of fdsavedir, to
37880         avoid some race conditions and conserve file descriptors.
37881         (savedirstream): Reimplement as a wrapper around streamsavedir.
37882         (fdsavedir): Add a comment deprecating this function.  As far as
37883         I know, only GNU tar used it, and GNU tar doesn't need it any more.
37884         * lib/savedir.h (streamsavedir): New decl.
37885         (fdsavedir): Add a comment deprecating this.
37886
37887 2010-09-10  Bruno Haible  <bruno@clisp.org>
37888
37889         langinfo: Fix last commit.
37890         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
37891         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
37892         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37893
37894 2010-09-10  Bruno Haible  <bruno@clisp.org>
37895
37896         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
37897         * lib/progreloc.c (O_EXEC): Define fallback.
37898
37899 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
37900
37901         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
37902         * NEWS: Document recent changes to fcntl-h.
37903         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
37904         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
37905         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
37906         Similarly for O_SEARCH; this last was already true, but not documented.
37907         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
37908         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
37909         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
37910         Likewise.
37911         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
37912         is zero, not whether it is defined.
37913         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
37914         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
37915         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
37916
37917 2010-09-10  Bruno Haible  <bruno@clisp.org>
37918
37919         langinfo, nl_langinfo: Fix for IRIX 5.3.
37920         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
37921         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
37922         HAVE_LANGINFO_YESEXPR.
37923         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
37924         HAVE_LANGINFO_YESEXPR.
37925         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
37926         HAVE_LANGINFO_T_FMT_AMPM is 0.
37927         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
37928         HAVE_LANGINFO_YESEXPR is 0.
37929         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
37930         NOEXPR.
37931         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
37932         * doc/posix-functions/nl_langinfo.texi: Likewise.
37933         Reported by Eric Blake.
37934
37935 2010-09-10  Bruno Haible  <bruno@clisp.org>
37936
37937         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
37938         * doc/glibc-functions/login_tty.texi: Mention the include file problem
37939         on FreeBSD 8.0 and OpenBSD 4.6.
37940         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
37941         * m4/pty_h.m4 (gl_PTY_H): Likewise.
37942         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
37943         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
37944         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
37945         ac_includes_default.
37946         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
37947
37948 2010-09-09  Eric Blake  <eblake@redhat.com>
37949
37950         strsignal: work around NetBSD bug
37951         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
37952         * lib/string.in.h (includes): Likewise.
37953         * doc/posix-functions/strsignal.texi (strsignal): Document the
37954         bug.
37955         Reported by Nelson H. F. Beebe.
37956
37957         gnulib-tool: work with NetBSD /bin/sh
37958         * gnulib-tool (func_cache_var, func_cache_lookup_module)
37959         (func_get_description, func_get_comment, func_get_status)
37960         (func_get_notice, func_get_applicability, func_get_filelist)
37961         (func_get_dependencies, func_get_autoconf_early_snippet)
37962         (func_get_autoconf_snippet, func_get_automake_snippet)
37963         (func_get_include_directive, func_get_link_directive)
37964         (func_get_license, func_get_maintainer, func_import): Avoid
37965         shell syntax errors from parsing syntax extensions.
37966
37967 2010-09-09  Bruno Haible  <bruno@clisp.org>
37968
37969         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
37970         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
37971         a reliable way to determine whether the 'alias' command works.
37972
37973 2010-09-08  Jim Meyering  <meyering@redhat.com>
37974
37975         init.sh: penalize a set-x-impaired shell; don't disqualify it
37976         * tests/init.sh: Too many shells corrupt application stderr when
37977         you set -x, so we can't afford to disqualify them, since at least
37978         on Irix-6.5, that would disqualify all bourne shells.
37979         Instead, use a two-pass approach.
37980         On the first pass, try to find a shell that meets the stricter
37981         condition that set -x does not corrupt stderr.
37982         If no shell meets the stricter condition, retest each candidate
37983         shell, but without that extra condition.  Finally, when
37984         VERBOSE=yes is requested and set -x might cause trouble, simply
37985         issue a warning and refrain from enabling debug output.
37986
37987 2010-09-08  Eric Blake  <eblake@redhat.com>
37988
37989         unsetenv: fix OpenBSD bug
37990         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
37991         * doc/posix-functions/unsetenv.texi (unsetenv): Update
37992         documentation.
37993         Reported by Jim Meyering.
37994
37995         strtod: work around IRIX 6.5 bug
37996         * lib/strtod.c (strtod): Reparse number on shorter string if
37997         exponent parse was invalid.
37998         * tests/test-strtod.c (main): Add check for "0x1p 2".
37999         Reported by Tom G. Christensen.
38000
38001         getopt: optimize previous patch
38002         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
38003         empty variable.  Speed up awk script.
38004         Reported by Paolo Bonzini.
38005
38006 2010-09-08  Jim Meyering  <meyering@redhat.com>
38007
38008         test.sh: disqualify shells for which set -x corrupts stderr
38009         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
38010         and OpenBSD 4.7.  They make it so with "set -x", environment settings
38011         appear in stderr output.  For example, this command:
38012             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
38013         prints "P=1" on those two systems:
38014
38015 2010-09-08  Bruno Haible  <bruno@clisp.org>
38016
38017         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
38018         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
38019         commands, because some shells ignore redirections when there is an
38020         error in the command lookup.
38021         Reported by Eric Blake.
38022
38023 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
38024
38025         * lib/regex.h: Fix a mention of `regex_compile' (should be
38026         `re_compile_pattern').
38027         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
38028         (re_set_registers): Correct name of parameter in comment.
38029
38030         * doc/regex.texi: Add documentation for missing syntax flags.
38031         Remove commented-out documentation of defunct syntax option
38032         RE_NO_EMPTY_ALTS.
38033         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
38034         Add documentation of re_set_registers.
38035         Document trick to re-use a pattern buffer by setting fastmap manually.
38036         Update documentation of struct re_pattern_buffer per public members.
38037         Uncomment documentation of equivalence class operators and
38038         collating symbol operators, since they are now implemented,
38039         Explain leftmost-longest matching in relation to alternatives.
38040         Tidy documentation of substring matching.
38041         Remove POSIX documentation, which is done better in
38042         glibc, and refer the reader there. Keep BSD API documentation, as
38043         that is not readily available elsewhere.
38044
38045 2010-09-07  Eric Blake  <eblake@redhat.com>
38046
38047         getopt: handle POSIXLY_CORRECT set but not exported
38048         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
38049         export state of POSIXLY_CORRECT, due to bash set -o posix.
38050         Reported by Dustin J. Mitchell.
38051
38052 2010-09-05  Bruno Haible  <bruno@clisp.org>
38053
38054         gnulib-tool: Highlight the changed options.
38055         * gnulib-tool (func_usage): Display the --import, --add-import,
38056         --remove-import explanations in bold font.
38057
38058 2010-09-06  Karl Berry  <karl@gnu.org>
38059
38060         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
38061
38062 2010-09-05  Bruno Haible  <bruno@clisp.org>
38063
38064         uniwidth/width: Update comment.
38065         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
38066         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
38067
38068 2010-09-05  Bruno Haible  <bruno@clisp.org>
38069
38070         isinf, isnan: Relax license.
38071         * modules/isinf (License): Change from GPL to LGPL, with consent from
38072         Ben Pfaff.
38073         * modules/isnan (License): Likewise.
38074         Requested by Ludovic Courtès.
38075
38076 2010-09-04  Bruno Haible  <bruno@clisp.org>
38077
38078         gnulib-tool: Help migration from --import to --add-import or --update.
38079         * gnulib-tool: Emit a verbose error message when --import is used
38080         without any module name.
38081
38082 2010-09-04  Bruno Haible  <bruno@clisp.org>
38083
38084         Update doc about gnulib-tool.
38085         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
38086         'gnulib-tool --update' in more detail.
38087         Reported by Eric Blake.
38088
38089 2010-09-04  Bruno Haible  <bruno@clisp.org>
38090
38091         gnulib-tool: Change --import. New options --add/remove-import.
38092         * gnulib-tool: New options --add-import, --remove-import.
38093         (func_usage): Document them.
38094         (have_associative): Define always.
38095         (func_import): In import mode, don't merge the specified settings with
38096         the cached settings. Implement remove-import mode.
38097         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
38098         Explain when to use them versus --import.
38099         (Simple update): Use --add-import instead of --import.
38100         * NEWS: Mention the change.
38101
38102 2010-09-04  Bruno Haible  <bruno@clisp.org>
38103
38104         * doc/gnulib-tool.texi (Initial import): Update paragraph about
38105         separate gnulib.mk.
38106
38107 2010-09-04  Bruno Haible  <bruno@clisp.org>
38108
38109         gnulib-tool: Don't talk about CVS any more.
38110         * gnulib-tool (func_usage, func_import): Write "version control"
38111         instead of CVS.
38112
38113 2010-09-04  Jim Meyering  <meyering@redhat.com>
38114
38115         maint.mk: avoid obscure sc_copyright_check failure in coreutils
38116         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
38117         false positives (whose names may be ill-chosen) when searching
38118         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
38119         would cause a false-positive.
38120
38121         avoid coreutils "make distcheck" failure
38122         Coreutils tests with an absolute build directory name that contains
38123         a space.  Not quoting this directory name caused a failure.
38124         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
38125         * tests/test-vc-list-files-cvs.sh: Likewise.
38126
38127 2010-09-04  Bruno Haible  <bruno@clisp.org>
38128
38129         gnulib-tool: Avoid error when run in a package without Makefile.am.
38130         * gnulib-tool: When collecting the m4dirs in a package that does not
38131         have a Makefile.am, eliminate those directories that contain no
38132         gnulib-cache.m4. Fix expression that counts these directories.
38133
38134 2010-09-04  Bruno Haible  <bruno@clisp.org>
38135
38136         update-copyright test: Improve output when perl is missing or too old.
38137         * tests/test-update-copyright.sh: Move test of Perl version down after
38138         the test whether Perl exists. Provide an explanation relating Perl's
38139         error message to Automake's SKIP: message.
38140
38141 2010-09-04  Bruno Haible  <bruno@clisp.org>
38142
38143         Don't augment PATH in TESTS_ENVIRONMENT.
38144         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
38145         set abs_aux_dir instead of augmenting PATH.
38146         * modules/vc-list-files-tests (Makefile.am): Likewise.
38147         * tests/test-update-copyright.sh: Augment PATH here.
38148         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
38149         path_prepend_.
38150         * tests/test-vc-list-files-git.sh: Likewise.
38151
38152 2010-09-04  Jim Meyering  <meyering@redhat.com>
38153
38154         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
38155         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
38156
38157 2010-09-04  Bruno Haible  <bruno@clisp.org>
38158
38159         strdup: Fix compilation error in C++ mode.
38160         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
38161         the macro.
38162
38163 2010-09-04  Bruno Haible  <bruno@clisp.org>
38164
38165         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
38166         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
38167         macro into a function.
38168         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
38169
38170 2010-09-04  Bruno Haible  <bruno@clisp.org>
38171
38172         Set PATH_SEPARATOR the same way autoconf does.
38173         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
38174         the value of PATH_SEPARATOR the same way autoconf-generated configure
38175         scripts do.
38176         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
38177         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
38178
38179 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
38180
38181         Set PATH_SEPARATOR the same way autoconf does.
38182         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
38183         the same way autoconf-generated configure scripts do.
38184         * posix-modules: Likewise.
38185
38186 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
38187
38188         hash: fix safe_hasher const typo
38189         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
38190         const; otherwise, there is a type error later.
38191
38192 2010-09-02  Jim Meyering  <meyering@redhat.com>
38193
38194         test-update-copyright.sh: require perl 5.8.0
38195         * tests/test-update-copyright.sh: Require 5.8.0,
38196         which Tom G. Christensen has confirmed is adequate,
38197         while 5.6.1 is not.
38198
38199 2010-09-02  Eric Blake  <eblake@redhat.com>
38200
38201         tests: init.sh improvements for re-exec'ing with zsh
38202         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
38203         -vx through shell re-exec.
38204         Reported by Tom G. Christensen.
38205
38206         wctype: fix typo in previous commit
38207         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
38208         Reported by Ludovic Courtès.
38209
38210 2010-09-02  Jim Meyering  <meyering@redhat.com>
38211
38212         test-update-copyright.sh: skip test if Perl is too old
38213         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
38214         Reported by Tom G. Christensen.
38215
38216 2010-09-02  Bruno Haible  <bruno@clisp.org>
38217
38218         wctype: Avoid compilation error on IRIX 6.5.30.
38219         * lib/wctype.in.h (iswblank): Declare with a replacement if
38220         REPLACE_ISWBLANK is set.
38221         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
38222         declared. Set REPLACE_ISWBLANK.
38223         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
38224         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
38225         * doc/posix-headers/wctype.texi: Likewise.
38226         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38227
38228 2010-09-01  Bruno Haible  <bruno@clisp.org>
38229
38230         New module 'socketlib'.
38231         * modules/socketlib: New file.
38232         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
38233         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
38234         * modules/sockets (Depends-on): Add socketlib.
38235         Suggested by Sam Steingold <sds@gnu.org>.
38236
38237 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
38238
38239         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
38240
38241         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
38242         when one needs search access to a directory but not read access.
38243         On systems where it is available, it works in some cases where
38244         O_RDONLY does not, namely on directories that are searchable but
38245         not readable, and which need only to be searchable.  If O_SEARCH
38246         is not available, fall back to the traditional method of using
38247         O_RDONLY.
38248
38249         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
38250         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
38251         when opening a directory that needs only to be searchable.
38252         * lib/chdir-safer.c (chdir_no_follow): Likewise.
38253         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
38254         * lib/openat-proc.c (openat_proc_name): Likewise.
38255         * lib/openat.c (openat_needs_fchdir): Likewise.
38256         * lib/save-cwd.c (save_cwd): Likewise.
38257         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
38258
38259 2010-08-28  Bruno Haible  <bruno@clisp.org>
38260
38261         New module 'host-cpu-c-abi'.
38262         * modules/host-cpu-c-abi: New file.
38263         * m4/host-cpu-c-abi.m4: New file, based on part of
38264         clisp/src/m4/general.m4.
38265         Requested by Sam Steingold <sds@gnu.org>.
38266
38267 2010-08-31  Eric Blake  <eblake@redhat.com>
38268         and Jim Meyering  <meyering@redhat.com>
38269
38270         hash: factor, and guard against misbehaving hasher function
38271         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
38272         of table->hasher's return value.  Also protect against a hash value
38273         so large that adding it to table->bucket results in a NULL pointer.
38274         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
38275         Use it in place of open-coded check-and-abort.
38276
38277 2010-08-30  Bruno Haible  <bruno@clisp.org>
38278
38279         hash: silence spurious clang warning
38280         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
38281         Reported by Eric Blake.
38282
38283 2010-08-30  Eric Blake  <eblake@redhat.com>
38284
38285         strstr, memmem, strcasestr: avoid leaked shell message
38286         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
38287         FreeBSD.
38288         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38289         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38290
38291         tests: silence clang warning
38292         * tests/test-malloca.c (do_allocation): Avoid dead store.
38293
38294 2010-08-29  Bruno Haible  <bruno@clisp.org>
38295
38296         gettext: Fix recent mistake.
38297         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
38298
38299 2010-08-29  Bruno Haible  <bruno@clisp.org>
38300
38301         selinux-h: Offer a --without-selinux option.
38302         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
38303         --without-selinux was specified, skip all tests and define
38304         HAVE_SELINUX_SELINUX_H to 0.
38305         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
38306         set LIB_SELINUX to empty.
38307         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
38308         gl_LIBSELINUX. If --without-selinux was specified, replace
38309         selinux/context.h.
38310         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
38311
38312 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
38313             Bruno Haible  <bruno@clisp.org>
38314
38315         Make the module 'realloc-gnu' work again on AIX and OSF/1.
38316         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
38317         of HAVE_REALLOC.
38318         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
38319         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
38320         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
38321         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
38322
38323 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
38324             Bruno Haible  <bruno@clisp.org>
38325
38326         Make the module 'calloc-gnu' work again on AIX and OSF/1.
38327         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
38328         HAVE_CALLOC.
38329         * lib/xmalloc.c: Update accordingly.
38330         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
38331         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
38332         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
38333
38334 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
38335             Bruno Haible  <bruno@clisp.org>
38336
38337         Make the module 'malloc-gnu' work again on AIX and OSF/1.
38338         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
38339         HAVE_MALLOC.
38340         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
38341         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
38342         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
38343
38344 2010-08-29  Bruno Haible  <bruno@clisp.org>
38345
38346         Update modules list.
38347         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
38348         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
38349         (String handling <string.h>): Add astrxfrm.
38350         (File system functions): Add readlinkat.
38351
38352 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38353
38354         Tests for module 'realloc-gnu'.
38355         * modules/realloc-gnu-tests: New file.
38356         * tests/test-realloc-gnu.c: New file.
38357
38358         Tests for module 'calloc-gnu'.
38359         * modules/calloc-gnu-tests: New file.
38360         * tests/test-calloc-gnu.c: New file.
38361
38362         Tests for module 'malloc-gnu'.
38363         * modules/malloc-gnu-tests: New file.
38364         * tests/test-malloc-gnu.c: New file.
38365
38366 2010-08-28  Bruno Haible  <bruno@clisp.org>
38367
38368         Rename module 'realloc' -> 'realloc-gnu'.
38369         * modules/realloc-gnu: New file, copied from modules/realloc.
38370         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
38371         obsolete.
38372         * modules/mgetgroups (Depends-on): Update.
38373         * doc/posix-functions/realloc.texi: Update.
38374         * NEWS: Mention the change.
38375
38376         Rename module 'calloc' -> 'calloc-gnu'.
38377         * modules/calloc-gnu: New file, copied from modules/calloc.
38378         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
38379         obsolete.
38380         * doc/posix-functions/calloc.texi: Update.
38381         * NEWS: Mention the change.
38382
38383         Rename module 'malloc' -> 'malloc-gnu'.
38384         * modules/malloc-gnu: New file, copied from modules/malloc.
38385         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
38386         obsolete.
38387         * modules/argp (Depends-on): Update.
38388         * modules/regex (Depends-on): Update.
38389         * doc/posix-functions/malloc.texi: Update.
38390         * NEWS: Mention the change.
38391
38392 2010-08-28  Eric Blake  <eblake@redhat.com>
38393
38394         pread, pwrite: add missing dependency
38395         * modules/pread (Depends-on): Add extensions.
38396         * modules/pwrite (Depends-on): Likewise.
38397
38398 2010-08-28  Bruno Haible  <bruno@clisp.org>
38399
38400         unistr/u*-strchr: Fix tests dependencies.
38401         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
38402         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
38403         Reported by Ian Beckwith <ianb@erislabs.net>.
38404
38405 2010-08-28  Bruno Haible  <bruno@clisp.org>
38406
38407         read-file: Don't occupy too much unused memory.
38408         * lib/read-file.c (fread_file): Shrink the buffer at the end.
38409
38410 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
38411             Eric Blake  <eblake@redhat.com>
38412             Bruno Haible  <bruno@clisp.org>
38413
38414         read-file: Avoid memory reallocations with regular files.
38415         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
38416         (fread_file): With regular files, use the remaining length as the
38417         initial buffer size.  Check against overflow.
38418         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
38419         sys_stat.
38420
38421 2010-08-28  Bruno Haible  <bruno@clisp.org>
38422
38423         ftello: Relax license.
38424         * modules/ftello (License): Relax to LGPLv2+.
38425         Reported by Eric Blake.
38426
38427 2010-08-28  Bruno Haible  <bruno@clisp.org>
38428
38429         Avoid relocwrapper link errors due to gnulib replacement functions.
38430         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
38431         function.
38432         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38433
38434 2010-08-28  Bruno Haible  <bruno@clisp.org>
38435
38436         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
38437         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
38438         defined.
38439         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
38440         Suggested by Eric Blake.
38441
38442 2010-08-28  Bruno Haible  <bruno@clisp.org>
38443
38444         sys_socket, netdb: Ensure socklen_t gets defined.
38445         * modules/sys_socket (Depends-on): Add socklen.
38446         * modules/netdb (Depends-on): Likewise.
38447         * modules/getaddrinfo (Depends-on): Remove socklen.
38448         * modules/getsockopt (Depends-on): Likewise.
38449         * modules/setsockopt (Depends-on): Likewise.
38450         * tests/test-sys_socket.c: Check that socklen_t is defined.
38451         * tests/test-netdb.c: Likewise.
38452         * m4/socklen.m4: Update comments.
38453         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38454
38455 2010-08-27  Eric Blake  <eblake@redhat.com>
38456
38457         login_tty: add missing dependency
38458         * modules/login_tty (Depends-on): Add pty.
38459
38460 2010-08-26  Eric Blake  <eblake@redhat.com>
38461
38462         lib-symbol-versions: fix m4 quoting
38463         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
38464         format for AC_LINK_IFELSE.
38465
38466         glob: fix compile test
38467         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
38468
38469         btowc: fix missing file
38470         * modules/btowc (Files): Also ship locale-fr.m4.
38471
38472         lseek: fix link test
38473         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
38474         AC_LINK_IFELSE.
38475
38476         include_next: silence autoconf 2.68 warning
38477         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
38478         AC_COMPILE_IFELSE as special.
38479         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
38480         autoconf < 2.68.
38481
38482         acl: fix compilation test
38483         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
38484         AC_COMPILE_IFELSE.
38485
38486 2010-08-26  Bruno Haible  <bruno@clisp.org>
38487
38488         Modernize AC_TRY_RUN invocations.
38489         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
38490         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
38491         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
38492         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
38493         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
38494         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
38495         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
38496         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
38497         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
38498         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
38499         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
38500         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
38501         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
38502         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
38503         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
38504         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
38505         gl_MBRLEN_NUL_RETVAL): Likewise.
38506         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38507         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38508         Likewise.
38509         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38510         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
38511         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
38512         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
38513         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
38514         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
38515         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
38516         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
38517         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
38518         Likewise.
38519         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
38520         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
38521         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
38522         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
38523         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
38524         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
38525         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
38526         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
38527         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38528         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38529
38530 2010-08-26  Bruno Haible  <bruno@clisp.org>
38531
38532         Modernize AC_TRY_LINK invocations.
38533         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
38534         AC_TRY_LINK.
38535         * m4/argp.m4 (gl_ARGP): Likewise.
38536         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
38537         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
38538         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
38539         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
38540         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
38541         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
38542         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
38543         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
38544         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
38545         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
38546         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
38547         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
38548         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
38549         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
38550         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
38551         * m4/hostent.m4 (gl_HOSTENT): Likewise.
38552         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
38553         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
38554         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
38555         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
38556         Likewise.
38557         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
38558         Likewise.
38559         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
38560         Likewise.
38561         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
38562         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
38563         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
38564         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
38565         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
38566         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
38567         * m4/servent.m4 (gl_SERVENT): Likewise.
38568         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
38569         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
38570         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
38571         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
38572         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
38573         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
38574         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
38575         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
38576         * modules/tsearch-tests (configure.ac): Likewise.
38577
38578 2010-08-26  Bruno Haible  <bruno@clisp.org>
38579
38580         Modernize AC_TRY_COMPILE invocations.
38581         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
38582         AC_TRY_COMPILE.
38583         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
38584         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
38585         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
38586         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
38587         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
38588         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
38589         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
38590         * m4/lock.m4 (gl_LOCK): Likewise.
38591         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
38592         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38593         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
38594         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
38595         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
38596         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
38597         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
38598         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
38599         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
38600         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
38601         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
38602         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
38603         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
38604         extraneous semicolon.
38605
38606 2010-08-26  Jim Meyering  <meyering@redhat.com>
38607
38608         stat-time: relax license LGPL
38609         * modules/stat-time (License): Change from GPL to LGPL,
38610         with consent from all contributors, for use in libguile.
38611         Requested by Ludovic Courtès.
38612
38613 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
38614
38615         poll: return immediately on POLLHUP.
38616         * lib/poll.c (poll): Always set timeout before wait_timeout is
38617         computed.
38618
38619 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38620
38621         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
38622         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
38623         rmdir ("dir/.//"), unlinkat.
38624
38625 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38626
38627         stdbool: avoid spurious failure with modern xlc
38628         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
38629
38630 2010-08-24  Bruno Haible  <bruno@clisp.org>
38631
38632         getloadavg: simplify code
38633         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
38634         gl_have_func. Update comments.
38635
38636 2010-08-24  Eric Blake  <eblake@redhat.com>
38637
38638         getloadavg: don't define SVR4 on cygwin
38639         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
38640         only define SVR4 when -lkvm is required.
38641         Reported by Yaakov Selkowitz.
38642
38643 2010-08-24  Bruno Haible  <bruno@clisp.org>
38644
38645         priv-set: fix comment
38646         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
38647
38648 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
38649
38650         priv-set: fix comments
38651         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
38652         to match code, as suggested by David Bartley in:
38653         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
38654
38655 2010-08-23  Eric Blake  <eblake@redhat.com>
38656
38657         stdbool: avoid rejecting clang
38658         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
38659         * tests/test-stdbool.c: Enable more tests if using the system
38660         <stdbool.h> instead of the gnulib replacement.
38661         (main): Move xlc bug test to a runtime test for all compilers.
38662         Reported by Anders Kaseorg.
38663
38664         argz: fix shell quoting issue
38665         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
38666         Reported by Charles Wilson.
38667
38668 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
38669             Erik Faye-Lund <kusmabite@gmail.com>
38670
38671         poll, select: handle ERROR_BROKEN_PIPE.
38672         * lib/poll.c (win32_compute_revents): Return POLLHUP when
38673         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
38674         * lib/select.c (win32_compute_revents): Do not mark a pipe
38675         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
38676
38677 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
38678
38679         fts: allow compilation with C++
38680         * lib/fts_.h: Specify extern "C" linkage with C++.
38681
38682 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38683
38684         Fix gnulib-tool sed script de-commentation for AIX sed.
38685         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
38686         sed.
38687
38688 2010-08-17  Eric Blake  <eblake@redhat.com>
38689
38690         test-stddef: test for (some) offsetof bugs
38691         * tests/test-stddef.c: Enhance test to ensure correct type of
38692         offsetof.
38693         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
38694         that we are not fixing at this time.
38695
38696 2010-08-15  Bruno Haible  <bruno@clisp.org>
38697
38698         stpncpy: Allow stpncpy to be defined as a macro.
38699         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
38700         if it's already correctly declared.
38701         * lib/string.in.h (stpncpy): Undefine before redefining.
38702         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
38703
38704 2010-08-14  Bruno Haible  <bruno@clisp.org>
38705
38706         Rename module 'memxfrm' to 'amemxfrm'.
38707         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
38708         (amemxfrm): Renamed from memxfrm.
38709         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
38710         (amemxfrm): Renamed from memxfrm.
38711         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
38712         * NEWS: Mention the change.
38713         * MODULES.html.sh (String handling <string.h>): Update.
38714         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
38715         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
38716         * lib/unicase/u16-casexfrm.c: Likewise.
38717         * lib/unicase/u32-casexfrm.c: Likewise.
38718         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
38719         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
38720         * lib/uninorm/u16-normxfrm.c: Likewise.
38721         * lib/uninorm/u32-normxfrm.c: Likewise.
38722         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
38723         memxfrm.
38724         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
38725         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
38726         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
38727         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
38728         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
38729         Suggested by Paul Eggert.
38730
38731 2010-08-14  Bruno Haible  <bruno@clisp.org>
38732
38733         Tests for module 'astrxfrm'.
38734         * modules/astrxfrm-tests: New file.
38735         * tests/test-astrxfrm.c: New file.
38736
38737         New module 'astrxfrm'.
38738         * lib/astrxfrm.h: New file.
38739         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
38740         * modules/astrxfrm: New file.
38741
38742 2010-08-14  Reuben Thomas <rrt@sc3d.org>
38743
38744         regex: Tweak doc.
38745         * doc/regex.texi (Overview): Don't mention regex.c.
38746         (GNU Regular Expression Compiling): Likewise.
38747         (Match-end-of-line Operator): Mention 'not_eol'.
38748
38749 2010-08-14  Brian Gough  <bjg@gnu.org>
38750             Bruno Haible  <bruno@clisp.org>
38751
38752         git-merge-changelog: add doc relating to use with bzr and hg.
38753         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
38754
38755 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
38756
38757         pthread: fix pthread.h creation for srcdir != builddir
38758         * modules/pthread (Makefile.am): Fix the rule to work also in a
38759         non-srcdir build.
38760
38761 2010-08-13  Karl Berry  <karl@gnu.org>
38762
38763         * doc/regex.texi (Predefined Syntaxes): @smallexample.
38764         * doc/posix-*/*: force line break before @url of POSIX
38765         specifications.
38766         Suggested by Werner Lemberg.
38767
38768 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
38769
38770         strtod: fix const diagnostic
38771         * lib/strtod.c (strtod): Don't assign const char * to char *,
38772         as this elicits a warning from GCC when warnings are enabled.
38773
38774 2010-08-10  Pádraig Brady <P@draigbrady.com>
38775         and Eric Blake  <eblake@redhat.com>
38776
38777         copy-acl: ignore ENOTSUP on HP-UX
38778         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
38779         so that it is available for HP-UX.
38780         * lib/copy-acl.c (qcopy_acl): Use it.
38781         Reported by Patrick M. Callahan.
38782
38783 2010-08-10  Eric Blake  <eblake@redhat.com>
38784
38785         open, chown: relax license
38786         * modules/open (License): Change to LGPLv2+, with consent by all
38787         authors, for use in augeas.
38788         * modules/chown (License): Likewise.
38789         * modules/lchown (Likewise): Likewise.
38790         Requested by Adam Stokes.
38791
38792 2010-08-09  Karl Berry  <karl@gnu.org>
38793
38794         * build-aux/ar-lib: new file, import from Automake.
38795         * config/srclist.txt: autocheck for updates.
38796
38797 2010-08-09  Eric Blake  <eblake@redhat.com>
38798
38799         readlinkat: adjust client modules
38800         * modules/areadlinkat (Depends-on): Use readlinkat, not
38801         symlinkat.
38802         * modules/areadlinkat-with-size (Depends-on): Likewise.
38803
38804         mknod: be more vocal about danger of running tests as root
38805         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
38806         root, since that is just asking for problems.
38807         Suggested by Bruno Haible, based on a report by Rainer Tammer.
38808
38809         readlinkat: split into its own module
38810         * modules/symlinkat: Split readlinkat...
38811         * modules/readlinkat: ...into separate module.
38812         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
38813         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
38814         * lib/symlinkat.c (readlinkat): Move...
38815         * lib/readlinkat.c: ...into new file.
38816         * modules/symlinkat-tests: Split readlinkat test...
38817         * modules/readlinkat-tests: ...into separate module.
38818         * tests/test-symlinkat.c: Split...
38819         * tests/test-readlinkat.c: ...into new file.
38820         * NEWS: Document the split.
38821         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38822         * lib/unistd.in.h (readlinkat): Likewise.
38823         Suggested by Bruno Haible.
38824
38825 2010-08-08  Bruno Haible  <bruno@clisp.org>
38826
38827         memxfrm: Speed up.
38828         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
38829         that usually only one call to strxfrm is necessary for each string
38830         part.
38831         Reported by Paul Eggert <eggert@cs.ucla.edu>.
38832
38833 2010-08-07  Karl Berry  <karl@gnu.org>
38834
38835         * doc/posix-headers/limits.texi,
38836         * doc/posix-functions/malloc.texi,
38837         * doc/posix-functions/strsignal.texi: missing @item.
38838         * doc/ld-version-script.texi: spurious leading i.
38839         * doc/regex.texi (Interval Operators): no commas inside @var.
38840
38841 2010-08-01  Bruno Haible  <bruno@clisp.org>
38842
38843         Integrate the regex documentation.
38844         * doc/gnulib.texi: Define 'cn' index.
38845         (Regular expressions): New a chapter that includes regex.texi and
38846         regexprops-generic.texi.
38847         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
38848         syntax.
38849
38850         Whitespace cleanup.
38851         * doc/regex.texi: Remove trailing spaces.
38852
38853         Add regex documentation.
38854         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
38855         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
38856         Written by Kathy A. Hargreaves and Karl Berry.
38857
38858 2010-08-01  Bruno Haible  <bruno@clisp.org>
38859
38860         link: Update documentation.
38861         * doc/posix-functions/link.texi: Update regarding Solaris.
38862
38863 2010-07-31  Bruno Haible  <bruno@clisp.org>
38864
38865         Update modules list.
38866         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
38867         (String handling <string.h>): Add memcmp2, memxfrm.
38868         (Container data structures): Add xlist, xsublist, xoset.
38869         (Core language properties): Add alignof, unused-parameter.
38870         (Process control, Numeric conversion functions <stdlib.h>): Renamed
38871         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
38872         (Unibyte characters <ctype.h>): New section.
38873         (String handling <string.h>): New section.
38874         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
38875         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
38876         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
38877         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
38878         tan, tanh, tanl, y0, y1, yn.
38879         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
38880         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
38881         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
38882         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
38883         unlockpt, vdprintf, vdprintf-posix.
38884         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
38885         (File system functions): Add concat-filename, sys_file, sys_ioctl,
38886         xconcat-filename.
38887         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
38888         getdtablesize, pipe2, pipe2-safer.
38889         (Security): New section.
38890         (Networking functions): Add accept4.
38891         (Signal handling): Add sigpipe.
38892         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
38893         mbmemcasecoll.
38894         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
38895         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
38896         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
38897         pipe-filter-ii.
38898         (Misc): Add argp-version-etc, login_tty, parse-duration.
38899
38900 2010-07-31  Bruno Haible  <bruno@clisp.org>
38901
38902         Improve doc in MODULES.html.
38903         * modules/linkat (Description): Add the word "function".
38904         * modules/mkfifo (Description): Likewise.
38905         * modules/mknod (Description): Likewise.
38906         * modules/remove (Description): Likewise.
38907         * modules/renameat (Description): Likewise.
38908         * modules/stat (Description): Likewise.
38909         * modules/symlink (Description): Likewise.
38910         * modules/unlink (Description): Likewise.
38911
38912 2010-07-31  Bruno Haible  <bruno@clisp.org>
38913
38914         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
38915         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
38916         option --enable/disable-c++ instead of --enable/disable-cxx.
38917         * NEWS: Mention the change.
38918
38919 2010-07-31  Bruno Haible  <bruno@clisp.org>
38920
38921         readlink, areadlink: Relax test a bit.
38922         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
38923         alternative to ENOTDIR.
38924         * tests/test-areadlink.h (test_areadlink): Likewise.
38925         Reported by Rainer Tammer.
38926
38927 2010-07-31  Bruno Haible  <bruno@clisp.org>
38928
38929         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
38930         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
38931         character, perform the search using U_STRCHR.
38932         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
38933         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
38934         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
38935         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
38936         Suggested by Paolo Bonzini.
38937
38938 2010-07-31  Bruno Haible  <bruno@clisp.org>
38939
38940         unistr/u*-strstr: Fix dependencies.
38941         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
38942         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
38943         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
38944
38945 2010-07-31  Bruno Haible  <bruno@clisp.org>
38946
38947         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
38948         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
38949         the beginning of the loop.
38950         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
38951         cases in 'switch' statement.
38952
38953         unistr/u8-strchr: Fix several bugs.
38954         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
38955         the string. When not found, return NULL, not a pointer near the end.
38956
38957         More tests for unistr/u8-strchr.
38958         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
38959         that the function does not read past the first occurrence of the byte
38960         being searched.
38961         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
38962         * tests/unistr/test-u16-strchr.c (main): New function.
38963         * tests/unistr/test-u32-strchr.c (main): New function.
38964
38965 2010-07-31  Bruno Haible  <bruno@clisp.org>
38966
38967         posix-modules: Ignore backup files of documentation files.
38968         * posix-modules: grep only through files named *.texi.
38969
38970 2010-07-31  Bruno Haible  <bruno@clisp.org>
38971
38972         symlinkat: Fix documentation.
38973         * doc/posix-functions/readlinkat.texi: Fix module name.
38974
38975 2010-07-31  Bruno Haible  <bruno@clisp.org>
38976
38977         fchownat: Replace also when chown has the trailing slash bug.
38978         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
38979         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
38980         introduced on 2010-04-10.
38981         Reported by Rainer Tammer.
38982
38983 2010-07-31  Bruno Haible  <bruno@clisp.org>
38984
38985         linkat: Work around AIX 7.1 bug.
38986         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
38987         whether linkat handles trailing slash correctly. If not, replace linkat
38988         and define LINKAT_TRAILING_SLASH_BUG.
38989         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
38990         check whether (fd1,file1) points to a directory if file1 or file2 ends
38991         in a slash. Code taken from lib/link.c.
38992         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
38993         Reported by Rainer Tammer.
38994
38995 2010-07-31  Bruno Haible  <bruno@clisp.org>
38996
38997         Correctly determine whether pow is available in libc on AIX 7 with xlc.
38998         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
38999         This disables an xlc optimization that was causing wrong test results.
39000         Reported by Rainer Tammer.
39001
39002 2010-07-31  Bruno Haible  <bruno@clisp.org>
39003
39004         iconv: Work around AIX 6.1..7.1 bug.
39005         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
39006         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
39007         cross-compiling, guess no on all versions of AIX.
39008         Reported by Rainer Tammer.
39009
39010 2010-07-31  Bruno Haible  <bruno@clisp.org>
39011
39012         readlink: Relax test a bit.
39013         * tests/test-readlink.h (test_readlink): Allow different errno value
39014         when readlink is called with a file name that ends in / and refers to
39015         a file.
39016         Suggested by Eric Blake.
39017         Reported by Rainer Tammer.
39018
39019 2010-07-31  Bruno Haible  <bruno@clisp.org>
39020
39021         copysign: Does not require -lm on glibc systems.
39022         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
39023         gl_COMMON_DOUBLE_MATHFUNC.
39024         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
39025
39026 2010-07-31  Bruno Haible  <bruno@clisp.org>
39027
39028         duplocale: Work around AIX 7.1 bug.
39029         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
39030         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
39031         * lib/duplocale.c (rpl_duplocale): Update comment.
39032         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
39033         Reported by Rainer Tammer.
39034
39035 2010-07-30  Bruno Haible  <bruno@clisp.org>
39036
39037         dirfd: Avoid link error on AIX 7.1.
39038         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
39039         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
39040         exist, set REPLACE_DIRFD.
39041         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
39042         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
39043         * doc/posix-functions/dirfd.texi: Update.
39044         Reported by Rainer Tammer.
39045
39046 2010-07-30  Eric Blake  <eblake@redhat.com>
39047
39048         strtod: next round of AIX fixes
39049         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
39050         exponent.
39051         * tests/test-strtod.c (main): Enhance tests.
39052         * doc/posix-functions/strtod.texi (strtod): Document next bug.
39053         Reported by Rainer Tammer.
39054
39055         futimens: fix configure check
39056         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
39057         Reported by Bruno Haible.
39058
39059 2010-07-30  Bruno Haible  <bruno@clisp.org>
39060
39061         getline: Update regarding AIX.
39062         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
39063         Reported by Rainer Tammer.
39064
39065 2010-07-30  Bruno Haible  <bruno@clisp.org>
39066
39067         wcwidth: Drop replacement on AIX 7.
39068         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
39069         AIX 7.
39070         Reported by Rainer Tammer.
39071
39072 2010-07-30  Bruno Haible  <bruno@clisp.org>
39073
39074         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
39075         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
39076         a 'char *'.
39077         Reported by Rainer Tammer.
39078
39079 2010-07-30  Bruno Haible  <bruno@clisp.org>
39080
39081         unlink: Update regarding AIX.
39082         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
39083         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
39084         Reported by Rainer Tammer.
39085
39086 2010-07-30  Bruno Haible  <bruno@clisp.org>
39087
39088         symlink: Update regarding AIX.
39089         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
39090         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
39091         Reported by Rainer Tammer.
39092
39093 2010-07-30  Bruno Haible  <bruno@clisp.org>
39094
39095         strndup: Update regarding AIX.
39096         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
39097         AIX 7.
39098         Reported by Rainer Tammer.
39099
39100 2010-07-30  Bruno Haible  <bruno@clisp.org>
39101
39102         stat: Update regarding AIX.
39103         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
39104         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
39105         Reported by Rainer Tammer.
39106
39107 2010-07-30  Bruno Haible  <bruno@clisp.org>
39108
39109         truncl: Fix autoconf test.
39110         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
39111         whether truncl works.
39112         Reported by Rainer Tammer.
39113
39114 2010-07-30  Bruno Haible  <bruno@clisp.org>
39115
39116         round: Update regarding AIX.
39117         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
39118         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
39119         Reported by Rainer Tammer.
39120
39121 2010-07-30  Bruno Haible  <bruno@clisp.org>
39122
39123         rename: Update regarding AIX.
39124         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
39125         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
39126         Reported by Rainer Tammer.
39127
39128 2010-07-30  Bruno Haible  <bruno@clisp.org>
39129
39130         printf.m4: Update regarding AIX.
39131         * m4/printf.m4: Update comments regarding AIX.
39132         Reported by Rainer Tammer.
39133
39134 2010-07-30  Bruno Haible  <bruno@clisp.org>
39135
39136         iconv: Update regarding AIX.
39137         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
39138         AIX 7.
39139         Reported by Rainer Tammer.
39140
39141 2010-07-30  Bruno Haible  <bruno@clisp.org>
39142
39143         getopt: Update regarding AIX.
39144         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
39145         no on AIX.
39146         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
39147         Reported by Rainer Tammer.
39148
39149 2010-07-30  Bruno Haible  <bruno@clisp.org>
39150
39151         ldexpl; Update regarding AIX.
39152         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
39153         on AIX 7.
39154         Reported by Rainer Tammer.
39155
39156 2010-07-30  Bruno Haible  <bruno@clisp.org>
39157
39158         frexpl: Update regarding AIX.
39159         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
39160         on AIX 7.
39161         Reported by Rainer Tammer.
39162
39163 2010-07-30  Bruno Haible  <bruno@clisp.org>
39164
39165         open, fopen: Update regarding AIX.
39166         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
39167         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
39168         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
39169         * doc/posix-functions/fopen.texi: Likewise.
39170         Reported by Rainer Tammer.
39171
39172 2010-07-30  Bruno Haible  <bruno@clisp.org>
39173
39174         chown: Update doc regarding AIX.
39175         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
39176         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
39177         Reported by Rainer Tammer.
39178
39179 2010-07-30  Eric Blake  <eblake@redhat.com>
39180
39181         strtod: fix bug in replacement function on AIX
39182         * lib/strtod.c (strtod): Special case broken "0x" parse in
39183         underlying strtod.
39184         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
39185         * doc/posix-functions/strtod.texi (strtod): Likewise.
39186         Reported by Rainer Tammer.
39187
39188 2010-07-30  Bruno Haible  <bruno@clisp.org>
39189
39190         mbrlen: Fix cross-compilation guess for AIX.
39191         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
39192         guess. Leftover from 2008-12-22.
39193
39194 2010-07-30  Bruno Haible  <bruno@clisp.org>
39195
39196         mbrtowc: Fix cross-compilation guess for AIX.
39197         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
39198         guess. Leftover from 2008-12-21.
39199
39200 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
39201
39202         init.sh: work around trap limitation of some shells
39203         * tests/init.sh (setup_): Move exit trap outside of shell function.
39204
39205 2010-07-29  Eric Blake  <eblake@redhat.com>
39206
39207         strtod: aid debugging
39208         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
39209         understanding why strtod is rejected.
39210
39211 2010-07-28  Bruno Haible  <bruno@clisp.org>
39212
39213         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
39214         * lib/unistr/u8-chr.c: Include <string.h>.
39215         * tests/unistr/test-u8-chr.c: Likewise.
39216         * tests/unistr/test-u16-chr.c: Likewise.
39217         * tests/unistr/test-u32-chr.c: Likewise.
39218         * tests/unistr/test-u8-strchr.c: Likewise.
39219         * tests/unistr/test-u16-strchr.c: Likewise.
39220         * tests/unistr/test-u32-strchr.c: Likewise.
39221         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
39222         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
39223         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
39224         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
39225
39226 2010-07-28  Bruno Haible  <bruno@clisp.org>
39227
39228         Use spaces for indentation, not tabs.
39229         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
39230
39231 2010-07-27  Bruno Haible  <bruno@clisp.org>
39232
39233         mbspcasecmp: Fix function specification.
39234         * lib/string.in.h (mbspcasecmp): Fix specification comment.
39235         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
39236         Reported by Eric Blake <eblake@redhat.com>.
39237
39238 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
39239
39240         timespec: use cast and not conditional, as truncation isn't possible
39241         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
39242         instead of a conditional.  Comment about the situation in more detail.
39243         This undoes most of the 2009-10-29 patch.
39244
39245 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
39246
39247         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
39248         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
39249         * lib/unistr/u8-strchr.c: Likewise.
39250         * modules/unistr/u8-chr: Depend on memchr.
39251
39252         unistr/u*-strchr: add tests
39253         * modules/unistr/u8-strchr-tests: New file.
39254         * modules/unistr/u16-strchr-tests: New file.
39255         * modules/unistr/u32-strchr-tests: New file.
39256         * tests/unistr/test-strchr.h: New file.
39257         * tests/unistr/test-u8-strchr.c: New file.
39258         * tests/unistr/test-u16-strchr.c: New file.
39259         * tests/unistr/test-u32-strchr.c: New file.
39260
39261         unistr/u*-chr: test multibyte sequences more
39262         * tests/unistr/test-chr.h: Do complete testing of the characters in the
39263         test vector.
39264         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
39265         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
39266         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
39267
39268         unistr/u*-chr: test multibyte sequences
39269         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
39270
39271         unistr/u*-chr: prepare for multibyte tests
39272         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
39273         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
39274         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
39275         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
39276         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
39277         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
39278
39279 2010-07-18  Bruno Haible  <bruno@clisp.org>
39280
39281         unistr/u8-strchr: Optimize non-ASCII argument case.
39282         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
39283         because the first byte often matches anyway.
39284         Reported by Pádraig Brady <P@draigbrady.com>.
39285
39286 2010-07-15  Karl Berry  <karl@gnu.org>
39287
39288         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
39289
39290 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
39291
39292         getcwd: on Solaris, work better if ancestors are inaccessible
39293         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
39294         buffer and size, try again with a large buffer.  This works better
39295         on Solaris, since its getcwd succeeds even if the path to the root
39296         is inaccessible, and this is helpful in common cases such as .zfs
39297         hidden directories.  Problem reported by J Chapman Flack in
39298         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
39299         Use system getcwd if it's declared, not merely if it's partly
39300         working; use the partly-working test only to avoid needless effort
39301         if the system getcwd fails.
39302         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
39303         comment that was already obsolete and is now even more obsolete.
39304         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
39305         now might call strdup.
39306
39307 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
39308
39309         pthread: Add enough so that coreutils/src/sort.c compiles.
39310         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
39311         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
39312         gnulib. Include <sched.h> and <time.h>, as per POSIX.
39313         Include <sys/types.h>, in case it defines pthread_t.
39314         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
39315         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
39316         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
39317         (pthread_rwlockattr_t, pthread_spinlock_t):
39318         New typedefs, if HAVE_PTHREAD_T is not defined.
39319         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
39320         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
39321         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
39322         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
39323         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
39324         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
39325         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
39326         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
39327         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
39328         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
39329         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
39330         New macros.
39331         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
39332         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
39333         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
39334         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
39335         (pthread_spin_unlock): New dummy functions.
39336         (pthread_create): Return EAGAIN; don't set errno.
39337         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
39338         require AC_C_INLINE.
39339         * modules/pthread (Depends-on): Add sched, time.
39340         (pthread.h): Use AM_V_GEN.
39341
39342 2010-07-13  Bruno Haible  <bruno@clisp.org>
39343
39344         striconveh: Don't malloc memory if the result buffer is sufficient.
39345         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
39346         buffer if its size is sufficient.
39347         Reported by Ludovic Courtès <ludo@gnu.org>.
39348
39349 2010-07-13  Bruno Haible  <bruno@clisp.org>
39350
39351         strtod: Add safety check.
39352         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
39353
39354 2010-07-12  Bruno Haible  <bruno@clisp.org>
39355
39356         Unify tests that set gl_cv_func_ldexpl_no_libm.
39357         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
39358         gl_FUNC_LDEXPL.
39359         (gl_FUNC_LDEXPL): Invoke it.
39360         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
39361
39362 2010-07-12  Bruno Haible  <bruno@clisp.org>
39363
39364         Unify tests that set gl_cv_func_ldexp_no_libm.
39365         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
39366         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
39367         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
39368         (configure.ac): Simply invoke gl_FUNC_LDEXP.
39369         * modules/strtod (Files): Add m4/ldexp.m4.
39370
39371 2010-07-12  Bruno Haible  <bruno@clisp.org>
39372
39373         Unify tests that set gl_cv_func_frexpl_no_libm.
39374         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
39375         gl_FUNC_FREXPL_NO_LIBM.
39376         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
39377         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
39378
39379 2010-07-12  Bruno Haible  <bruno@clisp.org>
39380
39381         Unify tests that set gl_cv_func_frexp_no_libm.
39382         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
39383         gl_FUNC_FREXP_NO_LIBM.
39384         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
39385         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
39386
39387 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
39388
39389         memcoll: clarify sizes versus lengths, document better, and tweak perf
39390         * lib/memcoll.c (strcoll_loop, memcoll0):
39391         Improve quality of descriptive comments.  Name variables
39392         consistently as to whether they are lengths (which do not include
39393         terminating null) versus sizes (which do).
39394         * lib/xmemcoll.c (xmemcoll0): Likewise.
39395         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
39396         returned when s1size == 0; this is easier to compile and saves
39397         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
39398
39399 2010-07-12  Bruno Haible  <bruno@clisp.org>
39400
39401         Tests for module '_Exit'.
39402         * modules/_Exit-tests: New file.
39403         * tests/test-_Exit.sh: New file.
39404         * tests/test-_Exit.c: New file.
39405
39406         New module '_Exit'.
39407         * lib/stdlib.in.h (__attribute__): New macro.
39408         (_Exit): New declaration.
39409         * lib/_Exit.c: New file.
39410         * m4/_Exit.m4: New file.
39411         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
39412         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
39413         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
39414         * modules/_Exit: New file.
39415         * tests/test-stdlib-c++.cc (_Exit): Check signature.
39416         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
39417
39418 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
39419
39420         strtod: make it more-accurate typically, and don't require libm
39421         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
39422         Include limits.h.  Don't include string.h.
39423         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
39424         (locale_isspace): New function, so that no casts are needed to
39425         check whether *s is a space.
39426         (ldexp): Provide an unused dummy if not available.
39427         (scale_radix_exp, parse_number, underlying_strtod): New functions.
39428         (strtod): Use them.  This implementation prefers to use the
39429         underlying strtod if available, falling back on our own code
39430         only to fix known bugs.  This is more likely to produce an
39431         accurate result.  Also, it avoids the use of libm functions.
39432         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
39433         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
39434         was absent, but it caused a test failure with coreutils.
39435         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
39436         with libm.
39437         * modules/strtod (Makefile.am, Link): libm is no longer needed.
39438         * modules/strtod-tests (Makefile.am): Likewise.
39439
39440 2010-07-11  Pádraig Brady  <P@draigBrady.com>
39441             Bruno Haible  <bruno@clisp.org>
39442
39443         unistr/u8-strchr: Optimize ASCII argument case.
39444         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
39445
39446 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
39447
39448         (x)memcoll: minor tweaks
39449         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
39450         is after the type that it qualifies.
39451         (memcoll0): Likewise.
39452         * lib/memcoll.h (memcoll0): Likewise.
39453         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
39454         * lib/xmemcoll.h (xmemcoll0): Likewise.
39455         * lib/memcoll.c (memcoll0): Correct the comment.  This function
39456         differs from memcoll in that the NUL byte is part of the argument.
39457         Omit the abort-checks, as performance is a real issue here.  Plus,
39458         the checks were wrong anyway (an off-by-one error).  Omit local
39459         variable 'diff', as it's a bit clearer that way.
39460         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
39461         no longer needed.
39462
39463 2010-07-08  Chen Guo <chenguo4@yahoo.com>
39464
39465         (x)memcoll: speedup when input is known to be NUL delimited
39466         * lib/memcoll.c: Include stdlib.
39467         (memcoll0): New function.
39468         (strcoll_loop): New function, refactored for use in both memcoll
39469         and memcoll0.
39470         * lib/memcoll.h (memcoll0): Add prototype.
39471         * lib/xmemcoll.c (xmemcoll0): New function.
39472         (collate_error): New function, refactored for use in both xmemcoll
39473         and xmemcoll0.
39474         * lib/xmemcoll.h (xmemcoll0): Add prototype.
39475         * m4/memcoll.m4: add inline invocation.
39476
39477 2010-07-06  Pádraig Brady  <P@draigBrady.com>
39478
39479         * build-aux/bootstrap: Remove any local translations
39480         from the translation project synchronization directory,
39481         so that local only translations are not distributed.
39482
39483 2010-07-04  Bruno Haible  <bruno@clisp.org>
39484
39485         fsusage: Clarify which code applies to which platforms.
39486         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
39487         platform.
39488         * lib/fsusage.c (get_fs_usage): Likewise.
39489
39490 2010-07-04  Bruno Haible  <bruno@clisp.org>
39491
39492         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
39493         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
39494         Reported by Martin Lambers <marlam@marlam.de>.
39495
39496 2010-07-04  Jim Meyering  <meyering@redhat.com>
39497
39498         hash: once again explicitly disallow insertion of NULL
39499         * lib/hash.c (hash_insert0): Reinstate just-removed test:
39500         inserting a NULL pointer cannot work with these functions.
39501         Add a comment with details.
39502         This reverts part of the 2010-07-01 commit, 5bef1a35
39503         "hash: extend module to deal with non-pointer keys".
39504
39505 2010-07-01  Bruno Haible  <bruno@clisp.org>
39506
39507         stdbool: Update doc.
39508         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
39509         Info from Christian Weisgerber <naddy@mips.inka.de>.
39510
39511 2010-07-01  Jim Meyering  <meyering@redhat.com>
39512
39513         hash: extend module to deal with non-pointer keys
39514         * lib/hash.c (hash_insert0): New interface, much like hash_insert
39515         but that allows insertion of non-pointer entries.
39516         Do not disallow an ENTRY value of NULL.
39517         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
39518         * lib/hash.h (hash_insert0): Declare.
39519
39520 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
39521
39522         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
39523         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
39524         not present (i.e. with autoconf 2.59 and when using gettextize, not
39525         gnulib), require AC_GNU_SOURCE instead.
39526
39527 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
39528
39529         idpriv-drop: Fix tests.
39530         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
39531         not to the test-idpriv-droptemp program.
39532
39533 2010-06-29  Bruno Haible  <bruno@clisp.org>
39534
39535         string: Fix syntax error with g++ 2.96.
39536         * lib/string.in.h (__pure__): Remove definition.
39537         (_GL_ATTRIBUTE_PURE): New macro.
39538         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
39539         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
39540         Reported by Christian Weisgerber <naddy@mips.inka.de>.
39541
39542 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
39543
39544         unitypes: Fix bug introduced on 2010-05-18.
39545         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
39546
39547 2010-06-22  Eric Blake  <eblake@redhat.com>
39548
39549         memmem: slight optimization
39550         * lib/str-two-way.h (critical_factorization): Update comments.
39551         Reduce work during factorization phase.
39552         Reported by Carlos Bueno <carlos@bueno.org>.
39553
39554 2010-06-21  Bruno Haible  <bruno@clisp.org>
39555
39556         Fix HAVE_CALLOC_POSIX misnomer.
39557         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
39558         !HAVE_CALLOC_POSIX.
39559         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
39560         HAVE_CALLOC_POSIX.
39561         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
39562         instead of HAVE_CALLOC_POSIX.
39563         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
39564         HAVE_CALLOC_POSIX.
39565
39566         Use modern idiom for calloc() replacement.
39567         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
39568         AC_FUNC_CALLOC.
39569         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
39570         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
39571         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
39572         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
39573         (gl_REPLACE_CALLOC): New macro.
39574
39575 2010-06-21  Bruno Haible  <bruno@clisp.org>
39576
39577         Fix HAVE_REALLOC_POSIX misnomer.
39578         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
39579         !HAVE_REALLOC_POSIX.
39580         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
39581         HAVE_REALLOC_POSIX.
39582         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
39583         instead of HAVE_REALLOC_POSIX.
39584         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
39585         HAVE_REALLOC_POSIX.
39586
39587         Use modern idiom for realloc() replacement.
39588         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
39589         AC_FUNC_REALLOC.
39590         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
39591         Autoconf's AC_FUNC_REALLOC.
39592         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
39593         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
39594         (gl_REPLACE_REALLOC): New macro.
39595         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
39596
39597 2010-06-21  Bruno Haible  <bruno@clisp.org>
39598
39599         Fix HAVE_MALLOC_POSIX misnomer.
39600         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
39601         !HAVE_MALLOC_POSIX.
39602         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
39603         HAVE_MALLOC_POSIX.
39604         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
39605         instead of HAVE_MALLOC_POSIX.
39606         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
39607         HAVE_MALLOC_POSIX.
39608
39609         Use modern idiom for malloc() replacement.
39610         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
39611         AC_FUNC_MALLOC.
39612         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
39613         Autoconf's AC_FUNC_MALLOC.
39614         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
39615         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
39616         (gl_REPLACE_MALLOC): New macro.
39617         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
39618
39619 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
39620
39621         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
39622         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
39623         This macro takes 3 arguments, not 4.
39624
39625 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
39626
39627         ipv6: fix detection under mingw
39628         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
39629         in6_addr.
39630
39631 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
39632
39633         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
39634         that strtod() works when cross-compiling to a glibc version known
39635         to work.
39636
39637 2010-06-15  Bruno Haible  <bruno@clisp.org>
39638
39639         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
39640
39641 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
39642
39643         select: Correct timeout.
39644         * lib/select.c (rpl_select): Compute wait_timeout correctly.
39645
39646 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
39647
39648         git-version-gen: init shell var to avoid env var influence
39649         * build-aux/git-version-gen (v): Init shell var to empty.
39650
39651 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
39652
39653         priv-set: Don't assume that priv.h exists merely because getppriv does.
39654         See Jan Andersen's bug report about AIX 5L in
39655         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
39656         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
39657         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
39658         * lib/priv-set.h: Likewise.
39659         * tests/test-priv-set.c: Likewise.
39660
39661 2010-06-13  Bruno Haible  <bruno@clisp.org>
39662
39663         relocatable: Make it easier to test whether to install wrappers.
39664         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
39665         RELOCATABLE_VIA_WRAPPER.
39666
39667 2010-06-13  Bruno Haible  <bruno@clisp.org>
39668
39669         gnulib-tool: Display specified modules and dependencies differently.
39670         * gnulib-tool (func_show_module_list): New function.
39671         (func_import, func_create_testdir): Invoke it.
39672         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39673
39674 2010-06-13  Bruno Haible  <bruno@clisp.org>
39675
39676         gnulib-tool: Align code of func_import and func_create_testdir.
39677         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
39678         specified_modules.
39679
39680 2010-06-12  Jim Meyering  <meyering@redhat.com>
39681
39682         test-inttostr: avoid spurious failure on Solaris 9
39683         * tests/test-inttostr.c (main): Skip the test when snprintf fails
39684         to accept "%ju".  Reported by Bruno Haible.
39685
39686 2010-06-11  Jim Meyering  <meyering@redhat.com>
39687
39688         test-sys_socket: mark variables as used more readably
39689         * tests/test-sys_socket.c (main): Mark otherwise unused variables
39690         as "used" explicitly via (void) statement casts.  This is more
39691         readable than using them in an artificial return expression.
39692         Suggestion from Bruno Haible.
39693
39694 2010-06-11  Bruno Haible  <bruno@clisp.org>
39695
39696         Avoid some more warnings from "gcc -Wwrite-strings".
39697         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
39698         to 'const char *'.
39699         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
39700         * tests/test-c-strcasestr.c (main): Likewise.
39701         * tests/test-mbscasestr1.c (main): Likewise.
39702         * tests/test-mbscasestr2.c (main): Likewise.
39703         * tests/test-memmem.c (main): Likewise.
39704         * tests/test-strstr.c (main): Likewise.
39705         * tests/test-strcasestr.c (main): Likewise.
39706
39707 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39708
39709         init.sh: change framework_failure_ to fail with status 99, not 1
39710         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
39711         automake's parallel-tests rule that this is an unexpected failure,
39712         even if the test is listed in XFAIL_TESTS.
39713
39714 2010-06-11  Jim Meyering  <meyering@redhat.com>
39715
39716         test-inttostr: avoid warnings about 4-6KB literal strings
39717         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
39718         Include "macros.h", for its definition of ASSERT.
39719         (CK): s/assert/ASSERT/
39720         * modules/inttostr-tests (Files): Add macros.h.
39721
39722         init.sh: don't use $ME_ or skip_ before they are defined
39723         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
39724         their first uses.  Also hoist their companions: warn_, fail_,
39725         framework_failure_, $stderr_fileno.  Prompted by a patch from
39726         Stefano Lattarini.
39727
39728         test-sys_socket: avoid set-but-not-used warnings from gcc
39729         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
39730         avoid warning about set-but-not-used variables.
39731
39732         test-xvasprintf: avoid 'const' discard warnings
39733         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
39734         "const" when assigning from literal strings.
39735         (test_xasprintf): Add "void" in function argument list to placate
39736         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
39737
39738         tests: avoid compilation warnings in argmatch and exclude tests...
39739         in packages that define ARGMATCH_DIE_DECL, like coreutils.
39740         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
39741         Since it always exits, declare with the "noreturn" attribute.
39742         * tests/test-argmatch.c: Likewise.
39743
39744         tests: avoid 'const' discard warnings in mbsstr tests
39745         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
39746         * tests/test-mbsstr2.c (main): Likewise.
39747
39748         test-verify: avoid warning from gcc's -Wmissing-declarations
39749         * tests/test-verify.c (function): Declare to be static.
39750
39751         test-inttostr.c: include <string.h> for use of strcmp
39752         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
39753
39754         test-linkat: avoid failed assertion on "other" architectures
39755         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
39756         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
39757         sparc: https://bugs.launchpad.net/bugs/591968
39758
39759 2010-06-11  Jim Meyering  <meyering@redhat.com>
39760
39761         printf.m4: avoid autoconf's "Expanded Before Required" warning
39762         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
39763         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
39764         autoconf warning.
39765
39766 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
39767
39768         Replacement header templates are now named with ".in", not "_".
39769         * doc/gnulib-intro.texi: Correct.
39770
39771 2010-06-10  Jim Meyering  <meyering@redhat.com>
39772
39773         inttostr-tests: depend on snprintf, not snprintf-posix
39774         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
39775         snprintf-posix, to avoid this aclocal failure:
39776           missing file gnulib-tests/vasnprintf.c
39777           configure.ac:45: error: expected source file, required through \
39778           AC_LIBSOURCES, not found
39779
39780 2010-06-10  Jim Meyering  <meyering@redhat.com>
39781
39782         inttostr: add a new function, inttostr, and tests
39783         The namesake function was not available.  The existence of the
39784         template file, inttostr.c makes its addition nontrivial.
39785         * lib/anytostr.c: Rename from inttostr.c.
39786         (anytostr): Rename from inttostr.
39787         * lib/inttostr.c: New file.
39788         * modules/inttostr (Files): Add anytostr.c.
39789         (Makefile.am): Set lib_SOURCES instead of ...
39790         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
39791         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
39792         * lib/offtostr.c: Likewise.
39793         * lib/uinttostr.c: Likewise.
39794         * lib/umaxtostr.c: Likewise.
39795         * modules/inttostr-tests: New file.
39796         * tests/test-inttostr.c: New file.  Test these functions.
39797
39798 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
39799             Bruno Haible  <bruno@clisp.org>
39800
39801         Add "Extending Gnulib" chapter to manual.
39802         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
39803         chapter.
39804         (Extending Gnulib): New chapter.
39805         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
39806         chapter.
39807
39808 2010-06-09  Bruno Haible  <bruno@clisp.org>
39809
39810         Avoid relocwrapper link errors due to gnulib replacement functions.
39811         * lib/areadlink.c: Use the system's malloc, realloc functions.
39812         (areadlink): Set errno to ENOMEM explicitly.
39813         * modules/areadlink (Depends-on): Remove malloc-posix.
39814         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39815
39816 2010-06-09  Bruno Haible  <bruno@clisp.org>
39817
39818         Avoid relocwrapper link errors due to gnulib replacement functions.
39819         * lib/canonicalize-lgpl.c: Use the system's malloc function.
39820         * lib/malloca.c: Likewise.
39821         * lib/relocatable.c: Likewise.
39822         * lib/progreloc.c: Use the system's malloc, sprintf functions.
39823         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
39824         * lib/setenv.c: Use the system's malloc, realloc functions.
39825         * lib/strerror.c: Use the system's sprintf function.
39826         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39827
39828 2010-06-04  Bruno Haible  <bruno@clisp.org>
39829
39830         Prefer documented low-level autoconf macro names.
39831         * m4/lib-link.m4: Use m4_translit instead of translit.
39832         * m4/environ.m4: Likewise.
39833         * m4/mathfunc.m4: Likewise.
39834         * m4/onceonly.m4: Likewise.
39835         * m4/stdint.m4: Likewise.
39836         Suggested by Eric Blake.
39837
39838 2010-06-04  Martin Lambers  <marlam@marlam.de>
39839             Bruno Haible  <bruno@clisp.org>
39840
39841         havelib: Allow library names with '+' characters.
39842         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
39843         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
39844
39845 2010-06-09  Bruno Haible  <bruno@clisp.org>
39846
39847         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
39848         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
39849         realloc failed.
39850
39851 2010-06-08  Peter Simons  <simons@cryp.to>
39852
39853         maint.mk: make the news-check rule more configurable
39854         * top/maint.mk (news-check-lines-spec): New variable.
39855         (news-check): Use "sed -n 1,10p" in place of "head".
39856
39857 2010-06-07  Jim Meyering  <meyering@redhat.com>
39858
39859         do-release-commit-and-tag: fix typo in --help
39860         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
39861
39862         regex: avoid new dead-code warning with gcc-4.6.0
39863         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
39864         if-block containing a while-loop.  It's been unused for at least
39865         5 years.
39866
39867 2010-06-05  Bruno Haible  <bruno@clisp.org>
39868
39869         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
39870         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
39871
39872 2010-06-04  Bruno Haible  <bruno@clisp.org>
39873
39874         Update to GNU gettext 0.18.1.
39875         * modules/gettext (configure.ac): Require gettext infrastructure from
39876         version 0.18.1.
39877
39878 2010-06-03  Bruno Haible  <bruno@clisp.org>
39879
39880         Don't use AC_LIBOBJ with file names in subdirectories.
39881         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
39882         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
39883         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
39884         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
39885         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
39886         gl_LIBUNISTRING_LIBSOURCE.
39887         (Makefile.am): Augment lib_SOURCES here, conditionally.
39888         * NEWS: Drop requirement for Automake option 'subdir-objects'.
39889
39890 2010-06-03  Bruno Haible  <bruno@clisp.org>
39891
39892         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
39893         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
39894         expansion does not end with a newline.
39895         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
39896         unnecessary newline.
39897
39898 2010-06-03  Bruno Haible  <bruno@clisp.org>
39899
39900         Reduce dependencies.
39901         * tests/test-quotearg.h: New file, extracted from
39902         tests/test-quotearg.c.
39903         * tests/test-quotearg-simple.c: New file, extracted from
39904         tests/test-quotearg.c.
39905         * tests/test-quotearg.c: Don't include <ctype.h>.
39906         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
39907         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
39908         use_quote_double_quotes, use_quotearg_colon): Moved to
39909         tests/test-quotearg.h.
39910         (results_g, flag_results, custom_quotes, custom_results): Moved
39911         to tests/test-quotearg-simple.c.
39912         (main): Moved the part that does not depend on gettext to
39913         tests/test-quotearg-simple.c. Return 77 if the test cannot be
39914         performed.
39915         * modules/quotearg-simple: New file.
39916         * modules/quotearg-simple-tests: New file.
39917         * modules/quotearg (Depends-on): Add quotearg-simple.
39918         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
39919         (Files): Add tests/test-quotearg.h.
39920         Reported by Paolo Bonzini.
39921
39922 2010-06-03  Bruno Haible  <bruno@clisp.org>
39923
39924         Reduce dependencies.
39925         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
39926
39927 2010-06-03  Bruno Haible  <bruno@clisp.org>
39928
39929         time: Undefine more broken macros.
39930         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
39931         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
39932         Reported by Eric Blake.
39933
39934 2010-06-03  Bruno Haible  <bruno@clisp.org>
39935
39936         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
39937         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
39938         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
39939         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
39940         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
39941         Reported by Ludovic Courtès <ludo@gnu.org>.
39942
39943 2010-06-02  Eric Blake  <eblake@redhat.com>
39944
39945         time: work with mingw + pthreads-win32 library
39946         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
39947         if timespec is defined only in pthread.h.
39948         * modules/time (Makefile.am): Substitute it.
39949         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
39950         <pthread.h>, when needed.
39951         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
39952         from the library.
39953
39954 2010-05-31  Bruno Haible  <bruno@clisp.org>
39955
39956         Avoid expanding two macros in the wrong order.
39957         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
39958         gl_LIBUNISTRING if it is defined.
39959         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
39960         autoconf >= 2.64.
39961         Reported by Ludovic Courtès <ludo@gnu.org>.
39962
39963 2010-05-27  Jim Meyering  <meyering@redhat.com>
39964
39965         maint.mk: also prohibit "#undef" of always-defined symbols
39966         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
39967         Allow more than one space before the symbol name.
39968         (sc_prohibit_always-defined_macros): Use grep's -E, now that
39969         the regexp uses alternation.
39970
39971 2010-05-26  Eric Blake  <eblake@redhat.com>
39972
39973         maint.mk: avoid echo -e
39974         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
39975         Convert all uses of echo -* to printf.
39976         Reported by Matthias Bolte.
39977
39978 2010-05-25  Bruno Haible  <bruno@clisp.org>
39979
39980         Update to GNU gettext 0.18, part 2.
39981         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
39982         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
39983
39984 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39985
39986         Add missing include in test-pwrite.c.
39987         * tests/test-pwrite.c: Include string.h, for strcmp.
39988
39989 2010-05-24  Bruno Haible  <bruno@clisp.org>
39990
39991         * NEWS: Mention requirement for Automake option 'subdir-objects'.
39992
39993 2010-05-24  Bruno Haible  <bruno@clisp.org>
39994
39995         Don't use conversion with transliteration in u{8,16,32}_strcoll.
39996         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
39997         iconveh_error argument.
39998         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
39999         U_STRCONV_TO_LOCALE.
40000         * lib/unistr/u16-strcoll.c: Likewise.
40001         * lib/unistr/u32-strcoll.c: Likewise.
40002         * modules/unistr/u8-strcoll (Depends-on): Add
40003         uniconv/u8-strconv-to-enc, localcharset. Remove
40004         uniconv/u8-strconv-to-locale.
40005         (configure.ac): Bump version number.
40006         * modules/unistr/u16-strcoll (Depends-on): Add
40007         uniconv/u16-strconv-to-enc, localcharset. Remove
40008         uniconv/u16-strconv-to-locale.
40009         (configure.ac): Bump version number.
40010         * modules/unistr/u32-strcoll (Depends-on): Add
40011         uniconv/u32-strconv-to-enc, localcharset. Remove
40012         uniconv/u32-strconv-to-locale.
40013         (configure.ac): Bump version number.
40014
40015 2010-05-24  Bruno Haible  <bruno@clisp.org>
40016
40017         Avoid a test failure on NetBSD 5.0.
40018         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
40019         an iconv() bug.
40020
40021 2010-05-24  Bruno Haible  <bruno@clisp.org>
40022
40023         Adjust #include directive style.
40024         * modules/regex (Includes): Recommend to write <regex.h>.
40025
40026 2010-05-24  Bruno Haible  <bruno@clisp.org>
40027
40028         regex: Don't require alloca.
40029         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
40030         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
40031         only inside if (0).
40032
40033 2010-05-23  Jim Meyering  <meyering@redhat.com>
40034
40035         test-renameat.c: include <sys/stat.h>
40036         * tests/test-renameat.c: Include <sys/stat.h>; required for
40037         definition of S_IS* macros.
40038
40039 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
40040
40041         Update maintainer documentation for 'relocatable-prog' module.
40042         * doc/relocatable-maint.texi: Update.
40043         Comments by Bruno Haible.
40044
40045 2010-05-23  Bruno Haible  <bruno@clisp.org>
40046
40047         git-merge-changelog: Enable --split-merged-entry by default.
40048         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
40049         (usage): Don't mention this option any more.
40050         Reported by Ralf Wildenhues.
40051
40052 2010-05-23  Jim Meyering  <meyering@redhat.com>
40053
40054         test-pwrite: do not leave behind a test file named "out"
40055         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
40056         The trivial-looking use of init.sh is really necessary.
40057         It ensures that the temporary file, "out", is created in
40058         a temporary directory, and removed upon termination.
40059         * tests/test-pwrite.sh: Re-add file.
40060         * modules/pwrite-tests: Reference it.
40061
40062 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40063
40064         Fix output redirection buglet in init.sh.
40065         * tests/init.sh: Fix redirection of stderr.
40066
40067 2010-05-20  Simon Josefsson  <simon@josefsson.org>
40068
40069         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
40070
40071 2010-05-17  Simon Josefsson  <simon@josefsson.org>
40072
40073         * modules/valgrind-tests: New file.
40074         * m4/valgrind-tests.m4: New file.
40075         * doc/valgrind-tests.texi: New file.
40076         * doc/gnulib.texi (Running self-tests under valgrind): New
40077         section.
40078
40079 2010-05-19  Bruno Haible  <bruno@clisp.org>
40080
40081         Clean up dead code in recent commit.
40082         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
40083         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
40084         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
40085         Suggested by Paolo Bonzini.
40086
40087 2010-05-19  Bruno Haible  <bruno@clisp.org>
40088
40089         Avoid valgrind error reports from libunistring.
40090         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
40091         * modules/libunistring (Files): Add it.
40092         * modules/libunistring-optional (Files): Likewise.
40093
40094 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
40095             Bruno Haible  <bruno@clisp.org>
40096
40097         New module 'libunistring-optional'.
40098         * modules/libunistring-optional: New file.
40099         * m4/libunistring-base.m4: New file.
40100         * m4/libunistring-optional.m4: New file.
40101         * lib/unicase.in.h: Renamed from lib/unicase.h.
40102         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
40103         * lib/unictype.in.h: Renamed from lib/unictype.h.
40104         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
40105         * lib/uniname.in.h: Renamed from lib/uniname.h.
40106         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
40107         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
40108         * lib/unistr.in.h: Renamed from lib/unistr.h.
40109         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
40110         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
40111         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
40112         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
40113         gl_LIBUNISTRING. If the library was found, determine the installed
40114         version and set LIBUNISTRING_VERSION.
40115         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
40116         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
40117         handle a configuration option --with-included-libunistring.
40118         * modules/libunistring (Files): Add m4/absolute-header.m4.
40119         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
40120         Add m4/libunistring-base.m4.
40121         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40122         (Makefile.am): Build unicase.h from unicase.in.h.
40123         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
40124         Add m4/libunistring-base.m4.
40125         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40126         (Makefile.am): Build uniconv.h from uniconv.in.h.
40127         * modules/unictype/base (Files): Use unictype.in.h instead of
40128         unictype.h. Add m4/libunistring-base.m4.
40129         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40130         (Makefile.am): Build unictype.h from unictype.in.h.
40131         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
40132         Add m4/libunistring-base.m4.
40133         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40134         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
40135         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
40136         Add m4/libunistring-base.m4.
40137         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40138         (Makefile.am): Build uniname.h from uniname.in.h.
40139         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
40140         Add m4/libunistring-base.m4.
40141         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40142         (Makefile.am): Build uninorm.h from uninorm.in.h.
40143         * modules/unistdio/base (Files): Use unistdio.in.h instead of
40144         unistdio.h. Add m4/libunistring-base.m4.
40145         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40146         (Makefile.am): Build unistdio.h from unistdio.in.h.
40147         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
40148         Add m4/libunistring-base.m4.
40149         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40150         (Makefile.am): Build unistr.h from unistr.in.h.
40151         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
40152         Add m4/libunistring-base.m4.
40153         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40154         (Makefile.am): Build unitypes.h from unitypes.in.h.
40155         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
40156         Add m4/libunistring-base.m4.
40157         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40158         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
40159         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
40160         uniwidth.h. Add m4/libunistring-base.m4.
40161         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
40162         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
40163         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
40164         instead of augmenting lib_SOURCES.
40165         * modules/unicase/empty-suffix-context: Likewise.
40166         * modules/unicase/locale-language: Likewise.
40167         * modules/unicase/tolower: Likewise.
40168         * modules/unicase/totitle: Likewise.
40169         * modules/unicase/toupper: Likewise.
40170         * modules/unicase/u8-casecmp: Likewise.
40171         * modules/unicase/u8-casecoll: Likewise.
40172         * modules/unicase/u8-casefold: Likewise.
40173         * modules/unicase/u8-casexfrm: Likewise.
40174         * modules/unicase/u8-ct-casefold: Likewise.
40175         * modules/unicase/u8-ct-tolower: Likewise.
40176         * modules/unicase/u8-ct-totitle: Likewise.
40177         * modules/unicase/u8-ct-toupper: Likewise.
40178         * modules/unicase/u8-is-cased: Likewise.
40179         * modules/unicase/u8-is-casefolded: Likewise.
40180         * modules/unicase/u8-is-lowercase: Likewise.
40181         * modules/unicase/u8-is-titlecase: Likewise.
40182         * modules/unicase/u8-is-uppercase: Likewise.
40183         * modules/unicase/u8-prefix-context: Likewise.
40184         * modules/unicase/u8-suffix-context: Likewise.
40185         * modules/unicase/u8-tolower: Likewise.
40186         * modules/unicase/u8-totitle: Likewise.
40187         * modules/unicase/u8-toupper: Likewise.
40188         * modules/unicase/u16-casecmp: Likewise.
40189         * modules/unicase/u16-casecoll: Likewise.
40190         * modules/unicase/u16-casefold: Likewise.
40191         * modules/unicase/u16-casexfrm: Likewise.
40192         * modules/unicase/u16-ct-casefold: Likewise.
40193         * modules/unicase/u16-ct-tolower: Likewise.
40194         * modules/unicase/u16-ct-totitle: Likewise.
40195         * modules/unicase/u16-ct-toupper: Likewise.
40196         * modules/unicase/u16-is-cased: Likewise.
40197         * modules/unicase/u16-is-casefolded: Likewise.
40198         * modules/unicase/u16-is-lowercase: Likewise.
40199         * modules/unicase/u16-is-titlecase: Likewise.
40200         * modules/unicase/u16-is-uppercase: Likewise.
40201         * modules/unicase/u16-prefix-context: Likewise.
40202         * modules/unicase/u16-suffix-context: Likewise.
40203         * modules/unicase/u16-tolower: Likewise.
40204         * modules/unicase/u16-totitle: Likewise.
40205         * modules/unicase/u16-toupper: Likewise.
40206         * modules/unicase/u32-casecmp: Likewise.
40207         * modules/unicase/u32-casecoll: Likewise.
40208         * modules/unicase/u32-casefold: Likewise.
40209         * modules/unicase/u32-casexfrm: Likewise.
40210         * modules/unicase/u32-ct-casefold: Likewise.
40211         * modules/unicase/u32-ct-tolower: Likewise.
40212         * modules/unicase/u32-ct-totitle: Likewise.
40213         * modules/unicase/u32-ct-toupper: Likewise.
40214         * modules/unicase/u32-is-cased: Likewise.
40215         * modules/unicase/u32-is-casefolded: Likewise.
40216         * modules/unicase/u32-is-lowercase: Likewise.
40217         * modules/unicase/u32-is-titlecase: Likewise.
40218         * modules/unicase/u32-is-uppercase: Likewise.
40219         * modules/unicase/u32-prefix-context: Likewise.
40220         * modules/unicase/u32-suffix-context: Likewise.
40221         * modules/unicase/u32-tolower: Likewise.
40222         * modules/unicase/u32-totitle: Likewise.
40223         * modules/unicase/u32-toupper: Likewise.
40224         * modules/unicase/ulc-casecmp: Likewise.
40225         * modules/unicase/ulc-casecoll: Likewise.
40226         * modules/unicase/ulc-casexfrm: Likewise.
40227         * modules/uniconv/u8-conv-from-enc: Likewise.
40228         * modules/uniconv/u8-conv-to-enc: Likewise.
40229         * modules/uniconv/u8-strconv-from-enc: Likewise.
40230         * modules/uniconv/u8-strconv-from-locale: Likewise.
40231         * modules/uniconv/u8-strconv-to-enc: Likewise.
40232         * modules/uniconv/u8-strconv-to-locale: Likewise.
40233         * modules/uniconv/u16-conv-from-enc: Likewise.
40234         * modules/uniconv/u16-conv-to-enc: Likewise.
40235         * modules/uniconv/u16-strconv-from-enc: Likewise.
40236         * modules/uniconv/u16-strconv-from-locale: Likewise.
40237         * modules/uniconv/u16-strconv-to-enc: Likewise.
40238         * modules/uniconv/u16-strconv-to-locale: Likewise.
40239         * modules/uniconv/u32-conv-from-enc: Likewise.
40240         * modules/uniconv/u32-conv-to-enc: Likewise.
40241         * modules/uniconv/u32-strconv-from-enc: Likewise.
40242         * modules/uniconv/u32-strconv-from-locale: Likewise.
40243         * modules/uniconv/u32-strconv-to-enc: Likewise.
40244         * modules/uniconv/u32-strconv-to-locale: Likewise.
40245         * modules/unictype/bidicategory-byname: Likewise.
40246         * modules/unictype/bidicategory-name: Likewise.
40247         * modules/unictype/bidicategory-of: Likewise.
40248         * modules/unictype/bidicategory-test: Likewise.
40249         * modules/unictype/block-list: Likewise.
40250         * modules/unictype/block-test: Likewise.
40251         * modules/unictype/category-C: Likewise.
40252         * modules/unictype/category-Cc: Likewise.
40253         * modules/unictype/category-Cf: Likewise.
40254         * modules/unictype/category-Cn: Likewise.
40255         * modules/unictype/category-Co: Likewise.
40256         * modules/unictype/category-Cs: Likewise.
40257         * modules/unictype/category-L: Likewise.
40258         * modules/unictype/category-Ll: Likewise.
40259         * modules/unictype/category-Lm: Likewise.
40260         * modules/unictype/category-Lo: Likewise.
40261         * modules/unictype/category-Lt: Likewise.
40262         * modules/unictype/category-Lu: Likewise.
40263         * modules/unictype/category-M: Likewise.
40264         * modules/unictype/category-Mc: Likewise.
40265         * modules/unictype/category-Me: Likewise.
40266         * modules/unictype/category-Mn: Likewise.
40267         * modules/unictype/category-N: Likewise.
40268         * modules/unictype/category-Nd: Likewise.
40269         * modules/unictype/category-Nl: Likewise.
40270         * modules/unictype/category-No: Likewise.
40271         * modules/unictype/category-P: Likewise.
40272         * modules/unictype/category-Pc: Likewise.
40273         * modules/unictype/category-Pd: Likewise.
40274         * modules/unictype/category-Pe: Likewise.
40275         * modules/unictype/category-Pf: Likewise.
40276         * modules/unictype/category-Pi: Likewise.
40277         * modules/unictype/category-Po: Likewise.
40278         * modules/unictype/category-Ps: Likewise.
40279         * modules/unictype/category-S: Likewise.
40280         * modules/unictype/category-Sc: Likewise.
40281         * modules/unictype/category-Sk: Likewise.
40282         * modules/unictype/category-Sm: Likewise.
40283         * modules/unictype/category-So: Likewise.
40284         * modules/unictype/category-Z: Likewise.
40285         * modules/unictype/category-Zl: Likewise.
40286         * modules/unictype/category-Zp: Likewise.
40287         * modules/unictype/category-Zs: Likewise.
40288         * modules/unictype/category-and: Likewise.
40289         * modules/unictype/category-and-not: Likewise.
40290         * modules/unictype/category-byname: Likewise.
40291         * modules/unictype/category-name: Likewise.
40292         * modules/unictype/category-none: Likewise.
40293         * modules/unictype/category-of: Likewise.
40294         * modules/unictype/category-or: Likewise.
40295         * modules/unictype/category-test: Likewise.
40296         * modules/unictype/combining-class: Likewise.
40297         * modules/unictype/ctype-alnum: Likewise.
40298         * modules/unictype/ctype-alpha: Likewise.
40299         * modules/unictype/ctype-blank: Likewise.
40300         * modules/unictype/ctype-cntrl: Likewise.
40301         * modules/unictype/ctype-digit: Likewise.
40302         * modules/unictype/ctype-graph: Likewise.
40303         * modules/unictype/ctype-lower: Likewise.
40304         * modules/unictype/ctype-print: Likewise.
40305         * modules/unictype/ctype-punct: Likewise.
40306         * modules/unictype/ctype-space: Likewise.
40307         * modules/unictype/ctype-upper: Likewise.
40308         * modules/unictype/ctype-xdigit: Likewise.
40309         * modules/unictype/decimal-digit: Likewise.
40310         * modules/unictype/digit: Likewise.
40311         * modules/unictype/mirror: Likewise.
40312         * modules/unictype/numeric: Likewise.
40313         * modules/unictype/property-alphabetic: Likewise.
40314         * modules/unictype/property-ascii-hex-digit: Likewise.
40315         * modules/unictype/property-bidi-arabic-digit: Likewise.
40316         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
40317         * modules/unictype/property-bidi-block-separator: Likewise.
40318         * modules/unictype/property-bidi-boundary-neutral: Likewise.
40319         * modules/unictype/property-bidi-common-separator: Likewise.
40320         * modules/unictype/property-bidi-control: Likewise.
40321         * modules/unictype/property-bidi-embedding-or-override: Likewise.
40322         * modules/unictype/property-bidi-eur-num-separator: Likewise.
40323         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
40324         * modules/unictype/property-bidi-european-digit: Likewise.
40325         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
40326         * modules/unictype/property-bidi-left-to-right: Likewise.
40327         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
40328         * modules/unictype/property-bidi-other-neutral: Likewise.
40329         * modules/unictype/property-bidi-pdf: Likewise.
40330         * modules/unictype/property-bidi-segment-separator: Likewise.
40331         * modules/unictype/property-bidi-whitespace: Likewise.
40332         * modules/unictype/property-byname: Likewise.
40333         * modules/unictype/property-combining: Likewise.
40334         * modules/unictype/property-composite: Likewise.
40335         * modules/unictype/property-currency-symbol: Likewise.
40336         * modules/unictype/property-dash: Likewise.
40337         * modules/unictype/property-decimal-digit: Likewise.
40338         * modules/unictype/property-default-ignorable-code-point: Likewise.
40339         * modules/unictype/property-deprecated: Likewise.
40340         * modules/unictype/property-diacritic: Likewise.
40341         * modules/unictype/property-extender: Likewise.
40342         * modules/unictype/property-format-control: Likewise.
40343         * modules/unictype/property-grapheme-base: Likewise.
40344         * modules/unictype/property-grapheme-extend: Likewise.
40345         * modules/unictype/property-grapheme-link: Likewise.
40346         * modules/unictype/property-hex-digit: Likewise.
40347         * modules/unictype/property-hyphen: Likewise.
40348         * modules/unictype/property-id-continue: Likewise.
40349         * modules/unictype/property-id-start: Likewise.
40350         * modules/unictype/property-ideographic: Likewise.
40351         * modules/unictype/property-ids-binary-operator: Likewise.
40352         * modules/unictype/property-ids-trinary-operator: Likewise.
40353         * modules/unictype/property-ignorable-control: Likewise.
40354         * modules/unictype/property-iso-control: Likewise.
40355         * modules/unictype/property-join-control: Likewise.
40356         * modules/unictype/property-left-of-pair: Likewise.
40357         * modules/unictype/property-line-separator: Likewise.
40358         * modules/unictype/property-logical-order-exception: Likewise.
40359         * modules/unictype/property-lowercase: Likewise.
40360         * modules/unictype/property-math: Likewise.
40361         * modules/unictype/property-non-break: Likewise.
40362         * modules/unictype/property-not-a-character: Likewise.
40363         * modules/unictype/property-numeric: Likewise.
40364         * modules/unictype/property-other-alphabetic: Likewise.
40365         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
40366         * modules/unictype/property-other-grapheme-extend: Likewise.
40367         * modules/unictype/property-other-id-continue: Likewise.
40368         * modules/unictype/property-other-id-start: Likewise.
40369         * modules/unictype/property-other-lowercase: Likewise.
40370         * modules/unictype/property-other-math: Likewise.
40371         * modules/unictype/property-other-uppercase: Likewise.
40372         * modules/unictype/property-paired-punctuation: Likewise.
40373         * modules/unictype/property-paragraph-separator: Likewise.
40374         * modules/unictype/property-pattern-syntax: Likewise.
40375         * modules/unictype/property-pattern-white-space: Likewise.
40376         * modules/unictype/property-private-use: Likewise.
40377         * modules/unictype/property-punctuation: Likewise.
40378         * modules/unictype/property-quotation-mark: Likewise.
40379         * modules/unictype/property-radical: Likewise.
40380         * modules/unictype/property-sentence-terminal: Likewise.
40381         * modules/unictype/property-soft-dotted: Likewise.
40382         * modules/unictype/property-space: Likewise.
40383         * modules/unictype/property-terminal-punctuation: Likewise.
40384         * modules/unictype/property-test: Likewise.
40385         * modules/unictype/property-titlecase: Likewise.
40386         * modules/unictype/property-unassigned-code-value: Likewise.
40387         * modules/unictype/property-unified-ideograph: Likewise.
40388         * modules/unictype/property-uppercase: Likewise.
40389         * modules/unictype/property-variation-selector: Likewise.
40390         * modules/unictype/property-white-space: Likewise.
40391         * modules/unictype/property-xid-continue: Likewise.
40392         * modules/unictype/property-xid-start: Likewise.
40393         * modules/unictype/property-zero-width: Likewise.
40394         * modules/unictype/scripts: Likewise.
40395         * modules/unictype/syntax-c-ident: Likewise.
40396         * modules/unictype/syntax-c-whitespace: Likewise.
40397         * modules/unictype/syntax-java-ident: Likewise.
40398         * modules/unictype/syntax-java-whitespace: Likewise.
40399         * modules/unilbrk/u8-possible-linebreaks: Likewise.
40400         * modules/unilbrk/u8-width-linebreaks: Likewise.
40401         * modules/unilbrk/u16-possible-linebreaks: Likewise.
40402         * modules/unilbrk/u16-width-linebreaks: Likewise.
40403         * modules/unilbrk/u32-possible-linebreaks: Likewise.
40404         * modules/unilbrk/u32-width-linebreaks: Likewise.
40405         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
40406         * modules/unilbrk/ulc-width-linebreaks: Likewise.
40407         * modules/uniname/uniname: Likewise.
40408         * modules/uninorm/canonical-decomposition: Likewise.
40409         * modules/uninorm/composition: Likewise.
40410         * modules/uninorm/decomposing-form: Likewise.
40411         * modules/uninorm/decomposition: Likewise.
40412         * modules/uninorm/filter: Likewise.
40413         * modules/uninorm/nfc: Likewise.
40414         * modules/uninorm/nfd: Likewise.
40415         * modules/uninorm/nfkc: Likewise.
40416         * modules/uninorm/nfkd: Likewise.
40417         * modules/uninorm/u8-normalize: Likewise.
40418         * modules/uninorm/u8-normcmp: Likewise.
40419         * modules/uninorm/u8-normcoll: Likewise.
40420         * modules/uninorm/u8-normxfrm: Likewise.
40421         * modules/uninorm/u16-normalize: Likewise.
40422         * modules/uninorm/u16-normcmp: Likewise.
40423         * modules/uninorm/u16-normcoll: Likewise.
40424         * modules/uninorm/u16-normxfrm: Likewise.
40425         * modules/uninorm/u32-normalize: Likewise.
40426         * modules/uninorm/u32-normcmp: Likewise.
40427         * modules/uninorm/u32-normcoll: Likewise.
40428         * modules/uninorm/u32-normxfrm: Likewise.
40429         * modules/unistdio/u8-asnprintf: Likewise.
40430         * modules/unistdio/u8-asprintf: Likewise.
40431         * modules/unistdio/u8-snprintf: Likewise.
40432         * modules/unistdio/u8-sprintf: Likewise.
40433         * modules/unistdio/u8-u8-asnprintf: Likewise.
40434         * modules/unistdio/u8-u8-asprintf: Likewise.
40435         * modules/unistdio/u8-u8-snprintf: Likewise.
40436         * modules/unistdio/u8-u8-sprintf: Likewise.
40437         * modules/unistdio/u8-u8-vasnprintf: Likewise.
40438         * modules/unistdio/u8-u8-vasprintf: Likewise.
40439         * modules/unistdio/u8-u8-vsnprintf: Likewise.
40440         * modules/unistdio/u8-u8-vsprintf: Likewise.
40441         * modules/unistdio/u8-vasnprintf: Likewise.
40442         * modules/unistdio/u8-vasprintf: Likewise.
40443         * modules/unistdio/u8-vsnprintf: Likewise.
40444         * modules/unistdio/u8-vsprintf: Likewise.
40445         * modules/unistdio/u16-asnprintf: Likewise.
40446         * modules/unistdio/u16-asprintf: Likewise.
40447         * modules/unistdio/u16-snprintf: Likewise.
40448         * modules/unistdio/u16-sprintf: Likewise.
40449         * modules/unistdio/u16-u16-asnprintf: Likewise.
40450         * modules/unistdio/u16-u16-asprintf: Likewise.
40451         * modules/unistdio/u16-u16-snprintf: Likewise.
40452         * modules/unistdio/u16-u16-sprintf: Likewise.
40453         * modules/unistdio/u16-u16-vasnprintf: Likewise.
40454         * modules/unistdio/u16-u16-vasprintf: Likewise.
40455         * modules/unistdio/u16-u16-vsnprintf: Likewise.
40456         * modules/unistdio/u16-u16-vsprintf: Likewise.
40457         * modules/unistdio/u16-vasnprintf: Likewise.
40458         * modules/unistdio/u16-vasprintf: Likewise.
40459         * modules/unistdio/u16-vsnprintf: Likewise.
40460         * modules/unistdio/u16-vsprintf: Likewise.
40461         * modules/unistdio/u32-asnprintf: Likewise.
40462         * modules/unistdio/u32-asprintf: Likewise.
40463         * modules/unistdio/u32-snprintf: Likewise.
40464         * modules/unistdio/u32-sprintf: Likewise.
40465         * modules/unistdio/u32-u32-asnprintf: Likewise.
40466         * modules/unistdio/u32-u32-asprintf: Likewise.
40467         * modules/unistdio/u32-u32-snprintf: Likewise.
40468         * modules/unistdio/u32-u32-sprintf: Likewise.
40469         * modules/unistdio/u32-u32-vasnprintf: Likewise.
40470         * modules/unistdio/u32-u32-vasprintf: Likewise.
40471         * modules/unistdio/u32-u32-vsnprintf: Likewise.
40472         * modules/unistdio/u32-u32-vsprintf: Likewise.
40473         * modules/unistdio/u32-vasnprintf: Likewise.
40474         * modules/unistdio/u32-vasprintf: Likewise.
40475         * modules/unistdio/u32-vsnprintf: Likewise.
40476         * modules/unistdio/u32-vsprintf: Likewise.
40477         * modules/unistdio/ulc-asnprintf: Likewise.
40478         * modules/unistdio/ulc-asprintf: Likewise.
40479         * modules/unistdio/ulc-fprintf: Likewise.
40480         * modules/unistdio/ulc-snprintf: Likewise.
40481         * modules/unistdio/ulc-sprintf: Likewise.
40482         * modules/unistdio/ulc-vasnprintf: Likewise.
40483         * modules/unistdio/ulc-vasprintf: Likewise.
40484         * modules/unistdio/ulc-vfprintf: Likewise.
40485         * modules/unistdio/ulc-vsnprintf: Likewise.
40486         * modules/unistdio/ulc-vsprintf: Likewise.
40487         * modules/unistr/u8-check: Likewise.
40488         * modules/unistr/u8-chr: Likewise.
40489         * modules/unistr/u8-cmp: Likewise.
40490         * modules/unistr/u8-cmp2: Likewise.
40491         * modules/unistr/u8-cpy: Likewise.
40492         * modules/unistr/u8-cpy-alloc: Likewise.
40493         * modules/unistr/u8-endswith: Likewise.
40494         * modules/unistr/u8-mblen: Likewise.
40495         * modules/unistr/u8-mbsnlen: Likewise.
40496         * modules/unistr/u8-mbtouc: Likewise.
40497         * modules/unistr/u8-mbtouc-unsafe: Likewise.
40498         * modules/unistr/u8-mbtoucr: Likewise.
40499         * modules/unistr/u8-move: Likewise.
40500         * modules/unistr/u8-next: Likewise.
40501         * modules/unistr/u8-prev: Likewise.
40502         * modules/unistr/u8-set: Likewise.
40503         * modules/unistr/u8-startswith: Likewise.
40504         * modules/unistr/u8-stpcpy: Likewise.
40505         * modules/unistr/u8-stpncpy: Likewise.
40506         * modules/unistr/u8-strcat: Likewise.
40507         * modules/unistr/u8-strchr: Likewise.
40508         * modules/unistr/u8-strcmp: Likewise.
40509         * modules/unistr/u8-strcoll: Likewise.
40510         * modules/unistr/u8-strcpy: Likewise.
40511         * modules/unistr/u8-strcspn: Likewise.
40512         * modules/unistr/u8-strdup: Likewise.
40513         * modules/unistr/u8-strlen: Likewise.
40514         * modules/unistr/u8-strmblen: Likewise.
40515         * modules/unistr/u8-strmbtouc: Likewise.
40516         * modules/unistr/u8-strncat: Likewise.
40517         * modules/unistr/u8-strncmp: Likewise.
40518         * modules/unistr/u8-strncpy: Likewise.
40519         * modules/unistr/u8-strnlen: Likewise.
40520         * modules/unistr/u8-strpbrk: Likewise.
40521         * modules/unistr/u8-strrchr: Likewise.
40522         * modules/unistr/u8-strspn: Likewise.
40523         * modules/unistr/u8-strstr: Likewise.
40524         * modules/unistr/u8-strtok: Likewise.
40525         * modules/unistr/u8-to-u16: Likewise.
40526         * modules/unistr/u8-to-u32: Likewise.
40527         * modules/unistr/u8-uctomb: Likewise.
40528         * modules/unistr/u16-check: Likewise.
40529         * modules/unistr/u16-chr: Likewise.
40530         * modules/unistr/u16-cmp: Likewise.
40531         * modules/unistr/u16-cmp2: Likewise.
40532         * modules/unistr/u16-cpy: Likewise.
40533         * modules/unistr/u16-cpy-alloc: Likewise.
40534         * modules/unistr/u16-endswith: Likewise.
40535         * modules/unistr/u16-mblen: Likewise.
40536         * modules/unistr/u16-mbsnlen: Likewise.
40537         * modules/unistr/u16-mbtouc: Likewise.
40538         * modules/unistr/u16-mbtouc-unsafe: Likewise.
40539         * modules/unistr/u16-mbtoucr: Likewise.
40540         * modules/unistr/u16-move: Likewise.
40541         * modules/unistr/u16-next: Likewise.
40542         * modules/unistr/u16-prev: Likewise.
40543         * modules/unistr/u16-set: Likewise.
40544         * modules/unistr/u16-startswith: Likewise.
40545         * modules/unistr/u16-stpcpy: Likewise.
40546         * modules/unistr/u16-stpncpy: Likewise.
40547         * modules/unistr/u16-strcat: Likewise.
40548         * modules/unistr/u16-strchr: Likewise.
40549         * modules/unistr/u16-strcmp: Likewise.
40550         * modules/unistr/u16-strcoll: Likewise.
40551         * modules/unistr/u16-strcpy: Likewise.
40552         * modules/unistr/u16-strcspn: Likewise.
40553         * modules/unistr/u16-strdup: Likewise.
40554         * modules/unistr/u16-strlen: Likewise.
40555         * modules/unistr/u16-strmblen: Likewise.
40556         * modules/unistr/u16-strmbtouc: Likewise.
40557         * modules/unistr/u16-strncat: Likewise.
40558         * modules/unistr/u16-strncmp: Likewise.
40559         * modules/unistr/u16-strncpy: Likewise.
40560         * modules/unistr/u16-strnlen: Likewise.
40561         * modules/unistr/u16-strpbrk: Likewise.
40562         * modules/unistr/u16-strrchr: Likewise.
40563         * modules/unistr/u16-strspn: Likewise.
40564         * modules/unistr/u16-strstr: Likewise.
40565         * modules/unistr/u16-strtok: Likewise.
40566         * modules/unistr/u16-to-u32: Likewise.
40567         * modules/unistr/u16-to-u8: Likewise.
40568         * modules/unistr/u16-uctomb: Likewise.
40569         * modules/unistr/u32-check: Likewise.
40570         * modules/unistr/u32-chr: Likewise.
40571         * modules/unistr/u32-cmp: Likewise.
40572         * modules/unistr/u32-cmp2: Likewise.
40573         * modules/unistr/u32-cpy: Likewise.
40574         * modules/unistr/u32-cpy-alloc: Likewise.
40575         * modules/unistr/u32-endswith: Likewise.
40576         * modules/unistr/u32-mblen: Likewise.
40577         * modules/unistr/u32-mbsnlen: Likewise.
40578         * modules/unistr/u32-mbtouc: Likewise.
40579         * modules/unistr/u32-mbtouc-unsafe: Likewise.
40580         * modules/unistr/u32-mbtoucr: Likewise.
40581         * modules/unistr/u32-move: Likewise.
40582         * modules/unistr/u32-next: Likewise.
40583         * modules/unistr/u32-prev: Likewise.
40584         * modules/unistr/u32-set: Likewise.
40585         * modules/unistr/u32-startswith: Likewise.
40586         * modules/unistr/u32-stpcpy: Likewise.
40587         * modules/unistr/u32-stpncpy: Likewise.
40588         * modules/unistr/u32-strcat: Likewise.
40589         * modules/unistr/u32-strchr: Likewise.
40590         * modules/unistr/u32-strcmp: Likewise.
40591         * modules/unistr/u32-strcoll: Likewise.
40592         * modules/unistr/u32-strcpy: Likewise.
40593         * modules/unistr/u32-strcspn: Likewise.
40594         * modules/unistr/u32-strdup: Likewise.
40595         * modules/unistr/u32-strlen: Likewise.
40596         * modules/unistr/u32-strmblen: Likewise.
40597         * modules/unistr/u32-strmbtouc: Likewise.
40598         * modules/unistr/u32-strncat: Likewise.
40599         * modules/unistr/u32-strncmp: Likewise.
40600         * modules/unistr/u32-strncpy: Likewise.
40601         * modules/unistr/u32-strnlen: Likewise.
40602         * modules/unistr/u32-strpbrk: Likewise.
40603         * modules/unistr/u32-strrchr: Likewise.
40604         * modules/unistr/u32-strspn: Likewise.
40605         * modules/unistr/u32-strstr: Likewise.
40606         * modules/unistr/u32-strtok: Likewise.
40607         * modules/unistr/u32-to-u16: Likewise.
40608         * modules/unistr/u32-to-u8: Likewise.
40609         * modules/unistr/u32-uctomb: Likewise.
40610         * modules/uniwbrk/u8-wordbreaks: Likewise.
40611         * modules/uniwbrk/u16-wordbreaks: Likewise.
40612         * modules/uniwbrk/u32-wordbreaks: Likewise.
40613         * modules/uniwbrk/ulc-wordbreaks: Likewise.
40614         * modules/uniwbrk/wordbreak-property: Likewise.
40615         * modules/uniwidth/u8-strwidth: Likewise.
40616         * modules/uniwidth/u8-width: Likewise.
40617         * modules/uniwidth/u16-strwidth: Likewise.
40618         * modules/uniwidth/u16-width: Likewise.
40619         * modules/uniwidth/u32-strwidth: Likewise.
40620         * modules/uniwidth/u32-width: Likewise.
40621         * modules/uniwidth/width: Likewise.
40622         * modules/unicase/cased-tests (Makefile.am): Link all test programs
40623         with $(LIBUNISTRING).
40624         * modules/unicase/ignorable-tests: Likewise.
40625         * modules/unicase/locale-language-tests: Likewise.
40626         * modules/unicase/tolower-tests: Likewise.
40627         * modules/unicase/totitle-tests: Likewise.
40628         * modules/unicase/toupper-tests: Likewise.
40629         * modules/unicase/u8-casecmp-tests: Likewise.
40630         * modules/unicase/u8-casecoll-tests: Likewise.
40631         * modules/unicase/u8-casefold-tests: Likewise.
40632         * modules/unicase/u8-is-cased-tests: Likewise.
40633         * modules/unicase/u8-is-casefolded-tests: Likewise.
40634         * modules/unicase/u8-is-lowercase-tests: Likewise.
40635         * modules/unicase/u8-is-titlecase-tests: Likewise.
40636         * modules/unicase/u8-is-uppercase-tests: Likewise.
40637         * modules/unicase/u8-tolower-tests: Likewise.
40638         * modules/unicase/u8-totitle-tests: Likewise.
40639         * modules/unicase/u8-toupper-tests: Likewise.
40640         * modules/unicase/u16-casecmp-tests: Likewise.
40641         * modules/unicase/u16-casecoll-tests: Likewise.
40642         * modules/unicase/u16-casefold-tests: Likewise.
40643         * modules/unicase/u16-is-cased-tests: Likewise.
40644         * modules/unicase/u16-is-casefolded-tests: Likewise.
40645         * modules/unicase/u16-is-lowercase-tests: Likewise.
40646         * modules/unicase/u16-is-titlecase-tests: Likewise.
40647         * modules/unicase/u16-is-uppercase-tests: Likewise.
40648         * modules/unicase/u16-tolower-tests: Likewise.
40649         * modules/unicase/u16-totitle-tests: Likewise.
40650         * modules/unicase/u16-toupper-tests: Likewise.
40651         * modules/unicase/u32-casecmp-tests: Likewise.
40652         * modules/unicase/u32-casecoll-tests: Likewise.
40653         * modules/unicase/u32-casefold-tests: Likewise.
40654         * modules/unicase/u32-is-cased-tests: Likewise.
40655         * modules/unicase/u32-is-casefolded-tests: Likewise.
40656         * modules/unicase/u32-is-lowercase-tests: Likewise.
40657         * modules/unicase/u32-is-titlecase-tests: Likewise.
40658         * modules/unicase/u32-is-uppercase-tests: Likewise.
40659         * modules/unicase/u32-tolower-tests: Likewise.
40660         * modules/unicase/u32-totitle-tests: Likewise.
40661         * modules/unicase/u32-toupper-tests: Likewise.
40662         * modules/unicase/ulc-casecmp-tests: Likewise.
40663         * modules/unicase/ulc-casecoll-tests: Likewise.
40664         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
40665         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
40666         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
40667         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
40668         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
40669         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
40670         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
40671         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
40672         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
40673         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
40674         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
40675         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
40676         * modules/unictype/bidicategory-byname-tests: Likewise.
40677         * modules/unictype/bidicategory-name-tests: Likewise.
40678         * modules/unictype/bidicategory-of-tests: Likewise.
40679         * modules/unictype/bidicategory-test-tests: Likewise.
40680         * modules/unictype/block-list-tests: Likewise.
40681         * modules/unictype/block-of-tests: Likewise.
40682         * modules/unictype/block-test-tests: Likewise.
40683         * modules/unictype/category-C-tests: Likewise.
40684         * modules/unictype/category-Cc-tests: Likewise.
40685         * modules/unictype/category-Cf-tests: Likewise.
40686         * modules/unictype/category-Cn-tests: Likewise.
40687         * modules/unictype/category-Co-tests: Likewise.
40688         * modules/unictype/category-Cs-tests: Likewise.
40689         * modules/unictype/category-L-tests: Likewise.
40690         * modules/unictype/category-Ll-tests: Likewise.
40691         * modules/unictype/category-Lm-tests: Likewise.
40692         * modules/unictype/category-Lo-tests: Likewise.
40693         * modules/unictype/category-Lt-tests: Likewise.
40694         * modules/unictype/category-Lu-tests: Likewise.
40695         * modules/unictype/category-M-tests: Likewise.
40696         * modules/unictype/category-Mc-tests: Likewise.
40697         * modules/unictype/category-Me-tests: Likewise.
40698         * modules/unictype/category-Mn-tests: Likewise.
40699         * modules/unictype/category-N-tests: Likewise.
40700         * modules/unictype/category-Nd-tests: Likewise.
40701         * modules/unictype/category-Nl-tests: Likewise.
40702         * modules/unictype/category-No-tests: Likewise.
40703         * modules/unictype/category-P-tests: Likewise.
40704         * modules/unictype/category-Pc-tests: Likewise.
40705         * modules/unictype/category-Pd-tests: Likewise.
40706         * modules/unictype/category-Pe-tests: Likewise.
40707         * modules/unictype/category-Pf-tests: Likewise.
40708         * modules/unictype/category-Pi-tests: Likewise.
40709         * modules/unictype/category-Po-tests: Likewise.
40710         * modules/unictype/category-Ps-tests: Likewise.
40711         * modules/unictype/category-S-tests: Likewise.
40712         * modules/unictype/category-Sc-tests: Likewise.
40713         * modules/unictype/category-Sk-tests: Likewise.
40714         * modules/unictype/category-Sm-tests: Likewise.
40715         * modules/unictype/category-So-tests: Likewise.
40716         * modules/unictype/category-Z-tests: Likewise.
40717         * modules/unictype/category-Zl-tests: Likewise.
40718         * modules/unictype/category-Zp-tests: Likewise.
40719         * modules/unictype/category-Zs-tests: Likewise.
40720         * modules/unictype/category-and-not-tests: Likewise.
40721         * modules/unictype/category-and-tests: Likewise.
40722         * modules/unictype/category-byname-tests: Likewise.
40723         * modules/unictype/category-name-tests: Likewise.
40724         * modules/unictype/category-none-tests: Likewise.
40725         * modules/unictype/category-of-tests: Likewise.
40726         * modules/unictype/category-or-tests: Likewise.
40727         * modules/unictype/category-test-withtable-tests: Likewise.
40728         * modules/unictype/combining-class-tests: Likewise.
40729         * modules/unictype/ctype-alnum-tests: Likewise.
40730         * modules/unictype/ctype-alpha-tests: Likewise.
40731         * modules/unictype/ctype-blank-tests: Likewise.
40732         * modules/unictype/ctype-cntrl-tests: Likewise.
40733         * modules/unictype/ctype-digit-tests: Likewise.
40734         * modules/unictype/ctype-graph-tests: Likewise.
40735         * modules/unictype/ctype-lower-tests: Likewise.
40736         * modules/unictype/ctype-print-tests: Likewise.
40737         * modules/unictype/ctype-punct-tests: Likewise.
40738         * modules/unictype/ctype-space-tests: Likewise.
40739         * modules/unictype/ctype-upper-tests: Likewise.
40740         * modules/unictype/ctype-xdigit-tests: Likewise.
40741         * modules/unictype/decimal-digit-tests: Likewise.
40742         * modules/unictype/digit-tests: Likewise.
40743         * modules/unictype/mirror-tests: Likewise.
40744         * modules/unictype/numeric-tests: Likewise.
40745         * modules/unictype/property-alphabetic-tests: Likewise.
40746         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
40747         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
40748         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
40749         * modules/unictype/property-bidi-block-separator-tests: Likewise.
40750         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
40751         * modules/unictype/property-bidi-common-separator-tests: Likewise.
40752         * modules/unictype/property-bidi-control-tests: Likewise.
40753         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
40754         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
40755         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
40756         * modules/unictype/property-bidi-european-digit-tests: Likewise.
40757         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
40758         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
40759         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
40760         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
40761         * modules/unictype/property-bidi-pdf-tests: Likewise.
40762         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
40763         * modules/unictype/property-bidi-whitespace-tests: Likewise.
40764         * modules/unictype/property-byname-tests: Likewise.
40765         * modules/unictype/property-combining-tests: Likewise.
40766         * modules/unictype/property-composite-tests: Likewise.
40767         * modules/unictype/property-currency-symbol-tests: Likewise.
40768         * modules/unictype/property-dash-tests: Likewise.
40769         * modules/unictype/property-decimal-digit-tests: Likewise.
40770         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
40771         * modules/unictype/property-deprecated-tests: Likewise.
40772         * modules/unictype/property-diacritic-tests: Likewise.
40773         * modules/unictype/property-extender-tests: Likewise.
40774         * modules/unictype/property-format-control-tests: Likewise.
40775         * modules/unictype/property-grapheme-base-tests: Likewise.
40776         * modules/unictype/property-grapheme-extend-tests: Likewise.
40777         * modules/unictype/property-grapheme-link-tests: Likewise.
40778         * modules/unictype/property-hex-digit-tests: Likewise.
40779         * modules/unictype/property-hyphen-tests: Likewise.
40780         * modules/unictype/property-id-continue-tests: Likewise.
40781         * modules/unictype/property-id-start-tests: Likewise.
40782         * modules/unictype/property-ideographic-tests: Likewise.
40783         * modules/unictype/property-ids-binary-operator-tests: Likewise.
40784         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
40785         * modules/unictype/property-ignorable-control-tests: Likewise.
40786         * modules/unictype/property-iso-control-tests: Likewise.
40787         * modules/unictype/property-join-control-tests: Likewise.
40788         * modules/unictype/property-left-of-pair-tests: Likewise.
40789         * modules/unictype/property-line-separator-tests: Likewise.
40790         * modules/unictype/property-logical-order-exception-tests: Likewise.
40791         * modules/unictype/property-lowercase-tests: Likewise.
40792         * modules/unictype/property-math-tests: Likewise.
40793         * modules/unictype/property-non-break-tests: Likewise.
40794         * modules/unictype/property-not-a-character-tests: Likewise.
40795         * modules/unictype/property-numeric-tests: Likewise.
40796         * modules/unictype/property-other-alphabetic-tests: Likewise.
40797         * modules/unictype/property-other-default-ignorable-code-point-tests:
40798         Likewise.
40799         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
40800         * modules/unictype/property-other-id-continue-tests: Likewise.
40801         * modules/unictype/property-other-id-start-tests: Likewise.
40802         * modules/unictype/property-other-lowercase-tests: Likewise.
40803         * modules/unictype/property-other-math-tests: Likewise.
40804         * modules/unictype/property-other-uppercase-tests: Likewise.
40805         * modules/unictype/property-paired-punctuation-tests: Likewise.
40806         * modules/unictype/property-paragraph-separator-tests: Likewise.
40807         * modules/unictype/property-pattern-syntax-tests: Likewise.
40808         * modules/unictype/property-pattern-white-space-tests: Likewise.
40809         * modules/unictype/property-private-use-tests: Likewise.
40810         * modules/unictype/property-punctuation-tests: Likewise.
40811         * modules/unictype/property-quotation-mark-tests: Likewise.
40812         * modules/unictype/property-radical-tests: Likewise.
40813         * modules/unictype/property-sentence-terminal-tests: Likewise.
40814         * modules/unictype/property-soft-dotted-tests: Likewise.
40815         * modules/unictype/property-space-tests: Likewise.
40816         * modules/unictype/property-terminal-punctuation-tests: Likewise.
40817         * modules/unictype/property-test-tests: Likewise.
40818         * modules/unictype/property-titlecase-tests: Likewise.
40819         * modules/unictype/property-unassigned-code-value-tests: Likewise.
40820         * modules/unictype/property-unified-ideograph-tests: Likewise.
40821         * modules/unictype/property-uppercase-tests: Likewise.
40822         * modules/unictype/property-variation-selector-tests: Likewise.
40823         * modules/unictype/property-white-space-tests: Likewise.
40824         * modules/unictype/property-xid-continue-tests: Likewise.
40825         * modules/unictype/property-xid-start-tests: Likewise.
40826         * modules/unictype/property-zero-width-tests: Likewise.
40827         * modules/unictype/scripts-tests: Likewise.
40828         * modules/unictype/syntax-c-ident-tests: Likewise.
40829         * modules/unictype/syntax-c-whitespace-tests: Likewise.
40830         * modules/unictype/syntax-java-ident-tests: Likewise.
40831         * modules/unictype/syntax-java-whitespace-tests: Likewise.
40832         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
40833         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
40834         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
40835         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
40836         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
40837         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
40838         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
40839         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
40840         * modules/uniname/uniname-tests: Likewise.
40841         * modules/uninorm/canonical-decomposition-tests: Likewise.
40842         * modules/uninorm/compat-decomposition-tests: Likewise.
40843         * modules/uninorm/composition-tests: Likewise.
40844         * modules/uninorm/decomposing-form-tests: Likewise.
40845         * modules/uninorm/decomposition-tests: Likewise.
40846         * modules/uninorm/filter-tests: Likewise.
40847         * modules/uninorm/nfc-tests: Likewise.
40848         * modules/uninorm/nfd-tests: Likewise.
40849         * modules/uninorm/nfkc-tests: Likewise.
40850         * modules/uninorm/nfkd-tests: Likewise.
40851         * modules/uninorm/u8-normcmp-tests: Likewise.
40852         * modules/uninorm/u8-normcoll-tests: Likewise.
40853         * modules/uninorm/u16-normcmp-tests: Likewise.
40854         * modules/uninorm/u16-normcoll-tests: Likewise.
40855         * modules/uninorm/u32-normcmp-tests: Likewise.
40856         * modules/uninorm/u32-normcoll-tests: Likewise.
40857         * modules/unistdio/u8-asnprintf-tests: Likewise.
40858         * modules/unistdio/u8-vasnprintf-tests: Likewise.
40859         * modules/unistdio/u8-vasprintf-tests: Likewise.
40860         * modules/unistdio/u8-vsnprintf-tests: Likewise.
40861         * modules/unistdio/u8-vsprintf-tests: Likewise.
40862         * modules/unistdio/u16-asnprintf-tests: Likewise.
40863         * modules/unistdio/u16-vasnprintf-tests: Likewise.
40864         * modules/unistdio/u16-vasprintf-tests: Likewise.
40865         * modules/unistdio/u16-vsnprintf-tests: Likewise.
40866         * modules/unistdio/u16-vsprintf-tests: Likewise.
40867         * modules/unistdio/u32-asnprintf-tests: Likewise.
40868         * modules/unistdio/u32-vasnprintf-tests: Likewise.
40869         * modules/unistdio/u32-vasprintf-tests: Likewise.
40870         * modules/unistdio/u32-vsnprintf-tests: Likewise.
40871         * modules/unistdio/u32-vsprintf-tests: Likewise.
40872         * modules/unistdio/ulc-asnprintf-tests: Likewise.
40873         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
40874         * modules/unistdio/ulc-vasprintf-tests: Likewise.
40875         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
40876         * modules/unistdio/ulc-vsprintf-tests: Likewise.
40877         * modules/unistr/u8-check-tests: Likewise.
40878         * modules/unistr/u8-chr-tests: Likewise.
40879         * modules/unistr/u8-cmp-tests: Likewise.
40880         * modules/unistr/u8-cmp2-tests: Likewise.
40881         * modules/unistr/u8-cpy-alloc-tests: Likewise.
40882         * modules/unistr/u8-cpy-tests: Likewise.
40883         * modules/unistr/u8-mblen-tests: Likewise.
40884         * modules/unistr/u8-mbsnlen-tests: Likewise.
40885         * modules/unistr/u8-mbtouc-tests: Likewise.
40886         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
40887         * modules/unistr/u8-mbtoucr-tests: Likewise.
40888         * modules/unistr/u8-move-tests: Likewise.
40889         * modules/unistr/u8-next-tests: Likewise.
40890         * modules/unistr/u8-prev-tests: Likewise.
40891         * modules/unistr/u8-set-tests: Likewise.
40892         * modules/unistr/u8-stpcpy-tests: Likewise.
40893         * modules/unistr/u8-stpncpy-tests: Likewise.
40894         * modules/unistr/u8-strcat-tests: Likewise.
40895         * modules/unistr/u8-strcmp-tests: Likewise.
40896         * modules/unistr/u8-strcoll-tests: Likewise.
40897         * modules/unistr/u8-strcpy-tests: Likewise.
40898         * modules/unistr/u8-strdup-tests: Likewise.
40899         * modules/unistr/u8-strlen-tests: Likewise.
40900         * modules/unistr/u8-strmblen-tests: Likewise.
40901         * modules/unistr/u8-strmbtouc-tests: Likewise.
40902         * modules/unistr/u8-strncat-tests: Likewise.
40903         * modules/unistr/u8-strncmp-tests: Likewise.
40904         * modules/unistr/u8-strncpy-tests: Likewise.
40905         * modules/unistr/u8-strnlen-tests: Likewise.
40906         * modules/unistr/u8-to-u16-tests: Likewise.
40907         * modules/unistr/u8-to-u32-tests: Likewise.
40908         * modules/unistr/u8-uctomb-tests: Likewise.
40909         * modules/unistr/u16-check-tests: Likewise.
40910         * modules/unistr/u16-chr-tests: Likewise.
40911         * modules/unistr/u16-cmp-tests: Likewise.
40912         * modules/unistr/u16-cmp2-tests: Likewise.
40913         * modules/unistr/u16-cpy-alloc-tests: Likewise.
40914         * modules/unistr/u16-cpy-tests: Likewise.
40915         * modules/unistr/u16-mblen-tests: Likewise.
40916         * modules/unistr/u16-mbsnlen-tests: Likewise.
40917         * modules/unistr/u16-mbtouc-tests: Likewise.
40918         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
40919         * modules/unistr/u16-mbtoucr-tests: Likewise.
40920         * modules/unistr/u16-move-tests: Likewise.
40921         * modules/unistr/u16-next-tests: Likewise.
40922         * modules/unistr/u16-prev-tests: Likewise.
40923         * modules/unistr/u16-set-tests: Likewise.
40924         * modules/unistr/u16-stpcpy-tests: Likewise.
40925         * modules/unistr/u16-stpncpy-tests: Likewise.
40926         * modules/unistr/u16-strcat-tests: Likewise.
40927         * modules/unistr/u16-strcmp-tests: Likewise.
40928         * modules/unistr/u16-strcoll-tests: Likewise.
40929         * modules/unistr/u16-strcpy-tests: Likewise.
40930         * modules/unistr/u16-strdup-tests: Likewise.
40931         * modules/unistr/u16-strlen-tests: Likewise.
40932         * modules/unistr/u16-strmblen-tests: Likewise.
40933         * modules/unistr/u16-strmbtouc-tests: Likewise.
40934         * modules/unistr/u16-strncat-tests: Likewise.
40935         * modules/unistr/u16-strncmp-tests: Likewise.
40936         * modules/unistr/u16-strncpy-tests: Likewise.
40937         * modules/unistr/u16-strnlen-tests: Likewise.
40938         * modules/unistr/u16-to-u32-tests: Likewise.
40939         * modules/unistr/u16-to-u8-tests: Likewise.
40940         * modules/unistr/u16-uctomb-tests: Likewise.
40941         * modules/unistr/u32-check-tests: Likewise.
40942         * modules/unistr/u32-chr-tests: Likewise.
40943         * modules/unistr/u32-cmp-tests: Likewise.
40944         * modules/unistr/u32-cmp2-tests: Likewise.
40945         * modules/unistr/u32-cpy-alloc-tests: Likewise.
40946         * modules/unistr/u32-cpy-tests: Likewise.
40947         * modules/unistr/u32-mblen-tests: Likewise.
40948         * modules/unistr/u32-mbsnlen-tests: Likewise.
40949         * modules/unistr/u32-mbtouc-tests: Likewise.
40950         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
40951         * modules/unistr/u32-mbtoucr-tests: Likewise.
40952         * modules/unistr/u32-move-tests: Likewise.
40953         * modules/unistr/u32-next-tests: Likewise.
40954         * modules/unistr/u32-prev-tests: Likewise.
40955         * modules/unistr/u32-set-tests: Likewise.
40956         * modules/unistr/u32-stpcpy-tests: Likewise.
40957         * modules/unistr/u32-stpncpy-tests: Likewise.
40958         * modules/unistr/u32-strcat-tests: Likewise.
40959         * modules/unistr/u32-strcmp-tests: Likewise.
40960         * modules/unistr/u32-strcoll-tests: Likewise.
40961         * modules/unistr/u32-strcpy-tests: Likewise.
40962         * modules/unistr/u32-strdup-tests: Likewise.
40963         * modules/unistr/u32-strlen-tests: Likewise.
40964         * modules/unistr/u32-strmblen-tests: Likewise.
40965         * modules/unistr/u32-strmbtouc-tests: Likewise.
40966         * modules/unistr/u32-strncat-tests: Likewise.
40967         * modules/unistr/u32-strncmp-tests: Likewise.
40968         * modules/unistr/u32-strncpy-tests: Likewise.
40969         * modules/unistr/u32-strnlen-tests: Likewise.
40970         * modules/unistr/u32-to-u16-tests: Likewise.
40971         * modules/unistr/u32-to-u8-tests: Likewise.
40972         * modules/unistr/u32-uctomb-tests: Likewise.
40973         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
40974         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
40975         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
40976         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
40977         * modules/uniwidth/u8-strwidth-tests: Likewise.
40978         * modules/uniwidth/u8-width-tests: Likewise.
40979         * modules/uniwidth/u16-strwidth-tests: Likewise.
40980         * modules/uniwidth/u16-width-tests: Likewise.
40981         * modules/uniwidth/u32-strwidth-tests: Likewise.
40982         * modules/uniwidth/u32-width-tests: Likewise.
40983         * modules/uniwidth/width-tests: Likewise.
40984
40985 2010-05-18  Richard Jones  <rjones@redhat.com>
40986
40987         doc: users.txt: list hivex
40988         * users.txt: Add hivex.
40989
40990 2010-05-18  Richard Jones  <rjones@redhat.com>
40991
40992         doc: users.txt: list febootstrap
40993         * users.txt: Add febootstrap.
40994
40995 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
40996
40997         bootstrap: fix an error when gnulib is not used as a git submodule
40998         * build-aux/bootstrap (gnulib_path): If its length is zero then
40999         assign "gnulib" to it.
41000         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
41001
41002 2010-05-16  Bruno Haible  <bruno@clisp.org>
41003
41004         Avoid autoconf warnings about AM_ICONV.
41005         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
41006         2.64.
41007
41008 2010-05-16  Bruno Haible  <bruno@clisp.org>
41009
41010         absolute-header: Make the macro usable in more situations.
41011         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
41012         from gl_ABSOLUTE_HEADER.
41013         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
41014
41015 2010-05-16  James Youngman  <jay@gnu.org>
41016
41017         doc: update users.txt
41018         * users.txt: Add CSSC.
41019
41020 2010-05-16  Jim Meyering  <meyering@redhat.com>
41021
41022         init.sh: fix an error in the previous change; add more comments
41023         * tests/init.sh: Compare exit code in loop against 9, not 2.
41024         Patch by Bruno Haible.
41025         Make the two tests more similar by adding an empty "then" clause.
41026         Add comments.
41027
41028         init.sh: avoid unnecessary shell re-exec
41029         * tests/init.sh: Improve the re-exec-required check to first test the
41030         current shell.  If it passes the test, do not search for a shell that
41031         does pass, and do not re-exec.  This test is particularly contorted to
41032         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
41033         of $(...) evokes a syntax error and causes immediate shell exit with
41034         status 2.  Bruno Haible reported that the re-exec made it impossible
41035         to single-step through any init.sh-using script.
41036
41037 2010-05-16  Bruno Haible  <bruno@clisp.org>
41038
41039         Fix collision between gnulib's and libintl's printf replacements.
41040         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
41041         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
41042         (printf): When using GNU C, map the __printf__ function to rpl_printf
41043         via __asm__. When not using GNU C, define rpl_printf instead of
41044         __printf__.
41045         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
41046         commit.
41047         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
41048         commit.
41049         * m4/asm-underscore.m4: New file.
41050         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
41051         * modules/stdio (Files): Add m4/asm-underscore.m4.
41052         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
41053         Reported by Ben Pfaff.
41054
41055 2010-05-16  Bruno Haible  <bruno@clisp.org>
41056
41057         verify: Avoid skipping the test on openSUSE 11.0.
41058         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
41059
41060 2010-05-13  Bruno Haible  <bruno@clisp.org>
41061
41062         Avoid useless warnings from G++.
41063         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
41064         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
41065         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
41066
41067 2010-05-11  Jim Meyering  <meyering@redhat.com>
41068
41069         maint.mk: tweak preceding change
41070         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
41071         regexps tighter by anchoring at EOL, and make the new group "shy"
41072         for slightly decreased overhead.
41073
41074 2010-05-11  Eric Blake  <eblake@redhat.com>
41075
41076         maint.mk: gnulib doesn't guarantee NSIG
41077         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
41078
41079 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
41080
41081         test-pwrite.c: Remove unused variable declaration.
41082         * tests/test-pwrite.c (main): Remove read_buf declaration.
41083
41084         Remove useless test-pwrite.sh file.
41085         * tests/test-pwrite.sh: Delete file.
41086         * modules/pwrite-tests: Remove references.
41087         Reported by Bruno Haible.
41088
41089 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
41090
41091         init.sh: fix a typo
41092         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
41093
41094 2010-05-10  Jim Meyering  <meyering@redhat.com>
41095
41096         maint.mk: avoid using a temporary file in the always-defined-macros check
41097         * top/maint.mk (.re-defmac): Remove rule.
41098         (gl_trap_): Remove definition.
41099         (sc_prohibit_always-defined_macros): Rewrite not to create and
41100         depend on a temporary file.  Instead, depend on GNU grep's ability
41101         to read a list of regular expressions from stdin when given "-f -".
41102
41103 2010-05-09  Bruno Haible  <bruno@clisp.org>
41104
41105         Update to GNU gettext 0.18, part 1.
41106         * m4/gettext.m4: Update to GNU gettext 0.18.
41107         * m4/intl.m4: Likewise.
41108         * m4/po.m4: Likewise.
41109         * modules/gettext (Files): Add m4/fcntl-o.m4.
41110         (configure.ac): Require gettext infrastructure from version 0.18.
41111
41112 2010-05-09  Jim Meyering  <meyering@redhat.com>
41113
41114         init.sh: enable MALLOC_PERTURB_
41115         * tests/init.sh: Enable glibc's malloc-perturbing option.
41116
41117         maint.mk: improve sc_cross_check_PATH_usage_in_tests
41118         With my recent change in init.sh from the two-line form:
41119             -#   : ${srcdir=.}
41120             -#   . "$srcdir/init.sh"; path_prepend_ .
41121             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
41122         I noticed that using the one-line form would cause this test
41123         to fail with a false-positive, or to stop working altogether,
41124         depending on whether help-version changed or all the tests did.
41125         * top/maint.mk (_hv_regex): Remove this definition.
41126         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
41127         (_hv_regex_strong): Use a stronger regex to check for conformance.
41128         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
41129         Give a separate diagnostic for lack of conforming use.
41130
41131         maint.mk: prohibit definition of symbols defined by gnulib
41132         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
41133         definition of symbols defined by gnulib.
41134
41135 2010-05-09  Bruno Haible  <bruno@clisp.org>
41136
41137         acl: Avoid test failure on Cygwin-hosted mingw.
41138         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
41139
41140 2010-05-09  Bruno Haible  <bruno@clisp.org>
41141
41142         error: Use system's fcntl function.
41143         * lib/error.c (fcntl): Undefine.
41144
41145 2010-05-09  Jim Meyering  <meyering@redhat.com>
41146
41147         verify: adjust formatting to be more consistent
41148         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
41149         argument-list '('s, and after one comma.
41150
41151 2010-05-09  Bruno Haible  <bruno@clisp.org>
41152
41153         error: More reliable output on mingw.
41154         * lib/error.c: Include <windows.h>.
41155         (is_open): New function.
41156         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
41157         defined.
41158
41159 2010-05-09  Bruno Haible  <bruno@clisp.org>
41160
41161         vasnprintf: Fix syntax errors in libintl build on mingw.
41162         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
41163         pad_ourselves and prec_ourselves after use.
41164
41165 2010-05-08  Bruno Haible  <bruno@clisp.org>
41166
41167         * lib/config.charset: Update comments for Cygwin 1.7.
41168         * lib/localcharset.c: Likewise.
41169
41170 2010-05-07  Jim Meyering  <meyering@redhat.com>
41171
41172         init.sh: improve comments
41173         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
41174         . "${srcdir=.}/init.sh"; path_prepend_ .
41175         Add a note about path_prepend_ and the alternative of using
41176         TESTS_ENVIRONMENT.
41177
41178 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
41179
41180         exclude: Unescape hashed patterns in wildcard mode.
41181         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
41182         to the hash list.
41183         * tests/test-exclude8.sh: New test case.
41184         * modules/exclude-tests: Add new test.
41185
41186 2010-05-05  Eric Blake  <eblake@redhat.com>
41187
41188         verify: automate tests
41189         * modules/verify-tests: New module.
41190         * tests/test-verify.sh: New file.
41191         * tests/test-verify.c: Guard each negative test with a unique id.
41192         Also avoid warning about unused left hand of comma expressions.
41193
41194 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
41195
41196         Further improvements to verify.h, suggested by Eric Blake.
41197         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
41198         the GL_* versions, to avoid collision with OpenGL.
41199         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
41200         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
41201         than testing merely whether it's defined.
41202
41203         Modify verify.h to pacify gcc -Wredundant_decls.
41204         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
41205         These use the prefix "GL_" since they're likely to be useful elsewhere.
41206         We may need to break them out into a different .h file.
41207         (__COUNTER__): Define to 0 if the compiler doesn't support it.
41208         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
41209         of verify_function__.
41210
41211 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
41212
41213         Tests for module pwrite.
41214         * modules/pwrite-tests: New file.
41215         * tests/test-pwrite.sh: New file.
41216         * tests/test-pwrite.c: New file.
41217
41218         New module pwrite.
41219         * lib/unistd.in.h (pwrite): New declaration.
41220         * lib/pwrite.c: New file, from glibc with modifications.
41221         * m4/pwrite.m4: New file.
41222         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
41223         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
41224         REPLACE_PWRITE.
41225         * modules/pwrite: New file.
41226         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
41227         REPLACE_PWRITE.
41228         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
41229         * doc/posix-functions/pwrite.texi: Mention the new module.
41230
41231 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
41232
41233         pread: Update documentation.
41234         * doc/posix-functions/pread.texi: Mention the 'pread' module.
41235
41236 2010-05-04  Eric Blake  <eblake@redhat.com>
41237
41238         docs: update cygwin progress
41239         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
41240         this bug.
41241         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
41242         Added in cygwin 1.7.2.
41243         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
41244         Likewise.
41245         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
41246         Likewise.
41247         * doc/glibc-functions/dup3.texi (dup3): Likewise.
41248         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
41249         * doc/glibc-functions/accept4.texi (accept4): Likewise.
41250         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
41251         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
41252         Mention nproc module.
41253         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
41254         bug in cygwin 1.7.5 addition.
41255         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
41256         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
41257         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
41258         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
41259         1.7.5.
41260         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
41261         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
41262         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
41263         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
41264         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
41265         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
41266         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
41267         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
41268         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
41269         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
41270         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
41271         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
41272         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
41273         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
41274         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
41275         Likewise.
41276         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
41277         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
41278         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
41279         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
41280         Likewise.
41281         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
41282         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
41283         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
41284         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
41285         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
41286         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
41287         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
41288         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
41289         Likewise.
41290         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
41291         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
41292         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
41293         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
41294         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
41295         Likewise.
41296         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
41297         Likewise.
41298         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
41299         Likewise.
41300         * doc/glibc-functions/xdrrec_endofrecord.texi
41301         (xdrrec_endofrecord): Likewise.
41302         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
41303         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
41304         Likewise.
41305         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
41306         Likewise.
41307
41308 2010-05-04  Jim Meyering  <meyering@redhat.com>
41309
41310         gendocs.sh: make its "-s FILE" option more useful
41311         * build-aux/gendocs.sh: When honoring the -s FILE option, update
41312         $PACKAGE to reflect the probably-different basename of "FILE".
41313
41314 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
41315
41316         bootstrap: don't ignore download_po_files failure
41317         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
41318         failure.
41319
41320 2010-05-03  Jim Meyering  <meyering@redhat.com>
41321
41322         maint.mk: allow to pass options to gendocs.sh
41323         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
41324         (gendocs_options_): New overridable variable.
41325
41326         gnu-web-doc-update: don't ignore configure or build failure
41327         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
41328
41329         announce-gen: backslash-escape '@'s in --help output
41330         * build-aux/announce-gen: Fix syntax errors.
41331
41332         maint.mk, announce-gen: allow project-specific announcement mail headers
41333         * top/maint.mk (translation_project_): Define default.
41334         (announcement_Cc_, announcement_mail_headers_): Likewise.
41335         (announcement): Invoke announce-gen with new --mail-headers option.
41336         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
41337
41338         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
41339         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
41340         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
41341         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
41342         line in the "err2" output file when running "make check" in verbose
41343         mode (i.e., with set -x enabled).
41344
41345 2010-05-03  Bruno Haible  <bruno@clisp.org>
41346
41347         wctob: Fix for weird platforms.
41348         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
41349         argument value.
41350
41351 2010-05-03  Jim Meyering  <meyering@redhat.com>
41352
41353         maint.mk: prohibit unwarranted use of <strings.h>
41354         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
41355         strings.h in a file that does not also use strcasecmp, strncasecmp,
41356         ffs or ffsll.
41357
41358         maint.mk: remove obsolete comments
41359         * top/maint.mk: Remove stale, commented-out rules.
41360
41361 2010-05-02  Bruno Haible  <bruno@clisp.org>
41362
41363         wcwidth: Declare also when it's aliased.
41364         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
41365         macro.
41366
41367 2010-05-02  Bruno Haible  <bruno@clisp.org>
41368
41369         Fix regression from 2010-04-25.
41370         * gnulib-tool (func_modules_transitive_closure): Check the status of
41371         all modules, not only of the tests that are of the form foo-tests where
41372         foo is a module.
41373
41374 2010-05-02  Bruno Haible  <bruno@clisp.org>
41375
41376         wctob: Work around nasty Cygwin 1.7.2 bug.
41377         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
41378         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
41379
41380 2010-05-01  Bruno Haible  <bruno@clisp.org>
41381
41382         fpurge: Sharper test.
41383         * tests/test-fpurge.c (main): Add one more ftell check.
41384         * modules/fpurge-tests (Depends-on): Add ftell.
41385         Suggested by Eric Blake.
41386
41387 2010-05-01  Bruno Haible  <bruno@clisp.org>
41388
41389         ftello: Another test.
41390         * tests/test-ftello3.c: New file.
41391         * modules/ftello-tests (Files): Add it.
41392         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
41393         MOSTLYCLEANFILES.
41394
41395         ftell: Another test.
41396         * tests/test-ftell3.c: New file.
41397         * modules/ftell-tests (Files): Add it.
41398         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
41399         MOSTLYCLEANFILES.
41400
41401 2010-05-01  Bruno Haible  <bruno@clisp.org>
41402
41403         ftell, ftello: Work around Solaris bug.
41404         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
41405         * lib/ftello.c: Include stdio-impl.h.
41406         (ftello): On Solaris, when _IOWRT is set, compute the result without
41407         looking at _IOREAD.
41408         * modules/ftello (Files): Add lib/stdio-impl.h.
41409         * doc/posix-functions/ftell.texi: Mention Solaris bug.
41410         * doc/posix-functions/ftello.texi: Likewise.
41411         Reported by Eric Blake.
41412
41413 2010-05-01  Bruno Haible  <bruno@clisp.org>
41414
41415         freading: Adapt to special meaning of _IOREAD flag on Solaris.
41416         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
41417         the _IOWRT flag is also set.
41418
41419 2010-05-01  Bruno Haible  <bruno@clisp.org>
41420
41421         Fix doc about a HP-UX stdio bug.
41422         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
41423         * doc/posix-functions/ftello.texi: Likewise.
41424
41425 2010-05-01  Bruno Haible  <bruno@clisp.org>
41426
41427         lseek test: Fix failure on Solaris.
41428         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
41429         output.
41430
41431 2010-04-30  Jim Meyering  <meyering@redhat.com>
41432
41433         bootstrap: don't ignore failure to generate po*/Makevars
41434         * build-aux/bootstrap (with_gettext): Don't ignore failure
41435         to create po/Makevars or runtime-po/Makevars.
41436
41437 2010-04-29  Eric Blake  <eblake@redhat.com>
41438
41439         headers: relax license to LGPLv2+
41440         * modules/fcntl-h (License): Relax license.
41441         * modules/getopt-posix (License): Likewise.
41442         * modules/locale (License): Likewise.
41443         * modules/math (License): Likewise.
41444         * modules/pty (License): Likewise.
41445         * modules/sched (License): Likewise.
41446         * modules/search (License): Likewise.
41447         * modules/spawn (License): Likewise.
41448         * modules/stdarg (License): Likewise.
41449         * modules/sysexits (License): Likewise.
41450
41451 2010-04-29  Jim Meyering  <meyering@redhat.com>
41452
41453         inttypes: relax license to LGPLv2+
41454         * modules/inttypes (License): Relax license.
41455
41456 2010-04-29  Simon Josefsson  <simon@josefsson.org>
41457
41458         * top/maint.mk (indent): Run twice to produce idempotent results.
41459
41460 2010-04-28  Bruno Haible  <bruno@clisp.org>
41461
41462         getdate: Generate getdate.c in the source directory.
41463         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
41464         MOSTLYCLEANFILES.
41465         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
41466
41467 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
41468
41469         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
41470         is not declared as a const *; avoid warnings in that case.
41471
41472 2010-04-28  Eric Blake  <eblake@redhat.com>
41473
41474         canonicalize-lgpl: avoid compiler warning
41475         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
41476         declaration' / 'extraneous semicolon' warning with some compilers.
41477         Reported by Andreas Gruenbacher.
41478
41479 2010-04-28  Jim Meyering  <meyering@redhat.com>
41480
41481         init.sh: ensure a more reliable exit status when exiting via trap
41482         * tests/init.sh (setup_): Don't rely on $? in signal handler.
41483         Inspired by patches from Dmitry V. Levin.
41484         Also trap on signal 3 (SIGQUIT).
41485
41486 2010-04-27  Bruno Haible  <bruno@clisp.org>
41487
41488         Update doc about utimes().
41489         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
41490         'utimens' module.
41491         Reported by Andreas Gruenbacher <agruen@suse.de>.
41492
41493 2010-04-27  Eric Blake  <eblake@redhat.com>
41494
41495         full-read, full-write: relax license
41496         * modules/full-read (License): Drop to LGPLv2+.
41497         * modules/full-write (License): Likewise.
41498         * modules/safe-read (License): Likewise.
41499         * modules/safe-write (License): Likewise.
41500
41501         pthread: mention library for linking
41502         * modules/pthread (Link): Mention $(LIB_PTHREAD).
41503
41504 2010-04-27  Jim Meyering  <meyering@redhat.com>
41505
41506         maint.mk: fix a bug introduced in last change
41507         * top/maint.mk (gl_assured_headers_): Now that all names are on
41508         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
41509         is not anchored to end of word, it should be adequate.
41510
41511         maint.mk: avoid side-effect in latest syntax-check
41512         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
41513         to run commands via $(shell...), and hence to incur cost only when
41514         the new rule is actually run.
41515
41516         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
41517         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
41518         and use that to create a regexp used to detect all #if HAVE_..._H uses.
41519         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
41520         (gl_assured_headers_, az_, AZ_): Define.
41521         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
41522
41523 2010-04-26  Jim Meyering  <jim@meyering.net>
41524             Bruno Haible  <bruno@clisp.org>
41525
41526         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
41527         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
41528         Prompted by an exchange with Gilles Espinasse.
41529
41530 2010-04-26  Jim Meyering  <meyering@redhat.com>
41531
41532         git-version-gen: aesthetic tweak
41533         * build-aux/git-version-gen: Use "$nl" rather than a literal,
41534         so that the command remains on a single line.
41535
41536 2010-04-26  Eric Blake  <eblake@redhat.com>
41537
41538         git-version-gen: allow use on EBCDIC hosts
41539         * build-aux/git-version-gen (dirty): Use literal rather than tying
41540         ourselves to ascii.
41541         Reported by Steve Goetze.
41542
41543 2010-04-25  Bruno Haible  <bruno@clisp.org>
41544
41545         netdb: Add support for GNULIB_POSIXCHECK.
41546         * lib/netdb.in.h: Include warn-on-use.h.
41547         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
41548         functions are used when GNULIB_POSIXCHECK is defined and the
41549         getaddrinfo module is not in use.
41550         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
41551         freeaddrinfo, gai_strerror, getnameinfo are declared.
41552         * modules/netdb (Depends-on): Add warn-on-use.
41553         (Makefile.am): Include warn-on-use.h in netdb.h.
41554
41555 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
41556
41557         build: avoid "make check" failure without .git/ directory
41558         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
41559         there is no .git/ directory.
41560
41561 2010-04-25  Bruno Haible  <bruno@clisp.org>
41562
41563         ptsname: Fix misuse of ttyname_r.
41564         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
41565         of errno.
41566
41567 2010-04-25  Bruno Haible  <bruno@clisp.org>
41568
41569         ttyname_r: Make it work on Solaris 10.
41570         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
41571         if the system function has the POSIX declaration. Test whether the
41572         function fails if the buffer is less than 128 bytes large.
41573         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
41574         system's ttyname_r function. Provide a reasonably large buffer.
41575         * modules/ttyname_r (Depends-on): Add extensions.
41576         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
41577
41578 2010-04-25  Bruno Haible  <bruno@clisp.org>
41579
41580         Use the 'extensions' module for some more functions on Solaris.
41581         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
41582         module.
41583         * doc/posix-functions/ctime_r.texi: Likewise.
41584         * doc/posix-functions/getgrgid_r.texi: Likewise.
41585         * doc/posix-functions/getgrnam_r.texi: Likewise.
41586         * doc/posix-functions/getpwnam_r.texi: Likewise.
41587         * doc/posix-functions/getpwuid_r.texi: Likewise.
41588         * doc/posix-functions/readdir_r.texi: Likewise.
41589         * doc/posix-functions/sigwait.texi: Likewise.
41590         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
41591         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
41592
41593 2010-04-25  Bruno Haible  <bruno@clisp.org>
41594
41595         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
41596         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
41597         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
41598         * lib/ttyname_r.c: Include <limits.h>.
41599         (ttyname_r): Define using the system's ttyname_r function, if it exists
41600         and not on Solaris.
41601         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
41602         set.
41603         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
41604         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
41605         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
41606         Reported by Simon Josefsson.
41607
41608 2010-04-25  Bruno Haible  <bruno@clisp.org>
41609
41610         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
41611         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
41612         * doc/posix-functions/ctime_r.texi: Likewise.
41613         * doc/posix-functions/getgrgid_r.texi: Likewise.
41614         * doc/posix-functions/getgrnam_r.texi: Likewise.
41615         * doc/posix-functions/getlogin_r.texi: Likewise.
41616         * doc/posix-functions/getpwnam_r.texi: Likewise.
41617         * doc/posix-functions/getpwuid_r.texi: Likewise.
41618         * doc/posix-functions/readdir_r.texi: Likewise.
41619         * doc/posix-functions/sigwait.texi: Likewise.
41620         * doc/posix-functions/ttyname_r.texi: Likewise.
41621         Reported by Simon Josefsson.
41622
41623 2010-04-25  Bruno Haible  <bruno@clisp.org>
41624
41625         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
41626         * gnulib-tool (func_usage): Document that --with-*-tests options apply
41627         also to --create-testdir.
41628         (func_acceptable): Don't consider the status of *-tests modules here.
41629         (func_modules_transitive_closure): Consider it here, before including a
41630         test module.
41631         (func_import, func_create_testdir): Set inc_all_direct_tests,
41632         inc_all_indirect_tests.
41633         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
41634         --create-testdir and --create-megatestdir.
41635
41636 2010-04-25  Bruno Haible  <bruno@clisp.org>
41637
41638         gnulib-tool: Add --without-*-tests options.
41639         * gnulib-tool (func_usage): Document the --without-*-tests options.
41640         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
41641         excl_unportable_tests): New variables.
41642         Fail if they are specified with --import or --update.
41643         (func_acceptable): Respect the excl_*_tests variables.
41644         (func_import): Set the excl_*_tests variables to empty.
41645
41646 2010-04-25  Simon Josefsson  <simon@josefsson.org>
41647             Bruno Haible  <bruno@clisp.org>
41648
41649         Work around a MacOS X 10.4 bug with openpty.
41650         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
41651         * tests/test-openpty.c (main): Close the master side explicitly.
41652
41653 2010-04-25  Bruno Haible  <bruno@clisp.org>
41654
41655         strnlen: Fix a C++ test error on MacOS X and Solaris.
41656         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
41657         the function is not declared.
41658         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
41659         Simon Josefsson.
41660
41661 2010-04-24  Bruno Haible  <bruno@clisp.org>
41662
41663         Avoid a gcc warning.
41664         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
41665         of correct type for %08lx directive.
41666         Reported by Eric Blake.
41667
41668 2010-04-24  Bruno Haible  <bruno@clisp.org>
41669
41670         vasnprintf: Correct errno value in case of out-of-memory.
41671         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
41672         or sprintf. Use the errno value from SNPRINTF or sprintf.
41673         Reported by Ian Beckwith <ianb@erislabs.net>.
41674
41675 2010-04-24  Bruno Haible  <bruno@clisp.org>
41676
41677         ansi-c++-opt: Find correct compiler when cross-compiling.
41678         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
41679         AC_CHECK_PROGS.
41680         Reported by Simon Josefsson.
41681
41682 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
41683
41684         vc-list-files: Add support for subversion
41685         * build-aux/vc-list-files: Use "svn list" to generate the list of
41686         files controlled by subversion.
41687
41688 2010-04-23  Jim Meyering  <meyering@redhat.com>
41689
41690         vc-list-files tests: convert to use init.sh
41691         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
41692         path_prepend_.
41693         Use Exit, not exit.
41694         Use skip_ rather than open coding it.
41695         Remove trap set-up and compare definitions.
41696         * tests/test-vc-list-files-git.sh: Likewise.
41697         * modules/vc-list-files-tests (Files): Add tests/init.sh.
41698
41699 2010-04-22  Simon Josefsson  <simon@josefsson.org>
41700
41701         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
41702         backup files.
41703
41704 2010-04-21  Simon Josefsson  <simon@josefsson.org>
41705
41706         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
41707
41708 2010-04-20  Eric Blake  <eblake@redhat.com>
41709
41710         tests: be robust to ignored SIGPIPE
41711         * tests/test-select-in.sh: Consume all output.
41712         * tests/test-lseek.sh: Check correct exit status, while avoiding
41713         EPIPE.
41714
41715 2010-04-20  Simon Josefsson  <simon@josefsson.org>
41716             Bruno Haible  <bruno@clisp.org>
41717
41718         visibility: Don't use -fvisibility if it leads to a warning.
41719         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
41720         yes, don't pretend that visibility works if it leads to a warning.
41721         Reported by Mike Gran <spk121@yahoo.com>.
41722
41723 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
41724
41725         * build-aux/bootstrap: Use "git -h" for testing for supported options
41726         instead of "git --help".  The short-form option only shows a summary,
41727         and doesn't layout the full man page.  Grep for the full option name
41728         in the summary, too.
41729
41730 2010-04-19  Bruno Haible  <bruno@clisp.org>
41731
41732         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
41733         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
41734         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
41735         mention of RELOCATABLE_STRIP.
41736         Reported by Sylvain Beucler <beuc@beuc.net>.
41737
41738 2010-04-19  Bruno Haible  <bruno@clisp.org>
41739
41740         * lib/diffseq.h: Fix typo in comment.
41741         Reported by Eric Blake.
41742
41743 2010-04-19  Bruno Haible  <bruno@clisp.org>
41744
41745         ioctl: Move autoconf macro to a .m4 file.
41746         * m4/ioctl.m4: New file, extracted from modules/ioctl.
41747         * modules/ioctl (Files): Add it.
41748         (configure.ac): Simply invoke gl_FUNC_IOCTL.
41749         Reported by Ian Beckwith <ianb@erislabs.net>.
41750
41751 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
41752             Bruno Haible  <bruno@clisp.org>
41753
41754         diffseq: Accommodate use-case with abstract arrays.
41755         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
41756         is not defined.
41757         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
41758         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
41759
41760 2010-04-18  Bruno Haible  <bruno@clisp.org>
41761
41762         * doc/posix-headers/stdbool.texi: More precise wording.
41763
41764 2010-04-17  Jim Meyering  <meyering@redhat.com>
41765
41766         maint.mk: use gnu-style indentation in an embedded perl script
41767         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
41768         Rename variable: s/two/last_two_bytes/
41769
41770 2010-04-16  Eric Blake  <eblake@redhat.com>
41771
41772         test-stdbool: skip test that fails with Solaris CC
41773         * tests/test-stdbool.c (f): Skip test that causes compilation
41774         error under buggy C++ compiler.
41775         * lib/stdbool.in.h: Document the limitation.
41776         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
41777
41778         setenv: allow compilation with C++
41779         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
41780         register keyword.
41781
41782         stdint: allow test to pass with C++
41783         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
41784
41785         getopt: allow compilation with C++
41786         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
41787         struct.
41788         * lib/getopt.c (_getopt_internal_r): Use correct type.
41789         Reported by Dagobert Michelson, via Joel E. Denny.
41790
41791 2010-04-16  Bruno Haible  <bruno@clisp.org>
41792
41793         Override netdb.h always.
41794         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
41795         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
41796         Reported by Ludovic Courtès <ludo@gnu.org>.
41797
41798 2010-04-15  Bruno Haible  <bruno@clisp.org>
41799
41800         openpty: Fix mistake from 2010-03-21.
41801         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
41802         Reported by Simon Josefsson.
41803
41804 2010-04-15  Eric Blake  <eblake@redhat.com>
41805
41806         test-forkpty: fix expected signature
41807         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
41808         Reported by Simon Josefsson.
41809
41810 2010-04-15  Jim Meyering  <meyering@redhat.com>
41811
41812         maint.mk: texinfo_suffix_re_: correct the default regexp
41813         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
41814
41815         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
41816         make it configurable via texinfo_suffix_re_.
41817
41818 2010-04-14  Eric Blake  <eblake@redhat.com>
41819
41820         strtok_r: relax license to LGPLv2+
41821         * modules/strtok_r (License): Relax license.
41822         Reported by Matthias Bolte.
41823
41824 2010-04-14  Simon Josefsson  <simon@josefsson.org>
41825
41826         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
41827         version 1.4.4 by default instead of requiring the libgcrypt
41828         version used during build.  This makes it possible to use the
41829         application with older but still binary compatible libgcrypt
41830         versions.
41831
41832 2010-04-13  Eric Blake  <eblake@redhat.com>
41833
41834         getopt-gnu: match recent glibc fixes and posix ruling
41835         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
41836         '+' handling, when requesting extensions.
41837         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
41838         'W;' handling.
41839         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
41840         * doc/posix-functions/getopt.texi (getopt): Document this.
41841         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
41842         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41843         Likewise.
41844
41845         getopt: merge bug fixes from glibc
41846         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
41847         diagnostics.  Honor '+:' correctly.  Reject ';'.
41848
41849         getopt-posix: detect MacOS bug
41850         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
41851         optind when missing a required argument.
41852         * doc/posix-functions/getopt.texi (getopt): Document the bug.
41853         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
41854         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41855         Likewise.
41856
41857         getopt-posix: avoid spurious failure on Solaris
41858         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
41859         an indicator that setting optind=1 is sufficient for reset.
41860
41861         getopt-posix: avoid spurious failure on FreeBSD
41862         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
41863         in POSIX mode, since the m4 test uses it.
41864
41865         gnulib-tool: silence warning on BSD sh
41866         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
41867
41868 2010-04-13  Jim Meyering  <meyering@redhat.com>
41869
41870         doc: users.txt: GNU patch now uses gnulib
41871         * users.txt: Add patch.
41872
41873 2010-04-12  Jim Meyering  <meyering@redhat.com>
41874
41875         maint.mk: generate more concise timing data for syntax-check rules
41876         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
41877         " done" from each line that reports a syntax-check test duration.
41878
41879 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
41880
41881         git-version-gen: use "git update-index..." rather than "git status"
41882         * build-aux/git-version-gen: Use git update-index --refresh, not
41883         "git status".  With some versions of git, "git status" would fail
41884         to update the index and result in an unwarranted "-dirty" suffix.
41885
41886 2010-04-11  Jim Meyering  <meyering@redhat.com>
41887
41888         openat: correct formatting (no semantic change)
41889         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
41890         Suggested by Bruno Haible.
41891
41892 2010-04-11  Bruno Haible  <bruno@clisp.org>
41893
41894         Stricter declaration checking in testdirs.
41895         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
41896         If for_tests is true, augment AM_CPPFLAGS to define
41897         GNULIB_STRICT_CHECKING.
41898         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
41899         GNULIB_STRICT_CHECKING is defined, verify that the function is
41900         declared.
41901
41902 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
41903             Bruno Haible  <bruno@clisp.org>
41904
41905         libunistring: Improve configure output.
41906         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
41907         Don't say "consider installing GNU libunistring" when checking again
41908         with libiconv.
41909
41910 2010-04-11  Bruno Haible  <bruno@clisp.org>
41911
41912         libunistring: Correct value of $LTLIBUNISTRING.
41913         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
41914         correct the value of $LTLIBUNISTRING.
41915
41916 2010-04-11  Bruno Haible  <bruno@clisp.org>
41917
41918         havelib: Add static libraries to LIBS in the right order.
41919         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
41920         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
41921
41922 2010-04-11  Bruno Haible  <bruno@clisp.org>
41923
41924         libunistring: Detect libunistring also when it depends on libiconv.
41925         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
41926         the second AC_LIB_HAVE_LINKFLAGS invocation.
41927
41928 2010-04-11  James Youngman  <jay@gnu.org>
41929
41930         close-stream: declare local scalars to be "const"
41931         * lib/close-stream.c (close_stream): Make boolean variables const
41932         to document the fact that we set but do not change them.
41933
41934 2010-04-11  Bruno Haible  <bruno@clisp.org>
41935
41936         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
41937
41938 2010-04-11  Jim Meyering  <meyering@redhat.com>
41939
41940         maint.mk: don't include dist-check.mk
41941         * top/maint.mk: Remove bogus include directive.
41942
41943         maint.mk: improve empty-line-at-EOF check
41944         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
41945         solution, rather than tail+Perl-based one.  The latter would read
41946         a few kilobytes from the end of each file, and did not handle empty
41947         files properly.
41948
41949         maint.mk: print the elapsed time for each syntax-check rule
41950         * top/maint.mk (sc_m_rules_): Save start time in a file.
41951         (sc_z_rules_): New rules: remove temp file and print elapsed time.
41952         (local-check): Interpose the .z rules
41953
41954 2010-04-11  Jim Meyering  <meyering@redhat.com>
41955
41956         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
41957         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
41958         empty file with one that ends in an empty line.
41959
41960 2010-04-10  Bruno Haible  <bruno@clisp.org>
41961
41962         mkdir: Make it work on mingw64.
41963         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
41964         * lib/mkdir.c: Update comment.
41965         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
41966
41967 2010-04-10  Bruno Haible  <bruno@clisp.org>
41968
41969         Don't override improved macro from newer autoconf.
41970         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
41971         autoconf >= 2.62.
41972         Reported by Joel E. Denny <jdenny@clemson.edu>.
41973
41974 2010-04-10  Jim Meyering  <meyering@redhat.com>
41975
41976         maint.mk: new syntax-check rule: prohibit empty lines at end of file
41977         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
41978
41979         maint.mk: correct a diagnostic
41980         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
41981         in diagnostic; now use $prohibit.
41982
41983 2010-04-10  Bruno Haible  <address@hidden>
41984
41985         fchownat: Fix a C++ test error on Solaris 8.
41986         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
41987         the function does not exist.
41988
41989 2010-04-10  Bruno Haible  <bruno@clisp.org>
41990
41991         vasnprintf: Add more tests.
41992         * tests/test-vasnprintf-posix.c: Include <errno.h>.
41993         (test_function): Test converting an invalid wide string.
41994
41995         vasnprintf: Correct handling of unconvertible wide string arguments.
41996         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
41997         VASNPRINTF.
41998         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
41999         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
42000         smaller than the expected maximum need for the directive. Set errno to
42001         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
42002         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
42003         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
42004         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
42005         * modules/vasnprintf (Files): Add m4/printf.m4.
42006         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
42007
42008 2010-04-10  Bruno Haible  <bruno@clisp.org>
42009
42010         vasnprintf: Fix crash in %ls directive.
42011         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
42012         string is passed as argument to %ls, with no precision and no width.
42013         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
42014
42015 2010-04-10  Bruno Haible  <bruno@clisp.org>
42016
42017         vasnprintf: Fix multiple test failures on mingw.
42018         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
42019         _snprintf, or snwprintf, not _snwprintf.
42020
42021 2010-04-10  Bruno Haible  <bruno@clisp.org>
42022
42023         write: Fix a C++ test error on mingw.
42024         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
42025
42026 2010-04-10  Bruno Haible  <bruno@clisp.org>
42027
42028         vasnprintf test: Reduce code duplication.
42029         * tests/test-vasnprintf.c (test_function): New function, extracted from
42030         test_vasnprintf.
42031         (test_vasnprintf, test_asnprintf): Invoke it.
42032
42033 2010-04-10  Bruno Haible  <bruno@clisp.org>
42034
42035         strnlen: Fix warning in C++ mode on MacOS X.
42036         * lib/string.in.h (strnlen): Use the modern idiom.
42037         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
42038         defining strnlen as a macro already in <config.h>.
42039         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42040         REPLACE_STRNLEN.
42041         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
42042         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
42043
42044 2010-04-08  James Youngman  <jay@gnu.org>
42045
42046         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
42047         the example.
42048
42049 2010-04-09  Jim Meyering  <meyering@redhat.com>
42050
42051         maint.mk: print better diagnostic when there is no $(_hv_file)
42052         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
42053         announce that when $(_hv_file) (aka help-version) does not exist.
42054
42055         init.sh: run tr in the "C" locale to avoid multibyte interpretation
42056         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
42057         not try to interpret its random input bytes.  Jarno Rajahalme reported
42058         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
42059         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
42060         (mktempd_): Likewise, just in case.
42061
42062         ftruncate: add two years to projected module removal date: 2012
42063         * m4/ftruncate.m4: Adjust comments.
42064
42065         ftruncate: mark module as obsolete; even MinGW provides it, now
42066         * modules/ftruncate (Status): Obsolete.
42067         (Notice): Say that.
42068         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
42069         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
42070
42071 2010-04-08  Bruno Haible  <bruno@clisp.org>
42072
42073         Fix side effects from tests-related modules.
42074         * modules/dprintf-posix (Comment): New section.
42075         * modules/fprintf-posix (Comment): Likewise.
42076         * modules/obstack-printf-posix (Comment): Likewise.
42077         * modules/printf-posix (Comment): Likewise.
42078         * modules/snprintf-posix (Comment): Likewise.
42079         * modules/sprintf-posix (Comment): Likewise.
42080         * modules/vasnprintf-posix (Comment): Likewise.
42081         * modules/vasprintf-posix (Comment): Likewise.
42082         * modules/vdprintf-posix (Comment): Likewise.
42083         * modules/vfprintf-posix (Comment): Likewise.
42084         * modules/vprintf-posix (Comment): Likewise.
42085         * modules/vsnprintf-posix (Comment): Likewise.
42086         * modules/vsprintf-posix (Comment): Likewise.
42087         * modules/xprintf-posix (Comment): Likewise.
42088         * modules/xvasprintf-posix (Comment): Likewise.
42089         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
42090         * modules/floorf-tests (Depends-on): Likewise.
42091         * modules/round-tests (Depends-on): Likewise.
42092         * modules/roundf-tests (Depends-on): Likewise.
42093         * modules/trunc-tests (Depends-on): Likewise.
42094         * modules/truncf-tests (Depends-on): Likewise.
42095         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
42096         'fprintf-posix' module is not present.
42097         * tests/test-floorf2.c (check): Likewise.
42098         * tests/test-trunc2.c (check): Likewise.
42099         * tests/test-truncf2.c (check): Likewise.
42100         * tests/test-round2.c (equal): Likewise.
42101         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
42102
42103 2010-04-07  Karl Berry  <karl@gnu.org>
42104
42105         * config/srclist.txt,
42106         * config/srclistvars.sh,
42107         * config/srclist-update: doc fixes.
42108
42109 2010-04-07  Jim Meyering  <meyering@redhat.com>
42110
42111         maint.mk: add a PATH crosschecking syntax-check rule
42112         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
42113         Useful if you use a test like the one in help-version (coreutils,
42114         diffutils, grep, gzip) that ensures $(VERSION) matches what is
42115         printed by prog --version.
42116
42117 2010-04-06  Bruno Haible  <bruno@clisp.org>
42118
42119         Fix link error on mingw.
42120         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
42121         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
42122
42123 2010-04-06  Bruno Haible  <bruno@clisp.org>
42124
42125         Assume rmdir exists.
42126         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
42127
42128 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
42129
42130         doc: update users.txt
42131         * users.txt: Add gcal.
42132
42133 2010-04-06  Jim Meyering  <meyering@redhat.com>
42134
42135         init.sh: simply unset TMPDIR rather than risking env -i
42136         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
42137         although it probably works fine on all Unix-based systems, some
42138         systems (Cygwin?) cannot tolerate a totally cleared environment.
42139         Suggestion from Eric Blake.
42140
42141 2010-04-06  Jim Meyering  <meyering@redhat.com>
42142
42143         init.sh: portability fix: use env's POSIX-specified -i option not -u
42144         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
42145         than unportable env -u.  Solaris 5.11's env lacks support for -u.
42146
42147 2010-04-05  Bruno Haible  <bruno@clisp.org>
42148
42149         btowc: Work around Cygwin 1.7.2 bug.
42150         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
42151         does not map NUL to 0.
42152         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
42153
42154 2010-04-05  Bruno Haible  <bruno@clisp.org>
42155
42156         Make the multithread modules work on Cygwin 1.7.2.
42157         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
42158         imported symbols can be declared weak, so that it returns "no" on
42159         Cygwin 1.7.2.
42160
42161 2010-04-05  Bruno Haible  <bruno@clisp.org>
42162
42163         Use the module 'strncat'.
42164         * modules/unistr/u8-strncat (Depends-on): Add strncat.
42165
42166         Tests for module 'strncat'.
42167         * modules/strncat-tests: New file.
42168         * tests/test-strncat.c: New file.
42169
42170         New module 'strncat'.
42171         * lib/string.in.h (strncat): New declaration.
42172         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
42173         * m4/strncat.m4: New file, based on m4/memchr.m4.
42174         * modules/strncat: New file.
42175         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
42176         is declared.
42177         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
42178         REPLACE_STRNCAT.
42179         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
42180         REPLACE_STRNCAT.
42181         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
42182         module.
42183         * tests/test-string-c++.cc: Check signature of strncat.
42184
42185 2010-04-05  Jim Meyering  <meyering@redhat.com>
42186
42187         xstrtoumax-tests: convert to use init.sh
42188         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
42189         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
42190         Use Exit, not exit.
42191         Remove uses of $EXEEXT and "./" to run a program in the current dir.
42192
42193         xstrtoimax-tests: convert to use init.sh
42194         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
42195         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
42196         Use Exit, not exit.
42197         Remove uses of $EXEEXT and "./" to run a program in the current dir.
42198
42199 2010-04-05  Bruno Haible  <bruno@clisp.org>
42200
42201         sys_socket: Avoid #define replacements in C++ mode.
42202         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
42203         warning to the function if possible, rather than #defining the symbol
42204         to a dysfunctional alias.
42205
42206 2010-04-05  Bruno Haible  <bruno@clisp.org>
42207
42208         fseeko: Fix C++ test error on mingw.
42209         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
42210         gl_FUNC_FSEEKO.
42211         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
42212         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
42213         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
42214         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
42215
42216 2010-04-05  Bruno Haible  <bruno@clisp.org>
42217
42218         duplocale: Improve test output.
42219         * tests/test-duplocale.c (main): Print reason for skipped test.
42220
42221 2010-04-05  Bruno Haible  <bruno@clisp.org>
42222
42223         Assume rmdir exists.
42224         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
42225         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
42226
42227 2010-04-05  Bruno Haible  <bruno@clisp.org>
42228
42229         Fix link error on Solaris 8 with cc.
42230         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
42231
42232 2010-04-05  Bruno Haible  <bruno@clisp.org>
42233
42234         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
42235         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
42236
42237 2010-04-05  Bruno Haible  <bruno@clisp.org>
42238
42239         vasprintf: Update documentation.
42240         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
42241
42242 2010-04-05  Bruno Haible  <bruno@clisp.org>
42243
42244         ptsname: Improve test.
42245         * tests/test-ptsname.c (main): Also try the various master names of BSD
42246         systems.
42247
42248 2010-04-05  Bruno Haible  <bruno@clisp.org>
42249
42250         memchr: Avoid a possible C++ test error.
42251         * lib/string.in.h (memchr): Provide declaration if function is missing.
42252         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
42253         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
42254         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
42255         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
42256
42257 2010-04-05  Bruno Haible  <bruno@clisp.org>
42258
42259         strtok_r: Improve idiom.
42260         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
42261         AC_LIBOBJ is used.
42262
42263 2010-04-05  Bruno Haible  <bruno@clisp.org>
42264
42265         strdup: Improve idiom.
42266         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
42267         AC_LIBOBJ is used.
42268         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
42269         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
42270         when AC_LIBOBJ is used.
42271
42272 2010-04-05  Bruno Haible  <bruno@clisp.org>
42273
42274         mbsinit, mbrtowc, wcrtomb: Improve idioms.
42275         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
42276         don't set REPLACE_MBSINIT to 1.
42277         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
42278         don't set REPLACE_MBRTOWC to 1.
42279         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
42280         exist, don't set REPLACE_MBSRTOWCS to 1.
42281         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
42282         exist, don't set REPLACE_MBSNRTOWCS to 1.
42283         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
42284         don't set REPLACE_WCRTOMB to 1.
42285         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
42286         exist, don't set REPLACE_WCSRTOMBS to 1.
42287         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
42288         exist, don't set REPLACE_WCSNRTOMBS to 1.
42289
42290 2010-04-05  Bruno Haible  <bruno@clisp.org>
42291
42292         ldexpl: Improve idiom.
42293         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
42294         make sure to set HAVE_DECL_LDEXPL to 0.
42295
42296 2010-04-05  Jim Meyering  <meyering@redhat.com>
42297
42298         xstrtol-tests: convert to use init.sh
42299         * modules/xstrtol-tests (Files): Add tests/init.sh.
42300         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
42301         Use Exit, not exit.
42302         Remove uses of $EXEEXT and "./" to run a program in the current dir.
42303
42304         atexit-tests: convert to use init.sh
42305         * modules/atexit-tests (Files): Add tests/init.sh.
42306         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
42307         Use Exit, not exit.
42308         Remove uses of $EXEEXT and "./" to run a program in the current dir.
42309
42310         init.sh: fix typo
42311         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
42312
42313         init.sh: make it easier for a test script to write to the tty, ...
42314         when using automake's parallel-tests mode.
42315         * tests/init.sh (stderr_fileno_): Define overridable variable.
42316         (warn_): New function, to use it.
42317         (fail_, skip_, framework_failure_): Use warn_.
42318
42319 2010-04-04  Bruno Haible  <bruno@clisp.org>
42320
42321         btowc: Avoid warning.
42322         * lib/btowc.c: Include <stdlib.h>.
42323         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
42324
42325 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
42326             Bruno Haible  <bruno@clisp.org>
42327
42328         wchar: Port to NetBSD 1.5.
42329         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
42330         * lib/wctype.in.h (WEOF): Likewise.
42331
42332 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
42333             Bruno Haible  <bruno@clisp.org>
42334
42335         Port extended stdio to NetBSD 1.5.
42336         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
42337         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
42338         older.
42339
42340 2010-04-04  Bruno Haible  <bruno@clisp.org>
42341
42342         string: Remove unused substitution.
42343         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
42344         HAVE_DECL_STRERROR.
42345         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
42346
42347 2010-04-04  Bruno Haible  <bruno@clisp.org>
42348
42349         strtod: Avoid a possible C++ test error.
42350         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
42351         set REPLACE_STRTOD.
42352
42353 2010-04-04  Bruno Haible  <bruno@clisp.org>
42354
42355         strerror: Update documentation.
42356         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
42357
42358 2010-04-04  Bruno Haible  <bruno@clisp.org>
42359
42360         stdio: Fix some C++ test errors on Solaris 8 with GCC.
42361         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
42362         _GL_CXXALIAS_SYS_CAST.
42363
42364 2010-04-04  Bruno Haible  <bruno@clisp.org>
42365
42366         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
42367         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
42368         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
42369         REPLACE_FREXPL to 1.
42370         * doc/posix-functions/frexpl.texi: Update documentation.
42371
42372 2010-04-04  Bruno Haible  <bruno@clisp.org>
42373
42374         math: Fix some C++ test errors on Solaris 8 and Cygwin.
42375         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
42376
42377 2010-04-04  Bruno Haible  <bruno@clisp.org>
42378
42379         Implement nanosleep for native Windows.
42380         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
42381
42382 2010-04-04  Bruno Haible  <bruno@clisp.org>
42383
42384         math: Fix some C++ test errors on Solaris 8.
42385         * lib/math.in.h (truncf, trunc): Use simpler idiom.
42386
42387 2010-04-04  Bruno Haible  <bruno@clisp.org>
42388
42389         math: Fix some C++ test errors on Cygwin.
42390         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
42391         truncl): Provide declaration if the system does not have it.
42392         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
42393         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
42394         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
42395         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
42396         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
42397         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
42398         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
42399         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
42400         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
42401         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
42402         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
42403         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
42404         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
42405         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
42406         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
42407         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
42408         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
42409         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
42410         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
42411         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
42412         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
42413         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
42414
42415 2010-04-04  Bruno Haible  <bruno@clisp.org>
42416
42417         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
42418         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
42419         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
42420         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
42421         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
42422         * m4/isinf.m4 (gl_ISINF): Likewise.
42423         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
42424
42425 2010-04-04  Bruno Haible  <bruno@clisp.org>
42426
42427         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
42428         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
42429
42430 2010-04-04  Bruno Haible  <bruno@clisp.org>
42431
42432         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
42433         * modules/tmpfile (configure.ac): Update.
42434
42435         tmpfile: Fix C++ test error on mingw.
42436         * lib/stdio.in.h (tmpfile): New declaration.
42437         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
42438         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
42439         * modules/tmpfile (Depends-on): Add stdio.
42440         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
42441         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
42442         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
42443         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
42444         REPLACE_TMPFILE.
42445         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
42446
42447 2010-04-04  Bruno Haible  <bruno@clisp.org>
42448
42449         ioctl: Fix C++ test error on mingw.
42450         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
42451         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
42452         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
42453
42454 2010-04-03  Bruno Haible  <bruno@clisp.org>
42455
42456         wcwidth: Fix C++ test error on mingw.
42457         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
42458         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
42459         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
42460
42461 2010-04-03  Bruno Haible  <bruno@clisp.org>
42462
42463         nanosleep: Fix C++ test error on mingw.
42464         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
42465         * lib/time.in.h (nanosleep): Use modern idiom.
42466         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
42467         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
42468         REPLACE_NANOSLEEP to 1.
42469         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
42470         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
42471
42472 2010-04-03  Bruno Haible  <bruno@clisp.org>
42473
42474         strptime: Fix C++ test error on mingw.
42475         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
42476         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
42477         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
42478         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
42479         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
42480         not REPLACE_STRPTIME.
42481         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
42482         REPLACE_STRPTIME.
42483
42484 2010-04-03  Bruno Haible  <bruno@clisp.org>
42485
42486         timegm: Fix C++ test error on mingw.
42487         * lib/time.in.h (timegm): Use modern idiom.
42488         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
42489         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
42490         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
42491         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
42492
42493 2010-04-03  Bruno Haible  <bruno@clisp.org>
42494
42495         timegm: Assume declaration if function exists.
42496         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
42497         if it exists. Don't clobber ac_cv_func_timegm.
42498
42499 2010-04-03  Bruno Haible  <bruno@clisp.org>
42500
42501         time_r: Fix C++ test error on mingw.
42502         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
42503         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
42504         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
42505         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
42506         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
42507
42508 2010-04-03  Bruno Haible  <bruno@clisp.org>
42509
42510         time_r: Minor updates.
42511         * modules/time_r (Description): Mention the provided functions.
42512         * lib/time_r.c: Don't include <string.h>.
42513         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
42514         * doc/posix-functions/localtime_r.texi: Likewise.
42515
42516 2010-04-03  Bruno Haible  <bruno@clisp.org>
42517
42518         time: Fix regression introduced on 2010-03-08.
42519         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
42520         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
42521
42522 2010-04-03  Jim Meyering  <meyering@redhat.com>
42523
42524         maint.mk: don't silently disable project-specific syntax-check rules
42525         * top/maint.mk (_prohibit_regexp): Define, to help people realize
42526         that they need to convert their project-specific syntax-check rules
42527         to use the new _sc_search_regexp.
42528
42529 2010-04-03  Bruno Haible  <bruno@clisp.org>
42530
42531         fchdir: Fix regression introduced on 2010-03-08.
42532         * lib/unistd.in.h (fchdir): Fix declaration.
42533         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
42534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
42535         REPLACE_FCHDIR.
42536         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
42537         REPLACE_FCHDIR.
42538
42539 2010-04-03  Bruno Haible  <bruno@clisp.org>
42540
42541         getpagesize: Fix C++ test error on mingw.
42542         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
42543         system does not declare the function.
42544         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
42545         declared.
42546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42547         HAVE_DECL_GETPAGESIZE.
42548         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
42549
42550 2010-04-03  Bruno Haible  <bruno@clisp.org>
42551
42552         stdio: Make C++ tests work on mingw.
42553         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
42554         does not declare the function.
42555
42556 2010-04-03  Bruno Haible  <bruno@clisp.org>
42557
42558         ftello: Fix C++ test error on mingw.
42559         * lib/stdio.in.h (ftello): Use modern idiom.
42560         * lib/ftello.c (ftello): Renamed from rpl_ftello.
42561         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
42562         is missing and that it needs to be replaced.
42563         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
42564         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
42565         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
42566
42567 2010-04-03  Bruno Haible  <bruno@clisp.org>
42568
42569         fseeko: Fix C++ test error on mingw.
42570         * lib/stdio.in.h (fseeko): Use modern idiom.
42571         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
42572         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
42573         is missing and that it needs to be replaced.
42574         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
42575         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
42576         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
42577
42578 2010-04-03  Bruno Haible  <bruno@clisp.org>
42579
42580         mkstemp: Fix C++ test error on mingw.
42581         * lib/stdlib.in.h (mkstemp): Use modern idiom.
42582         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
42583         function is missing and that it needs to be replaced.
42584         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
42585         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
42586
42587 2010-04-03  Bruno Haible  <bruno@clisp.org>
42588
42589         stpncpy: Fix C++ test error on mingw.
42590         * lib/string.in.h (stpncpy): Use modern idiom.
42591         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
42592         function is missing and that it needs to be replaced.
42593         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42594         REPLACE_STPNCPY.
42595         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
42596
42597 2010-04-03  Bruno Haible  <bruno@clisp.org>
42598
42599         sys_stat: Fix C++ test error on mingw.
42600         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
42601         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
42602
42603 2010-04-03  Bruno Haible  <bruno@clisp.org>
42604
42605         pty: Update doc.
42606         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
42607
42608 2010-04-03  Bruno Haible  <bruno@clisp.org>
42609
42610         unistd: Fix C++ test error on mingw.
42611         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
42612
42613 2010-04-03  Bruno Haible  <bruno@clisp.org>
42614
42615         Update doc regarding mingw.
42616         * doc/glibc-functions/openpty.texi: Update regarding mingw.
42617         * doc/glibc-functions/login_tty.texi: Likewise.
42618         * doc/glibc-functions/forkpty.texi: Likewise.
42619
42620 2010-04-03  Bruno Haible  <bruno@clisp.org>
42621
42622         stdlib: Avoid compilation failure of c-strtold on mingw.
42623         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
42624
42625 2010-04-03  Bruno Haible  <bruno@clisp.org>
42626
42627         locale: Make C++ tests work on Cygwin and mingw.
42628         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
42629         cannot provide the function.
42630         Reported by Simon Josefsson.
42631
42632 2010-04-03  Bruno Haible  <bruno@clisp.org>
42633
42634         localename: Port to MacOS X 10.6.
42635         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
42636         memory layout of the locales in MacOS X 10.6 as well.
42637         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
42638
42639 2010-04-02  Bruno Haible  <bruno@clisp.org>
42640
42641         gnulib-tool: Ensure that long-running tests are executed last.
42642         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
42643         running tests after the one for the other tests.
42644
42645 2010-04-02  Bruno Haible  <bruno@clisp.org>
42646
42647         gnulib-tool: Ensure the tests in the main directory are executed first.
42648         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
42649         start with the current directory.
42650
42651 2010-04-02  Bruno Haible  <bruno@clisp.org>
42652
42653         Tests for module 'havelib', moved here from GNU gettext.
42654         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
42655         modifications.
42656         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
42657         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
42658         with modifications.
42659         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
42660         modifications.
42661         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
42662         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
42663         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
42664         with modifications.
42665         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
42666         with modifications.
42667         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
42668         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
42669         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
42670         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
42671         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
42672         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
42673         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
42674         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
42675         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
42676         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
42677         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
42678         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
42679         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
42680         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
42681         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
42682         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
42683         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
42684         with modifications.
42685         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
42686         with modifications.
42687         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
42688         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
42689         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
42690         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
42691         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
42692         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
42693         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
42694         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
42695         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
42696         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
42697         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
42698         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
42699         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
42700         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
42701         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
42702         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
42703         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
42704         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
42705         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
42706         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
42707         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
42708         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
42709         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
42710         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
42711         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
42712         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
42713         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
42714         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
42715         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
42716         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
42717         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
42718         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
42719         * tests/havelib/rpathx/rpathx.c: New file, from
42720         gettext/autoconf-lib-link.
42721         * tests/havelib/rpathx/Makefile.am: New file, from
42722         gettext/autoconf-lib-link.
42723         * tests/havelib/rpathx/configure.ac: New file, from
42724         gettext/autoconf-lib-link with modifications.
42725         * tests/havelib/rpathy/rpathy.c: New file, from
42726         gettext/autoconf-lib-link.
42727         * tests/havelib/rpathy/Makefile.am: New file, from
42728         gettext/autoconf-lib-link.
42729         * tests/havelib/rpathy/configure.ac: New file, from
42730         gettext/autoconf-lib-link with modifications.
42731         * tests/havelib/rpathz/rpathz.c: New file, from
42732         gettext/autoconf-lib-link.
42733         * tests/havelib/rpathz/Makefile.am: New file, from
42734         gettext/autoconf-lib-link.
42735         * tests/havelib/rpathz/configure.ac: New file, from
42736         gettext/autoconf-lib-link with modifications.
42737         * tests/havelib/rpathlx/usex.c: New file, from
42738         gettext/autoconf-lib-link.
42739         * tests/havelib/rpathlx/Makefile.am: New file, from
42740         gettext/autoconf-lib-link.
42741         * tests/havelib/rpathlx/configure.ac: New file, from
42742         gettext/autoconf-lib-link with modifications.
42743         * tests/havelib/rpathly/usey.c: New file, from
42744         gettext/autoconf-lib-link.
42745         * tests/havelib/rpathly/Makefile.am: New file, from
42746         gettext/autoconf-lib-link.
42747         * tests/havelib/rpathly/configure.ac: New file, from
42748         gettext/autoconf-lib-link with modifications.
42749         * tests/havelib/rpathlz/usez.c: New file, from
42750         gettext/autoconf-lib-link.
42751         * tests/havelib/rpathlz/Makefile.am: New file, from
42752         gettext/autoconf-lib-link.
42753         * tests/havelib/rpathlz/configure.ac: New file, from
42754         gettext/autoconf-lib-link with modifications.
42755         * tests/havelib/rpathlyx/usey.c: New file, from
42756         gettext/autoconf-lib-link.
42757         * tests/havelib/rpathlyx/Makefile.am: New file, from
42758         gettext/autoconf-lib-link.
42759         * tests/havelib/rpathlyx/configure.ac: New file, from
42760         gettext/autoconf-lib-link with modifications.
42761         * tests/havelib/rpathlzyx/usez.c: New file, from
42762         gettext/autoconf-lib-link.
42763         * tests/havelib/rpathlzyx/Makefile.am: New file, from
42764         gettext/autoconf-lib-link.
42765         * tests/havelib/rpathlzyx/configure.ac: New file, from
42766         gettext/autoconf-lib-link with modifications.
42767         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
42768         with modifications.
42769
42770 2010-04-02  Bruno Haible  <bruno@clisp.org>
42771
42772         gnulib-tool: Create distributed built sources also for the tests.
42773         * gnulib-tool (func_create_testdir): Also generate distributed built
42774         sources in the tests directory.
42775
42776 2010-04-02  Bruno Haible  <bruno@clisp.org>
42777
42778         gnulib-tool: Obey user's environment variables.
42779         * gnulib-tool (func_create_testdir): When creating built sources,
42780         respect the environment variables for autoconf, automake, etc. given by
42781         the user.
42782
42783 2010-04-02  Bruno Haible  <bruno@clisp.org>
42784
42785         gnulib-tool: Provide the value of --m4-base to modules.
42786         * gnulib-tool (func_import, func_create_testdir): Emit a definition
42787         of gl_m4_base.
42788
42789 2010-04-02  Eric Blake  <eblake@redhat.com>
42790
42791         maint.mk: fix some fallout
42792         * NEWS: Document the incompatible change, and its effect on cfg.mk.
42793         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
42794
42795 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
42796
42797         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
42798         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
42799         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
42800         (sc_cast_of_x_alloc_return_value): Likewise.
42801         (sc_cast_of_alloca_return_value): Likewise.
42802         (sc_space_tab): Likewise.
42803         (sc_prohibit_atoi_atof): Likewise.
42804         (sc_prohibit_magic_number_exit): Likewise.
42805         (sc_error_exit_success): Likewise.
42806         (sc_file_system): Likewise.
42807         (sc_prohibit_have_config_h): Likewise.
42808         (sc_require_config_h): Likewise.
42809         (sc_prohibit_HAVE_MBRTOWC): Likewise.
42810         (sc_obsolete_symbols): Likewise.
42811         (sc_changelog): Likewise.
42812         (sc_program_name): Likewise.
42813         (sc_the_the): Likewise.
42814         (sc_trailing_blank): Likewise.
42815         (sc_two_space_separator_in_usage): Likewise.
42816         (sc_useless_cpp_parens): Likewise.
42817         (sc_GPL_version): Likewise.
42818         (sc_GFDL_version): Likewise.
42819         (sc_texinfo_acronym): Likewise.
42820         (sc_prohibit_cvs_keyword): Likewise.
42821         (sc_prohibit_stat_st_blocks): Likewise.
42822         (sc_prohibit_S_IS_definition): Likewise.
42823         (sc_redundant_const): Likewise.
42824         (sc_makefile_TAB_only_indentation): Likewise.
42825         (sc_m4_quote_check): Likewise.
42826         (sc_makefile_path_separator_check): Likewise.
42827         (sc_copyright_check): Likewise.
42828         (sc_Wundef_boolean): Likewise.
42829         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
42830
42831         maint.mk: match 0 or more whitespace-before-function-call '('
42832         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
42833         that have zero or two-and-more spaces between the function name
42834         and the open parenthesis.
42835         (sc_error_message_warn_fatal): Likewise.
42836         (sc_error_message_uppercase): Likewise.
42837         (sc_error_message_period): Likewise.
42838
42839 2010-03-31  Eric Blake  <eblake@redhat.com>
42840
42841         maint.mk: check for [ as well as test
42842         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
42843         Based on a libvirt report by Matthias Bolte.
42844
42845         gnumakefile: don't squelch _version output
42846         * top/GNUmakefile (_version): Create one-shot dependency rather
42847         than using $(shell) when version must be regenerated.
42848         (_autoreconf): Run verbosely, by default.
42849
42850         sys_time: avoid compiler warnings
42851         * lib/sys_time.in.h (includes): Ensure gcc pragma is
42852         unconditional, fixing regression from 2010-03-29.
42853         Reported by Simon Josefsson.
42854
42855 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
42856
42857         maint.mk: s/_header_without_use/_sc_header_without_use/
42858         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
42859         (sc_prohibit_assert_without_use): Use the new name.
42860         (sc_prohibit_close_stream_without_use): Likewise.
42861         (sc_prohibit_getopt_without_use): Likewise.
42862         (sc_prohibit_quotearg_without_use): Likewise.
42863         (sc_prohibit_quote_without_use): Likewise.
42864         (sc_prohibit_long_options_without_use): Likewise.
42865         (sc_prohibit_inttostr_without_use): Likewise.
42866         (sc_prohibit_ignore_value_without_use): Likewise.
42867         (sc_prohibit_error_without_use): Likewise.
42868         (sc_prohibit_xalloc_without_use): Likewise.
42869         (sc_prohibit_hash_without_use): Likewise.
42870         (sc_prohibit_hash_pjw_without_use): Likewise.
42871         (sc_prohibit_safe_read_without_use): Likewise.
42872         (sc_prohibit_argmatch_without_use): Likewise.
42873         (sc_prohibit_canonicalize_without_use): Likewise.
42874         (sc_prohibit_root_dev_ino_without_use): Likewise.
42875         (sc_prohibit_openat_without_use): Likewise.
42876         (sc_prohibit_c_ctype_without_use): Likewise.
42877         (sc_prohibit_signal_without_use): Likewise.
42878         (sc_prohibit_intprops_without_use): Likewise.
42879
42880 2010-03-30  Eric Blake  <eblake@redhat.com>
42881
42882         maint: improve module indicators
42883         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
42884         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
42885         columns, and avoid extra macro expansion.
42886
42887         fdopendir: work around FreeBSD bug
42888         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
42889         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
42890         * modules/dirent (Makefile.am): Substitute it.
42891         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
42892         declaration.
42893         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
42894         fix.
42895         Reported by Christian Weisgerber <naddy@mips.inka.de>.
42896
42897 2010-03-29  Bruno Haible  <bruno@clisp.org>
42898
42899         Emit #pragma system_header after the inclusion guard, not before.
42900         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
42901         guard that spans the entire file, not before. This enables an
42902         optimization in GCC's preprocessor.
42903         * lib/ctype.in.h: Likewise.
42904         * lib/dirent.in.h: Likewise.
42905         * lib/errno.in.h: Likewise.
42906         * lib/float.in.h: Likewise.
42907         * lib/getopt.in.h: Likewise.
42908         * lib/iconv.in.h: Likewise.
42909         * lib/langinfo.in.h: Likewise.
42910         * lib/locale.in.h: Likewise.
42911         * lib/math.in.h: Likewise.
42912         * lib/netdb.in.h: Likewise.
42913         * lib/netinet_in.in.h: Likewise.
42914         * lib/pty.in.h: Likewise.
42915         * lib/sched.in.h: Likewise.
42916         * lib/se-selinux.in.h: Likewise.
42917         * lib/search.in.h: Likewise.
42918         * lib/spawn.in.h: Likewise.
42919         * lib/stdarg.in.h: Likewise.
42920         * lib/stdint.in.h: Likewise.
42921         * lib/string.in.h: Likewise.
42922         * lib/strings.in.h: Likewise.
42923         * lib/sys_file.in.h: Likewise.
42924         * lib/sys_ioctl.in.h: Likewise.
42925         * lib/sys_time.in.h: Likewise.
42926         * lib/sys_times.in.h: Likewise.
42927         * lib/sys_utsname.in.h: Likewise.
42928         * lib/sys_wait.in.h: Likewise.
42929         * lib/sysexits.in.h: Likewise.
42930         * lib/wctype.in.h: Likewise.
42931
42932 2010-03-28  James Youngman  <jay@gnu.org>
42933
42934         save-cwd: don't leak a file descriptor when the caller execs.
42935         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
42936         saved file descriptor.
42937         * modules/save-cwd (Depends-on): Depend on cloexec.
42938
42939 2010-03-29  Bruno Haible  <bruno@clisp.org>
42940
42941         Remove vestiges of fts-lgpl module.
42942         * lib/fts_.h: Assume GNULIB_FTS is 1.
42943         * lib/fts.c: Likewise.
42944         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
42945
42946 2010-03-28  Bruno Haible  <bruno@clisp.org>
42947
42948         Fix definition of tests witness macro.
42949         * gnulib-tool (func_import): Fix definition of witness macro.
42950
42951 2010-03-28  Bruno Haible  <bruno@clisp.org>
42952
42953         Fix ioctl's protoype on glibc systems.
42954         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
42955         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
42956         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
42957         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
42958         signature. If not, arrange to replace the ioctl function.
42959         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
42960         REPLACE_IOCTL.
42961         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
42962         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
42963         Reported by Ludovic Courtès <ludo@gnu.org>.
42964
42965 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
42966
42967         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
42968         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
42969         made it so grep -r --include=GLOB* ... did not work.
42970
42971 2010-03-26  Jim Meyering  <meyering@redhat.com>
42972             Eric Blake  <eblake@redhat.com>
42973
42974         maint.mk: prohibit use of test's -o and -a operators
42975         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
42976
42977 2010-03-28  Bruno Haible  <bruno@clisp.org>
42978
42979         Remove unused GNULIB_XYZ macro definitions.
42980         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
42981         invocation.
42982
42983 2010-03-28  Bruno Haible  <bruno@clisp.org>
42984
42985         Mark privileged tests modules.
42986         * modules/idpriv-drop-tests (Status): New section.
42987         * modules/idpriv-droptemp-tests (Status): New section.
42988
42989 2010-03-28  Bruno Haible  <bruno@clisp.org>
42990
42991         Split C++ tests into separate tests modules.
42992         * modules/dirent-c++-tests: New file, extracted from
42993         modules/dirent-tests.
42994         * modules/dirent-tests: Depend on it.
42995         * modules/fcntl-h-c++-tests: New file, extracted from
42996         modules/fcntl-h-tests.
42997         * modules/fcntl-h-tests: Depend on it.
42998         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
42999         * modules/glob-tests: Depend on it.
43000         * modules/iconv-h-c++-tests: New file, extracted from
43001         modules/iconv-h-tests.
43002         * modules/iconv-h-tests: Depend on it.
43003         * modules/langinfo-c++-tests: New file, extracted from
43004         modules/langinfo-tests.
43005         * modules/langinfo-tests: Depend on it.
43006         * modules/locale-c++-tests: New file, extracted from
43007         modules/locale-tests.
43008         * modules/locale-tests: Depend on it.
43009         * modules/math-c++-tests: New file, extracted from modules/math-tests.
43010         * modules/math-tests: Depend on it.
43011         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
43012         * modules/pty-tests: Depend on it.
43013         * modules/search-c++-tests: New file, extracted from
43014         modules/search-tests.
43015         * modules/search-tests: Depend on it.
43016         * modules/signal-c++-tests: New file, extracted from
43017         modules/signal-tests.
43018         * modules/signal-tests: Depend on it.
43019         * modules/spawn-c++-tests: New file, extracted from
43020         modules/spawn-tests.
43021         * modules/spawn-tests: Depend on it.
43022         * modules/stdio-c++-tests: New file, extracted from
43023         modules/stdio-tests.
43024         * modules/stdio-tests: Depend on it.
43025         * modules/stdlib-c++-tests: New file, extracted from
43026         modules/stdlib-tests.
43027         * modules/stdlib-tests: Depend on it.
43028         * modules/string-c++-tests: New file, extracted from
43029         modules/string-tests.
43030         * modules/string-tests: Depend on it.
43031         * modules/sys_ioctl-c++-tests: New file, extracted from
43032         modules/sys_ioctl-tests.
43033         * modules/sys_ioctl-tests: Depend on it.
43034         * modules/sys_select-c++-tests: New file, extracted from
43035         modules/sys_select-tests.
43036         * modules/sys_select-tests: Depend on it.
43037         * modules/sys_socket-c++-tests: New file, extracted from
43038         modules/sys_socket-tests.
43039         * modules/sys_socket-tests: Depend on it.
43040         * modules/sys_stat-c++-tests: New file, extracted from
43041         modules/sys_stat-tests.
43042         * modules/sys_stat-tests: Depend on it.
43043         * modules/sys_time-c++-tests: New file, extracted from
43044         modules/sys_time-tests.
43045         * modules/sys_time-tests: Depend on it.
43046         * modules/time-c++-tests: New file, extracted from modules/time-tests.
43047         * modules/time-tests: Depend on it.
43048         * modules/unistd-c++-tests: New file, extracted from
43049         modules/unistd-tests.
43050         * modules/unistd-tests: Depend on it.
43051         * modules/wchar-c++-tests: New file, extracted from
43052         modules/wchar-tests.
43053         * modules/wchar-tests: Depend on it.
43054         * modules/wctype-c++-tests: New file, extracted from
43055         modules/wctype-tests.
43056         * modules/wctype-tests: Depend on it.
43057         Reported by Simon Josefsson.
43058
43059 2010-03-28  Bruno Haible  <bruno@clisp.org>
43060
43061         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
43062         * gnulib-tool (func_exists_module): New function, extracted from
43063         func_verify_module.
43064         (func_verify_module): Use it.
43065         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
43066         'foo' only if 'foo' exists.
43067         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
43068         module.
43069
43070 2010-03-28  Bruno Haible  <bruno@clisp.org>
43071
43072         gnulib-tool: Add support for special categories of tests.
43073         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
43074         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
43075         (func_usage): Document them.
43076         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
43077         inc_unportable_tests, inc_all_tests): New variables.
43078         (func_acceptable): Consider these variables.
43079         (func_modules_transitive_closure): Make it work when the 'Status' field
43080         consists of multiple words.
43081         (func_import): Store and restore the values of inc_cxx_tests,
43082         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
43083         inc_all_tests in gnulib-comp.m4.
43084         (func_create_testdir): Set inc_all_tests to true.
43085         * doc/gnulib.texi (Extra tests modules): New section.
43086         Suggested by Jim Meyering.
43087
43088 2010-03-28  Bruno Haible  <bruno@clisp.org>
43089
43090         ansi-c++-opt: Allow turning off the C++ build by default.
43091         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
43092         gl_CXX_CHOICE_DEFAULT_NO is defined.
43093         Requested by Eric Blake.
43094
43095 2010-03-28  Bruno Haible  <bruno@clisp.org>
43096
43097         unistd: Avoid #define replacements in C++ mode.
43098         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
43099         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
43100         setsockopt, shutdown, select): In C++, attach a warning to the function
43101         if possible, rather than #defining the symbol to a dysfunctional alias.
43102         Reported by John W. Eaton <jwe@gnu.org>.
43103
43104 2010-03-28  Bruno Haible  <bruno@clisp.org>
43105
43106         Fix link errors on mingw.
43107         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
43108         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
43109         $(LIBSOCKET).
43110         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
43111         $(LIBSOCKET).
43112
43113 2010-03-28  Bruno Haible  <bruno@clisp.org>
43114             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43115
43116         lib-ignore: Determine different options for different compilers.
43117         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
43118         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
43119         Add comments.
43120         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
43121         * NEWS: Mention the change.
43122
43123 2010-03-27  Bruno Haible  <bruno@clisp.org>
43124
43125         Remove unused GNULIB_XYZ macro definitions.
43126         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
43127         * modules/fseek (configure.ac): Likewise.
43128         * modules/ioctl (configure.ac): Likewise.
43129         * modules/open (configure.ac): Likewise.
43130         * modules/stdlib-safer (configure.ac): Likewise.
43131
43132 2010-03-27  Bruno Haible  <bruno@clisp.org>
43133
43134         Add a remark about certain modules.
43135         * modules/malloc (Comment): New section.
43136         * modules/realloc (Comment): Likewise.
43137         * modules/sigpipe (Comment): Likewise.
43138
43139 2010-03-27  Bruno Haible  <bruno@clisp.org>
43140
43141         Resolve conflict between the two kinds of module indicators.
43142         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
43143         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
43144         * modules/canonicalize (configure.ac): Invoke
43145         gl_MODULE_INDICATOR_FOR_TESTS.
43146         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
43147         GNULIB_XYZ.
43148         * tests/test-dirent-c++.cc: Likewise.
43149         * tests/test-dirent-safer.c: Likewise.
43150         * tests/test-dup2.c: Likewise.
43151         * tests/test-fchdir.c: Likewise.
43152         * tests/test-fcntl-h-c++.cc: Likewise.
43153         * tests/test-getopt.c: Likewise.
43154         * tests/test-getopt.h: Likewise.
43155         * tests/test-langinfo-c++.cc: Likewise.
43156         * tests/test-locale-c++.cc: Likewise.
43157         * tests/test-math-c++.cc: Likewise.
43158         * tests/test-pty-c++.cc: Likewise.
43159         * tests/test-search-c++.cc: Likewise.
43160         * tests/test-signal-c++.cc: Likewise.
43161         * tests/test-spawn-c++.cc: Likewise.
43162         * tests/test-stdio-c++.cc: Likewise.
43163         * tests/test-stdlib-c++.cc: Likewise.
43164         * tests/test-string-c++.cc: Likewise.
43165         * tests/test-sys_ioctl-c++.cc: Likewise.
43166         * tests/test-sys_select-c++.cc: Likewise.
43167         * tests/test-sys_socket-c++.cc: Likewise.
43168         * tests/test-sys_stat-c++.cc: Likewise.
43169         * tests/test-sys_time-c++.cc: Likewise.
43170         * tests/test-time-c++.cc: Likewise.
43171         * tests/test-unistd-c++.cc: Likewise.
43172         * tests/test-wchar-c++.cc: Likewise.
43173         * tests/uninorm/test-u8-nfc.c: Likewise.
43174         * tests/uninorm/test-u8-nfd.c: Likewise.
43175         * tests/uninorm/test-u8-nfkc.c: Likewise.
43176         * tests/uninorm/test-u8-nfkd.c: Likewise.
43177         * tests/uninorm/test-u16-nfc.c: Likewise.
43178         * tests/uninorm/test-u16-nfd.c: Likewise.
43179         * tests/uninorm/test-u16-nfkc.c: Likewise.
43180         * tests/uninorm/test-u16-nfkd.c: Likewise.
43181         * tests/uninorm/test-u32-nfc.c: Likewise.
43182         * tests/uninorm/test-u32-nfc-big.c: Likewise.
43183         * tests/uninorm/test-u32-nfd.c: Likewise.
43184         * tests/uninorm/test-u32-nfd-big.c: Likewise.
43185         * tests/uninorm/test-u32-nfkc.c: Likewise.
43186         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
43187         * tests/uninorm/test-u32-nfkd.c: Likewise.
43188         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
43189         * tests/uninorm/test-u32-normalize-big.c: Likewise.
43190
43191 2010-03-27  Bruno Haible  <bruno@clisp.org>
43192
43193         Distinguish two kinds of module indicators.
43194         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
43195         gl_MODULE_INDICATOR.
43196         (gl_MODULE_INDICATOR): New macro.
43197         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
43198         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
43199         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
43200         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
43201         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
43202         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
43203         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
43204         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
43205         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
43206         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
43207         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
43208         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
43209         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
43210         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
43211         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
43212         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
43213         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
43214         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
43215         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
43216         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
43217         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
43218         * modules/cloexec (configure.ac): Likewise.
43219         * modules/getopt-gnu (configure.ac): Likewise.
43220         * modules/uninorm/u8-normalize (configure.ac): Likewise.
43221         * modules/uninorm/u16-normalize (configure.ac): Likewise.
43222         * modules/uninorm/u32-normalize (configure.ac): Likewise.
43223         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
43224
43225 2010-03-27  Bruno Haible  <bruno@clisp.org>
43226
43227         New module description field 'Comment'.
43228         * gnulib-tool: New option --extract-comment.
43229         (func_usage): Document it.
43230         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
43231         (func_get_comment): New function.
43232         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
43233
43234 2010-03-27  Bruno Haible  <bruno@clisp.org>
43235
43236         Addendum to 2010-02-07 commit.
43237         * gnulib-tool (func_usage): Document --extract-applicability option.
43238
43239 2010-03-27  Bruno Haible  <bruno@clisp.org>
43240
43241         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
43242         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
43243         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
43244         rather than link errors.
43245
43246 2010-03-27  Bruno Haible  <bruno@clisp.org>
43247
43248         Avoid side effects from tests-related modules on the compilation of lib.
43249         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
43250         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
43251         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
43252         parameter. Emit into AM_CPPFLAGS a definition of the designated C
43253         macro.
43254         (func_import): Define a witness macro. Assign it a value that depends
43255         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
43256         tests-related modules.
43257         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
43258         Reported by Jim Meyering.
43259
43260 2010-03-27  Bruno Haible  <bruno@clisp.org>
43261
43262         Factorize common .m4 code.
43263         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
43264         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
43265         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
43266         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
43267         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
43268         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
43269         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
43270         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
43271         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
43272         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
43273         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
43274         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
43275         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
43276         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
43277         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
43278         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
43279         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
43280         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
43281         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
43282         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
43283         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
43284         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
43285         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
43286         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
43287         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
43288         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
43289         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
43290         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
43291         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
43292         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
43293         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
43294         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
43295
43296 2010-03-27  Bruno Haible  <bruno@clisp.org>
43297
43298         Fix a compilation error on Cygwin with g++ >= 4.3.
43299         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
43300         if it is undefined or if we alias it to chmod.
43301         (lstat): Don't warn about the use of this function if it is undefined
43302         or if we alias it to stat.
43303         Reported by Simon Josefsson.
43304
43305 2010-03-27  Bruno Haible  <bruno@clisp.org>
43306
43307         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
43308         * modules/getlogin (configure.ac): Update.
43309
43310         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
43311         * modules/getlogin_r (configure.ac): Update.
43312
43313         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
43314         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
43315         * modules/inet_ntop (configure.ac): Update.
43316
43317         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
43318         * modules/inet_pton (configure.ac): Update.
43319
43320         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
43321         * modules/mbslen (configure.ac): Update.
43322
43323         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
43324         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
43325         * modules/forkpty (configure.ac): Update.
43326         * modules/openpty (configure.ac): Update.
43327
43328 2010-03-26  Simon Josefsson  <simon@josefsson.org>
43329
43330         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
43331         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
43332
43333 2010-03-25  Eric Blake  <eblake@redhat.com>
43334
43335         maint: use pragma consistently across replacement headers
43336         * lib/ctype.in.h (system_header): Hoist for consistent placement.
43337         * lib/dirent.in.h (system_header): Likewise.
43338         * lib/errno.in.h (system_header): Likewise.
43339         * lib/float.in.h (system_header): Likewise.
43340         * lib/getopt.in.h (system_header): Likewise.
43341         * lib/iconv.in.h (system_header): Likewise.
43342         * lib/inttypes.in.h (system_header): Likewise.
43343         * lib/langinfo.in.h (system_header): Likewise.
43344         * lib/locale.in.h (system_header): Likewise.
43345         * lib/math.in.h (system_header): Likewise.
43346         * lib/netdb.in.h (system_header): Likewise.
43347         * lib/netinet_in.in.h (system_header): Likewise.
43348         * lib/pty.in.h (system_header): Likewise.
43349         * lib/sched.in.h (system_header): Likewise.
43350         * lib/se-selinux.in.h (system_header): Likewise.
43351         * lib/search.in.h (system_header): Likewise.
43352         * lib/spawn.in.h (system_header): Likewise.
43353         * lib/stdarg.in.h (system_header): Likewise.
43354         * lib/stdint.in.h (system_header): Likewise.
43355         * lib/string.in.h (system_header): Likewise.
43356         * lib/strings.in.h (system_header): Likewise.
43357         * lib/sys_file.in.h (system_header): Likewise.
43358         * lib/sys_ioctl.in.h (system_header): Likewise.
43359         * lib/sys_socket.in.h (system_header): Likewise.
43360         * lib/sys_times.in.h (system_header): Likewise.
43361         * lib/sys_utsname.in.h (system_header): Likewise.
43362         * lib/sys_wait.in.h (system_header): Likewise.
43363         * lib/sysexits.in.h (system_header): Likewise.
43364         * lib/unistd.in.h (system_header): Likewise.
43365         * lib/wctype.in.h (system_header): Likewise.
43366
43367         arpa/inet: fix mingw compilation warning
43368         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
43369         Reported by Matthew Bolte.
43370
43371 2010-03-25  Bruno Haible  <bruno@clisp.org>
43372
43373         Avoid collision between gnulib wrapper and libintl wrapper.
43374         * lib/printf.c (printf): Don't define if a printf wrapper is already
43375         defined in intl/printf.c.
43376         Reported by Michel Boaventura <michel@michelboaventura.com>.
43377
43378 2010-03-25  Bruno Haible  <bruno@clisp.org>
43379
43380         Use ANSI C.
43381         * lib/readutmp.h (getutent): Provide ANSI C prototype.
43382
43383 2010-03-25  Bruno Haible  <bruno@clisp.org>
43384
43385         Minor formatting changes.
43386         * lib/acosl.c: Insert space before function argument list.
43387         * lib/argz.c: Likewise.
43388         * lib/asinl.c: Likewise.
43389         * lib/expl.c: Likewise.
43390         * lib/gen-uni-tables.c: Likewise.
43391         * lib/gettext.h: Likewise.
43392         * lib/glthread/lock.h: Likewise.
43393         * lib/tanl.c: Likewise.
43394         * lib/uniname/uniname.c: Likewise.
43395         * tests/test-idpriv-drop.c: Likewise.
43396         * tests/test-idpriv-droptemp.c: Likewise.
43397         * tests/test-lock.c: Likewise.
43398         * tests/test-tls.c: Likewise.
43399         * lib/argp-help.c: Insert space before function-like macro argument
43400         list.
43401         * lib/memcmp.c: Likewise.
43402         * tests/test-base64.c: Likewise.
43403         * lib/localename.c: Insert space before sizeof's argument list.
43404         * lib/safe-alloc.h: Likewise.
43405         * lib/file-set.h: Insert space before macro argument list.
43406         * tests/test-argp.c: Likewise.
43407         * lib/argp-namefrob.h: Insert space before function parameter list.
43408         * lib/getaddrinfo.c: Likewise.
43409         * lib/netdb.in.h: Likewise.
43410         * lib/parse-duration.h: Likewise.
43411         * lib/parse-duration.c: Likewise.
43412         * lib/poll.c: Likewise.
43413         * lib/select.c: Likewise.
43414         * lib/trim.h: Likewise.
43415         * tests/test-usleep.c: Likewise.
43416         * lib/ldexpl.c: Insert space before function parameter list and before
43417         function argument list.
43418         * lib/logl.c: Likewise.
43419         * lib/sqrtl.c: Likewise.
43420         * lib/trim.c: Likewise.
43421         * lib/cosl.c: Use GNU style indentation. Insert space before function
43422         argument list.
43423         * lib/sinl.c: Likewise.
43424         * lib/tsearch.c: Insert space after 'for'.
43425         Reported by Jim Meyering.
43426
43427 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
43428
43429         * maint.mk (sc_Wundef_boolean): Check for the presence of the
43430         config header before grepping, as it's not present before
43431         autoreconf/configure are run.  Reported by Simon Josefsson.
43432
43433 2010-03-23  Bruno Haible  <bruno@clisp.org>
43434
43435         pt_chown: Make it work with automake < 1.11.
43436         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
43437         Reported by Simon Josefsson.
43438
43439 2010-03-23  Bruno Haible  <bruno@clisp.org>
43440
43441         pt_chown: Don't depend on GPLed modules.
43442         * lib/pt_chown.c: Don't include idpriv.h.
43443         (main): Don't drop privileges.
43444         * modules/pt_chown (Depends-on): Remove idpriv-drop.
43445         Reported by Simon Josefsson.
43446
43447 2010-03-24  Simon Josefsson  <simon@josefsson.org>
43448
43449         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
43450         suggestions from karl@freefriends.org (Karl Berry).
43451
43452 2010-03-22  Eric Blake  <eblake@redhat.com>
43453
43454         gethostname: further tweaks
43455         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
43456         are overriding gethostname.
43457         Suggested by Bruno Haible.
43458
43459 2010-03-21  Bruno Haible  <bruno@clisp.org>
43460
43461         Fix comments.
43462         * lib/forkpty.c (rpl_forkpty): Fix comment.
43463         * lib/openpty.c (rpl_openpty): Likewise.
43464         Reported by Eric Blake.
43465
43466 2010-03-22  Eric Blake  <eblake@redhat.com>
43467
43468         gethostname: fix build on mingw
43469         * lib/unistd.in.h (includes): Work around fact that mingw
43470         <winsock2.h> re-includes <unistd.h>, by avoiding any
43471         redeclarations if we are being included by <winsock2.h>.
43472         Reported by Matthias Bolte.
43473
43474 2010-03-21  Bruno Haible  <bruno@clisp.org>
43475
43476         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
43477         * lib/forkpty.c (forkpty): New replacement function, from glibc with
43478         modifications.
43479         * lib/pty.in.h (forkpty): Update declaration. Add comments.
43480         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
43481         provide the replacement.
43482         * modules/forkpty (Depends-on): Add openpty, login_tty.
43483         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
43484         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
43485         * doc/glibc-functions/forkpty.texi: More supported platforms.
43486         * config/srclist.txt: Add forkpty.c (commented).
43487
43488 2010-03-21  Bruno Haible  <bruno@clisp.org>
43489
43490         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
43491         (Makefile.am): Verify that PTY_LIB is defined.
43492
43493         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
43494
43495 2010-03-21  Bruno Haible  <bruno@clisp.org>
43496
43497         Tests for module 'login_tty'.
43498         * modules/login_tty-tests: New file.
43499         * tests/test-login_tty.c: New file.
43500
43501         New module 'login_tty'.
43502         * lib/login_tty.c: New file.
43503         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
43504         * modules/login_tty: New file.
43505         * doc/glibc-functions/login_tty.texi: Mention the new module.
43506
43507 2010-03-21  Bruno Haible  <bruno@clisp.org>
43508
43509         login_tty: Documentation.
43510         * doc/glibc-functions/login_tty.texi: New file.
43511         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
43512
43513 2010-03-21  Bruno Haible  <bruno@clisp.org>
43514
43515         pty: Consistent macro naming.
43516         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
43517         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
43518         * modules/pty (configure.ac): Update.
43519
43520 2010-03-21  Bruno Haible  <bruno@clisp.org>
43521
43522         Tests for openpty: Make stricter.
43523         * tests/test-openpty.c (main): Add test of canonical processing and
43524         erase.
43525         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
43526
43527         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
43528         * lib/openpty.c (openpty): New replacement function.
43529         * lib/pty.in.h: Include <termios.h>.
43530         (openpty): Update declaration. Add comments.
43531         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
43532         is not declared, arrange to provide the replacement. Check for _getpty
43533         and posix_openpt.
43534         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
43535         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
43536         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
43537         * modules/pty-tests (test_pty_c___LDADD): New variable.
43538         * doc/glibc-functions/openpty.texi: More supported platforms.
43539
43540 2010-03-21  Bruno Haible  <bruno@clisp.org>
43541
43542         setenv: Tweaks.
43543         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
43544         the test program.
43545         * doc/posix-functions/setenv.texi: Update platforms list.
43546
43547 2010-03-21  Bruno Haible  <bruno@clisp.org>
43548
43549         New module 'unlockpt'.
43550         * lib/unlockpt.c: New file, from glibc with modifications.
43551         * m4/unlockpt.m4: New file.
43552         * modules/unlockpt: New file.
43553         * lib/stdlib.in.h (unlockpt): New declaration.
43554         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
43555         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
43556         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
43557         HAVE_UNLOCKPT.
43558         * doc/posix-functions/unlockpt.texi: Mention the new module.
43559         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
43560         * config/srclist.txt: Add unlockpt.c (commented).
43561
43562 2010-03-21  Jim Meyering  <meyering@redhat.com>
43563
43564         maint.mk: prohibit inclusion of "intprops.h" without use
43565         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
43566
43567 2010-03-21  Bruno Haible  <bruno@clisp.org>
43568
43569         New module 'grantpt'.
43570         * lib/grantpt.c: New file, from glibc with modifications.
43571         * m4/grantpt.m4: New file.
43572         * modules/grantpt: New file.
43573         * lib/stdlib.in.h (grantpt): New declaration.
43574         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
43575         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
43576         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
43577         HAVE_GRANTPT.
43578         * doc/posix-functions/grantpt.texi: Mention the new module.
43579         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
43580         * config/srclist.txt: Add grantpt.c (commented).
43581
43582 2010-03-21  Bruno Haible  <bruno@clisp.org>
43583
43584         New module 'pt_chown'.
43585         * lib/pt_chown.c: New file, from glibc with modifications.
43586         * lib/pty-private.h: New file, from glibc with modifications.
43587         * modules/pt_chown: New file.
43588         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
43589
43590 2010-03-21  Bruno Haible  <bruno@clisp.org>
43591
43592         Tests for module 'ptsname'.
43593         * modules/ptsname-tests: New file.
43594         * tests/test-ptsname.c: New file.
43595
43596         New module 'ptsname'.
43597         * lib/ptsname.c: New file, from glibc with modifications.
43598         * m4/ptsname.m4: New file.
43599         * modules/ptsname: New file.
43600         * lib/stdlib.in.h (ptsname): New declaration.
43601         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
43602         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
43603         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
43604         HAVE_PTSNAME.
43605         * doc/posix-functions/ptsname.texi: Mention the new module.
43606         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
43607         * config/srclist.txt: Add ptsname.c (commented).
43608
43609 2010-03-21  Bruno Haible  <bruno@clisp.org>
43610
43611         Tests for module 'ttyname_r'.
43612         * modules/ttyname_r-tests: New file.
43613         * tests/test-ttyname_r.c: New file.
43614
43615         New module 'ttyname_r'.
43616         * lib/ttyname_r.c: New file.
43617         * m4/ttyname_r.m4: New file.
43618         * modules/ttyname_r: New file.
43619         * lib/unistd.in.h (ttyname_r): New declaration.
43620         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
43621         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
43622         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
43623         HAVE_TTYNAME_R.
43624         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
43625         * doc/posix-functions/ttyname_r.texi: Mention the new module.
43626
43627 2010-03-20  Bruno Haible  <bruno@clisp.org>
43628
43629         signal: Undefine macro definitions in C++ mode.
43630         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
43631         sigfillset): Undefine macro definitions from the system header in C++
43632         mode.
43633         Reported by John W. Eaton <jwe@gnu.org>.
43634
43635 2010-03-20  Bruno Haible  <bruno@clisp.org>
43636
43637         Ensure no #include statements inside extern "C" { ... }.
43638         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
43639         contain #include statements.
43640         * lib/time.in.h: Likewise.
43641
43642 2010-03-20  Bruno Haible  <bruno@clisp.org>
43643
43644         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
43645         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
43646         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
43647         Reported by John W. Eaton <jwe@gnu.org>.
43648
43649 2010-03-20  Bruno Haible  <bruno@clisp.org>
43650
43651         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
43652         Reported by Jim Meyering.
43653
43654 2010-03-20  Bruno Haible  <bruno@clisp.org>
43655
43656         pipe: Set errno upon failure.
43657         * lib/pipe.h: Specify that when -1 is returned, errno is set.
43658         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
43659         errno value in error message.
43660
43661 2010-03-20  Bruno Haible  <bruno@clisp.org>
43662             Jim Meyering  <meyering@redhat.com>
43663
43664         lchown: Avoid "unused variable" warning.
43665         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
43666
43667 2010-03-20  Bruno Haible  <bruno@clisp.org>
43668
43669         Work around unlink() bug on MacOS X 10.5.6.
43670         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
43671         attempting to unlink a parent directory.
43672         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
43673         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
43674         activate for the replacement function.
43675         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
43676
43677 2010-03-20  Bruno Haible  <bruno@clisp.org>
43678
43679         Fix link errors on Solaris 8.
43680         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
43681         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
43682
43683 2010-03-19  Jim Meyering  <meyering@redhat.com>
43684
43685         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
43686         The _LIBC implementation of build_range_exp correctly honors the
43687         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
43688         However, the non-_LIBC implementation would ignore that syntax-bit
43689         flag and return REG_ERANGE unconditionally.
43690         This change makes it honor that flag.
43691         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
43692         Make two pointer parameters "const".
43693         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
43694         (parse_bracket_exp): Update caller.
43695
43696         regex.m4: correct the reversed range endpoint ([b-a]) test
43697         * m4/regex.m4: When requiring that [b-a] evoke failure,
43698         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
43699         test pass once again for x86-based systems.
43700
43701 2010-03-19  Bruno Haible  <bruno@clisp.org>
43702
43703         scandir: Fix link error on Solaris 8.
43704         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
43705         macros.
43706
43707 2010-03-19  Bruno Haible  <bruno@clisp.org>
43708
43709         getusershell: Fix documentation.
43710         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
43711         module.
43712         * doc/glibc-functions/setusershell.texi: Likewise.
43713
43714         getusershell: Provide declaration, missing on Solaris 9.
43715         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
43716         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
43717         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
43718         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
43719         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43720         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
43721         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
43722         HAVE_GETUSERSHELL.
43723         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
43724
43725 2010-03-19  Bruno Haible  <bruno@clisp.org>
43726
43727         wctype: Provide iswblank function.
43728         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
43729         exists and is fine.
43730         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
43731         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
43732         * tests/test-wctype.c (main): Re-enable the iswblank tests.
43733         * doc/posix-functions/iswblank.texi: Update.
43734
43735 2010-03-19  Bruno Haible  <bruno@clisp.org>
43736
43737         Tests of module 'pty' in C++ mode.
43738         * modules/pty-tests: New file.
43739         * tests/test-pty-c++.cc: New file.
43740         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
43741
43742 2010-03-19  Eric Blake  <eblake@redhat.com>
43743
43744         logb: fix documentation
43745         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
43746         1.5 declaration bug.
43747
43748         forkpty, openpty: prefer glibc's const-safe prototype
43749         * lib/forkpty.c (rpl_forkpty): New file.
43750         * lib/openpty.c (rpl_openpty): Likewise.
43751         * modules/forkpty (Files): Distribute it.
43752         * modules/openpty (Files): Likewise.
43753         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
43754         check...
43755         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
43756         replacement for for non-const BSD signature.
43757         * modules/pty (Makefile.am): Substitute witnesses.
43758         * lib/pty.in.h (forkpty, openpty): Declare replacements.
43759         * tests/test-forkpty.c: Update signature check.
43760         * tests/test-openpty.c: Likewise.
43761         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
43762         * doc/glibc-functions/openpty.texi (openpty): Likewise.
43763
43764         forkpty, openpty: split functions into new modules
43765         * modules/pty (Makefile.am): Substitute new witnesses.
43766         (Libraries): Move library detection...
43767         * modules/forkpty: ...into new module.
43768         * modules/openpty: Another new module.
43769         * modules/pty-tests: Rename and split...
43770         * modules/forkpty-tests: ...to this...
43771         * modules/openpty-tests: ...and this.
43772         * tests/test-pty.c: Rename and split...
43773         * tests/test-forkpty.c: ...to this...
43774         * tests/test-openpty.c: ...and this.
43775         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
43776         (gl_PTY): Split library searching...
43777         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
43778         (gl_FORKPTY, gl_OPENPTY): New macros.
43779         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
43780         * NEWS: Mention the split.
43781         * MODULES.html.sh (Misc): Document the modules.
43782         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
43783         * doc/glibc-functions/openpty.texi (openpty): Likewise.
43784
43785         pty: improve replacement header
43786         * lib/pty.in.h: New file.
43787         * modules/pty (Files): Ship it.
43788         (Makefile.am): Always build replacement.
43789         * m4/pty.m4: Rename...
43790         * m4/pty_h.m4: ...to this.
43791         (gl_PTY): Modernize setting of witness macros; update check of
43792         forkpty to take proper advantage of cache.
43793         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
43794
43795         getopt: avoid compiler warning
43796         * lib/getopt.c (attribute_hidden): Remove unused macro.
43797
43798 2010-03-18  Bruno Haible  <bruno@clisp.org>
43799
43800         Fix link errors on Solaris 8.
43801         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
43802         * modules/search-tests (test_search_c___LDADD): Likewise.
43803         * modules/signal-tests (test_signal_c___LDADD): Likewise.
43804         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
43805         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
43806         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
43807         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
43808         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
43809         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
43810
43811 2010-03-18  Bruno Haible  <bruno@clisp.org>
43812
43813         Fix bug introduced on 2010-03-14.
43814         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
43815         (gl_SPAWN_H): Require it.
43816         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
43817         Reported by Simon Josefsson.
43818
43819 2010-03-18  Bruno Haible  <bruno@clisp.org>
43820
43821         Fix typo introduced on 2009-12-31.
43822         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
43823         posix_spawn_file_actions_adddup2.
43824
43825 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
43826         and Eric Blake  <eblake@redhat.com>
43827
43828         test-vc-list-files-git: make more robust
43829         * tests/test-vc-list-files-git.sh: Unset problematic environment
43830         variables.  Chain commands together.
43831
43832 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
43833
43834         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
43835         `AC_CHECK_DECL' invocation.
43836
43837 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
43838
43839         * lib/inttostr.c (inttostr): Make sure the invocation of verify
43840         appears before executable statements. Suggested by Petr Sumbera
43841         <Petr.Sumbera@Sun.COM>.
43842
43843 2010-03-14  Bruno Haible  <bruno@clisp.org>
43844
43845         * tests/test-flock.c (test_exclusive): Comment out a test that causes
43846         portability problems. Instead use a simpler test.
43847         (main): Check that invalid arguments are rejected only on Linux.
43848
43849 2010-03-14  Bruno Haible  <bruno@clisp.org>
43850
43851         Fix bug introduced on 2009-12-31.
43852         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
43853         gl_PREREQ_SYS_H_WINSOCK2 always.
43854         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
43855         SYS_SOCKET_H variable.
43856         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
43857         Update comments.
43858         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
43859         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
43860         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
43861         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
43862         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
43863
43864 2010-03-14  Bruno Haible  <bruno@clisp.org>
43865
43866         Fix values returned by sinl, cosl.
43867         * lib/trigl.h: Add specification comments.
43868         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
43869         that combines the values from the precomputed table with the values of
43870         the Chebyshev polynomials.
43871
43872 2010-03-14  Bruno Haible  <bruno@clisp.org>
43873
43874         Fix compilation error when modules 'posix_spawn[p]' are not used.
43875         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
43876         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
43877
43878 2010-03-14  Bruno Haible  <bruno@clisp.org>
43879
43880         Fix compilation error on mingw when module 'time_r' is not used.
43881         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
43882         is 1.
43883         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
43884         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
43885         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
43886         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
43887
43888 2010-03-14  Bruno Haible  <bruno@clisp.org>
43889
43890         Fix compilation error with Sun C.
43891         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
43892         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
43893         instead of GCC specific ULONG_LONG_MAX.
43894         * lib/xstrtoll.c: Likewise.
43895         * lib/xstrtoull.c: Likewise.
43896
43897 2010-03-13  Bruno Haible  <bruno@clisp.org>
43898
43899         Allow the user to disable C++ code and tests.
43900         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
43901         (gl_PROG_ANSI_CXX): Require it.
43902
43903 2010-03-13  Bruno Haible  <bruno@clisp.org>
43904
43905         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
43906         cases.
43907
43908 2010-03-13  Bruno Haible  <bruno@clisp.org>
43909
43910         Test that gnulib does not break the standard C++ headers.
43911         * tests/test-locale-c++2.cc: New file.
43912         * modules/locale-tests (Files): Add it.
43913         (Makefile.am): Compile it for test-locale-c++.
43914         * tests/test-math-c++2.cc: New file.
43915         * modules/math-tests (Files): Add it.
43916         (Makefile.am): Compile it for test-math-c++.
43917         * tests/test-signal-c++2.cc: New file.
43918         * modules/signal-tests (Files): Add it.
43919         (Makefile.am): Compile it for test-signal-c++.
43920         * tests/test-stdio-c++2.cc: New file.
43921         * modules/stdio-tests (Files): Add it.
43922         (Makefile.am): Compile it for test-stdio-c++.
43923         * tests/test-stdlib-c++2.cc: New file.
43924         * modules/stdlib-tests (Files): Add it.
43925         (Makefile.am): Compile it for test-stdlib-c++.
43926         * tests/test-string-c++2.cc: New file.
43927         * modules/string-tests (Files): Add it.
43928         (Makefile.am): Compile it for test-string-c++.
43929         * tests/test-time-c++2.cc: New file.
43930         * modules/time-tests (Files): Add it.
43931         (Makefile.am): Compile it for test-time-c++.
43932         Reported by John W. Eaton <jwe@gnu.org>.
43933
43934 2010-03-13  Bruno Haible  <bruno@clisp.org>
43935
43936         * gnulib-tool (func_usage): Clarify which options are available for
43937         --create-testdir and --create-megatestdir.
43938
43939 2010-03-13  Bruno Haible  <bruno@clisp.org>
43940
43941         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
43942         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
43943         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
43944         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
43945         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
43946         when appropriate.
43947         Reported by Jim Meyering.
43948
43949 2010-03-12  Simon Josefsson  <simon@josefsson.org>
43950
43951         * gnulib-tool (func_import): Explain origin of code.
43952
43953 2010-03-12  Bruno Haible  <bruno@clisp.org>
43954
43955         Fix problem with automake's definition of CXXLINK.
43956         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
43957         Reported by Simon Josefsson and Ludovic Courtès.
43958
43959 2010-03-12  Bruno Haible  <bruno@clisp.org>
43960
43961         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
43962         stable releases.
43963
43964 2010-03-11  Bruno Haible  <bruno@clisp.org>
43965
43966         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
43967         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
43968         whether the system provides one variant or multiple variants of the
43969         function.
43970         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
43971         C++ compilers.
43972         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
43973         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
43974         Reported by Jim Meyering.
43975
43976 2010-03-09  Simon Josefsson  <simon@josefsson.org>
43977
43978         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
43979
43980 2010-03-08  Bruno Haible  <bruno@clisp.org>
43981
43982         gnulib-tool: Add support for --libtool in --create-testdir.
43983         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
43984         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
43985
43986 2010-03-08  Eric Blake  <eblake@redhat.com>
43987
43988         gnulib-tool.texi: mention possibility of git submodule
43989         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
43990         submodules.
43991         * doc/.gitignore: Ignore another generated file.
43992
43993 2010-03-08  Karl Berry  <karl@gnu.org>
43994
43995         * doc/gnulib-tool.texi (VCS Issues): Mention third option
43996         of committing gnulib files while skipping others.
43997
43998 2010-03-07  Bruno Haible  <bruno@clisp.org>
43999
44000         Tests of module 'wctype' in C++ mode.
44001         * tests/test-wctype-c++.cc: New file.
44002         * modules/wctype-tests (Files): Add it and tests/signature.h.
44003         (Depends-on): Add ansi-c++-opt.
44004         (Makefile.am): Arrange to compile and run test-wctype-c++.
44005
44006         Tests of module 'wchar' in C++ mode.
44007         * tests/test-wchar-c++.cc: New file.
44008         * modules/wchar-tests (Files): Add it and tests/signature.h.
44009         (Depends-on): Add ansi-c++-opt.
44010         (Makefile.am): Arrange to compile and run test-wchar-c++.
44011         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
44012         gl_MODULE_INDICATOR.
44013
44014         Tests of module 'unistd' in C++ mode.
44015         * tests/test-unistd-c++.cc: New file.
44016         * modules/unistd-tests (Files): Add it and tests/signature.h.
44017         (Depends-on): Add ansi-c++-opt.
44018         (Makefile.am): Arrange to compile and run test-unistd-c++.
44019         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
44020         gl_MODULE_INDICATOR.
44021
44022         Tests of module 'time' in C++ mode.
44023         * tests/test-time-c++.cc: New file.
44024         * modules/time-tests (Files): Add it and tests/signature.h.
44025         (Depends-on): Add ansi-c++-opt.
44026         (Makefile.am): Arrange to compile and run test-time-c++.
44027         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
44028
44029         Tests of module 'sys_time' in C++ mode.
44030         * tests/test-sys_time-c++.cc: New file.
44031         * modules/sys_time-tests (Files): Add it and tests/signature.h.
44032         (Depends-on): Add ansi-c++-opt.
44033         (Makefile.am): Arrange to compile and run test-sys_time-c++.
44034         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
44035         gl_MODULE_INDICATOR.
44036
44037         Tests of module 'sys_stat' in C++ mode.
44038         * tests/test-sys_stat-c++.cc: New file.
44039         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
44040         (Depends-on): Add ansi-c++-opt.
44041         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
44042         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
44043         gl_MODULE_INDICATOR.
44044
44045         Tests of module 'sys_socket' in C++ mode.
44046         * tests/test-sys_socket-c++.cc: New file.
44047         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
44048         (Depends-on): Add ansi-c++-opt.
44049         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
44050         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
44051         gl_MODULE_INDICATOR.
44052
44053         Tests of module 'sys_select' in C++ mode.
44054         * tests/test-sys_select-c++.cc: New file.
44055         * modules/sys_select-tests (Files): Add it and tests/signature.h.
44056         (Depends-on): Add ansi-c++-opt.
44057         (Makefile.am): Arrange to compile and run test-sys_select-c++.
44058         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
44059         gl_MODULE_INDICATOR.
44060
44061         Tests of module 'sys_ioctl' in C++ mode.
44062         * tests/test-sys_ioctl-c++.cc: New file.
44063         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
44064         (Depends-on): Add ansi-c++-opt.
44065         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
44066         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
44067         gl_MODULE_INDICATOR.
44068
44069         Tests of module 'string' in C++ mode.
44070         * tests/test-string-c++.cc: New file.
44071         * modules/string-tests (Files): Add it and tests/signature.h.
44072         (Depends-on): Add ansi-c++-opt.
44073         (Makefile.am): Arrange to compile and run test-string-c++.
44074         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
44075         gl_MODULE_INDICATOR.
44076
44077         Tests of module 'stdlib' in C++ mode.
44078         * tests/test-stdlib-c++.cc: New file.
44079         * modules/stdlib-tests (Files): Add it and tests/signature.h.
44080         (Depends-on): Add ansi-c++-opt.
44081         (Makefile.am): Arrange to compile and run test-stdlib-c++.
44082         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
44083         gl_MODULE_INDICATOR.
44084
44085         Tests of module 'stdio' in C++ mode.
44086         * tests/test-stdio-c++.cc: New file.
44087         * modules/stdio-tests (Files): Add it and tests/signature.h.
44088         (Depends-on): Add ansi-c++-opt.
44089         (Makefile.am): Arrange to compile and run test-stdio-c++.
44090         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
44091         gl_MODULE_INDICATOR.
44092
44093         Tests of module 'spawn' in C++ mode.
44094         * tests/test-spawn-c++.cc: New file.
44095         * modules/spawn-tests (Files): Add it and tests/signature.h.
44096         (Depends-on): Add ansi-c++-opt.
44097         (Makefile.am): Arrange to compile and run test-spawn-c++.
44098         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
44099         gl_MODULE_INDICATOR.
44100
44101         Tests of module 'signal' in C++ mode.
44102         * tests/test-signal-c++.cc: New file.
44103         * modules/signal-tests (Files): Add it and tests/signature.h.
44104         (Depends-on): Add ansi-c++-opt.
44105         (Makefile.am): Arrange to compile and run test-signal-c++.
44106         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
44107         gl_MODULE_INDICATOR.
44108
44109         Tests of module 'search' in C++ mode.
44110         * tests/test-search-c++.cc: New file.
44111         * modules/search-tests (Files): Add it and tests/signature.h.
44112         (Depends-on): Add ansi-c++-opt.
44113         (Makefile.am): Arrange to compile and run test-search-c++.
44114         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
44115         gl_MODULE_INDICATOR.
44116
44117         Tests of module 'math' in C++ mode.
44118         * tests/test-math-c++.cc: New file.
44119         * modules/math-tests (Files): Add it and tests/signature.h.
44120         (Depends-on): Add ansi-c++-opt.
44121         (Makefile.am): Arrange to compile and run test-math-c++.
44122         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
44123
44124         Tests of module 'locale' in C++ mode.
44125         * tests/test-locale-c++.cc: New file.
44126         * modules/locale-tests (Files): Add it and tests/signature.h.
44127         (Depends-on): Add ansi-c++-opt.
44128         (Makefile.am): Arrange to compile and run test-locale-c++.
44129         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
44130         gl_MODULE_INDICATOR.
44131
44132         Tests of module 'langinfo' in C++ mode.
44133         * tests/test-langinfo-c++.cc: New file.
44134         * modules/langinfo-tests (Files): Add it and tests/signature.h.
44135         (Depends-on): Add ansi-c++-opt.
44136         (Makefile.am): Arrange to compile and run test-langinfo-c++.
44137         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
44138         gl_MODULE_INDICATOR.
44139
44140         Tests of module 'iconv-h' in C++ mode.
44141         * tests/test-iconv-h-c++.cc: New file.
44142         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
44143         (Depends-on): Add ansi-c++-opt.
44144         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
44145
44146         Tests of module 'glob' in C++ mode.
44147         * tests/test-glob-c++.cc: New file.
44148         * modules/glob-tests (Files): Add it.
44149         (Depends-on): Add ansi-c++-opt.
44150         (Makefile.am): Arrange to compile and run test-glob-c++.
44151
44152         Tests of module 'fcntl-h' in C++ mode.
44153         * tests/test-fcntl-h-c++.cc: New file.
44154         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
44155         (Depends-on): Add ansi-c++-opt.
44156         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
44157         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
44158         gl_MODULE_INDICATOR.
44159
44160         Tests of module 'dirent' in C++ mode.
44161         * tests/test-dirent-c++.cc: New file.
44162         * modules/dirent-tests (Files): Add it and tests/signature.h.
44163         (Depends-on): Add ansi-c++-opt.
44164         (Makefile.am): Arrange to compile and run test-dirent-c++.
44165         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
44166         gl_MODULE_INDICATOR.
44167
44168         New module 'ansi-c++-opt'.
44169         * modules/ansi-c++-opt: New file.
44170         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
44171
44172         Document C++ namespace mode.
44173         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
44174
44175         wctype: Avoid #define replacements in C++ mode.
44176         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
44177         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
44178         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
44179         In C++, define a namespaced alias symbol.
44180         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
44181         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
44182         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
44183         rule.
44184
44185         wchar: Avoid #define replacements in C++ mode.
44186         * lib/wchar.in.h: Include c++defs.h.
44187         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
44188         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
44189         symbol.
44190         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
44191         * modules/wchar (Depends-on): Add c++defs.
44192         (Makefile.am): Update wchar.h rule.
44193
44194         unistd: Avoid #define replacements in C++ mode.
44195         * lib/unistd.in.h: Include c++defs.h.
44196         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
44197         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
44198         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
44199         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
44200         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
44201         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
44202         symbol.
44203         (environ): Update.
44204         * modules/unistd (Depends-on): Add c++defs.
44205         (Makefile.am): Update unistd.h rule.
44206
44207         time: Avoid #define replacements in C++ mode.
44208         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
44209         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
44210         define a namespaced alias symbol.
44211         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
44212         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
44213         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
44214         * modules/time (Depends-on): Add c++defs, warn-on-use.
44215         (Makefile.am): Update time.h rule.
44216         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
44217         * modules/nanosleep (configure.ac): Likewise.
44218         * modules/strptime (configure.ac): Likewise.
44219         * modules/timegm (configure.ac): Likewise.
44220
44221         sys_time: Avoid #define replacements in C++ mode.
44222         * lib/sys_time.in.h: Include c++defs.h.
44223         (gettimeofday): In C++, define a namespaced alias symbol.
44224         * modules/sys_time (Depends-on): Add c++defs.
44225         (Makefile.am): Update sys/time.h rule.
44226
44227         sys_stat: Avoid #define replacements in C++ mode.
44228         * lib/sys_stat.in.h: Include c++defs.h.
44229         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
44230         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
44231         namespaced alias symbol.
44232         In C++, define a namespaced alias symbol.
44233         * modules/sys_stat (Depends-on): Add c++defs.
44234         (Makefile.am): Update sys/stat.h rule.
44235
44236         sys_socket: Avoid #define replacements in C++ mode.
44237         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
44238         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
44239         definitions also when the system has a <sys/socket.h>.
44240         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
44241         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
44242         In C++, define a namespaced alias symbol.
44243         * modules/sys_socket (Depends-on): Add c++defs.
44244         (Makefile.am): Update sys/socket.h rule.
44245
44246         sys_select: Avoid #define replacements in C++ mode.
44247         * lib/sys_select.in.h: Include c++defs.h. Enable the function
44248         definitions also when the system has a <sys/select.h>.
44249         (select): In C++, define a namespaced alias symbol.
44250         * modules/sys_select (Depends-on): Add c++defs.
44251         (Makefile.am): Update sys/select.h rule.
44252
44253         sys_ioctl: Avoid #define replacements in C++ mode.
44254         * lib/sys_ioctl.in.h: Include c++defs.h.
44255         (ioctl): In C++, define a namespaced alias symbol.
44256         * modules/sys_ioctl (Depends-on): Add c++defs.
44257         (Makefile.am): Update sys/ioctl.h rule.
44258
44259         string: Avoid #define replacements in C++ mode.
44260         * lib/string.in.h: Include c++defs.h.
44261         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
44262         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
44263         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
44264         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
44265         strsignal, strverscmp): In C++, define a namespaced alias symbol.
44266         * modules/string (Depends-on): Add c++defs.
44267         (Makefile.am): Update string.h rule.
44268
44269         stdlib: Avoid #define replacements in C++ mode.
44270         * lib/stdlib.in.h: Include c++defs.h.
44271         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
44272         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
44273         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
44274         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
44275         symbol.
44276         * modules/stdlib (Depends-on): Add c++defs.
44277         (Makefile.am): Update stdlib.h rule.
44278
44279         stdio: Avoid #define replacements in C++ mode.
44280         * lib/stdio.in.h: Include c++defs.h.
44281         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
44282         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
44283         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
44284         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
44285         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
44286         namespaced alias symbol.
44287         * modules/stdio (Depends-on): Add c++defs.
44288         (Makefile.am): Update stdio.h rule.
44289
44290         spawn: Avoid #define replacements in C++ mode.
44291         * lib/spawn.in.h: Include c++defs.h.
44292         (posix_spawn, posix_spawnp, posix_spawnattr_init,
44293         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
44294         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
44295         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
44296         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
44297         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
44298         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
44299         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
44300         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
44301         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
44302         In C++, define a namespaced alias symbol.
44303         * modules/spawn (Depends-on): Add c++defs.
44304         (Makefile.am): Update spawn.h rule.
44305
44306         signal: Avoid #define replacements in C++ mode.
44307         * lib/signal.in.h: Include c++defs.h.
44308         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
44309         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
44310         namespaced alias symbol.
44311         * modules/signal (Depends-on): Add c++defs.
44312         (Makefile.am): Update signal.h rule.
44313
44314         search: Avoid #define replacements in C++ mode.
44315         * lib/search.in.h: Include c++defs.h.
44316         (_gl_search_compar_fn, _gl_search_action_fn): New types.
44317         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
44318         symbol.
44319         * modules/search (Depends-on): Add c++defs.
44320         (Makefile.am): Update search.h rule.
44321
44322         math: Avoid #define replacements in C++ mode.
44323         * lib/math.in.h: Include c++defs.h.
44324         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
44325         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
44326         trunc, truncl): In C++, define a namespaced alias symbol.
44327         * modules/math (Depends-on): Add c++defs.
44328         (Makefile.am): Update math.h rule.
44329
44330         locale: Avoid #define replacements in C++ mode.
44331         * lib/locale.in.h: Include c++defs.h.
44332         (duplocale): In C++, define a namespaced alias symbol.
44333         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
44334         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
44335         * modules/locale (Depends-on): Add c++defs.
44336         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
44337
44338         langinfo: Avoid #define replacements in C++ mode.
44339         * lib/langinfo.in.h: Include c++defs.h.
44340         (nl_langinfo): In C++, define a namespaced alias symbol.
44341         * modules/langinfo (Depends-on): Add c++defs.
44342         (Makefile.am): Update langinfo.h rule.
44343
44344         iconv-h: Avoid #define replacements in C++ mode.
44345         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
44346         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
44347         symbol.
44348         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
44349         whenever iconv is present.
44350         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
44351         (Makefile.am): Update iconv.h rule.
44352
44353         glob: Avoid #define replacements in C++ mode.
44354         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
44355         (_gl_glob_errfunc_fn): New type.
44356         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
44357         symbol.
44358         * modules/glob (Depends-on): Add c++defs, warn-on-use.
44359         (Makefile.am): Update glob.h rule.
44360
44361         fcntl-h: Avoid #define replacements in C++ mode.
44362         * lib/fcntl.in.h: Include c++defs.h.
44363         (fcntl, open, openat): In C++, define a namespaced alias symbol.
44364         * modules/fcntl-h (Depends-on): Add c++defs.
44365         (Makefile.am): Update fcntl.h rule.
44366
44367         dirent: Avoid #define replacements in C++ mode.
44368         * lib/dirent.in.h: Include c++defs.h.
44369         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
44370         namespaced alias symbol.
44371         (dirfd): Update declaration.
44372         * modules/dirent (Depends-on): Add c++defs.
44373         (Makefile.am): Update dirent.h rule.
44374
44375         ctype: Make it usable in C++ code.
44376         * lib/ctype.in.h: Include c++defs.h.
44377         (isblank): Declare as extern "C".
44378         * modules/ctype (Depends-on): Add c++defs.
44379         (Makefile.am): Update ctype.h rule.
44380
44381         New module 'c++defs'.
44382         * modules/c++defs: New file.
44383         * build-aux/c++defs.h: New file.
44384         Reported by John W. Eaton <jwe@gnu.org>.
44385
44386 2010-03-07  Bruno Haible  <bruno@clisp.org>
44387
44388         logb: Provide missing declaration for Cygwin.
44389         * lib/math.in.h (logb): New declaration.
44390         * m4/logb.m4: New file.
44391         * modules/logb (Files): Add m4/logb.m4.
44392         (Depends-on): Add math.
44393         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
44394         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
44395         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
44396         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
44397         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
44398
44399 2010-03-07  Bruno Haible  <bruno@clisp.org>
44400
44401         Fix test-cond link error.
44402         * tests/test-cond.c: Include <stdio.h>.
44403
44404 2010-03-07  Bruno Haible  <bruno@clisp.org>
44405
44406         Fix test-dirent-safer link error.
44407         * modules/dirent-safer-tests (Makefile.am): Define
44408         test_dirent_safer_LDADD.
44409
44410 2010-03-07  Bruno Haible  <bruno@clisp.org>
44411
44412         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
44413         among default module list.
44414
44415 2010-03-07  Bruno Haible  <bruno@clisp.org>
44416
44417         Fix link error on platforms with GNU libiconv.
44418         * modules/unistr/u8-strcoll-tests (Makefile): Define
44419         test_u8_strcoll_LDADD.
44420         * modules/unistr/u16-strcoll-tests (Makefile): Define
44421         test_u16_strcoll_LDADD.
44422         * modules/unistr/u32-strcoll-tests (Makefile): Define
44423         test_u32_strcoll_LDADD.
44424
44425 2010-03-07  Bruno Haible  <bruno@clisp.org>
44426
44427         Use POSIX declarations for socket functions.
44428         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
44429         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
44430         rpl_sendto): Change declaration to match POSIX.
44431         * lib/connect.c (rpl_connect): Likewise.
44432         * lib/accept.c (rpl_accept): Likewise.
44433         * lib/bind.c (rpl_bind): Likewise.
44434         * lib/getpeername.c (rpl_getpeername): Likewise.
44435         * lib/getsockname.c (rpl_getsockname): Likewise.
44436         * lib/recv.c (rpl_recv): Likewise.
44437         * lib/send.c (rpl_send): Likewise.
44438         * lib/recvfrom.c (rpl_recvfrom): Likewise.
44439         * lib/sendto.c (rpl_sendto): Likewise.
44440
44441 2010-03-06  Bruno Haible  <bruno@clisp.org>
44442
44443         Clarify access, euidaccess, faccessat.
44444         * doc/posix-functions/faccessat.texi: Mention security problem under
44445         "Other problems", not "Portability problems".
44446         * doc/posix-functions/access.texi: Likewise. Mention a related security
44447         problem.
44448         * doc/glibc-functions/euidaccess.texi: Mention security problems.
44449         * lib/euidaccess.c: Add comments about platforms.
44450         * lib/unistd.in.h (access, euidaccess): Add warnings.
44451
44452 2010-03-07  Bruno Haible  <bruno@clisp.org>
44453
44454         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
44455         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
44456         (POSIX_SPAWN_SETSCHEDULER): Likewise.
44457         (POSIX_SPAWN_USEVFORK): Define in a way that works when
44458         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
44459         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
44460         declare when POSIX_SPAWN_SETSCHEDULER is zero.
44461         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
44462         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
44463         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
44464         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
44465         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
44466         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
44467         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
44468         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
44469         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
44470         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
44471         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
44472         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
44473         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
44474         Likewise.
44475         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
44476         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
44477         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
44478         Likewise.
44479         * tests/test-spawn.c (main): Make it work when
44480         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
44481
44482 2010-03-07  Bruno Haible  <bruno@clisp.org>
44483
44484         Fix incorrect Makefile.am generation in German locale.
44485         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
44486         Execute sed command with character range in C locale.
44487
44488 2010-03-06  Bruno Haible  <bruno@clisp.org>
44489
44490         Tests for module 'iconv-h'.
44491         * modules/iconv-h-tests: New file.
44492         * tests/test-iconv-h.c: New file.
44493
44494         New module 'iconv-h'.
44495         * modules/iconv-h: New file.
44496         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
44497         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
44498         (configure.ac): Remove gl_ICONV_H.
44499         (Makefile.am): Remove rule for iconv.h.
44500
44501 2010-03-06  Bruno Haible  <bruno@clisp.org>
44502
44503         More consistent naming of *.m4 files.
44504         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
44505         * modules/wctype (Files): Update.
44506
44507         More consistent naming of *.m4 files.
44508         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
44509         * modules/wchar (Files): Update.
44510
44511 2010-03-06  Jim Meyering  <meyering@redhat.com>
44512
44513         euidaccess: relax license to LGPLv2+
44514         * modules/euidaccess (License): Relax to LGPLv2+.
44515
44516 2010-03-06  Bruno Haible  <bruno@clisp.org>
44517
44518         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
44519         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
44520         (Makefile.am): Augment lib_SOURCES instead.
44521
44522 2010-03-04  Jim Meyering  <meyering@redhat.com>
44523
44524         utime: remove obsolete module
44525         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
44526         unnecessary for years, and has been marked as obsolete for 10 months.
44527         * modules/utime: Remove file.
44528         * lib/utime.c: Remove file.
44529         * m4/utime.m4: Remove file.
44530         * m4/utimes-null.m4: Remove file.
44531         * doc/posix-functions/utime.texi (utime): Remove reference to
44532         the module.  Move the sole "fixed by gnulib" item into the
44533         "problems not fixed by Gnulib" list.
44534         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
44535
44536 2010-03-05  Simon Josefsson  <simon@josefsson.org>
44537
44538         * modules/exit (License): Relax license to LGPLv2+.
44539         (Status): Mark as obsolete.
44540         * NEWS: Mention deprecated 'exit' module.
44541         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
44542         of now obsolete 'exit'.
44543
44544 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44545
44546         fts-lgpl: remove unused module
44547         * modules/fts-lgpl: Remove.
44548         * MODULES.html.sh (func_all_modules): Adjust.
44549         * check-module (find_included_lib_files): Adjust.
44550         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
44551
44552 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
44553
44554         copy-acl: enhance Solaris ACL error handling
44555         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
44556         * lib/set-mode-acl.c (qset_acl): Likewise.
44557
44558 2010-03-02  Bruno Haible  <bruno@clisp.org>
44559
44560         spawn: Don't override the system defined values on FreeBSD 8.
44561         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
44562         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
44563         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
44564         if HAVE_POSIX_SPAWN is 1.
44565         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
44566
44567 2010-03-01  Bruno Haible  <bruno@clisp.org>
44568
44569         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
44570         regarding Automake.
44571
44572 2010-02-25  Bruno Haible  <bruno@clisp.org>
44573
44574         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
44575         * gnulib-tool: Define 'echo' as a function only before the ksh alias
44576         setting, not afterwards.
44577         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
44578
44579 2010-02-24  Eric Blake  <eblake@redhat.com>
44580
44581         bootstrap, git-version-gen: use timestamp
44582         * build-aux/git-version-gen (scriptversion): Force UTC.
44583         * build-aux/bootstrap (scriptversion): New variable.
44584
44585         bootstrap: allow older git
44586         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
44587         older than 1.6.4.  Requested by the libvirt project.
44588
44589 2010-02-23  Eric Blake  <eblake@redhat.com>
44590
44591         warn-on-use: work with old autoconf
44592         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
44593         AS_VAR semantics of autoconf 2.60.
44594         Reported by Bruno Haible.
44595
44596         bootstrap: improve some comments
44597         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
44598         clarification comments.
44599
44600         gettimeofday: provide correct function
44601         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
44602         when replacement is declared, otherwise provide gettimeofday.
44603         Reported by Michael Goffioul.
44604
44605 2010-02-23  Jim Meyering  <meyering@redhat.com>
44606
44607         lib-ignore: relax license to "unlimited", not LGPLv2+
44608         * modules/lib-ignore (License): Relax to "unlimited".
44609
44610 2010-02-23  Jim Meyering  <meyering@redhat.com>
44611
44612         lib-ignore: relax license to LGPLv2+
44613         * modules/lib-ignore (License): Relax to LGPLv2+.
44614
44615 2010-02-22  Eric Blake  <eblake@redhat.com>
44616
44617         lseek: avoid bash 3.2 broken pipe bug
44618         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
44619         warning from bash 3.2.
44620         Reported by Ben Pfaff, with analysis from Bruno Haible.
44621
44622         bootstrap: support non-FSF copyright holder
44623         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
44624         bootstrap.conf override of COPYRIGHT_HOLDER.
44625         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
44626
44627         bootstrap: interoperate with gettext 0.14.1
44628         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
44629
44630         bootstrap: allow for alternate submodule location
44631         * build-aux/bootstrap (gnulib_path): New variable; use instead of
44632         hardcoding submodule location.
44633         (gnulib_mk): Allow direct use of Makefile.am.
44634
44635         bootstrap: use GNULIB_SRCDIR to reduce disk usage
44636         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
44637         rather than reconfiguring where the submodule points.
44638
44639         gettimeofday: restore support for platforms that lack function
44640         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
44641         replacement if function is missing.
44642         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
44643         * modules/sys_time (Makefile.am): Substitute it.
44644         * lib/sys_time.in.h (gettimeofday): Check it.
44645         Reported by Michael Goffioul.
44646
44647 2010-02-21  Bruno Haible  <bruno@clisp.org>
44648
44649         * lib/stdio.in.h (obstack_printf): Fix typo.
44650
44651 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
44652
44653         vc-list-files: use bzr ls's -R option
44654         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
44655         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
44656
44657 2010-02-21  Jim Meyering  <meyering@redhat.com>
44658
44659         init.sh: fix EXEEXT shims to work also for names like test-prog
44660         * tests/init.sh: Re-exec a better shell, when needed.
44661         If the current shell lacks support for posix $(...), an init.sh-using
44662         test will now try to find a shell that supports that.  If EXEEXT is
44663         nonempty, we also require support for hyphen-in-alias-name and shell
44664         substitutions like ${var#glob}.  Failure to find such a shell results
44665         in a skipped test.
44666
44667 2010-02-21  Bruno Haible  <bruno@clisp.org>
44668
44669         Really work around around "broken pipe" error message from bash 3.2.
44670         * gnulib-tool (func_reset_sigpipe): Remove function.
44671         (echo): In bash 3.2, define to a function that uses printf.
44672         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
44673
44674 2010-02-20  Bruno Haible  <bruno@clisp.org>
44675
44676         Restore support for automake 1.9.6 with autoconf 2.61.
44677         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
44678         Reported by James Youngman <jay@gnu.org>.
44679
44680 2010-02-20  Bruno Haible  <bruno@clisp.org>
44681
44682         Improve *printf warning condition.
44683         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
44684         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
44685         and the function is overridden due to SIGPIPE emulation.
44686
44687 2010-02-20  Bruno Haible  <bruno@clisp.org>
44688
44689         * lib/stdio.in.h: Tweak comments.
44690
44691 2010-02-19  Bruno Haible  <bruno@clisp.org>
44692
44693         Make it easier to find modules. New gnulib-tool option '--find'.
44694         * gnulib-tool: New option --find.
44695         (func_usage): Document it.
44696         (func_sanitize_modulelist): New function, extracted from
44697         func_all_modules.
44698         (func_all_modules): Invoke it.
44699         * doc/gnulib-tool.texi (Which modules?): New node.
44700
44701 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
44702
44703         * lib/sys_select.in.h: Provide select replacement even if
44704         sys/select.h exists on a system, for Interix.
44705
44706 2010-02-18  Jim Meyering  <meyering@redhat.com>
44707
44708         init.sh: don't use $(...) just yet
44709         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
44710         to accommodate e.g., Solaris' /bin/sh.
44711
44712 2010-02-17  Bruno Haible  <bruno@clisp.org>
44713
44714         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
44715         Reported by Ludovic Courtès <ludo@gnu.org>.
44716
44717 2010-02-16  Simon Josefsson  <simon@josefsson.org>
44718
44719         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
44720         linking with -lintl.
44721
44722 2010-02-17  Simon Josefsson  <simon@josefsson.org>
44723
44724         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
44725         if not provided by the system's netdb.h.  Reported by
44726         ludo@gnu.org (Ludovic Courtès).
44727
44728 2010-02-15  Jim Meyering  <meyering@redhat.com>
44729
44730         init.sh: improve portability and efficiency
44731         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
44732         "dummy" in a for loop.
44733         Use '!', not '^' to select the complement of a character set used
44734         in a "case" statement.
44735         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
44736         Suggestions from Eric Blake.
44737
44738         init.sh: automatically accommodate programs with the .exe suffix
44739         Automatically arrange for an invocation of "prog" to execute the
44740         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
44741         may use the simpler "prog", yet still work when built on a system
44742         that requires specifying the added suffix.
44743         Do this by constructing a function named "prog" that invokes
44744         "prog.exe" for each .exe file in selected directories.
44745         * tests/init.sh (find_exe_basenames_): New function.
44746         (create_exe_shim_functions_): New function.
44747         (path_prepend_): Use it.
44748
44749         maint.mk: mark syntax-check sc_*.m rules as .PHONY
44750         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
44751         "make -t syntax-check" doesn't create a ton of sc_*.m files.
44752
44753 2010-02-14  Jim Meyering  <meyering@redhat.com>
44754
44755         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
44756         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
44757         (sc_prohibit_hash_pjw_without_use): New rule.
44758
44759         maint.mk: allow the default upload destination dir to be overridden
44760         * top/maint.mk (upload_dest_dir_): Define with a default that
44761         preserves the status quo.
44762         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
44763         Reported by Peter Simons.
44764
44765         maint.mk: prohibit inclusion of "hash.h" without_use
44766         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
44767
44768 2010-02-10  Jim Meyering  <meyering@redhat.com>
44769
44770         maint.mk: prohibit inclusion of "ignore-value.h" without_use
44771         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
44772
44773 2010-02-09  Eric Blake  <ebb9@byu.net>
44774         and Bruno Haible  <bruno@clisp.org>
44775
44776         obstack-printf-posix: ensure declaration
44777         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
44778         extracted from gl_FUNC_OBSTACK_PRINTF.
44779         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
44780         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
44781         Likewise.
44782         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
44783         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
44784         0.
44785
44786 2010-02-08  Bruno Haible  <bruno@clisp.org>
44787
44788         gnulib-tool: Fix typo in 2010-02-07 commit.
44789         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
44790         Reported by Eric Blake.
44791
44792 2010-02-07  Bruno Haible  <bruno@clisp.org>
44793
44794         gnulib-tool: Fix up caching patches.
44795         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
44796         option --no-cache. Use associative arrays when supported by the shell.
44797         (sed_comments): New variable.
44798         (modcache): Renamed from do_cache.
44799         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
44800         abbreviate unnecessarily.
44801         (have_associative): New variable.
44802         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
44803         way also for ksh and zsh.
44804         (func_init_sed_convert_to_cache_statements): New function, extracted
44805         from func_cache_lookup_module. Add support for associative arrays.
44806         Don't set the c_MODULE_cached variable here. Ignore all lines before
44807         the first field header. Remove only the final newline, not all trailing
44808         newlines. Support empty fields correctly. Limit the use of 'eval' to
44809         assignments.
44810         (func_get_description, func_get_status, func_get_notice,
44811         func_get_applicability, func_get_filelist, func_get_dependencies,
44812         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
44813         func_get_automake_snippet, func_get_include_directive,
44814         func_get_link_directive, func_get_license, func_get_maintainer):
44815         Update documentation. List the unoptimized code first. Add support for
44816         associative arrays. Limit the use of 'eval' to assignments.
44817         (func_get_applicability): Undo stylistic pessimisations.
44818         (func_get_automake_snippet, func_get_include_directive): Reduce code
44819         duplication.
44820         (func_modules_transitive_closure, func_modules_add_dummy,
44821         func_modules_notice, func_modules_to_filelist, func_add_file,
44822         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
44823         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
44824         func_create_testdir, func_create_megatestdir): Update documentation.
44825
44826 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44827
44828         * gnulib-tool (func_cache_lookup_module): Store the module name
44829         belonging to the cache variable; error out if two different
44830         module names map to the same cache variable name.
44831
44832 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44833
44834         gnulib-tool: Make caching optional.
44835         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
44836         Update matching short versions of --no-changelog.
44837         (func_usage): Update.
44838         (sed_extract_cache_prog): Renamed from ...
44839         (sed_extract_prog): ... this; revert to old extraction script.
44840         (func_get_description, func_get_status)
44841         (func_get_notice, func_get_applicability, func_get_filelist)
44842         (func_get_dependencies, func_get_autoconf_early_snippet)
44843         (func_get_autoconf_snippet, func_get_automake_snippet)
44844         (func_get_include_directive, func_get_link_directive)
44845         (func_get_license, func_get_maintainer): If $do_cache is false,
44846         use old, non-caching extraction scripts.
44847         Suggestion by Bruno Haible.
44848
44849 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44850
44851         gnulib-tool: cache module metainformation.
44852         * gnulib-tool (sed_extract_prog): Match newline before each
44853         header, and rewrite header to a shell variable suffix.
44854         (func_cache_var, func_cache_lookup_module): New functions,
44855         to turn a module name into a cache variable prefix, and to
44856         look up and cache module metainformation.
44857         (func_get_description, func_get_status)
44858         (func_get_notice, func_get_applicability, func_get_filelist)
44859         (func_get_dependencies, func_get_autoconf_early_snippet)
44860         (func_get_autoconf_snippet, func_get_automake_snippet)
44861         (func_get_include_directive, func_get_link_directive)
44862         (func_get_license, func_get_maintainer): Use
44863         func_cache_lookup_module.
44864
44865 2010-02-07  Bruno Haible  <bruno@clisp.org>
44866
44867         fnctl: Fix missing dependency.
44868         * modules/fcntl (Depends-on): Add getdtablesize.
44869         Reported by John W. Eaton <jwe@gnu.org>.
44870
44871 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
44872
44873         Argp: fix recognition of short alias options.
44874
44875         * lib/argp-parse.c (convert_options): Fix improper use of
44876         `|' between character values.
44877         * tests/test-argp.c (group1_option): New alias option
44878         --read (-r).
44879         (group1_parser): Special handling for 'r'.
44880         (test15): New test case.
44881         (test_fun): Add test15.
44882         * tests/test-argp-2.sh: Update expected --help and --usage
44883         outputs.
44884
44885 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
44886
44887         * tests/test-argp.c: Fix indentation.
44888
44889 2010-02-04  Eric Blake  <ebb9@byu.net>
44890
44891         gettimeofday: expose type of second argument
44892         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
44893         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
44894         * tests/test-gettimeofday.c: Use it to silence warning.
44895         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
44896         the issue.
44897
44898 2010-02-03  Jim Meyering  <meyering@redhat.com>
44899
44900         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
44901         * lib/regcomp.c (TYPE_SIGNED): Define.
44902         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
44903
44904         regcomp.c: avoid a new -Wshadow warning
44905         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
44906
44907 2010-02-01  Jim Meyering  <meyering@redhat.com>
44908
44909         removing useless parentheses in cpp #define directives
44910         For motivation, see commit c0221df4, "define STREQ(a,b)
44911         consistently, removing useless parentheses"
44912         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
44913         * lib/mountlist.c (MNT_IGNORE): Likewise.
44914         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
44915
44916 2010-02-01  Eric Blake  <ebb9@byu.net>
44917
44918         sys_time: use link-warning
44919         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
44920         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
44921         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
44922         * modules/sys_time (Depends-on): Add warn-on-use.
44923         (Makefile.am): Always build replacement.
44924         (configure.ac): Update substitutions.
44925         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
44926         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
44927         bother with SYS_TIME_H.
44928         * modules/gettimeofday (configure.ac): Declare indicator.
44929         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
44930         in use.
44931
44932         closein-tests: silence compiler warning
44933         * tests/test-closein.c (main): Ignore fread result.
44934         * modules/closein-tests (Depends-on): Add ignore-value.
44935
44936         tests: silence warning about system return
44937         * tests/test-areadlink-with-size.c (main): Ignore system result.
44938         * tests/test-areadlink.c (main): Likewise.
44939         * tests/test-areadlinkat-with-size.c (main): Likewise.
44940         * tests/test-areadlinkat.c (main): Likewise.
44941         * tests/test-canonicalize-lgpl.c (main): Likewise.
44942         * tests/test-canonicalize.c (main): Likewise.
44943         * tests/test-chown.c (main): Likewise.
44944         * tests/test-fchownat.c (main): Likewise.
44945         * tests/test-fdutimensat.c (main): Likewise.
44946         * tests/test-fstatat.c (main): Likewise.
44947         * tests/test-futimens.c (main): Likewise.
44948         * tests/test-lchown.c (main): Likewise.
44949         * tests/test-link.c (main): Likewise.
44950         * tests/test-linkat.c (main): Likewise.
44951         * tests/test-lstat.c (main): Likewise.
44952         * tests/test-mkdir.c (main): Likewise.
44953         * tests/test-mkdirat.c (main): Likewise.
44954         * tests/test-mkfifo.c (main): Likewise.
44955         * tests/test-mkfifoat.c (main): Likewise.
44956         * tests/test-mknod.c (main): Likewise.
44957         * tests/test-readlink.c (main): Likewise.
44958         * tests/test-remove.c (main): Likewise.
44959         * tests/test-rename.c (main): Likewise.
44960         * tests/test-renameat.c (main): Likewise.
44961         * tests/test-rmdir.c (main): Likewise.
44962         * tests/test-symlink.c (main): Likewise.
44963         * tests/test-symlinkat.c (main): Likewise.
44964         * tests/test-unlink.c (main): Likewise.
44965         * tests/test-unlinkat.c (main): Likewise.
44966         * tests/test-utimens.c (main): Likewise.
44967         * tests/test-utimensat.c (main): Likewise.
44968         * modules/areadlink-tests (Depends-on): Add ignore-value.
44969         * modules/areadlink-with-size-tests (Depends-on): Likewise.
44970         * modules/areadlinkat-tests (Depends-on): Likewise.
44971         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
44972         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44973         * modules/canonicalize-tests (Depends-on): Likewise.
44974         * modules/chown-tests (Depends-on): Likewise.
44975         * modules/fdutimensat-tests (Depends-on): Likewise.
44976         * modules/futimens-tests (Depends-on): Likewise.
44977         * modules/lchown-tests (Depends-on): Likewise.
44978         * modules/link-tests (Depends-on): Likewise.
44979         * modules/linkat-tests (Depends-on): Likewise.
44980         * modules/lstat-tests (Depends-on): Likewise.
44981         * modules/mkdir-tests (Depends-on): Likewise.
44982         * modules/mkfifo-tests (Depends-on): Likewise.
44983         * modules/mkfifoat-tests (Depends-on): Likewise.
44984         * modules/mknod-tests (Depends-on): Likewise.
44985         * modules/openat-tests (Depends-on): Likewise.
44986         * modules/readlink-tests (Depends-on): Likewise.
44987         * modules/remove-tests (Depends-on): Likewise.
44988         * modules/rename-tests (Depends-on): Likewise.
44989         * modules/renameat-tests (Depends-on): Likewise.
44990         * modules/rmdir-tests (Depends-on): Likewise.
44991         * modules/symlink-tests (Depends-on): Likewise.
44992         * modules/symlinkat-tests (Depends-on): Likewise.
44993         * modules/unlink-tests (Depends-on): Likewise.
44994         * modules/utimens-tests (Depends-on): Likewise.
44995         * modules/utimensat-tests (Depends-on): Likewise.
44996
44997 2010-01-31  Bruno Haible  <bruno@clisp.org>
44998
44999         Perform the same test for many <math.h> functions.
45000         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
45001         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
45002         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
45003         of gl_MATHFUNC.
45004         * modules/acos (configure.ac): Likewise.
45005         * modules/asin (configure.ac): Likewise.
45006         * modules/atan (configure.ac): Likewise.
45007         * modules/atan2 (configure.ac): Likewise.
45008         * modules/cbrt (configure.ac): Likewise.
45009         * modules/copysign (configure.ac): Likewise.
45010         * modules/cos (configure.ac): Likewise.
45011         * modules/cosh (configure.ac): Likewise.
45012         * modules/erf (configure.ac): Likewise.
45013         * modules/erfc (configure.ac): Likewise.
45014         * modules/exp (configure.ac): Likewise.
45015         * modules/fmod (configure.ac): Likewise.
45016         * modules/hypot (configure.ac): Likewise.
45017         * modules/j0 (configure.ac): Likewise.
45018         * modules/j1 (configure.ac): Likewise.
45019         * modules/jn (configure.ac): Likewise.
45020         * modules/lgamma (configure.ac): Likewise.
45021         * modules/log (configure.ac): Likewise.
45022         * modules/log10 (configure.ac): Likewise.
45023         * modules/log1p (configure.ac): Likewise.
45024         * modules/pow (configure.ac): Likewise.
45025         * modules/remainder (configure.ac): Likewise.
45026         * modules/sin (configure.ac): Likewise.
45027         * modules/sinh (configure.ac): Likewise.
45028         * modules/tan (configure.ac): Likewise.
45029         * modules/tanh (configure.ac): Likewise.
45030         * modules/y0 (configure.ac): Likewise.
45031         * modules/y1 (configure.ac): Likewise.
45032         * modules/yn (configure.ac): Likewise.
45033         Suggested by Paolo Bonzini.
45034
45035 2010-01-31  Bruno Haible  <bruno@clisp.org>
45036
45037         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
45038
45039 2010-01-31  Bruno Haible  <bruno@clisp.org>
45040
45041         Work around getdelim() bug on FreeBSD 8.0.
45042         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
45043         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
45044         not work.
45045         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
45046         is 1.
45047         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
45048         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
45049         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
45050         a non-zero size.
45051         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
45052
45053 2010-01-31  Bruno Haible  <bruno@clisp.org>
45054
45055         Work around getline() bug on FreeBSD 8.0.
45056         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
45057         and a non-zero size.
45058         * tests/test-getline.c (main): Likewise.
45059         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
45060         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
45061
45062 2010-01-28  Eric Blake  <ebb9@byu.net>
45063
45064         regex: fix build failure
45065         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
45066         platforms.
45067
45068 2010-01-28  Jim Meyering  <meyering@redhat.com>
45069
45070         regex: do not ignore memory allocation failure
45071         * lib/regex_internal.c (create_cd_newstate): Detect
45072         re_node_set_init_copy failure.   Extracted from glibc commit
45073         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
45074
45075         regex: sync more white-space changes from libc
45076         * lib/regex_internal.c: White-space only changes.
45077         * lib/regexec.c: Likewise.
45078
45079         regex: add many uses of __attribute_warn_unused_result__
45080         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
45081         * lib/regexec.c: Likewise.
45082         Extracted from a messy glibc commit.
45083
45084         regcomp.c: spelling and merge-artifact from glibc
45085         * lib/regcomp.c: Merge remainder of glibc's
45086         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
45087
45088         regcomp.c: sync white-space changes from glibc
45089         * lib/regcomp.c: Merge to accommodate white space
45090         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
45091
45092         regcomp.c: do not ignore internal return values
45093         * lib/regcomp.c: Do not ignore internal return values.
45094         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
45095         but without its white-space changes and spelling fixes.
45096
45097         regex_internal.h: define __attribute_warn_unused_result__
45098         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
45099
45100         maint: add a syntax-check rule to check for vulnerable Makefile.in
45101         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
45102
45103 2010-01-27  Jim Meyering  <meyering@redhat.com>
45104
45105         ncftpput-ftp: clean up spaces
45106         * build-aux/ncftpput-ftp: Make Copyright line consistent.
45107         Remove trailing blanks.
45108
45109 2010-01-27  Simon Josefsson  <simon@josefsson.org>
45110
45111         * build-aux/git-version-gen: Fix copyright statement.
45112         * build-aux/gnupload: Likewise.
45113         * tests/test-arcfour.c: Likewise.
45114         * tests/test-arctwo.c: Likewise.
45115         * tests/test-count-one-bits.c: Likewise.
45116         * tests/test-crc.c: Likewise.
45117         * tests/test-des.c: Likewise.
45118         * tests/test-gc-arcfour.c: Likewise.
45119         * tests/test-gc-arctwo.c: Likewise.
45120         * tests/test-gc-des.c: Likewise.
45121         * tests/test-gc-hmac-md5.c: Likewise.
45122         * tests/test-gc-hmac-sha1.c: Likewise.
45123         * tests/test-gc-md2.c: Likewise.
45124         * tests/test-gc-md4.c: Likewise.
45125         * tests/test-gc-md5.c: Likewise.
45126         * tests/test-gc-pbkdf2-sha1.c: Likewise.
45127         * tests/test-gc-rijndael.c: Likewise.
45128         * tests/test-gc-sha1.c: Likewise.
45129         * tests/test-gc.c: Likewise.
45130         * tests/test-gethostname.c: Likewise.
45131         * tests/test-gettimeofday.c: Likewise.
45132         * tests/test-hash.c: Likewise.
45133         * tests/test-hmac-md5.c: Likewise.
45134         * tests/test-hmac-sha1.c: Likewise.
45135         * tests/test-md2.c: Likewise.
45136         * tests/test-md4.c: Likewise.
45137         * tests/test-md5.c: Likewise.
45138         * tests/test-memchr.c: Likewise.
45139         * tests/test-memchr2.c: Likewise.
45140         * tests/test-memcmp.c: Likewise.
45141         * tests/test-memmem.c: Likewise.
45142         * tests/test-memrchr.c: Likewise.
45143         * tests/test-rawmemchr.c: Likewise.
45144         * tests/test-read-file.c: Likewise.
45145         * tests/test-rijndael.c: Likewise.
45146         * tests/test-sockets.c: Likewise.
45147         * tests/test-strchrnul.c: Likewise.
45148         * tests/test-strstr.c: Likewise.
45149         * tests/test-strtod.c: Likewise.
45150         * build-aux/ncftpput-ftp: Likewise.
45151
45152 2010-01-26  Eric Blake  <ebb9@byu.net>
45153
45154         ignore-value: update recommended header name
45155         * modules/ignore-value (Include): Only use <> for headers that
45156         exist in glibc.
45157
45158 2010-01-26  Jim Meyering  <meyering@redhat.com>
45159
45160         test-userspec.c: avoid compiler warnings
45161         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
45162         and "initialization discards qualifiers..." warnings.
45163         Put the first "uid" in its own scope, and make char* members "const".
45164
45165 2010-01-25  Bruno Haible  <bruno@clisp.org>
45166
45167         gnulib-tool: Make warning diagnostics consistent.
45168         * gnulib-tool (func_warning): New function.
45169         Use it everywhere where gnulib-tool produces output to stderr and it is
45170         not a fatal error.
45171
45172 2010-01-25  Bruno Haible  <bruno@clisp.org>
45173
45174         Fix test dependencies.
45175         * modules/xstrtol-tests (Depends-on): Add inttypes.
45176         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
45177
45178 2010-01-25 Pádraig Brady <P@draigBrady.com>
45179
45180         syntax-check: detect incorrect boolean macro values in config.h
45181         * modules/maintainer-makefile (configure.ac): Parameterize the location
45182         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
45183         The logic is from Eric Blake and the location indicated by Jim Meyering.
45184         Note the more natural CONFIG_HEADER name is prohibited by automake
45185         for backwards compatibility reasons.
45186         * top/maint.mk (sc_Wundef_boolean): New rule.
45187
45188 2010-01-25  Jim Meyering  <meyering@redhat.com>
45189
45190         bootstrap: detect MacOS 10.6's shasum, too
45191         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
45192         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
45193
45194 2010-01-23  Jim Meyering  <meyering@redhat.com>
45195
45196         xstrtoll: new module
45197         * modules/xstrtoll: New file.
45198         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
45199         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
45200         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
45201         ./configure fails if you use this module and lack "long long".
45202         * modules/xstrtoll-tests: New module.
45203         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
45204         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
45205         new init.sh-based test framework.
45206
45207 2010-01-24  Bruno Haible  <bruno@clisp.org>
45208
45209         Tests for module 'yn'.
45210         * modules/yn-tests: New file.
45211         * tests/test-yn.c: New file.
45212
45213         Tests for module 'y1'.
45214         * modules/y1-tests: New file.
45215         * tests/test-y1.c: New file.
45216
45217         Tests for module 'y0'.
45218         * modules/y0-tests: New file.
45219         * tests/test-y0.c: New file.
45220
45221         Tests for module 'tanh'.
45222         * modules/tanh-tests: New file.
45223         * tests/test-tanh.c: New file.
45224
45225         Tests for module 'tan'.
45226         * modules/tan-tests: New file.
45227         * tests/test-tan.c: New file.
45228
45229         Tests for module 'sqrt'.
45230         * modules/sqrt-tests: New file.
45231         * tests/test-sqrt.c: New file.
45232
45233         Tests for module 'sinh'.
45234         * modules/sinh-tests: New file.
45235         * tests/test-sinh.c: New file.
45236
45237         Tests for module 'sin'.
45238         * modules/sin-tests: New file.
45239         * tests/test-sin.c: New file.
45240
45241         Tests for module 'rint'.
45242         * modules/rint-tests: New file.
45243         * tests/test-rint.c: New file.
45244
45245         Tests for module 'remainder'.
45246         * modules/remainder-tests: New file.
45247         * tests/test-remainder.c: New file.
45248
45249         Tests for module 'pow'.
45250         * modules/pow-tests: New file.
45251         * tests/test-pow.c: New file.
45252
45253         Tests for module 'nextafter'.
45254         * modules/nextafter-tests: New file.
45255         * tests/test-nextafter.c: New file.
45256
45257         Tests for module 'modf'.
45258         * modules/modf-tests: New file.
45259         * tests/test-modf.c: New file.
45260
45261         Tests for module 'logb'.
45262         * modules/logb-tests: New file.
45263         * tests/test-logb.c: New file.
45264
45265         Tests for module 'log1p'.
45266         * modules/log1p-tests: New file.
45267         * tests/test-log1p.c: New file.
45268
45269         Tests for module 'log10'.
45270         * modules/log10-tests: New file.
45271         * tests/test-log10.c: New file.
45272
45273         Tests for module 'log'.
45274         * modules/log-tests: New file.
45275         * tests/test-log.c: New file.
45276
45277         Tests for module 'lgamma'.
45278         * modules/lgamma-tests: New file.
45279         * tests/test-lgamma.c: New file.
45280
45281         Tests for module 'ldexp'.
45282         * modules/ldexp-tests: New file.
45283         * tests/test-ldexp.c: New file.
45284
45285         Tests for module 'jn'.
45286         * modules/jn-tests: New file.
45287         * tests/test-jn.c: New file.
45288
45289         Tests for module 'j1'.
45290         * modules/j1-tests: New file.
45291         * tests/test-j1.c: New file.
45292
45293         Tests for module 'j0'.
45294         * modules/j0-tests: New file.
45295         * tests/test-j0.c: New file.
45296
45297         Tests for module 'hypot'.
45298         * modules/hypot-tests: New file.
45299         * tests/test-hypot.c: New file.
45300
45301         Tests for module 'fmod'.
45302         * modules/fmod-tests: New file.
45303         * tests/test-fmod.c: New file.
45304
45305         Tests for module 'fabs'.
45306         * modules/fabs-tests: New file.
45307         * tests/test-fabs.c: New file.
45308
45309         Tests for module 'exp'.
45310         * modules/exp-tests: New file.
45311         * tests/test-exp.c: New file.
45312
45313         Tests for module 'erfc'.
45314         * modules/erfc-tests: New file.
45315         * tests/test-erfc.c: New file.
45316
45317         Tests for module 'erf'.
45318         * modules/erf-tests: New file.
45319         * tests/test-erf.c: New file.
45320
45321         Tests for module 'cosh'.
45322         * modules/cosh-tests: New file.
45323         * tests/test-cosh.c: New file.
45324
45325         Tests for module 'cos'.
45326         * modules/cos-tests: New file.
45327         * tests/test-cos.c: New file.
45328
45329         Tests for module 'copysign'.
45330         * modules/copysign-tests: New file.
45331         * tests/test-copysign.c: New file.
45332
45333         Tests for module 'cbrt'.
45334         * modules/cbrt-tests: New file.
45335         * tests/test-cbrt.c: New file.
45336
45337         Tests for module 'atan2'.
45338         * modules/atan2-tests: New file.
45339         * tests/test-atan2.c: New file.
45340
45341         Tests for module 'atan'.
45342         * modules/atan-tests: New file.
45343         * tests/test-atan.c: New file.
45344
45345         Tests for module 'asin'.
45346         * modules/asin-tests: New file.
45347         * tests/test-asin.c: New file.
45348
45349         Tests for module 'acos'.
45350         * modules/acos-tests: New file.
45351         * tests/test-acos.c: New file.
45352
45353 2010-01-24  Bruno Haible  <bruno@clisp.org>
45354
45355         Fix tests for common <math.h> functions.
45356         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
45357         code snippet that references the function pointer, rather than merely
45358         calling the function. Substitute the FUNC_LIBM variable.
45359         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
45360         * modules/acos (configure.ac): Likewise.
45361         * modules/asin (configure.ac): Likewise.
45362         * modules/atan (configure.ac): Likewise.
45363         * modules/atan2 (configure.ac): Likewise.
45364         * modules/cbrt (configure.ac): Likewise.
45365         * modules/copysign (configure.ac): Likewise.
45366         * modules/cos (configure.ac): Likewise.
45367         * modules/cosh (configure.ac): Likewise.
45368         * modules/erf (configure.ac): Likewise.
45369         * modules/erfc (configure.ac): Likewise.
45370         * modules/exp (configure.ac): Likewise.
45371         * modules/fabs (configure.ac): Likewise.
45372         * modules/fmod (configure.ac): Likewise.
45373         * modules/hypot (configure.ac): Likewise.
45374         * modules/j0 (configure.ac): Likewise.
45375         * modules/j1 (configure.ac): Likewise.
45376         * modules/jn (configure.ac): Likewise.
45377         * modules/ldexp (configure.ac): Likewise.
45378         * modules/lgamma (configure.ac): Likewise.
45379         * modules/log (configure.ac): Likewise.
45380         * modules/log10 (configure.ac): Likewise.
45381         * modules/log1p (configure.ac): Likewise.
45382         * modules/logb (configure.ac): Likewise.
45383         * modules/modf (configure.ac): Likewise.
45384         * modules/nextafter (configure.ac): Likewise.
45385         * modules/pow (configure.ac): Likewise.
45386         * modules/remainder (configure.ac): Likewise.
45387         * modules/rint (configure.ac): Likewise.
45388         * modules/sin (configure.ac): Likewise.
45389         * modules/sinh (configure.ac): Likewise.
45390         * modules/tan (configure.ac): Likewise.
45391         * modules/tanh (configure.ac): Likewise.
45392         * modules/y0 (configure.ac): Likewise.
45393         * modules/y1 (configure.ac): Likewise.
45394         * modules/yn (configure.ac): Likewise.
45395
45396 2010-01-24  Bruno Haible  <bruno@clisp.org>
45397
45398         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
45399         * tests/test-acosl.c (x): New variable.
45400         (main): Store argument in x and fetch it from x.
45401         * tests/test-asinl.c (x): New variable.
45402         (main): Store argument in x and fetch it from x.
45403         * tests/test-atanl.c (x): New variable.
45404         (main): Store argument in x and fetch it from x.
45405         * tests/test-cosl.c (x): New variable.
45406         (main): Store argument in x and fetch it from x.
45407         * tests/test-expl.c (x): New variable.
45408         (main): Store argument in x and fetch it from x.
45409         * tests/test-logl.c (x): New variable.
45410         (main): Store argument in x and fetch it from x.
45411         * tests/test-sinl.c (x): New variable.
45412         (main): Store argument in x and fetch it from x.
45413         * tests/test-sqrtl.c (x): New variable.
45414         (main): Store argument in x and fetch it from x.
45415         * tests/test-tanl.c (x): New variable.
45416         (main): Store argument in x and fetch it from x.
45417
45418 2010-01-24  Bruno Haible  <bruno@clisp.org>
45419
45420         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
45421         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
45422         assignments to the initial TESTS_ENVIRONMENT.
45423         * doc/gnulib.texi (Unit test modules): Document it.
45424         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
45425         TESTS_ENVIRONMENT.
45426         * modules/btowc-tests (Makefile.am): Likewise.
45427         * modules/c-stack-tests (Makefile.am): Likewise.
45428         * modules/c-strcase-tests (Makefile.am): Likewise.
45429         * modules/copy-file-tests (Makefile.am): Likewise.
45430         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
45431         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
45432         * modules/mbrtowc-tests (Makefile.am): Likewise.
45433         * modules/mbscasecmp-tests (Makefile.am): Likewise.
45434         * modules/mbscasestr-tests (Makefile.am): Likewise.
45435         * modules/mbschr-tests (Makefile.am): Likewise.
45436         * modules/mbscspn-tests (Makefile.am): Likewise.
45437         * modules/mbsinit-tests (Makefile.am): Likewise.
45438         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
45439         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
45440         * modules/mbspbrk-tests (Makefile.am): Likewise.
45441         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
45442         * modules/mbsrchr-tests (Makefile.am): Likewise.
45443         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
45444         * modules/mbsspn-tests (Makefile.am): Likewise.
45445         * modules/mbsstr-tests (Makefile.am): Likewise.
45446         * modules/nl_langinfo-tests (Makefile.am): Likewise.
45447         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
45448         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
45449         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
45450         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
45451         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
45452         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
45453         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
45454         * modules/wcrtomb-tests (Makefile.am): Likewise.
45455         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
45456         * modules/wcsrtombs-tests (Makefile.am): Likewise.
45457         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
45458         assignments from TESTS_ENVIRONMENT.
45459         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
45460         augmentation.
45461         * modules/argp-version-etc-tests (Makefile.am): Likewise.
45462         * modules/atexit-tests (Makefile.am): Likewise.
45463         * modules/binary-io-tests (Makefile.am): Likewise.
45464         * modules/closein-tests (Makefile.am): Likewise.
45465         * modules/dprintf-posix-tests (Makefile.am): Likewise.
45466         * modules/exclude-tests (Makefile.am): Likewise.
45467         * modules/fflush-tests (Makefile.am): Likewise.
45468         * modules/fpending-tests (Makefile.am): Likewise.
45469         * modules/fprintf-posix-tests (Makefile.am): Likewise.
45470         * modules/freadahead-tests (Makefile.am): Likewise.
45471         * modules/freadptr-tests (Makefile.am): Likewise.
45472         * modules/freadseek-tests (Makefile.am): Likewise.
45473         * modules/fseek-tests (Makefile.am): Likewise.
45474         * modules/fseeko-tests (Makefile.am): Likewise.
45475         * modules/ftell-tests (Makefile.am): Likewise.
45476         * modules/ftello-tests (Makefile.am): Likewise.
45477         * modules/idpriv-drop-tests (Makefile.am): Likewise.
45478         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
45479         * modules/lseek-tests (Makefile.am): Likewise.
45480         * modules/parse-duration-tests (Makefile.am): Likewise.
45481         * modules/perror-tests (Makefile.am): Likewise.
45482         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
45483         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
45484         * modules/pipe-tests (Makefile.am): Likewise.
45485         * modules/pread-tests (Makefile.am): Likewise.
45486         * modules/printf-posix-tests (Makefile.am): Likewise.
45487         * modules/select-tests (Makefile.am): Likewise.
45488         * modules/sigpipe-tests (Makefile.am): Likewise.
45489         * modules/tsearch-tests (Makefile.am): Likewise.
45490         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
45491         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
45492         * modules/uniname/uniname-tests (Makefile.am): Likewise.
45493         * modules/uniwidth/width-tests (Makefile.am): Likewise.
45494         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
45495         * modules/version-etc-tests (Makefile.am): Likewise.
45496         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
45497         * modules/vprintf-posix-tests (Makefile.am): Likewise.
45498         * modules/xalloc-die-tests (Makefile.am): Likewise.
45499         * modules/xprintf-posix-tests (Makefile.am): Likewise.
45500         * modules/xstrtoimax-tests (Makefile.am): Likewise.
45501         * modules/xstrtol-tests (Makefile.am): Likewise.
45502         * modules/xstrtoumax-tests (Makefile.am): Likewise.
45503         * modules/yesno-tests (Makefile.am): Likewise.
45504         Suggested by Jim Meyering.
45505
45506 2010-01-24  Bruno Haible  <bruno@clisp.org>
45507
45508         More documentation.
45509         * doc/gnulib.texi (Writing modules): New chapter.
45510         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
45511         the new chapter.
45512
45513 2010-01-24  Jim Meyering  <meyering@redhat.com>
45514
45515         maint.mk: do not prepend "./" after filtering
45516         * top/maint.mk (_prepend_srcdir_prefix): New variable
45517         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
45518         "./" when $(srcdir) is ".".
45519
45520         define STREQ(a,b) consistently, removing useless parentheses
45521         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
45522         since the only risk is that "a" or "b" contains an unparenthesized
45523         comma, but if either did that, STREQ would have 3 or more arguments.
45524         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
45525         * lib/fts.c (STREQ): Remove unnecessary parentheses.
45526         * lib/hash-triple.c (STREQ): Likewise.
45527         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
45528         * lib/getugroups.c (STREQ): Likewise.
45529
45530 2010-01-23  Jim Meyering  <meyering@redhat.com>
45531
45532         maint.mk: fix syntax-check in a non-srcdir build directory
45533         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
45534         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
45535
45536 2010-01-22  Jim Meyering  <meyering@redhat.com>
45537
45538         userspec: add unit tests
45539         * tests/test-userspec.c: New file.
45540         * modules/userspec-tests: Likewise.
45541
45542 2010-01-21  Jim Meyering  <meyering@redhat.com>
45543
45544         maint.mk: handle source file names containing "." robustly
45545         * top/maint.mk (_dot_escaped_srcdir): Define.
45546         (VC_LIST): Use it in LHS of sed substitution.
45547
45548 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
45549
45550         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
45551         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
45552         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
45553         from a non-srcdir build.
45554
45555 2010-01-20  Eric Blake  <ebb9@byu.net>
45556
45557         warn-on-use: use instead of link-warning
45558         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
45559         * modules/unistd (Depends-on, Makefile.am): Likewise.
45560         * modules/arpa_inet (Depends-on): Replace link-warning with
45561         warn-on-use.
45562         (Makefile.am): Update rules accordingly.
45563         * modules/ctype (Depends-on, Makefile.am): Likewise.
45564         * modules/dirent (Depends-on, Makefile.am): Likewise.
45565         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
45566         * modules/inttypes (Depends-on, Makefile.am): Likewise.
45567         * modules/langinfo (Depends-on, Makefile.am): Likewise.
45568         * modules/locale (Depends-on, Makefile.am): Likewise.
45569         * modules/math (Depends-on, Makefile.am): Likewise.
45570         * modules/search (Depends-on, Makefile.am): Likewise.
45571         * modules/signal (Depends-on, Makefile.am): Likewise.
45572         * modules/spawn (Depends-on, Makefile.am): Likewise.
45573         * modules/stdlib (Depends-on, Makefile.am): Likewise.
45574         * modules/string (Depends-on, Makefile.am): Likewise.
45575         * modules/strings (Depends-on, Makefile.am): Likewise.
45576         * modules/sys_file (Depends-on, Makefile.am): Likewise.
45577         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
45578         * modules/sys_select (Depends-on, Makefile.am): Likewise.
45579         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
45580         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
45581         * modules/sys_times (Depends-on, Makefile.am): Likewise.
45582         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
45583         * modules/wchar (Depends-on, Makefile.am): Likewise.
45584         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
45585         should be poisoned.
45586         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
45587         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
45588         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
45589         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
45590         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
45591         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
45592         * m4/math_h.m4 (gl_MATH_H): Likewise.
45593         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
45594         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
45595         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
45596         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
45597         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
45598         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
45599         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
45600         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
45601         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
45602         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45603         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
45604         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
45605         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
45606         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
45607         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
45608         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
45609         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
45610         GL_LINK_WARNING.
45611         * lib/ctype.in.h: Likewise.
45612         * lib/dirent.in.h: Likewise.
45613         * lib/fcntl.in.h: Likewise.
45614         * lib/inttypes.in.h: Likewise.
45615         * lib/langinfo.in.h: Likewise.
45616         * lib/locale.in.h: Likewise.
45617         * lib/math.in.h: Likewise.
45618         * lib/search.in.h: Likewise.
45619         * lib/signal.in.h: Likewise.
45620         * lib/spawn.in.h: Likewise.
45621         * lib/stdio.in.h: Likewise.
45622         * lib/stdlib.in.h: Likewise.
45623         * lib/string.in.h: Likewise.
45624         * lib/strings.in.h: Likewise.
45625         * lib/sys_file.in.h: Likewise.
45626         * lib/sys_ioctl.in.h: Likewise.
45627         * lib/sys_select.in.h: Likewise.
45628         * lib/sys_socket.in.h: Likewise.
45629         * lib/sys_stat.in.h: Likewise.
45630         * lib/sys_times.in.h: Likewise.
45631         * lib/sys_utsname.in.h: Likewise.
45632         * lib/unistd.in.h: Likewise.
45633         * lib/wchar.in.h: Likewise.
45634
45635 2010-01-20  Bruno Haible  <bruno@clisp.org>
45636
45637         Avoid duplicate -lm.
45638         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
45639         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
45640         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
45641         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
45642         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
45643         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
45644         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
45645         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
45646         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
45647         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
45648         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
45649         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
45650         Reported by Paolo Bonzini.
45651
45652 2010-01-19  Bruno Haible  <bruno@clisp.org>
45653
45654         langinfo, nl_langinfo: Relicense under LGPLv2+.
45655         * modules/langinfo (License): Change to LGPLv2+.
45656         * modules/nl_langinfo (License): Likewise.
45657         Patch by David Lutterkort <lutter@redhat.com>.
45658
45659 2010-01-19  Bruno Haible  <bruno@clisp.org>
45660
45661         Avoid compilation error with cc on OSF/1 5.1.
45662         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
45663         statement, not before.
45664         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45665
45666 2010-01-18  Bruno Haible  <bruno@clisp.org>
45667
45668         Avoid a link error due to the __printf__ symbol.
45669         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
45670         and 2.6.x.
45671         (__format__, __printf__): Remove definitions.
45672         * lib/argp-fmtstream.h: Likewise.
45673         * lib/argp.h: Likewise.
45674         * lib/error.h: Likewise.
45675         * lib/vasnprintf.h: Likewise.
45676         * lib/xprintf.h: Likewise.
45677         * lib/xvasprintf.h: Likewise.
45678         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45679
45680 2010-01-18  Bruno Haible  <bruno@clisp.org>
45681
45682         Tests for module 'tanl'.
45683         * modules/tanl-tests: New file.
45684         * tests/test-tanl.c: New file.
45685
45686         Tests for module 'sqrtl'.
45687         * modules/sqrtl-tests: New file.
45688         * tests/test-sqrtl.c: New file.
45689
45690         Tests for module 'sinl'.
45691         * modules/sinl-tests: New file.
45692         * tests/test-sinl.c: New file.
45693
45694         Tests for module 'logl'.
45695         * modules/logl-tests: New file.
45696         * tests/test-logl.c: New file.
45697
45698         Tests for module 'expl'.
45699         * modules/expl-tests: New file.
45700         * tests/test-expl.c: New file.
45701
45702         Tests for module 'cosl'.
45703         * modules/cosl-tests: New file.
45704         * tests/test-cosl.c: New file.
45705
45706         Tests for module 'atanl'.
45707         * modules/atanl-tests: New file.
45708         * tests/test-atanl.c: New file.
45709
45710         Tests for module 'asinl'.
45711         * modules/asinl-tests: New file.
45712         * tests/test-asinl.c: New file.
45713
45714         Tests for module 'acosl'.
45715         * modules/acosl-tests: New file.
45716         * tests/test-acosl.c: New file.
45717
45718         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
45719         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
45720         tanl): Use the standard gnulib idiom.
45721         * lib/cosl.c: Don't include trigl.c and sincosl.c.
45722         * lib/sinl.c: Likewise.
45723         * lib/tanl.c: Don't include trigl.c.
45724         (kernel_tanl): Make static.
45725         * lib/sincosl.c: Include trigl.h first.
45726         * lib/trigl.c: Likewise.
45727         * m4/acosl.m4: New file.
45728         * m4/asinl.m4: New file.
45729         * m4/atanl.m4: New file.
45730         * m4/cosl.m4: New file.
45731         * m4/expl.m4: New file.
45732         * m4/logl.m4: New file.
45733         * m4/sinl.m4: New file.
45734         * m4/sqrtl.m4: New file.
45735         * m4/tanl.m4: New file.
45736         * m4/mathl.m4: Remove file.
45737         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
45738         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
45739         Don't initialize GNULIB_MATHL.
45740         * modules/acosl: New file.
45741         * modules/asinl: New file.
45742         * modules/atanl: New file.
45743         * modules/cosl: New file.
45744         * modules/expl: New file.
45745         * modules/logl: New file.
45746         * modules/sinl: New file.
45747         * modules/sqrtl: New file.
45748         * modules/tanl: New file.
45749         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
45750         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
45751         substitute GNULIB_MATHL.
45752         * modules/mathl: Rewritten.
45753         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
45754         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
45755         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
45756         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
45757         * doc/posix-functions/expl.texi: Mention the 'expl' module.
45758         * doc/posix-functions/logl.texi: Mention the 'logl' module.
45759         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
45760         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
45761         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
45762
45763 2010-01-18  Bruno Haible  <bruno@clisp.org>
45764
45765         sqrt: Make gl_FUNC_SQRT requirable.
45766         * m4/sqrt.m4: New file.
45767         * modules/sqrt (Files): Add it.
45768         (configure.ac): Invoke gl_FUNC_SQRT.
45769
45770 2010-01-18  Bruno Haible  <bruno@clisp.org>
45771
45772         New modules for common <math.h> functions.
45773         * m4/mathfunc.m4: New file.
45774         * modules/acos: New file.
45775         * modules/asin: New file.
45776         * modules/atan: New file.
45777         * modules/atan2: New file.
45778         * modules/cbrt: New file.
45779         * modules/copysign: New file.
45780         * modules/cos: New file.
45781         * modules/cosh: New file.
45782         * modules/erf: New file.
45783         * modules/erfc: New file.
45784         * modules/exp: New file.
45785         * modules/fabs: New file.
45786         * modules/fmod: New file.
45787         * modules/hypot: New file.
45788         * modules/j0: New file.
45789         * modules/j1: New file.
45790         * modules/jn: New file.
45791         * modules/ldexp: New file.
45792         * modules/lgamma: New file.
45793         * modules/log: New file.
45794         * modules/log10: New file.
45795         * modules/log1p: New file.
45796         * modules/logb: New file.
45797         * modules/modf: New file.
45798         * modules/nextafter: New file.
45799         * modules/pow: New file.
45800         * modules/remainder: New file.
45801         * modules/rint: New file.
45802         * modules/sin: New file.
45803         * modules/sinh: New file.
45804         * modules/sqrt: New file.
45805         * modules/tan: New file.
45806         * modules/tanh: New file.
45807         * modules/y0: New file.
45808         * modules/y1: New file.
45809         * modules/yn: New file.
45810         * doc/posix-functions/acos.texi: Mention the 'acos' module.
45811         * doc/posix-functions/asin.texi: Mention the 'asin' module.
45812         * doc/posix-functions/atan.texi: Mention the 'atan' module.
45813         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
45814         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
45815         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
45816         * doc/posix-functions/cos.texi: Mention the 'cos' module.
45817         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
45818         * doc/posix-functions/erf.texi: Mention the 'erf' module.
45819         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
45820         * doc/posix-functions/exp.texi: Mention the 'exp' module.
45821         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
45822         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
45823         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
45824         * doc/posix-functions/j0.texi: Mention the 'j0' module.
45825         * doc/posix-functions/j1.texi: Mention the 'j1' module.
45826         * doc/posix-functions/jn.texi: Mention the 'jn' module.
45827         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
45828         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
45829         * doc/posix-functions/log.texi: Mention the 'log' module.
45830         * doc/posix-functions/log10.texi: Mention the 'log10' module.
45831         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
45832         * doc/posix-functions/logb.texi: Mention the 'logb' module.
45833         * doc/posix-functions/modf.texi: Mention the 'modf' module.
45834         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
45835         * doc/posix-functions/pow.texi: Mention the 'pow' module.
45836         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
45837         * doc/posix-functions/rint.texi: Mention the 'rint' module.
45838         * doc/posix-functions/sin.texi: Mention the 'sin' module.
45839         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
45840         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
45841         * doc/posix-functions/tan.texi: Mention the 'tan' module.
45842         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
45843         * doc/posix-functions/y0.texi: Mention the 'y0' module.
45844         * doc/posix-functions/y1.texi: Mention the 'y1' module.
45845         * doc/posix-functions/yn.texi: Mention the 'yn' module.
45846
45847 2010-01-18  Jim Meyering  <meyering@redhat.com>
45848
45849         ignore-value: relax license to LGPLv2+
45850         * modules/ignore-value (License): Relax to LGPLv2+.
45851
45852         getdate: don't leak when TZ contains two or more '"'s
45853         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
45854         double quote in TZ after the first one.
45855
45856         readtokens: do not leak internal token_lengths buffer
45857         * lib/readtokens.c (readtokens): Free the local, lengths,
45858         when the supplied "token_lengths" parameter is NULL.
45859
45860 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45861
45862         Fix a couple of missing LIBTHREAD link failures on AIX.
45863         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
45864         $(LIBTHREAD).
45865         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
45866
45867         Link test-poll against INET_PTON_LIB.
45868         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
45869         for inet_pton on Solaris 10.
45870
45871 2010-01-17  Bruno Haible  <bruno@clisp.org>
45872
45873         unistdio/*-sprintf: Fix typo in module description.
45874         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
45875         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
45876         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
45877         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
45878         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
45879         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
45880         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
45881         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45882
45883 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45884
45885         gnulib-tool: fix filelist for AIX, HP-UX ksh.
45886         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
45887         variables in shell case patterns, for AIX and HP-UX ksh.
45888
45889         Split large sed scripts, for HP-UX sed.
45890         * modules/stdio: Split sed scripts around 50 sed commands,
45891         to avoid HP-UX limit of 99 commands, in the near future.
45892         * modules/string: Likewise.
45893         * modules/unistd: Likewise.
45894
45895         gnulib-tool: avoid writing in the current directory.
45896         * gnulib-tool (func_emit_lib_Makefile_am)
45897         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
45898         not in the current directory, so concurrent gnulib-tool
45899         instances do not interfere.
45900
45901 2010-01-16  Jim Meyering  <meyering@redhat.com>
45902
45903         doc: update users.txt
45904         * users.txt: Add grep.
45905         (diffutils, gzip): Update URLs.
45906
45907 2010-01-12  Bruno Haible  <bruno@clisp.org>
45908
45909         posix_spawn: Avoid test failure on Cygwin.
45910         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
45911         characters.
45912         Reported by Simon Josefsson.
45913
45914 2010-01-12  Bruno Haible  <bruno@clisp.org>
45915
45916         * tests/test-cond.c (main): When skipping the test, show the reason.
45917
45918 2010-01-12  Simon Josefsson  <simon@josefsson.org>
45919
45920         * lib/striconv.c (str_cd_iconv): Avoid if before free.
45921
45922 2010-01-12  Simon Josefsson  <simon@josefsson.org>
45923
45924         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
45925         VC_LIST_ALWAYS_EXCLUDE_REGEX.
45926
45927 2010-01-12  Eric Blake  <ebb9@byu.net>
45928
45929         build: guarantee AS_VAR_IF
45930         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
45931         (gl_AS_VAR_IF): Move...
45932         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
45933         Reported by Simon Josefsson.
45934
45935 2010-01-12  Simon Josefsson  <simon@josefsson.org>
45936
45937         * lib/stdio.in.h: Fix typo.
45938
45939 2010-01-12  Simon Josefsson  <simon@josefsson.org>
45940
45941         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
45942         libgpg-error.
45943
45944 2010-01-12  Simon Josefsson  <simon@josefsson.org>
45945
45946         * tests/test-xalloc-die.sh: Use $EXEEXT.
45947
45948 2010-01-12  Simon Josefsson  <simon@josefsson.org>
45949             Bruno Haible  <bruno@clisp.org>
45950
45951         getlogin, getlogin_r: Avoid test failure.
45952         * tests/test-getlogin.c: Include <stdio.h>.
45953         (main): Skip the test when the function fails because stdin is not a
45954         tty.
45955         * tests/test-getlogin_r.c: Include <stdio.h>.
45956         (main): Skip the test when the function fails because stdin is not a
45957         tty.
45958
45959 2010-01-11  Eric Blake  <ebb9@byu.net>
45960
45961         tests: avoid more large file warnings
45962         * tests/test-fflush.c: Avoid warning about ftell use.
45963         * tests/test-fseek.c: Avoid warning about fseek use.
45964
45965 2010-01-10  Bruno Haible  <bruno@clisp.org>
45966
45967         nproc: Work better on Linux when /proc and /sys are not mounted.
45968         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
45969         as lower bound when, on glibc/Linux systems,
45970         sysconf (_SC_NPROCESSORS_CONF) returns 1.
45971         Suggested by Pádraig Brady <P@draigbrady.com>.
45972         Reported by Dmitry V. Levin <ldv@altlinux.org>.
45973
45974         nproc: Refactor.
45975         * lib/nproc.c (num_processors_via_affinity_mask): New function,
45976         extracted from num_processors.
45977         (num_processors): Call it.
45978
45979 2010-01-11  Jim Meyering  <meyering@redhat.com>
45980
45981         utimecmp: avoid new warning from upcoming gcc-4.5.0
45982         * lib/utimecmp.c (BILLION): Define using #define rather than an
45983         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
45984
45985 2010-01-11  Eric Blake  <ebb9@byu.net>
45986
45987         math: add portability warnings for classification macros
45988         * modules/math (Depends-on): Add warn-on-use.
45989         (Makefile.am): Provide new substitutions.
45990         * m4/math_h.m4 (gl_MATH_H): Require inline.
45991         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
45992         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
45993         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
45994         implement warnings.
45995
45996         unistd: warn on use of environ without module
45997         * modules/unistd (Depends-on): Add warn-on-use.
45998         (Makefile.am): Provide new substitutions.
45999         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
46000         * lib/unistd.in.h (environ): Wrap with a warning helper function.
46001
46002         stdio: warn on suspicious uses
46003         * modules/stdio (Depends-on): Add warn-on-use.
46004         (Makefile.am): Provide new substitutions.
46005         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
46006         fseeko.
46007         * lib/stdio.in.h (gets): Always warn on use.
46008         (fseek, ftell): Adjust when warnings are issued, and honor
46009         _GL_NO_LARGE_FILES as a way to silence the warning.
46010         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
46011         any warning about large file offsets.
46012         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
46013         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
46014         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
46015         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
46016         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
46017         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
46018         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
46019         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
46020
46021         warn-on-use: new module
46022         * modules/warn-on-use: New file.
46023         * build-aux/warn-on-use.h: Likewise.
46024         * m4/warn-on-use.m4: Likewise.
46025         * MODULES.html.sh (Support for building): Mention it.
46026
46027 2010-01-10  Bruno Haible  <bruno@clisp.org>
46028
46029         Tests for module 'unistr/u32-strdup'.
46030         * modules/unistr/u32-strdup-tests: New file.
46031         * tests/unistr/test-u32-strdup.c: New file.
46032
46033         Tests for module 'unistr/u16-strdup'.
46034         * modules/unistr/u16-strdup-tests: New file.
46035         * tests/unistr/test-u16-strdup.c: New file.
46036
46037         Tests for module 'unistr/u8-strdup'.
46038         * modules/unistr/u8-strdup-tests: New file.
46039         * tests/unistr/test-u8-strdup.c: New file.
46040         * tests/unistr/test-strdup.h: New file.
46041
46042         Tests for module 'unistr/u32-strncmp'.
46043         * modules/unistr/u32-strncmp-tests: New file.
46044         * tests/unistr/test-u32-strncmp.c: New file.
46045
46046         Tests for module 'unistr/u16-strncmp'.
46047         * modules/unistr/u16-strncmp-tests: New file.
46048         * tests/unistr/test-u16-strncmp.c: New file.
46049
46050         Tests for module 'unistr/u8-strncmp'.
46051         * modules/unistr/u8-strncmp-tests: New file.
46052         * tests/unistr/test-u8-strncmp.c: New file.
46053         * tests/unistr/test-strncmp.h: New file.
46054
46055         Tests for module 'unistr/u32-strcoll'.
46056         * modules/unistr/u32-strcoll-tests: New file.
46057         * tests/unistr/test-u32-strcoll.c: New file.
46058
46059         Tests for module 'unistr/u16-strcoll'.
46060         * modules/unistr/u16-strcoll-tests: New file.
46061         * tests/unistr/test-u16-strcoll.c: New file.
46062
46063         Tests for module 'unistr/u8-strcoll'.
46064         * modules/unistr/u8-strcoll-tests: New file.
46065         * tests/unistr/test-u8-strcoll.c: New file.
46066
46067         Tests for module 'unistr/u32-strcmp'.
46068         * modules/unistr/u32-strcmp-tests: New file.
46069         * tests/unistr/test-u32-strcmp.c: New file.
46070         * tests/unistr/test-u32-strcmp.h: New file.
46071
46072         Tests for module 'unistr/u16-strcmp'.
46073         * modules/unistr/u16-strcmp-tests: New file.
46074         * tests/unistr/test-u16-strcmp.c: New file.
46075         * tests/unistr/test-u16-strcmp.h: New file.
46076
46077         Tests for module 'unistr/u8-strcmp'.
46078         * modules/unistr/u8-strcmp-tests: New file.
46079         * tests/unistr/test-u8-strcmp.c: New file.
46080         * tests/unistr/test-u8-strcmp.h: New file.
46081         * tests/unistr/test-strcmp.h: New file.
46082
46083         Tests for module 'unistr/u32-strncat'.
46084         * modules/unistr/u32-strncat-tests: New file.
46085         * tests/unistr/test-u32-strncat.c: New file.
46086
46087         Tests for module 'unistr/u16-strncat'.
46088         * modules/unistr/u16-strncat-tests: New file.
46089         * tests/unistr/test-u16-strncat.c: New file.
46090
46091         Tests for module 'unistr/u8-strncat'.
46092         * modules/unistr/u8-strncat-tests: New file.
46093         * tests/unistr/test-u8-strncat.c: New file.
46094         * tests/unistr/test-strncat.h: New file.
46095
46096         Tests for module 'unistr/u32-strcat'.
46097         * modules/unistr/u32-strcat-tests: New file.
46098         * tests/unistr/test-u32-strcat.c: New file.
46099
46100         Tests for module 'unistr/u16-strcat'.
46101         * modules/unistr/u16-strcat-tests: New file.
46102         * tests/unistr/test-u16-strcat.c: New file.
46103
46104         Tests for module 'unistr/u8-strcat'.
46105         * modules/unistr/u8-strcat-tests: New file.
46106         * tests/unistr/test-u8-strcat.c: New file.
46107         * tests/unistr/test-strcat.h: New file.
46108
46109         Tests for module 'unistr/u32-stpncpy'.
46110         * modules/unistr/u32-stpncpy-tests: New file.
46111         * tests/unistr/test-u32-stpncpy.c: New file.
46112
46113         Tests for module 'unistr/u16-stpncpy'.
46114         * modules/unistr/u16-stpncpy-tests: New file.
46115         * tests/unistr/test-u16-stpncpy.c: New file.
46116
46117         Tests for module 'unistr/u8-stpncpy'.
46118         * modules/unistr/u8-stpncpy-tests: New file.
46119         * tests/unistr/test-u8-stpncpy.c: New file.
46120         * tests/unistr/test-stpncpy.h: New file.
46121
46122         Tests for module 'unistr/u32-strncpy'.
46123         * modules/unistr/u32-strncpy-tests: New file.
46124         * tests/unistr/test-u32-strncpy.c: New file.
46125
46126         Tests for module 'unistr/u16-strncpy'.
46127         * modules/unistr/u16-strncpy-tests: New file.
46128         * tests/unistr/test-u16-strncpy.c: New file.
46129
46130         Tests for module 'unistr/u8-strncpy'.
46131         * modules/unistr/u8-strncpy-tests: New file.
46132         * tests/unistr/test-u8-strncpy.c: New file.
46133         * tests/unistr/test-strncpy.h: New file.
46134
46135         Tests for module 'unistr/u32-stpcpy'.
46136         * modules/unistr/u32-stpcpy-tests: New file.
46137         * tests/unistr/test-u32-stpcpy.c: New file.
46138
46139         Tests for module 'unistr/u16-stpcpy'.
46140         * modules/unistr/u16-stpcpy-tests: New file.
46141         * tests/unistr/test-u16-stpcpy.c: New file.
46142
46143         Tests for module 'unistr/u8-stpcpy'.
46144         * modules/unistr/u8-stpcpy-tests: New file.
46145         * tests/unistr/test-u8-stpcpy.c: New file.
46146         * tests/unistr/test-stpcpy.h: New file.
46147
46148         Tests for module 'unistr/u32-strcpy'.
46149         * modules/unistr/u32-strcpy-tests: New file.
46150         * tests/unistr/test-u32-strcpy.c: New file.
46151
46152         Tests for module 'unistr/u16-strcpy'.
46153         * modules/unistr/u16-strcpy-tests: New file.
46154         * tests/unistr/test-u16-strcpy.c: New file.
46155
46156         Tests for module 'unistr/u8-strcpy'.
46157         * modules/unistr/u8-strcpy-tests: New file.
46158         * tests/unistr/test-u8-strcpy.c: New file.
46159         * tests/unistr/test-strcpy.h: New file.
46160
46161         Tests for module 'unistr/u32-strnlen'.
46162         * modules/unistr/u32-strnlen-tests: New file.
46163         * tests/unistr/test-u32-strnlen.c: New file.
46164
46165         Tests for module 'unistr/u16-strnlen'.
46166         * modules/unistr/u16-strnlen-tests: New file.
46167         * tests/unistr/test-u16-strnlen.c: New file.
46168
46169         Tests for module 'unistr/u8-strnlen'.
46170         * modules/unistr/u8-strnlen-tests: New file.
46171         * tests/unistr/test-u8-strnlen.c: New file.
46172         * tests/unistr/test-strnlen.h: New file.
46173
46174         Tests for module 'unistr/u32-strlen'.
46175         * modules/unistr/u32-strlen-tests: New file.
46176         * tests/unistr/test-u32-strlen.c: New file.
46177
46178         Tests for module 'unistr/u16-strlen'.
46179         * modules/unistr/u16-strlen-tests: New file.
46180         * tests/unistr/test-u16-strlen.c: New file.
46181
46182         Tests for module 'unistr/u8-strlen'.
46183         * modules/unistr/u8-strlen-tests: New file.
46184         * tests/unistr/test-u8-strlen.c: New file.
46185
46186         Tests for module 'unistr/u32-prev'.
46187         * modules/unistr/u32-prev-tests: New file.
46188         * tests/unistr/test-u32-prev.c: New file.
46189
46190         Tests for module 'unistr/u16-prev'.
46191         * modules/unistr/u16-prev-tests: New file.
46192         * tests/unistr/test-u16-prev.c: New file.
46193
46194         Tests for module 'unistr/u8-prev'.
46195         * modules/unistr/u8-prev-tests: New file.
46196         * tests/unistr/test-u8-prev.c: New file.
46197
46198         Tests for module 'unistr/u32-next'.
46199         * modules/unistr/u32-next-tests: New file.
46200         * tests/unistr/test-u32-next.c: New file.
46201
46202         Tests for module 'unistr/u16-next'.
46203         * modules/unistr/u16-next-tests: New file.
46204         * tests/unistr/test-u16-next.c: New file.
46205
46206         Tests for module 'unistr/u8-next'.
46207         * modules/unistr/u8-next-tests: New file.
46208         * tests/unistr/test-u8-next.c: New file.
46209
46210         Tests for module 'unistr/u32-strmbtouc'.
46211         * modules/unistr/u32-strmbtouc-tests: New file.
46212         * tests/unistr/test-u32-strmbtouc.c: New file.
46213
46214         Tests for module 'unistr/u16-strmbtouc'.
46215         * modules/unistr/u16-strmbtouc-tests: New file.
46216         * tests/unistr/test-u16-strmbtouc.c: New file.
46217
46218         Tests for module 'unistr/u8-strmbtouc'.
46219         * modules/unistr/u8-strmbtouc-tests: New file.
46220         * tests/unistr/test-u8-strmbtouc.c: New file.
46221
46222         Tests for module 'unistr/u32-strmblen'.
46223         * modules/unistr/u32-strmblen-tests: New file.
46224         * tests/unistr/test-u32-strmblen.c: New file.
46225
46226         Tests for module 'unistr/u16-strmblen'.
46227         * modules/unistr/u16-strmblen-tests: New file.
46228         * tests/unistr/test-u16-strmblen.c: New file.
46229
46230         Tests for module 'unistr/u8-strmblen'.
46231         * modules/unistr/u8-strmblen-tests: New file.
46232         * tests/unistr/test-u8-strmblen.c: New file.
46233
46234         Tests for module 'unistr/u32-cpy-alloc'.
46235         * modules/unistr/u32-cpy-alloc-tests: New file.
46236         * tests/unistr/test-u32-cpy-alloc.c: New file.
46237
46238         Tests for module 'unistr/u16-cpy-alloc'.
46239         * modules/unistr/u16-cpy-alloc-tests: New file.
46240         * tests/unistr/test-u16-cpy-alloc.c: New file.
46241
46242         Tests for module 'unistr/u8-cpy-alloc'.
46243         * modules/unistr/u8-cpy-alloc-tests: New file.
46244         * tests/unistr/test-u8-cpy-alloc.c: New file.
46245         * tests/unistr/test-cpy-alloc.h: New file.
46246
46247         Tests for module 'unistr/u32-mbsnlen'.
46248         * modules/unistr/u32-mbsnlen-tests: New file.
46249         * tests/unistr/test-u32-mbsnlen.c: New file.
46250
46251         Tests for module 'unistr/u16-mbsnlen'.
46252         * modules/unistr/u16-mbsnlen-tests: New file.
46253         * tests/unistr/test-u16-mbsnlen.c: New file.
46254
46255         Tests for module 'unistr/u8-mbsnlen'.
46256         * modules/unistr/u8-mbsnlen-tests: New file.
46257         * tests/unistr/test-u8-mbsnlen.c: New file.
46258
46259         Tests for module 'unistr/u32-chr'.
46260         * modules/unistr/u32-chr-tests: New file.
46261         * tests/unistr/test-u32-chr.c: New file.
46262
46263         Tests for module 'unistr/u16-chr'.
46264         * modules/unistr/u16-chr-tests: New file.
46265         * tests/unistr/test-u16-chr.c: New file.
46266
46267         Tests for module 'unistr/u8-chr'.
46268         * modules/unistr/u8-chr-tests: New file.
46269         * tests/unistr/test-u8-chr.c: New file.
46270         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
46271
46272         Tests for module 'unistr/u32-cmp2'.
46273         * modules/unistr/u32-cmp2-tests: New file.
46274         * tests/unistr/test-u32-cmp2.c: New file.
46275
46276         Tests for module 'unistr/u16-cmp2'.
46277         * modules/unistr/u16-cmp2-tests: New file.
46278         * tests/unistr/test-u16-cmp2.c: New file.
46279
46280         Tests for module 'unistr/u8-cmp2'.
46281         * modules/unistr/u8-cmp2-tests: New file.
46282         * tests/unistr/test-u8-cmp2.c: New file.
46283         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
46284
46285         Tests for module 'unistr/u32-cmp'.
46286         * modules/unistr/u32-cmp-tests: New file.
46287         * tests/unistr/test-u32-cmp.c: New file.
46288
46289         Tests for module 'unistr/u16-cmp'.
46290         * modules/unistr/u16-cmp-tests: New file.
46291         * tests/unistr/test-u16-cmp.c: New file.
46292
46293         Tests for module 'unistr/u8-cmp'.
46294         * modules/unistr/u8-cmp-tests: New file.
46295         * tests/unistr/test-u8-cmp.c: New file.
46296         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
46297
46298         Tests for module 'unistr/u32-set'.
46299         * modules/unistr/u32-set-tests: New file.
46300         * tests/unistr/test-u32-set.c: New file.
46301
46302         Tests for module 'unistr/u16-set'.
46303         * modules/unistr/u16-set-tests: New file.
46304         * tests/unistr/test-u16-set.c: New file.
46305
46306         Tests for module 'unistr/u8-set'.
46307         * modules/unistr/u8-set-tests: New file.
46308         * tests/unistr/test-u8-set.c: New file.
46309         * tests/unistr/test-set.h: New file.
46310
46311         Tests for module 'unistr/u32-move'.
46312         * modules/unistr/u32-move-tests: New file.
46313         * tests/unistr/test-u32-move.c: New file.
46314
46315         Tests for module 'unistr/u16-move'.
46316         * modules/unistr/u16-move-tests: New file.
46317         * tests/unistr/test-u16-move.c: New file.
46318
46319         Tests for module 'unistr/u8-move'.
46320         * modules/unistr/u8-move-tests: New file.
46321         * tests/unistr/test-u8-move.c: New file.
46322         * tests/unistr/test-move.h: New file.
46323
46324         Tests for module 'unistr/u32-cpy'.
46325         * modules/unistr/u32-cpy-tests: New file.
46326         * tests/unistr/test-u32-cpy.c: New file.
46327
46328         Tests for module 'unistr/u16-cpy'.
46329         * modules/unistr/u16-cpy-tests: New file.
46330         * tests/unistr/test-u16-cpy.c: New file.
46331
46332         Tests for module 'unistr/u8-cpy'.
46333         * modules/unistr/u8-cpy-tests: New file.
46334         * tests/unistr/test-u8-cpy.c: New file.
46335         * tests/unistr/test-cpy.h: New file.
46336
46337 2010-01-09  Bruno Haible  <bruno@clisp.org>
46338
46339         Tests for module 'unistr/u32-uctomb'.
46340         * modules/unistr/u32-uctomb-tests: New file.
46341         * tests/unistr/test-u32-uctomb.c: New file.
46342
46343         Tests for module 'unistr/u16-uctomb'.
46344         * modules/unistr/u16-uctomb-tests: New file.
46345         * tests/unistr/test-u16-uctomb.c: New file.
46346
46347         Tests for module 'unistr/u8-uctomb'.
46348         * modules/unistr/u8-uctomb-tests: New file.
46349         * tests/unistr/test-u8-uctomb.c: New file.
46350
46351         Tests for module 'unistr/u32-mbtoucr'.
46352         * modules/unistr/u32-mbtoucr-tests: New file.
46353         * tests/unistr/test-u32-mbtoucr.c: New file.
46354
46355         Tests for module 'unistr/u16-mbtoucr'.
46356         * modules/unistr/u16-mbtoucr-tests: New file.
46357         * tests/unistr/test-u16-mbtoucr.c: New file.
46358
46359         Tests for module 'unistr/u8-mbtoucr'.
46360         * modules/unistr/u8-mbtoucr-tests: New file.
46361         * tests/unistr/test-u8-mbtoucr.c: New file.
46362
46363         Tests for module 'unistr/u32-mbtouc'.
46364         * modules/unistr/u32-mbtouc-tests: New file.
46365         * tests/unistr/test-u32-mbtouc.c: New file.
46366
46367         Tests for module 'unistr/u16-mbtouc'.
46368         * modules/unistr/u16-mbtouc-tests: New file.
46369         * tests/unistr/test-u16-mbtouc.c: New file.
46370
46371         Tests for module 'unistr/u8-mbtouc'.
46372         * modules/unistr/u8-mbtouc-tests: New file.
46373         * tests/unistr/test-u8-mbtouc.c: New file.
46374
46375         Tests for module 'unistr/u32-mbtouc-unsafe'.
46376         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
46377         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
46378         * tests/unistr/test-u32-mbtouc.h: New file.
46379
46380         Tests for module 'unistr/u16-mbtouc-unsafe'.
46381         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
46382         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
46383         * tests/unistr/test-u16-mbtouc.h: New file.
46384
46385         Tests for module 'unistr/u8-mbtouc-unsafe'.
46386         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
46387         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
46388         * tests/unistr/test-u8-mbtouc.h: New file.
46389
46390         Tests for module 'unistr/u32-mblen'.
46391         * modules/unistr/u32-mblen-tests: New file.
46392         * tests/unistr/test-u32-mblen.c: New file.
46393
46394         Tests for module 'unistr/u16-mblen'.
46395         * modules/unistr/u16-mblen-tests: New file.
46396         * tests/unistr/test-u16-mblen.c: New file.
46397
46398         Tests for module 'unistr/u8-mblen'.
46399         * modules/unistr/u8-mblen-tests: New file.
46400         * tests/unistr/test-u8-mblen.c: New file.
46401
46402         Tests for module 'unistr/u32-to-u16'.
46403         * modules/unistr/u32-to-u16-tests: New file.
46404         * tests/unistr/test-u32-to-u16.c: New file.
46405
46406         Tests for module 'unistr/u32-to-u8'.
46407         * modules/unistr/u32-to-u8-tests: New file.
46408         * tests/unistr/test-u32-to-u8.c: New file.
46409
46410         Tests for module 'unistr/u16-to-u32'.
46411         * modules/unistr/u16-to-u32-tests: New file.
46412         * tests/unistr/test-u16-to-u32.c: New file.
46413
46414         Tests for module 'unistr/u16-to-u8'.
46415         * modules/unistr/u16-to-u8-tests: New file.
46416         * tests/unistr/test-u16-to-u8.c: New file.
46417
46418         Tests for module 'unistr/u8-to-u32'.
46419         * modules/unistr/u8-to-u32-tests: New file.
46420         * tests/unistr/test-u8-to-u32.c: New file.
46421
46422         Tests for module 'unistr/u8-to-u16'.
46423         * modules/unistr/u8-to-u16-tests: New file.
46424         * tests/unistr/test-u8-to-u16.c: New file.
46425
46426         Tests for module 'unistr/u32-check'.
46427         * modules/unistr/u32-check-tests: New file.
46428         * tests/unistr/test-u32-check.c: New file.
46429
46430         Tests for module 'unistr/u16-check'.
46431         * modules/unistr/u16-check-tests: New file.
46432         * tests/unistr/test-u16-check.c: New file.
46433
46434         Tests for module 'unistr/u8-check'.
46435         * modules/unistr/u8-check-tests: New file.
46436         * tests/unistr/test-u8-check.c: New file.
46437
46438         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
46439         (category_equals): New function.
46440         (main): Add more tests.
46441         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
46442
46443         * tests/unictype/test-bidi_byname.c (main): Add more tests.
46444
46445 2010-01-10  Bruno Haible  <bruno@clisp.org>
46446
46447         unistr/u*-strcoll: Try harder to distinguish different strings.
46448         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
46449         compare s1 and s2 to see if they are different.
46450
46451 2010-01-10  Bruno Haible  <bruno@clisp.org>
46452
46453         unistr/u*-stpncpy: Fix the return value.
46454         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
46455         description of the return value consistent with stpncpy in glibc.
46456         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
46457         written non-NUL unit.
46458
46459 2010-01-10  Bruno Haible  <bruno@clisp.org>
46460
46461         unistr/u*-next: Add missing dependencies.
46462         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
46463         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
46464         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
46465
46466 2010-01-10  Bruno Haible  <bruno@clisp.org>
46467
46468         unistr/u8-mbsnlen: Fix return value for incomplete character.
46469         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
46470         u8_mblen.
46471         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
46472         Remove unistr/u8-mblen.
46473         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
46474         u16_mblen.
46475         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
46476         Remove unistr/u16-mblen.
46477
46478 2010-01-10  Bruno Haible  <bruno@clisp.org>
46479
46480         wchar: Fix compilation error when <wchar.h> is used from coreutils.
46481         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
46482         Reported by Brian Gough <bjg@gnu.org> and
46483         Chris Clayton <chris2553@googlemail.com> via
46484         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
46485
46486 2010-01-09  Bruno Haible  <bruno@clisp.org>
46487
46488         unistr/u16-to-u32: Reject invalid input.
46489         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
46490         u16_mbtouc.
46491         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
46492         Remove unistr/u16-mbtouc.
46493
46494         unistr/u16-to-u8: Reject invalid input.
46495         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
46496         u16_mbtouc.
46497         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
46498         Remove unistr/u16-mbtouc.
46499
46500         unistr/u8-to-u32: Reject invalid input.
46501         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
46502         u8_mbtouc.
46503         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
46504         Remove unistr/u8-mbtouc.
46505
46506         unistr/u8-to-u16: Reject invalid input.
46507         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
46508         u8_mbtouc.
46509         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
46510         Remove unistr/u8-mbtouc.
46511
46512 2010-01-09  Bruno Haible  <bruno@clisp.org>
46513
46514         Tests for module 'getlogin'.
46515         * modules/getlogin-tests: New file.
46516         * tests/test-getlogin.c: New file.
46517
46518         New module 'getlogin'.
46519         * lib/unistd.in.h (getlogin): New declaration.
46520         * lib/getlogin.c: New file.
46521         * m4/getlogin.m4: New file.
46522         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
46523         HAVE_GETLOGIN.
46524         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
46525         HAVE_GETLOGIN.
46526         * modules/getlogin: New file.
46527         * doc/posix-functions/getlogin.texi: Mention the new module.
46528         Reported by John W. Eaton <jwe@gnu.org>.
46529
46530 2010-01-09  Bruno Haible  <bruno@clisp.org>
46531
46532         getlogin_r: Support for native Windows.
46533         * lib/getlogin_r.c: Include <windows.h>
46534         (getlogin_r): Implement for native Windows.
46535         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
46536         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
46537         via John W. Eaton <jwe@gnu.org>.
46538
46539 2010-01-09  Bruno Haible  <bruno@clisp.org>
46540
46541         getlogin_r: Small fixes.
46542         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
46543         succeeds.
46544         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
46545         before testing whether getlogin_r is declared. No need to set
46546         HAVE_DECL_GETLOGIN_R to 1.
46547         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
46548
46549 2010-01-09  Bruno Haible  <bruno@clisp.org>
46550
46551         * lib/unistd.in.h (getlogin_r): Add comment.
46552
46553 2010-01-09  Bruno Haible  <bruno@clisp.org>
46554
46555         Tests for module 'getlogin_r'.
46556         * modules/getlogin_r-tests: New file.
46557         * tests/test-getlogin_r.c: New file.
46558
46559 2010-01-09  Jim Meyering  <meyering@redhat.com>
46560
46561         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
46562         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
46563         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
46564
46565 2010-01-08  Simon Josefsson  <simon@josefsson.org>
46566
46567         * lib/dup2.c (rpl_dup2): Improve comment.
46568
46569 2010-01-08  Eric Blake  <ebb9@byu.net>
46570
46571         maint.mk: allow packages to add makefile @@ exceptions
46572         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
46573         (sc_makefile_check): Rename...
46574         (sc_makefile_at_at_check): ...to this, and use hook.
46575
46576         dup2: work around mingw bug
46577         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
46578         Reported by Simon Josefsson.
46579
46580 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
46581
46582         glob: Fix C++ compilation.
46583         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
46584         C++.
46585
46586 2010-01-07  Bruno Haible  <bruno@clisp.org>
46587
46588         Fix indentation of wctype.in.h, broken since 2007-01-06.
46589         * lib/wctype.in.h: Fix indentation of preprocessor directives.
46590
46591 2010-01-07  Bruno Haible  <bruno@clisp.org>
46592
46593         mbslen: Avoid collision with system function.
46594         * lib/string.in.h [MirBSD]: Include <wchar.h>.
46595         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
46596         * m4/mbslen.m4: New file.
46597         * modules/mbslen (Files): Add it.
46598         (configure.ac): Invoke gl_MBSLEN.
46599         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
46600         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
46601         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
46602         via Ian Beckwith <ianb@erislabs.net>.
46603
46604 2010-01-07  Bruno Haible  <bruno@clisp.org>
46605
46606         dirent: Document the last fix.
46607         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
46608
46609 2010-01-07  Bruno Haible  <bruno@clisp.org>
46610
46611         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
46612         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
46613         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
46614         va_list are defined.
46615         * doc/posix-headers/stdio.texi: Document the bug of missing types.
46616         Reported by Eric Blake.
46617
46618 2010-01-07  Bruno Haible  <bruno@clisp.org>
46619
46620         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
46621         * modules/xlist (Depends-on): Add 'list',
46622         * modules/xoset (Depends-on): Add 'oset'.
46623         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46624
46625 2010-01-07  Bruno Haible  <bruno@clisp.org>
46626
46627         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
46628         * doc/posix-functions/strncasecmp.texi: Likewise.
46629
46630 2010-01-07  Bruno Haible  <bruno@clisp.org>
46631
46632         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
46633
46634 2010-01-07  John W. Eaton  <jwe@octave.org>
46635
46636         wctype: allow C++ use
46637         * lib/wctype.in.h: Add extern "C" block for C++.
46638
46639 2010-01-06  Eric Blake  <ebb9@byu.net>
46640
46641         maint.mk: detect incorrect GFDL usage
46642         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
46643
46644 2010-01-06  Jim Meyering  <meyering@redhat.com>
46645         and Eric Blake  <ebb9@byu.net>
46646
46647         maint.mk: ignore multi-line copyright in NEWS
46648         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
46649
46650 2010-01-06  Eric Blake  <ebb9@byu.net>
46651
46652         select: add missing dependency
46653         * modules/select-tests (Depends-on): Move sockets dependency...
46654         * modules/select (Depends-on): ...here.
46655         Reported by Ian Beckwith.
46656
46657         doc: regenerate INSTALL
46658         * doc/INSTALL: Reflect recent autoconf update.
46659         * doc/INSTALL.ISO: Likewise.
46660         * doc/INSTALL.UTF-8: Likewise.
46661
46662         pread: fix compilation on glibc
46663         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
46664         Reported by Ralf Wildenhues.
46665
46666         dirent: fix test failure
46667         * lib/dirent.in.h (includes): Guarantee ino_t.
46668         Reported by Ralf Wildenhues.
46669
46670 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
46671
46672         linkat, renameat: avoid bad free
46673         * lib/at-func2.c (at_func2): Fix typo.
46674         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
46675
46676 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46677
46678         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
46679         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
46680         to avoid failure of symlink test later.
46681
46682 2010-01-06  Eric Blake  <ebb9@byu.net>
46683
46684         stdio, unistd: guarantee ssize_t
46685         * lib/unistd.in.h (includes): Ensure that types required by POSIX
46686         2008 are exposed when needed.
46687         * lib/stdio.in.h (includes): Likewise.
46688         Reported by Ralf Wildenhues.
46689
46690 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
46691
46692         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
46693         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
46694         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
46695
46696 2010-01-06  Jim Meyering  <meyering@redhat.com>
46697
46698         readtokens: this module *does* require xalloc.h
46699         It uses only functions that were omitted by the old syntax-check rule.
46700         * lib/readtokens.c: Include "xalloc.h" once again.
46701         * modules/readtokens (Depends-on): Add xalloc.
46702         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
46703
46704 2010-01-05  Eric Blake  <ebb9@byu.net>
46705
46706         maint: support 'make announcement' from a VPATH build
46707         * top/maint.mk (announcement): Look for correct NEWS file.
46708
46709 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
46710
46711         utimens (fdutimens): ignore a negative FD, per contract
46712         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
46713         when we have a valid file descriptor.  Otherwise, using a brand
46714         new glibc (with just-patched futimens that now fails with EBADF)
46715         would cause this function to fail with ENOSYS.
46716         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
46717         See also http://bugzilla.redhat.com/552320.
46718
46719 2010-01-05  Eric Blake  <ebb9@byu.net>
46720
46721         strcase: document what it provides
46722         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
46723         gnulib module.
46724         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
46725         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
46726
46727 2010-01-05  Jim Meyering  <meyering@redhat.com>
46728
46729         maint: remove useless inclusions of "xalloc.h"
46730         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
46731         * lib/readtokens.c: Likewise.
46732         * lib/same.c: Likewise.
46733         * modules/getloadavg (Depends-on): Remove xalloc.
46734         * modules/readtokens: Likewise.
46735         * modules/same: Likewise.
46736
46737         maint.mk: include 4 more function names in alloca.h-checking regexp
46738         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
46739         regexp.  Before, we would give a false-positive (saying alloca.h
46740         is included unnecessarily) when the only uses involved omitted symbols.
46741
46742         xalloc.h: use consistent formatting
46743         * lib/xalloc.h: Move declarations to start in the first column.
46744
46745 2010-01-05  Eric Blake  <ebb9@byu.net>
46746
46747         mkdir: avoid xalloc
46748         * lib/mkdir.c (includes): Drop unused header.
46749         Reported by John W. Eaton.
46750
46751 2010-01-04  Jim Meyering  <meyering@redhat.com>
46752
46753         nl_langinfo: avoid configure-time syntax error
46754         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
46755         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
46756         the empty string.  Don't let that provoke a shell syntax error.
46757
46758         regcomp, regexec, fnmatch: avoid array bounds read error
46759         * lib/regcomp.c (build_equiv_class): From glibc:
46760         Use only the low 24 bits of a findidx return value as an index
46761         into the weights array.  Patch by Ulrich Drepper:
46762         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
46763         * lib/regexec.c (check_node_accept_bytes): Likewise.
46764         * lib/fnmatch_loop.c (FCT): Likewise.
46765
46766         regcomp: skip collseq lookup when there are no rules
46767         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
46768         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
46769
46770         regcomp: recognize ill-formed { } expressions
46771         * lib/regcomp.c (parse_dup_op): From glibc:
46772         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
46773
46774         regcomp: fix typo in comment
46775         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
46776         s/satisfy/satisfies/.
46777
46778         regcomp: sync from glibc: remove dead store
46779         * lib/regcomp.c (duplicate_node_closure): Remove useless
46780         search_duplicated_node call and dead store.
46781
46782         regcomp: sync from glibc; always use nl_langinfo
46783         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
46784         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
46785         * modules/regex (Depends-on): Add nl_langinfo.
46786
46787 2010-01-04  Eric Blake  <ebb9@byu.net>
46788
46789         fdopendir: fix configure test
46790         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
46791
46792 2010-01-01  Bruno Haible  <bruno@clisp.org>
46793
46794         wchar: Remove unused configure check.
46795         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
46796
46797 2010-01-01  Eric Blake  <ebb9@byu.net>
46798
46799         headers: make check of system header explicit
46800         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
46801         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
46802         ourselves.
46803         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
46804         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46805         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
46806         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
46807         internals.
46808         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
46809         missing.
46810         Suggested by Bruno Haible.
46811
46812 2010-01-01  Jim Meyering  <meyering@redhat.com>
46813
46814         ChangeLog: tweak to eliminate unnecessary copyright line
46815         * ChangeLog: Remove a copyright line that was mistakenly updated
46816         by today's update-copyright run.  Reported by Eric Blake.
46817
46818         test-update-copyright: don't let envvar setting cause test failure
46819         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
46820
46821 2010-01-01  Bruno Haible  <bruno@clisp.org>
46822
46823         localename: Avoid gcc warning.
46824         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
46825         function if it is not used.
46826
46827 2010-01-01  Jim Meyering  <meyering@redhat.com>
46828
46829         update nearly all FSF copyright year lists to include 2010
46830         Use the same procedure as for 2009, outlined in
46831         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
46832
46833         version-etc: set COPYRIGHT_YEAR to 2010
46834         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
46835
46836 2009-12-31  Eric Blake  <ebb9@byu.net>
46837
46838         doc: correct availability of cygwin 1.5.x getopt
46839         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
46840         variables.
46841         * doc/posix-functions/opterr.texi (opterr): Likewise.
46842         * doc/posix-functions/optind.texi (optind): Likewise.
46843         * doc/posix-functions/optopt.texi (optopt): Likewise.
46844         * doc/posix-functions/tzname.texi (tzname): Likewise.
46845
46846         openat: update maintainer
46847         * modules/openat (Maintainer): Add myself.
46848
46849         utimens: avoid shadowing warning
46850         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
46851         buffers into one, to avoid shadowing, as well as avoiding a
46852         redundant stat.
46853         Reported by Jim Meyering.
46854
46855         test-dup2: avoid compiler warning
46856         * tests/test-dup2.c (is_inheritable): Only define if used.
46857
46858 2010-01-01  Bruno Haible  <bruno@clisp.org>
46859
46860         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
46861         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
46862         defined, use wctomb instead of wcrtomb.
46863
46864 2010-01-01  Bruno Haible  <bruno@clisp.org>
46865
46866         iconv: Reject native Solaris iconv.
46867         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
46868         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
46869
46870 2009-12-31  Bruno Haible  <bruno@clisp.org>
46871
46872         * tests/test-signal.c (main): Remove test of 'SIG'.
46873
46874 2009-12-31  Bruno Haible  <bruno@clisp.org>
46875
46876         spawn: Fix incomplete fix.
46877         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
46878         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
46879         warnings for GNULIB_POSIXCHECK again.
46880         Reported by Eric Blake.
46881
46882 2009-12-31  Bruno Haible  <bruno@clisp.org>
46883
46884         Avoid namespace pollution on glibc systems.
46885         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
46886         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
46887         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
46888         glibc systems.
46889
46890 2009-12-31  Bruno Haible  <bruno@clisp.org>
46891
46892         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
46893         (gl_REPLACE_WCHAR_H): Turn into a no-op.
46894         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
46895         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
46896         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
46897         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
46898         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
46899
46900 2009-12-31  Bruno Haible  <bruno@clisp.org>
46901
46902         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
46903         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
46904         afterwards.
46905
46906 2009-12-31  Bruno Haible  <bruno@clisp.org>
46907
46908         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
46909         SYS_UTSNAME_H.
46910
46911 2009-12-31  Bruno Haible  <bruno@clisp.org>
46912
46913         spawn: Fix misapplied patch.
46914         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
46915         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
46916         warnings for GNULIB_POSIXCHECK.
46917
46918 2009-12-31  Bruno Haible  <bruno@clisp.org>
46919
46920         times: Update after sys_times changed.
46921         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
46922         * modules/times (Files): Add it.
46923         (configure.ac): Invoke gl_FUNC_TIMES.
46924
46925 2009-12-31  Bruno Haible  <bruno@clisp.org>
46926
46927         Use AC_C_INLINE where necessary.
46928         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
46929         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
46930         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
46931         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
46932         * m4/mbfile.m4 (gl_MBFILE): Likewise.
46933         * m4/mbiter.m4 (gl_MBITER): Likewise.
46934         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46935         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
46936         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
46937         * modules/u64 (configure.ac): Likewise.
46938
46939 2009-12-31  Bruno Haible  <bruno@clisp.org>
46940
46941         Use AC_C_INLINE instead of module 'inline' where possible.
46942         * modules/inline (Description): Clarify purpose.
46943         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
46944         * modules/count-one-bits (Depends-on): Remove inline.
46945         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
46946         * modules/openat (Depends-on): Remove inline.
46947         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
46948         instead of depending on module 'inline'.
46949         * modules/filevercmp (Depends-on, configure.ac): Likewise.
46950         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
46951         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
46952         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
46953         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
46954         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
46955         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
46956         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
46957         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
46958         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
46959         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
46960         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
46961         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
46962         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
46963         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
46964         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
46965         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
46966         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
46967         Likewise.
46968         * modules/unictype/property-ascii-hex-digit (Depends-on,
46969         configure.ac): Likewise.
46970         * modules/unictype/property-bidi-arabic-digit (Depends-on,
46971         configure.ac): Likewise.
46972         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
46973         configure.ac): Likewise.
46974         * modules/unictype/property-bidi-block-separator (Depends-on,
46975         configure.ac): Likewise.
46976         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
46977         configure.ac): Likewise.
46978         * modules/unictype/property-bidi-common-separator (Depends-on,
46979         configure.ac): Likewise.
46980         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
46981         Likewise.
46982         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
46983         configure.ac): Likewise.
46984         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
46985         configure.ac): Likewise.
46986         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
46987         configure.ac): Likewise.
46988         * modules/unictype/property-bidi-european-digit (Depends-on,
46989         configure.ac): Likewise.
46990         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
46991         configure.ac): Likewise.
46992         * modules/unictype/property-bidi-left-to-right (Depends-on,
46993         configure.ac): Likewise.
46994         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
46995         configure.ac): Likewise.
46996         * modules/unictype/property-bidi-other-neutral (Depends-on,
46997         configure.ac): Likewise.
46998         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
46999         Likewise.
47000         * modules/unictype/property-bidi-segment-separator (Depends-on,
47001         configure.ac): Likewise.
47002         * modules/unictype/property-bidi-whitespace (Depends-on,
47003         configure.ac): Likewise.
47004         * modules/unictype/property-combining (Depends-on, configure.ac):
47005         Likewise.
47006         * modules/unictype/property-composite (Depends-on, configure.ac):
47007         Likewise.
47008         * modules/unictype/property-currency-symbol (Depends-on,
47009         configure.ac): Likewise.
47010         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
47011         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
47012         Likewise.
47013         * modules/unictype/property-default-ignorable-code-point (Depends-on,
47014         configure.ac): Likewise.
47015         * modules/unictype/property-deprecated (Depends-on, configure.ac):
47016         Likewise.
47017         * modules/unictype/property-diacritic (Depends-on, configure.ac):
47018         Likewise.
47019         * modules/unictype/property-extender (Depends-on, configure.ac):
47020         Likewise.
47021         * modules/unictype/property-format-control (Depends-on, configure.ac):
47022         Likewise.
47023         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
47024         Likewise.
47025         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
47026         Likewise.
47027         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
47028         Likewise.
47029         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
47030         Likewise.
47031         * modules/unictype/property-hyphen (Depends-on, configure.ac):
47032         Likewise.
47033         * modules/unictype/property-id-continue (Depends-on, configure.ac):
47034         Likewise.
47035         * modules/unictype/property-id-start (Depends-on, configure.ac):
47036         Likewise.
47037         * modules/unictype/property-ideographic (Depends-on, configure.ac):
47038         Likewise.
47039         * modules/unictype/property-ids-binary-operator (Depends-on,
47040         configure.ac): Likewise.
47041         * modules/unictype/property-ids-trinary-operator (Depends-on,
47042         configure.ac): Likewise.
47043         * modules/unictype/property-ignorable-control (Depends-on,
47044         configure.ac): Likewise.
47045         * modules/unictype/property-iso-control (Depends-on, configure.ac):
47046         Likewise.
47047         * modules/unictype/property-join-control (Depends-on, configure.ac):
47048         Likewise.
47049         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
47050         Likewise.
47051         * modules/unictype/property-line-separator (Depends-on, configure.ac):
47052         Likewise.
47053         * modules/unictype/property-logical-order-exception (Depends-on,
47054         configure.ac): Likewise.
47055         * modules/unictype/property-lowercase (Depends-on, configure.ac):
47056         Likewise.
47057         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
47058         * modules/unictype/property-non-break (Depends-on, configure.ac):
47059         Likewise.
47060         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
47061         Likewise.
47062         * modules/unictype/property-numeric (Depends-on, configure.ac):
47063         Likewise.
47064         * modules/unictype/property-other-alphabetic (Depends-on,
47065         configure.ac): Likewise.
47066         * modules/unictype/property-other-default-ignorable-code-point
47067         (Depends-on, configure.ac): Likewise.
47068         * modules/unictype/property-other-grapheme-extend (Depends-on,
47069         configure.ac): Likewise.
47070         * modules/unictype/property-other-id-continue (Depends-on,
47071         configure.ac): Likewise.
47072         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
47073         Likewise.
47074         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
47075         Likewise.
47076         * modules/unictype/property-other-math (Depends-on, configure.ac):
47077         Likewise.
47078         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
47079         Likewise.
47080         * modules/unictype/property-paired-punctuation (Depends-on,
47081         configure.ac): Likewise.
47082         * modules/unictype/property-paragraph-separator (Depends-on,
47083         configure.ac): Likewise.
47084         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
47085         Likewise.
47086         * modules/unictype/property-pattern-white-space (Depends-on,
47087         configure.ac): Likewise.
47088         * modules/unictype/property-private-use (Depends-on, configure.ac):
47089         Likewise.
47090         * modules/unictype/property-punctuation (Depends-on, configure.ac):
47091         Likewise.
47092         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
47093         Likewise.
47094         * modules/unictype/property-radical (Depends-on, configure.ac):
47095         Likewise.
47096         * modules/unictype/property-sentence-terminal (Depends-on,
47097         configure.ac): Likewise.
47098         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
47099         Likewise.
47100         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
47101         * modules/unictype/property-terminal-punctuation (Depends-on,
47102         configure.ac): Likewise.
47103         * modules/unictype/property-titlecase (Depends-on, configure.ac):
47104         Likewise.
47105         * modules/unictype/property-unassigned-code-value (Depends-on,
47106         configure.ac): Likewise.
47107         * modules/unictype/property-unified-ideograph (Depends-on,
47108         configure.ac): Likewise.
47109         * modules/unictype/property-uppercase (Depends-on, configure.ac):
47110         Likewise.
47111         * modules/unictype/property-variation-selector (Depends-on,
47112         configure.ac): Likewise.
47113         * modules/unictype/property-white-space (Depends-on, configure.ac):
47114         Likewise.
47115         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
47116         Likewise.
47117         * modules/unictype/property-xid-start (Depends-on, configure.ac):
47118         Likewise.
47119         * modules/unictype/property-zero-width (Depends-on, configure.ac):
47120         Likewise.
47121         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
47122         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
47123         Likewise.
47124
47125 2009-12-31  Bruno Haible  <bruno@clisp.org>
47126
47127         Remove unnecessary AC_C_INLINE invocation.
47128         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
47129         since 2009-08-21.
47130
47131 2009-12-31  Jim Meyering  <meyering@redhat.com>
47132
47133         maint.mk: don't require explicit gpg_key_ID in cfg.mk
47134         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
47135         With this change, we can all remove the gpg_key_ID = ... definition
47136         from our respective cfg.mk files.
47137
47138         maint.mk: create announcement template in ~/, not in /tmp
47139         * top/maint.mk (emit_upload_commands): Adjust.
47140         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
47141         Remove temporary file, .ci-msg.
47142
47143 2009-12-31  Eric Blake  <ebb9@byu.net>
47144
47145         link-warning: always build headers with link warnings
47146         * modules/arpa_inet (Makefile.am): Always build replacement
47147         header.
47148         * modules/ctype (Makefile.am): Likewise.
47149         * modules/dirent (Makefile.am): Likewise.
47150         * modules/inttypes (Makefile.am): Likewise.
47151         * modules/langinfo (Makefile.am): Likewise.
47152         * modules/locale (Makefile.am): Likewise.
47153         * modules/spawn (Makefile.am): Likewise.
47154         * modules/sys_file (Makefile.am): Likewise.
47155         * modules/sys_ioctl (Makefile.am): Likewise.
47156         * modules/sys_select (Makefile.am): Likewise.
47157         * modules/sys_socket (Makefile.am): Likewise.
47158         * modules/sys_times (Makefile.am): Likewise.
47159         * modules/sys_utsname (Makefile.am): Likewise.
47160         * modules/sys_wait (Makefile.am): Likewise.
47161         * modules/wchar (Makefile.am): Likewise.
47162         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
47163         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
47164         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
47165         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
47166         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
47167         Likewise.
47168         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
47169         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
47170         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
47171         Likewise.
47172         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
47173         Likewise.
47174         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
47175         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
47176         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
47177         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
47178         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
47179         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
47180         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
47181         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
47182         (gl_WCHAR_H_DEFAULTS): Likewise.
47183
47184 2009-12-31  Eric Blake  <ebb9@byu.net>
47185
47186         signal, spawn: use link warnings
47187         * lib/signal.in.h (sigset_t): Make unconditional.
47188         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
47189         (sigpending, sigprocmask, sigaction): Add link warnings.
47190         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
47191         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
47192         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
47193         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
47194         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
47195         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
47196         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
47197         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
47198         (posix_spawn_file_actions_destroy)
47199         (posix_spawn_file_actions_addopen)
47200         (posix_spawn_file_actions_addclose)
47201         (posix_spawn_file_actions_adddup2): Likewise.
47202         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
47203         * tests/test-signal.c (main): Enhance test.
47204
47205         spawn: improve wrapper support
47206         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
47207         (gl_SPAWN_H_DEFAULTS): New defaults.
47208         * modules/spawn (Makefile.am): Substitute them.
47209         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
47210         Only declare if missing or broken.
47211
47212         sys_times, sys_utsname: use include_next
47213         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
47214         header.
47215         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
47216         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
47217         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
47218         * modules/sys_times (Depends-on): Add include_next.
47219         (Makefile.am): Substitute additional values.
47220         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
47221         * lib/sys_times.in.h (includes): Include native header, if
47222         available.
47223         * lib/sys_utsname.in.h (includes): Likewise.
47224         * tests/test-sys_times.c (main): Enhance test.
47225
47226         fdutimensat: revert prior patch
47227         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
47228         utimens.h.
47229         Reported by Bruno Haible.
47230
47231 2009-12-30  Eric Blake  <ebb9@byu.net>
47232
47233         sys_wait: drop link-warning dependency
47234         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
47235         link-warning efforts.
47236         * lib/sys_wait.in.h: Likewise.
47237
47238         fdutimensat: remove bogus dependency
47239         * modules/fdutimensat (Depends-on): Drop inline.
47240
47241         unistd: fix typo
47242         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
47243
47244 2009-12-30  Bruno Haible  <bruno@clisp.org>
47245
47246         Fix compilation error with Solaris cc.
47247         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
47248         * lib/unicase/u16-is-invariant.c: Likewise.
47249         * lib/unicase/u32-is-invariant.c: Likewise.
47250         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
47251
47252 2009-12-30  Bruno Haible  <bruno@clisp.org>
47253
47254         Fix test crash.
47255         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
47256         locales.
47257         Reported by Simon Josefsson <simon@josefsson.org>.
47258
47259 2009-12-30  Bruno Haible  <bruno@clisp.org>
47260
47261         Fix compilation error on most platforms.
47262         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
47263         Reported by Simon Josefsson <simon@josefsson.org>
47264         and Nelson H. F. Beebe <beebe@math.utah.edu>.
47265
47266 2009-12-30  Eric Blake  <ebb9@byu.net>
47267
47268         futimens, utimensat: work around ntfs-3g bug
47269         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
47270         a ctime bug is present, and expand workaround to cover ntfs-3g.
47271         * lib/utimens.c (fdutimens, lutimens): Likewise.
47272         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
47273         (validate_timespec): Adjust return value.
47274         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
47275         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
47276         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
47277
47278 2009-12-29  Eric Blake  <ebb9@byu.net>
47279
47280         link-warning: make usage consistent
47281         * modules/ctype (Depends-on): Add link-warning.
47282         (Makefile.am): Update rules accordingly.
47283         * modules/langinfo (Depends-on, Makefile.am): Likewise.
47284         * modules/locale (Depends-on, Makefile.am): Likewise.
47285         * modules/sys_file (Makefile.am): Likewise.
47286         * modules/getopt-posix (Makefile.am): Delete unused link warning
47287         efforts.
47288         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
47289         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
47290         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
47291         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
47292
47293         stdio: remove unused variables
47294         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
47295         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
47296         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
47297
47298         tests: test more substitute headers
47299         * modules/ctype-tests: New file.
47300         * modules/dirent-tests: Likewise.
47301         * modules/spawn-tests: Likewise.
47302         * modules/sys_file-tests: Likewise.
47303         * modules/sys_ioctl-tests: Likewise.
47304         * modules/sys_wait-tests: Likewise.
47305         * tests/test-ctype.c: Likewise.
47306         * tests/test-dirent.c: Likewise.
47307         * tests/test-spawn.c: Likewise.
47308         * tests/test-sys_file.c: Likewise.
47309         * tests/test-sys_ioctl.c: Likewise.
47310         * tests/test-sys_wait.c: Likewise.
47311         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
47312         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
47313         whether or not flock is in use.
47314
47315         tests: remove License section from module
47316         * modules/arpa_inet-tests: Remove unneeded section.
47317         * modules/byteswap-tests: Likewise.
47318         * modules/ceilf-tests: Likewise.
47319         * modules/ceill-tests: Likewise.
47320         * modules/crypto/des-tests: Likewise.
47321         * modules/crypto/gc-arcfour-tests: Likewise.
47322         * modules/crypto/gc-arctwo-tests: Likewise.
47323         * modules/crypto/gc-des-tests: Likewise.
47324         * modules/crypto/gc-hmac-md5-tests: Likewise.
47325         * modules/crypto/gc-hmac-sha1-tests: Likewise.
47326         * modules/crypto/gc-md2-tests: Likewise.
47327         * modules/crypto/gc-md4-tests: Likewise.
47328         * modules/crypto/gc-md5-tests: Likewise.
47329         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
47330         * modules/crypto/gc-rijndael-tests: Likewise.
47331         * modules/crypto/gc-sha1-tests: Likewise.
47332         * modules/crypto/gc-tests: Likewise.
47333         * modules/crypto/md2-tests: Likewise.
47334         * modules/crypto/md4-tests: Likewise.
47335         * modules/fcntl-h-tests: Likewise.
47336         * modules/floorf-tests: Likewise.
47337         * modules/floorl-tests: Likewise.
47338         * modules/frexp-nolibm-tests: Likewise.
47339         * modules/frexp-tests: Likewise.
47340         * modules/frexpl-nolibm-tests: Likewise.
47341         * modules/frexpl-tests: Likewise.
47342         * modules/getaddrinfo-tests: Likewise.
47343         * modules/inttypes-tests: Likewise.
47344         * modules/isfinite-tests: Likewise.
47345         * modules/isinf-tests: Likewise.
47346         * modules/ldexpl-tests: Likewise.
47347         * modules/locale-tests: Likewise.
47348         * modules/math-tests: Likewise.
47349         * modules/netdb-tests: Likewise.
47350         * modules/netinet_in-tests: Likewise.
47351         * modules/printf-frexp-tests: Likewise.
47352         * modules/printf-frexpl-tests: Likewise.
47353         * modules/priv-set-tests: Likewise.
47354         * modules/random_r-tests: Likewise.
47355         * modules/round-tests: Likewise.
47356         * modules/roundf-tests: Likewise.
47357         * modules/roundl-tests: Likewise.
47358         * modules/search-tests: Likewise.
47359         * modules/select-tests: Likewise.
47360         * modules/signal-tests: Likewise.
47361         * modules/stdbool-tests: Likewise.
47362         * modules/stddef-tests: Likewise.
47363         * modules/stdint-tests: Likewise.
47364         * modules/stdio-tests: Likewise.
47365         * modules/stdlib-tests: Likewise.
47366         * modules/string-tests: Likewise.
47367         * modules/strings-tests: Likewise.
47368         * modules/sys_select-tests: Likewise.
47369         * modules/sys_socket-tests: Likewise.
47370         * modules/sys_stat-tests: Likewise.
47371         * modules/sys_time-tests: Likewise.
47372         * modules/sys_utsname-tests: Likewise.
47373         * modules/sysexits-tests: Likewise.
47374         * modules/time-tests: Likewise.
47375         * modules/trunc-tests: Likewise.
47376         * modules/truncf-tests: Likewise.
47377         * modules/truncl-tests: Likewise.
47378         * modules/tsearch-tests: Likewise.
47379         * modules/unistd-tests: Likewise.
47380         * modules/wchar-tests: Likewise.
47381         * modules/wctype-tests: Likewise.
47382
47383         tests: fix license on several tests
47384         * tests/test-des.c: Update to GPLv3+.
47385         * tests/test-flock.c: Likewise.
47386         * tests/test-fsync.c: Likewise.
47387         * tests/test-futimens.h: Likewise.
47388         * tests/test-gc-arcfour.c: Likewise.
47389         * tests/test-gc-arctwo.c: Likewise.
47390         * tests/test-gc-des.c: Likewise.
47391         * tests/test-gc-hmac-md5.c: Likewise.
47392         * tests/test-gc-hmac-sha1.c: Likewise.
47393         * tests/test-gc-md2.c: Likewise.
47394         * tests/test-gc-md4.c: Likewise.
47395         * tests/test-gc-md5.c: Likewise.
47396         * tests/test-gc-pbkdf2-sha1.c: Likewise.
47397         * tests/test-gc-rijndael.c: Likewise.
47398         * tests/test-gc-sha1.c: Likewise.
47399         * tests/test-gc.c: Likewise.
47400         * tests/test-getcwd.c: Likewise.
47401         * tests/test-link.c: Likewise.
47402         * tests/test-link.h: Likewise.
47403         * tests/test-lutimens.h: Likewise.
47404         * tests/test-md2.c: Likewise.
47405         * tests/test-md4.c: Likewise.
47406         * tests/test-mkdir.h: Likewise.
47407         * tests/test-rename.c: Likewise.
47408         * tests/test-rename.h: Likewise.
47409         * tests/test-safe-alloc.c: Likewise.
47410         * tests/test-utimens-common.h: Likewise.
47411         * tests/test-utimens.h: Likewise.
47412
47413         maint: sync license texts
47414         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
47415         * doc/gpl-3.0.texi: Revert copyright year update.
47416         * doc/lgpl-3.0.texi: Likewise.
47417
47418 2009-12-29  Jim Meyering  <meyering@redhat.com>
47419
47420         update nearly all FSF copyright year lists to include 2009
47421         The files named by the following are exempted:
47422             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
47423               test -f "$dst" && { echo "$dst"; continue; }
47424               test -d "$dst" || continue
47425               echo "$dst"/$(basename "$src")
47426             done > exempt
47427             git ls-files tests/unictype >> exempt
47428         In the remaining files, convert to all-interval notation if
47429         - there is already at least one year interval like 2000-2003
47430         - the file is maintained by me
47431         - the file is in lib/uni*/, where that style already prevails
47432         Otherwise, use update-copyright's default.
47433
47434 2009-12-29  Simon Josefsson  <simon@josefsson.org>
47435         and Eric Blake  <ebb9@byu.net>
47436
47437         tests: don't require debug system() to pass
47438         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
47439         * tests/test-rmdir.h (test_rmdir_func): Likewise.
47440         * tests/test-unlink.h (test_unlink_func): Likewise.
47441         * tests/test-fstatat.c (main): ...into callers.
47442         * tests/test-lstat.c (main): Likewise.
47443         * tests/test-rmdir.c (main): Likewise.
47444         * tests/test-unlink.c (main): Likewise.
47445         * tests/test-unlinkat.c (main): Likewise.
47446         * tests/test-areadlink-with-size.c (main): Don't require a
47447         debug-only system call to pass, aiding cross-testing to mingw.
47448         * tests/test-areadlink.c (main): Likewise.
47449         * tests/test-areadlinkat-with-size.c (main): Likewise.
47450         * tests/test-areadlinkat.c (main): Likewise.
47451         * tests/test-canonicalize-lgpl.c (main): Likewise.
47452         * tests/test-canonicalize.c (main): Likewise.
47453         * tests/test-chown.c (main): Likewise.
47454         * tests/test-fchownat.c (main): Likewise.
47455         * tests/test-lchown.c (main): Likewise.
47456         * tests/test-fdutimensat.c (main): Likewise.
47457         * tests/test-futimens.c (main): Likewise.
47458         * tests/test-link.c (main): Likewise.
47459         * tests/test-linkat.c (main): Likewise.
47460         * tests/test-mkdir.c (main): Likewise.
47461         * tests/test-mkdirat.c (main): Likewise.
47462         * tests/test-mkfifo.c (main): Likewise.
47463         * tests/test-mkfifoat.c (main): Likewise.
47464         * tests/test-mknod.c (main): Likewise.
47465         * tests/test-readlink.c (main): Likewise.
47466         * tests/test-remove.c (main): Likewise.
47467         * tests/test-rename.c (main): Likewise.
47468         * tests/test-renameat.c (main): Likewise.
47469         * tests/test-symlink.c (main): Likewise.
47470         * tests/test-symlinkat.c (main): Likewise.
47471         * tests/test-utimens.c (main): Likewise.
47472         * tests/test-utimensat.c (main): Likewise.
47473
47474 2009-12-29  Simon Josefsson  <simon@josefsson.org>
47475
47476         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
47477         on $(UNUSED_PARAMETER_H) to avoid build failure.
47478
47479 2009-12-28  Jim Meyering  <meyering@redhat.com>
47480
47481         update-copyright: you may specify a max. line length other than 72
47482         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
47483
47484         maint: use consistent FSF copyright line syntax
47485         * lib/posixtm.c: Add missing comma in FSF copyright line.
47486         * lib/posixtm.h: Likewise.
47487         * lib/getugroups.c: Add missing ", Inc.".
47488
47489         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
47490         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
47491         FSF copyright line.  Remove trailing blanks.
47492
47493 2009-12-28  Eric Blake  <ebb9@byu.net>
47494
47495         test-dup2: reduce dependencies
47496         * modules/cloexec (Configure.ac): Set witness.
47497         * modules/dup2-tests (Depends-on): Drop cloexec.
47498         * tests/test-dup2.c (main): Skip portion of test if cloexec module
47499         not present.
47500         Suggested by Bruno Haible.
47501
47502 2009-12-26  Bruno Haible  <bruno@clisp.org>
47503
47504         Remove an unneeded dependency.
47505         * modules/fseterr (Depends-on): Remove dup2.
47506
47507 2009-12-26  Eric Blake  <ebb9@byu.net>
47508
47509         tests: use macros.h in more places
47510         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
47511         (ASSERT_STREAM): Provide default of stderr.
47512         * tests/test-dirent-safer.c: Include macros.h, using alternate
47513         stream for assertions.
47514         * tests/test-dup-safer.c: Likewise.
47515         * tests/test-freopen-safer.c: Likewise.
47516         * tests/test-getopt.c: Likewise.
47517         * tests/test-openat-safer.c: Likewise.
47518         * tests/test-pipe.c: Likewise.
47519         * tests/test-popen-safer.c: Likewise.
47520         * modules/dirent-safer-tests (Files): Include macros.h.
47521         * modules/unistd-safer-tests (Files): Likewise.
47522         * modules/freopen-safer-tests (Files): Likewise.
47523         * modules/getopt-posix-tests (Files): Likewise.
47524         * modules/openat-safer-tests (Files): Likewise.
47525         * modules/pipe-tests (Files): Likewise.
47526
47527 2009-12-26  Bruno Haible  <bruno@clisp.org>
47528
47529         javacomp: Portability fix.
47530         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
47531         that it also works on Solaris.
47532
47533 2009-12-26  Bruno Haible  <bruno@clisp.org>
47534
47535         localename: Fix storage allocation of gl_locale_name_thread's result.
47536         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
47537         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
47538         all platforms that have 'uselocale'.
47539         (gl_locale_name_thread_unsafe): New function, extracted from
47540         gl_locale_name_thread.
47541         (gl_locale_name_thread): Call struniq on all platforms that have
47542         'uselocale'.
47543         * tests/test-localename.c (test_locale_name_thread): Check that the
47544         resulting strings are permanently allocated.
47545         * modules/localename-tests (Depends-on): Add strdup.
47546
47547 2009-12-26  Bruno Haible  <bruno@clisp.org>
47548
47549         * tests/test-localename.c (categories): Fill in the strings.
47550
47551 2009-12-26  Jim Meyering  <meyering@redhat.com>
47552
47553         isdir: complete the removal of m4/isdir.m4
47554         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
47555
47556         isdir: clean up, since at least grep still uses it
47557         * lib/isdir.c: Include "isdir.h".
47558         (S_ISDIR): Remove now-unneeded definition.
47559         * modules/isdir (Files): Add lib/isdir.h.
47560         * lib/isdir.h: New file, with declaration.
47561         * m4/isdir.m4: Remove file -- unneeded.
47562
47563 2009-12-25  Bruno Haible  <bruno@clisp.org>
47564
47565         selinux-h: Make generated .h files standalone.
47566         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
47567         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
47568         * lib/se-selinux.in.h: Likewise.
47569         * modules/selinux-h (Depends-on): Add unused-parameter.
47570         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
47571         selinux/selinux.h and selinux/context.h.
47572         Suggested by Eric Blake.
47573
47574 2009-12-25  Bruno Haible  <bruno@clisp.org>
47575
47576         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
47577         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
47578         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
47579         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
47580         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
47581
47582 2009-12-24  Bruno Haible  <bruno@clisp.org>
47583
47584         openat: Fix warning.
47585         * lib/openat-proc.c: Include <unistd.h>.
47586
47587 2009-12-24  Bruno Haible  <bruno@clisp.org>
47588
47589         New module 'unused-parameter'.
47590         * build-aux/unused-parameter.h: New file, extracted from earlier
47591         gnulib-common.m4.
47592         * modules/unused-parameter: New file.
47593         * lib/unistr.h: Include unused-parameter.h.
47594         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
47595         _GL_UNUSED.
47596         * modules/unistr/base (Depends-on): Add unused-parameter.
47597
47598 2009-12-24  Bruno Haible  <bruno@clisp.org>
47599
47600         Add missing dependencies to 'extensions' module.
47601         * m4/extensions.m4: Add comment.
47602         * modules/accept4 (Depends-on): Add extensions.
47603         * modules/dup3 (Depends-on): Likewise.
47604         * modules/fcntl (Depends-on): Likewise.
47605         * modules/futimens (Depends-on): Likewise.
47606         * modules/mknod (Depends-on): Likewise.
47607         * modules/pipe2 (Depends-on): Likewise.
47608         * modules/stat-time (Depends-on): Likewise.
47609         * modules/strcasestr-simple (Depends-on): Likewise.
47610         * modules/strsignal (Depends-on): Likewise.
47611         * modules/utimensat (Depends-on): Likewise.
47612         * modules/localcharset (Depends-on): Likewise. Needed because of
47613         gl_FCNTL_O_FLAGS.
47614         * modules/wcrtomb (Depends-on): Likewise. Needed because of
47615         AC_TYPE_MBSTATE_T.
47616         * modules/wcsnrtombs (Depends-on): Likewise.
47617         * modules/wcsrtombs (Depends-on): Likewise.
47618
47619 2009-12-24  Bruno Haible  <bruno@clisp.org>
47620
47621         binary-io: Avoid gcc warning due to SET_BINARY.
47622         * lib/binary-io.h (SET_BINARY): Cast the result to void.
47623         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
47624
47625 2009-12-24  Bruno Haible  <bruno@clisp.org>
47626
47627         Avoid future namespace pollution on glibc systems.
47628         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
47629         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
47630         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
47631         glibc systems.
47632
47633 2009-12-24  Bruno Haible  <bruno@clisp.org>
47634
47635         Refactor common macros used in tests.
47636         * tests/macros.h: New file.
47637         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
47638         and/or <stdlib.h>, if appropriate.
47639         (ASSERT, SIZEOF): Remove macros.
47640         * tests/test-areadlink-with-size.c: Likewise.
47641         * tests/test-areadlinkat.c: Likewise.
47642         * tests/test-areadlinkat-with-size.c: Likewise.
47643         * tests/test-argmatch.c: Likewise.
47644         * tests/test-argv-iter.c: Likewise.
47645         * tests/test-array-mergesort.c: Likewise.
47646         * tests/test-array_list.c: Likewise.
47647         * tests/test-array_oset.c: Likewise.
47648         * tests/test-avltree_list.c: Likewise.
47649         * tests/test-avltree_oset.c: Likewise.
47650         * tests/test-avltreehash_list.c: Likewise.
47651         * tests/test-base64.c: Likewise.
47652         * tests/test-binary-io.c: Likewise.
47653         * tests/test-bitrotate.c: Likewise.
47654         * tests/test-btowc.c: Likewise.
47655         * tests/test-byteswap.c: Likewise.
47656         * tests/test-c-ctype.c: Likewise.
47657         * tests/test-c-stack.c: Likewise.
47658         * tests/test-c-strcasecmp.c: Likewise.
47659         * tests/test-c-strcasestr.c: Likewise.
47660         * tests/test-c-strncasecmp.c: Likewise.
47661         * tests/test-c-strstr.c: Likewise.
47662         * tests/test-canonicalize-lgpl.c: Likewise.
47663         * tests/test-canonicalize.c: Likewise.
47664         * tests/test-carray_list.c: Likewise.
47665         * tests/test-ceilf1.c: Likewise.
47666         * tests/test-ceilf2.c: Likewise.
47667         * tests/test-ceill.c: Likewise.
47668         * tests/test-chown.c: Likewise.
47669         * tests/test-cloexec.c: Likewise.
47670         * tests/test-copy-acl.c: Likewise.
47671         * tests/test-copy-file.c: Likewise.
47672         * tests/test-count-one-bits.c: Likewise.
47673         * tests/test-dprintf-posix.c: Likewise.
47674         * tests/test-dup2.c: Likewise.
47675         * tests/test-dup3.c: Likewise.
47676         * tests/test-duplocale.c: Likewise.
47677         * tests/test-fbufmode.c: Likewise.
47678         * tests/test-fchdir.c: Likewise.
47679         * tests/test-fchownat.c: Likewise.
47680         * tests/test-fcntl-safer.c: Likewise.
47681         * tests/test-fcntl.c: Likewise.
47682         * tests/test-fdopendir.c: Likewise.
47683         * tests/test-fdutimensat.c: Likewise.
47684         * tests/test-fflush2.c: Likewise.
47685         * tests/test-file-has-acl.c: Likewise.
47686         * tests/test-filevercmp.c: Likewise.
47687         * tests/test-flock.c: Likewise.
47688         * tests/test-floorf1.c: Likewise.
47689         * tests/test-floorf2.c: Likewise.
47690         * tests/test-floorl.c: Likewise.
47691         * tests/test-fnmatch.c: Likewise.
47692         * tests/test-fopen.h: Likewise.
47693         * tests/test-fpending.c: Likewise.
47694         * tests/test-fprintf-posix.c: Likewise.
47695         * tests/test-fpurge.c: Likewise.
47696         * tests/test-freadable.c: Likewise.
47697         * tests/test-freadahead.c: Likewise.
47698         * tests/test-freading.c: Likewise.
47699         * tests/test-freadptr.c: Likewise.
47700         * tests/test-freadptr2.c: Likewise.
47701         * tests/test-freadseek.c: Likewise.
47702         * tests/test-freopen.c: Likewise.
47703         * tests/test-frexp.c: Likewise.
47704         * tests/test-frexpl.c: Likewise.
47705         * tests/test-fseek.c: Likewise.
47706         * tests/test-fseeko.c: Likewise.
47707         * tests/test-fstatat.c: Likewise.
47708         * tests/test-fstrcmp.c: Likewise.
47709         * tests/test-fsync.c: Likewise.
47710         * tests/test-ftell.c: Likewise.
47711         * tests/test-ftello.c: Likewise.
47712         * tests/test-func.c: Likewise.
47713         * tests/test-futimens.c: Likewise.
47714         * tests/test-fwritable.c: Likewise.
47715         * tests/test-fwriting.c: Likewise.
47716         * tests/test-getcwd.c: Likewise.
47717         * tests/test-getdate.c: Likewise.
47718         * tests/test-getdelim.c: Likewise.
47719         * tests/test-getdtablesize.c: Likewise.
47720         * tests/test-getgroups.c: Likewise.
47721         * tests/test-getline.c: Likewise.
47722         * tests/test-getndelim2.c: Likewise.
47723         * tests/test-glob.c: Likewise.
47724         * tests/test-hash.c: Likewise.
47725         * tests/test-i-ring.c: Likewise.
47726         * tests/test-iconv-utf.c: Likewise.
47727         * tests/test-iconv.c: Likewise.
47728         * tests/test-idpriv-drop.c: Likewise.
47729         * tests/test-idpriv-droptemp.c: Likewise.
47730         * tests/test-inet_ntop.c: Likewise.
47731         * tests/test-inet_pton.c: Likewise.
47732         * tests/test-isblank.c: Likewise.
47733         * tests/test-isfinite.c: Likewise.
47734         * tests/test-isinf.c: Likewise.
47735         * tests/test-isnan.c: Likewise.
47736         * tests/test-isnand.h: Likewise.
47737         * tests/test-isnanf.h: Likewise.
47738         * tests/test-isnanl.h: Likewise.
47739         * tests/test-lchown.c: Likewise.
47740         * tests/test-ldexpl.c: Likewise.
47741         * tests/test-link.c: Likewise.
47742         * tests/test-linkat.c: Likewise.
47743         * tests/test-linked_list.c: Likewise.
47744         * tests/test-linkedhash_list.c: Likewise.
47745         * tests/test-localename.c: Likewise.
47746         * tests/test-lseek.c: Likewise.
47747         * tests/test-lstat.c: Likewise.
47748         * tests/test-mbmemcasecmp.c: Likewise.
47749         * tests/test-mbmemcasecoll.c: Likewise.
47750         * tests/test-mbrtowc.c: Likewise.
47751         * tests/test-mbscasecmp.c: Likewise.
47752         * tests/test-mbscasestr1.c: Likewise.
47753         * tests/test-mbscasestr2.c: Likewise.
47754         * tests/test-mbscasestr3.c: Likewise.
47755         * tests/test-mbscasestr4.c: Likewise.
47756         * tests/test-mbschr.c: Likewise.
47757         * tests/test-mbscspn.c: Likewise.
47758         * tests/test-mbsinit.c: Likewise.
47759         * tests/test-mbsncasecmp.c: Likewise.
47760         * tests/test-mbsnrtowcs.c: Likewise.
47761         * tests/test-mbspbrk.c: Likewise.
47762         * tests/test-mbspcasecmp.c: Likewise.
47763         * tests/test-mbsrchr.c: Likewise.
47764         * tests/test-mbsrtowcs.c: Likewise.
47765         * tests/test-mbsspn.c: Likewise.
47766         * tests/test-mbsstr1.c: Likewise.
47767         * tests/test-mbsstr2.c: Likewise.
47768         * tests/test-mbsstr3.c: Likewise.
47769         * tests/test-memchr.c: Likewise.
47770         * tests/test-memchr2.c: Likewise.
47771         * tests/test-memcmp.c: Likewise.
47772         * tests/test-memmem.c: Likewise.
47773         * tests/test-memrchr.c: Likewise.
47774         * tests/test-mkdir.c: Likewise.
47775         * tests/test-mkdirat.c: Likewise.
47776         * tests/test-mkfifo.c: Likewise.
47777         * tests/test-mkfifoat.c: Likewise.
47778         * tests/test-mknod.c: Likewise.
47779         * tests/test-nanosleep.c: Likewise.
47780         * tests/test-nl_langinfo.c: Likewise.
47781         * tests/test-obstack-printf.c: Likewise.
47782         * tests/test-open.c: Likewise.
47783         * tests/test-openat.c: Likewise.
47784         * tests/test-pipe-filter-gi1.c: Likewise.
47785         * tests/test-pipe-filter-gi2-main.c: Likewise.
47786         * tests/test-pipe-filter-ii1.c: Likewise.
47787         * tests/test-pipe-filter-ii2-main.c: Likewise.
47788         * tests/test-pipe2.c: Likewise.
47789         * tests/test-popen.h: Likewise.
47790         * tests/test-posixtm.c: Likewise.
47791         * tests/test-pread.c: Likewise.
47792         * tests/test-printf-frexp.c: Likewise.
47793         * tests/test-printf-frexpl.c: Likewise.
47794         * tests/test-printf-posix.c: Likewise.
47795         * tests/test-priv-set.c: Likewise.
47796         * tests/test-quotearg.c: Likewise.
47797         * tests/test-random_r.c: Likewise.
47798         * tests/test-rawmemchr.c: Likewise.
47799         * tests/test-rbtree_list.c: Likewise.
47800         * tests/test-rbtree_oset.c: Likewise.
47801         * tests/test-rbtreehash_list.c: Likewise.
47802         * tests/test-readlink.c: Likewise.
47803         * tests/test-remove.c: Likewise.
47804         * tests/test-rename.c: Likewise.
47805         * tests/test-renameat.c: Likewise.
47806         * tests/test-rmdir.c: Likewise.
47807         * tests/test-round1.c: Likewise.
47808         * tests/test-roundf1.c: Likewise.
47809         * tests/test-roundl.c: Likewise.
47810         * tests/test-safe-alloc.c: Likewise.
47811         * tests/test-sameacls.c: Likewise.
47812         * tests/test-set-mode-acl.c: Likewise.
47813         * tests/test-setenv.c: Likewise.
47814         * tests/test-sigaction.c: Likewise.
47815         * tests/test-signbit.c: Likewise.
47816         * tests/test-sleep.c: Likewise.
47817         * tests/test-snprintf-posix.c: Likewise.
47818         * tests/test-snprintf.c: Likewise.
47819         * tests/test-sprintf-posix.c: Likewise.
47820         * tests/test-stat-time.c: Likewise.
47821         * tests/test-stat.c: Likewise.
47822         * tests/test-strcasestr.c: Likewise.
47823         * tests/test-strchrnul.c: Likewise.
47824         * tests/test-strerror.c: Likewise.
47825         * tests/test-striconv.c: Likewise.
47826         * tests/test-striconveh.c: Likewise.
47827         * tests/test-striconveha.c: Likewise.
47828         * tests/test-strsignal.c: Likewise.
47829         * tests/test-strstr.c: Likewise.
47830         * tests/test-strtod.c: Likewise.
47831         * tests/test-strverscmp.c: Likewise.
47832         * tests/test-symlink.c: Likewise.
47833         * tests/test-symlinkat.c: Likewise.
47834         * tests/test-trunc1.c: Likewise.
47835         * tests/test-trunc2.c: Likewise.
47836         * tests/test-truncf1.c: Likewise.
47837         * tests/test-truncf2.c: Likewise.
47838         * tests/test-truncl.c: Likewise.
47839         * tests/test-uname.c: Likewise.
47840         * tests/test-unlink.c: Likewise.
47841         * tests/test-unlinkat.c: Likewise.
47842         * tests/test-unsetenv.c: Likewise.
47843         * tests/test-usleep.c: Likewise.
47844         * tests/test-utimens.c: Likewise.
47845         * tests/test-utimensat.c: Likewise.
47846         * tests/test-vasnprintf-posix.c: Likewise.
47847         * tests/test-vasnprintf-posix2.c: Likewise.
47848         * tests/test-vasnprintf.c: Likewise.
47849         * tests/test-vasprintf-posix.c: Likewise.
47850         * tests/test-vasprintf.c: Likewise.
47851         * tests/test-vdprintf-posix.c: Likewise.
47852         * tests/test-vfprintf-posix.c: Likewise.
47853         * tests/test-vprintf-posix.c: Likewise.
47854         * tests/test-vsnprintf-posix.c: Likewise.
47855         * tests/test-vsnprintf.c: Likewise.
47856         * tests/test-vsprintf-posix.c: Likewise.
47857         * tests/test-wcrtomb.c: Likewise.
47858         * tests/test-wcsnrtombs.c: Likewise.
47859         * tests/test-wcsrtombs.c: Likewise.
47860         * tests/test-wctype.c: Likewise.
47861         * tests/test-wcwidth.c: Likewise.
47862         * tests/test-xfprintf-posix.c: Likewise.
47863         * tests/test-xmemdup0.c: Likewise.
47864         * tests/test-xprintf-posix.c: Likewise.
47865         * tests/test-xvasprintf.c: Likewise.
47866         * tests/unicase/test-locale-language.c: Likewise.
47867         * tests/unicase/test-mapping-part1.h: Likewise.
47868         * tests/unicase/test-predicate-part1.h: Likewise.
47869         * tests/unicase/test-u8-casecmp.c: Likewise.
47870         * tests/unicase/test-u8-casecoll.c: Likewise.
47871         * tests/unicase/test-u8-casefold.c: Likewise.
47872         * tests/unicase/test-u8-is-cased.c: Likewise.
47873         * tests/unicase/test-u8-is-casefolded.c: Likewise.
47874         * tests/unicase/test-u8-is-lowercase.c: Likewise.
47875         * tests/unicase/test-u8-is-titlecase.c: Likewise.
47876         * tests/unicase/test-u8-is-uppercase.c: Likewise.
47877         * tests/unicase/test-u8-tolower.c: Likewise.
47878         * tests/unicase/test-u8-totitle.c: Likewise.
47879         * tests/unicase/test-u8-toupper.c: Likewise.
47880         * tests/unicase/test-u16-casecmp.c: Likewise.
47881         * tests/unicase/test-u16-casecoll.c: Likewise.
47882         * tests/unicase/test-u16-casefold.c: Likewise.
47883         * tests/unicase/test-u16-is-cased.c: Likewise.
47884         * tests/unicase/test-u16-is-casefolded.c: Likewise.
47885         * tests/unicase/test-u16-is-lowercase.c: Likewise.
47886         * tests/unicase/test-u16-is-titlecase.c: Likewise.
47887         * tests/unicase/test-u16-is-uppercase.c: Likewise.
47888         * tests/unicase/test-u16-tolower.c: Likewise.
47889         * tests/unicase/test-u16-totitle.c: Likewise.
47890         * tests/unicase/test-u16-toupper.c: Likewise.
47891         * tests/unicase/test-u32-casecmp.c: Likewise.
47892         * tests/unicase/test-u32-casecoll.c: Likewise.
47893         * tests/unicase/test-u32-casefold.c: Likewise.
47894         * tests/unicase/test-u32-is-cased.c: Likewise.
47895         * tests/unicase/test-u32-is-casefolded.c: Likewise.
47896         * tests/unicase/test-u32-is-lowercase.c: Likewise.
47897         * tests/unicase/test-u32-is-titlecase.c: Likewise.
47898         * tests/unicase/test-u32-is-uppercase.c: Likewise.
47899         * tests/unicase/test-u32-tolower.c: Likewise.
47900         * tests/unicase/test-u32-totitle.c: Likewise.
47901         * tests/unicase/test-u32-toupper.c: Likewise.
47902         * tests/unicase/test-ulc-casecmp.c: Likewise.
47903         * tests/unicase/test-ulc-casecoll.c: Likewise.
47904         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
47905         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
47906         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
47907         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
47908         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
47909         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
47910         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
47911         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
47912         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
47913         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
47914         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
47915         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
47916         * tests/unictype/test-bidi_byname.c: Likewise.
47917         * tests/unictype/test-bidi_name.c: Likewise.
47918         * tests/unictype/test-bidi_of.c: Likewise.
47919         * tests/unictype/test-bidi_test.c: Likewise.
47920         * tests/unictype/test-block_list.c: Likewise.
47921         * tests/unictype/test-block_of.c: Likewise.
47922         * tests/unictype/test-block_test.c: Likewise.
47923         * tests/unictype/test-categ_and.c: Likewise.
47924         * tests/unictype/test-categ_and_not.c: Likewise.
47925         * tests/unictype/test-categ_byname.c: Likewise.
47926         * tests/unictype/test-categ_name.c: Likewise.
47927         * tests/unictype/test-categ_none.c: Likewise.
47928         * tests/unictype/test-categ_of.c: Likewise.
47929         * tests/unictype/test-categ_or.c: Likewise.
47930         * tests/unictype/test-categ_test_withtable.c: Likewise.
47931         * tests/unictype/test-combining.c: Likewise.
47932         * tests/unictype/test-decdigit.c: Likewise.
47933         * tests/unictype/test-digit.c: Likewise.
47934         * tests/unictype/test-mirror.c: Likewise.
47935         * tests/unictype/test-numeric.c: Likewise.
47936         * tests/unictype/test-pr_byname.c: Likewise.
47937         * tests/unictype/test-pr_test.c: Likewise.
47938         * tests/unictype/test-predicate-part1.h: Likewise.
47939         * tests/unictype/test-scripts.c: Likewise.
47940         * tests/unictype/test-sy_c_ident.c: Likewise.
47941         * tests/unictype/test-sy_java_ident.c: Likewise.
47942         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
47943         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
47944         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
47945         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
47946         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
47947         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
47948         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
47949         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
47950         * tests/uninorm/test-canonical-decomposition.c: Likewise.
47951         * tests/uninorm/test-compat-decomposition.c: Likewise.
47952         * tests/uninorm/test-composition.c: Likewise.
47953         * tests/uninorm/test-decomposing-form.c: Likewise.
47954         * tests/uninorm/test-decomposition.c: Likewise.
47955         * tests/uninorm/test-u8-nfc.c: Likewise.
47956         * tests/uninorm/test-u8-nfd.c: Likewise.
47957         * tests/uninorm/test-u8-nfkc.c: Likewise.
47958         * tests/uninorm/test-u8-nfkd.c: Likewise.
47959         * tests/uninorm/test-u8-normcmp.c: Likewise.
47960         * tests/uninorm/test-u8-normcoll.c: Likewise.
47961         * tests/uninorm/test-u16-nfc.c: Likewise.
47962         * tests/uninorm/test-u16-nfd.c: Likewise.
47963         * tests/uninorm/test-u16-nfkc.c: Likewise.
47964         * tests/uninorm/test-u16-nfkd.c: Likewise.
47965         * tests/uninorm/test-u16-normcmp.c: Likewise.
47966         * tests/uninorm/test-u16-normcoll.c: Likewise.
47967         * tests/uninorm/test-u32-nfc.c: Likewise.
47968         * tests/uninorm/test-u32-nfd.c: Likewise.
47969         * tests/uninorm/test-u32-nfkc.c: Likewise.
47970         * tests/uninorm/test-u32-nfkd.c: Likewise.
47971         * tests/uninorm/test-u32-normalize-big.c: Likewise.
47972         * tests/uninorm/test-u32-normcmp.c: Likewise.
47973         * tests/uninorm/test-u32-normcoll.c: Likewise.
47974         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
47975         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
47976         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
47977         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
47978         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
47979         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
47980         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
47981         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
47982         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
47983         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
47984         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
47985         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
47986         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
47987         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
47988         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
47989         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
47990         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
47991         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
47992         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
47993         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
47994         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
47995         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
47996         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
47997         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
47998         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
47999         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
48000         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
48001         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
48002         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
48003         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
48004         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
48005         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
48006         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
48007         * tests/uniwidth/test-u8-strwidth.c: Likewise.
48008         * tests/uniwidth/test-u8-width.c: Likewise.
48009         * tests/uniwidth/test-u16-strwidth.c: Likewise.
48010         * tests/uniwidth/test-u16-width.c: Likewise.
48011         * tests/uniwidth/test-u32-strwidth.c: Likewise.
48012         * tests/uniwidth/test-u32-width.c: Likewise.
48013         * tests/uniwidth/test-uc_width.c: Likewise.
48014         * tests/uniwidth/test-uc_width2.c: Likewise.
48015         * modules/acl-tests (Files): Add tests/macros.h.
48016         * modules/areadlink-tests (Files): Likewise.
48017         * modules/areadlink-with-size-tests (Files): Likewise.
48018         * modules/areadlinkat-tests (Files): Likewise.
48019         * modules/areadlinkat-with-size-tests (Files): Likewise.
48020         * modules/argmatch-tests (Files): Likewise.
48021         * modules/argv-iter-tests (Files): Likewise.
48022         * modules/array-list-tests (Files): Likewise.
48023         * modules/array-mergesort-tests (Files): Likewise.
48024         * modules/array-oset-tests (Files): Likewise.
48025         * modules/avltree-list-tests (Files): Likewise.
48026         * modules/avltree-oset-tests (Files): Likewise.
48027         * modules/avltreehash-list-tests (Files): Likewise.
48028         * modules/base64-tests (Files): Likewise.
48029         * modules/binary-io-tests (Files): Likewise.
48030         * modules/bitrotate-tests (Files): Likewise.
48031         * modules/btowc-tests (Files): Likewise.
48032         * modules/byteswap-tests (Files): Likewise.
48033         * modules/c-ctype-tests (Files): Likewise.
48034         * modules/c-stack-tests (Files): Likewise.
48035         * modules/c-strcase-tests (Files): Likewise.
48036         * modules/c-strcasestr-tests (Files): Likewise.
48037         * modules/c-strstr-tests (Files): Likewise.
48038         * modules/canonicalize-lgpl-tests (Files): Likewise.
48039         * modules/canonicalize-tests (Files): Likewise.
48040         * modules/carray-list-tests (Files): Likewise.
48041         * modules/ceilf-tests (Files): Likewise.
48042         * modules/ceill-tests (Files): Likewise.
48043         * modules/chown-tests (Files): Likewise.
48044         * modules/cloexec-tests (Files): Likewise.
48045         * modules/copy-file-tests (Files): Likewise.
48046         * modules/count-one-bits-tests (Files): Likewise.
48047         * modules/dprintf-posix-tests (Files): Likewise.
48048         * modules/dup2-tests (Files): Likewise.
48049         * modules/dup3-tests (Files): Likewise.
48050         * modules/duplocale-tests (Files): Likewise.
48051         * modules/fbufmode-tests (Files): Likewise.
48052         * modules/fchdir-tests (Files): Likewise.
48053         * modules/fcntl-safer-tests (Files): Likewise.
48054         * modules/fcntl-tests (Files): Likewise.
48055         * modules/fdopendir-tests (Files): Likewise.
48056         * modules/fdutimensat-tests (Files): Likewise.
48057         * modules/fflush-tests (Files): Likewise.
48058         * modules/filevercmp-tests (Files): Likewise.
48059         * modules/flock-tests (Files): Likewise.
48060         * modules/floorf-tests (Files): Likewise.
48061         * modules/floorl-tests (Files): Likewise.
48062         * modules/fnmatch-tests (Files): Likewise.
48063         * modules/fopen-safer-tests (Files): Likewise.
48064         * modules/fopen-tests (Files): Likewise.
48065         * modules/fpending-tests (Files): Likewise.
48066         * modules/fprintf-posix-tests (Files): Likewise.
48067         * modules/fpurge-tests (Files): Likewise.
48068         * modules/freadable-tests (Files): Likewise.
48069         * modules/freadahead-tests (Files): Likewise.
48070         * modules/freading-tests (Files): Likewise.
48071         * modules/freadptr-tests (Files): Likewise.
48072         * modules/freadseek-tests (Files): Likewise.
48073         * modules/freopen-tests (Files): Likewise.
48074         * modules/frexp-nolibm-tests (Files): Likewise.
48075         * modules/frexp-tests (Files): Likewise.
48076         * modules/frexpl-nolibm-tests (Files): Likewise.
48077         * modules/frexpl-tests (Files): Likewise.
48078         * modules/fseek-tests (Files): Likewise.
48079         * modules/fseeko-tests (Files): Likewise.
48080         * modules/fstrcmp-tests (Files): Likewise.
48081         * modules/fsync-tests (Files): Likewise.
48082         * modules/ftell-tests (Files): Likewise.
48083         * modules/ftello-tests (Files): Likewise.
48084         * modules/func-tests (Files): Likewise.
48085         * modules/futimens-tests (Files): Likewise.
48086         * modules/fwritable-tests (Files): Likewise.
48087         * modules/fwriting-tests (Files): Likewise.
48088         * modules/getcwd-tests (Files): Likewise.
48089         * modules/getdate-tests (Files): Likewise.
48090         * modules/getdelim-tests (Files): Likewise.
48091         * modules/getdtablesize-tests (Files): Likewise.
48092         * modules/getgroups-tests (Files): Likewise.
48093         * modules/getline-tests (Files): Likewise.
48094         * modules/getndelim2-tests (Files): Likewise.
48095         * modules/glob-tests (Files): Likewise.
48096         * modules/hash-tests (Files): Likewise.
48097         * modules/i-ring-tests (Files): Likewise.
48098         * modules/iconv-tests (Files): Likewise.
48099         * modules/iconv_open-utf-tests (Files): Likewise.
48100         * modules/idpriv-drop-tests (Files): Likewise.
48101         * modules/idpriv-droptemp-tests (Files): Likewise.
48102         * modules/inet_ntop-tests (Files): Likewise.
48103         * modules/inet_pton-tests (Files): Likewise.
48104         * modules/isblank-tests (Files): Likewise.
48105         * modules/isfinite-tests (Files): Likewise.
48106         * modules/isinf-tests (Files): Likewise.
48107         * modules/isnan-tests (Files): Likewise.
48108         * modules/isnand-nolibm-tests (Files): Likewise.
48109         * modules/isnand-tests (Files): Likewise.
48110         * modules/isnanf-nolibm-tests (Files): Likewise.
48111         * modules/isnanf-tests (Files): Likewise.
48112         * modules/isnanl-nolibm-tests (Files): Likewise.
48113         * modules/isnanl-tests (Files): Likewise.
48114         * modules/lchown-tests (Files): Likewise.
48115         * modules/ldexpl-tests (Files): Likewise.
48116         * modules/link-tests (Files): Likewise.
48117         * modules/linkat-tests (Files): Likewise.
48118         * modules/linked-list-tests (Files): Likewise.
48119         * modules/linkedhash-list-tests (Files): Likewise.
48120         * modules/localename-tests (Files): Likewise.
48121         * modules/lseek-tests (Files): Likewise.
48122         * modules/lstat-tests (Files): Likewise.
48123         * modules/mbmemcasecmp-tests (Files): Likewise.
48124         * modules/mbmemcasecoll-tests (Files): Likewise.
48125         * modules/mbrtowc-tests (Files): Likewise.
48126         * modules/mbscasecmp-tests (Files): Likewise.
48127         * modules/mbscasestr-tests (Files): Likewise.
48128         * modules/mbschr-tests (Files): Likewise.
48129         * modules/mbscspn-tests (Files): Likewise.
48130         * modules/mbsinit-tests (Files): Likewise.
48131         * modules/mbsncasecmp-tests (Files): Likewise.
48132         * modules/mbsnrtowcs-tests (Files): Likewise.
48133         * modules/mbspbrk-tests (Files): Likewise.
48134         * modules/mbspcasecmp-tests (Files): Likewise.
48135         * modules/mbsrchr-tests (Files): Likewise.
48136         * modules/mbsrtowcs-tests (Files): Likewise.
48137         * modules/mbsspn-tests (Files): Likewise.
48138         * modules/mbsstr-tests (Files): Likewise.
48139         * modules/memchr-tests (Files): Likewise.
48140         * modules/memchr2-tests (Files): Likewise.
48141         * modules/memcmp-tests (Files): Likewise.
48142         * modules/memmem-tests (Files): Likewise.
48143         * modules/memrchr-tests (Files): Likewise.
48144         * modules/mkdir-tests (Files): Likewise.
48145         * modules/mkfifo-tests (Files): Likewise.
48146         * modules/mkfifoat-tests (Files): Likewise.
48147         * modules/mknod-tests (Files): Likewise.
48148         * modules/nanosleep-tests (Files): Likewise.
48149         * modules/nl_langinfo-tests (Files): Likewise.
48150         * modules/obstack-printf-tests (Files): Likewise.
48151         * modules/open-tests (Files): Likewise.
48152         * modules/openat-tests (Files): Likewise.
48153         * modules/pipe-filter-gi-tests (Files): Likewise.
48154         * modules/pipe-filter-ii-tests (Files): Likewise.
48155         * modules/pipe2-tests (Files): Likewise.
48156         * modules/popen-safer-tests (Files): Likewise.
48157         * modules/popen-tests (Files): Likewise.
48158         * modules/posixtm-tests (Files): Likewise.
48159         * modules/pread-tests (Files): Likewise.
48160         * modules/printf-frexp-tests (Files): Likewise.
48161         * modules/printf-frexpl-tests (Files): Likewise.
48162         * modules/printf-posix-tests (Files): Likewise.
48163         * modules/priv-set-tests (Files): Likewise.
48164         * modules/quotearg-tests (Files): Likewise.
48165         * modules/random_r-tests (Files): Likewise.
48166         * modules/rawmemchr-tests (Files): Likewise.
48167         * modules/rbtree-list-tests (Files): Likewise.
48168         * modules/rbtree-oset-tests (Files): Likewise.
48169         * modules/rbtreehash-list-tests (Files): Likewise.
48170         * modules/readlink-tests (Files): Likewise.
48171         * modules/remove-tests (Files): Likewise.
48172         * modules/rename-tests (Files): Likewise.
48173         * modules/renameat-tests (Files): Likewise.
48174         * modules/rmdir-tests (Files): Likewise.
48175         * modules/round-tests (Files): Likewise.
48176         * modules/roundf-tests (Files): Likewise.
48177         * modules/roundl-tests (Files): Likewise.
48178         * modules/safe-alloc-tests (Files): Likewise.
48179         * modules/setenv-tests (Files): Likewise.
48180         * modules/sigaction-tests (Files): Likewise.
48181         * modules/signbit-tests (Files): Likewise.
48182         * modules/sleep-tests (Files): Likewise.
48183         * modules/snprintf-posix-tests (Files): Likewise.
48184         * modules/snprintf-tests (Files): Likewise.
48185         * modules/sprintf-posix-tests (Files): Likewise.
48186         * modules/stat-tests (Files): Likewise.
48187         * modules/stat-time-tests (Files): Likewise.
48188         * modules/strcasestr-tests (Files): Likewise.
48189         * modules/strchrnul-tests (Files): Likewise.
48190         * modules/strerror-tests (Files): Likewise.
48191         * modules/striconv-tests (Files): Likewise.
48192         * modules/striconveh-tests (Files): Likewise.
48193         * modules/striconveha-tests (Files): Likewise.
48194         * modules/strsignal-tests (Files): Likewise.
48195         * modules/strstr-tests (Files): Likewise.
48196         * modules/strtod-tests (Files): Likewise.
48197         * modules/strverscmp-tests (Files): Likewise.
48198         * modules/symlink-tests (Files): Likewise.
48199         * modules/symlinkat-tests (Files): Likewise.
48200         * modules/trunc-tests (Files): Likewise.
48201         * modules/truncf-tests (Files): Likewise.
48202         * modules/truncl-tests (Files): Likewise.
48203         * modules/uname-tests (Files): Likewise.
48204         * modules/unicase/cased-tests (Files): Likewise.
48205         * modules/unicase/ignorable-tests (Files): Likewise.
48206         * modules/unicase/locale-language-tests (Files): Likewise.
48207         * modules/unicase/tolower-tests (Files): Likewise.
48208         * modules/unicase/totitle-tests (Files): Likewise.
48209         * modules/unicase/toupper-tests (Files): Likewise.
48210         * modules/unicase/u8-casecmp-tests (Files): Likewise.
48211         * modules/unicase/u8-casecoll-tests (Files): Likewise.
48212         * modules/unicase/u8-casefold-tests (Files): Likewise.
48213         * modules/unicase/u8-is-cased-tests (Files): Likewise.
48214         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
48215         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
48216         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
48217         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
48218         * modules/unicase/u8-tolower-tests (Files): Likewise.
48219         * modules/unicase/u8-totitle-tests (Files): Likewise.
48220         * modules/unicase/u8-toupper-tests (Files): Likewise.
48221         * modules/unicase/u16-casecmp-tests (Files): Likewise.
48222         * modules/unicase/u16-casecoll-tests (Files): Likewise.
48223         * modules/unicase/u16-casefold-tests (Files): Likewise.
48224         * modules/unicase/u16-is-cased-tests (Files): Likewise.
48225         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
48226         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
48227         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
48228         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
48229         * modules/unicase/u16-tolower-tests (Files): Likewise.
48230         * modules/unicase/u16-totitle-tests (Files): Likewise.
48231         * modules/unicase/u16-toupper-tests (Files): Likewise.
48232         * modules/unicase/u32-casecmp-tests (Files): Likewise.
48233         * modules/unicase/u32-casecoll-tests (Files): Likewise.
48234         * modules/unicase/u32-casefold-tests (Files): Likewise.
48235         * modules/unicase/u32-is-cased-tests (Files): Likewise.
48236         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
48237         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
48238         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
48239         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
48240         * modules/unicase/u32-tolower-tests (Files): Likewise.
48241         * modules/unicase/u32-totitle-tests (Files): Likewise.
48242         * modules/unicase/u32-toupper-tests (Files): Likewise.
48243         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
48244         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
48245         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
48246         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
48247         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
48248         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
48249         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
48250         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
48251         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
48252         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
48253         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
48254         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
48255         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
48256         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
48257         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
48258         * modules/unictype/bidicategory-name-tests (Files): Likewise.
48259         * modules/unictype/bidicategory-of-tests (Files): Likewise.
48260         * modules/unictype/bidicategory-test-tests (Files): Likewise.
48261         * modules/unictype/block-list-tests (Files): Likewise.
48262         * modules/unictype/block-of-tests (Files): Likewise.
48263         * modules/unictype/block-test-tests (Files): Likewise.
48264         * modules/unictype/category-C-tests (Files): Likewise.
48265         * modules/unictype/category-Cc-tests (Files): Likewise.
48266         * modules/unictype/category-Cf-tests (Files): Likewise.
48267         * modules/unictype/category-Cn-tests (Files): Likewise.
48268         * modules/unictype/category-Co-tests (Files): Likewise.
48269         * modules/unictype/category-Cs-tests (Files): Likewise.
48270         * modules/unictype/category-L-tests (Files): Likewise.
48271         * modules/unictype/category-Ll-tests (Files): Likewise.
48272         * modules/unictype/category-Lm-tests (Files): Likewise.
48273         * modules/unictype/category-Lo-tests (Files): Likewise.
48274         * modules/unictype/category-Lt-tests (Files): Likewise.
48275         * modules/unictype/category-Lu-tests (Files): Likewise.
48276         * modules/unictype/category-M-tests (Files): Likewise.
48277         * modules/unictype/category-Mc-tests (Files): Likewise.
48278         * modules/unictype/category-Me-tests (Files): Likewise.
48279         * modules/unictype/category-Mn-tests (Files): Likewise.
48280         * modules/unictype/category-N-tests (Files): Likewise.
48281         * modules/unictype/category-Nd-tests (Files): Likewise.
48282         * modules/unictype/category-Nl-tests (Files): Likewise.
48283         * modules/unictype/category-No-tests (Files): Likewise.
48284         * modules/unictype/category-P-tests (Files): Likewise.
48285         * modules/unictype/category-Pc-tests (Files): Likewise.
48286         * modules/unictype/category-Pd-tests (Files): Likewise.
48287         * modules/unictype/category-Pe-tests (Files): Likewise.
48288         * modules/unictype/category-Pf-tests (Files): Likewise.
48289         * modules/unictype/category-Pi-tests (Files): Likewise.
48290         * modules/unictype/category-Po-tests (Files): Likewise.
48291         * modules/unictype/category-Ps-tests (Files): Likewise.
48292         * modules/unictype/category-S-tests (Files): Likewise.
48293         * modules/unictype/category-Sc-tests (Files): Likewise.
48294         * modules/unictype/category-Sk-tests (Files): Likewise.
48295         * modules/unictype/category-Sm-tests (Files): Likewise.
48296         * modules/unictype/category-So-tests (Files): Likewise.
48297         * modules/unictype/category-Z-tests (Files): Likewise.
48298         * modules/unictype/category-Zl-tests (Files): Likewise.
48299         * modules/unictype/category-Zp-tests (Files): Likewise.
48300         * modules/unictype/category-Zs-tests (Files): Likewise.
48301         * modules/unictype/category-and-not-tests (Files): Likewise.
48302         * modules/unictype/category-and-tests (Files): Likewise.
48303         * modules/unictype/category-byname-tests (Files): Likewise.
48304         * modules/unictype/category-name-tests (Files): Likewise.
48305         * modules/unictype/category-none-tests (Files): Likewise.
48306         * modules/unictype/category-of-tests (Files): Likewise.
48307         * modules/unictype/category-or-tests (Files): Likewise.
48308         * modules/unictype/category-test-withtable-tests (Files): Likewise.
48309         * modules/unictype/combining-class-tests (Files): Likewise.
48310         * modules/unictype/ctype-alnum-tests (Files): Likewise.
48311         * modules/unictype/ctype-alpha-tests (Files): Likewise.
48312         * modules/unictype/ctype-blank-tests (Files): Likewise.
48313         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
48314         * modules/unictype/ctype-digit-tests (Files): Likewise.
48315         * modules/unictype/ctype-graph-tests (Files): Likewise.
48316         * modules/unictype/ctype-lower-tests (Files): Likewise.
48317         * modules/unictype/ctype-print-tests (Files): Likewise.
48318         * modules/unictype/ctype-punct-tests (Files): Likewise.
48319         * modules/unictype/ctype-space-tests (Files): Likewise.
48320         * modules/unictype/ctype-upper-tests (Files): Likewise.
48321         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
48322         * modules/unictype/decimal-digit-tests (Files): Likewise.
48323         * modules/unictype/digit-tests (Files): Likewise.
48324         * modules/unictype/mirror-tests (Files): Likewise.
48325         * modules/unictype/numeric-tests (Files): Likewise.
48326         * modules/unictype/property-alphabetic-tests (Files): Likewise.
48327         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
48328         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
48329         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
48330         Likewise.
48331         * modules/unictype/property-bidi-block-separator-tests (Files):
48332         Likewise.
48333         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
48334         Likewise.
48335         * modules/unictype/property-bidi-common-separator-tests (Files):
48336         Likewise.
48337         * modules/unictype/property-bidi-control-tests (Files): Likewise.
48338         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
48339         Likewise.
48340         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
48341         Likewise.
48342         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
48343         Likewise.
48344         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
48345         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
48346         Likewise.
48347         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
48348         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
48349         Likewise.
48350         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
48351         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
48352         * modules/unictype/property-bidi-segment-separator-tests (Files):
48353         Likewise.
48354         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
48355         * modules/unictype/property-byname-tests (Files): Likewise.
48356         * modules/unictype/property-combining-tests (Files): Likewise.
48357         * modules/unictype/property-composite-tests (Files): Likewise.
48358         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
48359         * modules/unictype/property-dash-tests (Files): Likewise.
48360         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
48361         * modules/unictype/property-default-ignorable-code-point-tests (Files):
48362         Likewise.
48363         * modules/unictype/property-deprecated-tests (Files): Likewise.
48364         * modules/unictype/property-diacritic-tests (Files): Likewise.
48365         * modules/unictype/property-extender-tests (Files): Likewise.
48366         * modules/unictype/property-format-control-tests (Files): Likewise.
48367         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
48368         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
48369         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
48370         * modules/unictype/property-hex-digit-tests (Files): Likewise.
48371         * modules/unictype/property-hyphen-tests (Files): Likewise.
48372         * modules/unictype/property-id-continue-tests (Files): Likewise.
48373         * modules/unictype/property-id-start-tests (Files): Likewise.
48374         * modules/unictype/property-ideographic-tests (Files): Likewise.
48375         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
48376         * modules/unictype/property-ids-trinary-operator-tests (Files):
48377         Likewise.
48378         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
48379         * modules/unictype/property-iso-control-tests (Files): Likewise.
48380         * modules/unictype/property-join-control-tests (Files): Likewise.
48381         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
48382         * modules/unictype/property-line-separator-tests (Files): Likewise.
48383         * modules/unictype/property-logical-order-exception-tests (Files):
48384         Likewise.
48385         * modules/unictype/property-lowercase-tests (Files): Likewise.
48386         * modules/unictype/property-math-tests (Files): Likewise.
48387         * modules/unictype/property-non-break-tests (Files): Likewise.
48388         * modules/unictype/property-not-a-character-tests (Files): Likewise.
48389         * modules/unictype/property-numeric-tests (Files): Likewise.
48390         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
48391         * modules/unictype/property-other-default-ignorable-code-point-tests
48392         (Files): Likewise.
48393         * modules/unictype/property-other-grapheme-extend-tests (Files):
48394         Likewise.
48395         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
48396         * modules/unictype/property-other-id-start-tests (Files): Likewise.
48397         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
48398         * modules/unictype/property-other-math-tests (Files): Likewise.
48399         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
48400         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
48401         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
48402         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
48403         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
48404         * modules/unictype/property-private-use-tests (Files): Likewise.
48405         * modules/unictype/property-punctuation-tests (Files): Likewise.
48406         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
48407         * modules/unictype/property-radical-tests (Files): Likewise.
48408         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
48409         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
48410         * modules/unictype/property-space-tests (Files): Likewise.
48411         * modules/unictype/property-terminal-punctuation-tests (Files):
48412         Likewise.
48413         * modules/unictype/property-test-tests (Files): Likewise.
48414         * modules/unictype/property-titlecase-tests (Files): Likewise.
48415         * modules/unictype/property-unassigned-code-value-tests (Files):
48416         Likewise.
48417         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
48418         * modules/unictype/property-uppercase-tests (Files): Likewise.
48419         * modules/unictype/property-variation-selector-tests (Files): Likewise.
48420         * modules/unictype/property-white-space-tests (Files): Likewise.
48421         * modules/unictype/property-xid-continue-tests (Files): Likewise.
48422         * modules/unictype/property-xid-start-tests (Files): Likewise.
48423         * modules/unictype/property-zero-width-tests (Files): Likewise.
48424         * modules/unictype/scripts-tests (Files): Likewise.
48425         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
48426         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
48427         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
48428         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
48429         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
48430         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
48431         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
48432         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
48433         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
48434         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
48435         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
48436         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
48437         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
48438         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
48439         * modules/uninorm/composition-tests (Files): Likewise.
48440         * modules/uninorm/decomposing-form-tests (Files): Likewise.
48441         * modules/uninorm/decomposition-tests (Files): Likewise.
48442         * modules/uninorm/filter-tests (Files): Likewise.
48443         * modules/uninorm/nfc-tests (Files): Likewise.
48444         * modules/uninorm/nfd-tests (Files): Likewise.
48445         * modules/uninorm/nfkc-tests (Files): Likewise.
48446         * modules/uninorm/nfkd-tests (Files): Likewise.
48447         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
48448         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
48449         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
48450         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
48451         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
48452         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
48453         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
48454         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
48455         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
48456         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
48457         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
48458         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
48459         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
48460         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
48461         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
48462         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
48463         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
48464         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
48465         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
48466         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
48467         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
48468         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
48469         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
48470         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
48471         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
48472         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
48473         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
48474         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
48475         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
48476         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
48477         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
48478         * modules/uniwidth/u8-width-tests (Files): Likewise.
48479         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
48480         * modules/uniwidth/u16-width-tests (Files): Likewise.
48481         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
48482         * modules/uniwidth/u32-width-tests (Files): Likewise.
48483         * modules/uniwidth/width-tests (Files): Likewise.
48484         * modules/unlink-tests (Files): Likewise.
48485         * modules/unsetenv-tests (Files): Likewise.
48486         * modules/usleep-tests (Files): Likewise.
48487         * modules/utimens-tests (Files): Likewise.
48488         * modules/utimensat-tests (Files): Likewise.
48489         * modules/vasnprintf-posix-tests (Files): Likewise.
48490         * modules/vasnprintf-tests (Files): Likewise.
48491         * modules/vasprintf-posix-tests (Files): Likewise.
48492         * modules/vasprintf-tests (Files): Likewise.
48493         * modules/vdprintf-posix-tests (Files): Likewise.
48494         * modules/vfprintf-posix-tests (Files): Likewise.
48495         * modules/vprintf-posix-tests (Files): Likewise.
48496         * modules/vsnprintf-posix-tests (Files): Likewise.
48497         * modules/vsnprintf-tests (Files): Likewise.
48498         * modules/vsprintf-posix-tests (Files): Likewise.
48499         * modules/wcrtomb-tests (Files): Likewise.
48500         * modules/wcsnrtombs-tests (Files): Likewise.
48501         * modules/wcsrtombs-tests (Files): Likewise.
48502         * modules/wctype-tests (Files): Likewise.
48503         * modules/wcwidth-tests (Files): Likewise.
48504         * modules/xmemdup0-tests (Files): Likewise.
48505         * modules/xprintf-posix-tests (Files): Likewise.
48506         * modules/xvasprintf-tests (Files): Likewise.
48507
48508 2009-12-24  Eric Blake  <ebb9@byu.net>
48509
48510         test-nanosleep: fix typo
48511         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
48512         patch.
48513         Reported by Bruno Haible.
48514
48515 2009-12-24  Bruno Haible  <bruno@clisp.org>
48516
48517         Reduce namespace pollution on glibc systems.
48518         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
48519         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
48520         systems.
48521         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
48522         <getopt.h> on glibc systems.
48523         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
48524         systems.
48525         * lib/fcntl.c: Include <unistd.h> here instead.
48526
48527 2009-12-24  Bruno Haible  <bruno@clisp.org>
48528
48529         * lib/stdlib.in.h (includes): Fix typo in today's commit.
48530
48531 2009-12-24  Eric Blake  <ebb9@byu.net>
48532
48533         tests: add signature checks
48534         * tests/signature.h (SIGNATURE_CHECK): New file.
48535         * modules/atexit-tests (Files): Use it.
48536         * modules/btowc-tests (Files): Likewise.
48537         * modules/canonicalize-lgpl-tests (Files): Likewise.
48538         * modules/ceilf-tests (Files): Likewise.
48539         * modules/ceill-tests (Files): Likewise.
48540         * modules/chown-tests (Files): Likewise.
48541         * modules/dprintf-posix-tests (Files): Likewise.
48542         * modules/dup2-tests (Files): Likewise.
48543         * modules/dup3-tests (Files): Likewise.
48544         * modules/duplocale-tests (Files): Likewise.
48545         * modules/fchdir-tests (Files): Likewise.
48546         * modules/fcntl-tests (Files): Likewise.
48547         * modules/fdopendir-tests (Files): Likewise.
48548         * modules/fflush-tests (Files): Likewise.
48549         * modules/flock-tests (Files): Likewise.
48550         * modules/floorf-tests (Files): Likewise.
48551         * modules/floorl-tests (Files): Likewise.
48552         * modules/fnmatch-tests (Files): Likewise.
48553         * modules/fopen-tests (Files): Likewise.
48554         * modules/fprintf-posix-tests (Files): Likewise.
48555         * modules/freopen-tests (Files): Likewise.
48556         * modules/frexp-nolibm-tests (Files): Likewise.
48557         * modules/frexp-tests (Files): Likewise.
48558         * modules/frexpl-nolibm-tests (Files): Likewise.
48559         * modules/frexpl-tests (Files): Likewise.
48560         * modules/fseek-tests (Files): Likewise.
48561         * modules/fseeko-tests (Files): Likewise.
48562         * modules/fsync-tests (Files): Likewise.
48563         * modules/ftell-tests (Files): Likewise.
48564         * modules/ftello-tests (Files): Likewise.
48565         * modules/futimens-tests (Files): Likewise.
48566         * modules/getaddrinfo-tests (Files): Likewise.
48567         * modules/getcwd-tests (Files): Likewise.
48568         * modules/getdelim-tests (Files): Likewise.
48569         * modules/getdtablesize-tests (Files): Likewise.
48570         * modules/getgroups-tests (Files): Likewise.
48571         * modules/gethostname-tests (Files): Likewise.
48572         * modules/getline-tests (Files): Likewise.
48573         * modules/getopt-posix-tests (Files): Likewise.
48574         * modules/gettimeofday-tests (Files): Likewise.
48575         * modules/glob-tests (Files): Likewise.
48576         * modules/iconv-tests (Files): Likewise.
48577         * modules/inet_ntop-tests (Files): Likewise.
48578         * modules/inet_pton-tests (Files): Likewise.
48579         * modules/isblank-tests (Files): Likewise.
48580         * modules/lchown-tests (Files): Likewise.
48581         * modules/ldexpl-tests (Files): Likewise.
48582         * modules/link-tests (Files): Likewise.
48583         * modules/linkat-tests (Files): Likewise.
48584         * modules/lseek-tests (Files): Likewise.
48585         * modules/lstat-tests (Files): Likewise.
48586         * modules/mbrtowc-tests (Files): Likewise.
48587         * modules/mbsinit-tests (Files): Likewise.
48588         * modules/mbsnrtowcs-tests (Files): Likewise.
48589         * modules/mbsrtowcs-tests (Files): Likewise.
48590         * modules/memchr-tests (Files): Likewise.
48591         * modules/memcmp-tests (Files): Likewise.
48592         * modules/memmem-tests (Files): Likewise.
48593         * modules/memrchr-tests (Files): Likewise.
48594         * modules/mkdir-tests (Files): Likewise.
48595         * modules/mkfifo-tests (Files): Likewise.
48596         * modules/mkfifoat-tests (Files): Likewise.
48597         * modules/mknod-tests (Files): Likewise.
48598         * modules/nanosleep-tests (Files): Likewise.
48599         * modules/nl_langinfo-tests (Files): Likewise.
48600         * modules/obstack-printf-tests (Files): Likewise.
48601         * modules/open-tests (Files): Likewise.
48602         * modules/openat-tests (Files): Likewise.
48603         * modules/perror-tests (Files): Likewise.
48604         * modules/pipe2-tests (Files): Likewise.
48605         * modules/poll-tests (Files): Likewise.
48606         * modules/popen-tests (Files): Likewise.
48607         * modules/posix_spawn-tests (Files): Likewise.
48608         * modules/posix_spawnp-tests (Files): Likewise.
48609         * modules/pread-tests (Files): Likewise.
48610         * modules/printf-posix-tests (Files): Likewise.
48611         * modules/pty-tests (Files): Likewise.
48612         * modules/random_r-tests (Files): Likewise.
48613         * modules/rawmemchr-tests (Files): Likewise.
48614         * modules/readlink-tests (Files): Likewise.
48615         * modules/remove-tests (Files): Likewise.
48616         * modules/rename-tests (Files): Likewise.
48617         * modules/renameat-tests (Files): Likewise.
48618         * modules/rmdir-tests (Files): Likewise.
48619         * modules/round-tests (Files): Likewise.
48620         * modules/roundf-tests (Files): Likewise.
48621         * modules/roundl-tests (Files): Likewise.
48622         * modules/select-tests (Files): Likewise.
48623         * modules/setenv-tests (Files): Likewise.
48624         * modules/sigaction-tests (Files): Likewise.
48625         * modules/sleep-tests (Files): Likewise.
48626         * modules/snprintf-posix-tests (Files): Likewise.
48627         * modules/snprintf-tests (Files): Likewise.
48628         * modules/sprintf-posix-tests (Files): Likewise.
48629         * modules/stat-tests (Files): Likewise.
48630         * modules/strcasestr-tests (Files): Likewise.
48631         * modules/strchrnul-tests (Files): Likewise.
48632         * modules/strerror-tests (Files): Likewise.
48633         * modules/strsignal-tests (Files): Likewise.
48634         * modules/strstr-tests (Files): Likewise.
48635         * modules/strtod-tests (Files): Likewise.
48636         * modules/strverscmp-tests (Files): Likewise.
48637         * modules/symlink-tests (Files): Likewise.
48638         * modules/symlinkat-tests (Files): Likewise.
48639         * modules/times-tests (Files): Likewise.
48640         * modules/trunc-tests (Files): Likewise.
48641         * modules/truncf-tests (Files): Likewise.
48642         * modules/truncl-tests (Files): Likewise.
48643         * modules/tsearch-tests (Files): Likewise.
48644         * modules/uname-tests (Files): Likewise.
48645         * modules/unlink-tests (Files): Likewise.
48646         * modules/unsetenv-tests (Files): Likewise.
48647         * modules/usleep-tests (Files): Likewise.
48648         * modules/utimensat-tests (Files): Likewise.
48649         * modules/vasprintf-tests (Files): Likewise.
48650         * modules/vdprintf-posix-tests (Files): Likewise.
48651         * modules/vfprintf-posix-tests (Files): Likewise.
48652         * modules/vprintf-posix-tests (Files): Likewise.
48653         * modules/vsnprintf-posix-tests (Files): Likewise.
48654         * modules/vsnprintf-tests (Files): Likewise.
48655         * modules/vsprintf-posix-tests (Files): Likewise.
48656         * modules/wcrtomb-tests (Files): Likewise.
48657         * modules/wcsnrtombs-tests (Files): Likewise.
48658         * modules/wcsrtombs-tests (Files): Likewise.
48659         * modules/wcwidth-tests (Files): Likewise.
48660         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
48661         * tests/test-isinf.c (isinf): Likewise.
48662         * tests/test-isnan.c (isnan): Likewise.
48663         * tests/test-signbit.c (signbit): Likewise.
48664         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
48665         declaration, either as macro or with correct signature.
48666         (select): Ensure function under test is declared with correct
48667         signature in correct header.
48668         * tests/test-atexit.c (atexit): Likewise.
48669         * tests/test-btowc.c (btowc): Likewise.
48670         * tests/test-canonicalize-lgpl.c (realpath)
48671         (canonicalize_file_name): Likewise.
48672         * tests/test-ceilf1.c (ceilf): Likewise.
48673         * tests/test-ceill.c (ceill): Likewise.
48674         * tests/test-chown.c (chown): Likewise.
48675         * tests/test-dprintf-posix.c (dprintf): Likewise.
48676         * tests/test-dup2.c (dup2): Likewise.
48677         * tests/test-dup3.c (dup3): Likewise.
48678         * tests/test-duplocale.c (duplocale): Likewise.
48679         * tests/test-fchdir.c (fchdir): Likewise.
48680         * tests/test-fchownat.c (fchownat): Likewise.
48681         * tests/test-fcntl.c (fcntl): Likewise.
48682         * tests/test-fdopendir.c (fdopendir): Likewise.
48683         * tests/test-fflush.c (fflush): Likewise.
48684         * tests/test-flock.c (flock): Likewise.
48685         * tests/test-floorf1.c (floorf): Likewise.
48686         * tests/test-floorl.c (floorl): Likewise.
48687         * tests/test-fnmatch.c (fnmatch): Likewise.
48688         * tests/test-fopen.c (fopen): Likewise.
48689         * tests/test-fprintf-posix.c (fprintf): Likewise.
48690         * tests/test-freopen.c (freopen): Likewise.
48691         * tests/test-frexp.c (frexp): Likewise.
48692         * tests/test-frexpl.c (frexpl): Likewise.
48693         * tests/test-fseek.c (fseek): Likewise.
48694         * tests/test-fseeko.c (fseeko): Likewise.
48695         * tests/test-fstatat.c (fstatat): Likewise.
48696         * tests/test-fsync.c (fsync): Likewise.
48697         * tests/test-ftell.c (ftell): Likewise.
48698         * tests/test-ftello.c (ftello): Likewise.
48699         * tests/test-futimens.c (futimens): Likewise.
48700         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
48701         (gai_strerror): Likewise.
48702         * tests/test-getcwd.c (getcwd): Likewise.
48703         * tests/test-getdelim.c (getdelim): Likewise.
48704         * tests/test-getdtablesize.c (getdtablesize): Likewise.
48705         * tests/test-getgroups.c (getgroups): Likewise.
48706         * tests/test-gethostname.c (gethostname): Likewise.
48707         * tests/test-getline.c (getline): Likewise.
48708         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
48709         Likewise.
48710         * tests/test-gettimeofday.c (gettimeofday): Likewise.
48711         * tests/test-glob.c (glob, globfree): Likewise.
48712         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
48713         * tests/test-inet_ntop.c (inet_ntop): Likewise.
48714         * tests/test-inet_pton.c (inet_pton): Likewise.
48715         * tests/test-isblank.c (isblank): Likewise.
48716         * tests/test-lchown.c (lchown): Likewise.
48717         * tests/test-ldexpl.c (ldexpl): Likewise.
48718         * tests/test-link.c (link): Likewise.
48719         * tests/test-linkat.c (linkat): Likewise.
48720         * tests/test-lseek.c (lseek): Likewise.
48721         * tests/test-lstat.c (lstat): Likewise.
48722         * tests/test-mbrtowc.c (mbrtowc): Likewise.
48723         * tests/test-mbsinit.c (mbsinit): Likewise.
48724         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
48725         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
48726         * tests/test-memchr.c (memchr): Likewise.
48727         * tests/test-memcmp.c (memcmp): Likewise.
48728         * tests/test-memmem.c (memmem): Likewise.
48729         * tests/test-memrchr.c (memrchr): Likewise.
48730         * tests/test-mkdir.c (mkdir): Likewise.
48731         * tests/test-mkdirat.c (mkdirat): Likewise.
48732         * tests/test-mkfifo.c (mkfifo): Likewise.
48733         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
48734         * tests/test-mknod.c (mknod): Likewise.
48735         * tests/test-nanosleep.c (nanosleep): Likewise.
48736         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
48737         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
48738         Likewise.
48739         * tests/test-open.c (open): Likewise.
48740         * tests/test-openat.c (openat): Likewise.
48741         * tests/test-perror.c (perror): Likewise.
48742         * tests/test-pipe2.c (pipe2): Likewise.
48743         * tests/test-poll.c (poll): Likewise.
48744         * tests/test-popen.c (popen, pclose): Likewise.
48745         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
48746         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
48747         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
48748         (posix_spawn_file_actions_destroy)
48749         (posix_spawn_file_actions_addclose)
48750         (posix_spawn_file_actions_addopen)
48751         (posix_spawn_file_actions_adddup2): Likewise.
48752         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
48753         * tests/test-pread.c (pread): Likewise.
48754         * tests/test-printf-posix.c (printf): Likewise.
48755         * tests/test-pty.c (openpty, forkpty): Likewise.
48756         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
48757         (random_r): Likewise.
48758         * tests/test-rawmemchr.c (rawmemchr): Likewise.
48759         * tests/test-readlink.c (readlink): Likewise.
48760         * tests/test-remove.c (remove): Likewise.
48761         * tests/test-rename.c (rename): Likewise.
48762         * tests/test-renameat.c (renameat): Likewise.
48763         * tests/test-rmdir.c (rmdir): Likewise.
48764         * tests/test-round1.c (round): Likewise.
48765         * tests/test-roundf1.c (roundf): Likewise.
48766         * tests/test-roundl.c (roundl): Likewise.
48767         * tests/test-setenv.c (setenv): Likewise.
48768         * tests/test-sigaction.c (sigaction): Likewise.
48769         * tests/test-sleep.c (sleep): Likewise.
48770         * tests/test-snprintf.c (snprintf): Likewise.
48771         * tests/test-sprintf-posix.c (sprintf): Likewise.
48772         * tests/test-stat.c (stat): Likewise.
48773         * tests/test-stpncpy.c (stpncpy): Likewise.
48774         * tests/test-strcasestr.c (strcasestr): Likewise.
48775         * tests/test-strchrnul.c (strchrnul): Likewise.
48776         * tests/test-strerror.c (strerror): Likewise.
48777         * tests/test-strsignal.c (strsignal): Likewise.
48778         * tests/test-strstr.c (strstr): Likewise.
48779         * tests/test-strtod.c (strtod): Likewise.
48780         * tests/test-strverscmp.c (strverscmp): Likewise.
48781         * tests/test-symlink.c (symlink): Likewise.
48782         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
48783         * tests/test-times.c (times): Likewise.
48784         * tests/test-trunc1.c (trunc): Likewise.
48785         * tests/test-truncf1.c (truncf): Likewise.
48786         * tests/test-truncl.c (truncl): Likewise.
48787         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
48788         Likewise.
48789         * tests/test-uname.c (uname): Likewise.
48790         * tests/test-unlink.c (unlink): Likewise.
48791         * tests/test-unlinkat.c (unlinkat): Likewise.
48792         * tests/test-unsetenv.c (unsetenv): Likewise.
48793         * tests/test-usleep.c (usleep): Likewise.
48794         * tests/test-utimensat.c (utimensat): Likewise.
48795         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
48796         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
48797         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
48798         * tests/test-vprintf-posix.c (vprintf): Likewise.
48799         * tests/test-vsnprintf.c (vsnprintf): Likewise.
48800         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
48801         * tests/test-wcrtomb.c (wcrtomb): Likewise.
48802         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
48803         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
48804         * tests/test-wcwidth.c (wcwidth): Likewise.
48805
48806         build: pull in conditional headers during GNULIB_POSIXCHECK
48807         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
48808         definitions from any conditionally-included headers.
48809         * lib/stdlib.in.h (includes): Likewise.
48810         * lib/unistd.in.h (includes): Likewise.
48811
48812 2009-12-24  Bruno Haible  <bruno@clisp.org>
48813
48814         * tests/test-argv-iter.c: Include header file being tested immediately
48815         after config.h.
48816         * tests/test-base64.c: Likewise.
48817         * tests/test-flock.c: Likewise.
48818         * tests/test-fsync.c: Likewise.
48819         * tests/test-getdate.c: Likewise.
48820         * tests/test-getndelim2.c: Likewise.
48821         * tests/test-isfinite.c: Likewise.
48822         * tests/test-isinf.c: Likewise.
48823         * tests/test-strerror.c: Likewise.
48824         * tests/test-strsignal.c: Likewise.
48825
48826 2009-12-23  Eric Blake  <ebb9@byu.net>
48827
48828         unistd: work around cygwin bug
48829         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
48830         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
48831         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
48832
48833 2009-12-23  Bruno Haible  <bruno@clisp.org>
48834
48835         localename: More tests.
48836         * tests/test-localename.c (SIZEOF): New macro.
48837         (categories): New variable.
48838         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
48839         test_locale_name_default): Add test w.r.t. thread locale.
48840         (test_locale_name_thread): New function.
48841         (main): Invoke it.
48842
48843         localename: Make aware of thread locale.
48844         * lib/localename.h (gl_locale_name_thread): New declaration.
48845         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
48846         behaviour with respect to thread locale.
48847         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
48848         <langinfo.h>, glthread/lock.h.
48849         (SIZE_BITS): New macro.
48850         (string_hash): New function.
48851         (struct hash_node): New type.
48852         (HASH_TABLE_SIZE): New macro.
48853         (struniq_hash_table, struniq_lock): New variables.
48854         (struniq): New function.
48855         (gl_locale_name_thread): New function.
48856         (gl_locale_name): Invoke it.
48857         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
48858         * modules/localename (Depends-on): Add lock.
48859         Reported by Mike Gran <spk121@yahoo.com>.
48860
48861 2009-12-23  Eric Blake  <ebb9@byu.net>
48862
48863         va-args: new module
48864         * modules/va-args: New file.
48865         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
48866         * MODULES.html.sh (Core language properties): Mention it.
48867
48868         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
48869         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
48870         named alias for __attribute__((__unused__)).
48871         * lib/chown.c: Update client.
48872         * lib/fchmodat.c: Likewise.
48873         * lib/fts.c: Likewise.
48874         * lib/getdate.y: Likewise.
48875         * lib/getgroups.c: Likewise.
48876         * lib/getopt.c: Likewise.
48877         * lib/getugroups.c: Likewise.
48878         * lib/mkdir.c: Likewise.
48879         * lib/mkfifo.c: Likewise.
48880         * lib/mkfifoat.c: Likewise.
48881         * lib/mknod.c: Likewise.
48882         * lib/mknodat.c: Likewise.
48883         * lib/readlink.c: Likewise.
48884         * lib/se-context.in.h: Likewise.
48885         * lib/se-selinux.in.h: Likewise.
48886         * lib/sockets.c: Likewise.
48887         * lib/symlink.c: Likewise.
48888         * lib/symlinkat.c: Likewise.
48889         * lib/unicodeio.c: Likewise.
48890         * lib/unistr.h: Likewise.
48891         * tests/test-areadlink.c: Likewise.
48892         * tests/test-areadlinkat.c: Likewise.
48893         * tests/test-filenamecat.c: Likewise.
48894         * tests/test-fseeko.c: Likewise.
48895         * tests/test-ftello.c: Likewise.
48896         * tests/test-getdate.c: Likewise.
48897         * tests/test-getgroups.c: Likewise.
48898         * tests/test-gethostname.c: Likewise.
48899         * tests/test-quotearg.c: Likewise.
48900         * tests/test-version-etc.c: Likewise.
48901         * tests/test-xalloc-die.c: Likewise.
48902         * tests/test-xfprintf-posix.c: Likewise.
48903         * tests/test-xprintf-posix.c: Likewise.
48904         * tests/test-xvasprintf.c: Likewise.
48905
48906         tests: avoid compiler warnings
48907         * tests/test-fcntl.c (main): Delete unused parameters.
48908         * tests/test-freopen-safer.c (main): Likewise.
48909         * tests/test-xalloc-die.c (main): Mark unused parameters.
48910         * tests/test-fseeko.c (main): Likewise.
48911         * tests/test-ftello.c (main): Likewise.
48912         * tests/test-nanosleep.c (main): Avoid declaration warning.
48913         * tests/test-sleep.c (main): Likewise.
48914         * tests/test-unsetenv.c (main): Silence warning about string
48915         literal.
48916         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
48917
48918 2009-12-23  Bruno Haible  <bruno@clisp.org>
48919
48920         * tests/test-localename.c (test_locale_name): New function, extracted
48921         from main. Also test mixed situations.
48922         (test_locale_name_posix, test_locale_name_environ,
48923         test_locale_name_default): New functions.
48924         (main): Invoke them all.
48925         * modules/localename-tests (configure.ac): Test for newlocale.
48926
48927 2009-12-23  Bruno Haible  <bruno@clisp.org>
48928
48929         unistd: Ensure getcwd gets declared before being overridden.
48930         * lib/unistd.in.h: Conditionally include <io.h>.
48931
48932 2009-12-22  Bruno Haible  <bruno@clisp.org>
48933
48934         wchar: Diagnose broken combination of glibc and gcc versions and flags.
48935         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
48936         (gl_WCHAR_H): Invoke it.
48937         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
48938         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
48939         Reported by Karl Berry <karl@freefriends.org>.
48940
48941 2009-12-22  Eric Blake  <ebb9@byu.net>
48942
48943         math, unistd: avoid redundant includes
48944         * lib/math.in.h (isnan): No need to re-include <math.h>.
48945         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
48946
48947         getsubopt: work around cygwin bug
48948         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
48949         avoid conflicting with system getsubopt.
48950         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
48951         bug.
48952
48953         getopt: synchronize from glibc
48954         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
48955         parameter order.  Adjust all callers.
48956         (_getopt_internal_r, main): Adjust quoting in error messages.
48957         Drop considerations for outdated POSIX 1003.2 error message.
48958         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
48959         callers.
48960         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
48961
48962         test-getopt: test stderr behavior
48963         * modules/getopt-posix-tests (Depends-on): Add dup2.
48964         * tests/test-getopt.c (ASSERT): Avoid stderr.
48965         (main): Move stderr to a temporary file.
48966         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
48967         Instead, add parameter to inform caller if output occurred.
48968         (test_getopt): Adjust all existing tests to expect silence, and
48969         add new tests of leading ":".
48970         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
48971         glibc shortcomings with leading "-:" or "+:" in optstring.
48972         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
48973         Likewise.
48974         * doc/posix-functions/getopt.texi (getopt): Likewise.
48975
48976         test-getopt: enhance test
48977         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
48978         supports optind=0.
48979         * tests/test-getopt.c (OPTIND_MIN): Move...
48980         * tests/test-getopt.h (OPTIND_MIN): ...here.
48981         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
48982         Require that optind=0 works, since modern BSD supports it in
48983         addition to optreset, and since coreutils expects it.
48984         (test_getopt_long_only): New test.
48985         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
48986         glibc shortcomings with 'W;', and enforcement of optind=0.
48987         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
48988         Likewise.
48989
48990 2009-12-21  Bruno Haible  <bruno@clisp.org>
48991
48992         localename: Improvements for MacOS X and Cygwin.
48993         * lib/localename.h (gl_locale_name_environ): New declaration.
48994         * lib/localename.c (gl_locale_name_environ): New function, extracted from
48995         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
48996         (gl_locale_name_posix): Invoke it.
48997         (gl_locale_name_default): Add comments. Use Windows native API also on
48998         Cygwin.
48999
49000 2009-12-21  Bruno Haible  <bruno@clisp.org>
49001
49002         Update list of Win32 locale ids.
49003         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
49004         (LANG_SAMI): Renamed from LANG_SAAMI.
49005         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
49006         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
49007         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
49008         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
49009         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
49010         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
49011         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
49012         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
49013         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
49014         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
49015         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
49016         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
49017         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
49018         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
49019         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
49020         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
49021         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
49022         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
49023         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
49024         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
49025         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
49026         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
49027         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
49028         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
49029         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
49030         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
49031         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
49032         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
49033         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
49034         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
49035         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
49036         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
49037         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
49038         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
49039         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
49040         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
49041         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
49042         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
49043         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
49044         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
49045         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
49046         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
49047         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
49048         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
49049         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
49050         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
49051         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
49052         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
49053         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
49054         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
49055         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
49056         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
49057         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
49058         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
49059         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
49060         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
49061         Add more languages and countries for Sami, Sorbian. Add more countries
49062         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
49063         for Pashto. Change country for Syriac, Tswana.
49064
49065 2009-12-21  Eric Blake  <ebb9@byu.net>
49066
49067         test-utimens: avoid spurious failure
49068         * tests/test-chown.h (nap): Factor...
49069         * tests/nap.h: ...into new file.
49070         * tests/test-lchown.h (nap): Avoid duplication.
49071         * tests/test-utimens-common.h (nap): Use shared implementation,
49072         necessary on file systems with 1-second resolution.
49073         * modules/chown-tests (Files): Include new file.
49074         * modules/fdutimensat-tests (Files): Likewise.
49075         * modules/futimens-tests (Files): Likewise.
49076         * modules/lchown-tests (Files): Likewise.
49077         * modules/openat-tests (Files): Likewise.
49078         * modules/utimens-tests (Files): Likewise.
49079         * modules/utimensat-tests (Files): Likewise.
49080
49081 2009-12-19  Eric Blake  <ebb9@byu.net>
49082
49083         futimens, utimensat: work around Linux bug
49084         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
49085         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
49086         * lib/utimensat.c (rpl_utimensat): Work around it.
49087         * lib/futimens.c (rpl_futimens): Adjust comment.
49088
49089         utimens: work around Linux ctime bug
49090         * lib/utimens.c (detect_ctime_bug): New helper function.
49091         (update_timespec): Differentiate between workaround needed for
49092         this bug vs. what is needed for systems that lack utimensat.
49093         (fdutimens, lutimens): Work around bug.
49094
49095         utimens: check for ctime update
49096         * tests/test-utimens-common.h (check_ctime): Define.
49097         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
49098         * tests/test-futimens.h (test_futimens): Likewise.
49099         * tests/test-lutimens.h (test_lutimens): Likewise.
49100         * doc/posix-functions/futimens.texi (futimens): Document the bug.
49101         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
49102
49103 2009-12-19  Bruno Haible  <bruno@clisp.org>
49104
49105         dprintf-posix: Check against memory leak fixed on 2009-12-15.
49106         * tests/test-dprintf-posix2.sh: New file.
49107         * tests/test-dprintf-posix2.c: New file.
49108         * modules/dprintf-posix-tests (Files): Add them.
49109         (configure.ac): Check for getrlimit and setrlimit.
49110         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
49111
49112 2009-12-19  Bruno Haible  <bruno@clisp.org>
49113
49114         fprintf-posix: Check against memory leak fixed on 2009-12-15.
49115         * tests/test-fprintf-posix3.sh: New file.
49116         * tests/test-fprintf-posix3.c: New file.
49117         * modules/fprintf-posix-tests (Files): Add them.
49118         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
49119
49120 2009-12-19  Eric Blake  <ebb9@byu.net>
49121
49122         dirfd: fix prototype
49123         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
49124         * lib/dirfd.c (dirfd): Likewise.
49125
49126         canonicalize: reduce memory usage
49127         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
49128         allocation to size.
49129         Reported by Solar Designer <solar@openwall.com>.
49130
49131 2009-12-19  Bruno Haible  <bruno@clisp.org>
49132
49133         New module attribute 'Applicability'.
49134         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
49135         * gnulib-tool: New option --extract-applicability.
49136         (func_usage): Document it.
49137         (sed_extract_prog): Recognize it.
49138         (func_get_applicability): New function.
49139         (func_import): Generalize handling of 'link-warning' module.
49140         * modules/link-warning (Applicability): New section.
49141         * modules/arg-nonnull (Applicability): New section.
49142         Repoted by Simon Josefsson <simon@josefsson.org>.
49143
49144 2009-12-19  Bruno Haible  <bruno@clisp.org>
49145
49146         fflush: tweak
49147         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
49148         * lib/fseeko.c (rpl_fseeko): Likewise.
49149
49150 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
49151
49152         * lib/gl_list.h: Fix typo in comment.
49153
49154 2009-12-16  Eric Blake  <ebb9@byu.net>
49155
49156         fcntl: use to simplify other modules
49157         * modules/cloexec (Depends-on): Add fcntl.
49158         * modules/fchdir (Depends-on): Likewise.
49159         * modules/fd-safer-flag (Depends-on): Likewise.
49160         * modules/unistd-safer (Depends-on): Likewise.
49161         * modules/dup3 (configure.ac): Set module indicator.
49162         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
49163         missing.
49164         * lib/fchdir.c (_gl_register_dup): Fix comment.
49165         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
49166         * lib/dup-safer.c (dup_safer): Likewise.
49167         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
49168         * lib/dup3.c (dup3): Likewise.
49169         * tests/test-fchdir.c (main): Enhance test.
49170         Fixes a dup_cloexec bug reported by Ondřej Vašík.
49171
49172         fcntl: port portions of fcntl to mingw
49173         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
49174         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
49175         replacement for mingw.
49176         * modules/fcntl (Description): Update.
49177         (Depends-on): Add dup2.
49178         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
49179         * modules/fcntl-h (Makefile.am): Substitute it.
49180         * lib/fcntl.in.h (fcntl): Update declaration.
49181         (F_DUPFD, F_GETFD): New macros, when needed.
49182         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
49183         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
49184         * tests/test-fcntl.c (check_flags, main): Enhance test for items
49185         we now guarantee.
49186
49187         fcntl: work around cygwin bug in F_DUPFD
49188         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
49189         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
49190         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
49191         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
49192         * doc/posix-functions/fcntl.texi (fcntl): Document it.
49193
49194         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
49195         * modules/fcntl (Files): List new files.
49196         (configure.ac): Run a test.
49197         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
49198         * lib/fcntl.c (rpl_fcntl): Likewise.
49199         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
49200         (gl_FCNTL_H): Always replace fcntl.h.
49201         * modules/fcntl-h (Makefile.am): Substitute witnesses.
49202         * lib/fcntl.in.h (fcntl): Declare replacement.
49203         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
49204         needed, plus a witness.
49205         * doc/posix-functions/fcntl.texi (fcntl): Document this.
49206         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
49207         * tests/test-fcntl.c: New file.
49208         * modules/fcntl-tests: Likewise.
49209
49210         binary-io: avoid potential compilation warning
49211         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
49212         directives.
49213
49214         fflush: avoid compilation error on NetBSD
49215         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
49216         between off_t and fpos_t, since the latter is sometimes a struct.
49217         * lib/fseeko.c (rpl_fseeko): Likewise.
49218         Reported by Alexander Nasonov <alnsn@yandex.ru>.
49219
49220 2009-12-15  Eric Blake  <ebb9@byu.net>
49221
49222         fcntl-h, stdio, sys_ioctl: fix declarations
49223         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
49224         function must not take arguments.
49225         * lib/sys_ioctl.in.h (ioctl): Likewise.
49226         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
49227         (open): Add a link warning.
49228
49229 2009-12-15  Jim Meyering  <meyering@redhat.com>
49230
49231         areadlink, areadlink-with-size: relax license to LGPLv2+
49232         * modules/areadlink (License): Relax to LGPLv2+.
49233         * modules/areadlink-with-size (License): Likewise.
49234
49235 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
49236             Bruno Haible  <bruno@clisp.org>
49237
49238         *printf: Fix memory leak.
49239         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
49240         * lib/vfprintf.c (vfprintf): Likewise.
49241         * lib/dprintf.c (dprintf): Likewise.
49242         * lib/vdprintf.c (vdprintf): Likewise.
49243
49244 2009-12-14  Eric Blake  <ebb9@byu.net>
49245
49246         accept4: adjust module dependencies
49247         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
49248
49249         utimens: one more try at avoiding compiler warning
49250         * lib/utimens.c (lutimens): Lower scope of result.
49251
49252 2009-12-13  Bruno Haible  <bruno@clisp.org>
49253
49254         Move the malloc checking from module 'list' to new module 'xlist'.
49255         * modules/xlist: New file.
49256         * lib/gl_xlist.h: New file.
49257         * lib/gl_xlist.c: New file.
49258         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
49259         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
49260         gl_list_add_last, gl_list_add_before, gl_list_add_after,
49261         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
49262         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
49263         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
49264         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
49265         gl_sortedlist_nx_add): New declarations.
49266         (struct gl_list_implementation): Rename and change methods accordingly.
49267         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
49268         (gl_list_nx_create): Renamed from gl_list_create.
49269         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
49270         (gl_list_nx_set_at): Renamed from gl_list_set_at.
49271         (gl_list_nx_add_first): Renamed from gl_list_add_first.
49272         (gl_list_nx_add_last): Renamed from gl_list_add_last.
49273         (gl_list_nx_add_before): Renamed from gl_list_add_before.
49274         (gl_list_nx_add_after): Renamed from gl_list_add_after.
49275         (gl_list_nx_add_at): Renamed from gl_list_add_at.
49276         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
49277         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
49278         gl_list_create_empty.
49279         (gl_list_nx_create): Renamed from gl_list_create.
49280         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
49281         (gl_list_nx_set_at): Renamed from gl_list_set_at.
49282         (gl_list_nx_add_first): Renamed from gl_list_add_first.
49283         (gl_list_nx_add_last): Renamed from gl_list_add_last.
49284         (gl_list_nx_add_before): Renamed from gl_list_add_before.
49285         (gl_list_nx_add_after): Renamed from gl_list_add_after.
49286         (gl_list_nx_add_at): Renamed from gl_list_add_at.
49287         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
49288         * lib/gl_array_list.c: Don't include xalloc.h.
49289         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
49290         NULL upon out-of-memory.
49291         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
49292         out-of-memory.
49293         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
49294         Change return type to 'int'.
49295         (gl_array_nx_set_at): Renamed from gl_array_set_at.
49296         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
49297         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
49298         upon out-of-memory.
49299         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
49300         upon out-of-memory.
49301         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
49302         upon out-of-memory.
49303         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
49304         upon out-of-memory.
49305         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
49306         out-of-memory.
49307         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
49308         Update.
49309         (gl_array_list_implementation): Update.
49310         * lib/gl_carray_list.c: Don't include xalloc.h.
49311         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
49312         Return NULL upon out-of-memory.
49313         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
49314         out-of-memory.
49315         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
49316         Change return type to 'int'.
49317         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
49318         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
49319         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
49320         upon out-of-memory.
49321         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
49322         upon out-of-memory.
49323         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
49324         out-of-memory.
49325         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
49326         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
49327         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
49328         Update.
49329         (gl_carray_list_implementation): Update.
49330         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
49331         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
49332         gl_linked_create_empty. Return NULL upon out-of-memory.
49333         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
49334         out-of-memory.
49335         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
49336         Change return type to 'int'. Return -1 upon out-of-memory.
49337         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
49338         out-of-memory.
49339         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
49340         upon out-of-memory.
49341         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
49342         upon out-of-memory.
49343         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
49344         NULL upon out-of-memory.
49345         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
49346         upon out-of-memory.
49347         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
49348         out-of-memory.
49349         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
49350         Update.
49351         * lib/gl_linked_list.c: Don't include xalloc.h.
49352         (gl_linked_list_implementation): Update.
49353         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
49354         (add_to_bucket): Change return type to 'int'.
49355         (gl_linkedhash_list_implementation): Update.
49356         * lib/gl_anytree_list1.h (free_subtree): New function.
49357         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
49358         gl_tree_create_empty. Return NULL upon out-of-memory.
49359         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
49360         Change return type to 'int'. Return -1 upon out-of-memory.
49361         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
49362         out-of-memory.
49363         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
49364         (gl_tree_remove_node): New function, moved here from
49365         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
49366         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
49367         Update.
49368         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
49369         malloc, not xmalloc. Return NULL upon out-of-memory.
49370         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
49371         out-of-memory.
49372         (gl_tree_remove_node_from_tree): New function, extracted from
49373         gl_tree_remove_node.
49374         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
49375         upon out-of-memory.
49376         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
49377         out-of-memory.
49378         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
49379         upon out-of-memory.
49380         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
49381         upon out-of-memory.
49382         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
49383         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
49384         not xmalloc. Return NULL upon out-of-memory.
49385         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
49386         out-of-memory.
49387         (gl_tree_remove_node_from_tree): New function, extracted from
49388         gl_tree_remove_node.
49389         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
49390         upon out-of-memory.
49391         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
49392         out-of-memory.
49393         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
49394         upon out-of-memory.
49395         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
49396         upon out-of-memory.
49397         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
49398         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
49399         gl_anytree_list1.h before gl_anyavltree_list2.h.
49400         (gl_avltree_list_implementation): Update.
49401         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
49402         gl_anytree_list1.h before gl_anyavltree_list2.h.
49403         (gl_rbtree_list_implementation): Update.
49404         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
49405         Change return type to 'int'. Return -1 upon out-of-memory. Use
49406         __builtin_expect.
49407         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
49408         (gl_avltreehash_list_implementation): Update.
49409         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
49410         (gl_rbtreehash_list_implementation): Update.
49411         * modules/array-list (Depends-on): Remove xalloc.
49412         * modules/carray-list (Depends-on): Likewise.
49413         * modules/linked-list (Depends-on): Likewise.
49414         * modules/linkedhash-list (Depends-on): Likewise.
49415         * modules/avltree-list (Depends-on): Likewise.
49416         * modules/rbtree-list (Depends-on): Likewise.
49417         * modules/avltreehash-list (Depends-on): Likewise.
49418         * modules/rbtreehash-list (Depends-on): Likewise.
49419
49420         * modules/xsublist: New file.
49421         * lib/gl_xsublist.h: New file.
49422         * lib/gl_xsublist.c: New file.
49423         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
49424         (gl_sublist_nx_create): New declaration.
49425         * lib/gl_sublist.c: Don't include xalloc.h.
49426         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
49427         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
49428         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
49429         Change return type to 'int'. Return -1 upon out-of-memory.
49430         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
49431         upon out-of-memory.
49432         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
49433         NULL upon out-of-memory.
49434         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
49435         upon out-of-memory.
49436         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
49437         NULL upon out-of-memory.
49438         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
49439         NULL upon out-of-memory.
49440         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
49441         upon out-of-memory.
49442         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
49443         (gl_sublist_list_implementation): Update.
49444         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
49445         upon out-of-memory.
49446         * modules/sublist (Depends-on): Remove xalloc.
49447
49448         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
49449         * tests/test-carray_list.c: Likewise.
49450         * tests/test-linked_list.c: Likewise.
49451         * tests/test-linkedhash_list.c: Likewise.
49452         * tests/test-avltree_list.c: Likewise.
49453         * tests/test-rbtree_list.c: Likewise.
49454         * tests/test-avltreehash_list.c: Likewise.
49455         * tests/test-rbtreehash_list.c: Likewise.
49456         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
49457         * modules/carray-list-tests (Makefile.am): Likewise.
49458         * modules/linked-list-tests (Makefile.am): Likewise.
49459         * modules/linkedhash-list-tests (Makefile.am): Likewise.
49460         * modules/avltree-list-tests (Makefile.am): Likewise.
49461         * modules/rbtree-list-tests (Makefile.am): Likewise.
49462         * modules/avltreehash-list-tests (Makefile.am): Likewise.
49463         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
49464
49465         * NEWS: Mention the changes.
49466
49467         * lib/clean-temp.c: Include gl_xlist.h.
49468         * modules/clean-temp (Depends-on): Add xlist.
49469
49470         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
49471         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
49472
49473         * tests/test-array_oset.c: Include gl_xlist.h.
49474         * modules/array-oset-tests (Depends-on): Add xlist.
49475
49476         Reported by José E. Marchesi <jemarch@gnu.org>.
49477
49478 2009-12-13  Bruno Haible  <bruno@clisp.org>
49479
49480         Move the malloc checking from module 'oset' to new module 'xoset'.
49481         * modules/xoset: New file.
49482         * lib/gl_xoset.h: New file.
49483         * lib/gl_xoset.c: New file.
49484         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
49485         declarations.
49486         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
49487         (struct gl_oset_implementation): Rename and change methods accordingly.
49488         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
49489         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
49490         'int'. Mark as __warn_unused_result__.
49491         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
49492         gl_oset_create_empty.
49493         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
49494         'int'.
49495         * lib/gl_array_oset.c: Don't include xalloc.h.
49496         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
49497         malloc, not xmalloc.
49498         (grow): Change return type to 'int'. Don't call xalloc_die.
49499         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
49500         to 'int'.
49501         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
49502         'int'.
49503         (gl_array_oset_implementation): Update.
49504         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
49505         gl_tree_create_empty.
49506         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
49507         'int'.
49508         * lib/gl_avltree_oset.c: Don't include xalloc.h.
49509         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
49510         xmalloc.
49511         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
49512         not xmalloc.
49513         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
49514         xmalloc.
49515         (gl_avltree_oset_implementation): Update.
49516         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
49517         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
49518         xmalloc.
49519         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
49520         not xmalloc.
49521         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
49522         xmalloc.
49523         (gl_rbtree_oset_implementation): Update.
49524         * modules/array-oset (Depends-on): Remove xalloc.
49525         * modules/avltree-oset (Depends-on): Likewise.
49526         * modules/rbtree-oset (Depends-on): Likewise.
49527         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
49528         * tests/test-avltree_oset.c: Likewise.
49529         * tests/test-rbtree_oset.c: Likewise.
49530         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
49531         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
49532         * modules/rbtree-oset-tests (Makefile.am): Likewise.
49533         * NEWS: Mention the change.
49534
49535 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
49536
49537         maint.mk: allow a project to override release-prep commands
49538         * top/maint.mk (alpha, beta, stable): Move release-preparatory
49539         commands into a new rule.
49540         (release-prep): New rule.
49541         (release-prep-hook): New overridable variable.
49542
49543 2009-12-13  Bruno Haible  <bruno@clisp.org>
49544
49545         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
49546
49547 2009-12-13  Jim Meyering  <meyering@redhat.com>
49548
49549         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
49550         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
49551
49552 2009-12-12  Bruno Haible  <bruno@clisp.org>
49553
49554         duplocale: Tweak.
49555         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
49556
49557 2009-12-12  Karl Berry  <karl@gnu.org>
49558
49559         * config/srclist.txt (strtoll.c): tab changes, no more sync.
49560
49561 2009-12-12  Bruno Haible  <bruno@clisp.org>
49562
49563         * m4/po.m4: Undo incorrect untabification.
49564
49565 2009-12-12  Bruno Haible  <bruno@clisp.org>
49566
49567         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
49568         * modules/c-strtod (Depends-on): Add locale.
49569         * modules/c-strtold (Depends-on): Likewise.
49570
49571 2009-12-12  Bruno Haible  <bruno@clisp.org>
49572
49573         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
49574
49575 2009-12-11  Eric Blake  <ebb9@byu.net>
49576
49577         setenv: relax requirement in light of POSIX ruling
49578         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
49579         not NULL.
49580         * tests/test-setenv.c (main): Relax test.
49581         * tests/test-unsetenv.c (main): Likewise.
49582         * doc/posix-functions/setenv.texi (setenv): Document this.
49583         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
49584
49585 2009-12-11  Bruno Haible  <bruno@clisp.org>
49586
49587         New module 'fd-safer-flag'.
49588         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
49589         * lib/dup-safer.c (dup_safer_flag): Remove function.
49590         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
49591         * lib/fd-safer.c (fd_safer_flag): Remove function.
49592         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
49593         * modules/cloexec (configure.ac): Drop indicator macro.
49594         * modules/fd-safer-flag: New file.
49595         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
49596         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
49597         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
49598
49599 2009-12-11  Bruno Haible  <bruno@clisp.org>
49600
49601         Tests for module 'nl_langinfo'.
49602         * modules/nl_langinfo-tests: New file.
49603         * tests/test-nl_langinfo.sh: New file.
49604         * tests/test-nl_langinfo.c: New file.
49605
49606         New module 'nl_langinfo'.
49607         * lib/nl_langinfo.c: New file.
49608         * m4/nl_langinfo.m4: New file.
49609         * modules/nl_langinfo: New file.
49610         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
49611
49612 2009-12-11  Bruno Haible  <bruno@clisp.org>
49613
49614         Tests for module 'langinfo'.
49615         * modules/langinfo-tests: New file.
49616         * tests/test-langinfo.c: New file.
49617
49618         New module 'langinfo'.
49619         * lib/langinfo.in.h: New file.
49620         * m4/langinfo_h.m4: New file.
49621         * modules/langinfo: New file.
49622         * doc/posix-headers/langinfo.texi: Mention the new module.
49623
49624 2009-12-11  Bruno Haible  <bruno@clisp.org>
49625
49626         * lib/config.charset: Untabify.
49627
49628 2009-12-11  Bruno Haible  <bruno@clisp.org>
49629
49630         * modules/unistd-safer (configure.ac): Drop indicator macro.
49631
49632 2009-12-11  Bruno Haible  <bruno@clisp.org>
49633
49634         Move pipe2-safer code to its own file.
49635         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
49636         * lib/pipe-safer.c (pipe2_safer): Remove function.
49637         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
49638         (Makefile.am): Add it to lib_SOURCES.
49639
49640 2009-12-10  Bruno Haible  <bruno@clisp.org>
49641
49642         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
49643
49644 2009-12-10  Bruno Haible  <bruno@clisp.org>
49645
49646         Declare which arguments expect non-NULL values, for GCC and clang.
49647         * build-aux/arg-nonnull.h: New file.
49648         * modules/arg-nonnull: New file.
49649         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
49650         (inet_ntop, inet_pton): Use it.
49651         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
49652         (closedir, dirfd, opendir, scandir, alphasort): Use it.
49653         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
49654         (open, openat): Use it.
49655         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
49656         (fnmatch): Use it.
49657         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
49658         (getopt, getopt_long, getopt_long_only): Use it.
49659         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
49660         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
49661         Use it.
49662         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
49663         (iconv_open): Use it.
49664         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
49665         (strtoimax, strtoumax): Use it.
49666         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
49667         (duplocale): Use it.
49668         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
49669         (frexp, frexpl): Use it.
49670         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
49671         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
49672         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
49673         (tsearch, tfind, tdelete, twalk): Use it.
49674         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
49675         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
49676         sigpending): Use it.
49677         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
49678         (posix_spawn, posix_spawnp, posix_spawnattr_init,
49679         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
49680         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
49681         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
49682         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
49683         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
49684         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
49685         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
49686         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
49687         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
49688         Use it.
49689         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
49690         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
49691         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
49692         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
49693         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
49694         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
49695         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
49696         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
49697         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
49698         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
49699         strtoull, unsetenv): Use it.
49700         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
49701         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
49702         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
49703         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
49704         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
49705         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
49706         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
49707         (strcasecmp, strncasecmp): Use it.
49708         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
49709         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
49710         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
49711         rpl_setsockopt): Use it.
49712         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
49713         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
49714         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
49715         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
49716         (gettimeofday): Use it.
49717         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
49718         (times): Use it.
49719         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
49720         (uname): Use it.
49721         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
49722         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
49723         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
49724         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
49725         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
49726         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
49727         unlinkat, write): Use it.
49728         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
49729         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
49730         * lib/argv-iter.h: Include arg-nonnull.h.
49731         (_ATTRIBUTE_NONNULL_): Remove macro.
49732         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
49733         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
49734         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
49735         optimization.
49736         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
49737         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
49738         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
49739         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
49740         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
49741         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
49742         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
49743         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
49744         * modules/arpa_inet (Depends-on): Add arg-nonnull.
49745         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
49746         * modules/dirent (Depends-on): Add arg-nonnull.
49747         (Makefile.am): Insert arg-nonnull.h into dirent.h.
49748         * modules/fcntl-h (Depends-on): Add arg-nonnull.
49749         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
49750         * modules/fnmatch (Depends-on): Add arg-nonnull.
49751         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
49752         * modules/getopt-posix (Depends-on): Add arg-nonnull.
49753         (Makefile.am): Insert arg-nonnull.h into getopt.h.
49754         * modules/glob (Depends-on): Add arg-nonnull.
49755         (Makefile.am): Insert arg-nonnull.h into glob.h.
49756         * modules/iconv_open (Depends-on): Add arg-nonnull.
49757         (Makefile.am): Insert arg-nonnull.h into iconv.h.
49758         * modules/inttypes (Depends-on): Add arg-nonnull.
49759         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
49760         * modules/locale (Depends-on): Add arg-nonnull.
49761         (Makefile.am): Insert arg-nonnull.h into locale.h.
49762         * modules/math (Depends-on): Add arg-nonnull.
49763         (Makefile.am): Insert arg-nonnull.h into math.h.
49764         * modules/netdb (Depends-on): Add arg-nonnull.
49765         (Makefile.am): Insert arg-nonnull.h into netdb.h.
49766         * modules/search (Depends-on): Add arg-nonnull.
49767         (Makefile.am): Insert arg-nonnull.h into search.h.
49768         * modules/signal (Depends-on): Add arg-nonnull.
49769         (Makefile.am): Insert arg-nonnull.h into signal.h.
49770         * modules/spawn (Depends-on): Add arg-nonnull.
49771         (Makefile.am): Insert arg-nonnull.h into spawn.h.
49772         * modules/stdio (Depends-on): Add arg-nonnull.
49773         (Makefile.am): Insert arg-nonnull.h into stdio.h.
49774         * modules/stdlib (Depends-on): Add arg-nonnull.
49775         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
49776         * modules/string (Depends-on): Add arg-nonnull.
49777         (Makefile.am): Insert arg-nonnull.h into string.h.
49778         * modules/strings (Depends-on): Add arg-nonnull.
49779         (Makefile.am): Insert arg-nonnull.h into strings.h.
49780         * modules/sys_socket (Depends-on): Add arg-nonnull.
49781         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
49782         * modules/sys_stat (Depends-on): Add arg-nonnull.
49783         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
49784         * modules/sys_time (Depends-on): Add arg-nonnull.
49785         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
49786         * modules/sys_times (Depends-on): Add arg-nonnull.
49787         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
49788         * modules/sys_utsname (Depends-on): Add arg-nonnull.
49789         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
49790         * modules/time (Depends-on): Add arg-nonnull.
49791         (Makefile.am): Insert arg-nonnull.h into time.h.
49792         * modules/unistd (Depends-on): Add arg-nonnull.
49793         (Makefile.am): Insert arg-nonnull.h into unistd.h.
49794         * modules/wchar (Depends-on): Add arg-nonnull.
49795         (Makefile.am): Insert arg-nonnull.h into wchar.h.
49796         * modules/argv-iter (Depends-on): Add arg-nonnull.
49797         * tests/test-canonicalize.c (null_ptr): New function.
49798         (main): Use it.
49799         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
49800         (main): Use it.
49801         * tests/test-memmem.c (null_ptr): New function.
49802         (main): Use it.
49803         Reported by Jim Meyering.
49804
49805 2009-12-10  Bruno Haible  <bruno@clisp.org>
49806
49807         Use spaces for indentation, not tabs.
49808         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
49809         * m4/*.m4: Untabify.
49810         * build-aux/*.h: Untabify.
49811         * tests/**/*.[hc]: Untabify.
49812         * README: New section "Indent with spaces, not TABs", based on
49813         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
49814         * NEWS: Mention the change.
49815
49816 2009-12-10  Bruno Haible  <bruno@clisp.org>
49817
49818         pty test: Fix link error.
49819         * modules/pty-tests (Makefile.am): Add the default LDADD value to
49820         test_pty_LDADD.
49821
49822 2009-12-07  Simon Josefsson  <simon@josefsson.org>
49823
49824         * modules/pty: New file.
49825         * modules/pty-tests: New file.
49826         * m4/pty.m4: New file.
49827         * tests/test-pty.c: New file.
49828         * doc/glibc-headers/pty.texi: Modified.
49829         * doc/glibc-functions/forkpty.texi: Modified.
49830         * doc/glibc-functions/openpty.texi: Modified.
49831
49832 2009-12-10  Bruno Haible  <bruno@clisp.org>
49833
49834         Avoid syntax error in C++ mode.
49835         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
49836
49837 2009-12-10  Bruno Haible  <bruno@clisp.org>
49838
49839         Use sed with option -e.
49840         * gnulib-tool (func_version, func_emit_copyright_notice,
49841         func_emit_initmacro_end, func_import, func_create_testdir): Pass
49842         option -e to sed.
49843         * modules/link-warning (Makefile.am): Likewise.
49844
49845 2009-12-10  Jim Meyering  <meyering@redhat.com>
49846
49847         mgetgroups: do not write bytes beyond end of malloc'd buffer
49848         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
49849         username, we call getgroups with a one-element-shorter buffer,
49850         but still told it the length was original, max_n_groups.
49851
49852 2009-12-09  Eric Blake  <ebb9@byu.net>
49853
49854         cloexec: relax license
49855         * modules/cloexec (Maintainer): Add myself.
49856         (License): Use LGPL, not GPL.
49857
49858         link-warning: optimize generation
49859         * modules/link-warning (Makefile.am): Reduce process usage.
49860
49861 2009-12-09  Bruno Haible  <bruno@clisp.org>
49862
49863         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
49864         workaround was added on 2009-11-17.
49865
49866 2009-12-09  Jim Meyering  <meyering@redhat.com>
49867             Bruno Haible  <bruno@clisp.org>
49868
49869         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
49870         * modules/link-warning (Makefile.am): Make the comment-removing sed
49871         command more robust in the face of bootstrap-prepended comment lines.
49872
49873 2009-12-09  Bruno Haible  <bruno@clisp.org>
49874
49875         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
49876         most one group.
49877
49878 2009-12-09  Simon Josefsson <simon@josefsson.org>
49879             Bruno Haible  <bruno@clisp.org>
49880
49881         * build-aux/link-warning.h: Add copyright notice.
49882         * modules/link-warning (Makefile.am): Generate link-warning.h from
49883         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
49884         * NEWS: Mention change in link-warning module.
49885         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
49886         * modules/dirent (Makefile.am): Add dependency to dirent.h.
49887         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
49888         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
49889         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
49890         * modules/math (Makefile.am): Add dependency to math.h.
49891         * modules/search (Makefile.am): Add dependency to search.h.
49892         * modules/signal (Makefile.am): Add dependency to signal.h.
49893         * modules/spawn (Makefile.am): Add dependency to spawn.h.
49894         * modules/stdio (Makefile.am): Add dependency to stdio.h.
49895         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
49896         * modules/string (Makefile.am): Add dependency to string.h.
49897         * modules/strings (Makefile.am): Add dependency to strings.h.
49898         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
49899         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
49900         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
49901         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
49902         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
49903         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
49904         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
49905         * modules/unistd (Makefile.am): Add dependency to unistd.h.
49906         * modules/wchar (Makefile.am): Add dependency to wchar.h.
49907
49908 2009-12-09  Bruno Haible  <bruno@clisp.org>
49909
49910         fchdir: Optimize away rpl_fstat when possible.
49911         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
49912         REPLACE_OPEN_DIRECTORY.
49913         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
49914
49915 2009-12-09  Bruno Haible  <bruno@clisp.org>
49916
49917         * lib/fchdir.c: Update comment.
49918
49919 2009-12-09  Bruno Haible  <bruno@clisp.org>
49920
49921         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
49922
49923 2009-12-08  Eric Blake  <ebb9@byu.net>
49924
49925         fchdir: avoid memory leak on re-registration.
49926         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
49927
49928 2009-12-08  Jim Meyering  <meyering@redhat.com>
49929
49930         init.sh: avoid Solaris 10 /bin/sh portability problem
49931         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
49932         sourced script:
49933           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
49934           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
49935           bar
49936         tests/init.sh relied on that, accepting a --set-path=DIR argument,
49937         and two tests used that idiom.
49938         * tests/init.sh: Update suggested usage comments.
49939         (path_prepend_): New function, to be used in place
49940         of the --src-path=DIR option.
49941         (setup_): Move PATH-prepending code into path_prepend_.
49942         * tests/test-pread.sh: Adapt to new usage.
49943         * tests/test-xalloc-die.sh: Likewise.
49944
49945 2009-12-08  Simon Josefsson  <simon@josefsson.org>
49946
49947         * doc/gnulib.texi (Glibc pty.h): Add.
49948         * doc/glibc-functions/forkpty.texi: Add.
49949         * doc/glibc-functions/openpty.texi: Add.
49950         Suggested by Bruno Haible.
49951
49952 2009-12-08  Eric Blake  <ebb9@byu.net>
49953
49954         fchdir: fix logic bugs
49955         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
49956         * tests/test-fchdir.c (main): Enhance test.
49957         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
49958         is in use.
49959
49960         dup2: fix logic bugs
49961         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
49962         REPLACE_DUP2 to decide when rpl_dup2 is needed.
49963         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
49964         exists.
49965         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
49966
49967 2009-12-07  Eric Blake  <ebb9@byu.net>
49968
49969         unlink: fix m4 detection
49970         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
49971
49972         unistd-safer: add unit test
49973         * modules/unistd-safer-tests: New file.
49974         * tests/test-dup-safer.c: Likewise.
49975         * tests/test-cloexec.c (setmode): Avoid compiler warning.
49976         * tests/test-dup2.c (setmode): Likewise.
49977         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
49978
49979         cloexec: preserve text vs. binary across dup_cloexec
49980         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
49981         mode.
49982         * modules/dup2-tests (Depends-on): Add binary-io.
49983         * modules/cloexec-tests (Depends-on): Likewise.
49984         * tests/test-dup2.c (setmode, is_mode): New helpers.
49985         (main): Add tests that translation mode is preserved.
49986         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
49987         Reported by Bruno Haible.
49988
49989         mgetgroups: reduce duplicate listings
49990         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
49991         resulting array.
49992         * tests/test-chown.h (test_chown): Simplify client.
49993         * tests/test-lchown.h (test_lchown): Likewise.
49994
49995 2009-12-06  Bruno Haible  <bruno@clisp.org>
49996
49997         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
49998         value.
49999
50000 2009-12-06  Bruno Haible  <bruno@clisp.org>
50001
50002         * lib/progname.c: Include stdio.h, stdlib.h.
50003         (set_program_name): Reject a NULL argument.
50004
50005 2009-12-05  Eric Blake  <ebb9@byu.net>
50006
50007         pipe2-safer: new module
50008         * modules/pipe2-safer: New file.
50009         * lib/unistd-safer.h (pipe2_safer): New prototype.
50010         * lib/unistd--.h (pipe2): New wrapper.
50011         * lib/pipe-safer.c (pipe2_safer): New function.
50012         * modules/pipe (Depends-on): Add pipe2-safer.
50013         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
50014
50015         stdlib-safer: preserve cloexec flag for mkostemp[s]
50016         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
50017         fd_safer_flag.
50018
50019         unistd-safer: allow preservation of cloexec status via flag
50020         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
50021         prototypes.
50022         * lib/dup-safer.c (dup_safer_flag): New function.
50023         * lib/fd-safer.c (fd_safer_flag): Likewise.
50024         * modules/cloexec (configure.ac): Set witness.
50025
50026         test-dup2: enhance test
50027         * modules/dup2-tests (Depends-on): Add cloexec.
50028         * tests/test-dup2.c (main): Enhance test.
50029
50030         cloexec: add dup_cloexec
50031         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
50032         header and comments.
50033         * lib/cloexec.c (set_cloexec_flag): Add comments.
50034         (dup_cloexec): New function, with mingw implementation borrowed
50035         from...
50036         * lib/w32spawn.h (dup_noinherit): ...here.
50037         * modules/execute (Depends-on): Add cloexec.
50038         * modules/pipe (Depends-on): Likewise.
50039         * modules/cloexec (Depends-on): Add dup2.
50040         * modules/cloexec-tests (Files): New file.
50041         * tests/test-cloexec.c: Likewise.
50042
50043         test-xalloc-die: fix test for mingw
50044         * modules/xalloc-die-tests (Files): Add tests/init.sh.
50045         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
50046         directory and .exe suffix off argv[0] output.
50047
50048         test-fseeko: fix test for mingw
50049         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
50050         than undefining fseek, so test will pass on mingw.
50051
50052 2009-12-05  Bruno Haible  <bruno@clisp.org>
50053
50054         * lib/progname.h (set_program_name): Clarify specification.
50055         * lib/progname.c (set_program_name): Likewise.
50056         Reported by Jim Meyering.
50057
50058 2009-12-05  Jim Meyering  <meyering@redhat.com>
50059
50060         maint.mk: backslash-escape parens in default regexp
50061         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
50062         backslash-escape the literal parentheses.
50063
50064         maint.mk: news-date-check: use grep -E
50065         * top/maint.mk (today): Define a Make variable, not a...
50066         (news-date-check): ...shell variable.
50067         (news-date-regexp): Use the Make variable.
50068         Use grep's -E option.  Change the failing diagnostic to mention
50069         the variable, $(news-date-regexp).
50070
50071 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
50072
50073         maintainer-makefile: allow customization of NEWS entry format
50074         * top/maint.mk (news-date-regexp): New overridable variable.
50075         (news-date-check): Use it.
50076
50077 2009-12-04  Eric Blake  <ebb9@byu.net>
50078
50079         mgetgroups: add xgetgroups, and avoid ENOSYS failures
50080         * lib/mgetgroups.h (xgetgroups): New prototype.
50081         * lib/mgetgroups.c (xgetgroups): New wrapper.
50082         (mgetgroups): Handle ENOSYS.
50083         * modules/mgetgroups (Depends-on): Add realloc.
50084         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
50085
50086         mgetgroups: avoid argument promotion issues with -1
50087         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
50088         for invalid gid_t.
50089         * tests/test-chown.h (getegid, test_chown): Likewise.
50090         * tests/test-lchown.h (getegid, test_lchown): Likewise.
50091
50092 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
50093
50094         exclude: Fix header file problems.
50095         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
50096
50097 2009-12-01  Jim Meyering  <meyering@redhat.com>
50098
50099         fts: fts_open: do not let an empty string cause immediate failure
50100         This is required in support of GNU rm, for which the command
50101         "rm A '' B" must process and remove both A and B, in spite of
50102         the empty string argument.
50103         * lib/fts.c (fts_open): Do not let the presence of an empty string
50104         cause fts_open to fail immediately.  Most fts-using tools must be
50105         able to process all arguments, in order, and can be expected to
50106         diagnose such arguments themselves.
50107
50108 2009-11-30  Eric Blake  <ebb9@byu.net>
50109
50110         utimens: fix compilation error
50111         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
50112         Declare variable at right scope.
50113
50114 2009-11-29  Jim Meyering  <meyering@redhat.com>
50115
50116         bootstrap: handle perl-5.11's changed --version output
50117         * build-aux/bootstrap (get_version): Handle perl separately,
50118         since perl-5.11's --version output is different.
50119
50120 2009-11-28  Jim Meyering  <meyering@redhat.com>
50121
50122         userspec: depend on the inttostr module, too
50123         * modules/userspec (Depends-on): Add inttostr.
50124
50125         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
50126         * lib/userspec.c (parse_with_separator): Do not accept a user ID
50127         number of MAXUID when it evaluates to (uid_t) -1.
50128         Likewise for group ID.  Reported by Matt McCutchen in
50129         <http://savannah.gnu.org/bugs/?28113>
50130
50131         userspec: reformat to use spaces, not TABs
50132         * lib/userspec.c: Expand TABs to spaces.
50133         Add Emacs' "indent-tabs-mode: nil" hint.
50134
50135 2009-11-27  Eric Blake  <ebb9@byu.net>
50136
50137         getopt-gnu: flush out another BSD bug
50138         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
50139         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
50140         flush out BSD bug.
50141         * tests/test-getopt.h (test_getopt): End lists with NULL.
50142         * tests/test-getopt_long.h (test_getopt_long): Likewise.
50143         (test_getopt_long_posix): Enhance test.
50144         * modules/getopt-posix-tests (Depends-on): Add stdbool.
50145         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
50146         getopt-gnu.
50147         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
50148         Likewise.
50149
50150 2009-11-27  Simon Josefsson  <simon@josefsson.org>
50151
50152         * modules/idpriv-droptemp-tests (Notice): Fix text.
50153
50154 2009-11-27  Jim Meyering  <meyering@redhat.com>
50155
50156         test-xalloc-die: avoid spurious failure due to libtool argv difference
50157         In a libtool-enabled project, this test would fail due to a difference
50158         in the emitted program name, e.g.,
50159         -test-xalloc-die: memory exhausted
50160         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
50161         Use program to avoid that.
50162         * modules/xalloc-die-tests (Depends-on): Add progname.
50163         * tests/test-xalloc-die.c: Include progname.h".
50164         (program_name): Remove decl.
50165         (main): Call set_program_name.
50166         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
50167
50168 2009-11-26  Richard Jones  <rjones@redhat.com>
50169
50170         w32sock: leave win32 error in place.
50171         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
50172
50173 2009-11-26  Eric Blake  <ebb9@byu.net>
50174
50175         init.sh: suggest to use skip_ and fail_ functions in comments
50176         * tests/init.sh: Add a sentence.
50177
50178 2009-11-25  Bruno Haible  <bruno@clisp.org>
50179
50180         init.sh: add documentation in comments
50181         * tests/init.sh: Add some developer and user documentation.
50182
50183 2009-11-26  Jim Meyering  <meyering@redhat.com>
50184
50185         init.sh: accommodate even those who specify bogus srcdir manually
50186         * tests/init.sh: Normally, srcdir is guaranteed by automake and
50187         configure-time tests to be sanitized, so that there is no need to
50188         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
50189         (with no double quotes) suffices.  However, since tests may be
50190         invoked manually, and since you may explicitly set srcdir to the
50191         name of a directory containing spaces, do quote its uses here.
50192         * tests/test-pread.sh: Likewise.
50193         Suggested by Bruno Haible.
50194
50195         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
50196         * tests/test-pread.sh: Write no data into the pipe, because
50197         test-pread actually reads none.  This avoids a diagnostic,
50198         "bash: echo: write error: Broken pipe", that arises in the unusual
50199         event something is ignoring SIGPIPE, and might be interpreted
50200         as some sort of failure.  Reported by Bruno Haible.
50201
50202 2009-11-25  Jim Meyering  <meyering@redhat.com>
50203
50204         test-pread: cover failure with ESPIPE and EINVAL
50205         * tests/test-pread.c (main): Test for failure, too.
50206         * tests/test-pread.sh: Invoke with stdin on a pipe.
50207         Suggested by Eric Blake.
50208
50209         pread: improvement and fix
50210         * modules/pread (Depends-on): Depend on lseek, for portability to
50211         e.g., mingw.  Suggested by Eric Blake.
50212         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
50213
50214         unistd.in.h: correct declaration of pread
50215         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
50216         Reported by Richard W.M. Jones.
50217
50218         test-pread.sh: distribute the test script
50219         * modules/pread-tests (Files): Include test-pread.sh.
50220
50221         test-pread.sh: clean up
50222         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
50223         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
50224         That is unnecessary, since it's always ".".
50225         Suggestion from Eric Blake.
50226
50227         test-pread.sh: make executable
50228         * tests/test-pread.sh: Set executable bit.
50229         Reported by Eric Blake.
50230
50231         correct typo in test-pread.sh
50232         * tests/test-pread.sh: Add #! line.
50233
50234         test pread
50235         * tests/test-pread.c: New file.
50236         * tests/test-pread.sh: Likewise.
50237         * modules/pread-tests: Likewise.
50238
50239         pread: new module
50240         * modules/pread: New file.
50241         * lib/unistd.in.h (pread): Define/declare.
50242         * lib/pread.c (pread): New file.
50243         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
50244         * modules/unistd (Makefile.am): Substitute witnesses.
50245         * doc/posix-functions/pread.texi (pread): Update.
50246         * MODULES.html.sh: Add pread.
50247
50248 2009-11-25  Jim Meyering  <meyering@redhat.com>
50249
50250         tests/init.sh: new file to be used via most *.sh tests
50251         * tests/init.sh: New file.
50252
50253 2009-11-25  Eric Blake  <ebb9@byu.net>
50254
50255         utimens: work around older Linux failure with symlinks
50256         * lib/utimens.c (lutimensat_works_really): New variable.
50257         (fdutimens, lutimens): Use it to manage kernels that support
50258         nanosecond times on files, but not on symlinks.
50259         Reported by Ondřej Vašík.
50260
50261         utimes: fix configure grammar
50262         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
50263
50264 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
50265
50266         regex: Fix fastmap for multibyte character ranges.
50267         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
50268         characters when a multibyte character range is included.
50269
50270 2009-11-22  Andy Wingo  <wingo@pobox.com>
50271
50272         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
50273         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
50274
50275 2009-11-24  Bruno Haible  <bruno@clisp.org>
50276
50277         doc: Most *_l functions exist in MacOS X 10.5.
50278         * doc/posix-functions/duplocale.texi: Update platforms list.
50279         * doc/posix-functions/freelocale.texi: Likewise.
50280         * doc/posix-functions/newlocale.texi: Likewise.
50281         * doc/posix-functions/uselocale.texi: Likewise.
50282         * doc/posix-functions/isalnum_l.texi: Likewise.
50283         * doc/posix-functions/isalpha_l.texi: Likewise.
50284         * doc/posix-functions/isblank_l.texi: Likewise.
50285         * doc/posix-functions/iscntrl_l.texi: Likewise.
50286         * doc/posix-functions/isdigit_l.texi: Likewise.
50287         * doc/posix-functions/isgraph_l.texi: Likewise.
50288         * doc/posix-functions/islower_l.texi: Likewise.
50289         * doc/posix-functions/isprint_l.texi: Likewise.
50290         * doc/posix-functions/ispunct_l.texi: Likewise.
50291         * doc/posix-functions/isspace_l.texi: Likewise.
50292         * doc/posix-functions/isupper_l.texi: Likewise.
50293         * doc/posix-functions/iswalnum_l.texi: Likewise.
50294         * doc/posix-functions/iswalpha_l.texi: Likewise.
50295         * doc/posix-functions/iswblank_l.texi: Likewise.
50296         * doc/posix-functions/iswcntrl_l.texi: Likewise.
50297         * doc/posix-functions/iswctype_l.texi: Likewise.
50298         * doc/posix-functions/iswdigit_l.texi: Likewise.
50299         * doc/posix-functions/iswgraph_l.texi: Likewise.
50300         * doc/posix-functions/iswlower_l.texi: Likewise.
50301         * doc/posix-functions/iswprint_l.texi: Likewise.
50302         * doc/posix-functions/iswpunct_l.texi: Likewise.
50303         * doc/posix-functions/iswspace_l.texi: Likewise.
50304         * doc/posix-functions/iswupper_l.texi: Likewise.
50305         * doc/posix-functions/iswxdigit_l.texi: Likewise.
50306         * doc/posix-functions/isxdigit_l.texi: Likewise.
50307         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
50308         * doc/posix-functions/strcasecmp_l.texi: Likewise.
50309         * doc/posix-functions/strcoll_l.texi: Likewise.
50310         * doc/posix-functions/strfmon_l.texi: Likewise.
50311         * doc/posix-functions/strftime_l.texi: Likewise.
50312         * doc/posix-functions/strncasecmp_l.texi: Likewise.
50313         * doc/posix-functions/strxfrm_l.texi: Likewise.
50314         * doc/posix-functions/tolower_l.texi: Likewise.
50315         * doc/posix-functions/toupper_l.texi: Likewise.
50316         * doc/posix-functions/towctrans_l.texi: Likewise.
50317         * doc/posix-functions/towlower_l.texi: Likewise.
50318         * doc/posix-functions/towupper_l.texi: Likewise.
50319         * doc/posix-functions/wcscoll_l.texi: Likewise.
50320         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
50321         * doc/posix-functions/wctrans_l.texi: Likewise.
50322         * doc/posix-functions/wctype_l.texi: Likewise.
50323         * doc/glibc-functions/strptime_l.texi: Likewise.
50324         * doc/glibc-functions/strtod_l.texi: Likewise.
50325         * doc/glibc-functions/strtof_l.texi: Likewise.
50326         * doc/glibc-functions/strtol_l.texi: Likewise.
50327         * doc/glibc-functions/strtold_l.texi: Likewise.
50328         * doc/glibc-functions/strtoll_l.texi: Likewise.
50329         * doc/glibc-functions/strtoul_l.texi: Likewise.
50330         * doc/glibc-functions/strtoull_l.texi: Likewise.
50331         * doc/glibc-functions/wcsftime_l.texi: Likewise.
50332         * doc/glibc-functions/wcstod_l.texi: Likewise.
50333         * doc/glibc-functions/wcstof_l.texi: Likewise.
50334         * doc/glibc-functions/wcstol_l.texi: Likewise.
50335         * doc/glibc-functions/wcstold_l.texi: Likewise.
50336         * doc/glibc-functions/wcstoll_l.texi: Likewise.
50337         * doc/glibc-functions/wcstoul_l.texi: Likewise.
50338         * doc/glibc-functions/wcstoull_l.texi: Likewise.
50339
50340 2009-11-24  Bruno Haible  <bruno@clisp.org>
50341
50342         duplocale: Fix logic bug.
50343         * lib/duplocale.c: Don't include <langinfo.h>.
50344         (_NL_LOCALE_NAME): Remove macro.
50345         (rpl_duplocale): Use setlocale instead of nl_langinfo.
50346         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
50347
50348 2009-11-23  Jim Meyering  <meyering@redhat.com>
50349
50350         test-update-copyright: don't hard-code /usr/bin/perl
50351         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
50352         perl to print the current year.  Gilles Espinasse reported that
50353         the replaced use of perl was hard-coded as /usr/bin/perl.
50354
50355 2009-11-23  Bruno Haible  <bruno@clisp.org>
50356
50357         duplocale: Add support for glibc 2.3.x.
50358         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
50359
50360 2009-11-22  Bruno Haible  <bruno@clisp.org>
50361
50362         vasnprintf: Tiny optimization.
50363         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
50364         MacOS X.
50365
50366 2009-11-22  Bruno Haible  <bruno@clisp.org>
50367
50368         Tests for module 'duplocale'.
50369         * modules/duplocale-tests: New file.
50370         * tests/test-duplocale.c: New file.
50371
50372         New module 'duplocale'.
50373         * m4/duplocale.m4: New file.
50374         * lib/locale.in.h (duplocale): New declaration.
50375         * lib/duplocale.c: New file.
50376         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
50377         gl_LOCALE_H_DEFAULTS): New macros.
50378         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
50379         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
50380         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
50381         REPLACE_DUPLOCALE.
50382         * modules/duplocale: New file.
50383         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
50384
50385 2009-11-22  Bruno Haible  <bruno@clisp.org>
50386
50387         * modules/locale-tests (configure.ac): Test for newlocale function.
50388         * tests/test-locale.c: When the system has extended locale functions,
50389         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
50390
50391         locale: Make locale_t available when possible.
50392         * lib/locale.in.h: Include <xlocale.h> when it exists.
50393         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
50394         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
50395         * modules/locale (Depends-on): Add extensions.
50396         (Makefile.am): Also substitute HAVE_XLOCALE_H.
50397         * doc/posix-headers/locale.texi: Document the problem with locale_t.
50398
50399 2009-11-22  Bruno Haible  <bruno@clisp.org>
50400
50401         Add comments.
50402         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
50403         invocation.
50404         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
50405         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
50406         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
50407
50408 2009-11-22  Bruno Haible  <bruno@clisp.org>
50409
50410         error: account for the possibility of freopen (stdout).
50411         * lib/error.c: Include <unistd.h>.
50412         (flush_stdout): New function, extracted from error and error_at_line.
50413         Determine stdout's fd dynamically.
50414         (error, error_at_line): Invoke flush_stdout.
50415         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
50416         * modules/error (Depends-on): Add unistd.
50417
50418 2009-11-22  Bruno Haible  <bruno@clisp.org>
50419
50420         diffseq: Add comment.
50421         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
50422
50423 2009-11-22  Jim Meyering  <meyering@redhat.com>
50424
50425         c-stack: avoid defining an unused static function
50426         * lib/c-stack.c (find_stack_direction): Do not define this function
50427         when it will not be used.
50428
50429         diffseq: avoid spurious gcc warnings
50430         * lib/diffseq.h (IF_LINT2): Define.
50431         (compareseq): Use it to initialize two members of "part".
50432         This avoids two used-uninitialized warnings.
50433
50434 2009-11-21  Jim Meyering  <meyering@redhat.com>
50435
50436         c-stack: avoid "ignoring return value of `write'" warning
50437         * lib/c-stack.c: Include "ignore-value.h".
50438         (die): Explicitly ignore each write return value.
50439         * modules/c-stack (Depends-on): Add ignore-value.
50440
50441 2009-11-21  Bruno Haible  <bruno@clisp.org>
50442
50443         diffseq: reduce scope of variable 'best'.
50444         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
50445         variable, earlier used for two different purposes.
50446
50447 2009-11-21  Jim Meyering  <meyering@redhat.com>
50448
50449         diffseq: remove useless assignment to "best"
50450         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
50451         assignment.  At that point "best" is already guaranteed to be zero.
50452
50453 2009-11-20  Eric Blake  <ebb9@byu.net>
50454
50455         build: mention ftp redirector in release announcements
50456         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
50457         values that used to come from cfg.mk; mention FTP redirect URL.
50458         * build-aux/announce-gen: Mention the mirror list.
50459         Suggested by Karl Berry.
50460
50461         nanosleep: improve port to mingw
50462         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
50463         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
50464         LIB_NANOSLEEP, but only when needed.
50465         * modules/select (Link): Document LIBSOCKET.
50466         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
50467         enough.
50468
50469         nanosleep: work around cygwin bug
50470         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
50471         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
50472         bug.
50473         (getnow): Delete, not needed.
50474         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
50475         LIB_CLOCK_GETTIME.
50476         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
50477         clock-time, gettime.
50478         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
50479         bug.
50480         * modules/nanosleep-tests: New test.
50481         * tests/test-nanosleep.c: New file.
50482
50483         sleep: work around cygwin bug
50484         * lib/sleep.c (rpl_sleep): Work around the bug.
50485         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
50486         (gl_PREREQ_SLEEP): Delete unused macro.
50487         * modules/sleep (Depends-on): Add verify.
50488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
50489         * modules/unistd (Makefile.am): Substitute witness.
50490         * lib/unistd.in.h (sleep): Update prototype.
50491         * doc/posix-functions/sleep.texi (sleep): Document the bug.
50492         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
50493         * modules/sleep-tests (Depends-on): Check for alarm.
50494
50495 2009-11-20  Jim Meyering  <meyering@redhat.com>
50496
50497         maint.mk: improve sc_prohibit_magic_number_exit
50498         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
50499         so it does not match uses like System.exit(1).
50500         Add comments showing how to correct all offenders.
50501
50502 2009-11-19  Eric Blake  <ebb9@byu.net>
50503
50504         xalloc-die-tests: add missing library
50505         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
50506
50507         test-xvasprintf: silence compiler warnings
50508         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
50509         empty string from gcc.
50510
50511 2009-11-19  Jim Meyering  <meyering@redhat.com>
50512
50513         xfreopen: new module, from coreutils
50514         * modules/xfreopen: New module.
50515         * lib/xfreopen.c: New file.
50516         * lib/xfreopen.h: New file.
50517         * MODULES.html.sh (File stream based Input/Output"): Add it.
50518
50519 2009-11-19  Eric Blake  <ebb9@byu.net>
50520
50521         manywarnings: depend on warnings
50522         * modules/manywarnings (Depends-on): Add warnings.
50523
50524         build: avoid compiler warnings
50525         * lib/select.c (rpl_select): Delete unused variable.
50526         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
50527
50528 2009-11-18  Eric Blake  <ebb9@byu.net>
50529
50530         tests: avoid false negative with --with-packager
50531         * tests/test-version-etc.sh: Discard packager information.
50532         * tests/test-argp-version-etc-1.sh: Likewise.
50533         Reported by Mike Frysinger.
50534
50535         utimens: fix regression on Solaris
50536         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
50537         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
50538         can only change fd timestamps via futimesat.  Instead, use an
50539         additional witness macro to avoid BSD bug.
50540         Reported by Jim Meyering.
50541
50542 2009-11-17  Eric Blake  <ebb9@byu.net>
50543
50544         usleep: use it to simplify tests
50545         * modules/stat-time-tests (Depends-on): Add usleep.
50546         (configure.ac): Drop usleep check.
50547         * modules/chown-tests (Depends-on, configure.ac): Likewise.
50548         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
50549         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
50550         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
50551         * modules/openat-tests (Depends-on, configure.ac): Likewise.
50552         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
50553         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
50554         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
50555         Likewise.
50556         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
50557         * tests/test-lchown.h (nap): Likewise.
50558         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
50559         * tests/test-stat-time.c (nap): Likewise.
50560         * tests/test-utimens-common.h (nap): Update comments.
50561
50562         usleep: new module
50563         * modules/usleep: New file.
50564         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
50565         * lib/usleep.c (usleep): Likewise.
50566         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
50567         * modules/unistd (Makefile.am): Substitute witnesses.
50568         * lib/unistd.in.h (usleep): Add declaration.
50569         * doc/pastposix-functions/usleep.texi (usleep): Document this.
50570         * MODULES.html.sh (Date and time): Likewise.
50571         * modules/usleep-tests (Depends-on): New test.
50572         * tests/test-usleep.c: New file.
50573
50574         chown: work around OpenBSD bug
50575         * lib/chown.c (rpl_chown): Work around the bug.
50576         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
50577         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
50578         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
50579         * modules/chown (Depends-on): Add stdbool.
50580         * modules/lchown (Depends-on): Likewise.
50581         * doc/posix-functions/chown.texi (chown): Document the bug.
50582         * doc/posix-functions/lchown.texi (lchown): Likewise.
50583         * tests/test-lchown.h (test_chown): Relax test.
50584
50585         mkstemp: avoid conflict with C++ keyword template
50586         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
50587         * lib/mkostemp.c (mkostemp): Likewise.
50588         * lib/mkostemps.c (mkostemps): Likewise.
50589         * lib/mkstemp.c (mkstemp): Likewise.
50590         * lib/mkstemps.c (mkstemps): Likewise.
50591
50592         xalloc-die-tests: optimize
50593         * tests/test-xalloc-die.sh: Reduce number of processes.
50594
50595 2009-11-17  Simon Josefsson  <simon@josefsson.org>
50596
50597         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
50598         patch from ludo@gnu.org (Ludovic Courtès).
50599
50600 2009-11-17  Jim Meyering  <meyering@redhat.com>
50601
50602         version-etc: use proper license string
50603         * modules/version-etc (License): Use LGPL, not LGPLv3+.
50604         * modules/version-etc-fsf: Likewise.
50605
50606 2009-11-17  Simon Josefsson  <simon@josefsson.org>
50607
50608         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
50609         printed to stdout.  Deal with EOL differences.
50610
50611 2009-11-17  Eric Blake  <ebb9@byu.net>
50612
50613         unsetenv: work around Solaris bug
50614         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
50615         * lib/unsetenv.c (rpl_unsetenv): Work around it.
50616         Reported by Jim Meyering.
50617
50618         vasnprintf: avoid compiler warnings
50619         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
50620         variables.
50621         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
50622
50623 2009-11-17  Simon Josefsson  <simon@josefsson.org>
50624
50625         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
50626         settings since xalloc-die is no longer the self test,
50627         xalloc-die.sh is.
50628
50629 2009-11-17  Jim Meyering  <meyering@redhat.com>
50630
50631         test-xalloc-die.sh: make the code agree with the commit log
50632         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
50633         at the end, just in case you happen to have a test-xalloc-die
50634         program in some other PATH directory.
50635
50636         test-xalloc-die.sh: fix a portability bug
50637         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
50638         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
50639         Otherwise, argv[0] (as often seen in diagnostics) would be too
50640         system-dependent, sometimes with, and sometimes without the leading "./".
50641
50642         version-etc-fsf: relax license to LGPLv3+
50643         * modules/version-etc-fsf (License): Relax license.
50644
50645 2009-11-16  Eric Blake  <ebb9@byu.net>
50646
50647         xalloc-die-tests: avoid printing null pointer
50648         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
50649         shell script.
50650         * tests/test-xalloc-die.c (program_name): Declare.
50651         * tests/test-xalloc-die.sh (tmpfiles): New file.
50652
50653         setenv, unsetenv: work around various bugs
50654         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
50655         (setenv) [HAVE_SETENV]: Work around bugs.
50656         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
50657         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
50658         for bugs.
50659         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
50660         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
50661         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
50662         * modules/stdlib (Makefile.am): Update substitutions.
50663         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
50664         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
50665         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
50666         * modules/setenv-tests: New test.
50667         * modules/unsetenv-tests: Likewise.
50668         * tests/test-setenv.c: New file.
50669         * tests/test-unsetenv.c: Likewise.
50670
50671 2009-11-16  Jim Meyering  <meyering@redhat.com>
50672
50673         version-etc: relax license to LGPLv3+
50674         * modules/version-etc (License): Relax license.
50675
50676         better AC_REQUIRE expanded-before-required-warning avoidance
50677         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
50678         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
50679         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
50680         which is no longer needed.
50681
50682 2009-11-16  Eric Blake  <ebb9@byu.net>
50683
50684         test-freading: clean up temporary file
50685         * tests/test-freading.c (main): Remove file on success, and use
50686         ASSERT more liberally.
50687         Reported by Jim Meyering.
50688
50689 2009-11-16  Jim Meyering  <meyering@redhat.com>
50690
50691         avoid new AC_REQUIRE expanded-before-required warnings
50692         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
50693         merely using it.
50694         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
50695         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
50696
50697 2009-11-15  Simon Josefsson  <simon@josefsson.org>
50698
50699         * tests/test-xalloc-die.c: New file.
50700         * modules/xalloc-die-tests: New file.
50701         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
50702         XFAIL_TESTS so it can be appended by modules.
50703
50704 2009-11-15  Simon Josefsson  <simon@josefsson.org>
50705
50706         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
50707         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
50708
50709 2009-11-14  Eric Blake  <ebb9@byu.net>
50710
50711         fnmatch: avoid compiler warning
50712         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
50713         to silence compiler warning about mismatch signedness in ?:.
50714         Reported by Robert Millan.
50715
50716         intprops: add double-inclusion guard
50717         * lib/intprops.h: Allow idempotent includes.
50718         Suggested by Bruce Korb.
50719
50720         openat: detect Solaris fchownat bug
50721         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
50722         penalizing glibc chownat when only lchownat is broken.
50723         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
50724         trailing slash bugs.
50725         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
50726         * modules/openat-tests (Files): Include more files.
50727         (Depends-on): Add mgetgroups, sleep, stat-time.
50728         (configure.ac): Add additional checks.
50729         (Makefile.am): Build new test.
50730         * tests/test-fchownat.c: New file.
50731
50732         lchown: detect Solaris and FreeBSD bug
50733         * lib/lchown.c (rpl_lchown): Work around bug.
50734         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
50735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
50736         * modules/unistd (Makefile.am): Populate it.
50737         * lib/unistd.in.h (lchown): Update declaration.
50738         * doc/posix-functions/lchown.texi (lchown): Document the bug.
50739         * modules/lchown-tests: New file.
50740         * tests/test-lchown.h (test_lchown): Likewise.
50741         * tests/test-lchown.c (main): Likewise.
50742
50743         chown: detect Solaris and FreeBSD bug
50744         * lib/chown.c (rpl_chown): Work around bug.
50745         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
50746         (gl_PREREQ_CHOWN): Delete.
50747         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
50748         * modules/unistd (Makefile.am): Populate it.
50749         * lib/unistd.in.h (chown): Update declaration.
50750         * lib/lchown.c (chown): Update client.
50751         * modules/lchown (Depends-on): Add lstat.
50752         * doc/posix-functions/chown.texi (chown): Document the bug.
50753         * doc/posix-functions/getgroups.texi (getgroups): Document
50754         getgroups pitfall.
50755         * modules/chown-tests: New file.
50756         * tests/test-chown.h (test_chown): Likewise.
50757         * tests/test-chown.c (main): Likewise.
50758
50759 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
50760
50761         gnulib-tool: correctly detect absence of m4 directories
50762         * gnulib-tool: Avoid extra newline on data passed to wc -l.
50763
50764 2009-11-14  Jim Meyering  <meyering@redhat.com>
50765
50766         maint.mk: Prohibit inclusion of "xalloc.h" without use.
50767         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
50768
50769 2009-11-14  John W. Eaton  <jwe@gnu.org>
50770
50771         strftime.h: wrap function declaration in extern "C" block
50772         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
50773
50774 2009-11-13  Eric Blake  <ebb9@byu.net>
50775
50776         getgroups: avoid compiler warning
50777         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
50778
50779         getgroups: work around FreeBSD bug
50780         * lib/getgroups.c (rpl_getgroups): Work around the bug.
50781         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
50782         * doc/posix-functions/getgroups.texi (getgroups): Document it.
50783         * tests/test-getgroups.c (main): Fix buffer overrun.
50784
50785         getgroups: avoid compilation failure
50786         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
50787         * modules/getgroups (Depends-on): Add stdint.
50788
50789 2009-11-13  Jim Meyering  <meyering@redhat.com>
50790
50791         test-getgroups: avoid compilation failure
50792         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
50793
50794 2009-11-13  Eric Blake  <ebb9@byu.net>
50795
50796         mgetgroups: new module, taken from coreutils
50797         * modules/mgetgroups: New file.
50798         * lib/mgetgroups.h: Likewise.
50799         * lib/mgetgroups.c (mgetgroups): Likewise.
50800         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
50801         * MODULES.html.sh (Users and groups): Mention it.
50802
50803         getgroups: don't expose GETGROUPS_T to user
50804         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
50805         an element at a time if GETGROUPS_T is wrong size.
50806         * lib/getugroups.h (getugroups): Change signature.
50807         * lib/unistd.in.h (getgroups): Likewise.
50808         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
50809         signature needs fixing.
50810         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
50811         AC_TYPE_GETGROUPS.
50812         * modules/group-member (Depends-on): Add getgroups.
50813         * lib/group-member.c (group_info, get_group_info): Use gid_t.
50814         (group_member): Rely on getgroups replacement.
50815         * lib/getugroups.c (getugroups): Use gid_t.
50816         * tests/test-getgroups.c (main): Likewise.
50817         * NEWS: Mention the signature change.
50818         * doc/posix-functions/getgroups.texi (getgroups): Mention the
50819         problem with signature.
50820         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
50821         GETGROUPS_T is still useful for setgroups.
50822
50823         getgroups, getugroups: provide stubs for mingw
50824         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
50825         * lib/getugroups.c (getugroups): Likewise.
50826         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
50827         function.  Modernize replacement scheme.
50828         (gl_PREREQ_GETGROUPS): Delete.
50829         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
50830         * modules/getgroups (configure.ac): Declare witness.
50831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
50832         * modules/unistd (Depends-on): Substitute witness.
50833         * lib/unistd.in.h (getgroups): Declare replacement.
50834
50835         getgroups: avoid calling exit
50836         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
50837         drop xalloc.
50838         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
50839         dependencies.
50840         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
50841         exiting, in the rare case of malloc failure.
50842
50843         getgroups: fix logic error
50844         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
50845         has more than 20 groups.
50846         * modules/getgroups-tests: New test.
50847         * tests/test-getgroups.c: New file.
50848
50849 2009-11-13  Simon Josefsson  <simon@josefsson.org>
50850
50851         * tests/test-base64.c: Improve.
50852
50853 2009-11-13  Simon Josefsson  <simon@josefsson.org>
50854
50855         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
50856         Blake <ebb9@byu.net>.
50857
50858 2009-11-13  Simon Josefsson  <simon@josefsson.org>
50859
50860         * tests/test-xvasprintf.c: Add %s%s related checks.
50861
50862 2009-11-12  Eric Blake  <ebb9@byu.net>
50863
50864         version-etc: match standards.texi style
50865         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
50866         and use <> only for URLs.
50867
50868 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
50869
50870         fts: do not fail on a submount during traversal
50871         * lib/fts.c (fts_build): Read the stat info again after opening
50872         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
50873         Original report at http://bugzilla.redhat.com/501848.
50874
50875 2009-11-12  Jim Meyering  <meyering@redhat.com>
50876
50877         bootstrap: sync from coreutils
50878         * build-aux/bootstrap (bootstrap_epilogue): New function.
50879         Use git_modules_config in one more place.  This make bootstrap's
50880         --gnulib-srcdir option more useful for testing.
50881
50882         bootstrap: generalize autoheader check
50883         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
50884         AC_CONFIG_HEADERS.
50885
50886 2009-11-11  Eric Blake  <ebb9@byu.net>
50887
50888         mkfifoat: use new modules for Solaris and BSD bugs
50889         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
50890         * lib/mkfifoat.c (mknodat): Split...
50891         * lib/mknodat.c (mknodat): ...into new file.
50892         * modules/mkfifoat (Files): Ship new file.
50893         (Depends-on): Add mkfifo, mknod.
50894         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
50895         (Depends-on): Add symlink.
50896         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
50897         redundant with test_mkfifo.h.
50898         (do_mkfifoat, do_mknodat): New helpers.
50899
50900         mknod: new module
50901         * modules/mknod: New file.
50902         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
50903         * lib/mknod.c (mknod): Likewise.
50904         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
50905         defaults.
50906         * modules/sys_stat (Makefile.am): Substitute them.
50907         * lib/sys_stat.in.h (mknod): Declare replacement.
50908         * MODULES.html.sh (Support for systems lacking POSIX:2008):
50909         Document it.
50910         * doc/posix-functions/mknod.texi (mknod): Likewise.
50911         * modules/mknod-tests: New test.
50912         * tests/test-mknod.c: Likewise.
50913
50914         mkfifo: new module
50915         * modules/mkfifo: New file.
50916         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
50917         * lib/mkfifo.c (mkfifo): Likewise.
50918         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
50919         defaults.
50920         * modules/sys_stat (Makefile.am): Substitute them.
50921         * lib/sys_stat.in.h (mkfifo): Declare replacement.
50922         * MODULES.html.sh (Support for systems lacking POSIX:2008):
50923         Document it.
50924         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
50925         * modules/mkfifo-tests: New test.
50926         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
50927         from test-mkfifoat.c.
50928         * tests/test-mkfifo.c: New file.
50929
50930         readlink: detect FreeBSD bug
50931         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
50932         slash on symlink.
50933         * doc/posix-functions/readlink.texi (readlink): Document the bug.
50934         * tests/test-readlink.h (test_readlink): Enhance test.
50935
50936         symlink: detect FreeBSD bug
50937         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
50938         slash on symlink.
50939         * doc/posix-functions/symlink.texi (symlink): Document the bug.
50940         * tests/test-symlink.h (test_symlink): Enhance test.
50941
50942 2009-11-10  Eric Blake  <ebb9@byu.net>
50943
50944         link: detect FreeBSD bug
50945         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
50946         symlink.
50947         * doc/posix-functions/link.texi (link): Document the bug.
50948         * tests/test-link.h (test_link): Enhance test.
50949         * tests/test-linkat.c (main): Update caller.
50950
50951         unlink, remove: detect FreeBSD bug
50952         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
50953         slash on symlink.
50954         * doc/posix-functions/unlink.texi (unlink): Document the bug.
50955         * doc/posix-functions/remove.texi (remove): Likewise.
50956         * tests/test-unlink.h (test_unlink): Enhance test.
50957         * tests/test-remove.c (main): Likewise.
50958
50959 2009-11-09  Eric Blake  <ebb9@byu.net>
50960
50961         rename: detect FreeBSD bug
50962         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
50963         slash on symlink.
50964         * modules/renameat-tests (Depends-on): Add filenamecat.
50965         * tests/test-rename.h (test_rename): Allow one more errno.
50966         * tests/test-renameat.c (main): Likewise.
50967         * doc/posix-functions/rename.texi (rename): Document the bug.
50968
50969         open: detect FreeBSD bug
50970         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
50971         symlink.
50972         * doc/posix-functions/open.texi (open): Document the bug.
50973         * doc/posix-functions/utimes.texi (utimes): Likewise.
50974         * tests/test-open.h (test_open): Add parameters, and test symlink
50975         handling.
50976         * tests/test-open.c (main): Adjust caller.
50977         * tests/test-fcntl-safer.c (main): Likewise.
50978         * modules/open-tests (Depends-on): Add stdbool, symlink.
50979         * modules/fcntl-safer-tests (Depends-on): Likewise.
50980         * tests/test-openat.c (main): Add test-open tests.
50981
50982         stat: detect FreeBSD bug
50983         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
50984         symlink.
50985         * doc/posix-functions/stat.texi (stat): Document the bug.
50986         * tests/test-stat.h (test_stat_func): Add argument.
50987         * tests/test-stat.c (main): Adjust caller.
50988         * tests/test-fstatat.c (main): Likewise.
50989         * modules/stat-tests (Depends-on): Add stdbool, symlink.
50990         Reported by Jim Meyering.
50991
50992 2009-11-09  James Youngman  <jay@gnu.org>
50993
50994         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
50995         * lib/strftime.c: Correct placement of #include "ignore-value.h".
50996
50997 2009-11-08  Jim Meyering  <meyering@redhat.com>
50998
50999         utimens: remove invalid futimesat call
51000         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
51001         It used the file descriptor of the target file as the DIR_FD
51002         parameter and NULL as the file name.  That caused failure with
51003         errno == EFAULT on FreeBSD-8.0-rc2
51004
51005 2009-11-07  Eric Blake  <ebb9@byu.net>
51006
51007         fflush, freadseek: use fseeko, not fseek
51008         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
51009         (clear_ungetc_buffer): Avoid potential problems on large files.
51010         * lib/freadseek.c (freadseek): Likewise.
51011         * modules/freadseek (Depends-on): Add fseeko.
51012         * modules/fseek (configure.ac): Set a witness.
51013         * tests/test-fflush.c (main): Use fseeko.
51014         * tests/test-fpurge.c (fseek): Disable link warning.
51015         * tests/test-freadable.c (fseek): Likewise.
51016         * tests/test-freading.c (fseek): Likewise.
51017         * tests/test-fseeko.c (fseek): Likewise.
51018         * tests/test-ftell.c (fseek): Likewise.
51019         * tests/test-ftello.c (fseek): Likewise.
51020         * tests/test-fwritable.c (fseek): Likewise.
51021         * tests/test-fwriting.c (fseek): Likewise.
51022
51023 2009-11-06  Simon Josefsson  <simon@josefsson.org>
51024
51025         * modules/memchr (Depends-on): Drop getpagesize dependency.
51026
51027 2009-11-06  Simon Josefsson  <simon@josefsson.org>
51028
51029         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
51030         Reported by Ludovic Courtès.
51031         * build-aux/pmccabe2html: Improve example usage.
51032         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
51033
51034 2009-11-06  Jim Meyering  <meyering@redhat.com>
51035
51036         do-release-commit-and-tag: New module.
51037         Automate the release-commit and tag process.
51038         * build-aux/do-release-commit-and-tag: New script, from coreutils.
51039         * modules/do-release-commit-and-tag: New file.
51040         * MODULES.html.sh (Support for maintaining and releasing): Add it.
51041
51042 2009-11-06  Simon Josefsson  <simon@josefsson.org>
51043
51044         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
51045         because test-select.c uses inet_pton.
51046
51047 2009-11-06  Simon Josefsson  <simon@josefsson.org>
51048
51049         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
51050         GETADDRINFO_LIB.  Bump serial number.
51051         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
51052         Suggested by Eric Blake <ebb9@byu.net>.
51053
51054 2009-11-05  Eric Blake  <ebb9@byu.net>
51055
51056         strtod: detect darwin bug
51057         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
51058         Reported by Leo Davis.
51059
51060         freopen-safer: new module
51061         * modules/freopen-safer: New module.
51062         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
51063         * lib/freopen-safer.c (freopen_safer): New file.
51064         * lib/stdio-safer.h (freopen_safer): New declaration.
51065         * lib/stdio--.h (freopen): New override.
51066         * MODULES.html.sh (File stream based Input/Output): Mention it.
51067         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
51068         freopen-safer module.
51069         * doc/posix-functions/stderr.texi (stderr): Likewise.
51070         * doc/posix-functions/stdin.texi (stdin): Likewise.
51071         * doc/posix-functions/stdout.texi (stdout): Likewise.
51072         * modules/freopen-safer-tests: New test.
51073         * tests/test-reopen-safer.c: New file.
51074
51075 2009-11-05  Jim Meyering  <meyering@redhat.com>
51076
51077         maint.mk: Prohibit inclusion of "close-stream.h" without use.
51078         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
51079
51080 2009-11-05  Simon Josefsson  <simon@josefsson.org>
51081
51082         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
51083
51084 2009-11-05  Simon Josefsson  <simon@josefsson.org>
51085
51086         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
51087
51088 2009-11-05  Simon Josefsson  <simon@josefsson.org>
51089
51090         Fix link error.
51091         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
51092         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51093
51094 2009-11-05  Simon Josefsson  <simon@josefsson.org>
51095
51096         * tests/test-func.c: Also test value of __func__.
51097
51098 2009-11-05  Simon Josefsson  <simon@josefsson.org>
51099
51100         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
51101         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
51102
51103 2009-11-05  Bruno Haible  <bruno@clisp.org>
51104
51105         Fix link error.
51106         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
51107         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51108         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
51109
51110 2009-11-05  Bruno Haible  <bruno@clisp.org>
51111
51112         Tests for module 'inet_pton'.
51113         * modules/inet_pton-tests: New file.
51114         * tests/test-inet_pton.c: New file.
51115
51116 2009-11-05  Bruno Haible  <bruno@clisp.org>
51117
51118         Tests for module 'inet_ntop'.
51119         * modules/inet_ntop-tests: New file.
51120         * tests/test-inet_ntop.c: New file.
51121
51122 2009-11-04  Eric Blake  <ebb9@byu.net>
51123
51124         stdlib-safer: wrap all mkstemp variants
51125         * modules/mkostemp (configure.ac): Set witness.
51126         * modules/mkostemps (configure.ac): Likewise.
51127         * modules/mkstemps (configure.ac): Likewise.
51128         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
51129         (mkstemps_safer): Wrap more functions.
51130         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
51131         wrapping.
51132         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
51133         (mkstemps_safer): Implement the wrappers.
51134
51135         mkstemps, mkostemps: new modules
51136         * modules/mkostemps: New module.
51137         * modules/mkstemps: Likewise.
51138         * lib/mkostemps.c (mkostemps): New file.
51139         * lib/mkstemps.c (mkstemps): Likewise.
51140         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
51141         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
51142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
51143         * modules/stdlib (Makefile.am): Substitute them.
51144         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
51145         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
51146         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
51147         * doc/gnulib.texi (Glibc stdlib.h): Include them.
51148         * MODULES.html.sh (File system functions): Mention them.
51149
51150         tempname: resync from glibc
51151         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
51152         same values for __GT_FILE as glibc.  Abort even when assertions
51153         are disabled.
51154         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
51155         match its value otherwise.  Allow idempotent inclusion.
51156         * lib/mkdtemp.c (mkdtemp): Adjust caller.
51157         * lib/mkostemp.c (mkostemp): Likewise.
51158         * lib/mkstemp.c (mkstemp): Likewise.
51159         * lib/tmpfile.c (tmpfile): Likewise.
51160         * NEWS: Document this.
51161
51162         utimens: fix use of futimens on older Linux
51163         * lib/utimens.c (fdutimens): Use updated, rather than original,
51164         timespec to avoid bug in older Linux kernel.
51165         Reported by Simon Josefsson.
51166
51167 2009-11-04  Bruno Haible  <bruno@clisp.org>
51168
51169         Make num_processors more flexible and consistent.
51170         * lib/nproc.h (enum nproc_query): New type.
51171         (num_processors): Add a 'query' argument.
51172         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
51173         (num_processors): Add a 'query' argument. Test the value of the
51174         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
51175         mingw, count the number of CPUs available for the current process.
51176         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
51177         Check for sched_getaffinity and sched_getaffinity_np.
51178         * modules/nproc (Depends-on): Add c-ctype, extensions.
51179         * NEWS: Mention the change.
51180
51181 2009-11-03  Bruno Haible  <bruno@clisp.org>
51182
51183         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
51184
51185 2009-11-03  Jim Meyering  <meyering@redhat.com>
51186
51187         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
51188         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
51189         if it is defined.
51190
51191 2009-11-02  Eric Blake  <ebb9@byu.net>
51192
51193         mktime, timegm: share common declaration
51194         * lib/mktime-internal.h: New file.
51195         * lib/mktime.c: Use it rather than open-coding a declaration.
51196         * lib/timegm.c: Likewise.
51197         * modules/mktime (Files): Ship it.
51198         * modules/timegm (Files): Likewise.
51199         Suggested by Bruno Haible.
51200
51201         test-update-copyright: update test to match script changes
51202         * tests/test-update-copyright.sh: Avoid hard-coding perl
51203         location.  Don't update *.bak created by earlier runs.
51204
51205 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
51206             Simon Josefsson  <simon@josefsson.org>
51207             Bruno Haible  <bruno@clisp.org>
51208
51209         Fix link error on Solaris 8.
51210         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
51211         also in libnsl. Define also INET_PTON_LIB.
51212         * modules/inet_pton (Link): New section.
51213
51214 2009-11-02  Simon Josefsson  <simon@josefsson.org>
51215             Bruno Haible  <bruno@clisp.org>
51216
51217         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
51218         * modules/inet_ntop (Link): New section.
51219         Reported by Boyan Kasarov <bkasarov@gmail.com>.
51220
51221 2009-11-02  Eric Blake  <ebb9@byu.net>
51222
51223         maint: avoid compiler warnings in m4 macros
51224         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
51225         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
51226
51227 2009-11-02  Simon Josefsson  <simon@josefsson.org>
51228
51229         * m4/pmccabe2html.m4: Remove file.
51230         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
51231         function.  Change maintainer.
51232         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
51233         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
51234         Courtès).
51235
51236 2009-10-31  Eric Blake  <ebb9@byu.net>
51237
51238         fseeko: fix m4 regression
51239         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
51240         regression from 2009-10-27.
51241         Reported by Ralf Wildenhues.
51242
51243 2009-10-31  Jim Meyering  <meyering@redhat.com>
51244
51245         inttostr: aesthetics and improved (compile-time) safety
51246         Define inttype_is_signed rather than inttype_is_unsigned,
51247         since the sole use is via "#if inttype_is_signed".
51248         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
51249         inttype_is_unsigned.
51250         * lib/offtostr.c (inttype_is_signed): Likewise.
51251         * lib/uinttostr.c (inttype_is_signed): Likewise.
51252         * lib/umaxtostr.c (inttype_is_signed): Likewise.
51253         * lib/inttostr.c (inttostr): Use verify to cross-check the
51254         inttype_is_signed value and the signedness of the actual type.
51255         * modules/inttostr (Depends-on): Add verify.
51256
51257 2009-10-30  Eric Blake  <ebb9@byu.net>
51258
51259         build: avoid compiler warnings
51260         * lib/fchmodat.c (lchmod): Mark unused variables.
51261         * lib/getopt.c (_getopt_initialize): Likewise.
51262         * lib/mktime.c (__mktime_internal): Provide prototype.
51263         * lib/inttostr.c (inttostr): Avoid compiler warning even with
51264         older gcc that do not understand #pragma GCC diagnostic.
51265         * lib/uinttostr.c (inttype_is_unsigned): Define.
51266         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
51267
51268 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
51269
51270         stat: fix compilation on AIX
51271         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
51272         only see struct stat64.
51273
51274 2009-10-30  Eric Blake  <ebb9@byu.net>
51275
51276         exclude: make more robust
51277         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
51278         rather than masking a coding bug.
51279         Suggested by Bruno Haible.
51280
51281 2009-10-30  Jim Meyering  <meyering@redhat.com>
51282
51283         perl scripts: remove #!/usr/bin/perl in favor of more portable...
51284         Rather than putting #!/usr/bin/perl on the first line,
51285         start with a variant of what's recommended by "man perlrun" that
51286         invokes the first "perl" program from your shell's search path.
51287         * build-aux/gitlog-to-changelog: Replace #!... as above.
51288         Add a "Local Variables" perl mode setting.
51289         Prompted by a patch from Ludovic Courtès.
51290         Improved by Eric Blake.
51291         * build-aux/useless-if-before-free: Likewise.
51292         * build-aux/announce-gen: Likewise.
51293         * build-aux/update-copyright: Likewise.
51294
51295 2009-10-29  Eric Blake  <ebb9@byu.net>
51296
51297         filenamecat-lgpl: adjust clients
51298         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
51299         filenamecat.
51300         * modules/renameat (Depends-on): Likewise.
51301
51302         filenamecat: split into filenamecat-lgpl
51303         * modules/filenamecat-lgpl: New module.
51304         * modules/filenamecat (Files): Move library-safe files into
51305         filenamecat-lgpl.
51306         (Depends-on): Add filenamecat-lgpl.
51307         (configure.ac): Declare witness.
51308         * lib/filenamecat.h (file_name_concat): Only declare when using
51309         GPL module.
51310         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
51311         Move...
51312         * lib/filenamecat-lgpl.c: ...into new file.
51313         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
51314         (gl_FILE_NAME_CONCAT): Use it.
51315         * MODULES.html.sh (File system functions): Mention new module.
51316
51317         argp: avoid memory leak
51318         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
51319         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
51320         base_name, since the latter malloc()s and can call exit().
51321         Leak introduced 2006-07-03.
51322
51323         dirname-lgpl: adjust clients that don't need full dirname
51324         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
51325         * modules/filenamecat (Depends-on): Likewise.
51326         * modules/linkat (Depends-on): Likewise.
51327         * modules/mkancesdirs (Depends-on): Likewise.
51328         * modules/mkdir (Depends-on): Likewise.
51329         * modules/openat (Depends-on): Likewise.
51330         * modules/savewd (Depends-on): Likewise.
51331         * modules/rename (Depends-on): Likewise.
51332         (License): Relax license.
51333         * modules/mkdir-tests (Depends-on): Drop progname.
51334         (Makefile.am): Delete unneeded LDADD.
51335         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
51336
51337         dirname: split into dirname-lgpl
51338         * modules/dirname-lgpl: New module.
51339         * modules/dirname (Files): Move library-safe files into
51340         dirname-lgpl.
51341         (Depends-on): Add dirname-lgpl.
51342         (configure.ac): Declare witness.
51343         * modules/double-slash-root (License): Relax license.
51344         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
51345         module.
51346         * lib/dirname.c (dir_len, mdir_name): Move...
51347         * lib/dirname-lgpl.c: ...into new file.
51348         * lib/basename.c (last_component, base_len): Move...
51349         * lib/basename-lgpl.c: ...into new file.
51350         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
51351         (gl_DIRNAME): Use it.
51352         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
51353         Mention new module.
51354         * modules/dirname-tests (Depends-on): Add progname.
51355         * tests/test-dirname.c (program_name): Delete.
51356
51357         mkdir: make safe for libraries
51358         * modules/mkdir (Depends-on): Drop xalloc.
51359         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
51360         exit.
51361
51362         tests: avoid some compiler warnings
51363         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
51364         literals.
51365         * tests/test-memchr.c (main): Avoid type mismatch.
51366         * tests/test-arpa_inet.c (main): Avoid unused parameters.
51367         * tests/test-base64.c (main): Likewise.
51368         * tests/test-getdelim.c (main): Likewise.
51369         * tests/test-gethostname.c (main): Likewise.
51370         * tests/test-getline.c (main): Likewise.
51371         * tests/test-netinet_in.c (main): Likewise.
51372         * tests/test-select.c (open_server_socket, main): Likewise.
51373         * tests/test-select-stdin.c (main): Likewise.
51374         * tests/test-sockets.c (main): Likewise.
51375         * tests/test-strsignal.c (main): Likewise.
51376         * tests/test-sys_select.c (main): Likewise.
51377         * tests/test-sys_socket.c (main): Likewise.
51378         * tests/test-u64.c (main): Likewise.
51379         * tests/test-xfprintf-posix.c (main): Likewise.
51380         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
51381
51382         sockets: avoid compiler warning
51383         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
51384
51385         maint: detect usage(1) and other suspicious exits
51386         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
51387
51388 2009-10-29  Jim Meyering  <meyering@redhat.com>
51389
51390         timespec: long-to-int truncation could make timespec_cmp malfunction
51391         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
51392         a multiple of 2^32 nanoseconds as no difference.
51393
51394 2009-10-28  Jim Meyering  <meyering@redhat.com>
51395
51396         fprintftime: wrap macro code argument in "do {...} while(0)"
51397         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
51398         cpy macro must be a statement that can be followed by a semicolon.
51399         Now that the else clause contains a comment and is hence longer
51400         than one line, I require curly braces.  That in turn requires
51401         that we wrap this code block in the standard do...while(0).
51402
51403         fprintftime: remove stray semicolon from previous change
51404         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
51405
51406         fprintftime: avoid a warning about ignored fwrite return value
51407         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
51408         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
51409         that is unsafe.
51410         * modules/fprintftime (Depends-on): Add ignore-value.
51411
51412         exclude: avoid an unwarranted warning
51413         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
51414
51415 2009-10-27  Eric Blake  <ebb9@byu.net>
51416
51417         fseek: avoid compilation failure when fflush is replaced
51418         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
51419         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
51420         module is in use.
51421         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
51422         module is not in use; since REPLACE_FSEEK worked otherwise.
51423         (GNULIB_FTELLO): Likewise for ftell.
51424         Reported by Ian Beckwith and others.
51425
51426 2009-10-27  Bruno Haible  <bruno@clisp.org>
51427
51428         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
51429         Reported by Jim Meyering.
51430
51431 2009-10-27  Jim Meyering  <jim@meyering.net>
51432             Bruno Haible  <bruno@clisp.org>
51433
51434         Avoid warning despite dropping the return value of fwrite.
51435         * lib/unicodeio.c: Include ignore-value.h.
51436         (fwrite_success_callback): Explicitly ignore fwrite's return value.
51437         * modules/unicodeio (Depends-on): Add ignore-value.
51438
51439 2009-10-26  Eric Blake  <ebb9@byu.net>
51440
51441         areadlinkat: fix fallback path
51442         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
51443         pointer and zero.
51444
51445 2009-10-22  Pádraig Brady  <P@draigBrady.com>
51446
51447         Use a better IO block size for modern systems
51448         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
51449         * lib/md2.c: Likewise.
51450         * lib/md4.c: Likewise.
51451         * lib/md5.c: Likewise.
51452         * lib/sha1.c: Likewise.
51453         * lib/sha256.c: Likewise.
51454         * lib/sha512.c: Likewise.
51455
51456 2009-10-22  Eric Blake  <ebb9@byu.net>
51457
51458         tests: avoid several compiler warnings
51459         * tests/test-getcwd.c (main): Avoid buffer underflow.
51460         * tests/test-getdate.c (main): String literals are not safe with
51461         putenv, so use setenv.  Declare unused argument.
51462         * modules/getdate-tests (Depends-on): Add setenv.
51463         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
51464         problems with string literals in char *.
51465         * tests/test-hash.c (main): Avoid shadowing declaration.
51466         (insert_new): Treat string literals as char const *.
51467         * tests/test-getopt.h (test_getopt): Likewise.
51468         (getopt_loop): Alter types to minimize casting elsewhere.
51469         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
51470         (test_getopt_long_posix): Likewise.
51471         (do_getopt_long): Add wrapper to minimize casting.
51472         * tests/test-atexit.c (clear_temp_file): Use void.
51473         * tests/test-areadlink-with-size.c (main): Declare unused
51474         arguments.
51475         * tests/test-areadlink.c (main): Likewise.
51476         * tests/test-areadlinkat-with-size.c (main): Likewise.
51477         * tests/test-areadlinkat.c (main): Likewise.
51478         * tests/test-canonicalize-lgpl.c (main): Likewise.
51479         * tests/test-canonicalize.c (main): Likewise.
51480         * tests/test-dirent-safer.c (main): Likewise.
51481         * tests/test-dirname.c (main): Likewise.
51482         * tests/test-dup2.c (main): Likewise.
51483         * tests/test-fchdir.c (main): Likewise.
51484         * tests/test-fcntl-h.c (main): Likewise.
51485         * tests/test-fcntl-safer.c (main): Likewise.
51486         * tests/test-fdopendir.c (main): Likewise.
51487         * tests/test-fdutimensat.c (main): Likewise.
51488         * tests/test-fflush.c (main): Likewise.
51489         * tests/test-filenamecat.c (main): Likewise.
51490         * tests/test-filevercmp.c (main): Likewise.
51491         * tests/test-fopen-safer.c (main): Likewise.
51492         * tests/test-fopen.c (main): Likewise.
51493         * tests/test-fpending.c (main): Likewise.
51494         * tests/test-fpurge.c (main): Likewise.
51495         * tests/test-freading.c (main): Likewise.
51496         * tests/test-fstatat.c (main): Likewise.
51497         * tests/test-fsync.c (main): Likewise.
51498         * tests/test-futimens.c (main): Likewise.
51499         * tests/test-getndelim2.c (main): Likewise.
51500         * tests/test-gettimeofday.c (main): Likewise.
51501         * tests/test-getopt.c (main): Likewise.
51502         * tests/test-i-ring.c (main): Likewise.
51503         * tests/test-inttypes.c (main): Likewise.
51504         * tests/test-link.c (main): Likewise.
51505         * tests/test-lstat.c (main): Likewise.
51506         * tests/test-math.c (main): Likewise.
51507         * tests/test-md5.c (main): Likewise.
51508         * tests/test-memchr2.c (main): Likewise.
51509         * tests/test-memrchr.c (main): Likewise.
51510         * tests/test-mkdir.c (main): Likewise.
51511         * tests/test-mkdirat.c (main): Likewise.
51512         * tests/test-mkfifoat.c (main): Likewise.
51513         * tests/test-open.c (main): Likewise.
51514         * tests/test-openat-safer.c (main): Likewise.
51515         * tests/test-openat.c (main): Likewise.
51516         * tests/test-quotearg.c (main): Likewise.
51517         * tests/test-rawmemchr.c (main): Likewise.
51518         * tests/test-readlink.c (main): Likewise.
51519         * tests/test-remove.c (main): Likewise.
51520         * tests/test-rename.c (main): Likewise.
51521         * tests/test-renameat.c (main): Likewise.
51522         * tests/test-rmdir.c (main): Likewise.
51523         * tests/test-sha1.c (main): Likewise.
51524         * tests/test-signal.c (main): Likewise.
51525         * tests/test-sigaction.c (main): Likewise.
51526         * tests/test-stat.c (main): Likewise.
51527         * tests/test-stat-time.c (main): Likewise.
51528         * tests/test-stddef.c (main): Likewise.
51529         * tests/test-stdint.c (main): Likewise.
51530         * tests/test-stdio.c (main): Likewise.
51531         * tests/test-stdlib.c (main): Likewise.
51532         * tests/test-strchrnul.c (main): Likewise.
51533         * tests/test-strerror.c (main): Likewise.
51534         * tests/test-string.c (main): Likewise.
51535         * tests/test-strtod.c (main): Likewise.
51536         * tests/test-strverscmp.c (main): Likewise.
51537         * tests/test-symlink.c (main): Likewise.
51538         * tests/test-symlinkat.c (main): Likewise.
51539         * tests/test-sys_stat.c (main): Likewise.
51540         * tests/test-sys_time.c (main): Likewise.
51541         * tests/test-time.c (main): Likewise.
51542         * tests/test-unistd.c (main): Likewise.
51543         * tests/test-unlink.c (main): Likewise.
51544         * tests/test-unlinkat.c (main): Likewise.
51545         * tests/test-utimens.c (main): Likewise.
51546         * tests/test-utimensat.c (main): Likewise.
51547         * tests/test-version-etc.c (main): Likewise.
51548         * tests/test-wchar.c (main): Likewise.
51549         * tests/test-wctype.c (main): Likewise.
51550         * tests/test-xprintf-posix.c (main): Likewise.
51551         * tests/test-posixtm.c (main): Likewise.
51552         (STREQ): Delete unused macro.
51553         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
51554         shadowed variables.
51555         * tests/test-memchr.c (main): Likewise.
51556
51557 2009-10-21  Eric Blake  <ebb9@byu.net>
51558
51559         areadlinkat: avoid failure on older glibc
51560         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
51561         rather than mis-comparing 0 against FUNC_RESULT of char*.
51562
51563 2009-10-21  Bruno Haible  <bruno@clisp.org>
51564
51565         * modules/stpncpy (License): Relicense under LGPLv2+.
51566         Reported by David Lutterkort <lutter@redhat.com>.
51567
51568 2009-10-20  Eric Blake  <ebb9@byu.net>
51569
51570         utimensat: work around Solaris 9 bug
51571         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
51572         has trailing slash bugs.
51573         * tests/test-lutimens.h (test_lutimens): Enhance test.
51574         * tests/test-utimens.h (test_utimens): Likewise.
51575         * doc/posix-functions/utime.texi (utime): Enhance documentation.
51576         * doc/posix-functions/utimes.texi (utimes): Likewise.
51577         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
51578         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
51579         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
51580         * doc/posix-functions/futimens.texi (futimens): Likewise.
51581
51582         fdutimensat: new module
51583         * modules/fdutimensat: New file.
51584         * lib/fdutimensat.c (fdutimensat): Likewise.
51585         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
51586         * MODULES.html.sh (File system functions): Mention module.
51587         * modules/fdutimensat-tests: New test.
51588         * tests/test-fdutimensat.c: Likewise.
51589
51590         doc: regenerate INSTALL
51591         * doc/INSTALL: Reflect recent autoconf update.
51592         * doc/INSTALL.ISO: Likewise.
51593         * doc/INSTALL.UTF-8: Likewise.
51594
51595 2009-10-20  Pádraig Brady  <P@draigBrady.com>
51596
51597         acl: warn if ACL support is not detected
51598         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
51599
51600 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
51601
51602         * lib/nproc.h: Add extern "C" block for C++.
51603
51604 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
51605             Bruno Haible  <bruno@clisp.org>
51606
51607         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
51608         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
51609         * doc/posix-functions/isalpha.texi: Likewise.
51610         * doc/posix-functions/isblank.texi: Likewise.
51611         * doc/posix-functions/iscntrl.texi: Likewise.
51612         * doc/posix-functions/isdigit.texi: Likewise.
51613         * doc/posix-functions/isgraph.texi: Likewise.
51614         * doc/posix-functions/islower.texi: Likewise.
51615         * doc/posix-functions/isprint.texi: Likewise.
51616         * doc/posix-functions/ispunct.texi: Likewise.
51617         * doc/posix-functions/isspace.texi: Likewise.
51618         * doc/posix-functions/isupper.texi: Likewise.
51619         * doc/posix-functions/isxdigit.texi: Likewise.
51620
51621 2009-10-18  Bruno Haible  <bruno@clisp.org>
51622
51623         Tests for module 'isblank'.
51624         * modules/isblank-tests: New file.
51625         * tests/test-isblank.c: New file.
51626
51627         New module 'isblank'.
51628         * lib/isblank.c: New file.
51629         * m4/isblank.m4: New file.
51630         * modules/isblank: New file.
51631         * doc/posix-functions/isblank.texi: Mention the new module.
51632
51633 2009-10-18  Bruno Haible  <bruno@clisp.org>
51634
51635         New module 'ctype'.
51636         * lib/ctype.in.h: New file.
51637         * m4/ctype.m4: New file.
51638         * modules/ctype: New file.
51639         * doc/posix-headers/ctype.texi: Mention the new module.
51640
51641 2009-10-18  Jim Meyering  <meyering@redhat.com>
51642
51643         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
51644         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
51645         right after its initialization, rather than farther down.
51646         Keeping these in close proximity makes it easier to ensure
51647         that each such variable is initialized.  E.g.,
51648
51649             LIB_CLOCK_GETTIME=
51650             AC_SUBST([LIB_CLOCK_GETTIME])
51651
51652         This change also increments these serial numbers.
51653         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
51654         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
51655         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
51656
51657 2009-10-18  Bruno Haible  <bruno@clisp.org>
51658
51659         Don't let environment variables perturb build.
51660         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
51661         (gl_PREREQ_GETHRXTIME): ... not here.
51662
51663 2009-10-18  Bruno Haible  <bruno@clisp.org>
51664
51665         Avoid symlink attack in localcharset module.
51666         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
51667         (O_NOFOLLOW): Define fallback.
51668         (get_charset_aliases): Don't open the file if it is a symbolic link.
51669         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
51670         gl_FCNTL_H.
51671         (gl_FCNTL_H): Require it.
51672         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
51673         * modules/localcharset (Files): Add m4/fcntl_h.m4.
51674         Reported by Fergal Glynn <fglynn@veracode.com>.
51675
51676 2009-10-18  Bruno Haible  <bruno@clisp.org>
51677
51678         Implement nproc for mingw.
51679         * lib/nproc.c: Include <windows.h>
51680         (num_processors): On native Windows platforms, try GetSystemInfo.
51681
51682 2009-10-18  Bruno Haible  <bruno@clisp.org>
51683
51684         Implement nproc for IRIX.
51685         * lib/nproc.c: Include <sys/sysmp.h>.
51686         (num_processors): On IRIX systems, try sysmp.
51687         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
51688
51689 2009-10-18  Bruno Haible  <bruno@clisp.org>
51690
51691         Implement nproc for HP-UX.
51692         * lib/nproc.c: Include <sys/pstat.h>
51693         (num_processors): On HP-UX systems, try pstat_getdynamic.
51694         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
51695         pstat_getdynamic.
51696
51697 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
51698             Bruno Haible  <bruno@clisp.org>
51699
51700         Implement nproc for NetBSD, OpenBSD.
51701         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
51702         (ARRAY_SIZE): New macro.
51703         (num_processors): On BSD systems, try sysctl of HW_NCPU.
51704         * m4/nproc.m4: New file.
51705         * modules/nproc (Files): Add m4/nproc.m4.
51706         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
51707         (Makefile.am): Instead, augment lib_SOURCES.
51708
51709 2009-10-18  Bruno Haible  <bruno@clisp.org>
51710
51711         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
51712         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
51713         sys/param.h.
51714
51715 2009-10-16  Eric Blake  <ebb9@byu.net>
51716
51717         utimensat: new module
51718         * modules/utimensat: New file.
51719         * lib/utimensat.c (utimensat): Likewise.
51720         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
51721         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
51722         so we can work around Linux bugs.
51723         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
51724         * modules/sys_stat (Makefile.am): Substitute them.
51725         * lib/sys_stat.in.h (utimensat): Declare it.
51726         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
51727         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
51728         * modules/utimensat-tests: New test.
51729         * tests/test-utimensat.c: Likewise.
51730
51731         utimens: let lutimens work on non-symlinks
51732         * lib/utimens.c (lutimens): Fall back to utimens rather than
51733         failing with ENOSYS, when file is not a symlink.
51734         (utimens): Reduce redirection.
51735         * tests/test-lutimens.h (test_lutimens): Update test to cover
51736         non-symlinks.
51737         * tests/test-utimens.h (test_utimens): Update test to cover
51738         symlinks.
51739         * tests/test-utimens.c (main): Update caller.
51740
51741         utimens: cache whether utimensat syscall works
51742         * lib/utimens.c (utimensat_works_really): New cache variable.
51743         (fdutimens, lutimens): Use it to avoid failing syscall.
51744
51745         test-stat-time, test-utimens: improve portability
51746         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
51747         ext4 on alpha, and for cygwin.
51748         * tests/test-utimens-common.h: New file.
51749         (nap): Factor delays into single function.
51750         * tests/test-lutimens.h (test_lutimens): Use new header.
51751         * tests/test-futimens.h (test_futimens): Likewise.
51752         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
51753         timestamps to occur from same machine, as was done previously for
51754         test_utimens.
51755         * modules/utimens-tests (Files): Ship new file.
51756         * modules/futimens-tests (Files): Likewise.
51757         Reported in part by Jim Meyering.
51758
51759         sys_stat: sort replacement declarations
51760         * lib/sys_stat.in.h: Sort declarations.
51761         * lib/futimens.c (futimens): Fix typo.
51762
51763 2009-10-15  Jim Meyering  <meyering@redhat.com>
51764
51765         don't let environment settings perturb build
51766         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
51767         could cause a configure-time and/or build-time malfunction.
51768         Typically, a configure-time function-in-library test is performed
51769         via code like this:
51770
51771           LIB_VAR=
51772           AC_SUBST([LIB_VAR])
51773           prefix_saved_LIBS=$LIBS
51774             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
51775                        [test "$ac_cv_search_FUNC" = "none required" ||
51776                         LIB_VAR=$ac_cv_search_FUNC])
51777           LIBS=$prefix_saved_LIBS
51778
51779         However, in each of the files affected by this change, the LIB_VAR=
51780         initialization was omitted.  Thus, when set in the environment, its
51781         value would propagate into generated Makefiles when FUNC is not found
51782         in LIB_NAME.
51783         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
51784         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
51785         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
51786
51787 2009-10-14  Eric Blake  <ebb9@byu.net>
51788
51789         fchdir: avoid infinite recursion in mingw
51790         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
51791         recursing.
51792
51793         test-stat-time: port to mingw
51794         * tests/test-stat-time.c (force_unlink): Return a value.
51795         (test_ctime) [W32]: Fix compilation error.
51796         (nap): Don't call usleep with too large an argument.  Use
51797         force_unlink.
51798         * doc/pastposix-functions/usleep.texi (usleep): Document the
51799         portability issue.
51800
51801 2009-10-13  Jim Meyering  <meyering@redhat.com>
51802
51803         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
51804         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
51805         * modules/pipe-filter-ii: Likewise.
51806         * modules/sys_socket-tests: Likewise.
51807         * modules/tsearch-tests: Likewise.
51808         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
51809         (check): Depend on it.
51810
51811 2009-10-12  Eric Blake  <ebb9@byu.net>
51812
51813         utimens-tests: port to NFS file systems
51814         * tests/test-utimens.h (test_utimens): Refactor utimecmp
51815         comparisons to avoid spurious failures from timestamp drift
51816         between NFS machines.
51817
51818 2009-10-12  Eric Blake  <ebb9@byu.net>
51819
51820         stat-time-tests: minor cleanups
51821         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
51822         * tests/test-stat-time.c (nap): Separate assignment from call.
51823         Suggested by Paolo Bonzini and Bruno Haible.
51824
51825         sys_stat: guarantee struct timespec
51826         * lib/sys_stat.in.h (includes): Always include <time.h>
51827         * modules/sys_stat (Depends-on): Add time.
51828         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
51829         mode_t permission values.
51830         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
51831         get at subsecond timestamps.
51832
51833 2009-10-10  Eric Blake  <ebb9@byu.net>
51834
51835         futimens: new module
51836         * modules/futimens: New file.
51837         * lib/futimens.c (futimens): Likewise.
51838         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
51839         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
51840         we can work around Linux bugs.
51841         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
51842         * modules/sys_stat (Makefile.am): Substitute them.
51843         * lib/sys_stat.in.h (futimens): Declare it.
51844         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
51845         * doc/posix-functions/futimens.texi (futimens): Likewise.
51846         * modules/futimens-tests: New test.
51847         * tests/test-futimens.c: Likewise.
51848
51849         utimens: introduce fdutimens
51850         * lib/utimens.h (fdutimens): New prototype.
51851         * lib/utimens.c (gl_futimens): Move guts...
51852         (fdutimens): ...to new interface.
51853         * tests/test-utimens.c (do_fdutimens): Use it.
51854
51855         utimens: add UTIME_NOW and UTIME_OMIT support
51856         * lib/utimens.c (validate_timespec, update_timespec): New helper
51857         functions.
51858         (gl_futimens, lutimens): Use them.
51859         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
51860         stdbool, sys_stat.
51861         (Link): Mention resulting library dependency.
51862         * modules/utimecmp (Link): Likewise.
51863         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
51864         (Makefile.am): Pick up library dependency.
51865         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
51866         definition.
51867         * tests/test-sys_stat.c: Test the definitions.
51868         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
51869         * NEWS: Document library dependency.
51870
51871         utimecmp: support symlink timestamps
51872         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
51873         hashing when possible.  Use pathconf when available.
51874         (SYSCALL_RESOLUTION): Recognize tighter resolution.
51875         * modules/utimecmp (Depends-on): Add lstat.
51876
51877         utimens: add lutimens interface
51878         * lib/utimens.c (lutimens): New function.
51879         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
51880         * lib/utimens.h (lutimens): Declare new interface.
51881         * tests/test-utimens.c (main): Enhance test.
51882         * tests/test-lutimens.h (test_lutimens): New file.
51883         * modules/utimens-tests (Files): Distribute it.
51884         (Depends-on): Add symlink.
51885         (configure.ac): Check for usleep.
51886
51887         utimens: validate futimens usage
51888         * lib/utimens.c (gl_futimens): Require valid fd up front, using
51889         fewer syscalls on failure later on.  Avoid compiler warning on
51890         mingw.
51891         * modules/utimens (Depends-on): Add dup2.
51892
51893         utimens: add test
51894         * modules/utimens-tests: New test.
51895         * tests/test-utimens.h: New file.
51896         * tests/test-futimens.h: Likewise.
51897         * tests/test-utimens.c: Likewise.
51898
51899         doc: mention timestamp portability issues
51900         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
51901         instead.
51902         * doc/posix-functions/utime.texi (utime): Likewise.
51903         * doc/posix-functions/utimes.texi (utimes): Likewise.
51904         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
51905         instead.
51906         * doc/posix-functions/futimens.texi (futimens): Mention utimens
51907         module.
51908         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
51909         Mention weakness with symlink timestamps.
51910         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
51911         to utimensat/futimens instead.
51912         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
51913
51914         test-dup2: enhance test
51915         * tests/test-dup2.c (main): Also check AT_FDCWD.
51916
51917         test-stat-time: avoid more spurious failures
51918         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
51919         xfs; and avoid race if the two timestamps cross quantization edge.
51920
51921         relocatable: prefer 'file system' over 'filesystem'
51922         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
51923         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
51924         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
51925         * doc/relocatable.texi (Enabling Relocatability): Likewise.
51926         * lib/relocatable.c (compute_curr_prefix): Likewise.
51927
51928 2009-10-10  Jim Meyering  <meyering@redhat.com>
51929
51930         stat-time-tests: check for the usleep function
51931         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
51932
51933 2009-10-10  Bruno Haible  <bruno@clisp.org>
51934
51935         * modules/xnanosleep: Put the Link section after the Include section.
51936
51937 2009-10-09  Eric Blake  <ebb9@byu.net>
51938
51939         dup2: work around FreeBSD 6.1 bug
51940         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
51941         * doc/posix-functions/dup2.texi (dup2): Document it.
51942         Reported by Nelson H. F. Beebe and Jim Meyering.
51943
51944         test-stat-time: port to buggy NFS clients
51945         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
51946         (test_ctime): Also skip test if mtime and ctime are skewed.
51947
51948         maint: prefer 'file system' over 'filesystem'
51949         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
51950         * doc/posix-functions/lstat.texi (lstat): Likewise.
51951         * lib/file-has-acl.c (file_has_acl): Likewise.
51952         * lib/fwriteerror.c [TEST]: Likewise.
51953         * tests/test-areadlink.h (test_areadlink): Likewise.
51954         * tests/test-areadlinkat-with-size.c (main): Likewise.
51955         * tests/test-areadlinkat.c (main): Likewise.
51956         * tests/test-canonicalize-lgpl.c (main): Likewise.
51957         * tests/test-canonicalize.c (main): Likewise.
51958         * tests/test-fstatat.c (main): Likewise.
51959         * tests/test-linkat.c (main): Likewise.
51960         * tests/test-lstat.h (test_lstat_func): Likewise.
51961         * tests/test-mkdir.h (test_mkdir): Likewise.
51962         * tests/test-readlink.h (test_readlink): Likewise.
51963         * tests/test-remove.c (main): Likewise.
51964         * tests/test-rename.h (test_rename): Likewise.
51965         * tests/test-renameat.c (main): Likewise.
51966         * tests/test-rmdir.h (test_rmdir_func): Likewise.
51967         * tests/test-symlink.h (test_symlink): Likewise.
51968         * tests/test-symlinkat.c (main): Likewise.
51969         * tests/test-unlink.h (test_unlink_func): Likewise.
51970         * tests/test-unlinkat.c (main): Likewise.
51971
51972         maint: make realtime library usage explicit
51973         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
51974         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
51975         * modules/settime (Link): Likewise.
51976         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
51977
51978         test-stat-time: speed up execution
51979         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
51980         warning on mingw.
51981         (nap): New helper function.
51982         (prepare_test): Use it to reduce sleep time.
51983         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
51984         execution.
51985         * modules/stat-time-tests (configure.ac): Check for usleep.
51986
51987 2009-10-09  Jim Meyering  <meyering@redhat.com>
51988
51989         selinux-h: always use getfilecon wrappers
51990         * lib/getfilecon.c: New file.
51991         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
51992         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
51993         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
51994         (fgetfilecon): Provide a stub.
51995         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
51996         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
51997         file unconditionally.
51998         When <selinux/selinux.h> is found, arrange to use wrappers.
51999         * modules/selinux-h (Files): Add getfilecon.c.
52000         (Makefile.am): Substitute include-next-related bits
52001         into the now-always-generated selinux/selinux.h file.
52002         * doc/glibc-functions/lgetfilecon.texi: New file.
52003         * doc/glibc-functions/fgetfilecon.texi: New file.
52004         * doc/glibc-functions/getfilecon.texi: New file.
52005         * doc/glibc-functions/getfilecon-desc.texi: New file.
52006         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
52007         which to pull in the new files.
52008         * MODULES.html.sh (Misc): Add selinux-h.
52009
52010 2009-10-08  Jim Meyering  <meyering@redhat.com>
52011
52012         unistd: fix comment typo
52013         * lib/unistd.in.h (euidaccess): Fix a comment typo.
52014
52015 2009-10-08  Eric Blake  <ebb9@byu.net>
52016
52017         areadlink: use SIZE_MAX consistently
52018         * modules/areadlink (Depends-on): Add stdint.
52019         * modules/areadlink-with-size (Depends-on): Likewise.
52020         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
52021         gives NULL; drop sys/types, since unistd gives size_t; and add
52022         stdint for SIZE_MAX.
52023         (SIZE_MAX): Rely on headers.
52024         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
52025         and add stdint.
52026         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
52027         (SIZE_MAX): Likewise.
52028         (INITIAL_BUF_SIZE): Turn into enum.
52029         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
52030
52031 2009-10-08  Jim Meyering  <meyering@redhat.com>
52032
52033         areadlinkat: avoid compilation failure
52034         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
52035         Fix typo in comment.
52036
52037 2009-10-07  Eric Blake  <ebb9@byu.net>
52038
52039         areadlinkat-with-size: new module
52040         * modules/areadlinkat-with-size: New module.
52041         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
52042         * lib/areadlink.h (areadlinkat): Declare it.
52043         * MODULES.html.sh (File system functions): Mention it.
52044         * modules/areadlinkat-with-size-tests: New test.
52045         * tests/test-areadlinkat-with-size.c: New file.
52046
52047         xreadlinkat: new module
52048         * modules/xreadlinkat: New module.
52049         * lib/xreadlinkat.c (xreadlinkat): New file.
52050         * lib/xreadlink.h (xreadlinkat): Declare it.
52051         * MODULES.html.sh (File system functions): Mention it.
52052
52053         areadlinkat: new module
52054         * lib/at-func.c (FUNC_FAIL): New define.
52055         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
52056         * modules/areadlinkat: New module.
52057         * lib/linkat.c (areadlinkat): Move...
52058         * lib/areadlinkat.c (areadlinkat): ...to new file.
52059         * lib/areadlink.h (areadlinkat): Declare it.
52060         * modules/linkat (Depends-on): Add areadlinkat.
52061         * MODULES.html.sh (File system functions): Mention it.
52062         * modules/areadlinkat-tests: New test.
52063         * tests/test-areadlinkat.c: New file.
52064
52065         areadlink, areadlink-with-size: add tests
52066         * modules/areadlink-tests: New test.
52067         * modules/areadlink-with-size-tests: Likewise.
52068         * tests/test-areadlink.h: New file.
52069         * tests/test-areadlink.c: Likewise.
52070         * tests/test-areadlink-with-size.c: Likewise.
52071
52072         maint: minor cleanups
52073         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
52074         _UNUSED_PARAMETER_ instead.
52075         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
52076         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
52077         * modules/linkat-tests (Files): Distribute test-link.h.
52078
52079         openat, utimens: whitespace cleanup
52080         * lib/openat.c: Prefer space throughout, rather than mix of 8
52081         spaces vs. tabs.
52082         * lib/at-func.c: Likewise.
52083         * lib/utimens.c: Likewise.
52084
52085         openat: avoid using wrong fd
52086         * lib/openat.c (openat_permissive): Reject user's fd if saving the
52087         working directory chooses same fd.
52088         * lib/at-func.c (AT_FUNC_NAME): Likewise.
52089
52090         mkdir, mkdirat: fix cygwin 1.5.x bug
52091         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
52092         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
52093         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
52094         bug.
52095         (gl_PREREQ_MKDIR): Delete unused macro.
52096         * modules/mkdir (Files): Track file rename.
52097         (configure.ac): Update macro name.
52098         * modules/openat (Depends-on): Add mkdir.
52099         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
52100
52101         mkdir, mkdirat: add tests
52102         * modules/mkdir-tests: New test.
52103         * tests/test-mkdir.h: New file.
52104         * tests/test-mkdir.c: Likewise.
52105         * tests/test-mkdirat.c: Likewise.
52106         * modules/openat-tests (Files): Add new files.
52107         (Makefile.am): Run new test.
52108
52109 2009-10-06  Eric Blake  <ebb9@byu.net>
52110
52111         doc: tweak *at function documentation
52112         * doc/posix-functions/faccessat.texi (faccessat): Mention
52113         known issue with replacement.
52114         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
52115         * doc/posix-functions/linkat.texi (linkat): Likewise.
52116         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
52117         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
52118         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
52119         * doc/posix-functions/renameat.texi (renameat): Likewise.
52120         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
52121
52122         openat: fix GNU/Hurd bug in unlinkat
52123         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
52124         broken.
52125         * doc/posix-functions/unlink.texi (unlink): Document this.
52126         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
52127
52128         fdopendir: fix GNU/Hurd bug
52129         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
52130         allowing non-directory fds.
52131         * lib/fdopendir.c (rpl_fdopendir): Work around it.
52132         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
52133         * modules/dirent (Makefile.am): Substitute it.
52134         * lib/dirent.in.h (fdopendir): Declare replacement.
52135         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
52136         * tests/test-fdopendir.c (main): Test something other than
52137         /dev/null, since on Hurd that behaves like a directory.
52138
52139         test-symlink: port to GNU/Hurd
52140         * tests/test-symlink.h (test_symlink): Relax expected errno.
52141
52142         doc: tweak more cygwin information
52143         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
52144         now compatible with glibc.
52145         * doc/posix-functions/getopt.texi (getopt): Likewise.
52146
52147         getopt-gnu: add another test
52148         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
52149         guarantee behavior relied on by m4.
52150         * tests/test-getopt.c (main): Use it.
52151         * modules/getopt-posix-tests (Depends-on): Add setenv.
52152         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
52153
52154         getopt: fix compilation on darwin
52155         * lib/getopt.in.h (includes): Leave breadcrumbs during system
52156         include.
52157         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
52158         Reported by Ludovic Courtès.
52159
52160 2009-10-06  Bruno Haible  <bruno@clisp.org>
52161
52162         * modules/size_max (Description): Discourage its use.
52163         Reported by Simon Josefsson.
52164
52165 2009-10-06  Jim Meyering  <meyering@redhat.com>
52166
52167         linkat: avoid compilation failure
52168         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
52169
52170 2009-10-05  Eric Blake  <ebb9@byu.net>
52171
52172         linkat: support Linux 2.6.17
52173         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
52174         linkat on Linux, but allow cache variable override.
52175         * lib/linkat.c (rpl_linkat): Define override.
52176         * modules/linkat (Depends-on): Add symlinkat.
52177         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
52178         * modules/unistd (Makefile.am): Substitute it.
52179         * lib/unistd.in.h (linkat): Declare replacement.
52180         Reported by Pádraig Brady.
52181
52182         quotearg: port test to systems with C.UTF-8 locale
52183         * tests/test-quotearg.c (struct result_strings): Add another
52184         member, differentiating between C.ASCII and C.UTF-8 handling.
52185         (compare_strings): Add parameter.
52186         (main): Adjust all callers.
52187
52188         getopt: avoid clash with FreeBSD _getopt_internal
52189         * lib/getopt.in.h (_getopt_internal): Override the name.
52190         * lib/getopt_int.h (includes): Pick up any overrides.
52191         Reported by Reuben Thomas.
52192
52193         hash: allow C89 compilation
52194         * lib/hash.c (check_tuning): Move declaration before statement.
52195         Reported by Reuben Thomas.
52196
52197 2009-10-05  Karl Berry  <karl@gnu.org>
52198
52199         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
52200
52201 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
52202             Bruno Haible  <bruno@clisp.org>
52203
52204         * lib/uname.c (uname): Use a table-driven algorithm to compute
52205         Windows NT versions.
52206
52207 2009-10-04  Bruno Haible  <bruno@clisp.org>
52208
52209         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
52210         program_invocation_short_name.
52211         * modules/progname (configure.ac): Test for presence of
52212         program_invocation_short_name.
52213         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52214
52215 2009-10-04  Bruno Haible  <bruno@clisp.org>
52216
52217         * lib/progname.c (set_program_name): Fix comment.
52218         Reported by Jim Meyering.
52219
52220 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
52221             Bruno Haible  <bruno@clisp.org>
52222
52223         * lib/uname.c: Include <string.h>.
52224         (uname): Do only one call to GetVersionEx in the common case.
52225
52226 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
52227             Bruno Haible  <bruno@clisp.org>
52228
52229         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
52230         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
52231         (uname): Add support for Windows CE and various non-x86 CPU types.
52232
52233 2009-10-03  Bruno Haible  <bruno@clisp.org>
52234
52235         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
52236         invocation to tests/configure.ac.
52237         Reported by Ian Beckwith <ianb@erislabs.net>.
52238
52239 2009-10-02  Eric Blake  <ebb9@byu.net>
52240
52241         fchdir: avoid compiler warning
52242         * lib/fchdir.c (canonicalize_file_name)
52243         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
52244
52245         test-open: support mingw errno values
52246         * tests/test-open.h (test_open): Relax test.
52247         * tests/test-fopen.h (test_fopen): Likewise.
52248         * tests/test-openat-safer.c (main): Likewise.
52249
52250         open: fix opening directory on mingw
52251         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
52252
52253         test-open: on GNU/Hurd, /dev/null is a directory
52254         * tests/test-fopen.h (main): Rename...
52255         (test_fopen): ...to this.  Use a guaranteed non-directory when
52256         confirming open behavior on trailing slash.
52257         * tests/test-openat-safer.c (main): Likewise.
52258         * tests/test-open.h (main): Likewise....
52259         (test_open): ...to this.
52260         * tests/test-fopen.c (main): Adjust caller.
52261         * tests/test-fopen-safer.c (main): Likewise.
52262         * tests/test-open.c (main): Likewise.
52263         * tests/test-fcntl-safer.c (main): Likewise.
52264         Reported by Samuel Thibault.
52265
52266         rename, fchdir: don't ignore chdir failure
52267         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
52268         * lib/rename.c (rpl_rename) [W32]: Likewise.
52269         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
52270         an empty destination directory if source cannot be renamed,
52271         although there is still possibility for failure.
52272         * doc/posix-functions/rename.texi (rename): Document the race.
52273         Reported by Jim Meyering.
52274
52275         maint: cleanup whitespace in recent commits
52276         * lib/rename.c (rpl_rename): Remove tabs.
52277         * tests/test-link.h (test_link): Likewise.
52278         * lib/fchdir.c (get_name): Likewise.
52279         Reported by Jim Meyering.
52280
52281 2009-10-02  Ben Pfaff  <blp@gnu.org>
52282
52283         relocatable-prog-wrapper: Add missing dependency on
52284         double-slash-root.
52285         * modules/relocatable-prog-wrapper: Add dependency.
52286         Reported by Ian Beckwith <ianb@erislabs.net>.
52287
52288 2009-10-02  Eric Blake  <ebb9@byu.net>
52289
52290         renameat: fix Solaris bugs
52291         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
52292         needed fixing.
52293         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
52294         * modules/stdio (Makefile.am): Substitute it.
52295         * lib/stdio.in.h (renameat): Declare replacement.
52296         * lib/renameat.c (rpl_renameat): Implement fix.
52297
52298         renameat: new module
52299         * modules/renameat: New file.
52300         * lib/renameat.c (renameat): Likewise.
52301         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
52302         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
52303         * modules/stdio (Makefile.am): Substitute them.
52304         * lib/stdio.in.h (renameat): Declare it.
52305         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
52306         * doc/posix-functions/renameat.texi (renameat): Likewise.
52307         * modules/renameat-tests: New test.
52308         * tests/test-renameat.c: Likewise.
52309
52310         rename: fix mingw bugs
52311         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
52312         directory overwrite bugs.
52313
52314         rename: fix another cygwin 1.5 bug
52315         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
52316         checks.
52317         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
52318         unnecessary cygwin workarounds.  Also work around bug with moving
52319         full directory onto an empty one.
52320         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
52321
52322         rename-dest-slash: merge into rename module
52323         * modules/rename-dest-slash (Status): Mark obsolete.
52324         (Depends-on): Add rename.
52325         (Files): Let rename do it all.
52326         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
52327         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
52328         * m4/rename-dest-slash.m4: ...so this file can be deleted.
52329         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
52330         * lib/rename.c (rpl_rename): Update comments.
52331
52332         rename: fix cygwin 1.5.x bugs
52333         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
52334         * lib/rename.c (rpl_rename): Work around them.
52335         * modules/rename (Depends-on): Add same-inode.
52336
52337         rename: fix Solaris 10 bug
52338         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
52339         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
52340         was the only bug.
52341
52342         rename: fix Solaris 9 bug
52343         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
52344         on non-directory.  Avoid calling exit.
52345         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
52346         strdup.
52347         * modules/rename-tests (Depends-on): Drop lstat.
52348         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
52349         (gl_PREREQ_RENAME): Delete unused macro.
52350
52351         rename-dest-slash: fix NetBSD bug
52352         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
52353         links.
52354         * modules/rename-dest-slash (Depends-on): Add same-inode.
52355
52356         rename-tests: new test, exposes several platform bugs
52357         * modules/rename-tests: New file.
52358         * tests/test-rename.h: Likewise.
52359         * tests/test-rename.c: Likewise.
52360         * doc/posix-functions/rename.texi (rename): Improve documentation,
52361         including bugs that will eventually be fixed in gnulib.
52362
52363 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
52364
52365         * lib/uname.c: Include <stdlib.h>
52366         (uname): Assume version info is available.
52367
52368 2009-10-02  Jim Meyering  <meyering@redhat.com>
52369
52370         gnu-web-doc-update: correct --help output
52371         * build-aux/gnu-web-doc-update: Make --help output relevant.
52372
52373         gnu-web-doc-update: add standard options
52374         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
52375
52376         gnu-web-doc-update: New module.
52377         Use this script to automatically update the on-line web documentation
52378         for your GNU project at http://www.gnu.org/software/$pkg/manual/
52379         * modules/gnu-web-doc-update: New file, from coreutils.
52380         * build-aux/gnu-web-doc-update: New script.
52381
52382 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
52383
52384         link: LoadLibrary is not needed.
52385         * lib/link.c: Use GetModuleHandle.
52386
52387 2009-10-01  Eric Blake  <ebb9@byu.net>
52388
52389         getopt: bump serial number
52390         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
52391         change.
52392
52393         tests: tighten link, rmdir, and remove tests
52394         * tests/test-link.h (includes): No need to use <config.h> here.
52395         Clean up if directory hard link was created, otherwise test for
52396         trailing '.'.
52397         * tests/test-linkat.c (main): Simplify.
52398         * tests/test-remove.c (main): Enhance test for trailing '.'.
52399         * tests/test-rmdir.h (test_rmdir_func): Likewise.
52400
52401 2009-10-01  Jim Meyering  <meyering@redhat.com>
52402
52403         maint.mk: requiring "make major" was annoying, for a "minor" release.
52404         What is intended is "stable", to contrast with alpha and beta,
52405         so require "make stable", not "make major".
52406         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
52407         (get_tool_versions): Likewise.
52408         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
52409
52410 2009-09-30  Ben Pfaff  <blp@gnu.org>
52411
52412         Fix broken build of replacement for Windows tmpfile().
52413         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
52414         flags argument added along with the 'mkostemp' module.
52415
52416 2009-09-28  Bruno Haible  <bruno@clisp.org>
52417
52418         Avoid identifier clash with POSIX function 'remove' defined as a macro.
52419         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
52420         to 'remove_elt'.
52421         (gl_list_remove): Update.
52422         * lib/gl_list.c (gl_list_remove): Update.
52423         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
52424         to 'remove_elt'.
52425         (gl_oset_remove): Update.
52426         * lib/gl_list.c (gl_oset_remove): Update.
52427         Reported by Eric Blake.
52428
52429 2009-09-28  Eric Blake  <ebb9@byu.net>
52430
52431         doc: mention yet more cygwin 1.7 status
52432         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
52433         cygwin.
52434         * doc/glibc-functions/execvpe.texi (execvpe): New file.
52435         * doc/gnulib.texi (Glibc unistd.h): Mention it.
52436
52437         argp: fix test failure
52438         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
52439         that are not upper-case.  Pass correct range to tolower.
52440
52441 2009-09-27  Jim Meyering  <meyering@redhat.com>
52442
52443         test-yesno: work around sparc-dash here-document infelicity
52444         Without this change, the literal \177 byte in a here document
52445         would make dash 0.5.5.1-3 access uninitialized memory.
52446         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
52447         Instead, use a marker, "@", and filter through tr to create the desired
52448         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
52449
52450 2009-09-27  Bruno Haible  <bruno@clisp.org>
52451
52452         Disable untested support for new flavours of ACLs on AIX.
52453         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
52454         progress.
52455         * lib/set-mode-acl.c (qset_acl): Likewise.
52456
52457 2008-12-07  Bruno Haible  <bruno@clisp.org>
52458
52459         Add support for new flavours of ACLs on AIX. (Untested.)
52460         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
52461         (file_has_acl): Add support for newer AIX.
52462         * lib/set-mode-acl.c (qset_acl): Likewise.
52463         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
52464         Rainer Tammer <tammer@tammer.net>.
52465
52466 2009-09-26  Eric Blake  <ebb9@byu.net>
52467
52468         argp: fix compilation of getopt
52469         * lib/getopt.in.h (includes): Use different guard than glibc.
52470         Reported by Sergey Poznyakoff.
52471
52472         doc: mention more cygwin 1.7 status
52473         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
52474         bug.
52475         * doc/posix-functions/execl.texi (execl): Likewise.
52476         * doc/posix-functions/execle.texi (execle): Likewise.
52477         * doc/posix-functions/execlp.texi (execlp): Likewise.
52478         * doc/posix-functions/execv.texi (execv): Likewise.
52479         * doc/posix-functions/execve.texi (execve): Likewise.
52480         * doc/posix-functions/execvp.texi (execvp): Likewise.
52481         * doc/glibc-functions/canonicalize_file_name.texi
52482         (canonicalize_file_name): Cygwin 1.7 now provides this.
52483         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
52484         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
52485         on AT_SYMLINK_NOFOLLOW.
52486
52487 2009-09-24  Eric Blake  <ebb9@byu.net>
52488
52489         test-linkat: make test more robust
52490         * tests/test-linkat.c (main): Avoid collision with EEXIST.
52491
52492         getopt: fix inclusion guards for cygwin
52493         * modules/getopt-posix (Depends-on): Add include-next.
52494         (Makefile.am): Substitute more items in replacement header.
52495         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
52496         <getopt.h>.
52497         * lib/getopt.in.h (includes): Use split inclusion guard, and
52498         prefer <getopt.h> over include <unistd.h> when one is present.
52499         (option): Also override name of 'struct option'.
52500
52501         same-inode: revert prior change; it is not yet ready
52502         * NEWS: Undo mention of this change.
52503         * lib/same-inode.h (same-inode.h): Undo tri-state change.
52504         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
52505         * lib/cycle-check.c (cycle_check): Likewise.
52506         * lib/same.c (same_name): Likewise.
52507         * lib/at-func2.c (at_func2): Likewise.
52508
52509 2009-09-23  Eric Blake  <ebb9@byu.net>
52510
52511         linkat: new module
52512         * modules/linkat: New file.
52513         * lib/at-func2.c (at_func2): Likewise.
52514         * lib/linkat.c (linkat): Likewise.
52515         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
52516         * lib/openat-priv.h (at_func2): Add declaration.
52517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
52518         * modules/unistd (Makefile.am): Substitute them.
52519         * lib/unistd.in.h (linkat): Declare it.
52520         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
52521         * doc/posix-functions/linkat.texi (linkat): Likewise.
52522         * doc/posix-functions/link.texi (link): Tweak wording.
52523         * tests/test-link.c (main): Move guts...
52524         * tests/test-link.h (test_link): ...into new file.
52525         * modules/linkat-tests: New test.
52526         * tests/test-linkat.c: Likewise.
52527         * modules/link-tests (Files): Ship new file.
52528         (Depends-on): Add stdbool.
52529
52530         dirname: add library-safe mdir_name
52531         * lib/dirname.h (mdir_name): New prototype.
52532         * lib/dirname.c (dir_name): Move guts...
52533         (mdir_name): ...to new function that avoids xalloc_die.
52534
52535         fchdir: another mingw fix
52536         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
52537         * lib/fchdir.c (get_name): New helper method; skips canonicalize
52538         on mingw (where it has not yet been ported), and make it optional
52539         elsewhere.
52540         (_gl_register_fd): Use it.
52541
52542         same-inode: make SAME_INODE tri-state, to port to mingw
52543         * NEWS: Mention this change.
52544         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
52545         st_ino always being 0.
52546         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
52547         * lib/cycle-check.c (cycle_check): Likewise.
52548         * lib/same.c (same_name): Likewise.
52549
52550         lstat: avoid mingw compilation error
52551         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
52552         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
52553         lstat ourselves.
52554         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
52555         was adequate.
52556         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
52557         the checks for lstat.
52558         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
52559
52560         link: fix test failure on Solaris 9
52561         * lib/link.c (rpl_link): Don't assume link will catch bogus
52562         trailing slash on source.
52563
52564         test-symlinkat: enhance test
52565         * tests/test-readlink.c (main): Move guts...
52566         * tests/test-readlink.h (test_readlink): ...into new file.
52567         * tests/test-symlink.c (main): Move guts...
52568         * tests/test-symlink.h (test_symlink): ...into new file.
52569         * tests/test-symlinkat.c (main): Use new files for further
52570         coverage.
52571         (do_symlink, do_readlink): New helper functions.
52572         * modules/symlink-tests (Files): Ship new file.
52573         (Depends-on): Add stdbool.
52574         * modules/readlink-tests (Files): Ship new file.
52575         (Depends-on): Add stdbool.
52576         * modules/symlinkat-tests (Files): Use new files.
52577
52578 2009-09-23  Eric Blake  <ebb9@byu.net>
52579
52580         readlink: document portability issue with symlink length
52581         * doc/posix-functions/lstat.texi (lstat): Mention that some file
52582         systems have bogus st_size on symlinks, and mention the
52583         areadlink-with-size module.
52584         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
52585         * doc/posix-functions/readlink.texi (readlink): Mention the
52586         areadlink module, and ERANGE failure.
52587         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
52588         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
52589
52590         readlink: fix Solaris 9 bug with trailing slash
52591         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
52592         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
52593         * doc/posix-functions/readlink.texi (readlink): Document this.
52594         * modules/readlink-tests: New test.
52595         * tests/test-readlink.c: Likewise.
52596
52597         readlink: fix cygwin 1.5.x bug with return type
52598         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
52599         * lib/unistd.in.h (readlink): Use ssize_t.
52600         * lib/readlink.c (readlink): Likewise.
52601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
52602         * modules/unistd (Makefile.am): Substitute it.
52603         * lib/unistd.in.h (readlink): Declare replacement.
52604         * doc/posix-functions/readlink.texi (readlink): Document this.
52605
52606         symlink: use throughout gnulib
52607         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
52608         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
52609         symlink is not used.
52610         * modules/symlinkat (Depends-on): Add symlink.
52611         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
52612         * modules/canonicalize-tests (Depends-on): Likewise.
52613         * modules/lstat-tests (Depends-on): Likewise.
52614         * modules/openat-tests (Depends-on): Likewise.
52615         * modules/remove-tests (Depends-on): Likewise.
52616         * modules/rmdir-tests (Depends-on): Likewise.
52617         * modules/unlink-tests (Depends-on): Likewise.
52618         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
52619         * tests/test-canonicalize.c (symlink): Likewise.
52620         * tests/test-fstatat.c (symlink): Likewise.
52621         * tests/test-lstat.c (symlink): Likewise.
52622         * tests/test-remove.c (symlink): Likewise.
52623         * tests/test-rmdir.c (symlink): Likewise.
52624         * tests/test-unlink.c (symlink): Likewise.
52625         * tests/test-unlinkat.c (symlink): Likewise.
52626
52627         symlink: new module, for Solaris 9 bug
52628         * modules/symlink: New file.
52629         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
52630         * lib/symlink.c: Likewise.
52631         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
52632         * modules/unistd (Makefile.am): Substitute them.
52633         * lib/unistd.in.h (symlink): Declare replacement.
52634         * MODULES.html.sh (File system functions): Mention it.
52635         * doc/posix-functions/symlink.texi (symlink): Likewise.
52636         * modules/symlink-tests: New test.
52637         * tests/test-symlink.c: Likewise.
52638
52639 2009-09-23  Bruno Haible  <bruno@clisp.org>
52640
52641         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
52642         when needed.
52643         Test case: gnulib-tool --import --with-tests atexit inttypes.
52644         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
52645
52646 2009-09-23  Bruno Haible  <bruno@clisp.org>
52647
52648         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
52649         subcommand, not in a subshell.
52650
52651 2009-09-22  Eric Blake  <ebb9@byu.net>
52652
52653         unistd: sort replacement declarations
52654         * lib/unistd.in.h: Sort declarations.
52655
52656         open, openat: minor optimization
52657         * lib/open.c (open): If open succeeded, len is non-zero.
52658         * lib/openat.c (rpl_openat): Likewise.
52659
52660         link-follow: ensure correct result
52661         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
52662         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
52663         distinguish between possible failures.
52664
52665 2009-09-21  Eric Blake  <ebb9@byu.net>
52666
52667         fts: avoid compiler warning
52668         * lib/fts.c (dirent_inode_sort_may_be_useful)
52669         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
52670
52671 2009-09-19  Bruno Haible  <bruno@clisp.org>
52672
52673         * lib/progreloc.c (canonicalize_file_name): New declaration.
52674
52675 2009-09-19  Eric Blake  <ebb9@byu.net>
52676
52677         link: fix quoting
52678         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
52679
52680         openat: fix openat bugs on Solaris 9
52681         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
52682         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
52683         * modules/openat (Depends-on): Add open.
52684         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
52685         * modules/fcntl-h (Makefile.am): Substitute it.
52686         * lib/fcntl.in.h (openat): Declare replacement.
52687         * doc/posix-functions/openat.texi (openat): Document this.
52688
52689         openat: move fstatat and unlinkat into correct files
52690         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
52691         compiled.
52692         * lib/openat.c (fstatat, unlinkat): Move...
52693         * lib/fstatat.c (fstatat): ...into correct files.
52694         * lib/unlinkat.c (unlinkat): Likewise.
52695
52696         openat: fix unlinkat bugs on Solaris 9
52697         * lib/unlinkat.c (unlinkat): New file.
52698         * modules/openat (Depends-on): Add unlink.
52699         (Files): Distribute it.
52700         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
52701         trailing slash behavior is broken.
52702         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
52703         * modules/unistd (Makefile.am): Substitute it.
52704         * lib/unistd.in.h (unlinkat): Declare replacement.
52705         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
52706
52707         openat: fix fstatat bugs on Solaris 9
52708         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
52709         stat.
52710         * doc/posix-functions/fstatat.texi (fstatat): Document this.
52711
52712         test-unlinkat: enhance test, to expose Solaris 9 bug
52713         * tests/test-unlink.c (main): Factor guts...
52714         * tests/test-unlink.h (test_rmdir_func): ...into new file.
52715         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
52716         * tests/test-rmdir.c (main): Adjust caller.
52717         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
52718         (unlinker): New helper function.
52719         (rmdirat): Enhance check.
52720         * modules/rmdir-tests (Depends-on): Add stdbool.
52721         * modules/unlink-tests (Depends-on): Likewise.
52722         (Files): Add test-unlink.h.
52723         * modules/openat-tests (Files): Likewise.
52724         (Depends-on): Add unlinkdir.
52725
52726         test-fstatat: new test, to expose Solaris 9 bugs
52727         * tests/test-stat.c (main): Factor guts...
52728         * tests/test-stat.h (test_stat_func): ...into new file.
52729         * tests/test-lstat.c (main): Factor guts...
52730         * tests/test-lstat.h (test_lstat_func): ...into new file.
52731         * tests/test-fstatat.c: New file.
52732         * modules/stat-tests (Files): Add test-stat.h.
52733         * modules/lstat-tests (Files): Add test-lstat.h.
52734         (Depends-on): Add stdbool.
52735         * modules/openat-tests (Depends-on): Add pathmax.
52736         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
52737         (Makefile.am): Run new test.
52738
52739         remove: new module, for mingw and Solaris 9 bugs
52740         * modules/remove: New file.
52741         * lib/remove.c: Likewise.
52742         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
52743         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
52744         * modules/stdio (Makefile.am): Use them.
52745         * lib/stdio.in.h (remove): Declare replacement.
52746         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
52747         * doc/posix-functions/remove.texi (remove): Likewise.
52748         * modules/remove-tests: New test.
52749         * tests/test-remove.c: Likewise.
52750
52751         unlink: new module, for Solaris 9 bug
52752         * modules/unlink: New file.
52753         * lib/unlink.c: Likewise.
52754         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
52755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
52756         * modules/unistd (Makefile.am): Use them.
52757         * lib/unistd.in.h (stat): Declare replacement.
52758         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
52759         * doc/posix-functions/unlink.texi (unlink): Likewise.
52760         * modules/unlink-tests: New test.
52761         * tests/test-unlink.c: Likewise.
52762
52763         lstat: fix Solaris 9 bug
52764         * lib/lstat.c (lstat): Also check for trailing slash on
52765         non-symlink, non-directories.  Use stat module to simplify logic.
52766         * doc/posix-functions/lstat.texi (lstat): Document it.
52767         * modules/lstat-tests (Depends-on): Add errno, same-inode.
52768         (configure.ac): Check for symlink.
52769         * tests/test-lstat.c (main): Add more tests.
52770
52771         stat: add as dependency to other modules
52772         * modules/chown (Depends-on): Add stat.
52773         * modules/euidaccess (Depends-on): Likewise.
52774         * modules/fchdir (Depends-on): Likewise.
52775         * modules/isdir (Depends-on): Likewise.
52776         * modules/link (Depends-on): Likewise.
52777         * modules/lstat (Depends-on): Likewise.
52778         * modules/mkdir-p (Depends-on): Likewise.
52779         * modules/modechange (Depends-on): Likewise.
52780         * modules/open (Depends-on): Likewise.
52781         * modules/readlink (Depends-on): Likewise.
52782         * modules/same (Depends-on): Likewise.
52783
52784         stat: fix Solaris 9 bug
52785         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
52786         slash.
52787         * lib/stat.c (rpl_stat): Work around it.
52788         * doc/posix-functions/stat.texi (stat): Update documentation.
52789
52790         stat: new module, for mingw bug
52791         * modules/stat: New file.
52792         * lib/stat.c: Likewise.
52793         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
52794         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
52795         * modules/sys_stat (Makefile.am): Use them.
52796         * lib/sys_stat.in.h (stat): Declare replacement.
52797         * lib/openat.c (fstatat): Deal with lstat and stat being function
52798         macros.
52799         * modules/openat (Depends-on): Add inline.
52800         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
52801         * doc/posix-functions/stat.texi (stat): Likewise.
52802         * modules/stat-tests: New test.
52803         * tests/test-stat.c: Likewise.
52804
52805 2009-09-19  Jim Meyering  <meyering@redhat.com>
52806
52807         syntax-check: detect unnecessary inclusion of canonicalize.h
52808         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
52809
52810 2009-09-19  Eric Blake  <ebb9@byu.net>
52811
52812         canonicalize-lgpl: adjust clients to use correct header
52813         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
52814         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
52815         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
52816         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
52817         * lib/progreloc.c (includes): Likewise.
52818
52819 2009-09-19  Jim Meyering  <meyering@redhat.com>
52820
52821         test-posixtm.c: correct a comment
52822         * tests/test-posixtm.c: Correct first-line comment.
52823         Spotted by Eric Blake.
52824
52825 2009-09-16  Jim Meyering  <meyering@redhat.com>
52826
52827         posixtm-tests: make T const-correct; add a test case
52828         * tests/test-posixtm.c (T): Declare const.
52829         Add a test for -(2^31+1).
52830         Remove useless can-succeed-only-in-2002 test.
52831
52832         posixtm-tests: adjust the sole failing test
52833         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
52834         expected output matches what mktime now produces.  Cross-checked via
52835         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
52836
52837         posixtm: move #ifdef'd tests into a new module
52838         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
52839         * tests/test-posixtm.c: ... this new file.
52840         * modules/posixtm-tests: New module.
52841
52842 2009-09-19  Eric Blake  <ebb9@byu.net>
52843
52844         openat: simplify use of at-func.c
52845         * lib/at-func.c (includes): Include prerequisites here, to
52846         simplify requirements on client files.
52847         * lib/openat-priv.h: Add double-inclusion guard.
52848         * lib/faccessat.c (includes): Simplify.
52849         * lib/fchmodat.c (includes): Likewise.
52850         * lib/fchownat.c (includes): Likewise.
52851         * lib/mkdirat.c (includes): Likewise.
52852         * lib/mkfifoat.c (includes): Likewise.
52853         * lib/symlinkat.c (includes): Likewise.
52854
52855         openat: allow return of fd 0
52856         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
52857         * modules/save-cwd (Depends-on): Replace fcntl-safer with
52858         unistd-safer.
52859         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
52860         <fcntl.h>; this module does not leak fds.
52861         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
52862         must be allowed to return 0, leaving openat_safer to add the
52863         safety.
52864         (openat_permissive): Avoid writing to just-opened fd 2 if
52865         restoring the current directory fails.
52866         * lib/openat-die.c (openat_restore_fail): Add comment.
52867         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
52868         (save_cwd): Guarantee safe fd, but without use of open_safer.
52869         * tests/test-openat.c: New test.
52870         * modules/openat-tests (Files, Makefile.am): Distribute and build
52871         new file.
52872
52873         relocatable-prog-wrapper: fix build
52874         * modules/relocatable-prog-wrapper (Files): Update name of
52875         canonicalize m4 file, broken on 2009-09-17.
52876         Reported by emad hajjar <aleppos@hotmail.com>.
52877
52878 2009-09-19  Bruno Haible  <bruno@clisp.org>
52879
52880         * lib/safe-alloc.h: Use the standard header with GPL copyright.
52881         * lib/safe-alloc.c: Likewise.
52882         Reported by Ian Beckwith <ianb@erislabs.net>.
52883
52884 2009-09-18  Bruno Haible  <bruno@clisp.org>
52885
52886         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
52887         Reported by <erobles@sensacd.com.mx>.
52888
52889 2009-09-17  Eric Blake  <ebb9@byu.net>
52890
52891         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
52892         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
52893         slashes when checking if last component is missing.
52894         * tests/test-canonicalize.c (main): Test this.
52895
52896         canonicalize, canonicalize-lgpl: honor // if distinct from /
52897         * modules/canonicalize (Files): Add double-slash-root.m4.
52898         * modules/canonicalize-lgpl (Files): Likewise.
52899         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
52900         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
52901         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
52902         fallback definition.
52903         (canonicalize_filename_mode): Use it to protect //.
52904         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
52905         (__realpath): Likewise.
52906         * tests/test-canonicalize.c (main): Test this.
52907         * tests/test-canonicalize-lgpl.c (main): Likewise.
52908         * modules/canonicalize-tests (Depends-on): Add same-inode.
52909         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
52910
52911         canonicalize-lgpl: fix glibc bug with trailing slash
52912         * m4/canonicalize-lgpl.m4: Move contents...
52913         * m4/canonicalize.m4: ...here.
52914         (gl_CANONICALIZE_LGPL): Factor realpath check...
52915         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
52916         glibc 2.3.5 bug, fixed 2005-04-27.
52917         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
52918         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
52919         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
52920         * modules/canonicalize-lgpl (Files): Manage file rename.
52921         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
52922         * modules/stdlib (Makefile.am): Substitute witness.
52923         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
52924         is needed.
52925         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
52926         replacement is required.
52927         * lib/canonicalize.c (canonicalize_file_name): Likewise.
52928         * doc/glibc-functions/canonicalize_file_name.texi
52929         (canonicalize_file_name): Document this.
52930         * doc/posix-functions/realpath.texi (realpath): Likewise.
52931
52932         canonicalize-lgpl: reject non-directory with trailing slash
52933         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
52934         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
52935         catches failures in glibc 2.3.5.
52936         * tests/test-canonicalize.c (main): Likewise.
52937
52938         canonicalize-lgpl: use native realpath if it works
52939         * lib/canonicalize-lgpl.c (realpath): Guard with
52940         FUNC_REALPATH_WORKS.
52941         * lib/stdlib.in.h (realpath): Make declaration optional based on
52942         HAVE_REALPATH.
52943         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
52944         native realpath works.
52945         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
52946         * modules/stdlib (Makefile.am): Substitute witness.
52947
52948         canonicalize, canonicalize-lgpl: use <stdlib.h>
52949         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
52950         (Include): Mention <stdlib.h>.
52951         (configure.ac): Mention functions we provide.
52952         * modules/canonicalize (configure.ac): Likewise.
52953         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
52954         realpath if canonicalize_file_name is missing.
52955         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
52956         * modules/stdlib (Makefile.am): Substitute witnesses.
52957         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
52958         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
52959         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
52960         * NEWS: Document this.
52961         * doc/glibc-functions/canonicalize_file_name.texi
52962         (canonicalize_file_name): Likewise.
52963         * doc/posix-functions/realpath.texi (realpath): Likewise.
52964         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
52965
52966         test-canonicalize: consolidate into single C program
52967         * tests/test-canonicalize.sh: Delete; move setup into...
52968         * tests/test-canonicalize.c (main): ...the program, making it
52969         easier to run in debugger.  Add some tests.
52970         * modules/canonicalize-tests (Files): Remove unused file.
52971         (Depends-on): Add progname.
52972         (configure.ac, Makefile.am): Simplify.
52973
52974         test-canonicalize-lgpl: consolidate into single C program
52975         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
52976         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
52977         easier to run in debugger.  Add some tests.
52978         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
52979         (configure.ac, Makefile.am): Simplify.
52980
52981         canonicalize: avoid resolvepath
52982         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
52983         unnecessary checks.
52984         * lib/canonicalize.c (includes): Simplify.
52985         (canonicalize_file_name): Drop resolvepath implementation.
52986         * modules/canonicalize (Depends-on): Drop filenamecat.
52987
52988         canonicalize: don't lose errno
52989         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
52990         over calls to free.
52991
52992         canonicalize: simplify errno handling
52993         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
52994         assignment.
52995
52996         canonicalize, canonicalize-lgpl: update module dependencies
52997         * modules/canonicalize (Depends-on): Add extensions, lstat,
52998         pathmax, stdlib.
52999         (Files): Drop pathmax.h.
53000         (configure.ac): Adjust macro name.
53001         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
53002         lstat, stdlib, sys_stat.
53003         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
53004         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
53005         extensions.
53006         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
53007         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
53008         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
53009         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
53010         declaration, if available.
53011         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
53012         we can rely on the readlink module.
53013         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
53014         (includes): Use <unistd.h> unconditionally.
53015
53016 2009-09-17  Eric Blake  <ebb9@byu.net>
53017
53018         maint: make Include sections of modules consistent
53019         * modules/alloca: Use only header name; no need to list #include.
53020         * modules/alloca-opt: Likewise.
53021         * modules/arpa_inet: Likewise.
53022         * modules/canon-host: Likewise.
53023         * modules/configmake: Likewise.
53024         * modules/dirent: Likewise.
53025         * modules/eealloc: Likewise.
53026         * modules/environ: Likewise.
53027         * modules/fchdir: Likewise.
53028         * modules/fcntl: Likewise.
53029         * modules/fcntl-h: Likewise.
53030         * modules/gethrxtime: Likewise.
53031         * modules/gettime: Likewise.
53032         * modules/ignore-value: Likewise.
53033         * modules/inet_ntop: Likewise.
53034         * modules/inet_pton: Likewise.
53035         * modules/inttypes: Likewise.
53036         * modules/isnand-nolibm: Likewise.
53037         * modules/isnanf-nolibm: Likewise.
53038         * modules/mbchar: Likewise.
53039         * modules/mbfile: Likewise.
53040         * modules/mbiter: Likewise.
53041         * modules/mbuiter: Likewise.
53042         * modules/netdb: Likewise.
53043         * modules/netinet_in: Likewise.
53044         * modules/nproc: Likewise.
53045         * modules/pagealign_alloc: Likewise.
53046         * modules/poll: Likewise.
53047         * modules/printf-frexp: Likewise.
53048         * modules/pthread: Likewise.
53049         * modules/putenv: Likewise.
53050         * modules/random_r: Likewise.
53051         * modules/relocatable-prog: Likewise.
53052         * modules/search: Likewise.
53053         * modules/select: Likewise.
53054         * modules/selinux-h: Likewise.
53055         * modules/settime: Likewise.
53056         * modules/signal: Likewise.
53057         * modules/size_max: Likewise.
53058         * modules/socklen: Likewise.
53059         * modules/ssize_t: Likewise.
53060         * modules/stdarg: Likewise.
53061         * modules/stdbool: Likewise.
53062         * modules/stddef: Likewise.
53063         * modules/stdint: Likewise.
53064         * modules/stdio: Likewise.
53065         * modules/stdlib: Likewise.
53066         * modules/string: Likewise.
53067         * modules/strings: Likewise.
53068         * modules/sys_file: Likewise.
53069         * modules/sys_ioctl: Likewise.
53070         * modules/sys_select: Likewise.
53071         * modules/sys_socket: Likewise.
53072         * modules/sys_stat: Likewise.
53073         * modules/sys_time: Likewise.
53074         * modules/sys_times: Likewise.
53075         * modules/sys_utsname: Likewise.
53076         * modules/sys_wait: Likewise.
53077         * modules/sysexits: Likewise.
53078         * modules/time: Likewise.
53079         * modules/times: Likewise.
53080         * modules/tmpfile: Likewise.
53081         * modules/trim: Likewise.
53082         * modules/unistd: Likewise.
53083         * modules/wchar: Likewise.
53084         * modules/wctype: Likewise.
53085
53086 2009-09-17  Bruno Haible  <bruno@clisp.org>
53087
53088         Make getdate.y compile on QNX and NetBSD 5 / i386.
53089         * m4/getdate.m4 (gl_GETDATE): Conditionally define
53090         TIME_T_FITS_IN_LONG_INT.
53091         * lib/getdate.y (long_time_t): New type.
53092         (relative_time): Change type of 'seconds' field to long_time_t.
53093         (get_date): Update types of local variables. Check against overflow
53094         during conversion from long_time_t to time_t.
53095         Reported by Matt Kraai <kraai@ftbfs.org>
53096         and Hasso Tepper <hasso@netbsd.org>.
53097
53098 2009-09-17  Bruno Haible  <bruno@clisp.org>
53099
53100         * modules/COPYING: Update copyright years.
53101         * modules/README: Likeiwse.
53102         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
53103         Reported by Ian Beckwith <ianb@erislabs.net>.
53104
53105 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
53106
53107         * users.txt: Update references for gnuit package.
53108
53109 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
53110
53111         * m4/getdelim.m4: Fix typo in copyright line.
53112
53113 2009-09-17  Bruno Haible  <bruno@clisp.org>
53114
53115         * lib/atoll.c: Use the standard header with GPL copyright.
53116         * lib/argz.in.h: Likewise.
53117         * lib/glob.c: Likewise.
53118         * lib/glob-libc.h: Likewise.
53119         * lib/random_r.c: Likewise.
53120         * lib/siglist.h: Likewise.
53121         * lib/strsignal.c: Likewise.
53122         Reported by Ian Beckwith <ianb@erislabs.net>.
53123
53124 2009-09-17  Eric Blake  <ebb9@byu.net>
53125
53126         rmdir: ensure correct dependency order
53127         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
53128
53129 2009-09-17  Bruno Haible  <bruno@clisp.org>
53130
53131         Disable assertion that fails on NetBSD 5 / i386.
53132         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
53133         Reported by Sam Steingold <sds@gnu.org>
53134         and Hasso Tepper <hasso@netbsd.org>.
53135
53136 2009-09-16  Eric Blake  <ebb9@byu.net>
53137
53138         unlinkdir: port to mingw
53139         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
53140         on which no one can unlink a directory.
53141
53142         stdlib: sort witness names
53143         * modules/stdlib (Makefile.am): Sort replacements.
53144         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
53145         * lib/stdlib.in.h: Likewise.
53146
53147         parse-duration-tests: avoid link failure
53148         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
53149         LIBINTL.
53150         Reported by Tom G. Christensen.
53151
53152         openat-tests: ensure unlinkat behaves like rmdir
53153         * tests/test-rmdir.c (main): Factor guts...
53154         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
53155         * modules/rmdir-tests (Files): Ship new file.
53156         * modules/openat-tests: New test.
53157         * tests/test-unlinkat.c: Likewise.
53158
53159         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
53160         * modules/rmdir-errno (Status, Notice): Now obsolete.
53161
53162         rmdir: work around cygwin 1.5.x and mingw bugs
53163         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
53164         * lib/rmdir.c (rmdir): Work around it.
53165         * modules/rmdir (Status, Notice): No longer obsolete.
53166         (Files): Add dos.m4.
53167         (Depends-on): Add unistd.
53168         (configure.ac): Set witnesses.
53169         (License): Relax to LGPLv2+.
53170         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
53171         * modules/unistd (Makefile.am): Substitute witnesses.
53172         * lib/unistd.in.h (rmdir): Declare replacement.
53173         * doc/posix-functions/rmdir.texi (rmdir): Document this.
53174         * modules/rmdir-tests: New tests.
53175         * tests/test-rmdir.c: Likewise.
53176
53177 2009-09-15  Eric Blake  <ebb9@byu.net>
53178
53179         fchdir: improve use of replacement functions
53180         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
53181         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
53182         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
53183         REPLACE_CLOSEDIR.
53184         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
53185         * modules/sys_stat (Makefile.am): Substitute correct witness.
53186         * modules/dirent (Makefile.am): Likewise.
53187         * modules/unistd (Makefile.am): Likewise.
53188         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
53189         * lib/unistd.in.h (dup): Likewise.
53190         * lib/sys_stat.in.h (fstat): Likewise.
53191
53192         maint: ignore gnulib-tool temp files
53193         * .gitignore: Ignore files created during gnulib-tool --test.
53194
53195 2009-09-13  Jim Meyering  <meyering@redhat.com>
53196
53197         posixtm: don't reject a time that specify "60" as the number of seconds
53198         * lib/posixtm.c (posixtime): The code to reject invalid dates
53199         would also reject a time specified with the .60 suffix.
53200         But POSIX allows that, in order to accommodate leap seconds.
53201         So don't reject it.
53202         (main): Adjust tests accordingly.
53203         * modules/posixtm (Depends-on): Add stpcpy.
53204
53205 2009-09-11  Jim Meyering  <meyering@redhat.com>
53206
53207         announce-gen: include [$release_type] in emitted Subject:
53208         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
53209         e.g., [stable] in the emitted Subject: line.
53210
53211 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53212
53213         Remove obsolete macros from several modules.
53214         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
53215         obsolete Autoconf macros with their modern counterparts.
53216         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
53217         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
53218         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
53219         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
53220         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
53221         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
53222         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
53223         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
53224         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
53225         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
53226         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
53227         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
53228         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
53229         * m4/sockets.m4 (gl_SOCKETS): Likewise.
53230         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
53231         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
53232         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
53233         * m4/time_r.m4 (gl_TIME_R): Likewise.
53234         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
53235         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
53236         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53237
53238         Fix copyright header in build-aux scripts.
53239         * build-aux/git-version-gen: Fix copyright header to match GPLv3
53240         recommendation.
53241         * build-aux/ncftpput-ftp: Likewise.
53242         * build-aux/update-copyright: Likewise.
53243
53244 2009-09-09  Eric Blake  <ebb9@byu.net>
53245
53246         test-link: allow Linux choice of errno
53247         * tests/test-link.c (main): Relax test for alternate error.
53248
53249         strndup: fix improper m4 caching
53250         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
53251         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
53252         (gl_PREREQ_STRNDUP): Delete.
53253         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
53254         * modules/string (Makefile.am): Substitute it.
53255         * lib/string.in.h (strndup): Modernize prototype.
53256
53257         getcwd: port to mingw
53258         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
53259         different from the POSIX assumptions made throughout the getcwd
53260         module; fortunately, the mingw getcwd does not need replacement.
53261         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
53262         * modules/getcwd-tests: New test.
53263         * tests/test-getcwd.c: Likewise.
53264
53265         link: fix platform bugs
53266         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
53267         * lib/link.c (link): Work around them.  Fix related mingw bug.
53268         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
53269         * modules/unistd (Makefile.am): Substitute it.
53270         * lib/unistd.in.h (link): Declare replacement.
53271         * doc/posix-functions/link.texi (link): Document this.
53272         * modules/link (Depends-on): Add strdup-posix, sys_stat.
53273
53274         test-link: consolidate into single C program, test more cases
53275         * tests/test-link.sh: Delete.
53276         * tests/test-link.c: Test more error conditions.  Exposes bugs on
53277         at least Cygwin and Solaris.
53278         * modules/link-tests (Files): Remove unused file.
53279         (Depends-on): Add errno, sys_stat.
53280         (Makefile.am): Simplify.
53281
53282 2009-09-08  Bruno Haible  <bruno@clisp.org>
53283
53284         Work around towlower, towupper bug on mingw.
53285         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
53286         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
53287         * doc/posix-functions/towlower.texi: Mention the mingw bug.
53288         * doc/posix-functions/towupper.texi: Likewise.
53289         Reported by Eric Blake.
53290
53291 2009-09-08  Jim Meyering  <meyering@redhat.com>
53292
53293         build: don't try to run autoheader if we don't use it
53294         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
53295         is not used in configure.ac.
53296
53297 2009-09-08  Eric Blake  <ebb9@byu.net>
53298
53299         euidaccess: fix compilation error
53300         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
53301
53302         rawmemchr: relax license
53303         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
53304         okay.
53305         Reported by Jim Meyering.
53306
53307         mkfifoat: new module
53308         * modules/mkfifoat: New file.
53309         * lib/mkfifoat.c: Likewise.
53310         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
53311         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
53312         * modules/sys_stat (Makefile.am): Use them.
53313         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
53314         * MODULES.html.sh (File system functions): Mention module.
53315         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
53316         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
53317         * modules/mkfifoat-tests: New test.
53318         * tests/test-mkfifoat.c: Likewise.
53319
53320         strchrnul: relax license
53321         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
53322         okay.
53323         Reported by Jim Meyering.
53324
53325 2009-09-08  Eric Blake  <ebb9@byu.net>
53326
53327         fstatat: fix compilation on Solaris
53328         * lib/fstatat.c (includes): Add fcntl.h.
53329         Reported by Pádraig Brady.
53330
53331 2009-09-07  Eric Blake  <ebb9@byu.net>
53332
53333         rename: modernize replacement
53334         * modules/rename (Depends-on): Add stdio.
53335         (configure.ac): Declare witness.
53336         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
53337         stdio take care of replacement.
53338         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
53339         * modules/stdio (Makefile.am): Substitute them.
53340         * lib/stdio.in.h (rename): Declare replacement.
53341         * lib/rename.c (includes): Allow cross-compilation to non-windows
53342         machines.
53343         * doc/posix-functions/rename.texi (rename): Improve
53344         documentation.
53345
53346         stdio: sort witness names
53347         * modules/stdio (Makefile.am): Sort replacements.
53348         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53349         * lib/stdio.in.h: Likewise.
53350
53351         getcwd: minor cleanups
53352         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
53353         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
53354
53355         openat: provide more convenience names
53356         * modules/faccessat (configure.ac): Add C witness.
53357         * lib/unistd.in.h (readlinkat): Fix typo.
53358         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
53359         convenience wrappers.
53360         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
53361         wrappers in syntax checks.
53362
53363 2009-09-06  Eric Blake  <ebb9@byu.net>
53364
53365         doc: fix comments in recent patches
53366         * lib/faccessat.c: Mention correct function.
53367         * lib/fchmodat.c: Likewise.
53368         * lib/fchownat.c: Likewise.
53369         * lib/symlinkat.c: Likewise.
53370         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
53371         constants.
53372
53373         faccessat, symlinkat: continue cleanup of previous patch
53374         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
53375         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
53376         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
53377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
53378         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
53379         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
53380         set.
53381
53382 2009-09-06  Bruno Haible  <bruno@clisp.org>
53383
53384         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
53385         (fstatat): Declare if GNULIB_FSTATAT is set.
53386         (mkdirat): Declare if GNULIB_MKDIRAT is set.
53387         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
53388         (unlinkat): Declare if GNULIB_UNLINKAT is set.
53389         * modules/fcntl-h (Files): Remove m4/openat.m4.
53390         * modules/sys_stat (Files): Remove m4/openat.m4.
53391         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
53392         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
53393         * modules/unistd (Files): Remove m4/openat.m4.
53394         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
53395         GNULIB_OPENAT.
53396         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
53397         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
53398         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
53399         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
53400         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
53401         gl_OPENAT_DEFAULTS.
53402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
53403         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
53404         Don't require gl_OPENAT_DEFAULTS.
53405         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
53406         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
53407         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
53408         (gl_OPENAT_DEFAULTS): Remove macro.
53409
53410 2009-09-06  Bruno Haible  <bruno@clisp.org>
53411
53412         * modules/openat (configure.ac): Remove unneeded witness.
53413
53414 2009-09-06  Bruno Haible  <bruno@clisp.org>
53415
53416         Set errno to ENOSYS when a function is entirely unsupported.
53417         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
53418         EOPNOTSUPP.
53419         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
53420         * modules/chown (Depends-on): Remove errno.
53421
53422 2009-09-06  Bruno Haible  <bruno@clisp.org>
53423
53424         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
53425
53426 2009-09-06  Bruno Haible  <bruno@clisp.org>
53427
53428         * lib/sys_stat.in.h: Fix preprocessor command indentation.
53429
53430 2009-09-06  Ben Pfaff  <blp@gnu.org>
53431             Bruno Haible  <bruno@clisp.org>
53432
53433         Work around a glibc bug in strtok_r.
53434         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
53435         Undefine if UNDEFINE_STRTOK_R is set.
53436         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
53437         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53438         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
53439         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
53440         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
53441         UNDEFINE_STRTOK_R.
53442         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
53443
53444 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
53445
53446         exclude: minor fix
53447         * lib/exclude.c: Include wctype.h
53448
53449 2009-09-06  Akim Demaille  <demaille@gostai.com>
53450
53451         bootstrap: improve error message
53452         * build-aux/bootstrap (find_tool): Upon failure, report the list
53453         of candidates.
53454         Honor the initial value of the envvar.
53455
53456 2009-09-05  Eric Blake  <ebb9@byu.net>
53457
53458         symlinkat: new module
53459         * modules/symlinkat: New file.
53460         * lib/symlinkat.c: Likewise.
53461         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
53462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
53463         * modules/unistd (Makefile.am): Use them.
53464         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
53465         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
53466         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
53467         * MODULES.html.sh (File system functions): Mention module.
53468         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
53469         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
53470         * modules/symlinkat-tests: New test.
53471         * tests/test-symlinkat.c: Likewise.
53472
53473         test-openat-safer: add more checks
53474         * tests/test-openat-safer.c (main): Check more code paths.
53475
53476 2009-09-05  Jim Meyering  <meyering@redhat.com>
53477
53478         syntax-check: detect unnecessary inclusion of openat.h
53479         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
53480
53481 2009-09-05  Bruno Haible  <bruno@clisp.org>
53482
53483         Support towlower, towupper.
53484         * doc/posix-functions/towlower.texi: Mention module wctype.
53485         * doc/posix-functions/towupper.texi: Likewise.
53486         * lib/wctype.in.h (towlower, towupper): New functions.
53487         * tests/test-wctype.c: Include stdio.h, stdlib.h.
53488         (ASSERT): New macro.
53489         (e): New variable.
53490         (main): Test also towlower, towupper. Test WEOF argument.
53491         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
53492
53493 2009-09-05  Bruno Haible  <bruno@clisp.org>
53494
53495         Fix conversion behaviour when the input is invalid.
53496         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
53497         mark occurring in first pass of indirect conversion.
53498         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
53499         input.
53500         Found by clang's static analyzer.
53501
53502 2009-09-05  Bruno Haible  <bruno@clisp.org>
53503
53504         * tests/test-striconveh.c (main): Test indirect conversion on platforms
53505         where direct conversion is possible.
53506
53507 2009-09-04  Eric Blake  <ebb9@byu.net>
53508
53509         openat: fail with ENOENT on empty name
53510         * lib/openat-proc.c (openat_proc_name): Special-case the empty
53511         buffer.
53512
53513         link-follow: fix logic bug in prior patch
53514         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
53515         reversed sense of yes and no in prior patch.  Avoid confusing
53516         compilation failure with desired semantics.
53517
53518         link-follow: accommodate mingw and cross-compilation
53519         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
53520         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
53521         cross-compilation results to -1, to make linkat easier to
53522         implement when cross-compiling.  Trivially support mingw.
53523         * modules/link-follow (configure.ac): Call new name.
53524         * NEWS: Mention this.
53525
53526 2009-09-03  Eric Blake  <ebb9@byu.net>
53527
53528         faccessat: compile replacement
53529         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
53530         needed.
53531
53532         fts: fix compilation error
53533         * lib/fts.c (includes): Re-add "openat.h", for
53534         openat_needs_fchdir.
53535
53536         faccessat: new module
53537         * modules/faccessat: New file.
53538         * lib/faccessat.c: Likewise.
53539         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
53540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
53541         * modules/unistd (Makefile.am): Use it.
53542         * lib/unistd.in.h (faccessat): Declare it.
53543         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
53544         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
53545         * MODULES.html.sh (File system functions): Mention it.
53546         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
53547         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
53548
53549         euidaccess: prefer POSIX over non-standard implementation
53550         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
53551         * lib/euidaccess.c (euidaccess): Use it if available.
53552
53553         openat: make template easier to use
53554         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
53555         AT_FUNC_F2 to be undefined.
53556         (VALIDATE_FLAG): New macro; use it to reject bad flags.
53557         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
53558         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
53559         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
53560         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
53561         Likewise.
53562         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
53563         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
53564         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
53565         Likewise.
53566
53567         openat: declare in POSIX headers
53568         * NEWS: Mention this.
53569         * modules/openat (configure.ac): Declare witnesses.
53570         (Depends-on): Add fcntl-h, sys_stat, unistd.
53571         (Include): Mention correct headers.
53572         * modules/fcntl-h (Depends-on): Add link-warning.
53573         (Files): Add openat.m4.
53574         (Makefile.am): Substitute witnesses.
53575         * modules/sys_stat (Files, Makefile.am): Likewise.
53576         * modules/unistd (Files, Makefile.am): Likewise.
53577         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
53578         (gl_OPENAT_DEFAULTS): New macro.
53579         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
53580         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
53581         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
53582         (SYS_STAT_H): Remove unused variable.
53583         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
53584         * lib/fcntl--.h (includes): Remove unneeded header.
53585         * lib/openat-safer.c (includes): Likewise.
53586         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
53587         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
53588         appropriate headers.
53589         (__OPENAT_PREFIX): Delete.
53590         * lib/fcntl.in.h (openat): Provide declaration.
53591         (AT_FDCWD): Fix Solaris bug.
53592         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
53593         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
53594         * lib/fchmodat.c (includes):  Adjust to find declaration.
53595         * lib/fchownat.c (includes): Likewise.
53596         * lib/mkdirat.c (includes): Likewise.
53597         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
53598         still visible.
53599
53600 2009-09-02  Eric Blake  <ebb9@byu.net>
53601
53602         errno: use consistently
53603         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
53604         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
53605         * lib/canonicalize.c (ELOOP): Likewise.
53606         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
53607         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
53608         * lib/lchown.c (EOPNOTSUPP): Likewise.
53609         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
53610         * lib/savewd.c (ESTALE): Likewise.
53611         * lib/settime.c (ENOSYS): Likewise.
53612         * lib/utimens.c (ENOSYS): Likewise.
53613         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
53614         * lib/chdir-safer.c (ELOOP): Likewise.
53615         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
53616         * modules/c-stack (Depends-on): Add errno.
53617         * modules/canonicalize (Depends-on): Likewise.
53618         * modules/chdir-safer (Depends-on): Likewise.
53619         * modules/fdopendir (Depends-on): Likewise.
53620         * modules/inet_ntop (Depends-on): Likewise.
53621         * modules/inet_pton (Depends-on): Likewise.
53622         * modules/lchown (Depends-on): Likewise.
53623         * modules/openat (Depends-on): Likewise.
53624         * modules/savewd (Depends-on): Likewise.
53625         * modules/settime (Depends-on): Likewise.
53626         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
53627
53628         fts: avoid leaking fds
53629         * modules/fts (Depends-on): Add cloexec.
53630         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
53631         flag.
53632
53633         fts: make directory fds more robust
53634         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
53635         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
53636
53637         backupfile, chdir-long, fts, savedir: make safer
53638         * lib/backupfile.c (includes): Use "dirent--.h", since
53639         numbered_backup can write to stderr during readdir.
53640         * lib/savedir.c (includes): Likewise.
53641         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
53642         emulation can write to stderr on failure.
53643         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
53644         * lib/getcwd.c: Document why opendir_safer is unused.
53645         * lib/glob.c: Likewise.
53646         * lib/scandir.c: Likewise.
53647         * lib/openat-proc.c: Likewise, for open_safer.
53648         * modules/backupfile (Depends-on): Add dirent-safer.
53649         * modules/savedir (Depends-on): Likewise.
53650         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
53651         * modules/chdir-long (Depends-on): Add openat-safer.
53652
53653         openat-safer: new module
53654         * modules/openat-safer: New file.
53655         * lib/openat-safer.c: Likewise.
53656         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
53657         * lib/fcntl-safer.h (openat_safer): Declare.
53658         * lib/fcntl--.h (openat): Override.
53659         * MODULES.html.sh (File descriptor based I/O): Mention it.
53660         * lib/openat.h: Add double-inclusion guards.
53661         * lib/openat.c (includes): Only include "fcntl-safer.h", not
53662         "fcntl--.h", so we can implement openat.
53663         * modules/openat-safer-tests: New test.
53664         * tests/test-openat-safer.c: New file.
53665
53666         dirent-safer: new module
53667         * modules/dirent-safer: New file.
53668         * lib/dirent--.h: Likewise.
53669         * lib/dirent-safer.h: Likewise.
53670         * lib/opendir-safer.c: Likewise.
53671         * m4/dirent-safer.m4: Likewise.
53672         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
53673         * modules/dirent-safer-tests: New test.
53674         * tests/test-dirent-safer.c: New file.
53675         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
53676
53677         fdopendir: optimize on mingw
53678         * lib/unistd.in.h (_gl_directory_name): New prototype.
53679         * lib/fchdir.c (_gl_directory_name): Implement it.
53680         (fchdir): Use it to simplify implementation.
53681         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
53682         fchdir, when available, to avoid calling [f]chdir().
53683
53684         fdopendir: split into its own module
53685         * lib/openat.c (fdopendir): Move...
53686         * lib/fdopendir.c: ...into new file.
53687         * modules/fdopendir: New module.
53688         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
53689         * modules/openat (Depends-on): Add fdopendir.
53690         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
53691         fdopendir here.
53692         * modules/savedir (Depends-on): Only need fdopendir, not full
53693         openat.
53694         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
53695         * lib/openat.h (fdopendir): Drop prototype.
53696         * lib/dirent.in.h (fdopendir): Provide prototype.
53697         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
53698         * modules/dirent (Makefile.am): Substitute them.
53699         * MODULES.html.sh (File system functions): Mention it.
53700         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
53701         * modules/fdopendir-tests: New file.
53702         * tests/test-fdopendir.c: Likewise.
53703
53704         fchdir: use more consistent macro convention
53705         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
53706         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
53707         REPLACE_FCHDIR, rather than relying on config.h macros.
53708         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
53709         inside a single make-time REPLACE_FCHDIR block, rather than using
53710         the config.h FCHDIR_REPLACEMENT.
53711         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
53712         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
53713         Manage fstat replacement.
53714         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
53715         REPLACE_FCHDIR.
53716         * modules/sys_stat (Files): Add m4/unistd_h.m4.
53717         (Makefile.am): Substitute REPLACE_FCHDIR.
53718         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
53719         FCHDIR_REPLACEMENT.
53720         * lib/dup-safer.c (dup_safer): Likewise.
53721         * lib/dup2.c (rpl_dup2): Likewise.
53722         * lib/dup3.c (rpl_dup3): Likewise.
53723         * lib/open.c (rpl_open): Likewise.
53724
53725         fchdir: simplify error handling, and support dup3
53726         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
53727         stdbool, malloc-posix, realloc-posix.
53728         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
53729         (ensure_dirs_slot): Return false on allocation failure.
53730         (rpl_dup2): Delete.
53731         (_gl_register_dup): New function.
53732         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
53733         (_gl_register_fd): Close fd on allocation failure.
53734         * lib/fcntl.in.h (_gl_register_fd): Update signature.
53735         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
53736         prototype.
53737         (rpl_dup2_fchdir): Delete prototype.
53738         * lib/open.c (open): Update caller.
53739         * lib/dup2.c (dup2): Track fchdir metadata.
53740         * lib/dup3.c (dup3): Likewise.
53741         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
53742         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
53743
53744 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53745
53746         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
53747         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
53748         don't pass arguments to AC_OUTPUT.
53749
53750 2009-09-02  Bruno Haible  <bruno@clisp.org>
53751
53752         * modules/mkdtemp (License): Relicense under LGPLv2+.
53753         Reported by Paolo Bonzini.
53754
53755 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53756
53757         Replace uses of obsolete autoconf macros in Jim's modules.
53758         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
53759         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
53760         can evoke a warning from autoconf when run with -Wobsolete
53761         enabled.  They were declared obsolete for good reasons (see
53762         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
53763         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
53764         should not continue using the deprecated macros.
53765         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
53766         obsolete Autoconf macros with modern counterparts.
53767         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
53768         * m4/dos.m4 (gl_AC_DOS): Likewise.
53769         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
53770         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
53771         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
53772         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
53773         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
53774         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
53775         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
53776         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
53777         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
53778         Likewise.
53779         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
53780         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
53781         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
53782         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
53783         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
53784         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
53785
53786 2009-09-01  Eric Blake  <ebb9@byu.net>
53787
53788         fchdir: fix off-by-one bug in previous patch
53789         * lib/fchdir.c (rpl_fstat): Use correct bounds.
53790         (_gl_unregister_fd): Delete useless if.
53791
53792 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
53793
53794         maint.mk: sort the list of syntax-check rules
53795         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
53796         easier to get a sense of progress when the rules are run sequentially
53797         and take a long time.
53798
53799 2009-09-01  Simon Josefsson  <simon@josefsson.org>
53800
53801         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
53802         * modules/netinet_in: Likewise.
53803         * modules/sys_file: Likewise.
53804         * modules/sys_ioctl: Likewise.
53805         * modules/sys_select: Likewise.
53806         * modules/sys_socket: Likewise.
53807         * modules/sys_stat: Likewise.
53808         * modules/sys_time: Likewise.
53809         * modules/sys_times: Likewise.
53810         * modules/sys_utsname: Likewise.
53811         * modules/sys_wait: Likewise.
53812
53813 2009-09-01  Jim Meyering  <meyering@redhat.com>
53814
53815         fts: help ensure that return values are not ignored
53816         * lib/fts_.h (__GNUC_PREREQ): Define.
53817         (__attribute_warn_unused_result__): Define.
53818         (fts_children, fts_close, fts_open, fts_read): Declare with
53819         __attribute_warn_unused_result__.
53820
53821         fts: fts_close now fails also when closing a dir file descriptor fails
53822         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
53823         and propagate to caller, along with errno.
53824
53825         announce-gen: correct formatting in --help output
53826         * build-aux/announce-gen (usage): Move the one-line description in
53827         --help output "up", to where it belongs, just after Usage:.
53828
53829 2009-08-31  Eric Blake  <ebb9@byu.net>
53830
53831         fchdir: port to mingw
53832         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
53833         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
53834         opened, then use a substitute.
53835         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
53836         replacement.
53837         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
53838         (_gl_register_fd): No need to check stat if open already filters
53839         all directories.
53840         (fchdir): Fix error condition to match POSIX.
53841         * modules/fchdir (Depends-on): Add sys_stat.
53842         * doc/posix-functions/open.texi (open): Document the limitation.
53843         * modules/fchdir-tests: New file.
53844         * tests/test-fchdir.c: Likewise.
53845
53846         canonicalize: allow cross-testing from cygwin to mingw
53847         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
53848         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
53849         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
53850         Likewise.
53851         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
53852         target does not support symlinks.
53853         * tests/test-canonicalize-lgpl.sh: Likewise.
53854
53855         chown: avoid compilation warning on mingw
53856         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
53857         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
53858         mingw.
53859         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
53860         * modules/chown (Depends-on): Add errno.
53861
53862 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
53863
53864         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
53865         command.
53866
53867 2009-08-31  Jim Meyering  <meyering@redhat.com>
53868
53869         canonicalize: remove useless initialization
53870         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
53871         initialization of local, "end".
53872
53873 2009-08-30  Bruno Haible  <bruno@clisp.org>
53874
53875         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
53876         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
53877         ENOSYS.
53878
53879 2009-08-30  Bruno Haible  <bruno@clisp.org>
53880
53881         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
53882         /usr/xpg4/bin/tr when it exists.
53883         * tests/test-pipe-filter-gi1.sh: Likewise.
53884
53885 2009-08-30  Bruno Haible  <bruno@clisp.org>
53886
53887         Work around deficient /usr/bin/id program on Solaris.
53888         * tests/test-file-has-acl.sh (ID): New variable.
53889         * tests/test-set-mode-acl.sh (ID): Likewise.
53890         * tests/test-copy-acl.sh (ID): Likewise.
53891         * tests/test-copy-file.sh (ID): Likewise.
53892
53893 2009-08-30  Bruno Haible  <bruno@clisp.org>
53894
53895         New module 'xstriconveh'.
53896         * lib/xstriconveh.h: New file.
53897         * lib/xstriconveh.c: New file.
53898         * modules/xstriconveh: New file.
53899
53900 2009-08-30  Bruno Haible  <bruno@clisp.org>
53901
53902         Make it easier to use mem_cd_iconveh.
53903         * lib/striconveh.h (iconveh_t): New type.
53904         (iconveh_open, iconveh_close): New declarations.
53905         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
53906         with a single 'const iconveh_t *' argument.
53907         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
53908         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
53909         with a single 'const iconveh_t *' argument.
53910         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
53911         * tests/test-striconveh.c (main): Update.
53912         * NEWS: Mention the change.
53913
53914 2009-08-30  Bruno Haible  <bruno@clisp.org>
53915
53916         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
53917         problem.
53918
53919 2009-08-30  Bruno Haible  <bruno@clisp.org>
53920
53921         Work around iconv_open problem on Solaris.
53922         * lib/iconv_open-solaris.gperf: New file.
53923         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
53924         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
53925         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
53926         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
53927         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
53928         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
53929
53930 2009-08-29  Jim Meyering  <meyering@redhat.com>
53931
53932         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
53933         * top/maint.mk (cvs-check): Remove target; it was just an alias
53934         to the better-named vc-diff-check.
53935         (maintainer-distcheck): Remove rule.  It was used only from
53936         the (alpha/beta/major) target, and all of its commands but one
53937         were coreutils-specific.
53938         (vc-dist): Remove rule.
53939         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
53940         Run vc-diff-check, not vc-dist.
53941         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
53942
53943 2009-08-27  Bruno Haible  <bruno@clisp.org>
53944
53945         * tests/test-bitrotate.c (main): Remove test that uses a shift count
53946         of 0.
53947
53948 2009-08-27  Bruno Haible  <bruno@clisp.org>
53949
53950         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
53951         compilers.
53952         * doc/func.texi: Document the SunPRO C bug.
53953
53954 2009-08-27  Bruno Haible  <bruno@clisp.org>
53955
53956         Fix link error on Solaris.
53957         * tests/test-parse-duration.c (xstrdup): Remove function.
53958
53959 2009-08-26  Pádraig Brady  <P@draigbrady.com>
53960
53961         ignore-value: handle pointer types, too
53962         * lib/ignore-value.h (__attribute__): Remove definition.
53963         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
53964         of a more concise and more-often effective "(void) i" statement.
53965         (ignore_ptr): New function to suppress warnings from functions that
53966         return pointers, and to make it explicit that one function doesn't
53967         handle all cases.
53968
53969 2009-08-25  Bruno Haible  <bruno@clisp.org>
53970
53971         dup2: work around a Linux bug.
53972         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
53973         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
53974         * doc/posix-functions/dup2.texi: Mention the Linux bug.
53975         Reported by Simon Josefsson.
53976
53977 2009-08-25  Jim Meyering  <meyering@redhat.com>
53978
53979         libguestfs uses gnulib
53980         * users.txt: Add libguestfs.
53981
53982 2009-08-24  Eric Blake  <ebb9@byu.net>
53983
53984         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
53985         * lib/pipe2.c (includes): Add binary-io.h.
53986         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
53987
53988 2009-08-24  Bruno Haible  <bruno@clisp.org>
53989
53990         Tolerate declared but missing accept4 syscall.
53991         * lib/accept4.c (accept4): Invoke original accept4 function first, if
53992         available.
53993         * lib/sys_socket.in.h (accept4): If the function is already present,
53994         override it.
53995         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
53996         * modules/accept4 (Makefile.am): Compile accept4.c always.
53997         Reported by Paolo Bonzini and Eric Blake.
53998
53999 2009-08-23  Bruno Haible  <bruno@clisp.org>
54000
54001         New module 'accept4'.
54002         * lib/sys_socket.in.h (accept4): New declaration.
54003         * lib/accept4.c: New file.
54004         * m4/accept4.m4: New file.
54005         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
54006         GNULIB_ACCEPT4, HAVE_ACCEPT4.
54007         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
54008         HAVE_ACCEPT4.
54009         * modules/accept4: New file.
54010         * doc/glibc-functions/accept4.texi: Mention the new module.
54011
54012 2009-08-24  Jim Meyering  <meyering@redhat.com>
54013
54014         progname: also set global program_invocation_name, when possible
54015         Before this change, a libtool-enabled program that calls glibc's
54016         error function would report the program name as
54017         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
54018         * modules/progname (configure.ac): Check for a declaration of
54019         program_invocation_name.
54020         * lib/progname.c:  Include <errno.h>.
54021         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
54022         Set program_invocation_name.
54023
54024 2009-08-23  Bruno Haible  <bruno@clisp.org>
54025
54026         * lib/dup3.c: Include <string.h>.
54027
54028 2009-08-23  Bruno Haible  <bruno@clisp.org>
54029
54030         * lib/dup3.c (dup3): Test only once whether the system actually exists.
54031         * lib/pipe2.c (pipe2): Likewise.
54032         Suggested by Eric Blake.
54033
54034 2009-08-23  Bruno Haible  <bruno@clisp.org>
54035
54036         Tolerate declared but missing dup3 syscall.
54037         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
54038         * lib/unistd.in.h (dup3): If the function is already present,
54039         override it.
54040         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
54041         * modules/dup3 (Makefile.am): Compile dup3.c always.
54042         Reported by Paolo Bonzini.
54043
54044 2009-08-23  Bruno Haible  <bruno@clisp.org>
54045
54046         Tolerate declared but missing pipe2 syscall.
54047         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
54048         available.
54049         * lib/unistd.in.h (pipe2): If the function is already present,
54050         override it.
54051         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
54052         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
54053         Reported by Paolo Bonzini.
54054
54055 2009-08-23  Bruno Haible  <bruno@clisp.org>
54056
54057         * lib/pipe2.c (pipe2): Move #ifs inside function.
54058
54059 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
54060
54061         quotearg: document limitations of quote_these_too
54062         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
54063         those limitations are created.
54064         * lib/quotearg.h (set_char_quoting): Document that digits and
54065         letters that are special after backslash are not permitted.
54066         (quotearg_char): Cross-reference set_char_quoting documentation.
54067
54068 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
54069
54070         quotearg: implement custom_quoting_style
54071         * lib/quotearg.c: (struct quoting_options): Add left_quote and
54072         right_quote fields.
54073         (set_custom_quoting): New public function.
54074         (quotearg_buffer_restyled): Add left_quote and right_quote
54075         arguments, handle them very much like locale quoting, and update
54076         all uses.
54077         (quotearg_n_custom): New public function.
54078         (quotearg_n_custom_mem): New public function.
54079         (quotearg_custom): New public function.
54080         (quotearg_custom_mem): New public function.
54081         * lib/quotearg.h: Prototype and document new public functions.
54082         (enum quoting_style): For escape_quoting_style and
54083         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
54084         ignored even though they're otherwise like c_quoting_style.
54085         Add custom_quoting_style member and document with comparison to
54086         clocale_quoting_style.
54087         * tests/test-quotearg.c (custom_quotes): New array.
54088         (custom_results): New array.
54089         (main): Extend to test custom quoting.
54090
54091 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
54092
54093         quotearg: fix right quote escaping when it's in quote_these_too
54094         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
54095         quote, be sure to prepend only one backslash.
54096         * tests/test-quotearg.c (use_quote_double_quotes): New function.
54097         (main): Test it.
54098
54099 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
54100
54101         quotearg-tests: test escaping of embedded locale quotes
54102         * tests/test-quotearg.c (struct result_strings): Add member for
54103         new input.
54104         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
54105         (inputs): Add new input.
54106         (results_g): Add expected results.
54107         (flag_results): Likewise.
54108         (locale_results): Likewise.
54109         (compare_strings): Check those.
54110
54111 2009-08-23  Bruno Haible  <bruno@clisp.org>
54112
54113         Tests for module 'dup3'.
54114         * modules/dup3-tests: New file.
54115         * tests/test-dup3.c: New file.
54116
54117         New module 'dup3'.
54118         * lib/unistd.in.h (dup3): New declaration.
54119         * lib/dup3.c: New file.
54120         * m4/dup3.m4: New file.
54121         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
54122         HAVE_DUP3.
54123         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
54124         * modules/dup3: New file.
54125         * doc/glibc-functions/dup3.texi: Mention the new module.
54126
54127 2009-08-23  Bruno Haible  <bruno@clisp.org>
54128
54129         Tweak the dup2 test.
54130         * tests/test-dup2.c (main): Create the test file empty. Verify that an
54131         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
54132         the test file is still empty. Fix argument order of lseek.
54133
54134 2009-08-23  Bruno Haible  <bruno@clisp.org>
54135
54136         Avoid test link errors when the modules getopt-gnu, gettext are used.
54137         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
54138         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54139
54140 2009-08-23  Bruno Haible  <bruno@clisp.org>
54141
54142         Fix getdtablesize() on mingw.
54143         * lib/getdtablesize.c (getdtablesize): Implement differently.
54144         * lib/unistd.in.h (getdtablesize): Improve comment.
54145
54146 2009-08-23  Bruno Haible  <bruno@clisp.org>
54147
54148         New module 'mkostemp'.
54149         Based on Ulrich Drepper's 2007-08-10 change in glibc.
54150         * lib/stdlib.in.h (mksotemp): New declaration.
54151         * lib/mkostemp.c: New file, from glibc with modifications.
54152         * lib/tempname.h (GT_FILE): Remove outdated comment.
54153         (gen_tempname): Add flags argument.
54154         * lib/tempname.c (__GT_BIGFILE): Remove macro.
54155         (__GT_FILE): Map to 1.
54156         (small_open, large_open): Remove macros.
54157         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
54158         * lib/mkstemp.c (mkstemp): Update.
54159         * lib/mkdtemp.c (mkdtemp): Likewise.
54160         * m4/mkostemp.m4: New file.
54161         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
54162         HAVE_MKOSTEMP.
54163         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
54164         HAVE_MKOSTEMP.
54165         * modules/mkostemp: New file, based on modules/mkstemp.
54166         * doc/glibc-functions/mkostemp.texi: Mention the new module.
54167         * NEWS: Mention the change.
54168
54169 2009-08-23  Bruno Haible  <bruno@clisp.org>
54170
54171         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
54172         Reported by Eric Blake.
54173
54174 2009-08-23  Bruno Haible  <bruno@clisp.org>
54175
54176         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
54177         Reported by Eric Blake.
54178
54179 2009-08-23  Bruno Haible  <bruno@clisp.org>
54180
54181         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
54182         * modules/pipe2 (Depends-on): Likewise.
54183
54184 2009-08-23  Eric Blake  <ebb9@byu.net>
54185
54186         fcntl-h: add O_TTY_INIT support
54187         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
54188         * tests/test-fcntl-h.c (o): Test it.
54189         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
54190
54191         fcntl-h: rename from fcntl, in preparation for fcntl(2)
54192         * modules/fcntl: Move <fcntl.h> header replacement...
54193         * modules/fcntl-h: ...to new name, so as not to collide with
54194         like-named function.
54195         * tests/test-fcntl.c: Rename...
54196         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
54197         * modules/fcntl-tests: Rename...
54198         * modules/fcntl-h-tests: ...to this.  Update test file name.
54199         * modules/chdir-long (Depends-on): Update clients.
54200         * modules/chdir-safer (Depends-on): Likewise.
54201         * modules/fcntl-safer (Depends-on): Likewise.
54202         * modules/fts (Depends-on): Likewise.
54203         * modules/mkancesdirs (Depends-on): Likewise.
54204         * modules/mkdir-p (Depends-on): Likewise.
54205         * modules/open (Depends-on): Likewise.
54206         * modules/savewd (Depends-on): Likewise.
54207         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
54208         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
54209
54210 2009-08-22  Bruno Haible  <bruno@clisp.org>
54211
54212         * modules/binary-io (License): Relicense under LGPL.
54213         * modules/pipe2 (License): Likewise.
54214
54215 2009-08-22  Bruno Haible  <bruno@clisp.org>
54216
54217         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
54218         return value.
54219         * lib/pipe-filter-gi.c (filter_init): Likewise.
54220         Reported by Eric Blake.
54221
54222 2009-08-22  Bruno Haible  <bruno@clisp.org>
54223
54224         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
54225         * modules/pipe (Depends-on): Add pipe2.
54226
54227 2009-08-22  Bruno Haible  <bruno@clisp.org>
54228
54229         Tests for module 'pipe2'.
54230         * modules/pipe2-tests: New file.
54231         * tests/test-pipe2.c: New file.
54232
54233         New module 'pipe2'.
54234         * lib/unistd.in.h (pipe2): New declaration.
54235         * lib/pipe2.c: New file.
54236         * m4/pipe2.m4: New file.
54237         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
54238         HAVE_PIPE2.
54239         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
54240         * modules/pipe2: New file.
54241         * doc/glibc-functions/pipe2.texi: Mention the new module.
54242
54243 2009-08-22  Bruno Haible  <bruno@clisp.org>
54244
54245         Reference some new glibc functions.
54246         * doc/glibc-functions/accept4.texi: New file.
54247         * doc/glibc-functions/dup3.texi: New file.
54248         * doc/glibc-functions/mkostemp.texi: New file.
54249         * doc/glibc-functions/pipe2.texi: New file.
54250         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
54251         (Glibc sys/socket.h): Refer to accept4.
54252         (Glibc unistd.h): Refer to dup3, pipe2.
54253         Reported by Eric Blake.
54254
54255 2009-08-22  Jim Meyering  <meyering@redhat.com>
54256             Bruno Haible  <bruno@clisp.org>
54257
54258         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
54259         This makes it so packages using automake-1.11's silent-rules option
54260         can print e.g., a single "GEN    configmake.h" line, rather than
54261         the 30+ statements that perform the job.  If you want to see the
54262         actual commands, you can still run "make V=1".
54263         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
54264         so that make output is abbreviated when those variables are defined
54265         appropriately.
54266         * modules/argz: Likewise.
54267         * modules/arpa_inet: Likewise.
54268         * modules/byteswap: Likewise.
54269         * modules/configmake: Likewise.
54270         * modules/dirent: Likewise.
54271         * modules/errno: Likewise.
54272         * modules/fcntl: Likewise.
54273         * modules/float: Likewise.
54274         * modules/fnmatch: Likewise.
54275         * modules/getopt-posix: Likewise.
54276         * modules/glob: Likewise.
54277         * modules/iconv_open: Likewise.
54278         * modules/inttypes: Likewise.
54279         * modules/localcharset: Likewise.
54280         * modules/locale: Likewise.
54281         * modules/math: Likewise.
54282         * modules/netdb: Likewise.
54283         * modules/netinet_in: Likewise.
54284         * modules/poll: Likewise.
54285         * modules/posix_spawnp-tests: Likewise.
54286         * modules/sched: Likewise.
54287         * modules/search: Likewise.
54288         * modules/selinux-h: Likewise.
54289         * modules/signal: Likewise.
54290         * modules/spawn: Likewise.
54291         * modules/stdarg: Likewise.
54292         * modules/stdbool: Likewise.
54293         * modules/stddef: Likewise.
54294         * modules/stdint: Likewise.
54295         * modules/stdio: Likewise.
54296         * modules/stdlib: Likewise.
54297         * modules/string: Likewise.
54298         * modules/strings: Likewise.
54299         * modules/sys_file: Likewise.
54300         * modules/sys_ioctl: Likewise.
54301         * modules/sys_select: Likewise.
54302         * modules/sys_socket: Likewise.
54303         * modules/sys_stat: Likewise.
54304         * modules/sys_time: Likewise.
54305         * modules/sys_times: Likewise.
54306         * modules/sys_utsname: Likewise.
54307         * modules/sys_wait: Likewise.
54308         * modules/sysexits: Likewise.
54309         * modules/time: Likewise.
54310         * modules/unistd: Likewise.
54311         * modules/wchar: Likewise.
54312         * modules/wctype: Likewise.
54313
54314 2009-08-22  Jim Meyering  <meyering@redhat.com>
54315
54316         announce-gen: detect write failure
54317         * build-aux/announce-gen: Add Coda at end.
54318         Remove equivalent-but-more-verbose block at top.
54319
54320 2009-08-19  Akim Demaille  <demaille@gostai.com>
54321
54322         bootstrap: --help to stdout.
54323         * bootstrap (usage): Don't send --help to stderr.
54324         Use a here doc instead of a long string.
54325
54326 2009-08-21  Eric Blake  <ebb9@byu.net>
54327
54328         test-popen-safer: split from test-popen
54329         * tests/test-popen.c (main): Move...
54330         * tests/test-popen.h: ...into new file.
54331         * tests/test-popen-safer2.c: New file.
54332         * modules/popen-tests (Files): Add test-popen.h.
54333         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
54334         Suggested by Bruno Haible.
54335
54336         test-fcntl-safer: split from test-open
54337         * tests/test-open.c (main): Move...
54338         * tests/test-open.h: ...into new file.
54339         * tests/test-fcntl-safer.c: New file.
54340         * modules/open-tests (Files): Add test-open.h.
54341         * modules/fcntl-safer-tests: New file.
54342         Suggested by Bruno Haible.
54343
54344         test-fopen-safer: split from test-fopen
54345         * tests/test-fopen.c (main): Move...
54346         * tests/test-fopen.h: ...into new file.
54347         * tests/test-fopen-safer.c: New file.
54348         * modules/fopen-tests (Files): Add test-fopen.h.
54349         * modules/fopen-safer-tests: New file.
54350         Suggested by Bruno Haible.
54351
54352 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
54353
54354         popen-safer: test O_CLOEXEC at run-time.
54355         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
54356
54357 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
54358
54359         fcntl: move more flags to the header
54360         * lib/cloexec.c: Do not define FD_CLOEXEC here.
54361         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
54362         * lib/fcntl.in.h: Do both things here.
54363
54364 2009-08-21  Jim Meyering  <meyering@redhat.com>
54365
54366         consistently remove $@-t before redirecting to it
54367         * modules/argz: Remove $@-t and $@ before redirecting to the former.
54368         * modules/alloca-opt: Likewise.
54369         * modules/byteswap: Likewise.
54370         * modules/fnmatch: Likewise.
54371         * modules/getopt-posix: Likewise.
54372         * modules/glob: Likewise.
54373         * modules/poll: Likewise.
54374         * modules/posix_spawnp-tests: Likewise.
54375         * modules/sys_socket: Likewise.
54376         * modules/sysexits: Likewise.
54377
54378 2009-08-21  Eric Blake  <ebb9@byu.net>
54379
54380         popen: simplify access to original popen
54381         * lib/popen.c (rpl_popen): No need to worry about popen being a
54382         macro.
54383         Reported by Bruno Haible.
54384
54385 2009-08-20  Eric Blake  <ebb9@byu.net>
54386
54387         build: avoid some compiler warnings
54388         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
54389         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
54390         type.
54391         (new_exclude_segment, excluded_file_pattern_p)
54392         (excluded_file_name_p): Reduce scope.
54393         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
54394         old-style declaration.
54395
54396 2009-08-20  Simon Josefsson  <simon@josefsson.org>
54397
54398         * tests/test-exclude1.sh: Handle Windows EOL.
54399         * tests/test-exclude2.sh: Likewise.
54400         * tests/test-exclude3.sh: Likewise.
54401         * tests/test-exclude4.sh: Likewise.
54402         * tests/test-exclude5.sh: Likewise.
54403         * tests/test-exclude6.sh: Likewise.
54404         * tests/test-exclude7.sh: Likewise.
54405
54406 2009-08-19  Akim Demaille  <demaille@gostai.com>
54407
54408         bootstrap: find sha1sum when named gsha1sum.
54409         * bootstrap (find_tool): New.
54410         ($SHA1SUM): New.
54411         Use it.
54412
54413 2009-08-20  Jim Meyering  <meyering@redhat.com>
54414
54415         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
54416         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
54417         expression that converts "." in a file name to "\." in the resulting
54418         regexp.  Start with a dummy statement, so that prior shell variable
54419         definitions are expanded portably.  Reported by Simon Josefsson.
54420
54421 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
54422
54423         Fix polling for writeability of a screen buffer.
54424         * lib/poll.c: Distinguish input and screen buffers for the
54425         Win32 implementation.
54426         * lib/select.c: Likewise.
54427
54428 2009-08-19  Eric Blake  <ebb9@byu.net>
54429
54430         popen-safer: prevent popen from clobbering std descriptors
54431         * modules/popen-safer: New file.
54432         * lib/popen-safer.c: Likewise.
54433         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
54434         * lib/stdio--.h (popen): Provide override.
54435         * lib/stdio-safer.h (popen_safer): Provide declaration.
54436         * tests/test-popen.c (includes): Partially test this.
54437         * modules/popen-safer-tests: New file, for more tests.
54438         * tests/test-popen-safer.c: Likewise.
54439         * MODULES.html.sh (file stream based Input/Output): Mention it.
54440
54441         tests: test some of the *-safer modules
54442         * modules/fopen-safer (Depends-on): Add fopen.
54443         * modules/fcntl-safer (Depends-on): Add fcntl.
54444         * modules/stdlib-safer (Depends-on): Add stdlib.
54445         (configure.ac): Set indicator.
54446         * modules/unistd-safer (configure.ac): Likewise.
54447         * modules/tmpfile-safer (configure.ac): Likewise.
54448         (Depends-on): Add tmpfile.
54449         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
54450         active.
54451         * tests/test-fopen.c (includes): Test safer versions when they are
54452         in use.
54453         * tests/test-open.c (includes): Likewise.
54454
54455         popen: fix cygwin 1.5 bug when stdin closed
54456         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
54457         * modules/popen: New file.
54458         * modules/popen-tests: Likewise.
54459         * tests/test-popen.c: Likewise.
54460         * m4/popen.m4: Likewise.
54461         * lib/popen.c: Likewise.
54462         * lib/stdio.in.h (popen): New declaration.
54463         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
54464         * modules/stdio (Makefile.am): Likewise.
54465         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
54466
54467 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
54468
54469         maint.mk: give full control over update-copyright exclusions
54470         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
54471         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
54472         (update-copyright): Don't force inclusion of top-level
54473         ChangeLog.  Don't force exclusion of all COPYING files, but make
54474         them the default exclusion instead.
54475
54476 2009-08-16  Bruno Haible  <bruno@clisp.org>
54477
54478         Fix test failures on Solaris 10.
54479         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
54480         tests when Solaris iconv() is used.
54481         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
54482         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
54483         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
54484         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
54485         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
54486
54487 2009-08-16  Bruno Haible  <bruno@clisp.org>
54488
54489         Fix test failures on Solaris 10.
54490         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
54491         'tr' program and pass it as first argument.
54492         * tests/test-pipe-filter-gi1.sh: Likewise.
54493         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
54494         program as first argument.
54495         * tests/test-pipe-filter-gi1.c (main): Likewise.
54496
54497 2009-08-16  Eric Blake  <ebb9@byu.net>
54498
54499         fpurge: fix previous commits
54500         * modules/fpurge (Makefile.am): Make replacement conditional,
54501         partially reverting 2007-04-29 change; missed in previous
54502         attempt.
54503         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
54504         is missing.
54505
54506 2009-08-16  Bruno Haible  <bruno@clisp.org>
54507
54508         Clarify fpurge's effect on the file position.
54509         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
54510         * tests/test-fpurge.c (main): Make a second pass for checking the file
54511         position.
54512
54513 2009-08-16  Bruno Haible  <bruno@clisp.org>
54514
54515         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
54516         declaration of fpurge is missing.
54517         * tests/test-fpurge.c (main): Check that the file has not more contents
54518         than expected. Close the file before removing it.
54519
54520 2009-08-15  Eric Blake  <ebb9@byu.net>
54521
54522         fpurge: don't wrap working cygwin implementation
54523         * lib/fpurge.c (fpurge): Fix comment typo.
54524         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
54525         1.7 to avoid replacement.
54526         * tests/test-fpurge.c (main): Enhance test.
54527
54528 2009-08-15  Eric Blake  <ebb9@byu.net>
54529         and Jim Meyering  <meyering@redhat.com>
54530
54531         test-update-copyright: skip if perl is insufficient
54532         * tests/test-update-copyright.sh: Failure to run maintainer tool
54533         should not cause testsuite failure on cygwin 1.5.
54534
54535 2009-08-14  Eric Blake  <ebb9@byu.net>
54536
54537         doc: mention more functions added in cygwin 1.7.0
54538         * doc/posix-headers/limits.texi (limits.h): Update for recent
54539         cygwin additions.
54540         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
54541         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
54542         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
54543         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
54544         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
54545
54546 2009-08-14  Eric Blake  <ebb9@byu.net>
54547
54548         maint.mk: simplify update-copyright rule
54549         * top/maint.mk (update-copyright-local): Delete, and document how
54550         to do it in cfg.mk instead.
54551         (update-copyright-exclude-regexp): Delete, and document how to do
54552         it in .x-update-copyright instead.
54553         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
54554         exclude ChangeLog.
54555
54556 2009-08-14  Bruno Haible  <bruno@clisp.org>
54557
54558         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
54559
54560 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
54561
54562         maint.mk: support update-copyright-env
54563         * top/maint.mk (update-copyright-env): Define place-holder.
54564         (update-copyright): Expand $(update-copyright-env) before
54565         invoking update-copyright.
54566
54567 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
54568
54569         update-copyright: implement forced reformatting
54570         * build-aux/update-copyright: Implement and document
54571         UPDATE_COPYRIGHT_FORCE.
54572         * tests/test-update-copyright.sh: Test it.
54573
54574 2009-08-14  Eric Blake  <ebb9@byu.net>
54575         and Bruno Haible  <bruno@clisp.org>
54576
54577         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
54578         * tests/test-locale.c: Revert previous patch related to NULL.
54579         * tests/test-stdio.c: Likewise.
54580         * tests/test-stdlib.c: Likewise.
54581         * tests/test-string.c: Likewise.
54582         * tests/test-unistd.c: Likewise.
54583         * modules/time-tests (Depends-on): Add verify.
54584         * modules/wchar-tests (Depends-on): Likewise.
54585         * tests/test-time.c: Test for NULL compliance.
54586         * tests/test-wchar.c: Likewise.
54587         * modules/locale (Depends-on): Add stddef.
54588         * modules/stdio (Depends-on): Likewise.
54589         * modules/stdlib (Depends-on): Likewise.
54590         * modules/string (Depends-on): Likewise.
54591         * modules/time (Depends-on): Likewise.
54592         * modules/unistd (Depends-on): Likewise.
54593         * modules/wchar (Depends-on): Likewise.
54594         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
54595         * lib/stdlib.in.h (includes): Likewise.
54596         * lib/string.in.h (includes): Likewise.
54597         * lib/time.in.h (includes): Likewise.
54598         * lib/unistd.in.h (includes): Likewise.
54599         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
54600         replaced.
54601         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
54602         * m4/stddef_h.m4: New file.
54603         * modules/stddef: Likewise.
54604         * lib/stddef.in.h: Likewise.
54605         * modules/stddef-tests: Likewise.
54606         * tests/test-stddef.c: Likewise.
54607         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
54608         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
54609         * doc/posix-headers/locale.texi (locale.h): Likewise.
54610         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
54611         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
54612         * doc/posix-headers/string.texi (string.h): Likewise.
54613         * doc/posix-headers/time.texi (time.h): Likewise.
54614         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
54615         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
54616
54617 2009-08-14  Eric Blake  <ebb9@byu.net>
54618
54619         doc: improve git diff of texinfo files
54620         * .gitattributes: Add rule for *.texi files, with hint on how to
54621         use it.
54622         Copied from m4, and based on a report by Bruno Haible.
54623
54624 2009-08-14  Bruno Haible  <bruno@clisp.org>
54625
54626         Disable multithread support by default on Cygwin 1.5.x for real.
54627         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
54628
54629 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
54630
54631         update-copyright: much ado about intervals
54632         * build-aux/update-copyright: Implement and document
54633         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
54634         of copyright year intervals.
54635         Also, document UPDATE_COPYRIGHT_YEAR.
54636         * tests/test-update-copyright.sh: Test it.
54637
54638         update-copyright: convert 2-digit to 4-digit years
54639         * build-aux/update-copyright: Implement and document.
54640         * tests/test-update-copyright.sh: Update.
54641
54642 2009-08-14  Jim Meyering  <meyering@redhat.com>
54643
54644         test-exclude: avoid coreutils "make check" failure
54645         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
54646         just as in test-argmatch.c.
54647
54648 2009-08-13  Eric Blake  <ebb9@byu.net>
54649
54650         test-dup2: fix bad assumption
54651         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
54652         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
54653
54654         test-version-etc: fix CRLF portability issue
54655         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
54656         recognize \r.
54657         * tests/test-argp-version-etc-1.sh: Likewise.
54658
54659         getopt: update client modules
54660         * modules/argp (Depends-on): Use getopt-gnu.
54661         * modules/git-merge-changelog (Depends-on): Likewise.
54662         * modules/long-options (Depends-on): Likewise.
54663         * modules/xstrtol (Depends-on): Likewise.
54664
54665 2009-08-13  Simon Josefsson  <simon@josefsson.org>
54666
54667         * tests/test-version-etc.sh: Don't fail on different
54668         project/version.  Don't fail on CRLF differences.  Rewrite to use
54669         multiple -e instead of multiple sed forks, suggested by Eric Blake
54670         <ebb9@byu.net>.
54671         * tests/test-argp-version-etc-1.sh: Likewise.
54672
54673 2009-08-13  Simon Josefsson  <simon@josefsson.org>
54674
54675         * tests/test-version-etc.sh: Don't fail on different
54676         project/version.
54677
54678 2009-08-12  Bruno Haible  <bruno@clisp.org>
54679
54680         Tests for modules 'getopt-posix', 'getopt-gnu'.
54681         * modules/getopt-posix-tests: New file.
54682         * tests/test-getopt.c: New file.
54683         * tests/test-getopt.h: New file.
54684         * tests/test-getopt_long.h: New file.
54685
54686         New modules 'getopt-posix', 'getopt-gnu'.
54687         * modules/getopt-gnu: New file, renamed from modules/getopt.
54688         * modules/getopt-posix: New file.
54689         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
54690         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
54691         (gl_GETOPT): Remove macro.
54692         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
54693         Disable the test against BSD systems that declare optreset. Test
54694         against mingw bug. Test against lack of support of optional arguments
54695         on many platforms.
54696         * doc/glibc-headers/getopt.texi: Update module name and list of
54697         relevant platforms.
54698         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
54699         'getopt-gnu' and more portability problems.
54700         * NEWS: Mention the changes.
54701
54702 2009-08-12  Bruno Haible  <bruno@clisp.org>
54703
54704         Ensure that optarg etc. get declared by <unistd.h>.
54705         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
54706         AC_USE_SYSTEM_EXTENSIONS.
54707         * modules/getopt (Depends-on): Add 'extensions'.
54708
54709 2009-08-12  Bruno Haible  <bruno@clisp.org>
54710
54711         Avoid test link errors.
54712         * modules/pipe-filter-ii-tests (Makefile.am): Define
54713         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
54714         * modules/pipe-filter-gi-tests (Makefile.am): Define
54715         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
54716         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54717
54718 2009-08-12  Bruno Haible  <bruno@clisp.org>
54719
54720         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
54721         gl_GETOPT_SUBSTITUTE before.
54722         (gl_GETOPT): Use it.
54723         * m4/argp.m4 (gl_ARGP): Update.
54724         Reported by Sergey Poznyakoff.
54725
54726         * m4/getopt.m4: Reorder macros.
54727         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
54728         (gl_GETOPT_SUBSTITUTE): Remove macro.
54729
54730 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54731
54732         Minor improvement in gitlog-to-changelog
54733
54734         * build-aux/gitlog-to-changelog: New option `--format' makes
54735         output format string configurable.
54736
54737 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54738
54739         Optimize exclude: use hash tables for non-wildcard patterns.
54740
54741         * lib/exclude.c: Include hash.h and mbuiter.h
54742         (struct exclude_pattern, exclude_segment): New data types.
54743         (struct exclude): Rewrite.
54744         (fnmatch_pattern_has_wildcards): New function.
54745         (new_exclude_segment, free_exclude_segment): New functions.
54746         (excluded_file_pattern_p, excluded_file_name_p): New functions.
54747         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
54748         * lib/exclude.h (is_fnmatch_pattern): New prototype.
54749         * modules/exclude: Depend on hash and mbuiter.
54750
54751         * modules/exclude-tests: New file.
54752         * tests/test-exclude.c: New file.
54753         * tests/test-exclude1.sh: New file.
54754         * tests/test-exclude2.sh: New file.
54755         * tests/test-exclude3.sh: New file.
54756         * tests/test-exclude4.sh: New file.
54757         * tests/test-exclude5.sh: New file.
54758         * tests/test-exclude6.sh: New file.
54759         * tests/test-exclude7.sh: New file.
54760
54761 2009-08-12  Bruno Haible  <bruno@clisp.org>
54762
54763         Ensure that getopt() gets declared by <unistd.h>.
54764         * lib/unistd.in.h: Conditionally include getopt.h.
54765         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
54766         Set GNULIB_UNISTD_H_GETOPT.
54767         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54768         GNULIB_UNISTD_H_GETOPT.
54769         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
54770
54771 2009-08-12  Bruno Haible  <bruno@clisp.org>
54772
54773         Clarify logic.
54774         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
54775         gl_replace_getopt instead of GETOPT_H.
54776
54777 2009-08-12  Bruno Haible  <bruno@clisp.org>
54778
54779         * m4/getopt.m4: Add comments.
54780
54781 2009-08-12  Bruno Haible  <bruno@clisp.org>
54782
54783         Disable multithread support by default on Cygwin 1.5.x.
54784         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
54785         set gl_use_threads=no if not specified otherwise.
54786
54787 2009-08-11  Bruno Haible  <bruno@clisp.org>
54788
54789         Avoid compilation error on NetBSD 5.0.
54790         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
54791         * tests/test-stdio.c: Likewise.
54792         * tests/test-stdlib.c: Likewise.
54793         * tests/test-string.c: Likewise.
54794         * tests/test-unistd.c: Likewise.
54795         Reported by Greg Troxel <gdt@ir.bbn.com>
54796         at <https://savannah.gnu.org/support/?106973>.
54797
54798 2009-08-11  Bruno Haible  <bruno@clisp.org>
54799
54800         * modules/dup2-tests (Depends-on): Remove close.
54801
54802         Undo 2009-07-19 commit.
54803         * modules/acl-tests (Depends-on): Remove close.
54804         * modules/binary-io-tests (Depends-on): Likewise.
54805         * modules/closein-tests (Depends-on): Likewise.
54806         * modules/flock-tests (Depends-on): Likewise.
54807         * modules/fsync-tests (Depends-on): Likewise.
54808         * modules/lseek-tests (Depends-on): Likewise.
54809         * modules/pipe-tests (Depends-on): Likewise.
54810         * modules/posix_spawn-tests (Depends-on): Likewise.
54811         * modules/posix_spawnp-tests (Depends-on): Likewise.
54812         * modules/stat-time-tests (Depends-on): Likewise.
54813         * modules/yesno-tests (Depends-on): Likewise.
54814
54815 2009-08-10  Bruno Haible  <bruno@clisp.org>
54816
54817         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
54818
54819 2009-08-10  Bruno Haible  <bruno@clisp.org>
54820
54821         Fix a gcc warning.
54822         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
54823
54824 2009-08-10  Bruno Haible  <bruno@clisp.org>
54825
54826         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
54827         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
54828         not only the first time.
54829         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
54830         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
54831         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
54832         is 1, not only the the first time.
54833
54834 2009-08-10  Bruno Haible  <bruno@clisp.org>
54835
54836         Make it possible to use module 'gethostname' without module 'close'.
54837         * lib/unistd.in.h (close): Evoke a link error only if
54838         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
54839         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54840         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
54841         * modules/unistd (Makefile.am): Substitute
54842         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
54843         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
54844         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
54845         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
54846         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
54847         * modules/sys_ioctl (Makefile.am): Substitute
54848         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
54849         * modules/socket (configure.ac): On native Windows, set
54850         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
54851         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
54852         Reported by Sam Steingold <sds@gnu.org>.
54853
54854 2009-08-10  Bruno Haible  <bruno@clisp.org>
54855
54856         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
54857         * modules/ioctl (configure.ac): Likewise.
54858
54859 2009-08-10  Bruno Haible  <bruno@clisp.org>
54860
54861         Avoid collision between gnulib wrapper and libintl wrapper.
54862         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
54863         already defined in intl/printf.c.
54864         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
54865         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
54866
54867 2009-08-09  Bruno Haible  <bruno@clisp.org>
54868
54869         Make <sys/select.h> really self-contained, also on Solaris 10.
54870         * lib/sys_select.in.h: Include <string.h>.
54871         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
54872         Solaris 10 problem.
54873         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
54874         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
54875         Reported by Jim Meyering.
54876
54877 2009-08-09  Bruno Haible  <bruno@clisp.org>
54878
54879         Avoid warnings from 'aclocal' that are due to a use of macro name
54880         AM_XGETTEXT_OPTION that is not defined in automake.
54881         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
54882         automake.
54883         * modules/error (configure.ac): Likewise.
54884         * modules/propername (configure.ac): Likewise.
54885         * modules/vasprintf (configure.ac): Likewise.
54886         * modules/verror (configure.ac): Likewise.
54887         * modules/xprintf (configure.ac): Likewise.
54888         * modules/xvasprintf (configure.ac): Likewise.
54889
54890 2009-08-08  Bruno Haible  <bruno@clisp.org>
54891
54892         Avoid compilation error in C++ mode.
54893         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
54894         Reported by Sam Steingold <sds@gnu.org>.
54895
54896 2009-08-08  Bruno Haible  <bruno@clisp.org>
54897
54898         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
54899         for the various Unix platforms.
54900         * doc/posix-headers/limits.texi: Update platforms list regarding
54901         HOST_NAME_MAX.
54902         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54903
54904 2009-08-07  Jim Meyering  <meyering@redhat.com>
54905
54906         selinux-at: fix typo in a comment
54907         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
54908         Spotted by Paolo Bonzini.
54909
54910         selinux-at: remove redundant m4 code, add documentation
54911         * modules/selinux-at (configure.ac): Remove redundant code.
54912         LIB_SELINUX is already set via the dependent module, selinux-h.
54913         (Include): Add quotes around selinux-at.h.
54914         * lib/selinux-at.h: Add documentation.
54915         Reported by Bruno Haible in
54916         http://marc.info/?l=gnulib-bug&m=124958988300749
54917
54918 2009-08-07  Bruno Haible  <bruno@clisp.org>
54919
54920         Avoid link error on MacOS X 10.3 and 10.4.
54921         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
54922         on non-ELF systems.
54923         * lib/argp-pv.c (argp_program_version): Likewise.
54924         Reported by Simon Josefsson.
54925
54926 2009-08-07  Simon Josefsson  <simon@josefsson.org>
54927
54928         * tests/test-version-etc.sh: Use $EXEEXT.
54929
54930 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
54931
54932         update-copyright: update documentation to point to maint.mk
54933         * build-aux/update-copyright: Here.
54934
54935 2009-08-06  Jim Meyering  <meyering@redhat.com>
54936
54937         maint.mk: support update-copyright-local
54938         * top/maint.mk (update-copyright-local): Define place-holder.
54939         (update-copyright): Depend on $(update-copyright-local).
54940
54941 2009-08-06  Jim Meyering  <meyering@redhat.com>
54942
54943         selinux-at: new module
54944         Initially written for coreutils, this module will soon be
54945         used by findutils, too.
54946         * MODULES.html.sh [Misc]: Add selinux-at.
54947         * lib/selinux-at.h: New file, from coreutils.
54948         * lib/selinux-at.c: Likewise.
54949         * modules/selinux-at: Likewise.
54950         (License): Change from LGPL to GPL, since it depends
54951         on the GPL'd openat module.
54952
54953         doc: update README
54954         * README: Remove references to cogito.
54955         Remove cvs-repo-updating instructions from 2007.
54956         Don't imply that CVS is better if you have limited disk space.
54957
54958 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
54959
54960         update-copyright: support C-style comments
54961         * build-aux/update-copyright: Implement and document.
54962         * tests/test-update-copyright.sh: Test.
54963
54964 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
54965
54966         update-copyright: support omitted "(C)"
54967         * build-aux/update-copyright: Implement and document.  Also,
54968         allow variable whitespace before "(C)".
54969         * tests/test-update-copyright.sh: Test.
54970
54971 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
54972
54973         update-copyright: don't trip on non-FSF copyright statements
54974         * build-aux/update-copyright: Fix so that the first correctly
54975         formatted FSF copyright statement is recognized no matter what
54976         appears before it.  Update documentation.
54977         * tests/test-update-copyright.sh: Test that.
54978
54979 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
54980
54981         update-copyright: clean up code a little
54982         * build-aux/update-copyright: Append "_re" to the name of any
54983         variable holding a regular expression.
54984         Replace "old" and "new" with "stmt" in variable names.
54985         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
54986         handled correctly.
54987         Format code more consistently.
54988
54989 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
54990
54991         update-copyright-tests: improve portability
54992         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
54993         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
54994
54995 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
54996
54997         update-copyright: support @copyright{} and &copy;
54998         * build-aux/update-copyright: Implement and document.
54999         * tests/test-update-copyright.sh: Test.
55000
55001 2009-08-04  Jim Meyering  <meyering@redhat.com>
55002
55003         update-copyright-tests: correctly test EOL=\r\n handling
55004         * tests/test-update-copyright.sh: Put \r at the end of some lines
55005         for the dos-eol tests.  Based on a patch by Joel E. Denny.
55006
55007         maint.mk: make update-copyright exclusion list more configurable
55008         * top/maint.mk (update-copyright): Default to excluding COPYING,
55009         but allow an override, in case someone does want to update that file.
55010
55011         maint.mk: don't update copyright date in COPYING
55012         * top/maint.mk (update-copyright): Exclude COPYING.
55013
55014         maint.mk: add a copyright-updating rule
55015         * top/maint.mk (update-copyright): New rule.
55016         Derived from coreutils/Makefile.am.
55017
55018         update-copyright: rename some variables
55019         * build-aux/update-copyright: Rename a few variables for clarity.
55020         Tweak syntax.  List Joel E. Denny as coauthor.
55021
55022 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
55023
55024         update-copyright: fix bug for 2-digit last year and add tests
55025         * build-aux/update-copyright: Fix bug.
55026         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
55027         specified.
55028         * modules/update-copyright-tests: New
55029         * tests/test-update-copyright.sh: New.
55030
55031 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
55032
55033         update-copyright: handle leading tabs in line prefix
55034         * build-aux/update-copyright: Count leading tabs as 8 spaces
55035         when computing margin.  This helps with the formatting of
55036         ChangeLogs, for example.
55037         Fix documentation a little.
55038
55039 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
55040
55041         update-copyright: support EOL=\r\n
55042         * build-aux/update-copyright: Implement that.
55043
55044 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
55045
55046         update-copyright: automatically format copyright statements
55047         * build-aux/update-copyright: Implement that.
55048         Also, be a little more predictable and safer by always failing
55049         when the full copyright format is not perfectly recognized as an
55050         unbroken whole.  Discussed at
55051         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
55052         Rewrite documentation.
55053
55054 2009-08-03  Bruno Haible  <bruno@clisp.org>
55055
55056         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
55057
55058 2009-08-02  Bruno Haible  <bruno@clisp.org>
55059
55060         Tests for module 'uname'.
55061         * modules/uname-tests: New file.
55062         * tests/test-uname.c: New file.
55063
55064         New module 'uname'.
55065         * lib/uname.c: New file.
55066         * m4/uname.m4: New file.
55067         * modules/uname: New file.
55068         * doc/posix-functions/uname.texi: Mention the new module.
55069
55070 2009-08-02  Bruno Haible  <bruno@clisp.org>
55071
55072         Tests for module 'sys_utsname'.
55073         * modules/sys_utsname-tests: New file.
55074         * tests/test-sys_utsname.c: New file.
55075
55076         New module 'sys_utsname'.
55077         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
55078         * m4/sys_utsname_h.m4: New file.
55079         * modules/sys_utsname: New file.
55080         * doc/posix-headers/sys_utsname.texi: Mention the new module.
55081
55082 2009-08-02  Bruno Haible  <bruno@clisp.org>
55083
55084         Implicitly initialize the sockets library.
55085         * lib/gethostname.c: Include sockets.h.
55086         (rpl_gethostname): Invoke gl_sockets_startup.
55087         * lib/socket.c: Include sockets.h.
55088         (rpl_socket): Invoke gl_sockets_startup.
55089         * modules/gethostname (Depends-on): Add sockets.
55090         * modules/socket (Depends-on): Likewise.
55091         * tests/test-poll.c: Don't include sockets.h.
55092         (main): Don't invoke gl_sockets_startup.
55093         * tests/test-select.c: Don't include sockets.h.
55094         (main): Don't invoke gl_sockets_startup.
55095
55096 2009-08-02  Bruno Haible  <bruno@clisp.org>
55097
55098         Allow multiple calls to gl_sockets_startup.
55099         * lib/sockets.c (initialized_sockets_version): New variable.
55100         (gl_sockets_startup): Do nothing if already called for this or a higher
55101         version.
55102         (gl_sockets_cleanup): Reset initialized_sockets_version.
55103
55104 2009-08-03  Simon Josefsson  <simon@josefsson.org>
55105
55106         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
55107         different project/version.
55108
55109 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
55110             Bruno Haible  <bruno@clisp.org>
55111
55112         Tests for module 'pipe-filter-gi'.
55113         * modules/pipe-filter-gi-tests: New file.
55114         * tests/test-pipe-filter-gi1.sh: New file.
55115         * tests/test-pipe-filter-gi1.c: New file.
55116         * tests/test-pipe-filter-gi2.sh: New file.
55117         * tests/test-pipe-filter-gi2-main.c: New file.
55118         * tests/test-pipe-filter-gi2-child.c: New file.
55119
55120         New module 'pipe-filter-gi'.
55121         * lib/pipe-filter-gi.c: New file.
55122         * modules/pipe-filter-gi: New file.
55123
55124 2009-08-02  Bruno Haible  <bruno@clisp.org>
55125             Paolo Bonzini  <bonzini@gnu.org>
55126
55127         Tests for module 'pipe-filter-ii'.
55128         * modules/pipe-filter-ii-tests: New file.
55129         * tests/test-pipe-filter-ii1.sh: New file.
55130         * tests/test-pipe-filter-ii1.c: New file.
55131         * tests/test-pipe-filter-ii2.sh: New file.
55132         * tests/test-pipe-filter-ii2-main.c: New file.
55133         * tests/test-pipe-filter-ii2-child.c: New file.
55134
55135         New module 'pipe-filter-ii'.
55136         * lib/pipe-filter.h: New file.
55137         * lib/pipe-filter-ii.c: New file.
55138         * lib/pipe-filter-aux.h: New file.
55139         * modules/pipe-filter-ii: New file.
55140
55141 2009-08-02  Simon Josefsson  <simon@josefsson.org>
55142
55143         * lib/gc-libgcrypt.c: Change copyright to FSF.
55144         * lib/gc-gnulib.c: Likewise.
55145
55146 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
55147
55148         * lib/gethostname.c: Include limits.h.
55149
55150 2009-08-02  Simon Josefsson  <simon@josefsson.org>
55151             Bruno Haible  <bruno@clisp.org>
55152
55153         Ensure HOST_NAME_MAX as part of the gethostname module.
55154         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
55155         define also HOST_NAME_MAX.
55156         * tests/test-gethostname.c: Include <limits.h>.
55157         (main): Check also HOST_NAME_MAX.
55158         * doc/posix-headers/limits.texi: Document the mingw problem.
55159
55160 2009-08-02  Bruno Haible  <bruno@clisp.org>
55161
55162         * lib/gethostname.c (gethostname): Fix handling of large len argument.
55163         Add comments.
55164
55165 2009-03-31  Simon Josefsson  <simon@josefsson.org>
55166
55167         * lib/gethostname.c: Add Windows wrapper.
55168         * m4/gethostname.m4: Look for gethostname in -lws2_32.
55169         * modules/gethostname: Depend on sys_socket & errno, for also
55170         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
55171         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
55172
55173 2009-07-31  Jim Meyering  <meyering@redhat.com>
55174
55175         getloadavg: fix symbol name in comment
55176         * lib/getloadavg.c: Correct a typo I introduced when adding
55177         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
55178         Matt Kraai spotted the problem.
55179
55180 2009-07-29  Matt Kraai  <mkraai@beckman.com>
55181
55182         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
55183         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
55184         code also if ! defined N_NAME_POINTER.
55185         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
55186         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
55187         but the n_name member is a 12-byte array.
55188
55189 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
55190
55191         update-copyright: generalize comment handling
55192         * build-aux/update-copyright: Handle copyright statements
55193         within more comment styles.
55194         Document usage.
55195         Report any file with an external copyright holder or parse failure.
55196
55197 2009-07-29  Jim Meyering  <meyering@redhat.com>
55198
55199         mktime: correct setting of REPLACE_MKTIME
55200         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
55201
55202         update-copyright: new module
55203         * modules/update-copyright: New file.
55204         * build-aux/update-copyright: New file.
55205         * MODULES.html.sh (maint+release support): Add update-copyright.
55206
55207 2009-07-27  Bruno Haible  <bruno@clisp.org>
55208
55209         Fix compilation error when <ctime> is used and mktime is replaced.
55210         * lib/time.in.h (mktime): New declaration.
55211         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
55212         REPLACE_MKTIME instead of defining mktime in config.h.
55213         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
55214         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
55215         Reported by Ross McFarland <rwmcfa1@neces.com>.
55216
55217 2009-07-27  Bruno Haible  <bruno@clisp.org>
55218
55219         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
55220         Reported by Matt Kraai <mkraai@beckman.com>.
55221
55222 2009-07-25  Jim Meyering  <meyering@redhat.com>
55223
55224         maint.mk: avoid warnings about missing files
55225         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
55226         diagnostic when .prev-version does not exist.
55227         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
55228         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
55229         nonexistent cfg.mk.
55230         Suggestions from Simon Josefsson.
55231
55232 2009-07-25  Bruno Haible  <bruno@clisp.org>
55233
55234         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
55235         defined as macros. Needed on QNX 6.4.1.
55236         Reported by Matt Kraai <mkraai@beckman.com>.
55237
55238 2009-07-23  Jim Meyering  <meyering@redhat.com>
55239
55240         maint.mk: invoke "make dist" with a working value of XZ_OPT
55241         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
55242
55243 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
55244
55245         Make fseeko.c compile on QNX.
55246         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
55247
55248 2009-07-22  Peter Simons  <simons@cryp.to>
55249
55250         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
55251         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
55252         * lib/md4.h: Likewise.
55253         * lib/md5.h: Likewise.
55254         * lib/sha1.h: Likewise.
55255         * lib/sha256.h: Likewise.
55256         * lib/sha512.h: Likewise.
55257
55258         tests-sha1: don't assign literal string to 'char *' variable
55259         * tests/test-sha1.c (main): Declare locals with "const" to match
55260         attributes of the right hand side.
55261
55262 2009-07-21  Eric Blake  <ebb9@byu.net>
55263
55264         dup2: fix more mingw problems
55265         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
55266         fd to itself.
55267         * doc/posix-functions/dup2.texi (dup2): Document the bug.
55268         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
55269         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
55270         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
55271         care of mingw bugs.
55272
55273 2009-07-21  Jim Meyering  <meyering@redhat.com>
55274
55275         vc-list-files: avoid failure when /bin/sh is dash
55276         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
55277         On some Debian based systems, /bin/sh is a symlink to dash, and running
55278         this command would omit the "/" following each 'tests' prefix:
55279           dash -x build-aux/vc-list-files -C . tests
55280         That is because bash and dash work differently:
55281           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
55282           bash ok
55283           dash odd
55284
55285 2009-07-21  Eric Blake  <ebb9@byu.net>
55286
55287         dup2-tests: test previous patch
55288         * modules/dup2-tests: New file.
55289         * tests/test-dup2.c: Likewise.
55290         * tests/test-open.c (main): Avoid unspecified behavior.
55291         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
55292         test.
55293
55294         dup2: work around mingw and cygwin 1.5 bug
55295         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
55296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
55297         * modules/unistd (Makefile.am): Substitute it.
55298         * lib/unistd.in.h (dup2): Declare the replacement.
55299         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
55300         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
55301         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
55302         * modules/execute (Depends-on): Add dup2.
55303         * modules/fseterr (Depends-on): Likewise.
55304         * modules/pipe (Depends-on): Likewise.
55305         * modules/posix_spawn-internal (Depends-on): Likewise.
55306
55307 2009-07-21  Bruno Haible  <bruno@clisp.org>
55308
55309         * modules/.gitattributes: New file.
55310
55311 2009-07-20  Bruno Haible  <bruno@clisp.org>
55312
55313         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
55314         (main): Use it.
55315
55316 2009-07-20  Eric Blake  <ebb9@byu.net>
55317
55318         test-pipe: make a bit more robust.
55319         * tests/test-pipe.c (myerr): Allow error messages regardless of
55320         what we do to stderr.
55321         (test_pipe): Rearrange to avoid deadlock.
55322         (child_main): Try a larger read, to ensure we avoided deadlock.
55323         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
55324         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
55325         if misused.
55326
55327 2009-07-19  Jim Meyering  <meyering@redhat.com>
55328
55329         fts: avoid false-positive cycle-detection
55330         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
55331         for each new command line argument.
55332
55333 2009-07-19  Bruno Haible  <bruno@clisp.org>
55334
55335         Fix build error on mingw with the modules sys_select and unistd.
55336         * modules/acl-tests (Depends-on): Add close.
55337         * modules/binary-io-tests (Depends-on): Likewise.
55338         * modules/closein-tests (Depends-on): Likewise.
55339         * modules/flock-tests (Depends-on): Likewise.
55340         * modules/fsync-tests (Depends-on): Likewise.
55341         * modules/lseek-tests (Depends-on): Likewise.
55342         * modules/pipe-tests (Depends-on): Likewise.
55343         * modules/posix_spawn-tests (Depends-on): Likewise.
55344         * modules/posix_spawnp-tests (Depends-on): Likewise.
55345         * modules/stat-time-tests (Depends-on): Likewise.
55346         * modules/yesno-tests (Depends-on): Likewise.
55347
55348 2009-07-19  Bruno Haible  <bruno@clisp.org>
55349
55350         Unify conditionals.
55351         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
55352         macros, not at the compiler macros.
55353         * lib/pipe.c: Likewise.
55354         * lib/execute.c: Likewise.
55355         * lib/spawni.c: Likewise.
55356
55357 2009-07-19  Bruno Haible  <bruno@clisp.org>
55358
55359         Fix handling of closed stdin/stdout/stderr on mingw.
55360         * lib/w32spawn.h: Include unistd.h.
55361         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
55362         file descriptor with O_NOINHERIT flag.
55363         (fd_safer_noinherit): New function, based on fd-safer.c.
55364         (dup_safer_noinherit): New function, based on dup-safer.c.
55365         (undup_safer_noinherit): New function.
55366         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
55367         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
55368         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
55369         instead of fd_safer.
55370         * tests/test-pipe.c: Include <windows.h>.
55371         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
55372         result.
55373
55374         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
55375         from main.
55376         (test_pipe): Pass an extra argument for disambiguation.
55377         (main): Invoke parent_main or child_main.
55378
55379         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
55380         consistently.
55381
55382 2009-07-18  Eric Blake  <ebb9@byu.net>
55383
55384         test-pipe: fix mingw build
55385         * tests/test-pipe.c (main): Avoid fcntl on mingw.
55386
55387 2009-07-18  Bruno Haible  <bruno@clisp.org>
55388
55389         * modules/pipe-tests (Makefile.am): Fix typo.
55390
55391 2009-07-18  Eric Blake  <ebb9@byu.net>
55392
55393         error: fix mingw build
55394         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
55395         Reported by Bruno Haible.
55396
55397         error: avoid undefined use of stdout
55398         * lib/error.c (error, error_at_line): Check that fd 1 is open
55399         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
55400         is handling faults and the close_stdout module wants to report the
55401         detection of closed stdout as an error.
55402
55403 2009-07-17  Eric Blake  <ebb9@byu.net>
55404
55405         pipe: be robust in face of closed fds
55406         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
55407         should cause child to misbehave.
55408         * modules/pipe-tests: New module.
55409         * tests/test-pipe.c: New file.
55410         * tests/test-pipe.sh: New file.
55411         Reported by Akim Demaille.
55412
55413 2009-07-14  Bruno Haible  <bruno@clisp.org>
55414
55415         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
55416         Reported by anonymous kc.
55417
55418 2009-07-07  Jim Meyering  <meyering@redhat.com>
55419
55420         maint.mk: don't look for translatable strings in *.m4 or *.mk
55421         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
55422         when searching for translatable strings.
55423
55424 2009-07-05  Jim Meyering  <meyering@redhat.com>
55425
55426         remove superfluous parentheses in STREQ definition
55427         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
55428         * lib/getugroups.c (STREQ): Likewise.
55429         * lib/fnmatch.c (STREQ): Likewise.
55430         Spotted by Bruno Haible.
55431
55432 2009-07-04  Jim Meyering  <meyering@redhat.com>
55433
55434         argv-iter: new module
55435         * MODULES.html.sh: Add argv-iter.
55436         * lib/argv-iter.c, lib/argv-iter.h: New files.
55437         * modules/argv-iter: New file.
55438         * modules/argv-iter-tests: New file.
55439         * tests/test-argv-iter.c: Test it.
55440
55441 2009-07-04  Bruno Haible  <bruno@clisp.org>
55442
55443         Fix assertion.
55444         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
55445         contains more exact copies of a given entry than file2, leave the extra
55446         copies unpaired rather than aborting.
55447         Reported by Eric Blake.
55448
55449 2009-07-02  Bruno Haible  <bruno@clisp.org>
55450
55451         Speedup git-merge-changelog for git cherry-pick.
55452         * lib/git-merge-changelog.c (struct entries_mapping): New type.
55453         (entries_mapping_get): New function, extracted from compute_mapping.
55454         (entries_mapping_reverse_get): New function.
55455         (compute_mapping): Add a 'full' argument. Return the result in a
55456         'struct entries_mapping'.
55457         (main): Update. Access the mappings through entries_mapping_get.
55458         Reported by Eric Blake.
55459
55460 2009-07-02  Bruno Haible  <bruno@clisp.org>
55461
55462         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
55463         best_i.
55464
55465 2009-07-02  Bruno Haible  <bruno@clisp.org>
55466
55467         Speed up approximate search for matching ChangeLog entries.
55468         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
55469         argument. Call fstrcmp_bounded instead of fstrcmp.
55470         (compute_mapping, try_split_merged_entry, main): Update callers.
55471
55472 2009-07-02  Bruno Haible  <bruno@clisp.org>
55473
55474         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
55475
55476 2009-06-30  Bruno Haible  <bruno@clisp.org>
55477
55478         Reduce the number of uc_is_cased calls.
55479         * lib/unicase.h (casing_suffix_context_t): Add
55480         'first_char_except_ignorable' field.
55481         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
55482         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
55483         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
55484         Update initializer.
55485         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
55486         case-ignorable characters.
55487         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
55488         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
55489         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
55490         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
55491         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
55492
55493 2009-06-30  Bruno Haible  <bruno@clisp.org>
55494
55495         Tests for module 'unicase/ignorable'.
55496         * modules/unicase/ignorable-tests: New file.
55497         * tests/unicase/test-ignorable.c: New file, generated by
55498         gen-uni-tables.
55499
55500         Tests for module 'unicase/cased'.
55501         * modules/unicase/cased-tests: New file.
55502         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
55503         * tests/unicase/test-predicate-part1.h: New file, derived from
55504         tests/unictype/test-predicate-part1.h.
55505         * tests/unicase/test-predicate-part2.h: New file, same as
55506         tests/unictype/test-predicate-part2.h.
55507
55508         Fix evaluation of "Before C" condition of FINAL_SIGMA.
55509         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
55510         (output_casing_properties): New function.
55511         (main): Call it.
55512         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
55513         * lib/unicase/cased.c: Include unictype/bitmap.h.
55514         (uc_is_cased): Define through a bitmap lookup.
55515         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
55516         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
55517         (uc_is_case_ignorable): Define through a bitmap lookup.
55518         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
55519         lib/unictype/bitmap.h.
55520         (Depends-on): Add inline. Clean up.
55521         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
55522         lib/unictype/bitmap.h.
55523         (Depends-on): Add inline. Clean up.
55524         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
55525         recognition.
55526         * tests/unicase/test-u16-tolower.c (main): Likewise.
55527         * tests/unicase/test-u32-tolower.c (main): Likewise.
55528
55529 2009-06-30  Bruno Haible  <bruno@clisp.org>
55530
55531         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
55532         * lib/unicase/u16-casemap.c: Likewise.
55533         * lib/unicase/u32-casemap.c: Likewise.
55534
55535 2009-06-29  Bruno Haible  <bruno@clisp.org>
55536
55537         Define u32_casefold as a wrapper around u32_ct_casefold.
55538         * lib/unicase/u32-casefold.c: Update.
55539         * modules/unicase/u32-casefold (Depends-on): Add
55540         unicase/u32-ct-casefold, unicase/empty-prefix-context,
55541         unicase/empty-suffix-context. Clean up.
55542
55543         Define u16_casefold as a wrapper around u16_ct_casefold.
55544         * lib/unicase/u16-casefold.c: Update.
55545         * modules/unicase/u16-casefold (Depends-on): Add
55546         unicase/u16-ct-casefold, unicase/empty-prefix-context,
55547         unicase/empty-suffix-context. Clean up.
55548
55549         Define u8_casefold as a wrapper around u8_ct_casefold.
55550         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
55551         * lib/unicase/u8-casefold.c: Update.
55552         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
55553         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
55554
55555         Define u32_totitle as a wrapper around u32_ct_totitle.
55556         * lib/unicase/u32-totitle.c: Update.
55557         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
55558         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
55559
55560         Define u16_totitle as a wrapper around u16_ct_totitle.
55561         * lib/unicase/u16-totitle.c: Update.
55562         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
55563         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
55564
55565         Define u8_totitle as a wrapper around u8_ct_totitle.
55566         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
55567         functions.
55568         (FUNC): Delegate to U_CT_TOTITLE.
55569         * lib/unicase/u8-totitle.c: Update.
55570         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
55571         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
55572
55573         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
55574         invocation.
55575         * modules/unicase/u32-tolower (Depends-on): Add
55576         unicase/empty-prefix-context, unicase/empty-suffix-context.
55577
55578         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
55579         invocation.
55580         * modules/unicase/u16-tolower (Depends-on): Add
55581         unicase/empty-prefix-context, unicase/empty-suffix-context.
55582
55583         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
55584         * modules/unicase/u8-tolower (Depends-on): Add
55585         unicase/empty-prefix-context, unicase/empty-suffix-context.
55586
55587         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
55588         invocation.
55589         * modules/unicase/u32-toupper (Depends-on): Add
55590         unicase/empty-prefix-context, unicase/empty-suffix-context.
55591
55592         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
55593         invocation.
55594         * modules/unicase/u16-toupper (Depends-on): Add
55595         unicase/empty-prefix-context, unicase/empty-suffix-context.
55596
55597         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
55598         * modules/unicase/u8-toupper (Depends-on): Add
55599         unicase/empty-prefix-context, unicase/empty-suffix-context.
55600
55601         New module 'unicase/u32-ct-casefold'.
55602         * lib/unicase/u32-ct-casefold.c: New file.
55603         * modules/unicase/u32-ct-casefold: New file.
55604
55605         New module 'unicase/u16-ct-casefold'.
55606         * lib/unicase/u16-ct-casefold.c: New file.
55607         * modules/unicase/u16-ct-casefold: New file.
55608
55609         New module 'unicase/u8-ct-casefold'.
55610         * lib/unicase/u8-ct-casefold.c: New file.
55611         * lib/unicase/u-ct-casefold.h: New file, derived from
55612         lib/unicase/u-casefold.h.
55613         * modules/unicase/u8-ct-casefold: New file.
55614
55615         New module 'unicase/u32-ct-totitle'.
55616         * lib/unicase/u32-ct-totitle.c: New file.
55617         * modules/unicase/u32-ct-totitle: New file.
55618
55619         New module 'unicase/u16-ct-totitle'.
55620         * lib/unicase/u16-ct-totitle.c: New file.
55621         * modules/unicase/u16-ct-totitle: New file.
55622
55623         New module 'unicase/u8-ct-totitle'.
55624         * lib/unicase/u8-ct-totitle.c: New file.
55625         * lib/unicase/u-ct-totitle.h: New file, derived from
55626         lib/unicase/u-totitle.h.
55627         * modules/unicase/u8-ct-totitle: New file.
55628
55629         New module 'unicase/u32-ct-tolower'.
55630         * lib/unicase/u32-ct-tolower.c: New file.
55631         * modules/unicase/u32-ct-tolower: New file.
55632
55633         New module 'unicase/u16-ct-tolower'.
55634         * lib/unicase/u16-ct-tolower.c: New file.
55635         * modules/unicase/u16-ct-tolower: New file.
55636
55637         New module 'unicase/u8-ct-tolower'.
55638         * lib/unicase/u8-ct-tolower.c: New file.
55639         * modules/unicase/u8-ct-tolower: New file.
55640
55641         New module 'unicase/u32-ct-toupper'.
55642         * lib/unicase/u32-ct-toupper.c: New file.
55643         * modules/unicase/u32-ct-toupper: New file.
55644
55645         New module 'unicase/u16-ct-toupper'.
55646         * lib/unicase/u16-ct-toupper.c: New file.
55647         * modules/unicase/u16-ct-toupper: New file.
55648
55649         New module 'unicase/u8-ct-toupper'.
55650         * lib/unicase/u8-ct-toupper.c: New file.
55651         * modules/unicase/u8-ct-toupper: New file.
55652
55653         Add context arguments to u*_casemap functions.
55654         * lib/unicase/unicasemap.h: Include unicase.h.
55655         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
55656         suffix_context arguments.
55657         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
55658         functions.
55659         (FUNC): Add prefix_context and suffix_context arguments. Use
55660         uc_is_cased and uc_is_case_ignorable.
55661         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
55662         * lib/unicase/u16-casemap.c: Likewise.
55663         * lib/unicase/u32-casemap.c: Likewise.
55664         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
55665         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
55666         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
55667         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
55668         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
55669         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
55670
55671         New module 'unicase/u32-suffix-context'.
55672         * lib/unicase/u32-suffix-context.c: New file.
55673         * modules/unicase/u32-suffix-context: New file.
55674
55675         New module 'unicase/u16-suffix-context'.
55676         * lib/unicase/u16-suffix-context.c: New file.
55677         * modules/unicase/u16-suffix-context: New file.
55678
55679         New module 'unicase/u8-suffix-context'.
55680         * lib/unicase/u8-suffix-context.c: New file.
55681         * lib/unicase/u-suffix-context.h: New file.
55682         * modules/unicase/u8-suffix-context: New file.
55683
55684         New module 'unicase/empty-suffix-context'.
55685         * lib/unicase/empty-suffix-context.c: New file.
55686         * modules/unicase/empty-suffix-context: New file.
55687
55688         New module 'unicase/u32-prefix-context'.
55689         * lib/unicase/u32-prefix-context.c: New file.
55690         * modules/unicase/u32-prefix-context: New file.
55691
55692         New module 'unicase/u16-prefix-context'.
55693         * lib/unicase/u16-prefix-context.c: New file.
55694         * modules/unicase/u16-prefix-context: New file.
55695
55696         New module 'unicase/u8-prefix-context'.
55697         * lib/unicase/u8-prefix-context.c: New file.
55698         * lib/unicase/u-prefix-context.h: New file.
55699         * lib/unicase/context.h: New file.
55700         * modules/unicase/u8-prefix-context: New file.
55701
55702         New module 'unicase/empty-prefix-context'.
55703         * lib/unicase/empty-prefix-context.c: New file.
55704         * modules/unicase/empty-prefix-context: New file.
55705
55706         New module 'unicase/ignorable'.
55707         * lib/unicase/ignorable.c: New file.
55708         * modules/unicase/ignorable: New file.
55709
55710         New module 'unicase/cased'.
55711         * lib/unicase/caseprop.h: New file.
55712         * lib/unicase/cased.c: New file.
55713         * modules/unicase/cased: New file.
55714
55715         New functions for case mapping of substrings.
55716         * lib/unicase.h (casing_prefix_context_t): New type.
55717         (unicase_empty_prefix_context): New variable.
55718         (u8_casing_prefix_context, u16_casing_prefix_context,
55719         u32_casing_prefix_context, u8_casing_prefixes_context,
55720         u16_casing_prefixes_context, u32_casing_prefixes_context): New
55721         declarations.
55722         (casing_suffix_context_t): New type.
55723         (unicase_empty_suffix_context): New variable.
55724         (u8_casing_suffix_context, u16_casing_suffix_context,
55725         u32_casing_suffix_context, u8_casing_suffixes_context,
55726         u16_casing_suffixes_context, u32_casing_suffixes_context,
55727         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
55728         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
55729         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
55730         declarations.
55731
55732 2009-06-28  Jim Meyering  <meyering@redhat.com>
55733
55734         boostrap: indent only with spaces
55735         * build-aux/bootstrap: Indent only with spaces, never TABs.
55736
55737         bootstrap: split long lines
55738         * build-aux/bootstrap: Keep line length < 80.
55739
55740         bootstrap: sync from coreutils
55741         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
55742         just as autoreconf does.  Verify a list of prerequisite
55743         package-name,version-number pairs if defined in bootstrap.conf.
55744         Refer to README-prereq, if prerequisites are not satisfied.
55745
55746 2009-06-27  Eric Blake  <ebb9@byu.net>
55747
55748         tests: add test for bogus NULL definition
55749         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
55750         * tests/test-stdlib.c: Likewise.
55751         * tests/test-string.c: Likewise.
55752         * tests/test-locale.c: Likewise.
55753         * tests/test-unistd.c: Likewise.
55754         * modules/stdio-tests (Depends-on): Add verify.
55755         * modules/stdlib-tests (Depends-on): Likewise.
55756         * modules/string-tests (Depends-on): Likewise.
55757         * modules/locale-tests (Depends-on): Likewise.
55758         * modules/unistd-tests (Depends-on): Likewise.
55759
55760 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
55761
55762         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
55763         self-explaining comment.
55764         * m4/selinux-selinux-h: Update serial.
55765         (gl_LIBSELINUX): New macro, adding a warning for missing development
55766         packages to code extracted from...
55767         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
55768         Add warning for missing development packages here, too.
55769
55770 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
55771
55772         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
55773
55774 2009-06-25  Eric Blake  <ebb9@byu.net>
55775
55776         version-etc: fix regression
55777         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
55778         gcc.
55779         (version_etc): Use it, to catch bugs with trailing NULL.
55780         * lib/version-etc.c (version_etc_arn): Delete unused argument.
55781         (version_etc_va): Fix logic bug.
55782         * modules/version-etc-tests: Add test.
55783         * tests/test-version-etc.c: New file.
55784         * tests/test-version-etc.sh: Likewise.
55785
55786 2009-06-25  Sam Steingold  <sds@gnu.org>
55787
55788         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
55789         mbtowc declaration.
55790
55791 2009-06-25  Eric Blake  <ebb9@byu.net>
55792
55793         fpurge: migrate into <stdio.h>
55794         * lib/fpurge.h: Delete...
55795         * lib/stdio.in.h (fpurge): ...and declare here, instead.
55796         * lib/fpurge.c (fpurge): Change declaring header.
55797         * modules/fpurge (Files): Drop deleted file.
55798         (Depends-on): Add stdio.
55799         (configure.ac): Set witness.
55800         * modules/stdio (Makefile.am): Support fpurge macros.
55801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55802         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
55803         * lib/fflush.c: Update client.
55804         * tests/test-fpurge.c: Likewise.
55805         * NEWS: Mention the change.
55806
55807 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
55808
55809         * lib/argp-version-etc.c (program_authors): Add const
55810         qualifier.
55811         * lib/version-etc.c: Fix typos in the comments.
55812         * modules/argp-version-etc: Depends on version-etc.
55813
55814 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
55815
55816         argp-version-etc: new module.
55817
55818         * lib/argp-version-etc.c: New file.
55819         * lib/argp-version-etc.h: New file.
55820         * modules/argp-version-etc: New file.
55821         * modules/argp-version-etc-tests: New file.
55822         * tests/test-argp-version-etc.c: New test.
55823         * tests/test-argp-version-etc-1.sh: New test.
55824
55825 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
55826
55827         Provide additional interfaces and documentation for version-etc
55828         module.
55829
55830         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
55831         interfaces.
55832         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
55833         prototypes.
55834
55835 2009-06-24  Bruno Haible  <bruno@clisp.org>
55836
55837         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
55838         HAVE_LIB${NAME} macro.
55839         Reported by Sam Steingold <sds@gnu.org>.
55840
55841 2009-06-23  Simon Josefsson  <simon@josefsson.org>
55842
55843         * modules/hash-tests (test_hash_LDADD): Link to libintl when
55844         needed.
55845
55846 2009-06-21  Bruno Haible  <bruno@clisp.org>
55847
55848         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
55849         work.
55850         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
55851         together with LIB${NAME}, LTLIB${NAME}.
55852         Reported by Sam Steingold <sds@gnu.org>.
55853
55854 2009-06-20  Jim Meyering  <meyering@redhat.com>
55855
55856         tests: make sc_require_test_exit_idiom more generic
55857         * top/maint.mk (Exit_witness_file): New overridable variable.
55858         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
55859         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
55860
55861 2009-06-19  Jim Meyering  <meyering@redhat.com>
55862
55863         hash: reverse order of src/dst parameters in an internal interface
55864         * lib/hash.c (transfer_entries): Reverse order of parameters to
55865         put DST before SRC.  Adjust callers.
55866
55867         tests: test-hash: avoid wholesale duplication
55868         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
55869         Instead, use a loop and add a single conditional.
55870
55871         tests: test-hash: allow seed selection via a command line argument
55872         * tests/test-hash.c (get_seed): New function.
55873         (main): Use it.
55874
55875 2009-06-19  Eric Blake  <ebb9@byu.net>
55876
55877         hash: avoid memory leak on allocation failure
55878         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
55879         failure.  Factor repeated algorithm...
55880         (transfer_entries): ...into new helper routine.
55881         (hash_delete): React to hash_rehash return value.
55882
55883         hash: reduce memory pressure in hash_rehash no-op case
55884         * lib/hash.c (next_prime): Avoid overflow.
55885         (hash_initialize): Factor bucket size computation...
55886         (compute_bucket_size): ...into new helper function.
55887         (hash_rehash): Use new function and open coding to reduce memory
55888         pressure, and avoid a memory leak in USE_OBSTACK code.
55889         Reported by Jim Meyering.
55890
55891 2009-06-18  Eric Blake  <ebb9@byu.net>
55892
55893         hash: make rotation more obvious
55894         * modules/hash (Depends-on): Add bitrotate and stdint.
55895         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
55896         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
55897         (SIZE_MAX): Rely on headers for definition.
55898         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
55899         (raw_hasher): Use rotr_sz.
55900         Suggested by Jim Meyering.
55901
55902         hash: fix memory leak in last patch
55903         * lib/hash.c (hash_rehash): Avoid memory leak.
55904
55905         hash: avoid no-op rehashing
55906         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
55907
55908         hash: provide default callback functions
55909         * lib/hash.c (raw_hasher, raw_comparator): New functions.
55910         (hash_initialize): Use them as defaults.
55911         * tests/test-hash.c (main): Test this.
55912
55913         hash: minor optimization
55914         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
55915         when possible.
55916         (hash_initialize): Document this promise.
55917         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
55918         * tests/test-hash.c (hash_compare_strings): Test this.
55919
55920 2009-06-18  Bruno Haible  <bruno@clisp.org>
55921
55922         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
55923         going to be replaced anyway.
55924
55925 2009-06-18  Bruno Haible  <bruno@clisp.org>
55926
55927         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
55928         in one place.
55929         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
55930         be replaced anyway.
55931
55932 2009-06-18  Eric Blake  <ebb9@byu.net>
55933
55934         hash: check for resize before insertion
55935         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
55936         threshold before insertion, so that a pathological hash_rehash
55937         that fills every bucket can still trigger another rehash.
55938
55939 2009-06-18  Jim Meyering  <meyering@redhat.com>
55940
55941         hash-tests: add a loop around the small tests
55942         * tests/test-hash.c (main): Repeat small tests with selected
55943         small initial table sizes.
55944
55945 2009-06-17  Eric Blake  <ebb9@byu.net>
55946
55947         hash: minor cleanups
55948         * lib/hash.h (hash_entry): Make opaque, by moving...
55949         * lib/hash.c (hash_entry): ...here.
55950         (hash_insert): Clarify restrictions on what can be inserted.
55951         (hash_get_next): Clarify when it is safe to remove an element
55952         during traversal.
55953         (check_tuning): Skip verification when tuning is known safe.
55954         (hash_initialize): Clarify restrictions on tuning.
55955
55956 2009-06-17  Jim Meyering  <jim@meyering.net>
55957         and Eric Blake  <ebb9@byu.net>
55958
55959         hash-tests: new module
55960         * modules/hash-tests: New file.
55961         * tests/test-hash.c: New file.
55962
55963 2009-06-17  Eric Blake  <ebb9@byu.net>
55964
55965         strstr-simple: document new module
55966         * MODULES.html.sh: Document new module.
55967
55968         strstr, strcasestr: replace on platforms with broken memchr
55969         * modules/strstr: Split into...
55970         * modules/strstr-simple: ...new module that does not care about
55971         performance, but does care about glibc bug.
55972         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
55973         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
55974         if platform memchr is broken, per Debian bug 521737.
55975         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
55976         memchr.
55977         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
55978         * doc/posix-functions/strstr.texi (strstr): Document the fix.
55979         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
55980         * modules/mountlist (Depends-on): Add strstr-simple.
55981         * modules/gen-uni-tables (Depends-on): Likewise.
55982         * modules/argz (Depends-on): Add strstr.
55983
55984 2009-06-17  Bruno Haible  <bruno@clisp.org>
55985
55986         * modules/posix_spawn-internal (Depends-on): Add errno.
55987
55988 2009-06-17  Bruno Haible  <bruno@clisp.org>
55989
55990         Define missing ESTALE on Interix 3.5.
55991         * lib/errno.in.h (ESTALE): Assign a value if missing.
55992         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
55993         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
55994         missing.
55995         * doc/posix-headers/errno.texi: Mention the Interix bug.
55996         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
55997
55998 2009-06-15  Eric Blake  <ebb9@byu.net>
55999
56000         memchr, memchr2: add valgrind exception
56001         * lib/memchr.valgrind: New file.
56002         * lib/memchr2.valgrind: New file.
56003         * modules/memchr (Files): Distribute valgrind file.
56004         * modules/memchr2 (Files): Likewise.
56005
56006         docs: memchr is no longer obsolete
56007         * MODULES.html.sh: Move memchr from obsolete to string.h section.
56008         * lib/string.in.h (memchr): Simplify logic.
56009
56010 2009-06-14  Jim Meyering  <meyering@redhat.com>
56011
56012         link-follow: fix the "checking..." message to not mention trailing slash
56013         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
56014         never considered trailing slashes.
56015
56016 2009-06-14  Bruno Haible  <bruno@clisp.org>
56017
56018         * m4/memchr.m4: Mention also the bug on IA-64.
56019         * doc/posix-functions/memchr.texi: Likewise.
56020
56021 2009-06-12  Eric Blake  <ebb9@byu.net>
56022
56023         memchr: detect broken x86_64 and alpha implementations
56024         * modules/memchr-tests (Depends-on): Move mmap detection...
56025         * modules/memchr (Depends-on): ...here.
56026         (configure.ac): Set indicator.
56027         * lib/string.in.h (memchr): Declare replacement.
56028         * modules/string (Makefile.am): Trigger replacement.
56029         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56030         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
56031         bugs.
56032         * doc/posix-functions/memchr.texi (memchr): Document the bug.
56033         * modules/getpagesize (License): Relax license.
56034
56035 2009-06-11  Bruno Haible  <bruno@clisp.org>
56036
56037         * lib/idpriv.h: Add more references.
56038
56039 2009-06-08  Bruno Haible  <bruno@clisp.org>
56040
56041         Tests for module 'idpriv-droptemp'.
56042         * modules/idpriv-droptemp-tests: New file.
56043         * tests/test-idpriv-droptemp.sh: New file.
56044         * tests/test-idpriv-droptemp.su.sh: New file.
56045         * tests/test-idpriv-droptemp.c: New file.
56046
56047         New module 'idpriv-droptemp'.
56048         * lib/idpriv-droptemp.c: New file.
56049         * modules/idpriv-droptemp: New file.
56050
56051 2009-06-08  Bruno Haible  <bruno@clisp.org>
56052
56053         Tests for module 'idpriv-drop'.
56054         * modules/idpriv-drop-tests: New file.
56055         * tests/test-idpriv-drop.sh: New file.
56056         * tests/test-idpriv-drop.su.sh: New file.
56057         * tests/test-idpriv-drop.c: New file.
56058
56059         New module 'idpriv-drop'.
56060         * lib/idpriv.h: New file.
56061         * lib-idpriv-drop.c: New file.
56062         * m4/idpriv.m4: New file.
56063         * modules/idpriv-drop: New file.
56064
56065 2009-06-08  Bruno Haible  <bruno@clisp.org>
56066
56067         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
56068         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56069         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56070         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56071         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56072         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56073         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56074
56075 2009-06-08  Eric Blake  <ebb9@byu.net>
56076
56077         test-strstr: use memory fence, when possible
56078         * tests/test-strstr.c (main): Use memory fence, in order to be
56079         more likely to trigger Debian bug 521737.
56080         * modules/strstr-tests (Files): Pull in additional files.
56081
56082         memchr: no longer obsolete, for wider field testing
56083         * modules/memchr (Status, Notice): Delete, this module is no
56084         longer obsolete.
56085         * modules/vasnprintf (Depends-on): Add memchr.
56086
56087 2009-06-07  Jim Meyering  <meyering@redhat.com>
56088
56089         hash: declare some functions with the warn_unused_result attribute
56090         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
56091
56092 2009-06-07  Bruno Haible  <bruno@clisp.org>
56093
56094         * tests/test-alignof.c: Don't test int64_t if it does not exist.
56095         Reported by Eric Blake.
56096
56097 2009-06-06  Eric Blake  <ebb9@byu.net>
56098
56099         test-alignof: fix typo with long double
56100         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
56101         compiler error.
56102
56103 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
56104
56105         Escape non-texinfo { and }s.
56106         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
56107         markup error.
56108
56109 2009-06-04  Jim Meyering  <meyering@redhat.com>
56110
56111         gitlog-to-changelog: don't infloop on an empty commit log
56112         * build-aux/gitlog-to-changelog: Warn about an empty log message.
56113         Reported by Boris Petersen <transacid@centerim.org>.
56114
56115 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
56116
56117         version-etc: extend for packagers
56118         Add three new configure options, intended for packagers:
56119           --with-packager="packager name"
56120           --with-packager-version="packager-specific version"
56121           --with-packager-bug-reports="packager bug reporting"
56122         An example with coreutils:
56123           $ ./configure \
56124             --with-packager=Gentoo \
56125             --with-packager-bug-report=http://bugs.gentoo.org/ \
56126             --with-packager-version="patchset 1.6"
56127           $ ./src/ls --version | head -n2
56128           ls (GNU coreutils) 7.1-dirty
56129           Packaged by Gentoo (patchset 1.6)
56130         Note that the bug reporting info via --help doesn't show up because
56131         coreutils uses its own custom emit_bug_reporting_address() implementation
56132         in src/system.h.  If it didn't, it'd look like:
56133           $ ./src/ls --help | tail -n4
56134           Report bugs to <bug-coreutils@gnu.org>.
56135           Report Gentoo bugs to <http://bugs.gentoo.org/>.
56136           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
56137           General help using GNU software: <http://www.gnu.org/gethelp/>.
56138         * lib/version-etc.c: Print new information, if provided.
56139         * m4/version-etc.m4: New file.
56140         * modules/version-etc (Files): Add m4/version-etc.m4.
56141         (configure.ac): Add gl_VERSION_ETC.
56142
56143 2009-05-31  Bruno Haible  <bruno@clisp.org>
56144
56145         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
56146         and 'int64_t'.
56147         * modules/alignof-tests (Dependencies): Add stdint.
56148         Reported by Eric Blake.
56149
56150 2009-05-31  Bruno Haible  <bruno@clisp.org>
56151
56152         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
56153         restriction due to compiler bugs.
56154         Reported by Eric Blake.
56155
56156 2009-05-31  Simon Josefsson  <simon@josefsson.org>
56157             Bruno Haible  <bruno@clisp.org>
56158
56159         Fix test-alignof failure.
56160         * lib/alignof.h (alignof_slot): New macro.
56161         (alignof_type): New macro, with the same semantics as the previous
56162         'alignof'.
56163         (alignof): Alias to alignof_slot.
56164         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
56165         check that the results are usable as constant expressions.
56166
56167 2009-05-31  Bruno Haible  <bruno@clisp.org>
56168
56169         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
56170         * tests/test-memchr.c (main): Check that memchr does not read past the
56171         first occurrence of the byte.
56172         * tests/test-strstr.c (main): Update comment.
56173         Suggested by Eric Blake.
56174
56175 2009-05-30  Bruno Haible  <bruno@clisp.org>
56176
56177         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
56178         detail how to use dumpbin.
56179         Reported by David Byron <dbyron@dbyron.com>.
56180
56181 2009-06-02  Simon Josefsson  <simon@josefsson.org>
56182
56183         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
56184
56185 2009-06-02  Simon Josefsson  <simon@josefsson.org>
56186
56187         * m4/manywarnings.m4: Add GCC 4.4 warnings.
56188
56189 2009-05-28  Bruno Haible  <bruno@clisp.org>
56190
56191         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
56192         build-aux/ files.
56193
56194 2009-05-28  Simon Josefsson  <simon@josefsson.org>
56195
56196         * gnulib-tool (func_import): Transform license on build-aux/ files too.
56197
56198 2009-05-27  Simon Josefsson  <simon@josefsson.org>
56199
56200         * gnulib-tool (sed_transform_main_lib_file)
56201         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
56202         regexps.
56203
56204 2009-05-26  Simon Josefsson  <simon@josefsson.org>
56205
56206         * tests/test-strstr.c: Add another self-test.
56207         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
56208         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
56209
56210 2009-05-23  Bruno Haible  <bruno@clisp.org>
56211
56212         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
56213         change.
56214
56215 2009-05-21  Bruno Haible  <bruno@clisp.org>
56216
56217         Simplify use of mode_t varargs.
56218         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
56219         uses 'mode_t' or 'int'.
56220         * lib/openat.c (openat): Likewise.
56221         * lib/open-safer.c (open_safer): Likewise.
56222         * m4/mode_t.m4: New file.
56223         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
56224         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
56225         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
56226         * modules/open (Files): Add m4/mode_t.m4.
56227         * modules/openat (Files): Likewise.
56228         * modules/fcntl-safer (Files): Likewise.
56229         Suggested by Eric Blake.
56230
56231 2009-05-21  Pádraig Brady  <P@draigbrady.com>
56232
56233         * doc/glibc-functions/fallocate.texi: New file.
56234         * doc/gnulib.texi: Include it.
56235
56236 2009-05-21  Eric Blake  <ebb9@byu.net>
56237             Bruno Haible  <bruno@clisp.org>
56238
56239         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
56240         invocations.
56241         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
56242
56243 2009-05-21  Eric Blake  <ebb9@byu.net>
56244             Bruno Haible  <bruno@clisp.org>
56245
56246         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
56247         include_next. Fix of 2008-11-20 commit.
56248         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
56249         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
56250         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
56251         NEXT_MATH_H.
56252         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
56253         instead of NEXT_MATH_H.
56254
56255 2009-05-21  Bruno Haible  <bruno@clisp.org>
56256
56257         Avoid redefinition warnings for SIZE_MAX.
56258         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
56259         Reported by Simon Josefsson.
56260
56261 2009-05-21  Bruno Haible  <bruno@clisp.org>
56262
56263         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
56264         AC_CACHE_VAL.
56265
56266 2009-05-20  Bruno Haible  <bruno@clisp.org>
56267
56268         Make zeroptr.h work on mingw.
56269         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
56270         mprotect.
56271         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
56272         * modules/memchr2-tests (configure.ac): Likewise.
56273         * modules/memcmp-tests (configure.ac): Likewise.
56274         * modules/memmem-tests (configure.ac): Likewise.
56275         * modules/memrchr-tests (configure.ac): Likewise.
56276         Reported by Simon Josefsson.
56277
56278 2009-05-20  Simon Josefsson  <simon@josefsson.org>
56279
56280         * tests/test-glob.c: Include string.h for strcmp prototype.
56281
56282 2009-05-20  Simon Josefsson  <simon@josefsson.org>
56283
56284         * modules/getdelim (Depends-on): Add explicit stdint, although it
56285         was implicitly already pulled in via realloc-posix.
56286         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
56287
56288 2009-05-20  Simon Josefsson  <simon@josefsson.org>
56289
56290         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
56291         G. Christensen" <tgc@jupiterrise.com>.
56292         * m4/sys_socket_h.m4: Check for sa_family_t.
56293         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
56294         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
56295         * tests/test-sys_socket.c: Check that sa_family_t works.
56296
56297 2009-05-18  Eric Blake  <ebb9@byu.net>
56298
56299         maint.mk: allow gnulib_dir in VPATH build
56300         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
56301
56302 2009-05-15  Jim Meyering  <meyering@redhat.com>
56303
56304         maint.mk: Give gnulib_dir a default definition.
56305         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
56306         Thus, most packages no longer need to specify this variable in cfg.mk
56307
56308 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
56309
56310         rename.m4: fix typos that would make non-mingw cross-configure fail
56311         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
56312
56313 2009-05-13  Eric Blake  <ebb9@byu.net>
56314
56315         mmap-anon: avoid out-of-order autoconf expansion
56316         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
56317         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
56318         * modules/memchr-tests (Depends-on): Add extensions.
56319         * modules/memchr2-tests (Depends-on): Add extensions.
56320         * modules/memcmp-tests (Depends-on): Add extensions.
56321         * modules/memmem-tests (Depends-on): Add extensions.
56322         * modules/memrchr-tests (Depends-on): Add extensions.
56323
56324 2009-05-13  Bruno Haible  <bruno@clisp.org>
56325
56326         Make some tests ISO C 99 compliant.
56327         * tests/zerosize-ptr.h: New file.
56328         * tests/test-memchr.c: Include zerosize-ptr.h.
56329         (main): Use a zero-size object pointer instead of NULL.
56330         * tests/test-memchr2.c: Include zerosize-ptr.h.
56331         (main): Use a zero-size object pointer instead of NULL.
56332         * tests/test-memcmp.c: Include zerosize-ptr.h.
56333         (main): Use a zero-size object pointer instead of NULL.
56334         * tests/test-memmem.c: Include zerosize-ptr.h.
56335         (main): Use a zero-size object pointer instead of NULL.
56336         * tests/test-memrchr.c: Include zerosize-ptr.h.
56337         (main): Use a zero-size object pointer instead of NULL.
56338         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
56339         m4/mmap-anon.m4.
56340         (Depends-on): Add getpagesize.
56341         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
56342         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
56343         m4/mmap-anon.m4.
56344         (Depends-on): Add getpagesize.
56345         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
56346         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
56347         m4/mmap-anon.m4.
56348         (Depends-on): Add getpagesize.
56349         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
56350         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
56351         m4/mmap-anon.m4.
56352         (Depends-on): Add getpagesize.
56353         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
56354         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
56355         m4/mmap-anon.m4.
56356         (Depends-on): Add getpagesize.
56357         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
56358
56359 2009-05-12  Bruno Haible  <bruno@clisp.org>
56360
56361         Tests for module 'alignof'.
56362         * modules/alignof-tests: New file.
56363         * tests/test-alignof.c: New file.
56364
56365 2009-05-12  Bruno Haible  <bruno@clisp.org>
56366
56367         Fix alignof macro.
56368         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
56369         vendor compilers that are always correct.
56370
56371 2009-05-12  Bruno Haible  <bruno@clisp.org>
56372
56373         Make the MAP_ANONYMOUS detection work on HP-UX 11.
56374         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
56375         not whether its fully works.
56376
56377 2009-05-12  Bruno Haible  <bruno@clisp.org>
56378
56379         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
56380
56381 2009-05-12  Jim Meyering  <meyering@redhat.com>
56382
56383         * top/maint.mk: Adjust backslash alignment.
56384
56385 2009-05-11  Simon Josefsson  <simon@josefsson.org>
56386
56387         * top/maint.mk: Make $(srcdir)/build-aux configurable.
56388
56389 2009-05-11  Eric Blake  <ebb9@byu.net>
56390
56391         argp: avoid undefined behavior
56392         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
56393         macros.
56394
56395 2009-05-08  Simon Josefsson  <simon@josefsson.org>
56396
56397         * tests/test-vc-list-files-git.sh: Do git config of user.email and
56398         user.name to prevent git commit from complaining.
56399
56400 2009-05-10  Bruno Haible  <bruno@clisp.org>
56401
56402         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
56403         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
56404         it rewrites every file name only once.
56405         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
56406
56407 2009-05-08  Bruno Haible  <bruno@clisp.org>
56408
56409         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
56410         instead of 'max'.
56411
56412 2009-05-08  Simon Josefsson  <simon@josefsson.org>
56413
56414         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
56415         sockaddr_storage test.
56416
56417 2009-05-07  Simon Josefsson  <simon@josefsson.org>
56418
56419         * modules/sys_socket (Makefile.am): Substitute
56420         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
56421         * m4/sys_socket_h.m4: Check for sockaddr_storage.
56422         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
56423         * tests/test-sys_socket.c: Check sockaddr_storage.
56424
56425 2009-05-08  Bruno Haible  <bruno@clisp.org>
56426
56427         New module 'alignof'.
56428         * lib/alignof.h: New file.
56429         * modules/alignof: New file.
56430
56431 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
56432             Bruno Haible  <bruno@clisp.org>
56433
56434         Fix test-file-has-acl on FreeBSD.
56435         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
56436         mask is implicitly added.
56437         * tests/test-file-has-acl.c: Include <signal.h>.
56438         (main): Terminate the test after 5 seconds.
56439         * modules/acl-tests (configure.ac): Check for alarm function.
56440
56441 2009-05-04  Bruno Haible  <bruno@clisp.org>
56442
56443         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
56444         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
56445         * modules/errno (configure.ac): Drop AC_REQUIRE.
56446         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
56447         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
56448
56449 2009-05-04  Simon Josefsson  <simon@josefsson.org>
56450
56451         * modules/glob-tests: New module.
56452         * tests/test-glob.c: Add.
56453
56454 2009-05-04  Simon Josefsson  <simon@josefsson.org>
56455
56456         * modules/fnmatch-tests: New module.
56457         * tests/test-fnmatch.c: Add.
56458
56459 2009-05-04  Eric Blake  <ebb9@byu.net>
56460
56461         maint: make the new no-submodule-changes rule VPATH-safe
56462         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
56463
56464 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
56465             Bruno Haible  <bruno@clisp.org>
56466
56467         acl: Fix infinite loop on FreeBSD.
56468         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
56469         of return value from acl_get_entry.
56470         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
56471         Likewise.
56472
56473 2009-05-03  Bruno Haible  <bruno@clisp.org>
56474
56475         * lib/acl-internal.h (acl_entries): Clarify return value.
56476         * lib/acl_entries.c (acl_entries): Likewise.
56477
56478 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
56479
56480         Bug fix in acl module.
56481         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
56482
56483 2009-05-03  Bruno Haible  <bruno@clisp.org>
56484
56485         Create gperf-generated file in the source dir, not in the build dir.
56486         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
56487         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
56488         * modules/unicase/locale-language (unicase/locale-languages.h):
56489         Likewise.
56490         * modules/unicase/special-casing (unicase/special-casing-table.h):
56491         Likewise.
56492         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
56493         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
56494         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
56495         Reported by Ralf Wildenhues.
56496
56497 2009-05-03  Bruno Haible  <bruno@clisp.org>
56498
56499         * modules/fnmatch (Description, configure.ac): Taken from
56500         fnmatch-posix.
56501         * modules/fnmatch-posix: Turn into a symbolic reference to the
56502         'fnmatch' module, and deprecate.
56503         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
56504
56505 2009-05-03  Bruno Haible  <bruno@clisp.org>
56506
56507         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
56508         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
56509         Reported by Ralf Wildenhues.
56510
56511 2009-05-04  Simon Josefsson  <simon@josefsson.org>
56512
56513         * m4/fnmatch.m4: Fix fnmatch re-define.
56514
56515 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
56516
56517         priv-set: new module and tests; adapt write-any-file
56518         * lib/priv-set.c: New file.
56519         * lib/priv-set.h: New file.
56520         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
56521         * lib/write-any-file.c: Simplify by using priv-set module.
56522         * m4/priv-set.m4: New file.
56523         * modules/priv-set: New file.
56524         * modules/unlinkdir: Add dependency on priv-set module.
56525         * modules/write-any-file: Likewise.
56526
56527         Tests for module 'priv-set'.
56528         * modules/priv-set-tests: New file.
56529         * tests/test-priv-set.c: New file.
56530
56531 2009-05-03  Jim Meyering  <meyering@redhat.com>
56532             Bruno Haible  <bruno@clisp.org>
56533
56534         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
56535         use the converted UTF-8 variant of the name instead.
56536
56537 2009-05-03  Jim Meyering  <meyering@redhat.com>
56538
56539         tests: tighten some getdate tests
56540         * tests/test-getdate.c (main): Tighten tests: require equality,
56541         not just greater than.  Set TZ envvar to UTC0.
56542
56543 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
56544
56545         getdate: correctly interpret "next monday" when run on a Monday
56546         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
56547         that e.g., "next tues" (when run on a tuesday) results in a date
56548         that is one week in the future, and not today's date.
56549         I.e., add a week when the wday is the same as the current one.
56550         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
56551         and earlier by Martin Bernreuther and Jan Minář.
56552         * tests/test-getdate.c (main): Check that "next DAY" is always in
56553         the future and that "last DAY" is always in the past.
56554
56555 2009-05-02  Jim Meyering  <meyering@redhat.com>
56556
56557         build: ensure that a release build fails when a submodule is unclean
56558         * top/maint.mk (no-submodule-changes): New rule.
56559         (alpha beta major): Depend on it.
56560
56561 2009-05-02  Bruno Haible  <bruno@clisp.org>
56562
56563         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
56564         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
56565         shell variable gl_fnmatch_required to detect which variant is
56566         requested.
56567         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
56568         gl_FUNC_FNMATCH_POSIX.
56569         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
56570         exclude fnmatch-posix.
56571
56572 2009-05-02  Bruno Haible  <bruno@clisp.org>
56573
56574         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
56575         * modules/mbsrtowcs (License): Change to LGPLv2+.
56576         * modules/strnlen1 (License): Likewise.
56577         Reported by Simon Josefsson.
56578
56579 2009-05-02  Bruno Haible  <bruno@clisp.org>
56580
56581         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
56582         "cross".
56583         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
56584         gnulib-tool was called with option --source-base=lib.
56585
56586 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56587
56588         Use automake *-local hooks without commands, for extensibility.
56589         * modules/localcharset (Makefile.am): Rename install-exec-local
56590         rule to install-exec-localcharset, and make it a prerequisite of
56591         install-exec-local.  Likewise, rename the uninstall-local rule to
56592         uninstall-localcharset, and make it a prerequisite of the former.
56593
56594 2009-05-01  Bruno Haible  <bruno@clisp.org>
56595
56596         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
56597         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
56598         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
56599         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
56600         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
56601         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
56602         m4/locale-zh.m4, m4/codeset.m4.
56603
56604         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
56605         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
56606         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
56607         m4/locale-zh.m4.
56608
56609         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
56610         REPLACE_WCRTOMB if mbstate_t must be replaced.
56611         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
56612         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
56613
56614 2009-05-01  Bruno Haible  <bruno@clisp.org>
56615
56616         Avoid compiler warnings when redefining macros defined by <libintl.h>.
56617         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
56618         dngettext, dcngettext, textdomain, bindtextdomain,
56619         bind_textdomain_codeset): Undefine before redefining.
56620
56621 2009-04-30  Bruno Haible  <bruno@clisp.org>
56622
56623         Fix bug introduced on 2009-04-25.
56624         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
56625         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
56626         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
56627         is defined.
56628         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
56629         is defined.
56630         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
56631         is defined.
56632         Reported by Elbert_Pol <elbert.pol@gmail.com>.
56633
56634 2009-04-28  Bruno Haible  <bruno@clisp.org>
56635
56636         Comment tweaks.
56637         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
56638         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
56639         * lib/unicase.h (u*_casexfrm): Likewise.
56640         Reported by Paolo Bonzini.
56641
56642 2009-04-28  Bruno Haible  <bruno@clisp.org>
56643
56644         Fix a compilation error.
56645         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
56646         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
56647         Reported by Jim Meyering.
56648
56649 2009-04-27  Bruno Haible  <bruno@clisp.org>
56650
56651         New module 'libunistring'.
56652         * modules/libunistring: New file.
56653         * m4/libunistring.m4: New file.
56654         * MODULES.html.sh (Unicode string functions): Add it.
56655
56656 2009-04-27  Eric Blake  <ebb9@byu.net>
56657
56658         maint.mk: allow package-specific header to provide <config.h>
56659         * top/maint.mk (sc_require_config_h): New variable.
56660         (sc_require_config_h, sc_require_config_h_first): Use it.
56661
56662 2009-04-27  Simon Josefsson  <simon@josefsson.org>
56663
56664         * top/maint.mk (sc_avoid_if_before_free): Except
56665         useless-if-before-free script.
56666
56667 2009-04-27  Eric Blake  <ebb9@byu.net>
56668
56669         maintainer-makefile: depend on all required helper scripts
56670         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
56671         useless-if-before-free.
56672         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
56673         version, rather than assuming gnulib checkout is available.
56674         Reported by Simen Josefsson.
56675
56676 2009-04-26  Bruno Haible  <bruno@clisp.org>
56677
56678         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
56679         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
56680         "../" or "..".
56681
56682 2009-04-26  Bruno Haible  <bruno@clisp.org>
56683
56684         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
56685         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
56686         AC_LIB_HAVE_LINKFLAGS.
56687
56688 2009-04-26  Bruno Haible  <bruno@clisp.org>
56689
56690         Simplify calling convention of u*_conv_from_encoding.
56691         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
56692         u32_conv_from_encoding): Expect a resultbuf argument and return the
56693         result directly as a pointer.
56694         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
56695         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
56696         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
56697         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
56698         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
56699         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
56700         Update.
56701         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
56702         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
56703         * lib/vasnprintf.c (VASNPRINTF): Update.
56704         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
56705         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
56706         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
56707         * NEWS: Mention the change.
56708
56709 2009-04-26  Bruno Haible  <bruno@clisp.org>
56710
56711         Simplify calling convention of u*_conv_to_encoding.
56712         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
56713         u32_conv_to_encoding): Expect a resultbuf argument and return the
56714         result directly as a pointer.
56715         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
56716         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
56717         freeing scaled_offsets if mem_iconveha failed.
56718         * lib/unicase/u-casexfrm.h (FUNC): Update.
56719         * lib/uninorm/u-normxfrm.h (FUNC): Update.
56720         * lib/vasnprintf.c (VASNPRINTF): Update.
56721         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
56722         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
56723         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
56724         * NEWS: Mention the change.
56725
56726 2009-04-26  Bruno Haible  <bruno@clisp.org>
56727
56728         Avoid test failures on AIX and OSF/1.
56729         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
56730         malloc(0).
56731         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
56732         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
56733         Likewise.
56734         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
56735         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
56736         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
56737         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
56738         * doc/posix-functions/malloc.texi: Document the portability problem
56739         related to malloc(0).
56740
56741 2009-04-26  Bruno Haible  <bruno@clisp.org>
56742
56743         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
56744         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
56745         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
56746
56747 2009-04-25  Bruno Haible  <bruno@clisp.org>
56748
56749         Avoid link error when creating a namespace clean library.
56750         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
56751         as macro with arguments if already defined as an alias.
56752         * lib/signbitf.c (gl_signbitf): Don't undefine.
56753         * lib/signbitd.c (gl_signbitd): Don't undefine.
56754         * lib/signbitl.c (gl_signbitl): Don't undefine.
56755
56756 2009-04-25  Jim Meyering  <meyering@redhat.com>
56757
56758         vc-list-files: fix another quoting bug
56759         * build-aux/vc-list-files: Avoid sed backslash expansion
56760         of pathological directory names.
56761
56762 2009-04-25  Eric Blake  <ebb9@byu.net>
56763
56764         vc-list-files: fix shell quoting error
56765         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
56766         timestamp.
56767
56768 2009-04-25  Jim Meyering  <meyering@redhat.com>
56769
56770         vc-list-files: restore lost functionality with subdir argument
56771         * build-aux/vc-list-files: When given a non-"." sub-directory
56772         argument, substitute the $dir/ prefix back onto each resulting name.
56773         Otherwise, coreutils' root_tests check would fail.
56774
56775 2009-04-24  Eric Blake  <ebb9@byu.net>
56776
56777         vc-list-files: ignore git symlinks
56778         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
56779         than ls-files, to ignore git symlinks.
56780
56781         maint.mk: import improvements from m4
56782         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
56783         (move_if_change): Delete unused macro.
56784         (news-date-check, vc-diff-check): Support VPATH builds.
56785         (announcement): Likewise.  Split --bootstrap-tools list...
56786         (boostrap-tools): ...into separate list, which can be overridden
56787         in cfg.mk.
56788         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
56789         requiring dependency on useless-if-before-free module.
56790         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
56791         Support VPATH builds.
56792
56793 2009-04-24  Jim Meyering  <meyering@redhat.com>
56794
56795         maint.mk: remove coreutils-specific rules and variables
56796         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
56797         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
56798         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
56799
56800         maint.mk: remove obsolete rule
56801         * top/maint.mk (rel-check): Remove rule.
56802         (WGET, WGETFLAGS): Remove now-unused variables.
56803
56804 2009-04-24  Simon Josefsson  <simon@josefsson.org>
56805
56806         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
56807         consistency.
56808
56809         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
56810         '$(PATH_SEPARATOR)' instead of ':'.
56811
56812 2009-04-24  Simon Josefsson  <simon@josefsson.org>
56813
56814         * lib/getopt1.c (main): Use 'const' for static array.
56815
56816 2009-04-24  Simon Josefsson  <simon@josefsson.org>
56817
56818         * top/maint.mk: Sync with coreutils.
56819         * NEWS: Explain incompatibilities.
56820
56821 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56822             Bruno Haible  <bruno@clisp.org>
56823
56824         Fix cross-compilation results.
56825         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
56826         statement, as third argument of AC_TRY_RUN.
56827         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
56828         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
56829         Likewise.
56830         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
56831         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
56832         Likewise.
56833         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
56834         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
56835         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
56836
56837 2009-04-20  Bruno Haible  <bruno@clisp.org>
56838
56839         Avoid test failure on mingw.
56840         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
56841
56842 2009-04-20  Bruno Haible  <bruno@clisp.org>
56843
56844         Avoid compilation error on mingw.
56845         * modules/localename-tests (Depends-on): Add locale.
56846
56847 2009-04-19  Bruno Haible  <bruno@clisp.org>
56848
56849         Support for building a shared library on Windows platforms.
56850         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
56851         (main): Test the presence of UNINORM_NFC here.
56852         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
56853         (main): Test the presence of UNINORM_NFD here.
56854         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
56855         (main): Test the presence of UNINORM_NFKC here.
56856         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
56857         (main): Test the presence of UNINORM_NFKD here.
56858
56859 2009-04-19  Bruno Haible  <bruno@clisp.org>
56860
56861         Avoid a compiler warning.
56862         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
56863         Change type of variable 'sequence'.
56864
56865 2009-04-19  Bruno Haible  <bruno@clisp.org>
56866
56867         * modules/configmake (Makefile.am): When the contents of configmake.h
56868         does not change, arrange to preserve its modification time.
56869
56870 2009-04-17  Simon Josefsson  <simon@josefsson.org>
56871
56872         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
56873         gettext domain.
56874
56875 2009-04-16  Jim Meyering  <meyering@redhat.com>
56876
56877         useless-if-before-free: improve conversion code
56878         * build-aux/useless-if-before-free: Adjust code-in-comment to match
56879         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
56880
56881 2009-04-14  Bruno Haible  <bruno@clisp.org>
56882
56883         * modules/fcntl (Depends-on): Add extensions.
56884         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
56885
56886 2009-04-12  Ben Pfaff  <blp@gnu.org>
56887
56888         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
56889         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
56890
56891 2009-03-20  Ben Pfaff  <blp@gnu.org>
56892
56893         Make rename replace existing destinations on Windows.
56894         * m4/rename.m4: Add test for Mingw.
56895         * lib/rename.c: Add rename replacement that uses MoveFileEx with
56896         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
56897         * doc/posix-functions/rename.texi: Document.
56898
56899 2009-04-10  Bruno Haible  <bruno@clisp.org>
56900
56901         New include file "iconveh.h".
56902         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
56903         * lib/striconveh.h: Include it.
56904         (enum iconv_ilseq_handler): Remove definition.
56905         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
56906         striconveh.h.
56907         * lib/striconveha.c: Include striconveh.h.
56908         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
56909         * modules/striconveh (Files): Add lib/iconveh.h.
56910         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
56911         lib/striconveh.h.
56912
56913 2009-04-10  Bruno Haible  <bruno@clisp.org>
56914
56915         * lib/uniconv.h: Update comment.
56916
56917 2009-04-10  Bruno Haible  <bruno@clisp.org>
56918
56919         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
56920         always.
56921         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
56922         * lib/unistr/u16-mbtouc-aux.c: Likewise.
56923         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
56924         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
56925         "unistring-notinline.h", so that the function gets defined always.
56926         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
56927         * lib/unistr/u8-uctomb.c: Likewise.
56928         * lib/unistr/u16-mbtouc.c: Likewise.
56929         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
56930         * lib/unistr/u16-uctomb.c: Likewise.
56931         * lib/unistr/u32-mbtouc.c: Likewise.
56932         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
56933         * lib/unistr/u32-uctomb.c: Likewise.
56934
56935 2009-04-10  Bruno Haible  <bruno@clisp.org>
56936
56937         Mark 'utime' obsolete.
56938         * modules/utime (Status, Notice): New sections.
56939         Suggested by Jim Meyering.
56940
56941         Fix cross-compile guess for utime test.
56942         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
56943         autoconf.
56944         * doc/posix-functions/utime.texi: Give more precisions.
56945         Reported by Jan <ipif@ymail.com>.
56946
56947 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
56948
56949         filevercmp: correct today's change
56950         * lib/filevercmp.c: Also handle coreutils' test inputs.
56951         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
56952
56953         Fix regression in 'filevercmp' module. Thanks Sven Joachim
56954         for reporting it.
56955         * lib/filevercmp.c: Special handle for "", "." and "..".
56956         * tests/test-filevercmp.c: Enlarge the set suite.
56957
56958 2009-04-07  Jim Meyering  <meyering@redhat.com>
56959
56960         useless-if-before-free: show how to remove braced useless free, too
56961         * build-aux/useless-if-before-free: still only in a comment, though.
56962
56963 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
56964
56965         maint.mk: import changes to syntax-check macros from coreutils
56966         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
56967         Use them in the relevant macros.
56968
56969 2009-04-06  Bruno Haible  <bruno@clisp.org>
56970
56971         Fix unportable use of bit-fields.
56972         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
56973         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
56974         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
56975
56976 2009-04-06  Bruno Haible  <bruno@clisp.org>
56977
56978         Avoid test failures on AIX and OSF/1.
56979         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
56980         that malloc(0) = NULL.
56981         * tests/unicase/test-u8-tolower.c (check): Likewise.
56982         * tests/unicase/test-u8-totitle.c (check): Likewise.
56983         * tests/unicase/test-u8-toupper.c (check): Likewise.
56984         * tests/unicase/test-u16-casefold.c (check): Likewise.
56985         * tests/unicase/test-u16-tolower.c (check): Likewise.
56986         * tests/unicase/test-u16-totitle.c (check): Likewise.
56987         * tests/unicase/test-u16-toupper.c (check): Likewise.
56988         * tests/unicase/test-u32-casefold.c (check): Likewise.
56989         * tests/unicase/test-u32-tolower.c (check): Likewise.
56990         * tests/unicase/test-u32-totitle.c (check): Likewise.
56991         * tests/unicase/test-u32-toupper.c (check): Likewise.
56992         * tests/uninorm/test-u8-nfc.c (check): Likewise.
56993         * tests/uninorm/test-u8-nfd.c (check): Likewise.
56994         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
56995         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
56996         * tests/uninorm/test-u16-nfc.c (check): Likewise.
56997         * tests/uninorm/test-u16-nfd.c (check): Likewise.
56998         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
56999         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
57000         * tests/uninorm/test-u32-nfc.c (check): Likewise.
57001         * tests/uninorm/test-u32-nfd.c (check): Likewise.
57002         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
57003         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
57004
57005 2009-04-05  Bruno Haible  <bruno@clisp.org>
57006
57007         Work around an autoconf limitation.
57008         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
57009         comment line if it would be longer than 3 KB.
57010
57011 2009-04-05  Bruno Haible  <bruno@clisp.org>
57012
57013         Avoid test failure with libiconv-1.13.
57014         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
57015         of the expected test results.
57016
57017 2009-04-05  Bruno Haible  <bruno@clisp.org>
57018
57019         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
57020         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
57021         that it should be installed.
57022
57023 2009-04-05  Bruno Haible  <bruno@clisp.org>
57024
57025         * gnulib-tool: New option --copy-file.
57026         (func_usage): Document it.
57027         (func_dest_tmpfilename): Moved out of func_import.
57028         (func_add_file, func_update_file): New functions, extracted from
57029         func_import.
57030         (func_import): Update.
57031
57032 2009-04-05  Karl Berry  <karl@gnu.org>
57033
57034         * README: prominently mention gnulib-tool.
57035         Rearrange sections so getting the code is near the top.
57036
57037 2009-04-05  Bruno Haible  <bruno@clisp.org>
57038
57039         * lib/unicase.h: Mention u*_cmp2.
57040         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
57041         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
57042         * lib/unicase/ulc-casecmp.c: Likewise.
57043         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
57044         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
57045         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
57046         unistr/u8-cmp.
57047         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
57048         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
57049         unistr/u16-cmp.
57050         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
57051         unistr/u32-cmp.
57052
57053         * lib/uninorm.h: Mention u*_cmp2.
57054         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
57055         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
57056         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
57057         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
57058         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
57059         unistr/u8-cmp.
57060         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
57061         unistr/u16-cmp.
57062         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
57063         unistr/u32-cmp.
57064
57065         New module 'unistr/u32-cmp2'.
57066         * lib/unistr/u32-cmp2.c: New file.
57067         * modules/unistr/u32-cmp2: New file.
57068
57069         New module 'unistr/u16-cmp2'.
57070         * lib/unistr/u16-cmp2.c: New file.
57071         * modules/unistr/u16-cmp2: New file.
57072
57073         New module 'unistr/u8-cmp2'.
57074         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
57075         * lib/unistr/u8-cmp2.c: New file.
57076         * lib/unistr/u-cmp2.h: New file.
57077         * modules/unistr/u8-cmp2: New file.
57078
57079 2009-04-05  Bruno Haible  <bruno@clisp.org>
57080
57081         * lib/unictype.h (uc_property_is_valid): New macro.
57082         * tests/unictype/test-pr_byname.c (main): Use it.
57083
57084         * lib/unistr.h: Doc fixes.
57085         * lib/uniconv.h: Doc fixes.
57086         * lib/unictype.h: Doc fixes.
57087
57088 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
57089
57090         Port coreutils 7.2 to Solaris 8.
57091
57092         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
57093         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
57094         for Solaris 8.  This is a bit of a hack, as it means it's the
57095         caller's responsibility to add -lnsl if needed, but most likely it
57096         won't be needed since only getaddrinfo uses this and getaddrinfo
57097         isn't needed on Solaris 8.
57098
57099         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
57100         problem to Solaris 8 encountered with coreutils 7.2, which
57101         resulted in a message "fnmatch.c:292: warning: passing argument 4
57102         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
57103         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
57104
57105 2009-04-03  Simon Josefsson  <simon@josefsson.org>
57106
57107         * m4/ld-version-script.m4: Add FIXME comment.
57108
57109 2009-04-02  Simon Josefsson  <simon@josefsson.org>
57110
57111         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
57112         SOVERSION variable.
57113
57114 2009-04-02  Bruno Haible  <bruno@clisp.org>
57115
57116         * Makefile (info, html, dvi, pdf): Combine the rules.
57117         Suggested by Jim Meyering.
57118
57119 2009-04-01  Bruno Haible  <bruno@clisp.org>
57120
57121         * Makefile (info, html, dvi, pdf): New targets.
57122         Reported by Reuben Thomas <rrt@sc3d.org>.
57123
57124 2009-04-01  Bruno Haible  <bruno@clisp.org>
57125
57126         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
57127         can be put into PATH.
57128         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
57129
57130 2009-04-01  Bruno Haible  <bruno@clisp.org>
57131
57132         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
57133
57134 2009-04-01  Bruno Haible  <bruno@clisp.org>
57135
57136         Rename module 'visibility'.
57137         * modules/lib-symbol-visibility: Renamed from modules/visibility.
57138         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
57139         * doc/gnulib.texi: Update.
57140         * MODULES.html.sh (Misc): Update.
57141         * NEWS: Mention the change.
57142
57143 2009-04-01  Simon Josefsson  <simon@josefsson.org>
57144
57145         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
57146         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
57147         Eric Blake <ebb9@byu.net> for review.
57148         * MODULES.html.sh: Add lib-msvc-compat.
57149         * doc/gnulib.texi: Link to new section.
57150         * m4/ld-output-def.m4: New file.
57151         * doc/ld-output-def.texi: New file.
57152
57153 2009-04-01  Simon Josefsson  <simon@josefsson.org>
57154
57155         Rename ld-version-script to lib-symbol-versions.  Suggested by
57156         Bruno Haible <bruno@clisp.org>.
57157         * modules/ld-version-script: Renamed to lib-symbol-versions.
57158         * doc/ld-version-script.texi: Fix module name.
57159         * MODULES.html.sh: Add lib-symbol-versions.
57160
57161 2009-03-31  Simon Josefsson  <simon@josefsson.org>
57162
57163         * modules/u64-tests: New file.
57164         * tests/test-u64.c: New file.
57165
57166 2009-03-04  Simon Josefsson  <simon@josefsson.org>
57167
57168         * MODULES.html.sh: Mention u64.
57169         * modules/u64: New module.
57170         * modules/crypto/sha512: Depend on u64 module instead of providing
57171         u64.h.
57172
57173 2009-03-27  Eric Blake  <ebb9@byu.net>
57174
57175         test-strerror: make debugging EAI_SYSTEM easier
57176         * modules/getaddrinfo-tests (Depends-on): Add strerror.
57177         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
57178         failure was EAI_SYSTEM.
57179
57180 2009-03-25  Bruno Haible  <bruno@clisp.org>
57181
57182         Fix a problem with --enable-relocatable on Solaris 7.
57183         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
57184         since 2008-02-24.
57185
57186 2009-03-25  Eric Blake  <ebb9@byu.net>
57187
57188         test-sockets: avoid gcc warning
57189         * tests/test-sockets.c (main): Silence compiler warning.
57190
57191 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
57192
57193         New modules nproc, pthread, contributed by Glen Lenker.
57194
57195         * MODULES.html.sh: Add pthread, nproc.
57196         * lib/nproc.c: New file.
57197         * lib/nproc.h: New file.
57198         * lib/pthread.in.h: New file.
57199         * m4/pthread.m4: New file.
57200         * modules/nproc: New file.
57201         * modules/pthread: New file.
57202
57203 2009-03-24  Simon Josefsson  <simon@josefsson.org>
57204
57205         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
57206         New variable.
57207
57208 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
57209
57210         filevercmp: handle simple~ and numbered.~3~ backup suffixes
57211         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
57212         * tests/test-filevercmp.c: Add tests for backup suffixes.
57213
57214 2009-03-24  Simon Josefsson  <simon@josefsson.org>
57215
57216         * modules/stdlib (Depends-on): Add stdint, needed when defining
57217         struct random_data on, for example, HP-UX 10.20.  Reported by
57218         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57219
57220 2009-03-24  Simon Josefsson  <simon@josefsson.org>
57221
57222         * lib/readline.c (readline): Call fflush on stdout after printing
57223         prompt.
57224
57225 2009-03-20  Bruno Haible  <bruno@clisp.org>
57226
57227         Remove dependency from 'close' module to -lws2_32 on native Windows.
57228         * lib/close-hook.h: New file.
57229         * lib/close-hook.c: New file.
57230         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
57231         w32sock.h.
57232         (_gl_close_fd_maybe_socket): Remove function.
57233         (rpl_close): Invoke execute_all_close_hooks instead of
57234         _gl_close_fd_maybe_socket.
57235         * lib/sockets.c: Include close-hook.h, w32sock.h.
57236         (close_fd_maybe_socket): New function, essentially from lib/close.c.
57237         (close_sockets_hook): New variable.
57238         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
57239         (gl_sockets_cleanup): Unregister it.
57240         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
57241         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
57242         * modules/close-hook: New file.
57243         * modules/close (Files): Remove lib/w32sock.h.
57244         (Depends-on): Add close-hook.
57245         (Link): Remove section.
57246         * modules/sockets (Files): Add lib/w32sock.h.
57247         (Depends-on): Add close-hook.
57248         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
57249         invocation.
57250         * NEWS: Mention that LIB_CLOSE is gone.
57251
57252 2009-03-23  Eric Blake  <ebb9@byu.net>
57253
57254         signal-tests: test previous patch
57255         * tests/test-signal.c: New file.
57256         * modules/signal-tests: Likewise.
57257
57258         signal.h: always support 'volatile sig_atomic_t'
57259         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
57260         (gl_SIGNAL_H_DEFAULTS): Add a default.
57261         * modules/signal (Makefile.am): Substitute if needed.
57262         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
57263         users can blindly add volatile.
57264         * doc/posix-headers/signal.texi (signal.h): Document it.
57265         Reported by Matthew Woehlke.
57266
57267 2009-03-23  Jim Meyering  <meyering@redhat.com>
57268
57269         pathmax: PATH_MAX: use pathconf only when available
57270         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
57271         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
57272         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
57273         This avoids a link failure in a PSP cross-compilation environment
57274         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
57275
57276         * lib/vasnprintf.c (divide): Fix typo in comment.
57277
57278 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57279
57280         * gnulib-tool (func_filter_filelist): Fix comment.
57281
57282 2009-03-20  Bruno Haible  <bruno@clisp.org>
57283
57284         Make sockets.h self-contained.
57285         * lib/sockets.c: Include sockets.h first.
57286         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
57287
57288 2009-03-19  Eric Blake  <ebb9@byu.net>
57289
57290         doc: mention more functions added in cygwin 1.7.0
57291         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
57292         addition.
57293         * doc/posix-functions/log2f.texi: Likewise.
57294
57295 2009-03-19  Jim Meyering  <meyering@redhat.com>
57296
57297         fsusage: avoid syntax error due to statement-before-declaration
57298         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
57299         after all declarations.  Reported by Matthew Woehlke in
57300         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
57301
57302 2009-03-18  Eric Blake  <ebb9@byu.net>
57303
57304         build-aux/compile: sync from automake
57305         * build-aux/compile: New file, from automake.
57306         * config/srclist.txt: Mention build-aux/compile.
57307
57308 2009-03-17  Bruno Haible  <bruno@clisp.org>
57309
57310         * lib/git-merge-changelog.c: Fix typo in comment.
57311         Reported by Reuben Thomas <rrt@sc3d.org>.
57312
57313 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
57314
57315         * m4/regex.m4: update and improve help for
57316         --without-included-regex.
57317
57318 2009-03-17  Simon Josefsson  <simon@josefsson.org>
57319
57320         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
57321         failure on missing include files.
57322
57323 2009-03-17  Eric Blake  <ebb9@byu.net>
57324
57325         doc: mention more functions added in cygwin 1.7.0
57326         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
57327         addition.
57328         * doc/posix-functions/fwscanf.texi: Likewise.
57329         * doc/posix-functions/swprintf.texi: Likewise.
57330         * doc/posix-functions/swscanf.texi: Likewise.
57331         * doc/posix-functions/vfwprintf.texi: Likewise.
57332         * doc/posix-functions/vfwscanf.texi: Likewise.
57333         * doc/posix-functions/vswprintf.texi: Likewise.
57334         * doc/posix-functions/vswscanf.texi: Likewise.
57335         * doc/posix-functions/vwprintf.texi: Likewise.
57336         * doc/posix-functions/vwscanf.texi: Likewise.
57337         * doc/posix-functions/wcscasecmp.texi: Likewise.
57338         * doc/posix-functions/wcsdup.texi: Likewise.
57339         * doc/posix-functions/wcsftime.texi: Likewise.
57340         * doc/posix-functions/wcsncasecmp.texi: Likewise.
57341         * doc/posix-functions/wprintf.texi: Likewise.
57342         * doc/posix-functions/wscanf.texi: Likewise.
57343         * doc/glibc-functions/gethostbyname2.texi: Likewise.
57344
57345 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57346
57347         maint.mk: really add $(AM_MAKEFLAGS)
57348         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
57349         was inadvertently omitted in the last commit.
57350         Spotted by Bruno Haible.
57351
57352         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
57353         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
57354         $(AM_MAKEFLAGS)' rather than plain `make'.
57355
57356         gnulib-tool: execute $MAKE not make
57357         * gnulib-tool: Default $MAKE to 'make'.
57358         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
57359         than make.  Initialize $MAKE in the do-autobuild script.
57360
57361         gnulib-tool: use $MAKE not make in generated files
57362         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
57363         make, in generated files.  Initialize $MAKE in the do-autobuild
57364         script.
57365
57366         * top/GNUmakefile (_have-git-version-gen): Fix typo.
57367
57368         GNUmakefile: disable parallelism only for multiple, recursive targets
57369         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
57370         additions in the Makefile.
57371         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
57372         by Automake.
57373         (.NOTPARALLEL): Only disable parallel builds if multiple targets
57374         are listed on the command line and at least one of them is
57375         listed in $(ALL_RECURSIVE_TARGETS).
57376
57377 2009-03-14  Bruno Haible  <bruno@clisp.org>
57378
57379         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
57380         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
57381         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
57382         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
57383         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
57384         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
57385         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
57386         unistr/u8-uctomb.
57387         * modules/unistr/u8-strchr (Depends-on): Likewise.
57388         * modules/unistr/u8-strrchr (Depends-on): Likewise.
57389         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
57390         unistr/u16-uctomb.
57391         * modules/unistr/u16-strchr (Depends-on): Likewise.
57392         * modules/unistr/u16-strrchr (Depends-on): Likewise.
57393
57394 2009-03-12  Bruno Haible  <bruno@clisp.org>
57395
57396         Work around select() bug on Interix 3.5.
57397         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
57398         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
57399         * m4/select.m4: New file.
57400         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
57401         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
57402         * modules/select (Files): Add m4/select.m4.
57403         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
57404         * modules/nanosleep (Depends-on): Add select.
57405         * modules/poll (Depends-on): Likewise.
57406         * doc/posix-functions/select.texi: Mention the Interix bug.
57407         Reported by Markus Duft <mduft@gentoo.org>.
57408
57409         * lib/select.c: Renamed from lib/winsock-select.c.
57410         * modules/select (Files): Add lib/select.c, remove
57411         lib/winsock-select.c.
57412         (configure.ac): Update.
57413
57414 2009-03-12  Jim Meyering  <meyering@redhat.com>
57415
57416         avoid gcc warnings about unused macro definitions
57417         * lib/readtokens.c (STREQ): Remove unused definition.
57418         * lib/xmalloc.c (SIZE_MAX): Likewise.
57419         * lib/openat-die.c (N_): Likewise.
57420         * lib/mountlist.c (SIZE_MAX): Remove definition.
57421         Instead, include <stdint.h>.
57422         * lib/readutmp.c: Likewise.
57423         * modules/readutmp (Depends-on): Add stdint.
57424         * modules/mountlist (Depends-on): Add stdint.
57425         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
57426
57427 2009-03-10  Bruno Haible  <bruno@clisp.org>
57428
57429         Tests for module 'mbmemcasecoll'.
57430         * modules/mbmemcasecoll-tests: New file.
57431         * tests/test-mbmemcasecoll1.sh: New file.
57432         * tests/test-mbmemcasecoll2.sh: New file.
57433         * tests/test-mbmemcasecoll3.sh: New file.
57434         * tests/test-mbmemcasecoll.c: New file.
57435
57436         New module 'mbmemcasecoll'.
57437         * lib/mbmemcasecoll.h: New file.
57438         * lib/mbmemcasecoll.c: New file.
57439         * modules/mbmemcasecoll: New file.
57440
57441         * tests/test-mbmemcasecmp.h: New file, extracted from
57442         tests/test-mbmemcasecmp.c.
57443         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
57444         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
57445         (main): Update.
57446         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
57447
57448 2009-03-09  Bruno Haible  <bruno@clisp.org>
57449
57450         Tests for module 'mbmemcasecmp'.
57451         * modules/mbmemcasecmp-tests: New file.
57452         * tests/test-mbmemcasecmp1.sh: New file.
57453         * tests/test-mbmemcasecmp2.sh: New file.
57454         * tests/test-mbmemcasecmp3.sh: New file.
57455         * tests/test-mbmemcasecmp.c: New file.
57456
57457         New module 'mbmemcasecmp'.
57458         * lib/mbmemcasecmp.h: New file.
57459         * lib/mbmemcasecmp.c: New file.
57460         * modules/mbmemcasecmp: New file.
57461
57462 2009-03-09  Bruno Haible  <bruno@clisp.org>
57463
57464         Tests for module 'unicase/ulc-casecoll'.
57465         * modules/unicase/ulc-casecoll-tests: New file.
57466         * tests/unicase/test-ulc-casecoll1.sh: New file.
57467         * tests/unicase/test-ulc-casecoll2.sh: New file.
57468         * tests/unicase/test-ulc-casecoll.c: New file.
57469
57470         New module 'unicase/ulc-casecoll'.
57471         * lib/unicase.h (ulc_casecoll): New declaration.
57472         * lib/unicase/ulc-casecoll.c: New file.
57473         * modules/unicase/ulc-casecoll: New file.
57474
57475         New module 'unicase/ulc-casexfrm'.
57476         * lib/unicase.h (ulc_casexfrm): New declaration.
57477         * lib/unicase/ulc-casexfrm.c: New file.
57478         * modules/unicase/ulc-casexfrm: New file.
57479
57480 2009-03-09  Bruno Haible  <bruno@clisp.org>
57481
57482         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
57483         invocations.
57484
57485         * m4/mbscasecmp.m4: Remove file.
57486         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
57487         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
57488
57489         * m4/mbscasestr.m4: Remove file.
57490         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
57491         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
57492
57493         * m4/mbschr.m4: Remove file.
57494         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
57495         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
57496
57497         * m4/mbscspn.m4: Remove file.
57498         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
57499         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
57500
57501         * m4/mbslen.m4: Remove file.
57502         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
57503         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
57504
57505         * m4/mbsncasecmp.m4: Remove file.
57506         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
57507         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
57508
57509         * m4/mbsnlen.m4: Remove file.
57510         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
57511         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
57512
57513         * m4/mbspbrk.m4: Remove file.
57514         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
57515         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
57516
57517         * m4/mbspcasecmp.m4: Remove file.
57518         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
57519         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
57520
57521         * m4/mbsrchr.m4: Remove file.
57522         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
57523         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
57524
57525         * m4/mbssep.m4: Remove file.
57526         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
57527         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
57528
57529         * m4/mbsspn.m4: Remove file.
57530         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
57531         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
57532
57533         * m4/mbsstr.m4: Remove file.
57534         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
57535         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
57536
57537         * m4/mbstok_r.m4: Remove file.
57538         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
57539         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
57540
57541         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
57542
57543         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
57544         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
57545
57546         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
57547
57548 2009-03-08  Bruno Haible  <bruno@clisp.org>
57549
57550         Tests for module 'unicase/ulc-casecmp'.
57551         * modules/unicase/ulc-casecmp-tests: New file.
57552         * tests/unicase/test-ulc-casecmp1.sh: New file.
57553         * tests/unicase/test-ulc-casecmp2.sh: New file.
57554         * tests/unicase/test-ulc-casecmp.c: New file.
57555
57556         New module 'unicase/ulc-casecmp'.
57557         * lib/unicase.h (ulc_casecmp): New declaration.
57558         * lib/unicase/ulc-casecmp.c: New file.
57559         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
57560         'const SRC_UNIT *'.
57561         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
57562         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
57563         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
57564         * modules/unicase/ulc-casecmp: New file.
57565
57566         Tests for module 'unicase/u32-is-cased'.
57567         * modules/unicase/u32-is-cased-tests: New file.
57568         * tests/unicase/test-u32-is-cased.c: New file.
57569
57570         Tests for module 'unicase/u16-is-cased'.
57571         * modules/unicase/u16-is-cased-tests: New file.
57572         * tests/unicase/test-u16-is-cased.c: New file.
57573
57574         Tests for module 'unicase/u8-is-cased'.
57575         * modules/unicase/u8-is-cased-tests: New file.
57576         * tests/unicase/test-u8-is-cased.c: New file.
57577         * tests/unicase/test-is-cased.h: New file.
57578
57579         New module 'unicase/u32-is-cased'.
57580         * lib/unicase/u32-is-cased.c: New file.
57581         * modules/unicase/u32-is-cased: New file.
57582
57583         New module 'unicase/u16-is-cased'.
57584         * lib/unicase/u16-is-cased.c: New file.
57585         * modules/unicase/u16-is-cased: New file.
57586
57587         New module 'unicase/u8-is-cased'.
57588         * lib/unicase/u8-is-cased.c: New file.
57589         * lib/unicase/u-is-cased.h: New file.
57590         * modules/unicase/u8-is-cased: New file.
57591
57592         Tests for module 'unicase/u32-is-casefolded'.
57593         * modules/unicase/u32-is-casefolded-tests: New file.
57594         * tests/unicase/test-u32-is-casefolded.c: New file.
57595
57596         Tests for module 'unicase/u16-is-casefolded'.
57597         * modules/unicase/u16-is-casefolded-tests: New file.
57598         * tests/unicase/test-u16-is-casefolded.c: New file.
57599
57600         Tests for module 'unicase/u8-is-casefolded'.
57601         * modules/unicase/u8-is-casefolded-tests: New file.
57602         * tests/unicase/test-u8-is-casefolded.c: New file.
57603         * tests/unicase/test-is-casefolded.h: New file.
57604
57605         New module 'unicase/u32-is-casefolded'.
57606         * lib/unicase/u32-is-casefolded.c: New file.
57607         * modules/unicase/u32-is-casefolded: New file.
57608
57609         New module 'unicase/u16-is-casefolded'.
57610         * lib/unicase/u16-is-casefolded.c: New file.
57611         * modules/unicase/u16-is-casefolded: New file.
57612
57613         New module 'unicase/u8-is-casefolded'.
57614         * lib/unicase/u8-is-casefolded.c: New file.
57615         * modules/unicase/u8-is-casefolded: New file.
57616
57617         Tests for module 'unicase/u32-is-titlecase'.
57618         * modules/unicase/u32-is-titlecase-tests: New file.
57619         * tests/unicase/test-u32-is-titlecase.c: New file.
57620
57621         Tests for module 'unicase/u16-is-titlecase'.
57622         * modules/unicase/u16-is-titlecase-tests: New file.
57623         * tests/unicase/test-u16-is-titlecase.c: New file.
57624
57625         Tests for module 'unicase/u8-is-titlecase'.
57626         * modules/unicase/u8-is-titlecase-tests: New file.
57627         * tests/unicase/test-u8-is-titlecase.c: New file.
57628         * tests/unicase/test-is-titlecase.h: New file.
57629
57630         New module 'unicase/u32-is-titlecase'.
57631         * lib/unicase/u32-is-titlecase.c: New file.
57632         * modules/unicase/u32-is-titlecase: New file.
57633
57634         New module 'unicase/u16-is-titlecase'.
57635         * lib/unicase/u16-is-titlecase.c: New file.
57636         * modules/unicase/u16-is-titlecase: New file.
57637
57638         New module 'unicase/u8-is-titlecase'.
57639         * lib/unicase/u8-is-titlecase.c: New file.
57640         * modules/unicase/u8-is-titlecase: New file.
57641
57642         Tests for module 'unicase/u32-is-lowercase'.
57643         * modules/unicase/u32-is-lowercase-tests: New file.
57644         * tests/unicase/test-u32-is-lowercase.c: New file.
57645
57646         Tests for module 'unicase/u16-is-lowercase'.
57647         * modules/unicase/u16-is-lowercase-tests: New file.
57648         * tests/unicase/test-u16-is-lowercase.c: New file.
57649
57650         Tests for module 'unicase/u8-is-lowercase'.
57651         * modules/unicase/u8-is-lowercase-tests: New file.
57652         * tests/unicase/test-u8-is-lowercase.c: New file.
57653         * tests/unicase/test-is-lowercase.h: New file.
57654
57655         New module 'unicase/u32-is-lowercase'.
57656         * lib/unicase/u32-is-lowercase.c: New file.
57657         * modules/unicase/u32-is-lowercase: New file.
57658
57659         New module 'unicase/u16-is-lowercase'.
57660         * lib/unicase/u16-is-lowercase.c: New file.
57661         * modules/unicase/u16-is-lowercase: New file.
57662
57663         New module 'unicase/u8-is-lowercase'.
57664         * lib/unicase/u8-is-lowercase.c: New file.
57665         * modules/unicase/u8-is-lowercase: New file.
57666
57667         Tests for module 'unicase/u32-is-uppercase'.
57668         * modules/unicase/u32-is-uppercase-tests: New file.
57669         * tests/unicase/test-u32-is-uppercase.c: New file.
57670
57671         Tests for module 'unicase/u16-is-uppercase'.
57672         * modules/unicase/u16-is-uppercase-tests: New file.
57673         * tests/unicase/test-u16-is-uppercase.c: New file.
57674
57675         Tests for module 'unicase/u8-is-uppercase'.
57676         * modules/unicase/u8-is-uppercase-tests: New file.
57677         * tests/unicase/test-u8-is-uppercase.c: New file.
57678         * tests/unicase/test-is-uppercase.h: New file.
57679
57680         New module 'unicase/u32-is-uppercase'.
57681         * lib/unicase/u32-is-uppercase.c: New file.
57682         * modules/unicase/u32-is-uppercase: New file.
57683
57684         New module 'unicase/u16-is-uppercase'.
57685         * lib/unicase/u16-is-uppercase.c: New file.
57686         * modules/unicase/u16-is-uppercase: New file.
57687
57688         New module 'unicase/u8-is-uppercase'.
57689         * lib/unicase/u8-is-uppercase.c: New file.
57690         * modules/unicase/u8-is-uppercase: New file.
57691
57692         New module 'unicase/u32-is-invariant'.
57693         * lib/unicase/u32-is-invariant.c: New file.
57694         * modules/unicase/u32-is-invariant: New file.
57695
57696         New module 'unicase/u16-is-invariant'.
57697         * lib/unicase/u16-is-invariant.c: New file.
57698         * modules/unicase/u16-is-invariant: New file.
57699
57700         New module 'unicase/u8-is-invariant'.
57701         * lib/unicase/u8-is-invariant.c: New file.
57702         * lib/unicase/invariant.h: New file.
57703         * lib/unicase/u-is-invariant.h: New file.
57704         * modules/unicase/u8-is-invariant: New file.
57705
57706         Tests for module 'unicase/u32-casecoll'.
57707         * modules/unicase/u32-casecoll-tests: New file.
57708         * tests/unicase/test-u32-casecoll.c: New file.
57709
57710         Tests for module 'unicase/u16-casecoll'.
57711         * modules/unicase/u16-casecoll-tests: New file.
57712         * tests/unicase/test-u16-casecoll.c: New file.
57713
57714         Tests for module 'unicase/u8-casecoll'.
57715         * modules/unicase/u8-casecoll-tests: New file.
57716         * tests/unicase/test-u8-casecoll.c: New file.
57717
57718         New module 'unicase/u32-casecoll'.
57719         * lib/unicase/u32-casecoll.c: New file.
57720         * modules/unicase/u32-casecoll: New file.
57721
57722         New module 'unicase/u16-casecoll'.
57723         * lib/unicase/u16-casecoll.c: New file.
57724         * modules/unicase/u16-casecoll: New file.
57725
57726         New module 'unicase/u8-casecoll'.
57727         * lib/unicase/u8-casecoll.c: New file.
57728         * lib/unicase/u-casecoll.h: New file.
57729         * modules/unicase/u8-casecoll: New file.
57730
57731         New module 'unicase/u32-casexfrm'.
57732         * lib/unicase/u32-casexfrm.c: New file.
57733         * modules/unicase/u32-casexfrm: New file.
57734
57735         New module 'unicase/u16-casexfrm'.
57736         * lib/unicase/u16-casexfrm.c: New file.
57737         * modules/unicase/u16-casexfrm: New file.
57738
57739         New module 'unicase/u8-casexfrm'.
57740         * lib/unicase/u8-casexfrm.c: New file.
57741         * lib/unicase/u-casexfrm.h: New file.
57742         * modules/unicase/u8-casexfrm: New file.
57743
57744         Tests for module 'unicase/u32-casecmp'.
57745         * modules/unicase/u32-casecmp-tests: New file.
57746         * tests/unicase/test-u32-casecmp.c: New file.
57747
57748         Tests for module 'unicase/u16-casecmp'.
57749         * modules/unicase/u16-casecmp-tests: New file.
57750         * tests/unicase/test-u16-casecmp.c: New file.
57751
57752         Tests for module 'unicase/u8-casecmp'.
57753         * modules/unicase/u8-casecmp-tests: New file.
57754         * tests/unicase/test-u8-casecmp.c: New file.
57755         * tests/unicase/test-casecmp.h: New file.
57756
57757         New module 'unicase/u32-casecmp'.
57758         * lib/unicase/u32-casecmp.c: New file.
57759         * modules/unicase/u32-casecmp: New file.
57760
57761         New module 'unicase/u16-casecmp'.
57762         * lib/unicase/u16-casecmp.c: New file.
57763         * modules/unicase/u16-casecmp: New file.
57764
57765         New module 'unicase/u8-casecmp'.
57766         * lib/unicase/u8-casecmp.c: New file.
57767         * lib/unicase/u-casecmp.h: New file.
57768         * modules/unicase/u8-casecmp: New file.
57769
57770         Tests for module 'unicase/u32-casefold'.
57771         * modules/unicase/u32-casefold-tests: New file.
57772         * tests/unicase/test-u32-casefold.c: New file.
57773
57774         Tests for module 'unicase/u16-casefold'.
57775         * modules/unicase/u16-casefold-tests: New file.
57776         * tests/unicase/test-u16-casefold.c: New file.
57777
57778         Tests for module 'unicase/u8-casefold'.
57779         * modules/unicase/u8-casefold-tests: New file.
57780         * tests/unicase/test-u8-casefold.c: New file.
57781
57782         New module 'unicase/u32-casefold'.
57783         * lib/unicase/u32-casefold.c: New file.
57784         * modules/unicase/u32-casefold: New file.
57785
57786         New module 'unicase/u16-casefold'.
57787         * lib/unicase/u16-casefold.c: New file.
57788         * modules/unicase/u16-casefold: New file.
57789
57790         New module 'unicase/u8-casefold'.
57791         * lib/unicase/u8-casefold.c: New file.
57792         * lib/unicase/u-casefold.h: New file.
57793         * modules/unicase/u8-casefold: New file.
57794
57795         New module 'unicase/tocasefold'.
57796         * lib/unicase/casefold.h: New file.
57797         * lib/unicase/tocasefold.c: New file.
57798         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
57799         * modules/unicase/tocasefold: New file.
57800
57801         Tests for module 'unicase/u32-totitle'.
57802         * modules/unicase/u32-totitle-tests: New file.
57803         * tests/unicase/test-u32-totitle.c: New file.
57804
57805         Tests for module 'unicase/u16-totitle'.
57806         * modules/unicase/u16-totitle-tests: New file.
57807         * tests/unicase/test-u16-totitle.c: New file.
57808
57809         Tests for module 'unicase/u8-totitle'.
57810         * modules/unicase/u8-totitle-tests: New file.
57811         * tests/unicase/test-u8-totitle.c: New file.
57812
57813         New module 'unicase/u32-totitle'.
57814         * lib/unicase/u32-totitle.c: New file.
57815         * modules/unicase/u32-totitle: New file.
57816
57817         New module 'unicase/u16-totitle'.
57818         * lib/unicase/u16-totitle.c: New file.
57819         * modules/unicase/u16-totitle: New file.
57820
57821         New module 'unicase/u8-totitle'.
57822         * lib/unicase/u8-totitle.c: New file.
57823         * lib/unicase/u-totitle.h: New file.
57824         * modules/unicase/u8-totitle: New file.
57825
57826         Tests for module 'unicase/u32-tolower'.
57827         * modules/unicase/u32-tolower-tests: New file.
57828         * tests/unicase/test-u32-tolower.c: New file.
57829
57830         Tests for module 'unicase/u16-tolower'.
57831         * modules/unicase/u16-tolower-tests: New file.
57832         * tests/unicase/test-u16-tolower.c: New file.
57833
57834         Tests for module 'unicase/u8-tolower'.
57835         * modules/unicase/u8-tolower-tests: New file.
57836         * tests/unicase/test-u8-tolower.c: New file.
57837
57838         New module 'unicase/u32-tolower'.
57839         * lib/unicase/u32-tolower.c: New file.
57840         * modules/unicase/u32-tolower: New file.
57841
57842         New module 'unicase/u16-tolower'.
57843         * lib/unicase/u16-tolower.c: New file.
57844         * modules/unicase/u16-tolower: New file.
57845
57846         New module 'unicase/u8-tolower'.
57847         * lib/unicase/u8-tolower.c: New file.
57848         * modules/unicase/u8-tolower: New file.
57849
57850         Tests for module 'unicase/u32-toupper'.
57851         * modules/unicase/u32-toupper-tests: New file.
57852         * tests/unicase/test-u32-toupper.c: New file.
57853
57854         Tests for module 'unicase/u16-toupper'.
57855         * modules/unicase/u16-toupper-tests: New file.
57856         * tests/unicase/test-u16-toupper.c: New file.
57857
57858         Tests for module 'unicase/u8-toupper'.
57859         * modules/unicase/u8-toupper-tests: New file.
57860         * tests/unicase/test-u8-toupper.c: New file.
57861
57862         New module 'unicase/u32-toupper'.
57863         * lib/unicase/u32-toupper.c: New file.
57864         * modules/unicase/u32-toupper: New file.
57865
57866         New module 'unicase/u16-toupper'.
57867         * lib/unicase/u16-toupper.c: New file.
57868         * modules/unicase/u16-toupper: New file.
57869
57870         New module 'unicase/u8-toupper'.
57871         * lib/unicase/u8-toupper.c: New file.
57872         * modules/unicase/u8-toupper: New file.
57873
57874         New module 'unicase/u32-casemap'.
57875         * lib/unicase/u32-casemap.c: New file.
57876         * modules/unicase/u32-casemap: New file.
57877
57878         New module 'unicase/u16-casemap'.
57879         * lib/unicase/u16-casemap.c: New file.
57880         * modules/unicase/u16-casemap: New file.
57881
57882         New module 'unicase/u8-casemap'.
57883         * lib/unicase/unicasemap.h: New file.
57884         * lib/unicase/u8-casemap.c: New file.
57885         * lib/unicase/u-casemap.h: New file.
57886         * modules/unicase/u8-casemap: New file.
57887
57888         New module 'unicase/special-casing'.
57889         * lib/unicase/special-casing.h: New file.
57890         * lib/unicase/special-casing.c: New file.
57891         * lib/unicase/special-casing-table.gperf: New file, generated by
57892         gen-uni-tables.c.
57893         * modules/unicase/special-casing: New file.
57894
57895         Tests for module 'unicase/locale-language'.
57896         * modules/unicase/locale-language-tests: New file.
57897         * tests/unicase/test-locale-language.sh: New file.
57898         * tests/unicase/test-locale-language.c: New file.
57899
57900         New module 'unicase/locale-language'.
57901         * lib/unicase/locale-language.c: New file.
57902         * lib/unicase/locale-languages.gperf: New file.
57903         * modules/unicase/locale-language: New file.
57904
57905         Generate more tables for case conversion and case folding.
57906         * lib/gen-uni-tables.c (SCC_*): New enum items.
57907         (struct special_casing_rule): New type.
57908         (casing_rules, num_casing_rules, allocated_casing_rules): New
57909         variables.
57910         (add_casing_rule, fill_casing_rules): New functions.
57911         (struct casefold_rule): New type.
57912         (casefolding_rules, num_casefolding_rules,
57913         allocated_casefolding_rules): New variables.
57914         (fill_casefolding_rules): New function.
57915         (unicode_casefold): New variable.
57916         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
57917         sort_casing_rules, output_casing_rules): New functions.
57918         (main): Accept to more arguments: SpecialCasing.txt and
57919         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
57920         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
57921         Output mapping for casefolding.
57922
57923         * lib/unicase.h: Include stdbool.h, uninorm.h.
57924         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
57925         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
57926         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
57927         arguments.
57928         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
57929         resultp arguments.
57930         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
57931         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
57932         resultp arguments.
57933         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
57934         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
57935         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
57936         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
57937         declarations.
57938         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
57939
57940 2009-03-08  Bruno Haible  <bruno@clisp.org>
57941
57942         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
57943         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
57944         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
57945         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
57946
57947 2009-03-07  Bruno Haible  <bruno@clisp.org>
57948
57949         Adjust u*_normcmp, u*_normcoll API.
57950         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
57951         u16_normcoll, u32_normcoll): Change failure conventions.
57952         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
57953         errno and return -1.
57954         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
57955
57956 2009-03-07  Bruno Haible  <bruno@clisp.org>
57957
57958         Tests for module 'uninorm/u32-normcoll'.
57959         * modules/uninorm/u32-normcoll-tests: New file.
57960         * tests/uninorm/test-u32-normcoll.c: New file.
57961
57962         Tests for module 'uninorm/u16-normcoll'.
57963         * modules/uninorm/u16-normcoll-tests: New file.
57964         * tests/uninorm/test-u16-normcoll.c: New file.
57965
57966         Tests for module 'uninorm/u8-normcoll'.
57967         * modules/uninorm/u8-normcoll-tests: New file.
57968         * tests/uninorm/test-u8-normcoll.c: New file.
57969
57970 2009-03-07  Bruno Haible  <bruno@clisp.org>
57971
57972         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
57973         tests/uninorm/test-u32-normcmp.c.
57974         * tests/uninorm/test-u32-normcmp.c: Include it.
57975         (test_nonascii): New function, extracted from main. Add some more
57976         tests.
57977         (main): Invoke test_ascii and test_nonascii.
57978         * modules/uninorm/u32-normcmp-tests (Files): Add
57979         tests/uninorm/test-u32-normcmp.h.
57980         (Depends-on): Remove uninorm/u32-normcmp.
57981
57982         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
57983         tests/uninorm/test-u16-normcmp.c.
57984         * tests/uninorm/test-u16-normcmp.c: Include it.
57985         (test_nonascii): New function, extracted from main. Add some more
57986         tests.
57987         (main): Invoke test_ascii and test_nonascii.
57988         * modules/uninorm/u16-normcmp-tests (Files): Add
57989         tests/uninorm/test-u16-normcmp.h.
57990         (Depends-on): Remove uninorm/u16-normcmp.
57991
57992         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
57993         tests/uninorm/test-u8-normcmp.c.
57994         * tests/uninorm/test-u8-normcmp.c: Include it.
57995         (test_nonascii): New function, extracted from main. Add some more
57996         tests.
57997         (main): Invoke test_ascii and test_nonascii.
57998         * modules/uninorm/u8-normcmp-tests (Files): Add
57999         tests/uninorm/test-u8-normcmp.h.
58000         (Depends-on): Remove uninorm/u8-normcmp.
58001
58002 2009-03-07  Bruno Haible  <bruno@clisp.org>
58003
58004         New module 'uninorm/u32-normcoll'.
58005         * lib/uninorm/u32-normcoll.c: New file.
58006         * modules/uninorm/u32-normcoll: New file.
58007
58008         New module 'uninorm/u16-normcoll'.
58009         * lib/uninorm/u16-normcoll.c: New file.
58010         * modules/uninorm/u16-normcoll: New file.
58011
58012         New module 'uninorm/u8-normcoll'.
58013         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
58014         declarations.
58015         * lib/uninorm/u8-normcoll.c: New file.
58016         * lib/uninorm/u-normcoll.h: New file.
58017         * modules/uninorm/u8-normcoll: New file.
58018
58019         New module 'uninorm/u32-normxfrm'.
58020         * lib/uninorm/u32-normxfrm.c: New file.
58021         * modules/uninorm/u32-normxfrm: New file.
58022
58023         New module 'uninorm/u16-normxfrm'.
58024         * lib/uninorm/u16-normxfrm.c: New file.
58025         * modules/uninorm/u16-normxfrm: New file.
58026
58027         New module 'uninorm/u8-normxfrm'.
58028         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
58029         declarations.
58030         * lib/uninorm/u8-normxfrm.c: New file.
58031         * lib/uninorm/u-normxfrm.h: New file.
58032         * modules/uninorm/u8-normxfrm: New file.
58033
58034 2009-03-07  Bruno Haible  <bruno@clisp.org>
58035
58036         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
58037         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
58038         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
58039
58040 2009-03-07  Bruno Haible  <bruno@clisp.org>
58041
58042         New module 'memxfrm'.
58043         * lib/memxfrm.h: New file.
58044         * lib/memxfrm.c: New file.
58045         * modules/memxfrm: New file.
58046
58047 2009-03-07  Bruno Haible  <bruno@clisp.org>
58048
58049         New module 'memcmp2'.
58050         * lib/memcmp2.h: New file.
58051         * lib/memcmp2.c: New file.
58052         * modules/memcmp2: New file.
58053
58054 2009-03-07  Bruno Haible  <bruno@clisp.org>
58055
58056         Tests for module 'uninorm/decomposing-form'.
58057         * modules/uninorm/decomposing-form-tests: New file.
58058         * tests/uninorm/test-decomposing-form.c: New file.
58059
58060         New module 'uninorm/decomposing-form'.
58061         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
58062         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
58063         Add 'decomposing_variant' field.
58064         * lib/uninorm/decomposing-form.c: New file.
58065         * lib/uninorm/nfc.c (uninorm_nfc): Update.
58066         * lib/uninorm/nfd.c (uninorm_nfd): Update.
58067         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
58068         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
58069         * modules/uninorm/decomposing-form: New file.
58070         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
58071         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
58072
58073 2009-03-07  Bruno Haible  <bruno@clisp.org>
58074
58075         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
58076         strings.
58077
58078 2009-03-06  Bruno Haible  <bruno@clisp.org>
58079
58080         Tests for module 'uninorm/u32-normcmp'.
58081         * tests/uninorm/test-u32-normcmp.c: New file.
58082         * modules/uninorm/u32-normcmp-tests: New file.
58083
58084         Tests for module 'uninorm/u16-normcmp'.
58085         * tests/uninorm/test-u16-normcmp.c: New file.
58086         * modules/uninorm/u16-normcmp-tests: New file.
58087
58088         Tests for module 'uninorm/u8-normcmp'.
58089         * tests/uninorm/test-u8-normcmp.c: New file.
58090         * modules/uninorm/u8-normcmp-tests: New file.
58091
58092         New module 'uninorm/u32-normcmp'.
58093         * lib/uninorm/u32-normcmp.c: New file.
58094         * modules/uninorm/u32-normcmp: New file.
58095
58096         New module 'uninorm/u16-normcmp'.
58097         * lib/uninorm/u16-normcmp.c: New file.
58098         * modules/uninorm/u16-normcmp: New file.
58099
58100         New module 'uninorm/u8-normcmp'.
58101         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
58102         declarations.
58103         * lib/uninorm/u8-normcmp.c: New file.
58104         * lib/uninorm/u-normcmp.h: New file.
58105         * modules/uninorm/u8-normcmp: New file.
58106
58107 2009-03-06  Bruno Haible  <bruno@clisp.org>
58108
58109         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
58110         Reported by Eric Blake.
58111
58112 2009-03-06  Eric Blake  <ebb9@byu.net>
58113             Bruno Haible  <bruno@clisp.org>
58114
58115         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
58116         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
58117         condition.
58118         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
58119         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
58120         condition.
58121         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
58122
58123 2009-03-06  Eric Blake  <ebb9@byu.net>
58124
58125         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
58126         to avoid compiler warnings.
58127         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
58128
58129 2009-03-05  Bruno Haible  <bruno@clisp.org>
58130
58131         * tests/test-ftell.c (main): Disable test beyond end of file on
58132         FreeMiNT.
58133         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
58134
58135 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
58136
58137         * lib/filevercmp.c: Move hidden files up in ordering.
58138         * tests/test-filevercmp.c: Add tests for hidden files.
58139
58140 2009-03-04  Bruno Haible  <bruno@clisp.org>
58141
58142         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
58143         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
58144         AM_CFLAGS.
58145         Reported by Simon Josefsson.
58146
58147 2009-03-03  Bruno Haible  <bruno@clisp.org>
58148
58149         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
58150         Reported by Simon Josefsson.
58151
58152         * doc/ld-version-script.texi: Update node reference.
58153
58154 2009-03-03  Bruno Haible  <bruno@clisp.org>
58155
58156         * modules/visibility (License): Change to 'unlimited'.
58157         Suggested by Simon Josefsson.
58158
58159 2009-03-03  Jim Meyering  <meyering@redhat.com>
58160
58161         unlinkdir: cannot_unlink_dir may modify process state
58162         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
58163         it's neither thread-safe nor appropriate for use in a library.
58164
58165 2009-03-03  Eric Blake  <ebb9@byu.net>
58166
58167         test-closein: silence test under Darwin
58168         * tests/test-closein.sh: Ignore stderr from cat, since we don't
58169         care if it dies from EPIPE or EBADF.
58170
58171 2009-03-03  Bruno Haible  <bruno@clisp.org>
58172
58173         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
58174         earlier.
58175         * doc/visibility.texi: Fix @node and @section.
58176
58177 2009-03-03  Simon Josefsson  <simon@josefsson.org>
58178
58179         * doc/gnulib.texi: Link to sections for ld version script and
58180         visibility.
58181         * doc/visibility.texi: Add @node and @section.
58182         * modules/ld-version-script: New module.
58183         * m4/ld-version-script.m4: New file.
58184         * doc/ld-version-script.texi: New file.
58185
58186 2009-03-02  David Lutterkort  <lutter@redhat.com>
58187
58188         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
58189         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
58190
58191 2009-03-02  Bruno Haible  <bruno@clisp.org>
58192
58193         * doc/visibility.texi: Mention libtool's -export-symbols option.
58194
58195 2009-03-02  Jim Meyering  <meyering@redhat.com>
58196
58197         announce-gen: new option: --no-print-checksums
58198         * build-aux/announce-gen (usage): Describe it.
58199         (print_checksums): Print a newline here, not in the [*] footnote.
58200         (main): Honor it.
58201
58202 2009-03-01  Bruno Haible  <bruno@clisp.org>
58203
58204         Use socklen_t in the native Windows replacements prototypes.
58205         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
58206         instead of 'int'.
58207         * lib/getsockopt.c (rpl_getsockopt): Likewise.
58208         * lib/setsockopt.c (rpl_setsockopt): Likewise.
58209         * modules/getsockopt (Depends-on): Add socklen.
58210         * modules/setsockopt (Depends-on): Add socklen.
58211
58212 2009-03-01  Bruno Haible  <bruno@clisp.org>
58213
58214         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
58215         least 4.2.
58216
58217 2009-03-01  Eric Blake  <ebb9@byu.net>
58218             Bruno Haible  <bruno@clisp.org>
58219
58220         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
58221         error messages.
58222         * lib/wait-process.c (wait_subprocess): Omit error message about
58223         deadly signal sent to the child of termsigp != NULL.
58224
58225 2009-03-01  Eric Blake  <ebb9@byu.net>
58226
58227         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
58228
58229 2009-03-01  Bruno Haible  <bruno@clisp.org>
58230
58231         Avoid a gcc warning.
58232         * tests/test-sched.c (b): Make global.
58233         Reported by Eric Blake.
58234
58235 2009-01-19  Martin Lambers  <marlam@marlam.de>
58236
58237         Provide POSIX semantics for socket timeout options on W32.
58238         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
58239         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
58240         * modules/setsockopt: Depend on sys_time module for struct timeval.
58241         * modules/getsockopt: Depend on sys_time module for struct timeval.
58242
58243 2009-03-01  Simon Josefsson  <simon@josefsson.org>
58244
58245         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
58246         __USE_GNU, for consistency with netdb.in.h.
58247         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
58248
58249 2009-03-01  Bruno Haible  <bruno@clisp.org>
58250
58251         More support for FreeMiNT.
58252         * lib/fseeko.c (rpl_fseeko): Complete last commit.
58253         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
58254
58255 2009-03-01  Bruno Haible  <bruno@clisp.org>
58256
58257         More support for FreeMiNT.
58258         * lib/fpurge.c (fpurge): Correct last commit.
58259         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
58260
58261 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58262
58263         Fix unportable awk script in vc-list-files.
58264         * build-aux/vc-list-files: In the replacement awk script, use
58265         substr with a second argument of 1, not zero.
58266         Report by Simon Josefsson.
58267
58268 2009-02-28  Bruno Haible  <bruno@clisp.org>
58269
58270         More support for FreeMiNT.
58271         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
58272         to FreeMiNT today.
58273         * lib/fwriting.c (fwriting): Likewise.
58274         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
58275
58276 2009-02-28  Bruno Haible  <bruno@clisp.org>
58277
58278         * tests/test-freadseek.c (main): Disable test beyond end of file on
58279         FreeMiNT.
58280         * tests/test-ftello.c (main): Likewise.
58281         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
58282
58283 2009-02-28  Bruno Haible  <bruno@clisp.org>
58284
58285         Add tentative support for FreeMiNT.
58286         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
58287         * lib/fpurge.c (fpurge): Likewise.
58288         * lib/freadable.c (freadable): Likewise.
58289         * lib/freading.c (freading): Likewise.
58290         * lib/freadptr.c (freadptr): Likewise.
58291         * lib/freadseek.c (freadptrinc): Likewise.
58292         * lib/fseeko.c (rpl_fseeko): Likewise.
58293         * lib/fseterr.c (fseterr): Likewise.
58294         * lib/fwritable.c (fwritable): Likewise.
58295         * lib/fwriting.c (fwriting): Likewise.
58296         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
58297         Hourihane.
58298         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
58299
58300 2009-02-28  Bruno Haible  <bruno@clisp.org>
58301
58302         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
58303         SIGCHLD.
58304         Reported by Jim Meyering.
58305
58306 2009-02-28  Bruno Haible  <bruno@clisp.org>
58307
58308         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
58309         Mention the results of these tests on various platforms.
58310         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
58311         order.
58312         * doc/posix-functions/printf.texi: Likewise.
58313         * doc/posix-functions/snprintf.texi: Likewise.
58314         * doc/posix-functions/sprintf.texi: Likewise.
58315         * doc/posix-functions/vfprintf.texi: Likewise.
58316         * doc/posix-functions/vprintf.texi: Likewise.
58317         * doc/posix-functions/vsnprintf.texi: Likewise.
58318         * doc/posix-functions/vsprintf.texi: Likewise.
58319         * doc/glibc-functions/obstack_printf.texi: Likewise.
58320         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
58321
58322 2009-02-28  Bruno Haible  <bruno@clisp.org>
58323
58324         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
58325         Reported by Loïc Minier <lool@dooz.org>.
58326
58327 2009-02-27  Bruno Haible  <bruno@clisp.org>
58328
58329         * gnulib-tool (func_import): Make the sed expression used to create the
58330         sed script for updating the .gitignore file POSIX compliant.
58331         Reported by Eric Blake.
58332
58333 2009-02-27  Bruno Haible  <bruno@clisp.org>
58334
58335         * gnulib-tool (sed): Don't alias as "sed --posix".
58336         Reported by Eric Blake.
58337
58338 2009-02-27  Bruno Haible  <bruno@clisp.org>
58339
58340         Avoid test link errors.
58341         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
58342         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
58343         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
58344         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
58345         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
58346
58347 2009-02-27  Bruno Haible  <bruno@clisp.org>
58348
58349         Avoid spurious "(cached)" in configure output.
58350         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
58351         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
58352         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58353         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
58354         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58355         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
58356         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58357         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
58358         Reported by Eric Blake.
58359
58360 2009-02-27  Eric Blake  <ebb9@byu.net>
58361
58362         printf: fix regression in previous patch
58363         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
58364
58365 2009-02-27  Bruno Haible  <bruno@clisp.org>
58366
58367         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
58368         value.
58369         * lib/stdint.in.h: Likewise.
58370         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
58371
58372 2009-02-27  Eric Blake  <ebb9@byu.net>
58373
58374         doc: mention more functions added in cygwin 1.7.0
58375         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
58376         addition.
58377         * doc/posix-functions/open_wmemstream.texi: Likewise.
58378         * doc/posix-functions/wcsnlen.texi: Likewise.
58379         * doc/posix-functions/wcsnrtombs.texi: Likewise.
58380         * doc/posix-functions/wcstod.texi: Likewise.
58381         * doc/posix-functions/wcstof.texi: Likewise.
58382         * doc/posix-functions/wcstoimax.texi: Likewise.
58383         * doc/posix-functions/wcstok.texi: Likewise.
58384         * doc/posix-functions/wcstoumax.texi: Likewise.
58385
58386         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
58387         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
58388         * doc/posix-functions/fprintf.texi: Update.
58389         * doc/posix-functions/printf.texi: Update.
58390         * doc/posix-functions/snprintf.texi: Update.
58391         * doc/posix-functions/sprintf.texi: Update.
58392         * doc/posix-functions/vfprintf.texi: Update.
58393         * doc/posix-functions/vprintf.texi: Update.
58394         * doc/posix-functions/vsnprintf.texi: Update.
58395         * doc/posix-functions/vsprintf.texi: Update.
58396         * doc/glibc-functions/obstack_printf.texi: Update.
58397         * doc/glibc-functions/obstack_vprintf.texi: Update.
58398
58399 2009-02-26  Eric Blake  <ebb9@byu.net>
58400
58401         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
58402         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
58403         compilation bug by using runtime conversion.
58404         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
58405         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
58406         * modules/ceill-tests (Files): Use nan.h.
58407         * modules/floorl-tests (Files): Likewise.
58408         * modules/frexpl-tests (Files): Likewise.
58409         * modules/isnanl-tests (Files): Likewise.
58410         * modules/ldexpl-tests (Files): Likewise.
58411         * modules/roundl-tests (Files): Likewise.
58412         * modules/truncl-tests (Files): Likewise.
58413         * tests/test-ceill.c (main): Use a working NaN.
58414         * tests/test-floorl.c (main): Likewise.
58415         * tests/test-frexpl.c (main): Likewise.
58416         * tests/test-isnan.c (test_long_double): Likewise.
58417         * tests/test-isnanl.h (main): Likewise.
58418         * tests/test-ldexpl.h (main): Likewise.
58419         * tests/test-roundl.h (main): Likewise.
58420         * tests/test-truncl.h (main): Likewise.
58421         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
58422
58423 2009-02-26  Eric Blake  <ebb9@byu.net>
58424             Bruno Haible  <bruno@clisp.org>
58425
58426         Work around a *printf bug with %ls on Solaris.
58427         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
58428         precision is specified, sprintf stops converting the wide string
58429         argument when the number of bytes that have been produced by this
58430         conversion equals or exceeds the precision.
58431         * doc/posix-functions/fprintf.texi: Update.
58432         * doc/posix-functions/printf.texi: Update.
58433         * doc/posix-functions/snprintf.texi: Update.
58434         * doc/posix-functions/sprintf.texi: Update.
58435         * doc/posix-functions/vfprintf.texi: Update.
58436         * doc/posix-functions/vprintf.texi: Update.
58437         * doc/posix-functions/vsnprintf.texi: Update.
58438         * doc/posix-functions/vsprintf.texi: Update.
58439         * doc/glibc-functions/obstack_printf.texi: Update.
58440         * doc/glibc-functions/obstack_vprintf.texi: Update.
58441
58442 2009-02-26  Eric Blake  <ebb9@byu.net>
58443
58444         stdlib: favor compiler check of random.h
58445         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
58446         to avoid an ObjC random.h installed by Swarm.
58447
58448 2009-02-26  Bruno Haible  <bruno@clisp.org>
58449
58450         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
58451         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
58452         Reported by Gary V. Vaughan <gary@gnu.org>.
58453
58454 2009-02-26  Bruno Haible  <bruno@clisp.org>
58455
58456         Fix *printf behaviour regarding the %ls directive.
58457         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
58458         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
58459         NEED_PRINTF_DIRECTIVE_LS.
58460         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
58461         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58462         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58463         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
58464         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
58465         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
58466         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58467         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58468         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58469         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58470         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58471         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
58472         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58473         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58474         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58475         * doc/posix-functions/fprintf.texi: Update.
58476         * doc/posix-functions/printf.texi: Update.
58477         * doc/posix-functions/snprintf.texi: Update.
58478         * doc/posix-functions/sprintf.texi: Update.
58479         * doc/posix-functions/vfprintf.texi: Update.
58480         * doc/posix-functions/vprintf.texi: Update.
58481         * doc/posix-functions/vsnprintf.texi: Update.
58482         * doc/posix-functions/vsprintf.texi: Update.
58483         * doc/glibc-functions/obstack_printf.texi: Update.
58484         * doc/glibc-functions/obstack_vprintf.texi: Update.
58485         Reported by Eric Blake.
58486
58487 2009-02-25  Bruno Haible  <bruno@clisp.org>
58488
58489         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
58490         with known value.
58491         Reported by Gary V. Vaughan <gary@gnu.org>.
58492
58493 2009-02-25  Bruno Haible  <bruno@clisp.org>
58494
58495         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
58496         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
58497         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
58498         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
58499         Reported by Gary V. Vaughan <gary@gnu.org>.
58500
58501 2009-02-25  Bruno Haible  <bruno@clisp.org>
58502
58503         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
58504         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
58505         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
58506         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
58507         Reported by Gary V. Vaughan <gary@gnu.org>.
58508
58509 2009-02-25  Eric Blake  <ebb9@byu.net>
58510
58511         tests: skip fseek/ftell tests if ungetc is broken
58512         * m4/ungetc.m4: New file.
58513         * modules/fseek-tests: Split test, so ungetc dependency is
58514         separate from rest of test.
58515         * modules/fseeko-tests: Likewise.
58516         * modules/ftell-tests: Likewise.
58517         * modules/ftello-tests: Likewise.
58518         * tests/test-fseek.c (main): Isolate ungetc dependency.
58519         * tests/test-fseeko.c (main): Likewise.
58520         * tests/test-ftell.c (main): Likewise.
58521         * tests/test-ftello.c (main): Likewise.
58522         * tests/test-fseek2.sh: New file.
58523         * tests/test-fseeko2.sh: Likewise.
58524         * tests/test-ftell2.sh: Likewise.
58525         * tests/test-ftello2.sh: Likewise.
58526
58527 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
58528
58529         test-getaddrinfo: fix usage of skip return code 77
58530         * tests/test-gettaddrinfo.c: Return skip code 77 only
58531         for first occurrence of skip (4x77 is not 77)
58532
58533 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
58534
58535         strtod: avoid C99 decl-after-statement
58536         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
58537
58538 2009-02-24  Eric Blake  <ebb9@byu.net>
58539
58540         strtod: detect HP-UX 11.31 bug
58541         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
58542         Reported by Gary V. Vaughan.
58543
58544 2009-02-23  Bruno Haible  <bruno@clisp.org>
58545
58546         Fix invalid read past end of memory block.
58547         * lib/vasnprintf.c (DCHAR_SET): Define.
58548         (local_wcslen): Define only when needed.
58549         (local_strnlen, local_wcsnlen): New functions.
58550         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
58551         directives that involve a conversion ourselves.
58552         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
58553         wcsnlen, mbrtowc, wcrtomb.
58554         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
58555         * tests/test-vasprintf-posix.c (test_function): Likewise.
58556         * tests/test-snprintf-posix.h (test_function): Likewise.
58557         * tests/test-sprintf-posix.h (test_function): Likewise.
58558         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58559
58560 2009-02-22  Bruno Haible  <bruno@clisp.org>
58561
58562         Implement new clarified decomposition of Hangul syllables.
58563         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
58564         of type LTV, return only a pairwise decomposition.
58565         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
58566         Likewise.
58567         * tests/uninorm/test-decomposition.c (main): Updated expected result.
58568         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
58569         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
58570
58571 2009-02-22  Bruno Haible  <bruno@clisp.org>
58572
58573         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
58574         zero-length results and shrink excess allocated memory.
58575         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
58576         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
58577         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
58578         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
58579         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
58580         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
58581         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
58582         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
58583         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
58584         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
58585         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
58586         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
58587
58588 2009-02-21  Bruno Haible  <bruno@clisp.org>
58589
58590         * doc/gnulib.texi: Include safe-alloc.texi earlier.
58591         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
58592         spaces after a period. Put a space between a macro name and its
58593         argument list. Trivial rewordings.
58594         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
58595         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
58596         (main): Return 0 explicitly.
58597
58598 2009-02-21  Bruno Haible  <bruno@clisp.org>
58599
58600         Tests for module 'uninorm/filter'.
58601         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
58602         * modules/uninorm/filter-tests: New file.
58603
58604         New module 'uninorm/filter'.
58605         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
58606         uninorm_filter_flush, uninorm_filter_free): New declarations.
58607         * lib/uninorm/uninorm-filter.c: New file.
58608         * modules/uninorm/filter: New file.
58609
58610 2009-02-21  Bruno Haible  <bruno@clisp.org>
58611
58612         Tests for module 'uninorm/nfkc'.
58613         * tests/uninorm/test-nfkc.c: New file.
58614         * tests/uninorm/test-u8-nfkc.c: New file.
58615         * tests/uninorm/test-u16-nfkc.c: New file.
58616         * tests/uninorm/test-u32-nfkc.c: New file.
58617         * tests/uninorm/test-u32-nfkc-big.sh: New file.
58618         * tests/uninorm/test-u32-nfkc-big.c: New file.
58619         * modules/uninorm/nfkc-tests: New file.
58620
58621         New module 'uninorm/nfkc'.
58622         * lib/uninorm/nfkc.c: New file.
58623         * modules/uninorm/nfkc: New file.
58624
58625         Tests for module 'uninorm/nfkd'.
58626         * tests/uninorm/test-nfkd.c: New file.
58627         * tests/uninorm/test-u8-nfkd.c: New file.
58628         * tests/uninorm/test-u16-nfkd.c: New file.
58629         * tests/uninorm/test-u32-nfkd.c: New file.
58630         * tests/uninorm/test-u32-nfkd-big.sh: New file.
58631         * tests/uninorm/test-u32-nfkd-big.c: New file.
58632         * modules/uninorm/nfkd-tests: New file.
58633
58634         New module 'uninorm/nfkd'.
58635         * lib/uninorm/nfkd.c: New file.
58636         * modules/uninorm/nfkd: New file.
58637
58638         Tests for module 'uninorm/nfc'.
58639         * tests/uninorm/test-nfc.c: New file.
58640         * tests/uninorm/test-u8-nfc.c: New file.
58641         * tests/uninorm/test-u16-nfc.c: New file.
58642         * tests/uninorm/test-u32-nfc.c: New file.
58643         * tests/uninorm/test-u32-nfc-big.sh: New file.
58644         * tests/uninorm/test-u32-nfc-big.c: New file.
58645         * modules/uninorm/nfc-tests: New file.
58646
58647         New module 'uninorm/nfc'.
58648         * lib/uninorm/nfc.c: New file.
58649         * modules/uninorm/nfc: New file.
58650
58651         Tests for module 'uninorm/nfd'.
58652         * tests/uninorm/test-nfd.c: New file.
58653         * tests/uninorm/test-u8-nfd.c: New file.
58654         * tests/uninorm/test-u16-nfd.c: New file.
58655         * tests/uninorm/test-u32-nfd.c: New file.
58656         * tests/uninorm/test-u32-nfd-big.sh: New file.
58657         * tests/uninorm/test-u32-nfd-big.c: New file.
58658         * tests/uninorm/test-u32-normalize-big.h: New file.
58659         * tests/uninorm/test-u32-normalize-big.c: New file.
58660         * tests/uninorm/NormalizationTest.txt: New file, created from
58661         Unicode 5.1.0 NormalizationTest.txt.
58662         * modules/uninorm/nfd-tests: New file.
58663
58664         New module 'uninorm/nfd'.
58665         * lib/uninorm/nfd.c: New file.
58666         * modules/uninorm/nfd: New file.
58667
58668         New module 'uninorm/u32-normalize'.
58669         * lib/uninorm/u32-normalize.c: New file.
58670         * modules/uninorm/u32-normalize: New file.
58671
58672         New module 'uninorm/u16-normalize'.
58673         * lib/uninorm/u16-normalize.c: New file.
58674         * modules/uninorm/u16-normalize: New file.
58675
58676         New module 'uninorm/u8-normalize'.
58677         * lib/uninorm/u8-normalize.c: New file.
58678         * lib/uninorm/normalize-internal.h: New file.
58679         * lib/uninorm/u-normalize-internal.h: New file.
58680         * modules/uninorm/u8-normalize: New file.
58681
58682         New module 'uninorm/decompose-internal'.
58683         * lib/uninorm/decompose-internal.c: New file.
58684         * modules/uninorm/decompose-internal: New file.
58685
58686         Tests for module 'uninorm/composition'.
58687         * tests/uninorm/test-composition.c: New file.
58688         * modules/uninorm/composition-tests: New file.
58689
58690         New module 'uninorm/composition'.
58691         * lib/uninorm/composition.c: New file.
58692         * lib/uninorm/composition-table.gperf: New file, generated by
58693         gen-uni-tables.
58694         * modules/uninorm/composition: New file.
58695
58696         Tests for module 'uninorm/compat-decomposition'.
58697         * tests/uninorm/test-compat-decomposition.c: New file.
58698         * modules/uninorm/compat-decomposition-tests: New file.
58699
58700         New module 'uninorm/compat-decomposition'.
58701         * lib/uninorm/decompose-internal.h: New file.
58702         * lib/uninorm/compat-decomposition.c: New file.
58703         * modules/uninorm/compat-decomposition: New file.
58704
58705         Tests for module 'uninorm/canonical-decomposition'.
58706         * tests/uninorm/test-canonical-decomposition.c: New file.
58707         * modules/uninorm/canonical-decomposition-tests: New file.
58708
58709         New module 'uninorm/canonical-decomposition'.
58710         * lib/uninorm/canonical-decomposition.c: New file.
58711         * modules/uninorm/canonical-decomposition: New file.
58712
58713         Tests for module 'uninorm/decomposition'.
58714         * tests/uninorm/test-decomposition.c: New file.
58715         * modules/uninorm/decomposition-tests: New file.
58716
58717         New module 'uninorm/decomposition'.
58718         * lib/uninorm/decomposition.c: New file.
58719         * modules/uninorm/decomposition: New file.
58720
58721         New module 'uninorm/decomposition-table'.
58722         * lib/uninorm/decomposition-table.h: New file.
58723         * lib/uninorm/decomposition-table.c: New file.
58724         * lib/uninorm/decomposition-table1.h: New file, generated by
58725         gen-uni-tables.
58726         * lib/uninorm/decomposition-table2.h: New file, generated by
58727         gen-uni-tables.
58728         * modules/uninorm/decomposition-table: New file.
58729
58730         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
58731         (UC_DECOMP_*): New enumeration items.
58732         (get_decomposition): New function.
58733         (struct decomp_table): New type.
58734         (output_decomposition, output_decomposition_tables): New functions.
58735         (unicode_composition_exclusions): New variable.
58736         (fill_composition_exclusions, debug_output_composition_tables): New
58737         functions.
58738         (main): Accept one more argument. Invoke fill_composition_exclusions.
58739         Output decomposition and composition tables.
58740
58741         New module 'uninorm/base'.
58742         * lib/uninorm.h: New file.
58743         * lib/unictype.h: Update comment.
58744         * modules/uninorm/base: New file.
58745
58746 2009-02-21  David Lutterkort  <lutter@redhat.com>
58747
58748         Tests for module 'safe-alloc'.
58749         * tests/test-safe-alloc.c: New file.
58750         * modules/safe-alloc-tests: New file.
58751
58752         New module 'safe-alloc'.
58753         * lib/safe-alloc.h: New file.
58754         * lib/safe-alloc.c: New file.
58755         * m4/safe-alloc.m4: New file.
58756         * modules/safe-alloc: New file.
58757         * doc/safe-alloc.texi: New file.
58758         * doc/gnulib.texi: Include it.
58759         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
58760         safe-alloc.
58761
58762 2009-02-18  Bruno Haible  <bruno@clisp.org>
58763
58764         Fix link error on non-glibc systems.
58765         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
58766         variable.
58767         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
58768
58769 2009-02-18  Jim Meyering  <meyering@redhat.com>
58770
58771         fts: avoid used-uninitialized error due to recent change
58772         * lib/fts.c (fts_read): Guard uses of the new member,
58773         parent->fts_n_dirs_remaining, since it's not relevant for
58774         the parent of a directory specified on the command-line.
58775
58776 2009-02-17  James Youngman  <jay@gnu.org>
58777             Bruno Haible  <bruno@clisp.org>
58778
58779         * m4/include_next.m4: Reformulate comment.
58780
58781 2009-02-16  Jim Meyering  <meyering@redhat.com>
58782
58783         fts: add #if guards so that the fts_lgpl module still builds
58784         * lib/fts.c: Guard just-added hash-table-using parts with
58785         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
58786         Reported by Simon Josefsson.
58787
58788 2009-02-15  Bruno Haible  <bruno@clisp.org>
58789
58790         * modules/array-mergesort-tests: New file.
58791         * tests/test-array-mergesort.c: New file.
58792
58793         New module 'array-mergesort'.
58794         * modules/array-mergesort: New file.
58795         * lib/array-mergesort.h: New file.
58796
58797 2009-02-15  Bruno Haible  <bruno@clisp.org>
58798
58799         Fix 2009-02-07 commit.
58800         * lib/gen-uni-tables.c (output_predicate, output_category,
58801         output_combclass, output_bidi_category, output_decimal_digit,
58802         output_digit, output_numeric, output_mirror, output_scripts,
58803         output_ident_category, output_simple_mapping): Fix format directives.
58804         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
58805
58806 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
58807
58808         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
58809         fixes are available from IBM.
58810
58811 2009-02-13  Jim Meyering  <meyering@redhat.com>
58812
58813         fts: arrange not to stat non-directories in more cases
58814         This makes GNU find (when it doesn't need to stat each file)
58815         *much* more efficient at traversing reiserfs file systems.
58816         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
58817         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
58818         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
58819         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
58820         (leaf_optimization_applies): New function.
58821         (LCO_hash, LCO_compare): New helper functions.
58822         (link_count_optimize_ok): New function.
58823         (fts_stat): Initialize new member (if dir).
58824         (fts_read): Decrement parent's fts_n_dirs_remaining count if
58825         we've just stat'ed a directory.  Skip the stat call when possible.
58826         ---
58827         Note this AFS-related exchange:
58828         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
58829         and note find's pioctl call in find/fstype.c.
58830         But that is necessary only if you want to enable the
58831         optimization for AFS, and for now, I don't.
58832
58833         fts: move a function definition "up" (no semantic change)
58834         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
58835         "up" to precede upcoming use of a related function.
58836
58837 2009-02-11  Jim Meyering  <meyering@redhat.com>
58838
58839         fts: correct internal computation of nlinks (optimization-related)
58840         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
58841         whether the current entry is a directory, so don't test it.
58842
58843 2009-02-10  Bruno Haible  <bruno@clisp.org>
58844
58845         Tests for module 'uniwbrk/ulc-wordbreaks'.
58846         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
58847         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
58848         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
58849
58850         Tests for module 'uniwbrk/u32-wordbreaks'.
58851         * modules/uniwbrk/u32-wordbreaks-tests: New file.
58852         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
58853
58854         Tests for module 'uniwbrk/u16-wordbreaks'.
58855         * modules/uniwbrk/u16-wordbreaks-tests: New file.
58856         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
58857
58858         Tests for module 'uniwbrk/u8-wordbreaks'.
58859         * modules/uniwbrk/u8-wordbreaks-tests: New file.
58860         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
58861
58862 2009-02-10  Bruno Haible  <bruno@clisp.org>
58863
58864         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
58865         property.
58866         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
58867         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
58868         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
58869
58870 2009-02-10  Simon Josefsson  <simon@josefsson.org>
58871
58872         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
58873         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
58874
58875 2009-02-10  Bruno Haible  <bruno@clisp.org>
58876
58877         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
58878         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
58879         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
58880         * lib/unilbrk/u8-possible-linebreaks.c: Update.
58881         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
58882         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
58883
58884 2009-02-09  Simon Josefsson  <simon@josefsson.org>
58885
58886         * lib/sockets.h (gl_fd_to_handle): New function.
58887
58888         * tests/test-sockets.c: Call gl_fd_to_handle.
58889
58890 2009-02-09  Bruno Haible  <bruno@clisp.org>
58891
58892         * doc/havelib.texi: Document the conventions on bi-arch systems.
58893
58894 2009-02-08  Bruno Haible  <bruno@clisp.org>
58895
58896         Document the AC_LIB_LINKFLAGS macro.
58897         * doc/havelib.texi: New file, mostly written on 2005-05-24.
58898         * doc/gnulib.texi: Include it.
58899
58900 2009-02-08  Bruno Haible  <bruno@clisp.org>
58901
58902         Fix wrong order of sections, compared to TOC.
58903         * doc/gnulib.texi: Include relocatable-maint.texi after the
58904         "Regular expressions" node, not before.
58905
58906 2009-02-08  Bruno Haible  <bruno@clisp.org>
58907
58908         Tests for module 'unicase/totitle'.
58909         * modules/unicase/totitle-tests: New file.
58910
58911         Tests for module 'unicase/tolower'.
58912         * modules/unicase/tolower-tests: New file.
58913
58914         Tests for module 'unicase/toupper'.
58915         * modules/unicase/toupper-tests: New file.
58916         * tests/unicase/test-mapping-part1.h: New file.
58917         * tests/unicase/test-mapping-part2.h: New file.
58918
58919         New module 'unicase/totitle'.
58920         * modules/unicase/totitle: New file.
58921         * lib/unicase/totitle.c: New file.
58922
58923         New module 'unicase/tolower'.
58924         * modules/unicase/tolower: New file.
58925         * lib/unicase/tolower.c: New file.
58926
58927         New module 'unicase/toupper'.
58928         * modules/unicase/toupper: New file.
58929         * lib/unicase/toupper.c: New file.
58930         * lib/unicase/simple-mapping.h: New file.
58931
58932         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
58933         (mapping_table): New structure.
58934         (output_simple_mapping): New function.
58935         (main): Invoke output_simple_mapping_test and output_simple_mapping.
58936         * modules/gen-uni-tables (Description): Update.
58937         * lib/unicase/toupper.h: New file, automatically generated by
58938         gen-uni-tables.
58939         * lib/unicase/tolower.h: New file, automatically generated by
58940         gen-uni-tables.
58941         * lib/unicase/totitle.h: New file, automatically generated by
58942         gen-uni-tables.
58943         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
58944         gen-uni-tables.
58945         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
58946         gen-uni-tables.
58947         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
58948         gen-uni-tables.
58949
58950         New module 'unicase/base'.
58951         * modules/unicase/base: New file.
58952         * lib/unicase.h: New file.
58953
58954 2009-02-08  Bruno Haible  <bruno@clisp.org>
58955
58956         New module 'uniwbrk/ulc-wordbreaks'.
58957         * modules/uniwbrk/ulc-wordbreaks: New file.
58958         * lib/uniwbrk/ulc-wordbreaks.c: New file.
58959
58960         New module 'uniwbrk/u32-wordbreaks'.
58961         * modules/uniwbrk/u32-wordbreaks: New file.
58962         * lib/uniwbrk/u32-wordbreaks.c: New file.
58963
58964         New module 'uniwbrk/u16-wordbreaks'.
58965         * modules/uniwbrk/u16-wordbreaks: New file.
58966         * lib/uniwbrk/u16-wordbreaks.c: New file.
58967
58968         New module 'uniwbrk/u8-wordbreaks'.
58969         * modules/uniwbrk/u8-wordbreaks: New file.
58970         * lib/uniwbrk/u8-wordbreaks.c: New file.
58971         * lib/uniwbrk/u-wordbreaks.h: New file.
58972
58973         New module 'uniwbrk/table'.
58974         * modules/uniwbrk/table: New file.
58975         * lib/uniwbrk/wbrktable.h: New file.
58976         * lib/uniwbrk/wbrktable.c: New file.
58977
58978         New module 'uniwbrk/wordbreak-property'.
58979         * modules/uniwbrk/wordbreak-property: New file.
58980         * lib/uniwbrk/wordbreak-property.c: New file.
58981
58982         * lib/gen-uni-tables.c (WBP_*): New enum items.
58983         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
58984         (unicode_org_wbp): New variable.
58985         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
58986         New functions.
58987         (wbp_table): New structure.
58988         (output_wbp, output_wbrk_tables): New functions.
58989         (main): Accept additional argument. Invoke fill_org_wbp,
58990         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
58991         output_wbrk_tables.
58992         * modules/gen-uni-tables (Description): Update.
58993         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
58994         gen-uni-tables.
58995
58996         New module 'uniwbrk/base'.
58997         * modules/uniwbrk/base: New file.
58998         * lib/uniwbrk.h: New file.
58999
59000 2009-02-08  Bruno Haible  <bruno@clisp.org>
59001
59002         Update to Unicode 5.1.0.
59003         * lib/gen-uni-tables.c (is_property_alphabetic): Include
59004         U+2185..U+2188.
59005         (is_property_default_ignorable_code_point): Don't include characters
59006         of category Cc or Cs and not-a-characters.
59007         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
59008         U+0D79, U+109E, U+109F, U+A60C.
59009         * lib/unictype/bidi_of.h: Regenerated.
59010         * lib/unictype/blocks.h: Regenerated.
59011         * lib/unictype/categ_C.h: Regenerated.
59012         * lib/unictype/categ_Cf.h: Regenerated.
59013         * lib/unictype/categ_Cn.h: Regenerated.
59014         * lib/unictype/categ_L.h: Regenerated.
59015         * lib/unictype/categ_Ll.h: Regenerated.
59016         * lib/unictype/categ_Lm.h: Regenerated.
59017         * lib/unictype/categ_Lo.h: Regenerated.
59018         * lib/unictype/categ_Lu.h: Regenerated.
59019         * lib/unictype/categ_M.h: Regenerated.
59020         * lib/unictype/categ_Mc.h: Regenerated.
59021         * lib/unictype/categ_Me.h: Regenerated.
59022         * lib/unictype/categ_Mn.h: Regenerated.
59023         * lib/unictype/categ_N.h: Regenerated.
59024         * lib/unictype/categ_Nd.h: Regenerated.
59025         * lib/unictype/categ_Nl.h: Regenerated.
59026         * lib/unictype/categ_No.h: Regenerated.
59027         * lib/unictype/categ_P.h: Regenerated.
59028         * lib/unictype/categ_Pd.h: Regenerated.
59029         * lib/unictype/categ_Pe.h: Regenerated.
59030         * lib/unictype/categ_Pf.h: Regenerated.
59031         * lib/unictype/categ_Pi.h: Regenerated.
59032         * lib/unictype/categ_Po.h: Regenerated.
59033         * lib/unictype/categ_Ps.h: Regenerated.
59034         * lib/unictype/categ_S.h: Regenerated.
59035         * lib/unictype/categ_Sk.h: Regenerated.
59036         * lib/unictype/categ_Sm.h: Regenerated.
59037         * lib/unictype/categ_So.h: Regenerated.
59038         * lib/unictype/categ_of.h: Regenerated.
59039         * lib/unictype/combining.h: Regenerated.
59040         * lib/unictype/ctype_alnum.h: Regenerated.
59041         * lib/unictype/ctype_alpha.h: Regenerated.
59042         * lib/unictype/ctype_graph.h: Regenerated.
59043         * lib/unictype/ctype_lower.h: Regenerated.
59044         * lib/unictype/ctype_print.h: Regenerated.
59045         * lib/unictype/ctype_punct.h: Regenerated.
59046         * lib/unictype/ctype_upper.h: Regenerated.
59047         * lib/unictype/decdigit.h: Regenerated.
59048         * lib/unictype/digit.h: Regenerated.
59049         * lib/unictype/mirror.h: Regenerated.
59050         * lib/unictype/numeric.h: Regenerated.
59051         * lib/unictype/pr_alphabetic.h: Regenerated.
59052         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
59053         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
59054         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
59055         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
59056         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
59057         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
59058         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
59059         * lib/unictype/pr_combining.h: Regenerated.
59060         * lib/unictype/pr_dash.h: Regenerated.
59061         * lib/unictype/pr_decimal_digit.h: Regenerated.
59062         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
59063         * lib/unictype/pr_deprecated.h: Regenerated.
59064         * lib/unictype/pr_diacritic.h: Regenerated.
59065         * lib/unictype/pr_extender.h: Regenerated.
59066         * lib/unictype/pr_format_control.h: Regenerated.
59067         * lib/unictype/pr_grapheme_base.h: Regenerated.
59068         * lib/unictype/pr_grapheme_extend.h: Regenerated.
59069         * lib/unictype/pr_grapheme_link.h: Regenerated.
59070         * lib/unictype/pr_id_continue.h: Regenerated.
59071         * lib/unictype/pr_id_start.h: Regenerated.
59072         * lib/unictype/pr_ideographic.h: Regenerated.
59073         * lib/unictype/pr_ignorable_control.h: Regenerated.
59074         * lib/unictype/pr_lowercase.h: Regenerated.
59075         * lib/unictype/pr_math.h: Regenerated.
59076         * lib/unictype/pr_numeric.h: Regenerated.
59077         * lib/unictype/pr_other_alphabetic.h: Regenerated.
59078         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
59079         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
59080         * lib/unictype/pr_other_id_continue.h: Regenerated.
59081         * lib/unictype/pr_other_lowercase.h: Regenerated.
59082         * lib/unictype/pr_other_math.h: Regenerated.
59083         * lib/unictype/pr_punctuation.h: Regenerated.
59084         * lib/unictype/pr_sentence_terminal.h: Regenerated.
59085         * lib/unictype/pr_soft_dotted.h: Regenerated.
59086         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
59087         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
59088         * lib/unictype/pr_unified_ideograph.h: Regenerated.
59089         * lib/unictype/pr_uppercase.h: Regenerated.
59090         * lib/unictype/pr_xid_continue.h: Regenerated.
59091         * lib/unictype/pr_xid_start.h: Regenerated.
59092         * lib/unictype/pr_zero_width.h: Regenerated.
59093         * lib/unictype/scripts.h: Regenerated.
59094         * lib/unictype/scripts_byname.gperf: Regenerated.
59095         * lib/unictype/sy_java_ident.h: Regenerated.
59096         * lib/unilbrk/lbrkprop1.h: Regenerated.
59097         * lib/unilbrk/lbrkprop2.h: Regenerated.
59098         * tests/unictype/test-categ_C.c: Regenerated.
59099         * tests/unictype/test-categ_Cf.c: Regenerated.
59100         * tests/unictype/test-categ_Cn.c: Regenerated.
59101         * tests/unictype/test-categ_L.c: Regenerated.
59102         * tests/unictype/test-categ_Ll.c: Regenerated.
59103         * tests/unictype/test-categ_Lm.c: Regenerated.
59104         * tests/unictype/test-categ_Lo.c: Regenerated.
59105         * tests/unictype/test-categ_Lu.c: Regenerated.
59106         * tests/unictype/test-categ_M.c: Regenerated.
59107         * tests/unictype/test-categ_Mc.c: Regenerated.
59108         * tests/unictype/test-categ_Me.c: Regenerated.
59109         * tests/unictype/test-categ_Mn.c: Regenerated.
59110         * tests/unictype/test-categ_N.c: Regenerated.
59111         * tests/unictype/test-categ_Nd.c: Regenerated.
59112         * tests/unictype/test-categ_Nl.c: Regenerated.
59113         * tests/unictype/test-categ_No.c: Regenerated.
59114         * tests/unictype/test-categ_P.c: Regenerated.
59115         * tests/unictype/test-categ_Pd.c: Regenerated.
59116         * tests/unictype/test-categ_Pe.c: Regenerated.
59117         * tests/unictype/test-categ_Pf.c: Regenerated.
59118         * tests/unictype/test-categ_Pi.c: Regenerated.
59119         * tests/unictype/test-categ_Po.c: Regenerated.
59120         * tests/unictype/test-categ_Ps.c: Regenerated.
59121         * tests/unictype/test-categ_S.c: Regenerated.
59122         * tests/unictype/test-categ_Sk.c: Regenerated.
59123         * tests/unictype/test-categ_Sm.c: Regenerated.
59124         * tests/unictype/test-categ_So.c: Regenerated.
59125         * tests/unictype/test-ctype_alnum.c: Regenerated.
59126         * tests/unictype/test-ctype_alpha.c: Regenerated.
59127         * tests/unictype/test-ctype_graph.c: Regenerated.
59128         * tests/unictype/test-ctype_lower.c: Regenerated.
59129         * tests/unictype/test-ctype_print.c: Regenerated.
59130         * tests/unictype/test-ctype_punct.c: Regenerated.
59131         * tests/unictype/test-ctype_upper.c: Regenerated.
59132         * tests/unictype/test-decdigit.h: Regenerated.
59133         * tests/unictype/test-digit.h: Regenerated.
59134         * tests/unictype/test-numeric.h: Regenerated.
59135         * tests/unictype/test-pr_alphabetic.c: Regenerated.
59136         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
59137         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
59138         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
59139         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
59140         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
59141         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
59142         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
59143         * tests/unictype/test-pr_combining.c: Regenerated.
59144         * tests/unictype/test-pr_dash.c: Regenerated.
59145         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
59146         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
59147         * tests/unictype/test-pr_deprecated.c: Regenerated.
59148         * tests/unictype/test-pr_diacritic.c: Regenerated.
59149         * tests/unictype/test-pr_extender.c: Regenerated.
59150         * tests/unictype/test-pr_format_control.c: Regenerated.
59151         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
59152         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
59153         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
59154         * tests/unictype/test-pr_id_continue.c: Regenerated.
59155         * tests/unictype/test-pr_id_start.c: Regenerated.
59156         * tests/unictype/test-pr_ideographic.c: Regenerated.
59157         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
59158         * tests/unictype/test-pr_lowercase.c: Regenerated.
59159         * tests/unictype/test-pr_math.c: Regenerated.
59160         * tests/unictype/test-pr_numeric.c: Regenerated.
59161         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
59162         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
59163         Regenerated.
59164         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
59165         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
59166         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
59167         * tests/unictype/test-pr_other_math.c: Regenerated.
59168         * tests/unictype/test-pr_punctuation.c: Regenerated.
59169         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
59170         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
59171         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
59172         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
59173         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
59174         * tests/unictype/test-pr_uppercase.c: Regenerated.
59175         * tests/unictype/test-pr_xid_continue.c: Regenerated.
59176         * tests/unictype/test-pr_xid_start.c: Regenerated.
59177         * tests/unictype/test-pr_zero_width.c: Regenerated.
59178
59179         Update to Unicode 5.1.0.
59180         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
59181         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
59182         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
59183         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
59184         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
59185         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
59186         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
59187         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
59188         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
59189         (nonspacing_table_ind): Update.
59190         * tests/uniwidth/test-uc_width2.sh: Update expected result.
59191
59192         Update to Unicode 5.1.0.
59193         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
59194         code transform.
59195         * lib/uniname/uniname.c (unicode_character_name,
59196         unicode_name_character): Add the range 0x1Fxxx to the code transform.
59197         * lib/uniname/uninames.h: Regenerated.
59198         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
59199
59200 2009-02-07  Bruno Haible  <bruno@clisp.org>
59201
59202         Merge gen-ctype and gen-lbrk into a single program.
59203         * lib/gen-uni-tables.c: New file, incorporating
59204         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
59205         Add directory prefixes to the names of the generated files.
59206         * lib/unictype/gen-ctype.c: Remove file.
59207         * lib/unilbrk/gen-lbrk.c: Remove file.
59208         * modules/gen-uni-tables: New file.
59209         * modules/unictype/gen-ctype: Remove file.
59210         * modules/unilbrk/gen-lbrk: Remove file.
59211
59212 2009-02-07  Bruno Haible  <bruno@clisp.org>
59213
59214         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
59215
59216         New module 'unistr/u32-strcoll'.
59217         * modules/unistr/u32-strcoll: New file.
59218         * lib/unistr/u32-strcoll.c: New file.
59219
59220         New module 'unistr/u16-strcoll'.
59221         * modules/unistr/u16-strcoll: New file.
59222         * lib/unistr/u16-strcoll.c: New file.
59223
59224         New module 'unistr/u8-strcoll'.
59225         * modules/unistr/u8-strcoll: New file.
59226         * lib/unistr/u8-strcoll.c: New file.
59227         * lib/unistr/u-strcoll.h: New file.
59228
59229 2009-02-07  Bruno Haible  <bruno@clisp.org>
59230
59231         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
59232         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
59233         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
59234         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
59235         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
59236         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
59237
59238 2009-02-07  Bruno Haible  <bruno@clisp.org>
59239
59240         Make 64-bit clean.
59241         * lib/unictype/gen-ctype.c (output_predicate, output_category,
59242         output_combclass, output_bidi_category, output_decimal_digit,
59243         output_digit, output_numeric, output_mirror, output_scripts,
59244         output_ident_category): Use proper width specifier in format strings.
59245
59246 2009-02-07  Bruno Haible  <bruno@clisp.org>
59247
59248         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
59249         failure behaviour.
59250
59251 2009-02-07  Jim Meyering  <meyering@redhat.com>
59252
59253         regex: avoid compilation failure with upcoming gcc-4.4
59254         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
59255         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
59256         "... error: integer overflow in preprocessor expression".
59257
59258 2009-02-05  Ben Pfaff  <blp@gnu.org>
59259
59260         Fix link errors on Windows when close module is used.
59261         * modules/close: Add $(LIB_CLOSE) to Link section.
59262         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
59263         $(LIB_CLOSE) on Windows.
59264
59265 2009-02-05  Jim Meyering  <meyering@redhat.com>
59266
59267         still avoid unused-parameter warnings, but do it cleanly
59268         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
59269         (get_fs_usage): Cast to void instead.
59270         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
59271         (dev_from_mount_options, read_file_system_list): Cast to void.
59272         Prompted by Bruno Haible.
59273
59274 2009-02-04  Jim Meyering  <meyering@redhat.com>
59275
59276         fsusage.c: correct copyright year
59277         * lib/fsusage.c: Reflect year in which the change is pushed into
59278
59279         avoid misc. warnings
59280         * lib/fsusage.c (UNUSED_PARAM): Define.
59281         (get_fs_usage): Mark parameter "disk" as unused.
59282         * lib/getugroups.c (getgrent): Use "void" in prototype.
59283         * lib/mountlist.c: Mark unused parameters.
59284         (read_file_system_list): Declare a local with "const".
59285         * lib/nanosleep.c (getnow): Declare static.
59286         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
59287
59288         dirfd: set errno upon failure
59289         * lib/dirfd.c: Include <errno.h>.
59290         Set errno to ENOTSUP when returning -1.
59291         * modules/dirfd (Depends-on): Add errno.
59292         Suggested by John Kodis <kodis@comcast.net>.
59293
59294 2009-02-01  Bruno Haible  <bruno@clisp.org>
59295
59296         Don't assume sizeof (long) >= sizeof (void *).
59297         * lib/memcmp.c: Include stdint.h.
59298         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
59299         srcp2 to 'const byte *'.
59300         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
59301         types to uintptr_t.
59302         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
59303         * modules/memcmp (Depends-on): Add stdint.
59304         Reported by Ozkan Sezer <sezeroz@gmail.com>.
59305
59306 2009-01-30  Eric Blake  <ebb9@byu.net>
59307
59308         fix more require-before-expand issues
59309         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
59310         expand, AC_PROG_AWK.
59311         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
59312
59313 2009-01-28  Eric Blake  <ebb9@byu.net>
59314
59315         version-etc: use consistent URL formatting
59316         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
59317         Improve formatting.  Use fputs for string without %.
59318
59319 2009-01-28  Jim Meyering  <meyering@redhat.com>
59320
59321         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
59322         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
59323         "underquoted definition of NAME" from autoconf-2.59.
59324
59325 2009-01-28  Bruno Haible  <bruno@clisp.org>
59326
59327         * doc/gnulib.texi: Add "Obsolete modules" to index.
59328
59329 2009-01-28  Jim Meyering  <meyering@redhat.com>
59330
59331         useless-if-before-free: recognize more variants
59332         * build-aux/useless-if-before-free: Also recognize e.g.,
59333         if (NULL != p) free (p);
59334
59335 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
59336
59337         test-getaddrinfo: skip (don't fail) this test when there's no network
59338         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
59339         on the presumption that it means you lack network access.
59340
59341 2009-01-26  Jim Meyering  <meyering@redhat.com>
59342
59343         fflush: avoid warnings on modern systems
59344         * lib/fflush.c (rpl_fflush): Move declarations of locals,
59345         pos and result, into scopes where they're used.
59346
59347 2009-01-26  Eric Blake  <ebb9@byu.net>
59348
59349         Silence warning reintroduced by recent extensions patch.
59350         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
59351         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
59352         autoconf.
59353
59354         Backport improved autoconf semantics of AC_DEFUN_ONCE.
59355         * m4/00gnulib.m4: New file.
59356         * gnulib-tool (func_get_filelist): Always use it.
59357         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
59358         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
59359
59360 2009-01-25  Bruno Haible  <bruno@clisp.org>
59361
59362         Make test-quotearg work on MacOS X and AIX.
59363         * tests/test-quotearg.sh: New file.
59364         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
59365         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
59366         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
59367         include <libintl.h>.
59368         (fake_locale): Remove variable.
59369         (gettext, dgettext, dcgettext): Remove functions.
59370         (main): Instead of setting a fake locale, set a real locale. Call
59371         textdomain and bindtextdomain.
59372         * modules/quotearg-tests (Files): Add the new files.
59373         (Depends-on): Add gettext, setenv, unsetenv.
59374         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
59375         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
59376         Augment TESTS_ENVIRONMENT.
59377
59378 2009-01-25  Bruno Haible  <bruno@clisp.org>
59379
59380         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
59381         fr_FR.ISO8859-1 locale on MacOS X.
59382         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
59383         ja_JP.eucJP locale on MacOS X.
59384         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
59385         zh_CN.GB18030 locale on MacOS X.
59386
59387 2009-01-25  Bruno Haible  <bruno@clisp.org>
59388
59389         Avoid link errors on MacOS X 10.3.
59390         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
59391         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
59392
59393 2009-01-25  Bruno Haible  <bruno@clisp.org>
59394
59395         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
59396         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
59397         * modules/pipe (Files): Remove m4/posix_spawn.m4.
59398         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
59399         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
59400         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
59401         posix_spawnattr_init, posix_spawnattr_setsigmask,
59402         posix_spawnattr_setflags, posix_spawnattr_destroy.
59403
59404         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
59405         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
59406         * modules/execute (Files): Remove m4/posix_spawn.m4.
59407         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
59408         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
59409         posix_spawnattr_init, posix_spawnattr_setsigmask,
59410         posix_spawnattr_setflags, posix_spawnattr_destroy.
59411
59412 2009-01-25  Bruno Haible  <bruno@clisp.org>
59413
59414         * lib/glthread/threadlib.c: Include <stdlib.h>.
59415
59416 2009-01-25  Bruno Haible  <bruno@clisp.org>
59417
59418         * lib/glthread/threadlib.c (dummy): New declaration.
59419
59420 2009-01-25  Bruno Haible  <bruno@clisp.org>
59421
59422         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
59423         multibyte characters also for the GB18030 encoding. Don't crash when
59424         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
59425
59426 2009-01-25  Bruno Haible  <bruno@clisp.org>
59427
59428         Avoid redefining 'struct random_data' on OSF/1 5.1.
59429         * lib/stdlib.in.h: Include <random.h> if it exists.
59430         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
59431         HAVE_RANDOM_H. Include <random.h> when testing whether
59432         'struct random_data' exists.
59433         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
59434
59435 2009-01-25  Bruno Haible  <bruno@clisp.org>
59436
59437         Don't install charset.alias on MacOS X >= 10.3.
59438         * lib/localcharset.c (DARWIN7): New macro.
59439         (get_charset_aliases): Hardcode the result for Darwin7.
59440         * modules/localcharset (install-exec-local): Don't install
59441         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
59442
59443 2009-01-25  Bruno Haible  <bruno@clisp.org>
59444
59445         Don't install charset.alias on mingw and Cygwin.
59446         * modules/localcharset (install-exec-local): Don't install
59447         charset.alias on mingw and Cygwin, if the file does not yet exist.
59448         The result for these platforms is hardcoded in localcharset.c.
59449
59450 2009-01-25  Bruno Haible  <bruno@clisp.org>
59451
59452         Make it possible again to use AC_GNU_SOURCE together with gnulib.
59453         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
59454         before requiring AC_USE_SYSTEM_EXTENSIONS.
59455
59456 2009-01-25  Jim Meyering  <meyering@redhat.com>
59457
59458         c-strtod: avoid warnings
59459         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
59460         "assignment discards qualifiers from pointer target type" warnings.
59461
59462 2009-01-24  Bruno Haible  <bruno@clisp.org>
59463
59464         Add support for non-UTF-8 locales on MacOS X.
59465         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
59466         canonical encodings. For Darwin 7 and newer, don't map traditional
59467         encodings to UTF-8.
59468         Reported by Vincent Lefevre <vincent@vinc17.org>
59469         at <http://savannah.gnu.org/bugs/?25235>.
59470
59471 2009-01-24  Bruno Haible  <bruno@clisp.org>
59472
59473         * doc/gnulib.texi (Obsolete modules): New section.
59474         Reported by Mike Frysinger <vapier@gentoo.org>.
59475
59476 2009-01-24  Bruno Haible  <bruno@clisp.org>
59477
59478         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
59479         (%.dvi): New rule.
59480
59481 2009-01-24  Bruno Haible  <bruno@clisp.org>
59482
59483         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
59484         Reported by Eric Blake.
59485
59486 2009-01-24  Bruno Haible  <bruno@clisp.org>
59487
59488         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
59489         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
59490         Reported by Gary V. Vaughan <gary@gnu.org>.
59491
59492 2009-01-24  Bruno Haible  <bruno@clisp.org>
59493
59494         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
59495
59496 2009-01-23  Bruno Haible  <bruno@clisp.org>
59497
59498         Make c-strtod, c-strtold usable in libraries.
59499         * lib/c-strtod.c: Include string.h instead of xalloc.h.
59500         (C_STRTOD): Call strdup instead of xstrdup.
59501         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
59502         * modules/c-strtold (Depends-on): Likewise.
59503         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
59504         * NEWS: Mention the change.
59505         Reported by Michael Gold <mgold@ncf.ca>.
59506
59507 2009-01-23  Jim Meyering  <meyering@redhat.com>
59508
59509         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
59510         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
59511         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
59512
59513 2009-01-23  Simon Josefsson  <simon@josefsson.org>
59514
59515         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
59516         GNU CoreUtils.
59517         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
59518         * modules/version-etc (Description): Update.
59519
59520 2009-01-22  Bruno Haible  <bruno@clisp.org>
59521
59522         Cache the C locale object.
59523         * lib/c-strtod.c (c_locale_cache): New variable.
59524         (c_locale): New function.
59525         (C_STRTOD): Use it, and don't call freelocale.
59526         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
59527         Suggested by Paolo Bonzini.
59528
59529 2009-01-21  Bruno Haible  <bruno@clisp.org>
59530
59531         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
59532         conditions other than overflow.
59533
59534 2009-01-21  Bruno Haible  <bruno@clisp.org>
59535
59536         * lib/c-strtod.c: Include errno.h.
59537         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
59538         value from STRTOD_L and STRTOD.
59539
59540 2009-01-21  Bruno Haible  <bruno@clisp.org>
59541         and Jim Meyering  <meyering@redhat.com>
59542
59543         nanosleep: skip configure test (fail it) for apple universal builds
59544         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
59545         universal builds, assume that nanosleep does not work.
59546         * modules/nanosleep (Depends-on): Add multiarch.
59547
59548         mktime: skip configure test (fail it) for apple universal builds
59549         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
59550         universal builds, assume that mktime does not work.
59551         * modules/mktime (Depends-on): Add multiarch.
59552
59553 2009-01-21  Eric Blake  <ebb9@byu.net>
59554
59555         multiarch: avoid expand-before-require warning
59556         * modules/multiarch (configure.ac): Require, rather than expand,
59557         gl_MULTIARCH.
59558         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
59559         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
59560         enforce that all clients require it.  Partial reversion of
59561         2008-12-29 patch.
59562
59563         error: avoid expand-before-require warning
59564         * modules/errno (configure.ac): Require, rather than expand,
59565         gl_HEADER_ERRNO_H.
59566         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
59567         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
59568         enforce that all clients require it.
59569
59570         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
59571         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
59572         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
59573         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
59574
59575 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
59576
59577         Revert:
59578         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
59579
59580         regex: do not depend on obsolete modules.
59581         * modules/regex: Remove memcmp and memmove.
59582
59583 2009-01-20  Bruno Haible  <bruno@clisp.org>
59584
59585         Make the 'link' module link on Windows NT 4.
59586         * lib/link.c (_WIN32_WINNT): Don't define.
59587         (CreateHardLinkFuncType): New type.
59588         (CreateHardLinkFunc, initialized): New variables.
59589         (initialize): New function.
59590         (link): Invoke CreateHardLink indirectly through the function pointer.
59591
59592 2009-01-20  Bruno Haible  <bruno@clisp.org>
59593
59594         Fix compilation failure on mingw.
59595         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
59596
59597 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
59598
59599         * doc/c-strtod.texi: Mention a couple of restrictions.
59600
59601 2009-01-20  Jim Meyering  <meyering@redhat.com>
59602
59603         gettimeofday: move more declarations out of functions
59604         * lib/gettimeofday.c: Move extern declarations of tzset and
59605         gmtime out of containing functions.  Prompted by Bruno Haible.
59606
59607 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
59608
59609         regex: do not depend on obsolete modules.
59610         * modules/regex: Remove memcmp and memmove.
59611
59612 2009-01-19  Bruno Haible  <bruno@clisp.org>
59613
59614         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
59615         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
59616         gl_BIGENDIAN, not AC_C_BIGENDIAN.
59617         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
59618         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
59619
59620 2009-01-19  Bruno Haible  <bruno@clisp.org>
59621
59622         * tests/test-link.c: Include <errno.h>.
59623         (main): Exit with code 77 when a hard link cannot be created due to
59624         the file system.
59625         * tests/test-link.sh: Skip test when a hard link cannot be created due
59626         to the file system.
59627         Suggested by Eric Blake.
59628
59629 2009-01-19  Martin Lambers  <marlam@marlam.de>
59630
59631         * modules/link-tests: New file.
59632         * tests/test-link.sh: New file.
59633         * tests/test-link.c: New file.
59634
59635 2009-01-19  Eric Blake  <ebb9@byu.net>
59636
59637         doc: mention another function added in cygwin 1.7.0
59638         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
59639         Another new function in cygwin 1.7.
59640
59641 2009-01-19  Bruno Haible  <bruno@clisp.org>
59642
59643         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
59644         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
59645         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
59646         gl_BIGENDIAN, not AC_C_BIGENDIAN.
59647         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
59648         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
59649         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
59650         * m4/md4.m4 (gl_MD4): Likewise.
59651         * m4/md5.m4 (gl_MD5): Likewise.
59652         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
59653         * m4/sha1.m4 (gl_SHA1): Likewise.
59654         * m4/sha256.m4 (gl_SHA256): Likewise.
59655         * m4/sha512.m4 (gl_SHA512): Likewise.
59656
59657 2009-01-19  Bruno Haible  <bruno@clisp.org>
59658
59659         * modules/uniname/uniname-tests (Depends-on): Add progname.
59660         * tests/uniname/test-uninames.c: Include progname.h.
59661         (main): Call set_program_name.
59662
59663         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
59664         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
59665         (main): Call set_program_name.
59666
59667         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
59668         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
59669         (main): Call set_program_name.
59670
59671         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
59672         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
59673         (main): Call set_program_name.
59674
59675         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
59676         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
59677         (main): Call set_program_name.
59678
59679         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
59680         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
59681         (main): Call set_program_name.
59682
59683         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
59684         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
59685         (main): Call set_program_name.
59686
59687         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
59688         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
59689         (main): Call set_program_name.
59690
59691         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
59692         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
59693         (main): Call set_program_name.
59694
59695 2009-01-19  Eric Blake  <ebb9@byu.net>
59696
59697         test-unistd: test previous patch
59698         * tests/test-unistd.c: Test *_FILENO macros.
59699
59700         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
59701         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
59702         Guarantee a definition.
59703         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
59704         * modules/unistd-safer (Depends-on): Add dependency on unistd.
59705         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
59706         * lib/dup-safer.c (STDERR_FILENO): Likewise.
59707         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
59708         Likewise.
59709         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
59710         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
59711         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
59712         Likewise.
59713         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
59714         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
59715         (STDERR_FILENO): Likewise.
59716         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
59717         (STDERR_FILENO): Likewise.
59718         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
59719         (STDERR_FILENO): Likewise.
59720         Reported by Elbert Pol.
59721
59722 2009-01-19  Eric Blake  <ebb9@byu.net>
59723
59724         doc: mention more functions added in cygwin 1.7.0
59725         * doc/posix-functions/abort.texi (abort): Update wording related
59726         to cygwin.
59727         * doc/posix-functions/daylight.texi (daylight): Likewise.
59728         * doc/posix-functions/optarg.texi (optarg): Likewise.
59729         * doc/posix-functions/optarg.texi (opterr): Likewise.
59730         * doc/posix-functions/optarg.texi (optind): Likewise.
59731         * doc/posix-functions/optarg.texi (optopt): Likewise.
59732         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
59733         worked in 1.5.x, and was withdrawn in 1.7.
59734         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
59735         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
59736         cygwin versions.
59737         * doc/posix-functions/perror.texi (perror): Likewise.
59738         * doc/posix-functions/printf.texi (printf): Likewise.
59739         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
59740         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
59741         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
59742         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
59743         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
59744         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
59745         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
59746         Likewise.
59747         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
59748         Likewise.
59749         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
59750         this function.
59751         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
59752         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
59753         Likewise.
59754         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
59755         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
59756         * doc/posix-functions/confstr.texi (confstr): Likewise.
59757         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
59758         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
59759         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
59760         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
59761         * doc/posix-functions/fputws.texi (fputws): Likewise.
59762         * doc/posix-functions/fwide.texi (fwide): Likewise.
59763         * doc/posix-functions/getwc.texi (getwc): Likewise.
59764         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
59765         * doc/posix-functions/putwc.texi (putwc): Likewise.
59766         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
59767         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
59768         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
59769         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
59770         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
59771         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
59772         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
59773         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
59774         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
59775         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
59776         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
59777
59778 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
59779
59780         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
59781         * lib/ioctl.c: Include <sys/ioctl.h>.
59782
59783 2009-01-19  Simon Josefsson  <simon@josefsson.org>
59784
59785         * modules/getdate-tests (Depends-on): Add progname.
59786         * tests/test-getdate.c: Use progname module, to avoid link errors
59787         on non-glibc systems.
59788
59789 2009-01-18  Simon Josefsson  <simon@josefsson.org>
59790
59791         * modules/filenamecat-tests (Depends-on): Add progname.
59792         * modules/fstrcmp-tests (Depends-on): Likewise.
59793
59794         * tests/test-filenamecat.c: Use progname module, to avoid link
59795         errors on non-glibc systems.
59796         * tests/test-fstrcmp.c: Likewise.
59797
59798 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
59799
59800         gettimeofday: avoid warning: nested extern declaration of 'localtime'
59801         * lib/gettimeofday.c: Move extern declaration out of function.
59802
59803 2009-01-18  Bruno Haible  <bruno@clisp.org>
59804
59805         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
59806         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
59807         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
59808
59809 2009-01-18  Bruno Haible  <bruno@clisp.org>
59810
59811         * lib/strftime.c (MEMPCPY): Remove unused macro.
59812         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
59813
59814 2009-01-18  Martin Lambers  <marlam@marlam.de>
59815
59816         New module 'link'.
59817         * lib/unistd.in.h (link): New declaration.
59818         * lib/link.c: New file.
59819         * m4/link.m4: New file.
59820         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
59821         HAVE_LINK.
59822         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
59823         * modules/link: New file.
59824         * doc/posix-functions/link.texi: Mention the new module.
59825
59826 2009-01-18  Bruno Haible  <bruno@clisp.org>
59827
59828         * tests/test-avltree_list.c (main): Call set_program_name.
59829         * tests/test-avltree_oset.c (main): Likewise.
59830         * tests/test-obstack-printf.c: Include progname.h.
59831         (main): Call set_program_name.
59832         * tests/test-quotearg.c: Include progname.h.
59833         (main): Call set_program_name.
59834         * tests/test-xmemdup0.c: Include progname.h.
59835         (main): Call set_program_name.
59836
59837 2009-01-18  Bruno Haible  <bruno@clisp.org>
59838
59839         New module 'alphasort'.
59840         * lib/dirent.in.h (alphasort): New declaration.
59841         * lib/alphasort.c: New file, from glibc with modifications.
59842         * m4/alphasort.m4: New file.
59843         * modules/alphasort: New file.
59844         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
59845         HAVE_ALPHASORT.
59846         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
59847         HAVE_ALPHASORT.
59848         * doc/posix-functions/alphasort.texi: Mention the new module and the
59849         portability problems.
59850
59851 2009-01-18  Bruno Haible  <bruno@clisp.org>
59852
59853         New module 'scandir'.
59854         * lib/dirent.in.h (scandir): New declaration.
59855         * lib/scandir.c: New file, from glibc with modifications.
59856         * m4/scandir.m4: New file.
59857         * modules/scandir: New file.
59858         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
59859         HAVE_SCANDIR.
59860         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
59861         HAVE_SCANDIR.
59862         * doc/posix-functions/scandir.texi: Mention the new module and the
59863         portability problems.
59864
59865 2009-01-17  Bruno Haible  <bruno@clisp.org>
59866
59867         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
59868         Update documentation.
59869         (func_remove_suffix): Escape all dots in the suffix. Update
59870         documentation.
59871         (func_filter_filelist): Update documentation.
59872         Reported by Ralf Wildenhues.
59873
59874 2009-01-17  Bruno Haible  <bruno@clisp.org>
59875
59876         * modules/dprintf-posix-tests: New file.
59877         * tests/test-dprintf-posix.sh: New file.
59878         * tests/test-dprintf-posix.c: New file.
59879
59880         New modules 'dprintf', 'dprintf-posix'.
59881         * lib/stdio.in.h (dprintf): New declaration.
59882         * lib/dprintf.c: New file.
59883         * m4/dprintf.m4: New file.
59884         * m4/dprintf-posix.m4: New file.
59885         * modules/dprintf: New file.
59886         * modules/dprintf-posix: New file.
59887         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
59888         HAVE_DPRINTF, REPLACE_DPRINTF.
59889         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
59890         HAVE_DPRINTF, REPLACE_DPRINTF.
59891         * doc/posix-functions/dprintf.texi: Mention the new modules.
59892
59893 2009-01-17  Bruno Haible  <bruno@clisp.org>
59894
59895         * modules/vdprintf-posix-tests: New file.
59896         * tests/test-vdprintf-posix.sh: New file.
59897         * tests/test-vdprintf-posix.c: New file.
59898
59899         New modules 'vdprintf', 'vdprintf-posix'.
59900         * lib/stdio.in.h (vdprintf): New declaration.
59901         * lib/vdprintf.c: New file.
59902         * m4/vdprintf.m4: New file.
59903         * m4/vdprintf-posix.m4: New file.
59904         * modules/vdprintf: New file.
59905         * modules/vdprintf-posix: New file.
59906         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
59907         HAVE_VDPRINTF, REPLACE_VDPRINTF.
59908         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
59909         HAVE_VDPRINTF, REPLACE_VDPRINTF.
59910         * doc/posix-functions/vdprintf.texi: Mention the new modules.
59911
59912 2009-01-17  Bruno Haible  <bruno@clisp.org>
59913
59914         Fix replacement of fopen on mingw.
59915         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
59916         mingw.
59917
59918 2009-01-17  Bruno Haible  <bruno@clisp.org>
59919
59920         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
59921         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
59922
59923 2009-01-17  Bruno Haible  <bruno@clisp.org>
59924
59925         Avoid test-fflush2.sh failure on mingw.
59926         * tests/test-fflush2.c: Include binary-io.h.
59927         (main): Put standard input into binary mode.
59928         * modules/fflush-tests (Depends-on): Add binary-io.
59929
59930 2009-01-17  Bruno Haible  <bruno@clisp.org>
59931
59932         * lib/wchar.in.h: In another particular situation, include only the
59933         system's <wchar.h> file.
59934         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
59935         Reported by Albert Chin-A-Young <china@thewrittenword.com>
59936         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
59937
59938 2009-01-17  Bruno Haible  <bruno@clisp.org>
59939
59940         Support for stripping executables in --enable-relocatable.
59941         * build-aux/install-reloc: Expect one more argument, or an environment
59942         variable RELOC_STRIP_PROG. If set, strip the destination program and
59943         its wrapper.
59944         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
59945         RELOC_STRIP_PROG.
59946         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
59947         to set RELOCATABLE_STRIP.
59948         * NEWS: Mention the new Makefile requirement.
59949
59950 2009-01-17  Bruno Haible  <bruno@clisp.org>
59951
59952         * build-aux/install-reloc: Remove debugging information left over by
59953         C compiler on MacOS X.
59954
59955 2009-01-17  Bruno Haible  <bruno@clisp.org>
59956
59957         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
59958         * lib/progreloc.c (find_executable): Fix type of pointer passed to
59959         _NSGetExecutablePath.
59960
59961 2009-01-16  Jim Meyering  <meyering@redhat.com>
59962
59963         strerror: avoid warnings about discarding "const"
59964         * lib/strerror.c (rpl_strerror): Instead of returning a const
59965         string from each and every "case", use a variable, and add a single
59966         cast after the switch.
59967
59968 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
59969
59970         * lib/arpa_inet.in.h: Add extern "C" block for C++.
59971
59972 2009-01-16  Bruno Haible  <bruno@clisp.org>
59973
59974         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
59975         array initializer syntax that also works in C++ mode.
59976         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
59977
59978 2009-01-16  Jim Meyering  <meyering@redhat.com>
59979
59980         poll: suppress a warning
59981         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
59982         to ignore "...unsigned expression < 0 is always false" warnings.
59983
59984 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
59985
59986         poll: remove declarations of unused variables
59987         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
59988         sockbuf and optlen.
59989
59990 2009-01-15  Bruno Haible  <bruno@clisp.org>
59991
59992         Make fflush-after-ungetc POSIX compliant on BSD systems.
59993         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
59994         (clear_ungetc_buffer): Implement also for other systems.
59995         (rpl_fflush): On glibc systems, invoke
59996         clear_ungetc_buffer_preserving_position. Otherwise, invoke
59997         clear_ungetc_buffer after fetching the stream's position, not before.
59998
59999 2009-01-15  Bruno Haible  <bruno@clisp.org>
60000
60001         Make fflush-after-ungetc POSIX compliant on glibc systems.
60002         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
60003         after ungetc.
60004         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
60005         (rpl_fflush): On glibc systems, simply call the system's fflush
60006         function after clearing the ungetc buffer.
60007         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
60008         Instead, lseek only to the end of file, then use the system's fseeko
60009         for the rest. On glibc systems, reset the EOF indicator bit.
60010
60011 2009-01-15  Jim Meyering  <meyering@redhat.com>
60012
60013         openmp.m4: revert quote-adding change, for portability to older autoconf
60014         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
60015         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
60016         Simon Josefsson noticed the problem when using autoconf-2.61.
60017
60018 2009-01-15  Bruno Haible  <bruno@clisp.org>
60019
60020         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
60021         * tests/test-fflush2.c (ASSERT): Always fail.
60022         (main): Add two tests for fflush() after ungetc(), taking into account
60023         the Austin Group's clarification.
60024         Suggested by Eric Blake.
60025
60026 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
60027
60028         mktime.m4: remove K&R-style function prototypes
60029         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
60030         for the Sun C++ compiler.
60031
60032 2009-01-14  Bruno Haible  <bruno@clisp.org>
60033
60034         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
60035         while including <wchar.h>.
60036         * lib/wchar.in.h: In two particular situations on HP-UX, include only
60037         the system's <wchar.h> file.
60038         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
60039
60040 2009-01-14  Bruno Haible  <bruno@clisp.org>
60041
60042         * m4/csharp.m4: Don't mention gettext on the serial number line.
60043         * m4/csharpexec.m4: Likewise.
60044         * m4/eaccess.m4: Likewise.
60045         * m4/javaexec.m4: Likewise.
60046         * m4/sig_atomic_t.m4: Likewise.
60047         * m4/tmpdir.m4: Likewise.
60048         * m4/intldir.m4: Bump gettext version.
60049         * m4/lib-ld.m4: Likewise.
60050
60051 2009-01-14  Bruno Haible  <bruno@clisp.org>
60052
60053         * lib/progname.c (set_program_name): Add more comments.
60054         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
60055
60056 2009-01-14  Simon Josefsson  <simon@josefsson.org>
60057
60058         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
60059         were sys/stat.h does not define it.
60060
60061 2009-01-14  Jim Meyering  <meyering@redhat.com>
60062
60063         many *.m4 files: improve m4 quoting
60064         99% of this change was performed by running the following commands:
60065         git ls-files | grep '\.m4$' | xargs perl -pi \
60066           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
60067           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
60068           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
60069           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
60070         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
60071         The remainder were to add Copyright dates, increment serial numbers,
60072         undo some changes in comments, exclude m4/intl.m4, and add quotes
60073         around the "1" in ",1" where the unusual spacing prohibited the
60074         above regexps from doing the job.  For more details, see
60075         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
60076         * m4/acl.m4: Modified.
60077         * m4/afs.m4: Likewise.
60078         * m4/alloca.m4: Likewise.
60079         * m4/argp.m4: Likewise.
60080         * m4/argz.m4: Likewise.
60081         * m4/atexit.m4: Likewise.
60082         * m4/bison-i18n.m4: Likewise.
60083         * m4/bison.m4: Likewise.
60084         * m4/byteswap.m4: Likewise.
60085         * m4/c-stack.m4: Likewise.
60086         * m4/c-strtod.m4: Likewise.
60087         * m4/calloc.m4: Likewise.
60088         * m4/canonicalize-lgpl.m4: Likewise.
60089         * m4/chown.m4: Likewise.
60090         * m4/clock_time.m4: Likewise.
60091         * m4/codeset.m4: Likewise.
60092         * m4/copy-file.m4: Likewise.
60093         * m4/csharp.m4: Likewise.
60094         * m4/csharpcomp.m4: Likewise.
60095         * m4/csharpexec.m4: Likewise.
60096         * m4/d-ino.m4: Likewise.
60097         * m4/d-type.m4: Likewise.
60098         * m4/dirfd.m4: Likewise.
60099         * m4/double-slash-root.m4: Likewise.
60100         * m4/eaccess.m4: Likewise.
60101         * m4/eealloc.m4: Likewise.
60102         * m4/environ.m4: Likewise.
60103         * m4/errno_h.m4: Likewise.
60104         * m4/euidaccess.m4: Likewise.
60105         * m4/execute.m4: Likewise.
60106         * m4/fatal-signal.m4: Likewise.
60107         * m4/fchdir.m4: Likewise.
60108         * m4/fcntl_h.m4: Likewise.
60109         * m4/fileblocks.m4: Likewise.
60110         * m4/filenamecat.m4: Likewise.
60111         * m4/findprog.m4: Likewise.
60112         * m4/flexmember.m4: Likewise.
60113         * m4/fnmatch.m4: Likewise.
60114         * m4/fopen.m4: Likewise.
60115         * m4/fpending.m4: Likewise.
60116         * m4/fprintf-posix.m4: Likewise.
60117         * m4/free.m4: Likewise.
60118         * m4/frexp.m4: Likewise.
60119         * m4/frexpl.m4: Likewise.
60120         * m4/fsusage.m4: Likewise.
60121         * m4/ftruncate.m4: Likewise.
60122         * m4/gc-camellia.m4: Likewise.
60123         * m4/gc-random.m4: Likewise.
60124         * m4/gc.m4: Likewise.
60125         * m4/getaddrinfo.m4: Likewise.
60126         * m4/getcwd-abort-bug.m4: Likewise.
60127         * m4/getcwd-path-max.m4: Likewise.
60128         * m4/getdate.m4: Likewise.
60129         * m4/getdomainname.m4: Likewise.
60130         * m4/getgroups.m4: Likewise.
60131         * m4/gethostname.m4: Likewise.
60132         * m4/gethrxtime.m4: Likewise.
60133         * m4/getline.m4: Likewise.
60134         * m4/getloadavg.m4: Likewise.
60135         * m4/getndelim2.m4: Likewise.
60136         * m4/getpass.m4: Likewise.
60137         * m4/gettext.m4: Likewise.
60138         * m4/gettime.m4: Likewise.
60139         * m4/gettimeofday.m4: Likewise.
60140         * m4/gnulib-common.m4: Likewise.
60141         * m4/group-member.m4: Likewise.
60142         * m4/host-os.m4: Likewise.
60143         * m4/iconv.m4: Likewise.
60144         * m4/iconv_open.m4: Likewise.
60145         * m4/inet_ntop.m4: Likewise.
60146         * m4/inet_pton.m4: Likewise.
60147         * m4/inline.m4: Likewise.
60148         * m4/intldir.m4: Likewise.
60149         * m4/intlmacosx.m4: Likewise.
60150         * m4/intmax.m4: Likewise.
60151         * m4/intmax_t.m4: Likewise.
60152         * m4/inttypes.m4: Likewise.
60153         * m4/inttypes_h.m4: Likewise.
60154         * m4/inttypes-pri.m4: Likewise.
60155         * m4/isapipe.m4: Likewise.
60156         * m4/isnand.m4: Likewise.
60157         * m4/isnanf.m4: Likewise.
60158         * m4/isnanl.m4: Likewise.
60159         * m4/javacomp.m4: Likewise.
60160         * m4/javaexec.m4: Likewise.
60161         * m4/jm-winsz1.m4: Likewise.
60162         * m4/jm-winsz2.m4: Likewise.
60163         * m4/lchown.m4: Likewise.
60164         * m4/lcmessage.m4: Likewise.
60165         * m4/ldexpl.m4: Likewise.
60166         * m4/lib-ld.m4: Likewise.
60167         * m4/lib-link.m4: Likewise.
60168         * m4/libsigsegv.m4: Likewise.
60169         * m4/link-follow.m4: Likewise.
60170         * m4/localcharset.m4: Likewise.
60171         * m4/locale-fr.m4: Likewise.
60172         * m4/locale-ja.m4: Likewise.
60173         * m4/locale-tr.m4: Likewise.
60174         * m4/locale-zh.m4: Likewise.
60175         * m4/lock.m4: Likewise.
60176         * m4/longlong.m4: Likewise.
60177         * m4/ls-mntd-fs.m4: Likewise.
60178         * m4/lstat.m4: Likewise.
60179         * m4/malloc.m4: Likewise.
60180         * m4/mathl.m4: Likewise.
60181         * m4/mbrtowc.m4: Likewise.
60182         * m4/mbstate_t.m4: Likewise.
60183         * m4/mbswidth.m4: Likewise.
60184         * m4/memchr.m4: Likewise.
60185         * m4/memcmp.m4: Likewise.
60186         * m4/memcpy.m4: Likewise.
60187         * m4/memmem.m4: Likewise.
60188         * m4/memmove.m4: Likewise.
60189         * m4/mempcpy.m4: Likewise.
60190         * m4/memrchr.m4: Likewise.
60191         * m4/memset.m4: Likewise.
60192         * m4/minmax.m4: Likewise.
60193         * m4/mkdir-slash.m4: Likewise.
60194         * m4/mkdtemp.m4: Likewise.
60195         * m4/mktime.m4: Likewise.
60196         * m4/mmap-anon.m4: Likewise.
60197         * m4/mountlist.m4: Likewise.
60198         * m4/nanosleep.m4: Likewise.
60199         * m4/nls.m4: Likewise.
60200         * m4/nocrash.m4: Likewise.
60201         * m4/open.m4: Likewise.
60202         * m4/openat.m4: Likewise.
60203         * m4/openmp.m4: Likewise.
60204         * m4/pathmax.m4: Likewise.
60205         * m4/perl.m4: Likewise.
60206         * m4/physmem.m4: Likewise.
60207         * m4/pipe.m4: Likewise.
60208         * m4/po.m4: Likewise.
60209         * m4/poll.m4: Likewise.
60210         * m4/posixtm.m4: Likewise.
60211         * m4/posixver.m4: Likewise.
60212         * m4/printf-frexp.m4: Likewise.
60213         * m4/printf-frexpl.m4: Likewise.
60214         * m4/printf-posix.m4: Likewise.
60215         * m4/printf-posix-rpl.m4: Likewise.
60216         * m4/printf.m4: Likewise.
60217         * m4/progtest.m4: Likewise.
60218         * m4/putenv.m4: Likewise.
60219         * m4/readline.m4: Likewise.
60220         * m4/readlink.m4: Likewise.
60221         * m4/readutmp.m4: Likewise.
60222         * m4/realloc.m4: Likewise.
60223         * m4/regex.m4: Likewise.
60224         * m4/relocatable.m4: Likewise.
60225         * m4/relocatable-lib.m4: Likewise.
60226         * m4/rename-dest-slash.m4: Likewise.
60227         * m4/rename.m4: Likewise.
60228         * m4/rmdir-errno.m4: Likewise.
60229         * m4/rmdir.m4: Likewise.
60230         * m4/roundf.m4: Likewise.
60231         * m4/roundl.m4: Likewise.
60232         * m4/rpmatch.m4: Likewise.
60233         * m4/save-cwd.m4: Likewise.
60234         * m4/selinux-selinux-h.m4: Likewise.
60235         * m4/setenv.m4: Likewise.
60236         * m4/settime.m4: Likewise.
60237         * m4/sig2str.m4: Likewise.
60238         * m4/sig_atomic_t.m4: Likewise.
60239         * m4/signalblocking.m4: Likewise.
60240         * m4/signbit.m4: Likewise.
60241         * m4/sigpipe.m4: Likewise.
60242         * m4/sockets.m4: Likewise.
60243         * m4/sockpfaf.m4: Likewise.
60244         * m4/st_dm_mode.m4: Likewise.
60245         * m4/stat-time.m4: Likewise.
60246         * m4/stdbool.m4: Likewise.
60247         * m4/stdint.m4: Likewise.
60248         * m4/stdint_h.m4: Likewise.
60249         * m4/stpcpy.m4: Likewise.
60250         * m4/stpncpy.m4: Likewise.
60251         * m4/strcase.m4: Likewise.
60252         * m4/strchrnul.m4: Likewise.
60253         * m4/strcspn.m4: Likewise.
60254         * m4/strdup.m4: Likewise.
60255         * m4/strftime.m4: Likewise.
60256         * m4/strndup.m4: Likewise.
60257         * m4/strnlen.m4: Likewise.
60258         * m4/strpbrk.m4: Likewise.
60259         * m4/strptime.m4: Likewise.
60260         * m4/strsep.m4: Likewise.
60261         * m4/strtod.m4: Likewise.
60262         * m4/strtoimax.m4: Likewise.
60263         * m4/strtok_r.m4: Likewise.
60264         * m4/strtol.m4: Likewise.
60265         * m4/strtoll.m4: Likewise.
60266         * m4/strtoul.m4: Likewise.
60267         * m4/strtoull.m4: Likewise.
60268         * m4/strtoumax.m4: Likewise.
60269         * m4/strverscmp.m4: Likewise.
60270         * m4/threadlib.m4: Likewise.
60271         * m4/timegm.m4: Likewise.
60272         * m4/tm_gmtoff.m4: Likewise.
60273         * m4/tmpdir.m4: Likewise.
60274         * m4/tmpfile.m4: Likewise.
60275         * m4/tzset.m4: Likewise.
60276         * m4/uintmax_t.m4: Likewise.
60277         * m4/unlinkdir.m4: Likewise.
60278         * m4/unlocked-io.m4: Likewise.
60279         * m4/uptime.m4: Likewise.
60280         * m4/userspec.m4: Likewise.
60281         * m4/utimbuf.m4: Likewise.
60282         * m4/utime.m4: Likewise.
60283         * m4/utimes-null.m4: Likewise.
60284         * m4/utimes.m4: Likewise.
60285         * m4/vararrays.m4: Likewise.
60286         * m4/vasnprintf.m4: Likewise.
60287         * m4/vfprintf-posix.m4: Likewise.
60288         * m4/vprintf-posix.m4: Likewise.
60289         * m4/wait-process.m4: Likewise.
60290         * m4/wchar_t.m4: Likewise.
60291         * m4/wint_t.m4: Likewise.
60292         * m4/write-any-file.m4: Likewise.
60293         * m4/yield.m4: Likewise.
60294
60295 2009-01-13  Bruno Haible  <bruno@clisp.org>
60296
60297         Avoid test-copy-file.sh failures when ACL support insufficient.
60298         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
60299         TESTS_ENVIRONMENT.
60300         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
60301         Reported by Jim Meyering.
60302
60303 2009-01-13  Bruno Haible  <bruno@clisp.org>
60304
60305         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
60306         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
60307         * modules/unistdio/u8-printf-parse (Files): Likewise.
60308         * modules/unistdio/u32-printf-parse (Files): Likewise.
60309         * modules/unistdio/ulc-printf-parse (Files): Likewise.
60310
60311 2009-01-13  Simon Josefsson  <simon@josefsson.org>
60312
60313         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
60314         and m4/inttypes_h.m4 too.
60315
60316 2009-01-12  Eric Blake  <ebb9@byu.net>
60317
60318         tests: IRIX 6.2 cc can't compile -0.0 into .data
60319         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
60320         rather than at compile-time.
60321         * tests/test-floorl.c (minus_zero): Likewise.
60322         * tests/test-frexpl.c (minus_zero): Likewise.
60323         * tests/test-isnan.c (minus_zerol): Likewise.
60324         * tests/test-isnanl.h (minus_zero): Likewise.
60325         * tests/test-ldexpl.c (minus_zero): Likewise.
60326         * tests/test-roundl.c (minus_zero): Likewise.
60327         * tests/test-signbit.c (minus_zerol): Likewise.
60328         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
60329         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
60330         * tests/test-truncl.c (minus_zero): Likewise.
60331         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
60332         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
60333         Reported by Tom G. Christensen and Nelson H. F. Beebe.
60334
60335 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
60336
60337         regex: fix glibc bug 9697
60338         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
60339         handling.
60340
60341 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
60342
60343         regex: fix glibc bug 697
60344         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
60345         being NULL also if there are no backreferences.
60346
60347 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
60348
60349         regex: merge glibc changes
60350         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
60351         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
60352         re_string_skip_chars, re_string_reconstruct): Likewise.
60353         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
60354
60355 2009-01-07  Jim Meyering  <meyering@redhat.com>
60356
60357         poll: filter through cppi
60358         * lib/poll.c: Indent cpp directives to reflect nesting.
60359
60360 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
60361
60362         poll: don't return uninitialized
60363         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
60364
60365 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
60366
60367         avoid compile failure on AIX 6.1
60368         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
60369         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
60370
60371 2009-01-04  Jim Meyering  <meyering@redhat.com>
60372
60373         remove duplicate inclusion of <stdio.h>
60374         * tests/test-fprintf-posix.c: Likewise.
60375         * tests/test-printf-posix.c: Likewise.
60376         * tests/test-snprintf-posix.c: Likewise.
60377         * tests/test-sprintf-posix.c: Likewise.
60378         * tests/test-vasprintf-posix.c: Likewise.
60379         * tests/test-vfprintf-posix.c: Likewise.
60380         * tests/test-vprintf-posix.c: Likewise.
60381         * tests/test-vsnprintf-posix.c: Likewise.
60382         * tests/test-vsprintf-posix.c: Likewise.
60383
60384 2009-01-03  Jim Meyering  <meyering@redhat.com>
60385
60386         gnulib-tool: fix sed-based filtering
60387         * gnulib-tool (func_filter_filelist): Remove extra backslash
60388         in sed_fff_filter definition.
60389
60390 2009-01-02  Jim Meyering  <meyering@redhat.com>
60391
60392         strftime: avoid compilation failure on Solaris 2.6
60393         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
60394         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
60395         Don't #define mbrlen or mbsinit, since now they're guaranteed to
60396         be available.  Reported by Tom G. Christensen.  Details in
60397         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
60398
60399 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60400             Bruno Haible  <bruno@clisp.org>
60401
60402         Speed up gnulib-tool by doing more string processing through shell
60403         built-ins.
60404         * gnulib-tool (fast_func_append): New variable.
60405         (func_remove_prefix, func_remove_suffix): New functions.
60406         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
60407         (func_filter_filelist): New function.
60408         (func_get_dependencies): Use func_remove_suffix instead of sed.
60409         (func_get_automake_snippet): Use func_filter_filelist instead of a
60410         subshell and sed invocation.
60411
60412 2009-01-01  Bruno Haible  <bruno@clisp.org>
60413
60414         Fix a security bug.
60415         * gnulib-tool (func_import, import, update): Don't allow the characters
60416         '"', '$', '`', '\' in macro arguments that become part of commands that
60417         are evaluated.
60418
60419 2009-01-01  Bruno Haible  <bruno@clisp.org>
60420
60421         * gnulib-tool (func_reset_sigpipe): Add more comments.
60422
60423 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60424
60425         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
60426         func_emit_tests_Makefile_am, func_import): Abort loops early if we
60427         already know the answer.
60428
60429 2009-01-01  Jim Meyering  <meyering@redhat.com>
60430
60431         * lib/version-etc.c (version_etc_va): Update copyright year.
60432
60433 2008-12-30  Bruno Haible  <bruno@clisp.org>
60434
60435         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
60436         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
60437         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
60438
60439 2008-12-29  Eric Blake  <ebb9@byu.net>
60440
60441         multiarch: avoid autoconf AC_REQUIRE bug
60442         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
60443         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
60444         2.63 and older.
60445         Reported by Bruno Haible, and analyzed in
60446         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
60447
60448 2008-12-29  Bruno Haible  <bruno@clisp.org>
60449
60450         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
60451         files in subdirectories correctly.
60452         Reported by Ralf Wildenhues.
60453
60454 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60455
60456         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
60457         rather than 'join FILE -', for Solaris join.
60458
60459 2008-12-29  Bruno Haible  <bruno@clisp.org>
60460
60461         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
60462         quoting.
60463         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
60464         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
60465         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
60466         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
60467         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
60468         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
60469         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
60470         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
60471         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
60472         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
60473         * m4/nls.m4 (AM_NLS): Likewise.
60474         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
60475         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
60476         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
60477         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
60478         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
60479         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
60480         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
60481         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
60482         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
60483         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
60484         * m4/xsize.m4 (gl_XSIZE): Likewise.
60485         Suggested by Jim Meyering.
60486
60487 2008-11-17  Bruce Korb  <bkorb@gnu.org>
60488
60489         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
60490         * lib/parse-duration.c: use a switch instead of cascading if's.
60491
60492 2008-12-29  Eric Blake  <ebb9@byu.net>
60493
60494         wchar.h: supply WEOF on Irix 5.3
60495         * lib/wchar.in.h (wint_t): Also supply WEOF.
60496         * lib/wctype.in.h (wint_t): Likewise.
60497         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
60498         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
60499         Reported by Tom G. Christensen.
60500
60501 2008-12-26  Bruno Haible  <bruno@clisp.org>
60502
60503         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
60504         i486, i586, i686.
60505
60506 2008-12-26  Bruno Haible  <bruno@clisp.org>
60507
60508         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
60509
60510 2008-12-26  Bruno Haible  <bruno@clisp.org>
60511
60512         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
60513         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
60514         not __STDC_CONSTANT_MACROS.
60515         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
60516
60517 2008-12-25  Bruno Haible  <bruno@clisp.org>
60518
60519         Add support for universal builds to vasnprintf.
60520         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
60521         universal builds, guess no.
60522         * modules/vasnprintf-posix (Depends-on): Add multiarch.
60523         * modules/vasprintf-posix (Depends-on): Likewise.
60524         * modules/fprintf-posix (Depends-on): Likewise.
60525         * modules/vfprintf-posix (Depends-on): Likewise.
60526         * modules/snprintf-posix (Depends-on): Likewise.
60527         * modules/vsnprintf-posix (Depends-on): Likewise.
60528         * modules/sprintf-posix (Depends-on): Likewise.
60529         * modules/vsprintf-posix (Depends-on): Likewise.
60530         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60531         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60532         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60533         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60534         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60535         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60536         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60537
60538         Add support for universal builds to <inttypes.h>.
60539         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
60540         _SCNu64_PREFIX): In Apple
60541         universal builds, define directly, using _LP64.
60542         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
60543         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
60544         * modules/inttypes (Depends-on): Add multiarch.
60545         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
60546
60547         Add support for universal builds to <stdint.h>.
60548         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
60549         universal builds, define directly, using _LP64.
60550         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
60551         Apple universal builds, don't test for the size and suffix of ptrdiff_t
60552         and size_t.
60553         * modules/stdint (Depends-on): Add multiarch.
60554         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
60555
60556         New module 'multiarch'.
60557         * modules/multiarch: New file.
60558         * m4/multiarch.m4: New file.
60559
60560 2008-12-25  Bruno Haible  <bruno@clisp.org>
60561
60562         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
60563
60564 2008-12-25  Bruno Haible  <bruno@clisp.org>
60565
60566         * modules/btowc (License): Relicense under LGPLv2+.
60567         * modules/mbsinit (License): Likewise.
60568         * modules/mbrtowc (License): Likewise.
60569         * modules/wcrtomb (License): Likewise.
60570         * modules/streq (License): Likewise.
60571         Reported by David Lutterkort <lutter@redhat.com>.
60572
60573 2008-12-23  Bruno Haible  <bruno@clisp.org>
60574
60575         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
60576
60577 2008-12-23  Bruno Haible  <bruno@clisp.org>
60578
60579         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
60580         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
60581         GETADDRINFO_LIB, not in LIBS.
60582         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
60583         * modules/canon-host (Link): Likewise.
60584         * NEWS: Mention the change.
60585         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
60586         GETADDRINFO_LIB.
60587
60588 2008-12-22  Bruno Haible  <bruno@clisp.org>
60589
60590         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
60591         * doc/posix-functions/iswalpha_l.texi: Likewise.
60592         * doc/posix-functions/iswblank_l.texi: Likewise.
60593         * doc/posix-functions/iswcntrl_l.texi: Likewise.
60594         * doc/posix-functions/iswctype_l.texi: Likewise.
60595         * doc/posix-functions/iswdigit_l.texi: Likewise.
60596         * doc/posix-functions/iswgraph_l.texi: Likewise.
60597         * doc/posix-functions/iswlower_l.texi: Likewise.
60598         * doc/posix-functions/iswprint_l.texi: Likewise.
60599         * doc/posix-functions/iswpunct_l.texi: Likewise.
60600         * doc/posix-functions/iswspace_l.texi: Likewise.
60601         * doc/posix-functions/iswupper_l.texi: Likewise.
60602         * doc/posix-functions/iswxdigit_l.texi: Likewise.
60603         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
60604         * doc/posix-functions/open_wmemstream.texi: Likewise.
60605         * doc/posix-functions/swscanf.texi: Likewise.
60606         * doc/posix-functions/towctrans_l.texi: Likewise.
60607         * doc/posix-functions/towlower.texi: Likewise.
60608         * doc/posix-functions/towlower_l.texi: Likewise.
60609         * doc/posix-functions/towupper.texi: Likewise.
60610         * doc/posix-functions/towupper_l.texi: Likewise.
60611         * doc/posix-functions/vfwprintf.texi: Likewise.
60612         * doc/posix-functions/vfwscanf.texi: Likewise.
60613         * doc/posix-functions/vswscanf.texi: Likewise.
60614         * doc/posix-functions/vwprintf.texi: Likewise.
60615         * doc/posix-functions/vwscanf.texi: Likewise.
60616         * doc/posix-functions/wcpcpy.texi: Likewise.
60617         * doc/posix-functions/wcpncpy.texi: Likewise.
60618         * doc/posix-functions/wcscasecmp.texi: Likewise.
60619         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
60620         * doc/posix-functions/wcscoll_l.texi: Likewise.
60621         * doc/posix-functions/wcsdup.texi: Likewise.
60622         * doc/posix-functions/wcsncasecmp.texi: Likewise.
60623         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
60624         * doc/posix-functions/wcsnlen.texi: Likewise.
60625         * doc/posix-functions/wcsnrtombs.texi: Likewise.
60626         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
60627         * doc/posix-functions/wctrans_l.texi: Likewise.
60628         * doc/posix-functions/wctype_l.texi: Likewise.
60629         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
60630         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
60631         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
60632         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
60633         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
60634         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
60635         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
60636         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
60637         * doc/glibc-functions/wcschrnul.texi: Likewise.
60638         * doc/glibc-functions/wcsftime_l.texi: Likewise.
60639         * doc/glibc-functions/wcstod_l.texi: Likewise.
60640         * doc/glibc-functions/wcstof_l.texi: Likewise.
60641         * doc/glibc-functions/wcstol_l.texi: Likewise.
60642         * doc/glibc-functions/wcstold_l.texi: Likewise.
60643         * doc/glibc-functions/wcstoll_l.texi: Likewise.
60644         * doc/glibc-functions/wcstoq.texi: Likewise.
60645         * doc/glibc-functions/wcstoul_l.texi: Likewise.
60646         * doc/glibc-functions/wcstoull_l.texi: Likewise.
60647         * doc/glibc-functions/wcstouq.texi: Likewise.
60648         * doc/glibc-functions/wmempcpy.texi: Likewise.
60649
60650 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
60651             Eric Blake  <ebb9@byu.net>
60652             Paolo Bonzini  <bonzini@gnu.org>
60653             Bruno Haible  <bruno@clisp.org>
60654
60655         Make c-stack work on Haiku.
60656         * lib/c-stack.c (SA_ONSTACK): Define fallback.
60657         (c_stack_action): Use SA_ONSTACK flag.
60658
60659 2008-12-22  Bruno Haible  <bruno@clisp.org>
60660
60661         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
60662
60663 2008-12-22  Bruno Haible  <bruno@clisp.org>
60664
60665         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
60666         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
60667         being overridden.
60668         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
60669         New macros.
60670         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
60671         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
60672         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
60673         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
60674
60675 2008-12-22  Bruno Haible  <bruno@clisp.org>
60676
60677         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
60678         from test code.
60679
60680 2008-12-22  Eric Blake  <ebb9@byu.net>
60681
60682         Avoid gcc warnings on cygwin.
60683         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
60684         Avoid unused variable.
60685         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
60686         Likewise.
60687
60688 2008-12-22  Bruno Haible  <bruno@clisp.org>
60689
60690         Remove HAVE_MBRTOWC conditionals.
60691         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
60692         (mbscasecmp): Assume mbrtowc function.
60693         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
60694         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
60695         * lib/mbschr.c: Include mbuiter.h unconditionally.
60696         (mbschr): Assume mbrtowc function.
60697         * lib/mbscspn.c: Include mbuiter.h unconditionally.
60698         (mbscspn): Assume mbrtowc function.
60699         * lib/mbslen.c: Include mbuiter.h unconditionally.
60700         (mbslen): Assume mbrtowc function.
60701         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
60702         (mbsncasecmp): Assume mbrtowc function.
60703         * lib/mbsnlen.c: Include mbiter.h unconditionally.
60704         (mbsnlen): Assume mbrtowc function.
60705         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
60706         (mbspbrk): Assume mbrtowc function.
60707         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
60708         (mbspcasecmp): Assume mbrtowc function.
60709         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
60710         (mbsrchr): Assume mbrtowc function.
60711         * lib/mbssep.c: Include mbuiter.h unconditionally.
60712         (mbssep): Assume mbrtowc function.
60713         * lib/mbsspn.c: Include mbuiter.h unconditionally.
60714         (mbsspn): Assume mbrtowc function.
60715         * lib/mbsstr.c: Include mbuiter.h unconditionally.
60716         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
60717         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
60718         (mbstok_r): Assume mbrtowc function.
60719         * lib/propername.c: Include mbuiter.h unconditionally.
60720         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
60721         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
60722         (trim2): Assume mbrtowc function.
60723         * lib/mbswidth.c (mbsinit): Remove fallback definition.
60724         (mbsnwidth): Assume mbrtowc function.
60725         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
60726         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
60727         fallback definitions.
60728         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
60729
60730 2008-12-22  Bruno Haible  <bruno@clisp.org>
60731
60732         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
60733
60734 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
60735
60736         * modules/regex: Request emulations for the mb*/wc* functions we need.
60737         * m4/regex.m4: Don't look for those functions here.
60738         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
60739
60740 2008-12-22  Bruno Haible  <bruno@clisp.org>
60741
60742         * modules/fnmatch (Depends-on): Remove duplicated dependency.
60743
60744 2008-12-21  Bruno Haible  <bruno@clisp.org>
60745
60746         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
60747         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
60748         (Include): Remove conditionalization.
60749         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
60750         (Include): Remove conditionalization.
60751         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
60752         (Include): Remove conditionalization.
60753         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
60754         * m4/mbfile.m4 (gl_MBFILE): Likewise.
60755         * NEWS: Mention the change.
60756         Reported by Alan Hourihane <alanh@fairlite.co.uk>
60757         via Sergey Poznyakoff <gray@gnu.org.ua>.
60758
60759 2008-12-21  Bruno Haible  <bruno@clisp.org>
60760
60761         * MODULES.html.sh (Extended multibyte and wide character utilities
60762         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
60763         wcrtomb, wcsrtombs.
60764         (Support for systems lacking POSIX:2008): Add accept, bind, close,
60765         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
60766         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
60767         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
60768
60769 2008-12-21  Bruno Haible  <bruno@clisp.org>
60770
60771         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
60772
60773 2008-12-21  Bruno Haible  <bruno@clisp.org>
60774
60775         * modules/wcsnrtombs-tests: New file.
60776         * tests/test-wcsnrtombs1.sh: New file.
60777         * tests/test-wcsnrtombs2.sh: New file.
60778         * tests/test-wcsnrtombs3.sh: New file.
60779         * tests/test-wcsnrtombs4.sh: New file.
60780         * tests/test-wcsnrtombs.c: New file.
60781
60782         New module 'wcsnrtombs'.
60783         * lib/wchar.in.h (wcsnrtombs): New declaration.
60784         * lib/wcsnrtombs.c: New file.
60785         * lib/wcsrtombs-state.c: New file.
60786         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
60787         (internal_state): Remove variable.
60788         * m4/wcsnrtombs.m4: New file.
60789         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
60790         compilation units.
60791         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
60792         HAVE_WCSNRTOMBS.
60793         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
60794         HAVE_WCSNRTOMBS.
60795         * modules/wcsnrtombs: New file.
60796         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
60797         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
60798
60799 2008-12-21  Bruno Haible  <bruno@clisp.org>
60800
60801         * modules/wcsrtombs-tests: New file.
60802         * tests/test-wcsrtombs1.sh: New file.
60803         * tests/test-wcsrtombs2.sh: New file.
60804         * tests/test-wcsrtombs3.sh: New file.
60805         * tests/test-wcsrtombs4.sh: New file.
60806         * tests/test-wcsrtombs.c: New file.
60807
60808         New module 'wcsrtombs'.
60809         * lib/wchar.in.h (wcsrtombs): New declaration.
60810         * lib/wcsrtombs.c: New file.
60811         * m4/wcsrtombs.m4: New file.
60812         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
60813         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
60814         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
60815         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
60816         * modules/wcsrtombs: New file.
60817         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
60818         bugs.
60819
60820 2008-12-21  Bruno Haible  <bruno@clisp.org>
60821
60822         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
60823         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
60824         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
60825         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
60826         if not correct.
60827         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
60828         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
60829         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
60830         m4/locale-zh.m4, m4/codeset.m4.
60831         * doc/posix-functions/wcrtomb.texi: Document the bug.
60832
60833 2008-12-21  Bruno Haible  <bruno@clisp.org>
60834
60835         Work around a btowc() bug on IRIX 6.5.
60836         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
60837         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
60838         REPLACE_WTOBC if not.
60839         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
60840         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
60841         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
60842
60843 2008-12-21  Bruno Haible  <bruno@clisp.org>
60844
60845         * modules/wcrtomb-tests: New file.
60846         * tests/test-wcrtomb.sh: New file.
60847         * tests/test-wcrtomb.c: New file.
60848
60849         New module 'wcrtomb'.
60850         * lib/wchar.in.h (wcrtomb): New declaration.
60851         * lib/wcrtomb.c: New file.
60852         * m4/wcrtomb.m4: New file.
60853         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
60854         HAVE_WCRTOMB.
60855         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
60856         HAVE_WCRTOMB.
60857         * modules/wcrtomb: New file.
60858         * doc/posix-functions/wcrtomb.texi: Mention the new module.
60859
60860 2008-12-21  Bruno Haible  <bruno@clisp.org>
60861
60862         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
60863         * modules/mbsrtowcs (Files): Likewise.
60864         * modules/wctob (Files): Likewise.
60865         * modules/c-strcase-tests (Files): Likewise.
60866         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
60867         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
60868         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
60869         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
60870         * modules/vasnprintf-posix-tests (Files): Likewise.
60871
60872 2008-12-21  William Pursell  <bill.pursell@gmail.com>
60873
60874         gitlog-to-changelog: pass all command-line arguments to git-log
60875         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
60876         it is sometimes convenient to filter the commits in various ways.
60877         gitlog-to-changelog only allows --since to specify a start date,
60878         but git-log itself supports many other filtering mechanisms.
60879         At the moment, I want to filter by branch name.  Rather than
60880         adding a --branch option to gitlog-to-changelog, it seems more
60881         flexible to simply pass all options directly to git-log and let
60882         git do the work.  Notice that this effectively makes --since a
60883         redundant option for gitlog-to-changelog, but removing it would
60884         require current usage to change since calls would then require
60885         an additional '--'.
60886
60887 2008-12-21  Bruno Haible  <bruno@clisp.org>
60888
60889         * modules/mbsnrtowcs-tests: New file.
60890         * tests/test-mbsnrtowcs1.sh: New file.
60891         * tests/test-mbsnrtowcs2.sh: New file.
60892         * tests/test-mbsnrtowcs3.sh: New file.
60893         * tests/test-mbsnrtowcs4.sh: New file.
60894         * tests/test-mbsnrtowcs.c: New file.
60895
60896         New module 'mbsnrtowcs'.
60897         * lib/wchar.in.h (mbsnrtowcs): New declaration.
60898         * lib/mbsnrtowcs.c: New file.
60899         * lib/mbsrtowcs-state.c: New file.
60900         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
60901         (internal_state): Remove variable.
60902         * m4/mbsnrtowcs.m4: New file.
60903         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
60904         compilation units.
60905         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
60906         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
60907         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
60908         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
60909         * modules/mbsnrtowcs: New file.
60910         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
60911         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
60912         portability problem.
60913
60914 2008-12-21  Bruno Haible  <bruno@clisp.org>
60915
60916         Work around mbsrtowcs bug.
60917         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
60918         (gl_FUNC_MBSRTOWCS): Invoke it.
60919         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
60920         m4/locale-zh.m4.
60921         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
60922
60923 2008-12-21  Bruno Haible  <bruno@clisp.org>
60924
60925         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
60926
60927 2008-12-21  Bruno Haible  <bruno@clisp.org>
60928
60929         Update doc for AIX.
60930         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
60931         16-bit wchar_t type.
60932         * doc/posix-functions/btowc.texi: Likewise.
60933         * doc/posix-functions/fgetwc.texi: Likewise.
60934         * doc/posix-functions/fgetws.texi: Likewise.
60935         * doc/posix-functions/fputwc.texi: Likewise.
60936         * doc/posix-functions/fputws.texi: Likewise.
60937         * doc/posix-functions/fwide.texi: Likewise.
60938         * doc/posix-functions/fwprintf.texi: Likewise.
60939         * doc/posix-functions/fwscanf.texi: Likewise.
60940         * doc/posix-functions/getwchar.texi: Likewise.
60941         * doc/posix-functions/getwc.texi: Likewise.
60942         * doc/posix-functions/iswalnum.texi: Likewise.
60943         * doc/posix-functions/iswalpha.texi: Likewise.
60944         * doc/posix-functions/iswblank.texi: Likewise.
60945         * doc/posix-functions/iswcntrl.texi: Likewise.
60946         * doc/posix-functions/iswctype.texi: Likewise.
60947         * doc/posix-functions/iswdigit.texi: Likewise.
60948         * doc/posix-functions/iswgraph.texi: Likewise.
60949         * doc/posix-functions/iswlower.texi: Likewise.
60950         * doc/posix-functions/iswprint.texi: Likewise.
60951         * doc/posix-functions/iswpunct.texi: Likewise.
60952         * doc/posix-functions/iswspace.texi: Likewise.
60953         * doc/posix-functions/iswupper.texi: Likewise.
60954         * doc/posix-functions/iswxdigit.texi: Likewise.
60955         * doc/posix-functions/mbrtowc.texi: Likewise.
60956         * doc/posix-functions/mbsrtowcs.texi: Likewise.
60957         * doc/posix-functions/mbstowcs.texi: Likewise.
60958         * doc/posix-functions/mbtowc.texi: Likewise.
60959         * doc/posix-functions/putwchar.texi: Likewise.
60960         * doc/posix-functions/putwc.texi: Likewise.
60961         * doc/posix-functions/swprintf.texi: Likewise.
60962         * doc/posix-functions/tolower.texi: Likewise.
60963         * doc/posix-functions/toupper.texi: Likewise.
60964         * doc/posix-functions/towctrans.texi: Likewise.
60965         * doc/posix-functions/ungetwc.texi: Likewise.
60966         * doc/posix-functions/vswprintf.texi: Likewise.
60967         * doc/posix-functions/wcrtomb.texi: Likewise.
60968         * doc/posix-functions/wcscat.texi: Likewise.
60969         * doc/posix-functions/wcschr.texi: Likewise.
60970         * doc/posix-functions/wcscmp.texi: Likewise.
60971         * doc/posix-functions/wcscoll.texi: Likewise.
60972         * doc/posix-functions/wcscpy.texi: Likewise.
60973         * doc/posix-functions/wcscspn.texi: Likewise.
60974         * doc/posix-functions/wcsftime.texi: Likewise.
60975         * doc/posix-functions/wcslen.texi: Likewise.
60976         * doc/posix-functions/wcsncat.texi: Likewise.
60977         * doc/posix-functions/wcsncmp.texi: Likewise.
60978         * doc/posix-functions/wcsncpy.texi: Likewise.
60979         * doc/posix-functions/wcspbrk.texi: Likewise.
60980         * doc/posix-functions/wcsrchr.texi: Likewise.
60981         * doc/posix-functions/wcsrtombs.texi: Likewise.
60982         * doc/posix-functions/wcsspn.texi: Likewise.
60983         * doc/posix-functions/wcsstr.texi: Likewise.
60984         * doc/posix-functions/wcstod.texi: Likewise.
60985         * doc/posix-functions/wcstof.texi: Likewise.
60986         * doc/posix-functions/wcstoimax.texi: Likewise.
60987         * doc/posix-functions/wcstok.texi: Likewise.
60988         * doc/posix-functions/wcstold.texi: Likewise.
60989         * doc/posix-functions/wcstoll.texi: Likewise.
60990         * doc/posix-functions/wcstol.texi: Likewise.
60991         * doc/posix-functions/wcstombs.texi: Likewise.
60992         * doc/posix-functions/wcstoull.texi: Likewise.
60993         * doc/posix-functions/wcstoul.texi: Likewise.
60994         * doc/posix-functions/wcstoumax.texi: Likewise.
60995         * doc/posix-functions/wcswidth.texi: Likewise.
60996         * doc/posix-functions/wcsxfrm.texi: Likewise.
60997         * doc/posix-functions/wctob.texi: Likewise.
60998         * doc/posix-functions/wctomb.texi: Likewise.
60999         * doc/posix-functions/wctrans.texi: Likewise.
61000         * doc/posix-functions/wctype.texi: Likewise.
61001         * doc/posix-functions/wcwidth.texi: Likewise.
61002         * doc/posix-functions/wmemchr.texi: Likewise.
61003         * doc/posix-functions/wmemcmp.texi: Likewise.
61004         * doc/posix-functions/wmemcpy.texi: Likewise.
61005         * doc/posix-functions/wmemmove.texi: Likewise.
61006         * doc/posix-functions/wmemset.texi: Likewise.
61007         * doc/posix-functions/wprintf.texi: Likewise.
61008         * doc/posix-functions/wscanf.texi: Likewise.
61009
61010 2008-12-21  Bruno Haible  <bruno@clisp.org>
61011
61012         Update doc for HP-UX 11.11.
61013         * doc/posix-functions/btowc.texi: Clarify that the function is missing
61014         in HP-UX version 11.00, not in all versions of HP-UX 11.
61015         * doc/posix-functions/fwide.texi: Likewise.
61016         * doc/posix-functions/fwprintf.texi: Likewise.
61017         * doc/posix-functions/fwscanf.texi: Likewise.
61018         * doc/posix-functions/inet_ntop.texi: Likewise.
61019         * doc/posix-functions/inet_pton.texi: Likewise.
61020         * doc/posix-functions/mbrlen.texi: Likewise.
61021         * doc/posix-functions/mbrtowc.texi: Likewise.
61022         * doc/posix-functions/mbsinit.texi: Likewise.
61023         * doc/posix-functions/mbsrtowcs.texi: Likewise.
61024         * doc/posix-functions/swprintf.texi: Likewise.
61025         * doc/posix-functions/swscanf.texi: Likewise.
61026         * doc/posix-functions/towctrans.texi: Likewise.
61027         * doc/posix-functions/vfwprintf.texi: Likewise.
61028         * doc/posix-functions/vswprintf.texi: Likewise.
61029         * doc/posix-functions/vwprintf.texi: Likewise.
61030         * doc/posix-functions/wcrtomb.texi: Likewise.
61031         * doc/posix-functions/wcsrtombs.texi: Likewise.
61032         * doc/posix-functions/wcsstr.texi: Likewise.
61033         * doc/posix-functions/wctob.texi: Likewise.
61034         * doc/posix-functions/wctrans.texi: Likewise.
61035         * doc/posix-functions/wmemchr.texi: Likewise.
61036         * doc/posix-functions/wmemcmp.texi: Likewise.
61037         * doc/posix-functions/wmemcpy.texi: Likewise.
61038         * doc/posix-functions/wmemmove.texi: Likewise.
61039         * doc/posix-functions/wmemset.texi: Likewise.
61040         * doc/posix-functions/wprintf.texi: Likewise.
61041         * doc/posix-functions/wscanf.texi: Likewise.
61042
61043 2008-12-21  Bruno Haible  <bruno@clisp.org>
61044
61045         Work around a portability problem.
61046         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
61047         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
61048
61049 2008-12-20  Bruno Haible  <bruno@clisp.org>
61050
61051         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
61052         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
61053         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
61054         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
61055         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
61056
61057         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
61058         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
61059         set.
61060         (GNULIB_defined_mbstate_t): New macro.
61061         (mbsinit): Redefine if REPLACE_MBSINIT is set.
61062         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
61063         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
61064         reuses the system's mbrtowc function but works around the bugs.
61065         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
61066         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
61067         macros.
61068         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
61069         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
61070         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
61071         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
61072         REPLACE_MBSINIT if mbsinit needs to be overridden.
61073         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
61074         REPLACE_MBSINIT, REPLACE_MBRTOWC.
61075         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
61076         REPLACE_MBSINIT, REPLACE_MBRTOWC.
61077         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
61078         m4/locale-zh.m4.
61079         (Depends): Add mbsinit.
61080         * modules/mbsinit (Depends): Add mbrtowc.
61081         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
61082
61083 2008-12-20  Bruno Haible  <bruno@clisp.org>
61084
61085         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
61086         so that there are no conversion errors on AIX.
61087         * tests/test-mbsrtowcs.c (main): LIkewise.
61088
61089 2008-12-20  Bruno Haible  <bruno@clisp.org>
61090
61091         Work around wctob bug on Solaris <= 9.
61092         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
61093         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
61094         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
61095         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
61096         * modules/wctob (Files): Add m4/locale-fr.m4.
61097         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
61098
61099 2008-12-20  Bruno Haible  <bruno@clisp.org>
61100
61101         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
61102         /dev/null.
61103         * tests/test-select-in.sh: Likewise.
61104         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
61105
61106 2008-12-20  Bruno Haible  <bruno@clisp.org>
61107
61108         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
61109         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
61110         Cygwin 1.5.x.
61111
61112 2008-12-20  Bruno Haible  <bruno@clisp.org>
61113
61114         Ensure mbstate_t is defined on HP-UX 11.11.
61115         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
61116         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
61117         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
61118         AC_USE_SYSTEM_EXTENSIONS.
61119         * modules/fnmatch (Depends-on): Add extensions.
61120         * modules/mbrlen (Depends-on): Likewise.
61121         * modules/mbrtowc (Depends-on): Likewise.
61122         * modules/mbsinit (Depends-on): Likewise.
61123         * modules/mbsrtowcs (Depends-on): Likewise.
61124         * modules/mbswidth (Depends-on): Likewise.
61125         * modules/quotearg (Depends-on): Likewise.
61126         * modules/strftime (Depends-on): Likewise.
61127
61128 2008-12-20  Bruno Haible  <bruno@clisp.org>
61129
61130         Ensure wctob is declared on IRIX 6.5.
61131         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
61132         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
61133         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
61134         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
61135         of HAVE_WCTOB.
61136         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
61137         HAVE_WCTOB.
61138         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
61139
61140 2008-12-19  Bruno Haible  <bruno@clisp.org>
61141
61142         * modules/mbsrtowcs-tests: New file.
61143         * tests/test-mbsrtowcs1.sh: New file.
61144         * tests/test-mbsrtowcs2.sh: New file.
61145         * tests/test-mbsrtowcs3.sh: New file.
61146         * tests/test-mbsrtowcs4.sh: New file.
61147         * tests/test-mbsrtowcs.c: New file.
61148
61149         New module 'mbsrtowcs'.
61150         * lib/wchar.in.h (mbsrtowcs): New declaration.
61151         * lib/mbsrtowcs.c: New file.
61152         * m4/mbsrtowcs.m4: New file.
61153         * modules/mbsrtowcs: New file.
61154         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
61155         HAVE_MBSRTOWCS.
61156         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
61157         HAVE_MBSRTOWCS.
61158         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
61159
61160 2008-12-19  Bruno Haible  <bruno@clisp.org>
61161
61162         New module 'mbrlen'.
61163         * lib/wchar.in.h (mbrlen): New declaration.
61164         * lib/mbrlen.c: New file.
61165         * m4/mbrlen.m4: New file.
61166         * modules/mbrlen: New file.
61167         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
61168         HAVE_MBRLEN.
61169         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
61170         HAVE_MBRLEN.
61171         * doc/posix-functions/mbrlen.texi: Document the new module.
61172
61173 2008-12-19  Bruno Haible  <bruno@clisp.org>
61174
61175         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
61176         * modules/mbrtowc (Depends-on): Add verify.
61177         Suggested by Paul Eggert.
61178
61179 2008-12-18  Bruno Haible  <bruno@clisp.org>
61180
61181         * modules/mbsinit-tests: New file.
61182         * tests/test-mbsinit.sh: New file.
61183         * tests/test-mbsinit.c: New file.
61184
61185 2008-12-18  Bruno Haible  <bruno@clisp.org>
61186
61187         * modules/mbrtowc-tests: New file.
61188         * tests/test-mbrtowc1.sh: New file.
61189         * tests/test-mbrtowc2.sh: New file.
61190         * tests/test-mbrtowc3.sh: New file.
61191         * tests/test-mbrtowc4.sh: New file.
61192         * tests/test-mbrtowc.c: New file.
61193
61194         New module 'mbrtowc'.
61195         * lib/wchar.in.h (mbstate_t): Override when the system does not have
61196         mbsinit and mbrtowc.
61197         (mbrtowc): New declaration.
61198         * lib/mbrtowc.c: New file.
61199         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
61200         * modules/mbrtowc: New file.
61201         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
61202         HAVE_MBRTOWC.
61203         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
61204         HAVE_MBRTOWC.
61205         * doc/posix-functions/mbrtowc.texi: Document the new module.
61206
61207 2008-12-18  Bruno Haible  <bruno@clisp.org>
61208
61209         New module 'wctob'.
61210         * lib/wchar.in.h (wctob): New declaration.
61211         * lib/wctob.c: New file.
61212         * m4/wctob.m4: New file.
61213         * modules/wctob: New file.
61214         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
61215         HAVE_WCTOB.
61216         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
61217         * doc/posix-functions/wctob.texi: Document the new module.
61218
61219 2008-12-18  Bruno Haible  <bruno@clisp.org>
61220
61221         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
61222         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
61223
61224 2008-12-18  Simon Josefsson  <simon@josefsson.org>
61225
61226         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
61227         G. Christensen" <tgc@jupiterrise.com>.
61228
61229         * lib/flock.c: Need to include errno.h.  Reported by "Tom
61230         G. Christensen" <tgc@jupiterrise.com>.
61231
61232         * lib/flock.c: Need to include string.h.  Reported by "Tom
61233         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
61234         <ebb9@byu.net>.
61235
61236 2008-12-18  Bruno Haible  <bruno@clisp.org>
61237
61238         * m4/locale-ja.m4: New file, from GNU gettext.
61239
61240 2008-12-17  Bruno Haible  <bruno@clisp.org>
61241
61242         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
61243         Suggested by Eric Blake.
61244
61245 2008-12-17  Bruno Haible  <bruno@clisp.org>
61246
61247         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
61248
61249 2008-12-17  Bruno Haible  <bruno@clisp.org>
61250
61251         * lib/mbsinit.c: Include verify.h. Verify an assumption.
61252         * modules/mbsinit (Depends-on): Add verify.
61253         Suggested by Paul Eggert.
61254
61255 2008-12-17  Bruno Haible  <bruno@clisp.org>
61256
61257         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
61258         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
61259         gl_FUNC_MBRTOWC.
61260         * m4/mbiter.m4 (gl_MBITER): LIkewise.
61261         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
61262         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
61263         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
61264         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
61265         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
61266         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
61267         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
61268         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
61269         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
61270         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
61271         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
61272         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
61273         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
61274         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
61275         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
61276         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
61277         * modules/trim (configure.ac): Likewise.
61278
61279 2008-12-17  Bruno Haible  <bruno@clisp.org>
61280
61281         * modules/btowc-tests: New file.
61282         * tests/test-btowc1.sh: New file.
61283         * tests/test-btowc2.sh: New file.
61284         * tests/test-btowc.c: New file.
61285
61286         New module 'btowc'.
61287         * lib/wchar.in.h (btowc): New declaration.
61288         * lib/btowc.c: New file.
61289         * m4/btowc.m4: New file.
61290         * modules/btowc: New file.
61291         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
61292         HAVE_BTOWC.
61293         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
61294         * doc/posix-functions/btowc.texi: Document the new module.
61295
61296 2008-12-17  Bruno Haible  <bruno@clisp.org>
61297
61298         New module 'mbsinit'.
61299         * lib/wchar.in.h (mbsinit): New declaration.
61300         * lib/mbsinit.c: New file.
61301         * m4/mbsinit.m4: New file.
61302         * modules/mbsinit: New file.
61303         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
61304         HAVE_MBSINIT.
61305         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
61306         HAVE_MBSINIT.
61307         * doc/posix-functions/mbsinit.texi: Document the new module.
61308
61309 2008-12-16  Bruno Haible  <bruno@clisp.org>
61310
61311         * lib/unistd.in.h: Add comment.
61312         * tests/test-environ.c: Don't include <stdlib.h>.
61313
61314 2008-12-16  Bruno Haible  <bruno@clisp.org>
61315
61316         * lib/parse-duration.h (parse_duration): Document return value
61317         convention.
61318         * lib/parse-duration.c: Include specification header first. Add
61319         comments.
61320         (_): Remove macro.
61321         (parse_year_month_day, parse_hour_minute_second): Move side effects
61322         outside of strchr call.
61323         (parse_non_iso8601): Move side effects outside of isspace call.
61324         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
61325         call.
61326
61327 2008-12-16  Bruno Haible  <bruno@clisp.org>
61328
61329         * tests/test-parse-duration.sh: Produce no output when the test
61330         succeeds.
61331
61332 2008-12-16  Bruno Haible  <bruno@clisp.org>
61333
61334         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
61335         expressions.
61336
61337 2008-12-15  Bruno Haible  <bruno@clisp.org>
61338
61339         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
61340         * doc/glibc-functions/flistxattr.texi: Likewise.
61341         * doc/glibc-functions/fopencookie.texi: Likewise.
61342         * doc/glibc-functions/fremovexattr.texi: Likewise.
61343         * doc/glibc-functions/fsetxattr.texi: Likewise.
61344         * doc/glibc-functions/getxattr.texi: Likewise.
61345         * doc/glibc-functions/lgetxattr.texi: Likewise.
61346         * doc/glibc-functions/listxattr.texi: Likewise.
61347         * doc/glibc-functions/llistxattr.texi: Likewise.
61348         * doc/glibc-functions/lremovexattr.texi: Likewise.
61349         * doc/glibc-functions/lsetxattr.texi: Likewise.
61350         * doc/glibc-functions/removexattr.texi: Likewise.
61351         * doc/glibc-functions/setxattr.texi: Likewise.
61352         * doc/posix-functions/open_memstream.texi: Likewise.
61353
61354 2008-12-15  Eric Blake  <ebb9@byu.net>
61355
61356         Update doc for cygwin 1.7.
61357         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
61358         functions.
61359         * doc/posix-functions/fchmodat.texi: Likewise.
61360         * doc/posix-functions/fchownat.texi: Likewise.
61361         * doc/posix-functions/fdopendir.texi: Likewise.
61362         * doc/posix-functions/fmemopen.texi: Likewise.
61363         * doc/posix-functions/freeaddrinfo.texi: Likewise.
61364         * doc/posix-functions/fstatat.texi: Likewise.
61365         * doc/posix-functions/futimens.texi: Likewise.
61366         * doc/posix-functions/gai_strerror.texi: Likewise.
61367         * doc/posix-functions/getaddrinfo.texi: Likewise.
61368         * doc/posix-functions/getnameinfo.texi: Likewise.
61369         * doc/posix-functions/if_freenameindex.texi: Likewise.
61370         * doc/posix-functions/if_indextoname.texi: Likewise.
61371         * doc/posix-functions/if_nameindex.texi: Likewise.
61372         * doc/posix-functions/if_nametoindex.texi: Likewise.
61373         * doc/posix-functions/insque.texi: Likewise.
61374         * doc/posix-functions/linkat.texi: Likewise.
61375         * doc/posix-functions/llrint.texi: Likewise.
61376         * doc/posix-functions/llrintf.texi: Likewise.
61377         * doc/posix-functions/llrintl.texi: Likewise.
61378         * doc/posix-functions/lockf.texi: Likewise.
61379         * doc/posix-functions/lrintl.texi: Likewise.
61380         * doc/posix-functions/mkdirat.texi: Likewise.
61381         * doc/posix-functions/mkfifoat.texi: Likewise.
61382         * doc/posix-functions/mknodat.texi: Likewise.
61383         * doc/posix-functions/mq_close.texi: Likewise.
61384         * doc/posix-functions/mq_getattr.texi: Likewise.
61385         * doc/posix-functions/mq_notify.texi: Likewise.
61386         * doc/posix-functions/mq_open.texi: Likewise.
61387         * doc/posix-functions/mq_receive.texi: Likewise.
61388         * doc/posix-functions/mq_send.texi: Likewise.
61389         * doc/posix-functions/mq_setattr.texi: Likewise.
61390         * doc/posix-functions/mq_timedreceive.texi: Likewise.
61391         * doc/posix-functions/mq_timedsend.texi: Likewise.
61392         * doc/posix-functions/mq_unlink.texi: Likewise.
61393         * doc/posix-functions/open_memstream.texi: Likewise.
61394         * doc/posix-functions/openat.texi: Likewise.
61395         * doc/posix-functions/posix_fadvise.texi: Likewise.
61396         * doc/posix-functions/posix_fallocate.texi: Likewise.
61397         * doc/posix-functions/posix_madvise.texi: Likewise.
61398         * doc/posix-functions/posix_memalign.texi: Likewise.
61399         * doc/posix-functions/posix_openpt.texi: Likewise.
61400         * doc/posix-functions/readlinkat.texi: Likewise.
61401         * doc/posix-functions/remque.texi: Likewise.
61402         * doc/posix-functions/renameat.texi: Likewise.
61403         * doc/posix-functions/rintl.texi: Likewise.
61404         * doc/posix-functions/sem_unlink.texi: Likewise.
61405         * doc/posix-functions/shm_open.texi: Likewise.
61406         * doc/posix-functions/shm_unlink.texi: Likewise.
61407         * doc/posix-functions/signgam.texi: Likewise.
61408         * doc/posix-functions/sigset.texi: Likewise.
61409         * doc/posix-functions/stpcpy.texi: Likewise.
61410         * doc/posix-functions/stpncpy.texi: Likewise.
61411         * doc/posix-functions/strerror.texi: Likewise.
61412         * doc/posix-functions/strtod.texi: Likewise.
61413         * doc/posix-functions/symlinkat.texi: Likewise.
61414         * doc/posix-functions/unlinkat.texi: Likewise.
61415         * doc/posix-functions/utimensat.texi: Likewise.
61416         * doc/glibc-functions/bindresvport.texi: Likewise.
61417         * doc/glibc-functions/dn_expand.texi: Likewise.
61418         * doc/glibc-functions/exp10.texi: Likewise.
61419         * doc/glibc-functions/exp10f.texi: Likewise.
61420         * doc/glibc-functions/fgetxattr.texi: Likewise.
61421         * doc/glibc-functions/flistxattr.texi: Likewise.
61422         * doc/glibc-functions/fopencookie.texi: Likewise.
61423         * doc/glibc-functions/freeifaddrs.texi: Likewise.
61424         * doc/glibc-functions/fremovexattr.texi: Likewise.
61425         * doc/glibc-functions/fsetxattr.texi: Likewise.
61426         * doc/glibc-functions/getifaddrs.texi: Likewise.
61427         * doc/glibc-functions/getxattr.texi: Likewise.
61428         * doc/glibc-functions/lgetxattr.texi: Likewise.
61429         * doc/glibc-functions/listxattr.texi: Likewise.
61430         * doc/glibc-functions/llistxattr.texi: Likewise.
61431         * doc/glibc-functions/lremovexattr.texi: Likewise.
61432         * doc/glibc-functions/lsetxattr.texi: Likewise.
61433         * doc/glibc-functions/pow10.texi: Likewise.
61434         * doc/glibc-functions/pow10f.texi: Likewise.
61435         * doc/glibc-functions/rcmd_af.texi: Likewise.
61436         * doc/glibc-functions/removexattr.texi: Likewise.
61437         * doc/glibc-functions/res_init.texi: Likewise.
61438         * doc/glibc-functions/res_mkquery.texi: Likewise.
61439         * doc/glibc-functions/res_query.texi: Likewise.
61440         * doc/glibc-functions/res_querydomain.texi: Likewise.
61441         * doc/glibc-functions/res_send.texi: Likewise.
61442         * doc/glibc-functions/rresvport_af.texi: Likewise.
61443         * doc/glibc-functions/setxattr.texi: Likewise.
61444         * doc/glibc-functions/strcasestr.texi: Likewise.
61445
61446 2008-12-15  Bruno Haible  <bruno@clisp.org>
61447
61448         Fix compilation error on OSF/1 4.0.
61449         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
61450         <sys/time.h>, simply delegate to the system header.
61451         Reported by Daniel Richard G. <oss@teragram.com>.
61452
61453 2008-12-15  Bruno Haible  <bruno@clisp.org>
61454
61455         * doc/posix-functions/openat.texi: Mention the 'openat' module.
61456         * doc/posix-functions/fchmodat.texi: Likewise.
61457         * doc/posix-functions/fchownat.texi: Likewise.
61458         * doc/posix-functions/fdopendir.texi: Likewise.
61459         * doc/posix-functions/fstatat.texi: Likewise.
61460         * doc/posix-functions/mkdirat.texi: Likewise.
61461         * doc/posix-functions/unlinkat.texi: Likewise.
61462
61463 2008-12-14  Bruno Haible  <bruno@clisp.org>
61464
61465         Update doc for POSIX:2008.
61466         * doc/posix-functions/faccessat.texi: New file.
61467         * doc/posix-functions/fchmodat.texi: New file.
61468         * doc/posix-functions/fchownat.texi: New file.
61469         * doc/posix-functions/fdopendir.texi: New file.
61470         * doc/posix-functions/fstatat.texi: New file.
61471         * doc/posix-functions/futimens.texi: New file.
61472         * doc/posix-functions/linkat.texi: New file.
61473         * doc/posix-functions/mkdirat.texi: New file.
61474         * doc/posix-functions/mkfifoat.texi: New file.
61475         * doc/posix-functions/mknodat.texi: New file.
61476         * doc/posix-functions/open_wmemstream.texi: New file.
61477         * doc/posix-functions/openat.texi: New file.
61478         * doc/posix-functions/psiginfo.texi: New file.
61479         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
61480         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
61481         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
61482         * doc/posix-functions/readlinkat.texi: New file.
61483         * doc/posix-functions/renameat.texi: New file.
61484         * doc/posix-functions/strerror_l.texi: New file.
61485         * doc/posix-functions/symlinkat.texi: New file.
61486         * doc/posix-functions/unlinkat.texi: New file.
61487         * doc/posix-functions/utimensat.texi: New file.
61488         * doc/gnulib.texi (Function Substitutes): Add these subsections.
61489
61490 2008-12-14  Bruno Haible  <bruno@clisp.org>
61491
61492         Update doc for POSIX:2008.
61493         * doc/posix-functions/alphasort.texi: Renamed from
61494         doc/glibc-functions/alphasort.texi.
61495         * doc/posix-functions/dirfd.texi: Renamed from
61496         doc/glibc-functions/dirfd.texi.
61497         * doc/posix-functions/dprintf.texi: Renamed from
61498         doc/glibc-functions/dprintf.texi.
61499         * doc/posix-functions/duplocale.texi: Renamed from
61500         doc/glibc-functions/duplocale.texi.
61501         * doc/posix-functions/fexecve.texi: Renamed from
61502         doc/glibc-functions/fexecve.texi.
61503         * doc/posix-functions/fmemopen.texi: Renamed from
61504         doc/glibc-functions/fmemopen.texi.
61505         * doc/posix-functions/freelocale.texi: Renamed from
61506         doc/glibc-functions/freelocale.texi.
61507         * doc/posix-functions/getdate_err.texi: Renamed from
61508         doc/glibc-functions/getdate_err.texi.
61509         * doc/posix-functions/isalnum_l.texi: Renamed from
61510         doc/glibc-functions/isalnum_l.texi.
61511         * doc/posix-functions/isalpha_l.texi: Renamed from
61512         doc/glibc-functions/isalpha_l.texi.
61513         * doc/posix-functions/isblank_l.texi: Renamed from
61514         doc/glibc-functions/isblank_l.texi.
61515         * doc/posix-functions/iscntrl_l.texi: Renamed from
61516         doc/glibc-functions/iscntrl_l.texi.
61517         * doc/posix-functions/isdigit_l.texi: Renamed from
61518         doc/glibc-functions/isdigit_l.texi.
61519         * doc/posix-functions/isgraph_l.texi: Renamed from
61520         doc/glibc-functions/isgraph_l.texi.
61521         * doc/posix-functions/islower_l.texi: Renamed from
61522         doc/glibc-functions/islower_l.texi.
61523         * doc/posix-functions/isprint_l.texi: Renamed from
61524         doc/glibc-functions/isprint_l.texi.
61525         * doc/posix-functions/ispunct_l.texi: Renamed from
61526         doc/glibc-functions/ispunct_l.texi.
61527         * doc/posix-functions/isspace_l.texi: Renamed from
61528         doc/glibc-functions/isspace_l.texi.
61529         * doc/posix-functions/isupper_l.texi: Renamed from
61530         doc/glibc-functions/isupper_l.texi.
61531         * doc/posix-functions/iswalnum_l.texi: Renamed from
61532         doc/glibc-functions/iswalnum_l.texi.
61533         * doc/posix-functions/iswalpha_l.texi: Renamed from
61534         doc/glibc-functions/iswalpha_l.texi.
61535         * doc/posix-functions/iswblank_l.texi: Renamed from
61536         doc/glibc-functions/iswblank_l.texi.
61537         * doc/posix-functions/iswcntrl_l.texi: Renamed from
61538         doc/glibc-functions/iswcntrl_l.texi.
61539         * doc/posix-functions/iswctype_l.texi: Renamed from
61540         doc/glibc-functions/iswctype_l.texi.
61541         * doc/posix-functions/iswdigit_l.texi: Renamed from
61542         doc/glibc-functions/iswdigit_l.texi.
61543         * doc/posix-functions/iswgraph_l.texi: Renamed from
61544         doc/glibc-functions/iswgraph_l.texi.
61545         * doc/posix-functions/iswlower_l.texi: Renamed from
61546         doc/glibc-functions/iswlower_l.texi.
61547         * doc/posix-functions/iswprint_l.texi: Renamed from
61548         doc/glibc-functions/iswprint_l.texi.
61549         * doc/posix-functions/iswpunct_l.texi: Renamed from
61550         doc/glibc-functions/iswpunct_l.texi.
61551         * doc/posix-functions/iswspace_l.texi: Renamed from
61552         doc/glibc-functions/iswspace_l.texi.
61553         * doc/posix-functions/iswupper_l.texi: Renamed from
61554         doc/glibc-functions/iswupper_l.texi.
61555         * doc/posix-functions/iswxdigit_l.texi: Renamed from
61556         doc/glibc-functions/iswxdigit_l.texi.
61557         * doc/posix-functions/isxdigit_l.texi: Renamed from
61558         doc/glibc-functions/isxdigit_l.texi.
61559         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
61560         doc/glibc-functions/mbsnrtowcs.texi.
61561         * doc/posix-functions/mkdtemp.texi: Renamed from
61562         doc/glibc-functions/mkdtemp.texi.
61563         * doc/posix-functions/newlocale.texi: Renamed from
61564         doc/glibc-functions/newlocale.texi.
61565         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
61566         doc/glibc-functions/nl_langinfo_l.texi.
61567         * doc/posix-functions/open_memstream.texi: Renamed from
61568         doc/glibc-functions/open_memstream.texi.
61569         * doc/posix-functions/opterr.texi: Renamed from
61570         doc/glibc-functions/opterr.texi.
61571         * doc/posix-functions/optind.texi: Renamed from
61572         doc/glibc-functions/optind.texi.
61573         * doc/posix-functions/optopt.texi: Renamed from
61574         doc/glibc-functions/optopt.texi.
61575         * doc/posix-functions/psignal.texi: Renamed from
61576         doc/glibc-functions/psignal.texi.
61577         * doc/posix-functions/scandir.texi: Renamed from
61578         doc/glibc-functions/scandir.texi.
61579         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
61580         doc/glibc-functions/sched_get_priority_min.texi.
61581         * doc/posix-functions/signgam.texi: Renamed from
61582         doc/glibc-functions/signgam.texi.
61583         * doc/posix-functions/stpcpy.texi: Renamed from
61584         doc/glibc-functions/stpcpy.texi.
61585         * doc/posix-functions/stpncpy.texi: Renamed from
61586         doc/glibc-functions/stpncpy.texi.
61587         * doc/posix-functions/strcasecmp_l.texi: Renamed from
61588         doc/glibc-functions/strcasecmp_l.texi.
61589         * doc/posix-functions/strcoll_l.texi: Renamed from
61590         doc/glibc-functions/strcoll_l.texi.
61591         * doc/posix-functions/strfmon_l.texi: Renamed from
61592         doc/glibc-functions/strfmon_l.texi.
61593         * doc/posix-functions/strftime_l.texi: Renamed from
61594         doc/glibc-functions/strftime_l.texi.
61595         * doc/posix-functions/strncasecmp_l.texi: Renamed from
61596         doc/glibc-functions/strncasecmp_l.texi.
61597         * doc/posix-functions/strndup.texi: Renamed from
61598         doc/glibc-functions/strndup.texi.
61599         * doc/posix-functions/strnlen.texi: Renamed from
61600         doc/glibc-functions/strnlen.texi.
61601         * doc/posix-functions/strsignal.texi: Renamed from
61602         doc/glibc-functions/strsignal.texi.
61603         * doc/posix-functions/strxfrm_l.texi: Renamed from
61604         doc/glibc-functions/strxfrm_l.texi.
61605         * doc/posix-functions/timer_gettime.texi: Renamed from
61606         doc/glibc-functions/timer_gettime.texi.
61607         * doc/posix-functions/tolower_l.texi: Renamed from
61608         doc/glibc-functions/tolower_l.texi.
61609         * doc/posix-functions/toupper_l.texi: Renamed from
61610         doc/glibc-functions/toupper_l.texi.
61611         * doc/posix-functions/towctrans_l.texi: Renamed from
61612         doc/glibc-functions/towctrans_l.texi.
61613         * doc/posix-functions/towlower_l.texi: Renamed from
61614         doc/glibc-functions/towlower_l.texi.
61615         * doc/posix-functions/towupper_l.texi: Renamed from
61616         doc/glibc-functions/towupper_l.texi.
61617         * doc/posix-functions/uselocale.texi: Renamed from
61618         doc/glibc-functions/uselocale.texi.
61619         * doc/posix-functions/vdprintf.texi: Renamed from
61620         doc/glibc-functions/vdprintf.texi.
61621         * doc/posix-functions/wcpcpy.texi:
61622         Renamed from doc/glibc-functions/wcpcpy.texi.
61623         * doc/posix-functions/wcpncpy.texi: Renamed from
61624         doc/glibc-functions/wcpncpy.texi.
61625         * doc/posix-functions/wcscasecmp.texi: Renamed from
61626         doc/glibc-functions/wcscasecmp.texi.
61627         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
61628         doc/glibc-functions/wcscasecmp_l.texi.
61629         * doc/posix-functions/wcscoll_l.texi: Renamed from
61630         doc/glibc-functions/wcscoll_l.texi.
61631         * doc/posix-functions/wcsdup.texi: Renamed from
61632         doc/glibc-functions/wcsdup.texi.
61633         * doc/posix-functions/wcsncasecmp.texi: Renamed from
61634         doc/glibc-functions/wcsncasecmp.texi.
61635         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
61636         doc/glibc-functions/wcsncasecmp_l.texi.
61637         * doc/posix-functions/wcsnlen.texi: Renamed from
61638         doc/glibc-functions/wcsnlen.texi.
61639         * doc/posix-functions/wcsnrtombs.texi: Renamed from
61640         doc/glibc-functions/wcsnrtombs.texi.
61641         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
61642         doc/glibc-functions/wcsxfrm_l.texi.
61643         * doc/posix-functions/wctrans_l.texi: Renamed from
61644         doc/glibc-functions/wctrans_l.texi.
61645         * doc/posix-functions/wctype_l.texi: Renamed from
61646         doc/glibc-functions/wctype_l.texi.
61647         * doc/gnulib.texi (Function Substitutes): Add these subsections.
61648         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
61649         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
61650         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
61651         these subsections.
61652         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
61653         Remove sections.
61654
61655 2008-12-14  Bruno Haible  <bruno@clisp.org>
61656
61657         Update doc for POSIX:2008.
61658         * doc/posix-functions/*.texi: Update URL of POSIX specification.
61659
61660 2008-12-14  Bruno Haible  <bruno@clisp.org>
61661
61662         Update doc for POSIX:2008.
61663         * doc/pastposix-functions/bcmp.texi: Renamed from
61664         doc/posix-functions/bcmp.texi.
61665         * doc/pastposix-functions/bcopy.texi: Renamed from
61666         doc/posix-functions/bcopy.texi.
61667         * doc/pastposix-functions/bsd_signal.texi: Renamed from
61668         doc/posix-functions/bsd_signal.texi.
61669         * doc/pastposix-functions/bzero.texi: Renamed from
61670         doc/posix-functions/bzero.texi.
61671         * doc/pastposix-functions/ecvt.texi: Renamed from
61672         doc/posix-functions/ecvt.texi.
61673         * doc/pastposix-functions/fcvt.texi: Renamed from
61674         doc/posix-functions/fcvt.texi.
61675         * doc/pastposix-functions/ftime.texi: Renamed from
61676         doc/posix-functions/ftime.texi.
61677         * doc/pastposix-functions/gcvt.texi: Renamed from
61678         doc/posix-functions/gcvt.texi.
61679         * doc/pastposix-functions/getcontext.texi: Renamed from
61680         doc/posix-functions/getcontext.texi.
61681         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
61682         doc/posix-functions/gethostbyaddr.texi.
61683         * doc/pastposix-functions/gethostbyname.texi: Renamed from
61684         doc/posix-functions/gethostbyname.texi.
61685         * doc/pastposix-functions/getwd.texi: Renamed from
61686         doc/posix-functions/getwd.texi.
61687         * doc/pastposix-functions/h_errno.texi: Renamed from
61688         doc/posix-functions/h_errno.texi.
61689         * doc/pastposix-functions/index.texi: Renamed from
61690         doc/posix-functions/index.texi.
61691         * doc/pastposix-functions/makecontext.texi: Renamed from
61692         doc/posix-functions/makecontext.texi.
61693         * doc/pastposix-functions/mktemp.texi: Renamed from
61694         doc/posix-functions/mktemp.texi.
61695         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
61696         doc/posix-functions/pthread_attr_getstackaddr.texi.
61697         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
61698         doc/posix-functions/pthread_attr_setstackaddr.texi.
61699         * doc/pastposix-functions/rindex.texi: Renamed from
61700         doc/posix-functions/rindex.texi.
61701         * doc/pastposix-functions/scalb.texi: Renamed from
61702         doc/posix-functions/scalb.texi.
61703         * doc/pastposix-functions/setcontext.texi: Renamed from
61704         doc/posix-functions/setcontext.texi.
61705         * doc/pastposix-functions/swapcontext.texi: Renamed from
61706         doc/posix-functions/swapcontext.texi.
61707         * doc/pastposix-functions/ualarm.texi: Renamed from
61708         doc/posix-functions/ualarm.texi.
61709         * doc/pastposix-functions/usleep.texi: Renamed from
61710         doc/posix-functions/usleep.texi.
61711         * doc/pastposix-functions/vfork.texi: Renamed from
61712         doc/posix-functions/vfork.texi.
61713         * doc/pastposix-functions/wcswcs.texi: Renamed from
61714         doc/posix-functions/wcswcs.texi.
61715         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
61716         (Function Substitutes): Update.
61717
61718 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61719
61720         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
61721         m4/strerror.m4.
61722
61723 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61724             Bruno Haible  <bruno@clisp.org>
61725
61726         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
61727
61728 2008-12-13  Bruno Haible  <bruno@clisp.org>
61729
61730         * modules/strtoull (Depends-on): Remove unistd.
61731
61732 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61733
61734         * modules/strtoull (Depends-on): Add stdlib.
61735
61736 2008-12-11  Simon Josefsson  <simon@josefsson.org>
61737
61738         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
61739
61740 2008-12-10  Jim Meyering  <meyering@redhat.com>
61741
61742         gl_ASSERT: don't say assertions are disabled when they're not
61743         * m4/assert.m4 (gl_ASSERT): Do not make configure report
61744         "checking whether to enable assertions... no", when they are in
61745         fact enabled.  This is solely a bug in the output of configure.
61746         In spite of saying "no", NDEBUG was not defined in that case.
61747         Also, as noted by Eric Blake, leave assertions enabled upon
61748         --enable-assert=INVALID.
61749
61750 2008-12-10  Bruno Haible  <bruno@clisp.org>
61751
61752         Change MODULES.html to refer to POSIX:2008 where possible.
61753         * MODULES.html.sh (POSIX2008_URL): New variable.
61754         (posix_headers): Remove sys/timeb, ucontext.
61755         (posix2001_headers): New variable.
61756         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
61757         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
61758         index, makecontext, mktemp, pthread_attr_getstackaddr,
61759         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
61760         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
61761         (posix2001_functions): New variable.
61762         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
61763         otherwise.
61764
61765 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61766
61767         add missing include to parse-duration.c
61768         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
61769         * modules/parse-duration (Depends-on): Add xalloc.
61770
61771         fix sed script reading maint.mk
61772         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
61773         (syntax-check-rules): Use it.
61774
61775 2008-12-09  Bruno Haible  <bruno@clisp.org>
61776
61777         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
61778         MacOS X 10.4/PowerPC.
61779         Reported by Simon Josefsson.
61780
61781 2008-12-08  Jim Meyering  <meyering@redhat.com>
61782
61783         work around mingw's lack of some S_IF definitions
61784         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
61785         Reported by Simon Josefsson.
61786
61787 2008-12-08  Bruno Haible  <bruno@clisp.org>
61788
61789         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
61790         applied to variables. Needed on MacOS X 10.4/PowerPC.
61791         Reported by Simon Josefsson.
61792
61793 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
61794         and Eric Blake  <ebb9@byu.net>
61795
61796         assert: honor --enable-assert
61797         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
61798         order to honor --enable-assert, rather than treating it as a
61799         synonym for --disable-assert.
61800
61801 2008-12-08  Jim Meyering  <meyering@redhat.com>
61802
61803         * lib/posixtm.c: Remove now-useless declaration of mktime.
61804
61805         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
61806
61807 2008-12-07  Bruno Haible  <bruno@clisp.org>
61808
61809         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
61810         test_once): Mark functions as static.
61811         * tests/test-tls.c (test_tls): Likewise.
61812
61813 2008-12-07  Bruno Haible  <bruno@clisp.org>
61814
61815         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
61816         iconv_register_autodetect.
61817
61818 2008-12-07  Jim Meyering  <meyering@redhat.com>
61819
61820         posixtm.c: avoid a warning
61821         * lib/posixtm.c (posixtime): Don't initialize tm0.
61822         It's no longer needed to placate gcc4's -Wuninitialized,
61823         and the attempt to placate would elicit a new warning.
61824
61825         unicodeio.c: mark unused parameters
61826         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
61827         (fallback_failure_callback): Likewise.
61828
61829 2008-12-07  Bruno Haible  <bruno@clisp.org>
61830
61831         * gnulib-tool (func_create_testdir): When building the tests
61832         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
61833         Reported by Simon Josefsson.
61834
61835 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61836
61837         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
61838
61839 2008-12-06  Bruno Haible  <bruno@clisp.org>
61840
61841         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
61842         Suggested by Eric Blake.
61843
61844 2008-12-06  Bruno Haible  <bruno@clisp.org>
61845
61846         Fix a c-stack test failure on MacOS X.
61847         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
61848         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
61849         handler for SIGBUS as well.
61850         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
61851         install a signal handler for SIGBUS as well.
61852         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
61853
61854 2008-12-06  Bruno Haible  <bruno@clisp.org>
61855
61856         Advocacy documentation.
61857         * doc/gnulib-intro.texi (Benefits): New section.
61858         * doc/gnulib.texi: Update.
61859
61860 2008-12-06  Bruno Haible  <bruno@clisp.org>
61861
61862         Document the 'manywarnings' module.
61863         * doc/manywarnings.texi: New file.
61864         * doc/gnulib.texi: Include it.
61865
61866 2008-12-05  Eric Blake  <ebb9@byu.net>
61867
61868         tests: silence some gcc warnings
61869         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
61870         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
61871         type mismatches.
61872
61873 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61874             Bruno Haible  <bruno@clisp.org>
61875
61876         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
61877
61878 2008-11-29  Jim Meyering  <meyering@redhat.com>
61879
61880         unicodeio.c: mark unused parameters
61881         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
61882         (fallback_failure_callback): Likewise.
61883
61884         fts: fix a thinko
61885         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
61886         (set_stat_type): Return S_IF*-valued "type" directly.
61887         Prompted by James Youngman's spotting a related bug.
61888         Confirmed by further testing through find.
61889
61890         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
61891         * lib/fts.c (D_TYPE): Define.
61892         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
61893         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
61894         (s_ifmt_shift_bits): New function.
61895         (set_stat_type): New function.
61896         (fts_build): When not calling fts_stat, call set_stat_type
61897         to propagate dirent.d_type info to fts_read caller.
61898         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
61899         fts_statp->st_mode type information may be valid.
61900
61901 2008-11-28  Simon Josefsson  <simon@josefsson.org>
61902
61903         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
61904         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
61905         <sds@gnu.org>.
61906
61907 2008-11-20  Bruno Haible  <bruno@clisp.org>
61908
61909         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
61910         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
61911         INCLUDE_NEXT.
61912         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
61913         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
61914         * modules/math (Makefile.am): Substitute
61915         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
61916         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
61917
61918 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
61919             Bruno Haible  <bruno@clisp.org>
61920
61921         * lib/stdint.in.h: Define all type macros so that their expansion is
61922         a single typedef'ed token. Fixes a compilation failure in Boost which
61923         does "using ::int8_t;".
61924
61925 2008-11-18  Simon Josefsson  <simon@josefsson.org>
61926
61927         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
61928         gl_MANYWARN_ALL_GCC.
61929         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
61930         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
61931         * modules/manywarnings: New file.
61932         * MODULES.html.sh: Mention manywarnings module.
61933
61934 2008-11-18  Bruno Haible  <bruno@clisp.org>
61935
61936         * doc/gnulib-tool.texi (Unit tests): New section.
61937
61938 2008-11-18  Simon Josefsson  <simon@josefsson.org>
61939
61940         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
61941         paths like 'lib/po/foo.po'.
61942
61943 2008-11-17  Simon Josefsson  <simon@josefsson.org>
61944
61945         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
61946         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
61947
61948 2008-11-17  Simon Josefsson  <simon@josefsson.org>
61949
61950         * m4/warnings.m4: Use CPPFLAGS to really check whether the
61951         parameter works.
61952
61953 2008-11-17  Simon Josefsson  <simon@josefsson.org>
61954
61955         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
61956
61957 2008-11-17  Bruce Korb  <bkorb@gnu.org>
61958
61959         * modules/parse-duration-tests: New file.
61960         * tests/test-parse-duration.sh: New file.
61961         * tests/test-parse-duration.c: New file.
61962
61963         New module 'parse-duration'.
61964         * lib/parse-duration.h: New file.
61965         * lib/parse-duration.c: New file.
61966         * modules/parse-duration: New file.
61967
61968 2008-11-17  Bruno Haible  <bruno@clisp.org>
61969
61970         * tests/test-select-out.sh: Comment out the first pipe test.
61971         Reported by Simon Josefsson.
61972
61973 2008-11-17  Bruno Haible  <bruno@clisp.org>
61974
61975         * modules/getaddrinfo (Depends-on): Add servent, hostent.
61976         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
61977         gl_HOSTENT.
61978
61979 2008-11-17  Bruno Haible  <bruno@clisp.org>
61980
61981         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
61982         -lnetwork and -lnet. Needed for Haiku and BeOS.
61983
61984 2008-11-16  Bruno Haible  <bruno@clisp.org>
61985
61986         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
61987
61988 2008-11-16  Bruno Haible  <bruno@clisp.org>
61989
61990         Avoid test failure on Haiku.
61991         * tests/test-fsync.c: Include <errno.h>.
61992         (main): Don't require that fsync (0) fails.
61993
61994 2008-11-15  Bruno Haible  <bruno@clisp.org>
61995
61996         New module 'hostent'.
61997         * modules/hostent: New file.
61998         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
61999
62000 2008-11-15  Bruno Haible  <bruno@clisp.org>
62001
62002         New module 'servent'.
62003         * modules/servent: New file.
62004         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
62005
62006 2008-11-15  Bruno Haible  <bruno@clisp.org>
62007
62008         Avoid generating same test program with two different rules.
62009         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
62010         test-frexp to test-frexp-nolibm.
62011         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
62012         test-frexpl to test-frexpl-nolibm.
62013
62014 2008-11-15  Bruno Haible  <bruno@clisp.org>
62015
62016         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
62017         $(FREXPL_LIBM).
62018
62019 2008-11-15  Bruno Haible  <bruno@clisp.org>
62020
62021         * lib/netdb.in.h: Activate the definitions also when the system's
62022         <netdb.h> has 'struct addrinfo'.
62023         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
62024         EAI_OVERFLOW or AI_NUMERICSERV.
62025         * doc/posix-headers/netdb.texi: Document the problem.
62026
62027 2008-11-15  Bruno Haible  <bruno@clisp.org>
62028
62029         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
62030
62031         Make the 'sched' module work on platforms where <sched.h> exists but
62032         is incomplete (such as Haiku).
62033         * lib/sched.in.h; Include the system's <sched.h> if it exists.
62034         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
62035         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
62036         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
62037         HAVE_STRUCT_SCHED_PARAM.
62038         * modules/sched (Depends-on): Add include_next.
62039         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
62040         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
62041         * doc/posix-headers/sched.texi: Document the issue.
62042
62043 2008-11-13  Jim Meyering  <meyering@redhat.com>
62044
62045         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
62046         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
62047         test would fail due to the difference in the Report bugs to ...
62048         line.  The expected address is empty, "<>", while the actual
62049         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
62050
62051 2008-11-12  Bruno Haible  <bruno@clisp.org>
62052
62053         lstat: don't compile lstat.c on systems lacking lstat
62054         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
62055         which don't have lstat; this is handled by lib/sys_stat.in.h already.
62056         Reported by Daniel P. Berrange via Jim Meyering.
62057
62058 2008-11-12  Jim Meyering  <meyering@redhat.com>
62059
62060         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
62061
62062 2008-11-12  Simon Josefsson  <simon@josefsson.org>
62063
62064         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
62065         instead.
62066
62067 2008-11-12  Bruno Haible  <bruno@clisp.org>
62068
62069         * lib/unicodeio.c: Include unistr.h.
62070         (utf8_wctomb): Remove function.
62071         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
62072
62073 2008-11-12  Simon Josefsson  <simon@josefsson.org>
62074
62075         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
62076         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
62077         <bruno@clisp.org>.
62078         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
62079
62080 2008-11-12  Simon Josefsson  <simon@josefsson.org>
62081
62082         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
62083         * doc/gnulib.texi: Add section for warnings.
62084
62085 2008-11-11  Bruno Haible  <bruno@clisp.org>
62086
62087         * lib/sockets.h: Add a comment.
62088
62089 2008-11-11  Karl Berry  <karl@gnu.org>
62090
62091         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
62092
62093 2008-11-11  Eric Blake  <ebb9@byu.net>
62094
62095         fdl.texi: avoid git symlinks
62096         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
62097
62098 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
62099
62100         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
62101
62102 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
62103
62104         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
62105         (gl_WARN_ADD): Substitute $2 if literal.
62106
62107 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
62108
62109         * m4/warning.m4: Remove.
62110
62111 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
62112
62113         * m4/warnings.m4: Almost complete rewrite. :-)
62114
62115 2008-11-10  Simon Josefsson  <simon@josefsson.org>
62116
62117         * modules/warnings: New module.
62118         * m4/warnings.m4: New file.
62119         * MODULES.html.sh: Mention warnings module.
62120         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
62121         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62122
62123 2008-11-10  Eric Blake  <ebb9@byu.net>
62124
62125         fdl.texi: make a symlink to the latest version
62126         * doc/standards.texi: Revert today's earlier change.
62127         * doc/fdl-1.2.texi: Rename from old fdl.texi...
62128         * doc/fdl.texi: ...and replace this with a symlink to the newer
62129         fdl-1.3.texi.
62130
62131 2008-11-10  Bruno Haible  <bruno@clisp.org>
62132
62133         * tests/test-select-fd.c (main): Accept the result file name as fourth
62134         argument.
62135         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
62136         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
62137
62138 2008-11-10  Bruno Haible  <bruno@clisp.org>
62139
62140         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
62141         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
62142         as autoconf-substituted macros.
62143         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
62144         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
62145         gl_NETDB_H_DEFAULTS. Set these variables.
62146         * modules/netdb (Makefile.am): Substitute these variables.
62147
62148 2008-11-10  Eric Blake  <ebb9@byu.net>
62149
62150         standards.texi: include correct file for FDL 1.3
62151         * doc/standards.texi (GNU Free Documentation License): Change
62152         include file to pull in FDL 1.3, not 1.2.
62153
62154         fdl.texi: revert accidental change to license
62155         * doc/fdl.texi: This is FDL 1.2, not 1.3.
62156
62157 2008-11-10  Bruno Haible  <bruno@clisp.org>
62158
62159         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
62160         cross-compiling guesses also when the native compile gives no result.
62161
62162 2008-11-10  Bruno Haible  <bruno@clisp.org>
62163
62164         * lib/spawni.c (__spawni): Force variable into the stack.
62165
62166 2008-11-10  Bruno Haible  <bruno@clisp.org>
62167
62168         Add support for Haiku.
62169         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
62170         glibc and BeOS, but also on Haiku.
62171         * lib/fpurge.c (fpurge): Likewise.
62172         * lib/freadable.c (freadable): Likewise.
62173         * lib/freadahead.c (freadahead): Likewise.
62174         * lib/freading.c (freading): Likewise.
62175         * lib/freadptr.c (freadptr): Likewise.
62176         * lib/freadseek.c (freadptrinc): Likewise.
62177         * lib/fseeko.c (rpl_fseeko): Likewise.
62178         * lib/fseterr.c (fseterr): Likewise.
62179         * lib/fwritable.c (fwritable): Likewise.
62180         * lib/fwriting.c (fwriting): Likewise.
62181         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
62182
62183 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
62184
62185         * lib/config.charset: Treat Haiku like BeOS.
62186
62187 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
62188
62189         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
62190         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
62191
62192 2008-11-08  Bruno Haible  <bruno@clisp.org>
62193
62194         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
62195         AC_CACHE_CHECK.
62196
62197 2008-11-08  Bruno Haible  <bruno@clisp.org>
62198
62199         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
62200
62201 2008-11-08  Bruno Haible  <bruno@clisp.org>
62202
62203         * tests/test-select-fd.c: New file.
62204         * tests/test-select-in.sh: New file.
62205         * tests/test-select-out.sh: New file.
62206         * tests/test-select-stdin.c: New file.
62207         * modules/select-tests (Files): Add the new files.
62208         (Depends-on): Add gettimeofday.
62209         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
62210         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
62211         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
62212
62213 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
62214             Bruno Haible  <bruno@clisp.org>
62215
62216         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
62217
62218 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
62219
62220         * build-aux/pmccabe2html: Added support for C++ source files.
62221
62222 2008-11-05  Ben Pfaff  <blp@gnu.org>
62223
62224         Fix lib/close.c build on Windows.
62225         * modules/close (Files): Add lib/w32sock.h.
62226
62227 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
62228
62229         Accept Bison's NEWS format.
62230         * build-aux/announce-gen (print_news_deltas): Tweak
62231         $re_prefix.
62232
62233 2008-11-04  Bruno Haible  <bruno@clisp.org>
62234
62235         * modules/random_r (Maintainer): Add glibc.
62236
62237 2008-11-04  Simon Josefsson  <simon@josefsson.org>
62238
62239         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
62240         by karl@freefriends.org (Karl Berry).
62241         * doc/alloca.texi: Likewise.
62242         * doc/c-ctype.texi: Likewise.
62243         * doc/c-strcase.texi: Likewise.
62244         * doc/c-strcaseeq.texi: Likewise.
62245         * doc/c-strcasestr.texi: Likewise.
62246         * doc/c-strstr.texi: Likewise.
62247         * doc/c-strtod.texi: Likewise.
62248         * doc/c-strtold.texi: Likewise.
62249         * doc/ctime.texi: Likewise.
62250         * doc/error.texi: Likewise.
62251         * doc/fdl.texi: Likewise.
62252         * doc/gcd.texi: Likewise.
62253         * doc/getdate.texi: Likewise.
62254         * doc/gnulib-intro.texi: Likewise.
62255         * doc/gnulib-tool.texi: Likewise.
62256         * doc/gnulib.texi: Likewise.
62257         * doc/inet_ntoa.texi: Likewise.
62258         * doc/maintain.texi: Likewise.
62259         * doc/make-stds.texi: Likewise.
62260         * doc/quote.texi: Likewise.
62261         * doc/regexprops-generic.texi: Likewise.
62262         * doc/standards.texi: Likewise.
62263         * doc/verify.texi: Likewise.
62264         * doc/visibility.texi: Likewise.
62265         * doc/gnulib.texi (GNU Free Documentation License): Include
62266         fdl-1.3.texi instead of fdl.texi.
62267
62268 2008-11-04  Simon Josefsson  <simon@josefsson.org>
62269
62270         * doc/fdl-1.3.texi: New file, from
62271         <http://www.gnu.org/licenses/fdl-1.3.texi>.
62272         * modules/fdl-1.3: Add.
62273         * MODULES.html.sh: Add fdl-1.3.
62274
62275 2008-11-03  Bruno Haible  <bruno@clisp.org>
62276
62277         Make determination of absolute name of header file work with AIX xlc.
62278         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
62279         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
62280         preprocessing.
62281         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
62282         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
62283
62284 2008-11-03  Simon Josefsson  <simon@josefsson.org>
62285
62286         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
62287         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
62288         <ludo@gnu.org>.
62289
62290 2008-11-02  Bruno Haible  <bruno@clisp.org>
62291
62292         Mark 'strpbrk' obsolete.
62293         * modules/strpbrk (Status, Notice): New sections.
62294         * modules/strtok_r (Depends-on): Add strpbrk.
62295
62296 2008-11-02  Bruno Haible  <bruno@clisp.org>
62297
62298         Mark 'strdup' obsolete.
62299         * modules/strdup (Status, Notice): New sections.
62300         * modules/findprog (Depends-on): Add strdup.
62301         * modules/getaddrinfo (Depends-on): Likewise.
62302         * modules/localename (Depends-on): Likewise.
62303         * modules/relocatable-lib (Depends-on): Likewise.
62304         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
62305         * modules/relocatable-prog (Depends-on): Likewise.
62306         * modules/trim (Depends-on): Likewise.
62307         * modules/unictype/gen-ctype (Depends-on): Likewise.
62308         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
62309
62310 2008-11-02  Bruno Haible  <bruno@clisp.org>
62311
62312         Mark 'strcspn' obsolete.
62313         * modules/strcspn (Status, Notice): New sections.
62314
62315 2008-11-02  Bruno Haible  <bruno@clisp.org>
62316
62317         Mark 'rmdir' obsolete.
62318         * modules/rmdir (Status, Notice): New sections.
62319         * modules/clean-temp (Depends-on): Add rmdir.
62320         * modules/openat (Depends-on): Likewise.
62321
62322 2008-11-02  Bruno Haible  <bruno@clisp.org>
62323
62324         Mark 'raise' obsolete.
62325         * modules/raise (Status, Notice): New sections.
62326         (Include): Specify <signal.h>.
62327         * modules/stdio (Depends-on): Add raise.
62328         * modules/write (Depends-on): Likewise.
62329
62330 2008-11-02  Bruno Haible  <bruno@clisp.org>
62331
62332         Mark 'memset' obsolete.
62333         * modules/memset (Status, Notice): New sections.
62334
62335 2008-11-02  Bruno Haible  <bruno@clisp.org>
62336
62337         Mark 'memmove' obsolete.
62338         * modules/memmove (Status, Notice): New sections.
62339         * modules/argp (Depends-on): Add memmove.
62340         * modules/argz (Depends-on): Likewise.
62341         * modules/canonicalize (Depends-on): Likewise.
62342         * modules/canonicalize-lgpl (Depends-on): Likewise.
62343         * modules/fts (Depends-on): Likewise.
62344         * modules/getcwd (Depends-on): Likewise.
62345         * modules/human (Depends-on): Likewise.
62346         * modules/regex (Depends-on): Likewise.
62347         * modules/striconveh (Depends-on): Likewise.
62348         * modules/trim (Depends-on): Likewise.
62349         * modules/unistr/u8-move (Depends-on): Likewise.
62350         * modules/unistr/u16-move (Depends-on): Likewise.
62351         * modules/unistr/u32-move (Depends-on): Likewise.
62352
62353 2008-11-02  Bruno Haible  <bruno@clisp.org>
62354
62355         Mark 'memcpy' obsolete.
62356         * modules/memcpy (Status, Notice): New sections.
62357
62358 2008-11-02  Bruno Haible  <bruno@clisp.org>
62359
62360         Mark 'memcmp' obsolete.
62361         * modules/memcmp (Status, Notice): New sections.
62362         * modules/argmatch (Depends-on): Add memchr.
62363         * modules/backupfile (Depends-on): Likewise.
62364         * modules/c-strcasestr (Depends-on): Likewise.
62365         * modules/crypto/des (Depends-on): Likewise.
62366         * modules/csharpcomp (Depends-on): Likewise.
62367         * modules/fnmatch (Depends-on): Likewise.
62368         * modules/git-merge-changelog (Depends-on): Likewise.
62369         * modules/isnand (Depends-on): Likewise.
62370         * modules/isnand-nolibm (Depends-on): Likewise.
62371         * modules/isnanf (Depends-on): Likewise.
62372         * modules/isnanf-nolibm (Depends-on): Likewise.
62373         * modules/isnanl (Depends-on): Likewise.
62374         * modules/isnanl-nolibm (Depends-on): Likewise.
62375         * modules/mbchar (Depends-on): Likewise.
62376         * modules/memcoll (Depends-on): Likewise.
62377         * modules/quotearg (Depends-on): Likewise.
62378         * modules/regex (Depends-on): Likewise.
62379         * modules/relocatable-prog (Depends-on): Likewise.
62380         * modules/same (Depends-on): Likewise.
62381         * modules/signbit (Depends-on): Likewise.
62382         * modules/strcasestr-simple (Depends-on): Likewise.
62383         * modules/unictype/gen-ctype (Depends-on): Likewise.
62384         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
62385         * modules/uniname/uniname (Depends-on): Likewise.
62386         * modules/unistr/u8-cmp (Depends-on): Likewise.
62387
62388 2008-11-02  Bruno Haible  <bruno@clisp.org>
62389
62390         Mark 'memchr' obsolete.
62391         * modules/memchr (Status, Notice): New sections.
62392         * modules/argp (Depends-on): Add memchr.
62393         * modules/base64 (Depends-on): Likewise.
62394         * modules/c-strcasestr (Depends-on): Likewise.
62395         * modules/chdir-long (Depends-on): Likewise.
62396         * modules/fnmatch (Depends-on): Likewise.
62397         * modules/getsubopt (Depends-on): Likewise.
62398         * modules/git-merge-changelog (Depends-on): Likewise.
62399         * modules/glob (Depends-on): Likewise.
62400         * modules/strcasestr-simple (Depends-on): Likewise.
62401         * modules/strnlen (Depends-on): Likewise.
62402
62403 2008-11-02  Bruno Haible  <bruno@clisp.org>
62404
62405         Mark 'atexit' obsolete.
62406         * modules/atexit (Status, Notice): New sections.
62407         * modules/chdir-long (Depends-on): Add atexit.
62408         * modules/wait-process (Depends-on): Likewise.
62409
62410 2008-11-02  Bruno Haible  <bruno@clisp.org>
62411
62412         * gnulib-tool: New option --with-obsolete.
62413         (func_usage): Document it.
62414         (func_modules_transitive_closure): Drop obsolete dependencies if
62415         incobsolete is not true.
62416         (func_import): Read and save the incobsolete variable to the cache.
62417
62418 2008-11-02  Bruno Haible  <bruno@clisp.org>
62419
62420         * modules/TEMPLATE-EXTENDED: New field 'Status'.
62421         * gnulib-tool: New option --extract-status.
62422         (func_usage): Document it.
62423         (sed_extract_prog): Recognize it.
62424         (func_get_status): New function.
62425
62426 2008-10-30  Simon Josefsson  <simon@josefsson.org>
62427
62428         * modules/sockets (License): Change from LGPL to LGPLv2+.
62429
62430 2008-10-28  Simon Josefsson  <simon@josefsson.org>
62431
62432         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
62433
62434 2008-10-28  Simon Josefsson  <simon@josefsson.org>
62435
62436         * MODULES.html.sh (Support for systems lacking POSIX:2001):
62437         Mention times and sys_times.
62438         * modules/sys_times, modules/sys_times-tests: New modules.
62439         * modules/times, modules/times-tests: Likewise
62440         * m4/sys_times_h.m4: New file.
62441         * lib/sys_times.in.h: Likewise
62442         * lib/times.c: Likewise.
62443         * tests/test-sys_times.c: Likewise.
62444         * tests/test-times.c: Likewise.
62445         * doc/posix-headers/sys_times.texi: Update.
62446         * doc/posix-functions/times.texi: Update.
62447
62448 2008-10-28  Jim Meyering  <meyering@redhat.com>
62449
62450         * modules/tempname (Depends-on): Add lstat.
62451
62452         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
62453
62454 2008-10-28  Simon Josefsson  <simon@josefsson.org>
62455
62456         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
62457         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
62458         using idiom used elsewhere in gnulib.
62459
62460 2008-10-27  Jim Meyering  <meyering@redhat.com>
62461
62462         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
62463
62464 2008-10-27  Simon Josefsson  <simon@josefsson.org>
62465
62466         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
62467         TESTS_ENVIRONMENT, for shell scripts that needs to call built
62468         programs.
62469         * tests/test-argp-2.sh: Use $EXEEXT when needed.
62470
62471 2008-10-27  Simon Josefsson  <simon@josefsson.org>
62472
62473         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
62474
62475 2008-10-27  Bruno Haible  <bruno@clisp.org>
62476
62477         * tests/test-lstat.c: Include <stdio.h>.
62478
62479 2008-10-27  Simon Josefsson  <simon@josefsson.org>
62480
62481         * modules/lstat-tests: New module.
62482         * tests/test-lstat.c: New file.
62483
62484 2008-10-26  Jim Meyering  <meyering@redhat.com>
62485
62486         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
62487
62488 2008-10-26  Simon Josefsson  <simon@josefsson.org>
62489             Bruno Haible  <bruno@clisp.org>
62490
62491         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
62492         * modules/configmake (Include): Add a note that the include must come
62493         after all system headers.
62494         * lib/javaversion.c: Include configmake.h after all other includes.
62495
62496 2008-10-26  Bruno Haible  <bruno@clisp.org>
62497
62498         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
62499         HAVE_STRUCT_RANDOM_DATA to 1.
62500         (gl_STDLIB_H): Simplify.
62501
62502 2008-10-26  Simon Josefsson  <simon@josefsson.org>
62503
62504         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
62505         substitute HAVE_STRUCT_RANDOM_DATA.
62506         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
62507         random_data.
62508         * modules/stdlib (Makefile.am): Substitute
62509         HAVE_STRUCT_RANDOM_DATA.
62510
62511 2008-10-26  Simon Josefsson  <simon@josefsson.org>
62512
62513         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
62514         * doc/gnulib-intro.texi (Copyright): Likewise.
62515
62516 2008-10-26  Simon Josefsson  <simon@josefsson.org>
62517
62518         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
62519         findings.
62520
62521 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
62522             Bruno Haible  <bruno@clisp.org>
62523
62524         * lib/unistd.in.h: Include <winsock2.h>.
62525         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
62526         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
62527         Provide dummy declarations.
62528         (gethostname): Override.
62529         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
62530         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
62531         gl_PREREQ_SYS_H_WINSOCK2.
62532         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
62533         * doc/posix-functions/gethostname.texi: More details.
62534
62535 2008-10-25  Bruno Haible  <bruno@clisp.org>
62536
62537         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
62538         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
62539         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
62540
62541         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
62542         here ...
62543         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
62544         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
62545         gl_UNISTD_H_DEFAULTS.
62546
62547 2008-10-25  Eric Blake  <ebb9@byu.net>
62548
62549         signbit: avoid spurious compiler failure
62550         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
62551         declarations inside function.
62552
62553 2008-10-24  Simon Josefsson  <simon@josefsson.org>
62554             Bruno Haible  <bruno@clisp.org>
62555
62556         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
62557         * modules/random_r (Depends-on): Add stdint.
62558
62559 2008-10-24  Bruno Haible  <bruno@clisp.org>
62560
62561         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
62562         Eggert.
62563         * modules/strerror (License): Likewise.
62564
62565 2008-10-24  Jim Meyering  <meyering@redhat.com>
62566
62567         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
62568         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
62569
62570 2008-10-24  Eric Blake  <ebb9@byu.net>
62571
62572         getgroups: fix compilation when getgroups is available
62573         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
62574         but with <config.h> override of getgroups disabled.
62575
62576 2008-10-24  Simon Josefsson  <simon@josefsson.org>
62577
62578         * doc/gnulib.texi (Header files): Add note about C++ problems.
62579         Explained by Bruno Haible <bruno@clisp.org>.
62580
62581 2008-10-23  Bruno Haible  <bruno@clisp.org>
62582
62583         Define a dummy SA_NODEFER macro on Interix.
62584         * lib/signal.in.h (SA_NODEFER): Define fallback.
62585         Reported by Aleksey Cheusov <cheusov@tut.by> via
62586         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
62587
62588 2008-10-23  Bruno Haible  <bruno@clisp.org>
62589
62590         * modules/freadahead (License): Change to LGPLv2+.
62591         Suggested by Simon Josefsson.
62592
62593 2008-10-23  Jim Meyering  <meyering@redhat.com>
62594
62595         random_r: new module
62596         * modules/random_r: New file.
62597         * m4/random_r.m4: New file.
62598         * lib/random_r.c: New file, from glibc.
62599         * modules/random_r-tests: New file.
62600         * tests/test-random_r.c: New file.
62601         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
62602          Declare.
62603         (RAND_MAX): Define.
62604         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
62605         * modules/stdlib: Substitute them, too.
62606         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
62607         * doc/glibc-functions/initstate_r.texi: Mention the new module.
62608         * doc/glibc-functions/random_r.texi: Likewise.
62609         * doc/glibc-functions/setstate_r.texi: Likewise.
62610         * doc/glibc-functions/srandom_r.texi: Likewise.
62611         * config/srclist.txt: Mention it.
62612
62613 2008-10-23  David Lutterkort  <lutter@redhat.com>
62614
62615         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
62616         link requirement
62617
62618 2008-10-23  Jim Meyering  <meyering@redhat.com>
62619
62620         selinux-h: mark parameters of stub functions as intentionally unused
62621         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
62622         * lib/se-context.in.h: Likewise.
62623
62624 2008-10-22  Simon Josefsson  <simon@josefsson.org>
62625
62626         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
62627
62628 2008-10-22  Simon Josefsson  <simon@josefsson.org>
62629
62630         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
62631
62632 2008-10-22  Eric Blake  <ebb9@byu.net>
62633
62634         glthread/thread: avoid compiler warning
62635         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
62636         Add unreachable abort to silence compiler.
62637
62638 2008-10-22  Eric Blake  <ebb9@byu.net>
62639
62640         netdb: also supply struct addrinfo for cygwin 1.5.x
62641         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
62642         older cygwin.
62643         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
62644         cygwin.
62645         * doc/posix-headers/netdb.texi (netdb.h): Document this.
62646
62647 2008-10-22  Bruno Haible  <bruno@clisp.org>
62648
62649         * users.txt: Update entry about pspp.
62650
62651 2008-10-21  Bruno Haible  <bruno@clisp.org>
62652
62653         Simplification.
62654         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
62655         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
62656
62657         Simplification.
62658         * lib/ioctl.c (ioctl): Don't undefine.
62659         * lib/socket.c (socket): Don't undefine.
62660
62661         Remove unused module indicator macros.
62662         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
62663         GNULIB_$1 as a C macro.
62664
62665         * doc/posix-functions/close.texi: Undo last change.
62666         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
62667         Windows platforms.
62668
62669 2008-10-21  Bruno Haible  <bruno@clisp.org>
62670
62671         Add gethostname() declaration to <unistd.h>.
62672         * lib/unistd.in.h (gethostname): New declaration.
62673         * lib/gethostname.c: Include <unistd.h>.
62674         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
62675         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
62676         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
62677         and HAVE_GETHOSTNAME.
62678         * modules/gethostname (Depends-on): Add unistd.
62679         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62680         (Include): Specify <unistd.h>.
62681         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
62682         HAVE_GETHOSTNAME.
62683         * tests/test-gethostname.c: Include <unistd.h> first.
62684
62685 2008-10-21  Bruno Haible  <bruno@clisp.org>
62686
62687         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
62688         * modules/select-tests (Depends-on): Likewise.
62689         Reported by Simon Josefsson.
62690
62691 2008-10-21  Simon Josefsson  <simon@josefsson.org>
62692
62693         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
62694         * lib/accept.c: New file, based on winsock.c.
62695         * lib/bind.c: New file, based on winsock.c.
62696         * lib/connect.c: New file, based on winsock.c.
62697         * lib/getpeername.c: New file, based on winsock.c.
62698         * lib/getsockname.c: New file, based on winsock.c.
62699         * lib/getsockopt.c: New file, based on winsock.c.
62700         * lib/ioctl.c: New file, based on winsock.c.
62701         * lib/listen.c: New file, based on winsock.c.
62702         * lib/recv.c: New file, based on winsock.c.
62703         * lib/recvfrom.c: New file, based on winsock.c.
62704         * lib/send.c: New file, based on winsock.c.
62705         * lib/sendto.c: New file, based on winsock.c.
62706         * lib/setsockopt.c: New file, based on winsock.c.
62707         * lib/shutdown.c: New file, based on winsock.c.
62708         * lib/socket.c: New file, based on winsock.c.
62709         * lib/w32sock.h: New file, based on winsock.c.
62710         * lib/winsock.c: Remove file.
62711         * modules/accept: Likewise.
62712         * modules/bind: Likewise.
62713         * modules/connect: Likewise.
62714         * modules/getpeername: Likewise.
62715         * modules/getsockname: Likewise.
62716         * modules/getsockopt: Likewise.
62717         * modules/ioctl: Likewise.
62718         * modules/listen: Likewise.
62719         * modules/recv: Likewise.
62720         * modules/recvfrom: Likewise.
62721         * modules/send: Likewise.
62722         * modules/sendto: Likewise.
62723         * modules/setsockopt: Likewise.
62724         * modules/shutdown: Likewise.
62725         * modules/socket: Use socket.c instead of winsock.c.
62726         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
62727         * doc/posix-functions/accept.texi: Doc fix.
62728         * doc/posix-functions/bind.texi: Doc fix.
62729         * doc/posix-functions/close.texi: Doc fix.
62730         * doc/posix-functions/connect.texi: Doc fix.
62731         * doc/posix-functions/getpeername.texi: Doc fix.
62732         * doc/posix-functions/getsockname.texi: Doc fix.
62733         * doc/posix-functions/getsockopt.texi: Doc fix.
62734         * doc/posix-functions/ioctl.texi: Doc fix.
62735         * doc/posix-functions/listen.texi: Doc fix.
62736         * doc/posix-functions/recv.texi: Doc fix.
62737         * doc/posix-functions/recvfrom.texi: Doc fix.
62738         * doc/posix-functions/send.texi: Doc fix.
62739         * doc/posix-functions/sendto.texi: Doc fix.
62740         * doc/posix-functions/setsockopt.texi: Doc fix.
62741         * doc/posix-functions/shutdown.texi: Doc fix.
62742         * doc/posix-functions/socket.texi: Doc fix.
62743
62744 2008-10-20  Bruno Haible  <bruno@clisp.org>
62745
62746         Take into account the role of SIGABRT_COMPAT on Windows 2008.
62747         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
62748         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
62749         as an alias for SIGABRT.
62750         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
62751         (sigaction): Map it to SIGABRT.
62752         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
62753
62754 2008-10-20  Bruno Haible  <bruno@clisp.org>
62755
62756         * lib/fts.c: Don't include lstat.h.
62757         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
62758
62759         Move the lstat() declaration to <sys/stat.h>.
62760         * lib/lstat.h: Remove file.
62761         * lib/sys_stat.in.h: Add special invocation convention.
62762         (lstat): New declaration.
62763         * lib/lstat.c (orig_lstat): New function.
62764         (rpl_lstat): Use orig_lstat instead of lstat.
62765         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
62766         AC_C_INLINE. Set REPLACE_LSTAT.
62767         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
62768         and REPLACE_LSTAT.
62769         * modules/lstat (Files): Remove lib/lstat.h.
62770         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
62771         (Include): Specify <sys/stat.h> instead of lstat.h.
62772         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
62773         REPLACE_LSTAT.
62774         * NEWS: Mention the change.
62775
62776 2008-10-20  Bruno Haible  <bruno@clisp.org>
62777
62778         * modules/posix_spawn-tests: New file.
62779         * tests/test-posix_spawn3.c: New file.
62780
62781 2008-10-20  Bruno Haible  <bruno@clisp.org>
62782
62783         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
62784         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
62785         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
62786         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
62787         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
62788
62789 2008-10-20  Bruno Haible  <bruno@clisp.org>
62790
62791         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
62792         of posix_spawn on AIX 5.3.
62793
62794 2008-10-20  Bruno Haible  <bruno@clisp.org>
62795
62796         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
62797
62798 2008-10-20  Bruno Haible  <bruno@clisp.org>
62799
62800         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
62801         of AC_LANG_PROGRAM.
62802
62803 2008-10-20  Simon Josefsson  <simon@josefsson.org>
62804
62805         * lib/netdb.in.h: Don't define GNU specific constants until they
62806         are supported or needed.  Reported by Bruno Haible
62807         <bruno@clisp.org>.
62808
62809 2008-10-20  Simon Josefsson  <simon@josefsson.org>
62810
62811         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
62812
62813 2008-10-20  Simon Josefsson  <simon@josefsson.org>
62814
62815         * lib/getaddrinfo.h: Remove file.
62816         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
62817         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
62818         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
62819         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
62820         * modules/netdb: Substitute GNULIB_GETADDRINFO.
62821         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
62822         * tests/test-getaddrinfo.c: Likewise.
62823         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
62824         * NEWS: Mention change.
62825
62826 2008-10-19  Bruno Haible  <bruno@clisp.org>
62827
62828         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
62829
62830 2008-10-19  Bruno Haible  <bruno@clisp.org>
62831
62832         * lib/wait-process.c: Include simply <sys/wait.h>.
62833         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
62834         WIFSTOPPED): Remove fallback definitions.
62835         * modules/wait-process (Depends-on): Add sys_wait.
62836
62837         New module 'sys_wait'.
62838         * modules/sys_wait: New file.
62839         * lib/sys_wait.in.h: New file, partially copied from
62840         lib/wait-process.c.
62841         * m4/sys_wait_h.m4: New file.
62842         * doc/posix-headers/sys_wait.texi: Mention the new module.
62843
62844 2008-10-19  Bruno Haible  <bruno@clisp.org>
62845
62846         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
62847
62848 2008-10-19  Bruno Haible  <bruno@clisp.org>
62849
62850         Assume that waitpid() fills an 'int' status, not a 'union wait'.
62851         * lib/wait-process.c (WAIT_T): Remove type.
62852         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
62853         (wait_subprocess): Update.
62854
62855 2008-10-19  Bruno Haible  <bruno@clisp.org>
62856
62857         New module 'atoll'.
62858         * modules/atoll: New file.
62859         * lib/stdlib.in.h (atoll): New declaration.
62860         * lib/atoll.c: New file, from glibc with modifications.
62861         * m4/atoll.m4: New file.
62862         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
62863         HAVE_ATOLL.
62864         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
62865         * doc/posix-functions/atoll.texi: Mention the new module.
62866
62867 2008-10-19  Bruno Haible  <bruno@clisp.org>
62868
62869         Add strtoull() declaration to <stdlib.h>.
62870         * lib/stdlib.in.h (strtoull): New declaration.
62871         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
62872         Set HAVE_STRTOULL.
62873         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
62874         HAVE_STRTOULL.
62875         * modules/strtoull (Depends-on): Add stdlib.
62876         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62877         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
62878         HAVE_STRTOULL.
62879
62880 2008-10-19  Bruno Haible  <bruno@clisp.org>
62881
62882         Add strtoll() declaration to <stdlib.h>.
62883         * lib/stdlib.in.h (strtoll): New declaration.
62884         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
62885         Set HAVE_STRTOLL.
62886         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
62887         HAVE_STRTOLL.
62888         * modules/strtoll (Depends-on): Add stdlib.
62889         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62890         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
62891
62892 2008-10-19  Bruno Haible  <bruno@clisp.org>
62893
62894         * modules/bcopy (Depends-on): Add strings.
62895         (Include): Specify <strings.h>.
62896
62897 2008-10-19  Bruno Haible  <bruno@clisp.org>
62898
62899         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
62900
62901 2008-10-19  Bruno Haible  <bruno@clisp.org>
62902
62903         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
62904         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
62905         mingw.
62906
62907 2008-10-19  Bruno Haible  <bruno@clisp.org>
62908
62909         * lib/atanl.c: Don't include isnanl.h.
62910         * lib/cosl.c: Likewise.
62911         * lib/ldexpl.c: Likewise.
62912         * lib/logl.c: Likewise.
62913         * lib/sinl.c: Likewise.
62914         * lib/sqrtl.c: Likewise.
62915         * lib/tanl.c: Likewise.
62916
62917         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
62918         * lib/isnanf.h: Remove file.
62919         * lib/isnand.h: Remove file.
62920         * lib/isnanl.h: Remove file.
62921         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
62922         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
62923         macros.
62924         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
62925         HAVE_ISNANF, don't define it as a C macro.
62926         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
62927         HAVE_ISNAND, don't define it as a C macro.
62928         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
62929         HAVE_ISNANL, don't define it as a C macro.
62930         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
62931         HAVE_ISNAN[FDL].
62932         * modules/isnanf (Files): Remove lib/isnanf.h.
62933         (Depends-on): Add math.
62934         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62935         (Include): Specify <math.h> instead of isnanf.h.
62936         * modules/isnand (Files): Remove lib/isnand.h.
62937         (Depends-on): Add math.
62938         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62939         (Include): Specify <math.h> instead of isnand.h.
62940         * modules/isnanl (Files): Remove lib/isnanl.h.
62941         (Depends-on): Add math.
62942         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62943         (Include): Specify <math.h> instead of isnanl.h.
62944         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
62945         HAVE_ISNAN[FDL].
62946         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
62947         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
62948         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
62949         * NEWS: Mention the change.
62950
62951 2008-10-18  Bruno Haible  <bruno@clisp.org>
62952
62953         Add getusershell(), setusershell(), endusershell() declarations to
62954         <unistd.h>.
62955         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
62956         declarations.
62957         * lib/getusershell.c: Include unistd.h.
62958         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
62959         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
62960         HAVE_GETUSERSHELL.
62961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
62962         and HAVE_GETUSERSHELL.
62963         * modules/getusershell (Depends-on): Add unistd, extensions.
62964         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62965         (Include): Specify <unistd.h>.
62966         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
62967         HAVE_GETUSERSHELL.
62968
62969 2008-10-18  Bruno Haible  <bruno@clisp.org>
62970
62971         Add a getloadavg() declaration to <stdlib.h>.
62972         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
62973         getloadavg declaration.
62974         (getloadavg): New declaration.
62975         * lib/getloadavg.c: Include <stdlib.h> first.
62976         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
62977         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
62978         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
62979         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
62980         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
62981         * modules/getloadavg (Depends-on): Add stdlib, extensions.
62982         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62983         (Include): Specify <stdlib.h>.
62984         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
62985         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
62986
62987 2008-10-18  Bruno Haible  <bruno@clisp.org>
62988
62989         * lib/dirchownmod.c: Don't include lchmod.h.
62990
62991         Move the lchmod() declaration to <sys/stat.h>.
62992         * lib/lchmod.h: Remove file.
62993         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
62994         (lchmod): New declaration, moved here from lib/lchown.h.
62995         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
62996         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
62997         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
62998         and HAVE_LCHMOD.
62999         * modules/lchmod (Files): Remove lib/lchmod.h.
63000         (Depends-on): Add sys_stat, extensions.
63001         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
63002         (Include): Specify <sys/stat.h> instead of lchmod.h.
63003         * modules/sys_stat (Depends-on): Add link-warning.
63004         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
63005         definition of GL_LINK_WARNING.
63006         * NEWS: Mention the change.
63007
63008 2008-10-18  Bruno Haible  <bruno@clisp.org>
63009
63010         * lib/fchdir.c: Don't include dirfd.h.
63011         * lib/fts.c: Likewise.
63012         * lib/getcwd.c: Likewise.
63013         * lib/glob.c: Likewise.
63014
63015         Move the dirfd() declaration to <dirent.h>.
63016         * lib/dirfd.h: Remove file.
63017         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
63018         (dirfd): New declaration.
63019         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
63020         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
63021         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
63022         HAVE_DECL_DIRFD.
63023         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
63024         HAVE_DECL_DIRFD.
63025         * modules/dirfd (Files): Remove lib/dirfd.h.
63026         (Depends-on): Add dirent, extensions.
63027         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
63028         (Include): Specify <dirent.h> instead of dirfd.h.
63029         * modules/dirent (Depends-on): Add link-warning.
63030         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
63031         definition of GL_LINK_WARNING.
63032         * NEWS: Mention the change.
63033
63034 2008-10-18  Bruno Haible  <bruno@clisp.org>
63035
63036         Move the euidaccess() declaration to <unistd.h>.
63037         * lib/euidaccess.h: Remove file.
63038         * lib/unistd.in.h (euidaccess): New declaration.
63039         * lib/euidaccess.c: Don't include euidaccess.h.
63040         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
63041         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
63042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
63043         and HAVE_EUIDACCESS.
63044         * modules/euidaccess (Files): Remove lib/euidaccess.h.
63045         (Depends-on): Add unistd.
63046         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63047         (Include): Specify <unistd.h> instead of euidaccess.h.
63048         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
63049         HAVE_EUIDACCESS.
63050         * NEWS: Mention the change.
63051
63052 2008-10-18  Bruno Haible  <bruno@clisp.org>
63053
63054         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
63055
63056         Move the getdomainname() declaration to <unistd.h>.
63057         * lib/getdomainname.h: Remove file.
63058         * lib/unistd.in.h (getdomainname): New declaration.
63059         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
63060         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
63061         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
63062         HAVE_GETDOMAINNAME.
63063         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63064         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
63065         * modules/getdomainname (Files): Remove lib/getdomainname.h.
63066         (Depends-on): Add unistd, extensions.
63067         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63068         (Includes): Specify <unistd.h> instead of getdomainname.h.
63069         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
63070         HAVE_GETDOMAINNAME.
63071         * NEWS: Mention the change.
63072
63073 2008-10-18  Bruno Haible  <bruno@clisp.org>
63074
63075         * modules/dirent: New file.
63076         * m4/dirent_h.m4: New file.
63077         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
63078         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
63079         * modules/fchdir (Files): Remove lib/dirent.in.h.
63080         (Depends-on): Add dirent.
63081         (Makefile.am): Move rules to modules/dirent.
63082         * doc/posix-headers/dirent.texi: Mention the new module.
63083
63084 2008-10-18  Bruno Haible  <bruno@clisp.org>
63085
63086         Avoid -Wunused-parameter warnings in public gnulib header files.
63087         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
63088         macro.
63089         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
63090
63091 2008-10-18  Bruno Haible  <bruno@clisp.org>
63092
63093         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
63094         * doc/glibc-functions/error.texi: Mention the module 'error'.
63095         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
63096         * doc/glibc-functions/getdomainname.texi: Mention the module
63097         'getdomainname'.
63098         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
63099         * doc/glibc-functions/getpagesize.texi: Mention the module
63100         'getpagesize'.
63101         * doc/glibc-functions/getusershell.texi: Mention the module
63102         'getusershell'.
63103         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
63104         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
63105         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
63106         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
63107         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
63108         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
63109         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
63110         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
63111         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
63112         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
63113         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
63114         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
63115         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
63116         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
63117
63118 2008-10-17  Bruno Haible  <bruno@clisp.org>
63119
63120         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
63121         HP-UX and IRIX, use -0.0L.
63122         * tests/test-ceill.c (minus_zero): Likewise.
63123         * tests/test-floorl.c (minus_zero): Likewise.
63124         * tests/test-frexpl.c (minus_zero): Likewise.
63125         * tests/test-isnan.c (minus_zerol): Likewise.
63126         * tests/test-isnanl.h (minus_zero): Likewise.
63127         * tests/test-ldexpl.c (minus_zero): Likewise.
63128         * tests/test-roundl.c (minus_zero): Likewise.
63129         * tests/test-signbit.c (minus_zerol): Likewise.
63130         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
63131         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
63132         * tests/test-truncl.c (minus_zero): Likewise.
63133         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
63134         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
63135         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
63136         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
63137
63138 2008-10-17  Bruno Haible  <bruno@clisp.org>
63139
63140         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
63141         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
63142         that it gets activated only for gcc >= 3.0.
63143         * lib/dirent.in.h: Likewise.
63144         * lib/errno.in.h: Likewise.
63145         * lib/fcntl.in.h: Likewise.
63146         * lib/float.in.h: Likewise.
63147         * lib/iconv.in.h: Likewise.
63148         * lib/inttypes.in.h: Likewise.
63149         * lib/locale.in.h: Likewise.
63150         * lib/math.in.h: Likewise.
63151         * lib/netdb.in.h: Likewise.
63152         * lib/netinet_in.in.h: Likewise.
63153         * lib/search.in.h: Likewise.
63154         * lib/signal.in.h: Likewise.
63155         * lib/spawn.in.h: Likewise.
63156         * lib/stdarg.in.h: Likewise.
63157         * lib/stdint.in.h: Likewise.
63158         * lib/stdio.in.h: Likewise.
63159         * lib/stdlib.in.h: Likewise.
63160         * lib/string.in.h: Likewise.
63161         * lib/strings.in.h: Likewise.
63162         * lib/sys_file.in.h: Likewise.
63163         * lib/sys_ioctl.in.h: Likewise.
63164         * lib/sys_select.in.h: Likewise.
63165         * lib/sys_socket.in.h: Likewise.
63166         * lib/sys_stat.in.h: Likewise.
63167         * lib/sys_time.in.h: Likewise.
63168         * lib/sysexits.in.h: Likewise.
63169         * lib/time.in.h: Likewise.
63170         * lib/unistd.in.h: Likewise.
63171         * lib/wchar.in.h: Likewise.
63172         * lib/wctype.in.h: Likewise.
63173         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63174
63175 2008-10-17  Jim Meyering  <meyering@redhat.com>
63176
63177         ignore-value: don't depend on inline module
63178         * modules/ignore-value (Depends-on): Remove 'inline'.
63179         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
63180         Suggestion from Bruno Haible.
63181
63182 2008-10-17  Bruno Haible  <bruno@clisp.org>
63183
63184         New implementation of condition variables for Win32.
63185         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
63186         (gl_linked_waitqueue_t): New type.
63187         (gl_cond_t): Use it.
63188         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
63189         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
63190         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
63191         (glthread_cond_init_func, glthread_cond_wait_func,
63192         glthread_cond_timedwait_func, glthread_cond_signal_func,
63193         glthread_cond_broadcast_func, glthread_cond_destroy_func):
63194         Reimplemented on the basis of gl_linked_waitqueue_t.
63195         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
63196         gl_waitqueue_t.
63197         (gl_rwlock_t): Update.
63198         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
63199
63200 2008-10-17  Simon Josefsson  <simon@josefsson.org>
63201
63202         * modules/recvfrom (Depends-on): Add dependency on getpeername.
63203         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
63204
63205 2008-10-17  Jim Meyering  <meyering@redhat.com>
63206
63207         ignore-value: new module
63208         * modules/ignore-value: New file.
63209         * lib/ignore-value.h: New file.
63210         * MODULES.html.sh (Compiler warning management): New section,
63211         just for this module.  More to come.
63212
63213 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
63214
63215         open-safer.c: avoid 'signed and unsigned in conditional...' warning
63216         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
63217         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
63218
63219 2008-10-16  Jim Meyering  <meyering@redhat.com>
63220
63221         openat-die.c: avoid 'no previous prototype' warning
63222         * lib/openat-die.c: Include "openat.h".
63223         Reported by Reuben Thomas <rrt@sc3d.org>.
63224
63225 2008-10-16  Simon Josefsson  <simon@josefsson.org>
63226
63227         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
63228         * lib/netdb.in.h: Fix typo.
63229         Reported by Bruno Haible  <bruno@clisp.org>
63230
63231         * lib/netdb.in.h: Include sys/socket.h for platforms without
63232         netdb.h, to get structures like hostent on MinGW.
63233         * modules/netdb (Depends-on): Add sys_socket.
63234
63235 2008-10-15  Simon Josefsson  <simon@josefsson.org>
63236
63237         * modules/netdb, modules/netdb-tests: New file.
63238         * m4/netdb_h.m4: New file.
63239         * lib/netdb.in.h: Add, currently just an empty file pending
63240         definitions.
63241         * tests/test-netdb.c: New file.
63242         * doc/posix-headers/netdb.texi: Mention that we replace it if
63243         needed.
63244         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63245         netdb.
63246
63247 2008-10-15  Simon Josefsson  <simon@josefsson.org>
63248
63249         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
63250         with code.
63251
63252 2008-10-13  Bruno Haible  <bruno@clisp.org>
63253
63254         * lib/glthread/cond.c (glthread_cond_wait_func,
63255         glthread_cond_timedwait_func): Add a comment.
63256
63257 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63258
63259         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
63260         * tests/test-select.c: Likewise,
63261
63262 2008-10-13  Bruno Haible  <bruno@clisp.org>
63263
63264         * lib/glthread/cond.c (glthread_cond_wait_func,
63265         glthread_cond_timedwait_func): Fix variable name.
63266         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
63267
63268 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
63269
63270         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
63271         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
63272         struct sockaddr.sa_len.
63273         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
63274
63275 2008-10-13  Simon Josefsson  <simon@josefsson.org>
63276
63277         * build-aux/pmccabe2html: Add css and css_url parameters.
63278
63279 2008-10-12  Bruno Haible  <bruno@clisp.org>
63280
63281         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
63282         calling aclx_get.
63283         Reported by Rainer Tammer <tammer@tammer.net>.
63284
63285 2008-10-12  Bruno Haible  <bruno@clisp.org>
63286
63287         Use msvcrt aware primitives for creation/termination of Win32 threads.
63288         * lib/glthread/thread.c: Include <process.h>.
63289         (glthread_create_func): Use _beginthreadex instead of CreateThread.
63290         (wrapper_func): Update signature.
63291         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
63292
63293 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63294             Bruno Haible  <bruno@clisp.org>
63295
63296         Provide a Win32 implementation of the 'cond' module.
63297         * lib/glthread/cond.h [USE_WIN32]: New implementation.
63298         * lib/glthread/cond.c (glthread_cond_init_func,
63299         glthread_cond_wait_func, glthread_cond_timedwait_func,
63300         glthread_cond_signal_func, glthread_cond_broadcast_func,
63301         glthread_cond_destroy_func) [USE_WIN32]: New functions.
63302         * modules/cond (Dependencies): Add gettimeofday.
63303
63304 2008-10-11  Bruno Haible  <bruno@clisp.org>
63305
63306         Make sleep work on older versions of mingw.
63307         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
63308         only whether it exists.
63309         * doc/posix-functions/sleep.texi: Mention the problem with older
63310         versions of mingw.
63311
63312 2008-10-11  Bruno Haible  <bruno@clisp.org>
63313
63314         New module 'shutdown'.
63315         * modules/shutdown: New file.
63316         * lib/sys_socket.in.h (shutdown): New declaration.
63317         * lib/winsock.c (shutdown): New function.
63318         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
63319         GNULIB_SHUTDOWN.
63320         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
63321         * doc/posix-functions/shutdown.texi: Document the new module.
63322
63323 2008-10-11  Jim Meyering  <meyering@redhat.com>
63324
63325         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
63326
63327 2008-10-11  Bruno Haible  <bruno@clisp.org>
63328
63329         New module 'fclose'.
63330         * modules/fclose: New file.
63331         * lib/stdio.in.h (fclose): New declaration.
63332         * lib/fclose.c: New file.
63333         * m4/fclose.m4: New file.
63334         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
63335         REPLACE_FCLOSE.
63336         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
63337         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
63338         REPLACE_FCLOSE.
63339         * modules/close (Depends-on): fclose.
63340         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
63341
63342 2008-10-11  Bruno Haible  <bruno@clisp.org>
63343
63344         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
63345         set errno and don't call _close.
63346
63347 2008-10-10  Bruno Haible  <bruno@clisp.org>
63348
63349         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
63350         ACL, not afterwards. Fixes test failure on Cygwin.
63351
63352 2008-10-09  Ben Pfaff  <blp@gnu.org>
63353
63354         * build-aux/announce-gen: Fix gnulib version related part of usage
63355         message.  Die with a useful error message if no tarballs are
63356         found.
63357
63358 2008-10-10  Jim Meyering  <meyering@redhat.com>
63359
63360         bootstrap: use git's --depth=N option only if it's supported
63361         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
63362         recognize the --depth option.  Reported by Pádraig Brady.
63363
63364 2008-10-09  Bruno Haible  <bruno@clisp.org>
63365
63366         New module 'ioctl'.
63367         * modules/ioctl: New file.
63368         * lib/sys_socket.in.h (ioctl): Remove declaration.
63369         * lib/winsock.c: Include <sys/ioctl.h>.
63370         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
63371         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
63372         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
63373         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
63374         * doc/posix-functions/ioctl.texi: Mention the new module.
63375
63376 2008-10-09  Bruno Haible  <bruno@clisp.org>
63377
63378         New module 'sys_ioctl'.
63379         * lib/sys_ioctl.in.h: New file.
63380         * m4/sys_ioctl_h.m4: New file.
63381         * modules/sys_ioctl: New file.
63382         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
63383
63384 2008-10-09  Bruno Haible  <bruno@clisp.org>
63385
63386         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
63387         * lib/winsock.c: Include <stdarg.h>.
63388         (rpl_ioctl): Change to second argument 'int' and then varargs.
63389
63390 2008-10-09  Bruno Haible  <bruno@clisp.org>
63391
63392         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
63393         when the sys_socket module is present and the system has <winsock2.h>.
63394
63395 2008-10-09  Bruno Haible  <bruno@clisp.org>
63396
63397         * doc/posix-functions/close.texi: Mention module 'close' instead of
63398         module 'sys_socket'.
63399
63400 2008-10-09  Bruno Haible  <bruno@clisp.org>
63401
63402         * doc/glibc-headers/sys_ioctl.texi: New file.
63403         * doc/gnulib.texi: Include it.
63404
63405 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
63406             Bruno Haible  <bruno@clisp.org>
63407
63408         Combine the two replacements of 'close'.
63409         * lib/sys_socket.in.h (close): Define to a reminder to include
63410         <unistd.h>.
63411         (_gl_close_fd_maybe_socket): New declaration.
63412         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
63413         * lib/winsock.c (close): Remove undefinition.
63414         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
63415         needed for the gnulib module 'close'.
63416         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
63417         define to an error symbol or to a warning, if suitable.
63418         * lib/close.c: Include <sys/socket.h>.
63419         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
63420         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
63421         UNISTD_H_HAVE_WINSOCK2_H.
63422         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
63423         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63424         UNISTD_H_HAVE_WINSOCK2_H.
63425         * modules/sys_socket (Files): Add m4/unistd_h.m4.
63426         (configure.ac): Set a module indicator.
63427         (Makefile.am): Substitute GNULIB_CLOSE.
63428         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
63429         * modules/poll-tests (Depends-on): Add close.
63430         * modules/select-tests (Depends-on): Likewise.
63431
63432 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
63433             Bruno Haible  <bruno@clisp.org>
63434
63435         New module 'close'.
63436         * modules/close: New file.
63437         * lib/unistd.in.h (close): Move declaration out of the
63438         FCHDIR_REPLACEMENT scope.
63439         (_gl_unregister_fd): New declaration.
63440         * lib/close.c: New file.
63441         * lib/fchdir.c (rpl_close): Remove function.
63442         * m4/close.m4: New file.
63443         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
63444         close.
63445         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
63446         REPLACE_CLOSE.
63447         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
63448         REPLACE_CLOSE.
63449         * modules/fchdir (Depends-on): Add close.
63450
63451 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
63452             Bruno Haible  <bruno@clisp.org>
63453
63454         * lib/fcntl.in.h (open): Simplify conditionals.
63455         (_gl_register_fd): New declaration.
63456         * lib/fchdir.c (rpl_open): Remove function.
63457         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
63458         also.
63459         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
63460         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
63461         open.
63462
63463 2008-10-09  Jim Meyering  <meyering@redhat.com>
63464
63465         GNUmakefile: use the more name-space-friendly "_version"
63466         * top/GNUmakefile (_dummy): Update.
63467         (_version): Rename from "version".
63468
63469 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
63470             Bruno Haible  <bruno@clisp.org>
63471
63472         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
63473         rpl_close.
63474         (_gl_register_fd): New function, extracted from rpl_open.
63475         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
63476         (rpl_open, rpl_opendir): Use _gl_register_fd.
63477
63478 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
63479
63480         Fix organization of 'open' replacement.
63481         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
63482         (gl_FUNC_OPEN): Use it.
63483         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
63484
63485 2008-10-08  Bruno Haible  <bruno@clisp.org>
63486
63487         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
63488
63489 2008-10-08  Simon Josefsson  <simon@josefsson.org>
63490
63491         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
63492         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
63493         listen).
63494
63495 2008-10-08  Eric Blake  <ebb9@byu.net>
63496
63497         GNUmakefile: add 'make version' target
63498         * top/GNUmakefile (_curr-ver): Split version update rules...
63499         (version): ...into a target.
63500
63501 2008-10-07  Bruno Haible  <bruno@clisp.org>
63502
63503         Use a more portable replacement expression for -0.0L.
63504         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
63505         instead of -0.0L. Fix m4 quotation.
63506
63507         * tests/test-signbit.c: Include <float.h>.
63508         (minus_zero): New variable.
63509         (test_signbitl): Use minus_zero instead of -zero.
63510         * modules/signbit-tests (Depends-on): Add float.
63511
63512         * tests/test-ceill.c: Include <float.h>.
63513         (zero): Remove variable.
63514         (minus_zero): New variable.
63515         (main): Use minus_zero instead of -zero.
63516         * modules/ceill-tests (Depends-on): Add float.
63517
63518         * tests/test-floorl.c: Include <float.h>.
63519         (zero): Remove variable.
63520         (minus_zero): New variable.
63521         (main): Use minus_zero instead of -zero.
63522         * modules/floorl-tests (Depends-on): Add float.
63523
63524         * tests/test-roundl.c: Include <float.h>.
63525         (zero): Remove variable.
63526         (minus_zero): New variable.
63527         (main): Use minus_zero instead of -zero.
63528         * modules/roundl-tests (Depends-on): Add float.
63529
63530         * tests/test-truncl.c: Include <float.h>.
63531         (zero): Remove variable.
63532         (minus_zero): New variable.
63533         (main): Use minus_zero instead of -zero.
63534         * modules/truncl-tests (Depends-on): Add float.
63535
63536         * tests/test-frexpl.c (zero): Remove variable.
63537         (minus_zero): New variable.
63538         (main): Use minus_zero instead of -zero.
63539         * modules/frexpl-tests (Depends-on): Add float.
63540
63541         * tests/test-isnan.c (zerol): Remove variable.
63542         (minus_zerol): New variable.
63543         (test_long_double): Use minus_zerol instead of -zerol.
63544         * modules/isnan-tests (Depends-on): Add float.
63545
63546         * tests/test-isnanl.h (zero): Remove variable.
63547         (minus_zero): New variable.
63548         (main): Use minus_zero instead of -zero.
63549         * modules/isnanl-nolibm-tests (Depends-on): Add float.
63550         * modules/isnanl-tests (Depends-on): Add float.
63551
63552         * tests/test-ldexpl.c (zero): Remove variable.
63553         (minus_zero): New variable.
63554         (main): Use minus_zero instead of -zero.
63555         * modules/ldexpl-tests (Depends-on): Add float.
63556
63557         * tests/test-snprintf-posix.h (zerol): Remove variable.
63558         (minus_zerol): New variable.
63559         (test_function): Use minus_zerol instead of -zerol.
63560         * modules/snprintf-posix-tests (Depends-on): Add float.
63561         * modules/vsnprintf-posix-tests (Depends-on): Add float.
63562
63563         * tests/test-sprintf-posix.h (zerol): Remove variable.
63564         (minus_zerol): New variable.
63565         (test_function): Use minus_zerol instead of -zerol.
63566         * modules/sprintf-posix-tests (Depends-on): Add float.
63567         * modules/vsprintf-posix-tests (Depends-on): Add float.
63568
63569         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
63570         (minus_zerol): New variable.
63571         (test_function): Use minus_zerol instead of -zerol.
63572         * modules/vasnprintf-posix-tests (Depends-on): Add float.
63573
63574         * tests/test-vasprintf-posix.c (zerol): Remove variable.
63575         (minus_zerol): New variable.
63576         (test_function): Use minus_zerol instead of -zerol.
63577         * modules/vasprintf-posix-tests (Depends-on): Add float.
63578
63579 2008-10-07  Simon Josefsson  <simon@josefsson.org>
63580
63581         * MODULES.html.sh (Support for building documentation): Mention
63582         pmccabe2html.  Sort entries.
63583
63584         Add pmccabe2html module, from gnupdf.
63585         * build-aux/pmccabe.css: New file.
63586         * build-aux/pmccabe2html: New file.
63587         * m4/pmccabe2html.m4: New file.
63588         * modules/pmccabe2html: New file.
63589
63590 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
63591
63592         flock: new module
63593         * MODULES.html.sh: Add to list of modules.
63594         * lib/flock.c: flock implementation for Windows and Unix systems
63595         which have fcntl.
63596         * doc/glibc-functions/flock.texi: Update documentation.
63597         * lib/sys_file.in.h: <sys/file.h> header file.
63598         * m4/flock.m4: M4 macros.
63599         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
63600         * modules/flock: flock module.
63601         * modules/flock-tests: flock tests module.
63602         * modules/sys_file: sys/file.h module.
63603         * tests/test-flock.c: test suite for flock.
63604
63605 2008-10-06  Jim Meyering  <meyering@redhat.com>
63606
63607         bootstrap: check for LT_INIT more portably still ;-)
63608         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
63609         Spotted by Bruno Haible.
63610
63611 2008-10-06  Eric Blake  <ebb9@byu.net>
63612
63613         test-signbit: avoid tripping Irix cc bug on -0.0L
63614         * tests/test-signbit.c (minus_zerol): Delete, and replace with
63615         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
63616         entire testsuite consistent and avoids an Irix 6.2 bug.
63617
63618 2008-10-05  Bruno Haible  <bruno@clisp.org>
63619             Jim Meyering  <jim@meyering.net>
63620
63621         Add an option for ignoring EPIPE during close_stdout.
63622         * lib/closeout.h: Include <stdbool.h>.
63623         (close_stdout_set_ignore_EPIPE): New declaration.
63624         * lib/closeout.c: Include <stdbool.h>.
63625         (ignore_EPIPE): New variable.
63626         (close_stdout_set_ignore_EPIPE): New function.
63627         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
63628         * lib/close-stream.c (close_stream): Mention the possible EPIPE
63629         failure.
63630         * modules/closeout (Depends-on): Add stdbool.
63631
63632 2008-10-05  Bruno Haible  <bruno@clisp.org>
63633
63634         * modules/accept: New file.
63635         * modules/bind: New file.
63636         * modules/connect: New file.
63637         * modules/getpeername: New file.
63638         * modules/getsockname: New file.
63639         * modules/getsockopt: New file.
63640         * modules/listen: New file.
63641         * modules/recv: New file.
63642         * modules/recvfrom: New file.
63643         * modules/send: New file.
63644         * modules/sendto: New file.
63645         * modules/setsockopt: New file.
63646         * modules/socket: New file.
63647         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
63648         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
63649         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
63650         the particular module is requested. Add a link warning when the
63651         particular module is not requested.
63652         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
63653         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
63654         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
63655         the particular module is requested.
63656         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
63657         gl_SYS_SOCKET_H_DEFAULTS): New macros.
63658         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
63659         * modules/sys_socket (Depends-on): Add link-warning.
63660         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
63661         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
63662         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
63663         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
63664         GL_LINK_WARNING.
63665         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
63666         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
63667         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
63668         * doc/posix-functions/getpeername.texi: Mention the new module
63669         'getpeername'.
63670         * doc/posix-functions/getsockname.texi: Mention the new module
63671         'getsockname'.
63672         * doc/posix-functions/getsockopt.texi: Mention the new module
63673         'getsockopt'.
63674         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
63675         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
63676         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
63677         * doc/posix-functions/send.texi: Mention the new module 'send'.
63678         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
63679         * doc/posix-functions/setsockopt.texi: Mention the new module
63680         'setsockopt'.
63681         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
63682         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
63683         listen, connect, accept.
63684         * modules/select-tests (Depends-on): Likewise.
63685
63686 2008-10-05  Bruno Haible  <bruno@clisp.org>
63687
63688         * lib/winsock.c (strerror): Remove unused #undef.
63689         (rpl_close): Remove unused local variable.
63690
63691         * modules/sys_socket (Depends-on); Add errno.
63692
63693 2008-10-05  Bruno Haible  <bruno@clisp.org>
63694
63695         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
63696         (select): Add a link warning when the 'select' module is not used.
63697         * modules/sys_select (Depends-on): Add link-warning.
63698         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
63699         Suggested by Paolo Bonzini.
63700
63701 2008-10-05  Jim Meyering  <meyering@redhat.com>
63702
63703         bootstrap: check for LT_INIT more portably
63704         * build-aux/bootstrap: Avoid using grep -E, since it's not
63705         portable enough.  Suggestion from Bruno Haible.
63706
63707 2008-10-05  Bruno Haible  <bruno@clisp.org>
63708
63709         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
63710         as being fixed by gnulib.
63711
63712 2008-10-05  Bruno Haible  <bruno@clisp.org>
63713
63714         * modules/select-tests: New file, mostly copied from
63715         modules/sys_select-tests.
63716         * tests/test-select.c: New file, mostly copied from
63717         tests/test-sys_select.c.
63718         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
63719         * modules/sys_select-tests (Depends-on): Remove all dependencies.
63720         (Makefile.am): Remove test_sys_select_LDADD.
63721
63722         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
63723         to an undefined symbol, for an error message.
63724         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
63725         (gl_SYS_SELECT_H_DEFAULTS): New macro.
63726         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
63727         winsock-select.c here.
63728         * modules/sys_select (Files): Remove lib/winsock-select.c.
63729         (Depends-on): Remove alloca.
63730         (Makefile.am): Substitute GNULIB_SELECT.
63731         * modules/select: New file.
63732         * doc/posix-functions/select.texi: Update.
63733
63734 2008-10-05  Bruno Haible  <bruno@clisp.org>
63735
63736         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
63737         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
63738         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
63739         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
63740         getdtablesize.
63741         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
63742         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
63743
63744 2008-10-05  Bruno Haible  <bruno@clisp.org>
63745
63746         * modules/getdtablesize-tests: New file.
63747         * tests/test-getdtablesize.c: New file.
63748
63749         New module 'getdtablesize'.
63750         * lib/unistd.in.h (getdtablesize): New declaration.
63751         * lib/getdtablesize.c: New file.
63752         * m4/getdtablesize.m4: New file.
63753         * modules/getdtablesize: New file.
63754         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63755         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
63756         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
63757         HAVE_GETDTABLESIZE.
63758         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
63759
63760 2008-10-05  Bruno Haible  <bruno@clisp.org>
63761
63762         * modules/sched (Makefile.am): Fix typo.
63763         Reported by Simon Josefsson.
63764
63765 2008-10-05  Jim Meyering  <meyering@redhat.com>
63766
63767         bootstrap: check for LT_INIT, too
63768         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
63769         are deprecated.  Suggestion from Ralf Wildenhues.
63770
63771 2008-10-05  Bruno Haible  <bruno@clisp.org>
63772
63773         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
63774         overriding them by ours.
63775         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
63776
63777 2008-10-05  Jim Meyering  <meyering@redhat.com>
63778
63779         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
63780         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
63781         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
63782
63783 2008-10-04  Bruno Haible  <bruno@clisp.org>
63784
63785         * modules/dup2 (License): Change to LGPLv2+.
63786         * modules/sleep (License): Likewise.
63787         * modules/perror (License): Likewise.
63788         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
63789         Blake.
63790         * modules/signal (License): Likewise.
63791         * modules/sigprocmask (License): Likewise.
63792         * modules/raise (License): Change to LGPLv2+, with approval by Jim
63793         Meyering.
63794
63795 2008-10-04  Bruno Haible  <bruno@clisp.org>
63796
63797         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
63798         Reported by Rainer Tammer <tammer@tammer.net>.
63799
63800 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
63801             Bruno Haible  <bruno@clisp.org>
63802
63803         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
63804         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
63805         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
63806
63807 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
63808
63809         filevercmp: new module
63810         * lib/filevercmp.h: New function filevercmp comparing version strings.
63811         * lib/filevercmp.c: Implementation of filevercmp function.
63812         * modules/filevercmp: Module metadata.
63813         * tests/test-filevercmp.c: Unit test for new module.
63814         * modules/filevercmp-tests: Unit test metadata.
63815         * MODULES.html.sh: Add filevercmp module.
63816
63817 2008-10-03  Bruno Haible  <bruno@clisp.org>
63818
63819         * lib/c-ctype.h: Add comment.
63820         Reported by Jim Meyering.
63821
63822 2008-10-02  Bruno Haible  <bruno@clisp.org>
63823
63824         * modules/posix_spawn-internal (Depends-on): Add 'open'.
63825
63826 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
63827
63828         * build-aux/bootstrap: Allow renaming bootstrap, and change the
63829         name of bootstrap.conf accordingly.
63830
63831 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
63832
63833         * build-aux/bootstrap: Install git-merge-changelog configuration
63834         items into .gitconfig if needed.
63835
63836 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
63837
63838         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
63839         git repository, and initialize/update it accordingly.
63840
63841 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
63842
63843         * modules/fsync-tests: New file.
63844         * tests/test-fsync.c: New file.
63845
63846         New module 'fsync'.
63847         * lib/fsync.c: New file.
63848         * m4/fsync.m4: New file.
63849         * modules/fsync: New file.
63850         * lib/unistd.in.h (fsync): New declaration.
63851         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
63852         GNULIB_FSYNC and HAVE_FSYNC.
63853         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
63854         * MODULES.html.sh (posix_functions): Add fsync.
63855         * doc/posix-functions/fsync.texi: Mention the new module.
63856
63857 2008-10-02  Jim Meyering  <meyering@redhat.com>
63858
63859         fts.c: sync with similar code from coreutils' remove.c
63860         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
63861         Guard also with "#if defined __linux__", since for now at least,
63862         this code is Linux-kernel-specific.
63863
63864 2008-10-02  Jim Meyering  <meyering@redhat.com>
63865
63866         fts: bug fixes
63867         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
63868         Include <sys/vfs.h>, not <sys/statfs.h>.
63869
63870         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
63871         Include <sys/vfs.h>, not <sys/statfs.h>.
63872
63873 2008-10-01  Bruno Haible  <bruno@clisp.org>
63874
63875         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
63876         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
63877         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
63878         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
63879         * doc/posix-functions/posix_spawnp.texi: Likewise.
63880         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
63881         whether posix_spawn actually works.
63882         * m4/pipe.m4 (gl_PIPE): Likewise.
63883         * modules/execute (Files): Add m4/posix_spawn.m4.
63884         * modules/pipe (Files): Add m4/posix_spawn.m4.
63885         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
63886
63887 2008-10-01  Jim Meyering  <meyering@redhat.com>
63888
63889         remove trailing spaces
63890         * NEWS: Likewise.
63891         * lib/poll.c (poll): Likewise.
63892         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
63893         * lib/winsock.c (rpl_close): Likewise.
63894         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
63895         * modules/yield: Likewise.
63896         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
63897         * tests/test-sys_select.c (connect_to_socket): Likewise.
63898
63899         fts.c: adjust a new interface to be more generally useful
63900         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
63901         (fts_build): Adjust caller.
63902
63903 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63904
63905         * modules/cond-tests: New file.
63906         * tests/test-cond.c: New file.
63907
63908 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63909             Bruno Haible  <bruno@clisp.org>
63910
63911         * modules/cond (Dependencies): Add errno, time.
63912         * lib/glthread/cond.h: Include <time.h>.
63913         (gl_cond_define, gl_cond_define_initialized): Use the same definition
63914         across platforms.
63915
63916 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63917             Bruno Haible  <bruno@clisp.org>
63918
63919         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
63920
63921 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63922             Bruno Haible  <bruno@clisp.org>
63923
63924         * modules/tls-tests (Depends-on): Add thread, yield.
63925         (configure.ac): Remove all checks.
63926         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
63927         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
63928         gl_thread_self): Remove definitions. Include glthread/thread.h and
63929         glthread/yield.h instead.
63930         (test_tls): Pass an additional NULL argument to gl_thread_join.
63931
63932 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63933             Bruno Haible  <bruno@clisp.org>
63934
63935         * modules/lock-tests (Depends-on): Add thread, yield.
63936         (configure.ac): Remove all checks.
63937         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
63938         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
63939         gl_thread_self): Remove definitions. Include glthread/thread.h and
63940         glthread/yield.h instead.
63941         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
63942         additional NULL argument to gl_thread_join.
63943
63944 2008-09-30  Bruno Haible  <bruno@clisp.org>
63945
63946         Fix the Win32 implementation of the 'thread' module.
63947         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
63948         pointer type.
63949         (gl_thread_self): Invoke gl_thread_self_func.
63950         (gl_thread_self_func): New declaration.
63951         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
63952         (do_init_self_key, init_self_key): New functions.
63953         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
63954         Remove some fields.
63955         (running_threads, running_lock): Remove variables.
63956         (get_current_thread_handle): New function.
63957         (gl_thread_self_func, wrapper_func, glthread_create_func,
63958         glthread_join_func, gl_thread_exit_func): Largely rewritten and
63959         simplified.
63960
63961 2008-09-30  Bruno Haible  <bruno@clisp.org>
63962
63963         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
63964         files.
63965
63966 2008-09-30  Jim Meyering  <meyering@redhat.com>
63967
63968         fts.m4: correct the test for statfs.f_type
63969         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
63970         when checking for statfs.f_type.
63971
63972 2008-09-15  Simon Josefsson  <simon@josefsson.org>
63973
63974         tests: avoid some compiler warnings
63975         * tests/test-memchr.c (main): Pass NULL indirectly.
63976         * tests/test-getdate.c (main): Remove unused variable 'ret'.
63977
63978 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
63979
63980         getdate.y: disallow countable dayshifts like "4 yesterday ago"
63981         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
63982         exactly specified dayshifts.
63983         (dayshift): New rule.
63984         (rel): Add dayshift.
63985         (relative_time_table) [tomorrow, yesterday, today, now]:
63986         Use tDAY_SHIFT in place of tDAY_UNIT.
63987         * tests/test-getdate.c: Add tests for now-disallowed countable
63988         dayshifts, e.g., "4 yesterday ago".
63989
63990 2008-09-29  Bruno Haible  <bruno@clisp.org>
63991
63992         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
63993         * tests/test-posix_spawn1.in.sh: Renamed from
63994         tests/test-posix_spawn.in.sh.
63995         * tests/test-posix_spawn2.c: New file.
63996         * tests/test-posix_spawn2.in.sh: New file.
63997         * modules/posix_spawnp-tests (Files): Update.
63998         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
63999
64000 2008-09-29  Bruno Haible  <bruno@clisp.org>
64001
64002         Propagate effects of putenv/setenv/unsetenv to child processes.
64003         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
64004         * lib/pipe.c (create_pipe): Likewise.
64005
64006 2008-09-29  Bruno Haible  <bruno@clisp.org>
64007
64008         Enable use of shell scripts as executables in mingw.
64009         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
64010         run the program as a shell script.
64011         * lib/pipe.c (create_pipe): Likewise.
64012         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
64013         resulting array.
64014
64015 2008-09-29  Eric Blake  <ebb9@byu.net>
64016
64017         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
64018
64019 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
64020
64021         * doc/posix-functions/accept.texi: Update mingw problems.
64022         * doc/posix-functions/bind.texi: Update mingw problems.
64023         * doc/posix-functions/close.texi: Update mingw problems.
64024         * doc/posix-functions/connect.texi: Update mingw problems.
64025         * doc/posix-functions/getpeername.texi: Update mingw problems.
64026         * doc/posix-functions/getsockname.texi: Update mingw problems.
64027         * doc/posix-functions/getsockopt.texi: Update mingw problems.
64028         * doc/posix-functions/ioctl.texi: Update mingw problems.
64029         * doc/posix-functions/listen.texi: Update mingw problems.
64030         * doc/posix-functions/recv.texi: Update mingw problems.
64031         * doc/posix-functions/recvfrom.texi: Update mingw problems.
64032         * doc/posix-functions/select.texi: Update mingw problems.
64033         * doc/posix-functions/send.texi: Update mingw problems.
64034         * doc/posix-functions/sendto.texi: Update mingw problems.
64035         * doc/posix-functions/setsockopt.texi: Update mingw problems.
64036         * doc/posix-functions/socket.texi: Update mingw problems.
64037
64038 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
64039             Bruno Haible  <bruno@clisp.org>
64040
64041         * lib/sys_select.in.h: Include sys/time.h.
64042         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
64043         * modules/sys_select: Depend on sys_time.
64044         * tests/test-sys_select.c: Test that sys/select.h defines struct
64045         timeval fully.
64046
64047 2008-09-29  Bruno Haible  <bruno@clisp.org>
64048
64049         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
64050         * lib/sys_select.in.h: Likewise.
64051
64052 2008-09-29  Bruno Haible  <bruno@clisp.org>
64053
64054         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
64055
64056 2008-09-29  Bruno Haible  <bruno@clisp.org>
64057
64058         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
64059         Set LIBSOCKET instead of augmenting LIBS.
64060         * modules/sockets (Link): New section.
64061         * modules/sockets-tests (test_sockets_LDADD): New variable.
64062         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
64063         * modules/poll-tests (test_poll_LDADD): New variable.
64064         * NEWS: Document the change.
64065
64066 2008-09-29  Bruno Haible  <bruno@clisp.org>
64067
64068         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
64069         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
64070         ARPA_INET_H directly.
64071         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
64072
64073 2008-09-28  Bruno Haible  <bruno@clisp.org>
64074
64075         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
64076         from gl_HEADER_SYS_SOCKET.
64077         (gl_HEADER_SYS_SOCKET): Invoke it.
64078         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64079
64080 2008-09-28  Bruno Haible  <bruno@clisp.org>
64081
64082         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
64083         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
64084         Needed on OSF/1 4.0.
64085
64086 2008-09-28  Bruno Haible  <bruno@clisp.org>
64087
64088         Override open more carefully.
64089         * lib/open.c (orig_open): New function.
64090         (rpl_open): Use orig_open instead of open.
64091         * lib/fcntl.in.h: Add special invocation convention.
64092         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
64093         (gl_FUNC_OPEN): Invoke it.
64094
64095         Override freopen more carefully.
64096         * lib/freopen.c (orig_freopen): New function.
64097         (rpl_freopen): Use orig_freopen instead of freopen.
64098         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
64099         (gl_FUNC_FREOPEN): Invoke it.
64100
64101         Override fopen more carefully.
64102         * lib/fopen.c (orig_fopen): New function.
64103         (rpl_fopen): Use orig_fopen instead of fopen.
64104         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
64105         (gl_FUNC_FOPEN): Invoke it.
64106         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
64107
64108 2008-09-28  Bruno Haible  <bruno@clisp.org>
64109
64110         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
64111         SIGPIPE.
64112
64113 2008-09-28  Bruno Haible  <bruno@clisp.org>
64114
64115         * tests/test-sigaction.c (handler, main): Disable the check whether
64116         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
64117         glibc systems with LinuxThreads.
64118
64119 2008-09-28  Bruno Haible  <bruno@clisp.org>
64120
64121         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
64122
64123         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
64124         with AIX xlc.
64125         * lib/fcntl.in.h (open): Likewise.
64126         Reported by Rainer Tammer <tammer@tammer.net>.
64127
64128 2008-09-28  Bruno Haible  <bruno@clisp.org>
64129
64130         * modules/posix_spawnp-tests: New file.
64131         * tests/test-posix_spawn.c: New file.
64132         * tests/test-posix_spawn.in.sh: New file.
64133
64134         New module 'posix_spawnp'.
64135         * modules/posix_spawnp: New file.
64136         * lib/spawnp.c: New file, from GNU libc with modifications.
64137         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
64138
64139         New module 'posix_spawn'.
64140         * modules/posix_spawn: New file.
64141         * lib/spawn.c: New file, from GNU libc with modifications.
64142         * doc/posix-functions/posix_spawn.texi: Mention the new module.
64143
64144         New module 'posix_spawnattr_destroy'.
64145         * modules/posix_spawnattr_destroy: New file.
64146         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
64147         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
64148         module.
64149
64150         New module 'posix_spawnattr_setsigmask'.
64151         * modules/posix_spawnattr_setsigmask: New file.
64152         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
64153         modifications.
64154         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
64155         new module.
64156
64157         New module 'posix_spawnattr_getsigmask'.
64158         * modules/posix_spawnattr_getsigmask: New file.
64159         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
64160         modifications.
64161         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
64162         new module.
64163
64164         New module 'posix_spawnattr_setsigdefault'.
64165         * modules/posix_spawnattr_setsigdefault: New file.
64166         * lib/spawnattr_setdefault.c: New file, from GNU libc with
64167         modifications.
64168         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
64169         new module.
64170
64171         New module 'posix_spawnattr_getsigdefault'.
64172         * modules/posix_spawnattr_getsigdefault: New file.
64173         * lib/spawnattr_getdefault.c: New file, from GNU libc with
64174         modifications.
64175         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
64176         new module.
64177
64178         New module 'posix_spawnattr_setschedpolicy'.
64179         * modules/posix_spawnattr_setschedpolicy: New file.
64180         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
64181         modifications.
64182         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
64183         new module.
64184
64185         New module 'posix_spawnattr_getschedpolicy'.
64186         * modules/posix_spawnattr_getschedpolicy: New file.
64187         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
64188         modifications.
64189         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
64190         new module.
64191
64192         New module 'posix_spawnattr_setschedparam'.
64193         * modules/posix_spawnattr_setschedparam: New file.
64194         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
64195         modifications.
64196         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
64197         new module.
64198
64199         New module 'posix_spawnattr_getschedparam'.
64200         * modules/posix_spawnattr_getschedparam: New file.
64201         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
64202         modifications.
64203         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
64204         new module.
64205
64206         New module 'posix_spawnattr_setpgroup'.
64207         * modules/posix_spawnattr_setpgroup: New file.
64208         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
64209         modifications.
64210         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
64211         module.
64212
64213         New module 'posix_spawnattr_getpgroup'.
64214         * modules/posix_spawnattr_getpgroup: New file.
64215         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
64216         modifications.
64217         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
64218         module.
64219
64220         New module 'posix_spawnattr_setflags'.
64221         * modules/posix_spawnattr_setflags: New file.
64222         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
64223         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
64224         module.
64225
64226         New module 'posix_spawnattr_getflags'.
64227         * modules/posix_spawnattr_getflags: New file.
64228         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
64229         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
64230         module.
64231
64232         New module 'posix_spawnattr_init'.
64233         * modules/posix_spawnattr_init: New file.
64234         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
64235         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
64236         module.
64237
64238         New module 'posix_spawn_file_actions_destroy'.
64239         * modules/posix_spawn_file_actions_destroy: New file.
64240         * lib/spawn_faction_destroy.c: New file, from GNU libc with
64241         modifications.
64242         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
64243         the new module.
64244
64245         New module 'posix_spawn_file_actions_addopen'.
64246         * modules/posix_spawn_file_actions_addopen: New file.
64247         * lib/spawn_faction_addopen.c: New file, from GNU libc with
64248         modifications.
64249         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
64250         the new module.
64251
64252         New module 'posix_spawn_file_actions_adddup2'.
64253         * modules/posix_spawn_file_actions_adddup2: New file.
64254         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
64255         modifications.
64256         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
64257         the new module.
64258
64259         New module 'posix_spawn_file_actions_addclose'.
64260         * modules/posix_spawn_file_actions_addclose: New file.
64261         * lib/spawn_faction_addclose.c: New file, from GNU libc with
64262         modifications.
64263         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
64264         the new module.
64265
64266         New module 'posix_spawn_file_actions_init'.
64267         * modules/posix_spawn_file_actions_init: New file.
64268         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
64269         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
64270         new module.
64271
64272         New module 'posix_spawn-internal'.
64273         * modules/posix_spawn-internal: New file.
64274         * lib/spawn_int.h: New file, from GNU libc with modifications.
64275         * lib/spawni.c: New file, from GNU libc with modifications.
64276         * m4/posix_spawn.m4: New file.
64277
64278         New module 'spawn'.
64279         * modules/spawn: New file.
64280         * lib/spawn.in.h: New file, from GNU libc with modifications.
64281         * m4/spawn_h.m4: New file.
64282         * doc/posix-headers/spawn.texi: Mention the new module.
64283
64284 2008-09-28  Bruno Haible  <bruno@clisp.org>
64285
64286         * modules/sched-tests: New file.
64287         * tests/test-sched.c: New file.
64288
64289         New module 'sched'.
64290         * modules/sched: New file.
64291         * lib/sched.in.h: New file.
64292         * m4/sched_h.m4: New file.
64293         * doc/posix-headers/sched.texi: Mention the new module.
64294
64295 2008-09-27  Eric Blake  <ebb9@byu.net>
64296
64297         Fix previous patch, and tweak references to $0.
64298         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
64299         (func_version, func_gnulib_dir): Don't call this program
64300         gnulib-tool.
64301         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
64302         with using $0 in function.
64303         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
64304         (func_fatal_error): Reuse the name the user invoked us with.
64305
64306 2008-09-27  Bruno Haible  <bruno@clisp.org>
64307
64308         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
64309         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
64310         (gl_ICONV_H): Not here.
64311         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
64312         instead of assigning ICONV_H directly.
64313
64314         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
64315         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
64316         WCHAR_H directly.
64317
64318 2008-09-27  Bruno Haible  <bruno@clisp.org>
64319
64320         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
64321         * modules/arpa_inet (Depends-on): Add link-warning.
64322         (Makefile.am): Insert the definition of GL_LINK-WARNING.
64323         * modules/unistd (Makefile.am): Likewise.
64324
64325 2008-09-26  Bruno Haible  <bruno@clisp.org>
64326
64327         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
64328         variables.
64329         (func_version): Essentially copied from gnulib-tool.
64330         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
64331         func_readlink): Copied from gnulib-tool.
64332
64333 2008-09-26  Bruno Haible  <bruno@clisp.org>
64334
64335         * gnulib-tool (func_version): Change directory to $gnulib_dir before
64336         invoking git-version-gen.
64337
64338 2008-09-26  Bruno Haible  <bruno@clisp.org>
64339
64340         * posix-modules: Update to directory names changed on 2008-01-19.
64341         Remove commas in output before splitting into words. No more need to
64342         avoid 'ftruncate' since 2007-02-19.
64343
64344 2008-09-26  Bruno Haible  <bruno@clisp.org>
64345
64346         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
64347
64348 2008-09-26  Bruno Haible  <bruno@clisp.org>
64349
64350         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
64351         * modules/fwriteerror (Depends-on): Add errno.
64352
64353 2008-09-26  Bruno Haible  <bruno@clisp.org>
64354
64355         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
64356         * tests/test-vc-list-files-cvs.sh: Likewise.
64357
64358 2008-09-26  Bruno Haible  <bruno@clisp.org>
64359
64360         * doc/posix-headers/sys_resource.texi: Reorder items.
64361
64362 2008-09-26  Jim Meyering  <meyering@redhat.com>
64363
64364         fts: tweak inode comparison function
64365         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
64366         inode numbers, as documented.
64367
64368         fts: sort dirent entries on inode number before traversing
64369         This avoids a quadratic, seek-related performance penalty when
64370         operating on a directory containing many entries (measurable at 10k;
64371         3.5 hours at 2 million entries with a cold cache) on certain types
64372         of file systems, including ext3 and ext4, but not tmpfs.
64373         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
64374         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
64375         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
64376         (fs_handles_readdir_ordered_dirents_efficiently): New function.
64377         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
64378         (fts_build): Set the stat.st_ino member from D_INO.
64379         If it is likely to be useful, sort dirent entries on inode number.
64380
64381         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
64382         and the struct statfs.f_type member.
64383         * modules/fts (Depends-on): Add d-ino.
64384
64385 2008-09-26  Bruno Haible  <bruno@clisp.org>
64386
64387         * modules/sigpipe-die (Depends-on): Add sigpipe.
64388
64389         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
64390         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
64391         and GNULIB_STDIO_H_SIGPIPE are set.
64392         * lib/stdio-write.c: New file.
64393         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
64394         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
64395         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
64396         REPLACE_STDIO_WRITE_FUNCS.
64397         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
64398         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
64399         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
64400         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
64401         * modules/stdio (Files): Add lib/stdio-write.c.
64402         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
64403         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
64404         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
64405         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
64406         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
64407         REPLACE_FPRINTF_POSIX.
64408         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
64409         REPLACE_PRINTF_POSIX.
64410         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
64411         REPLACE_VFPRINTF_POSIX.
64412         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
64413         REPLACE_VPRINTF_POSIX.
64414         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
64415         SIGPIPE issue.
64416         * doc/posix-functions/fputc.texi: Likewise.
64417         * doc/posix-functions/fputs.texi: Likewise.
64418         * doc/posix-functions/fwrite.texi: Likewise.
64419         * doc/posix-functions/printf.texi: Likewise.
64420         * doc/posix-functions/putc.texi: Likewise.
64421         * doc/posix-functions/putchar.texi: Likewise.
64422         * doc/posix-functions/puts.texi: Likewise.
64423         * doc/posix-functions/vfprintf.texi: Likewise.
64424         * doc/posix-functions/vprintf.texi: Likewise.
64425
64426         * modules/safe-write (Depends-on): Add write.
64427
64428         * modules/sigpipe-tests: New file.
64429         * tests/test-sigpipe.c: New file.
64430         * tests/test-sigpipe.sh: New file.
64431
64432         * modules/write: New file.
64433         * lib/unistd.in.h: Include <sys/types.h>.
64434         (write): New declaration.
64435         * lib/write.c: New file.
64436         * m4/write.m4: New file.
64437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
64438         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
64439         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
64440         GNULIB_WRITE, REPLACE_WRITE.
64441         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
64442         and the SIGPIPE issue.
64443
64444         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
64445         (raise): New declaration.
64446         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
64447         (ext_signal): New function.
64448         (rpl_raise): New function.
64449         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
64450         GNULIB_SIGNAL_H_SIGPIPE.
64451         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
64452         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
64453
64454         * modules/sigpipe: New file.
64455         * m4/sigpipe.m4: New file.
64456
64457 2008-09-25  Derek Price  <derek@ximbiot.com>
64458             Bruno Haible  <bruno@clisp.org>
64459
64460         * gnulib-tool (func_import): Report all license incompatibilities, not
64461         just the first one.
64462
64463 2008-09-25  Bruno Haible  <bruno@clisp.org>
64464
64465         * gnulib-tool (func_import): When computing the edits, consider not
64466         only the Makefile.ams that exist but also those that will be generated.
64467
64468 2008-09-25  Simon Josefsson  <simon@josefsson.org>
64469
64470         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
64471         fixes gnulib-tool --test warning about duplicate dependency.
64472
64473 2008-09-25  Bruno Haible  <bruno@clisp.org>
64474
64475         * gnulib-tool: Don't ask the user to perform edits in the generated
64476         Makefile.ams.
64477         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
64478         apply to the Makefile.am being generated.
64479         (func_emit_tests_Makefile_am): Execute edits that apply to the
64480         Makefile.am being generated.
64481         (func_import): Setup list of Makefile.am edits before emitting the
64482         Makefile.ams, not at the end.
64483         (func_create_testdir): Update.
64484         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
64485
64486 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64487
64488         * gnulib-tool (func_import): Store the --tests-base option in the
64489         comment in gnulib-cache.m4.
64490
64491 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
64492
64493         * NEWS: Document increased portability that sys_select now provides.
64494
64495         * lib/sys_select.in.h: Install select wrapper.
64496         * lib/sys_socket.in.h: Use more descriptive name when there is no
64497         select wrapper.
64498         * lib/winsock-select.c: New.
64499         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
64500         Require gl_HEADER_SYS_SOCKET.
64501         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
64502         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
64503         * tests/test-sys_select.c: Add functional tests.
64504
64505 2008-09-24  Eric Blake  <ebb9@byu.net>
64506
64507         open, fopen: close fd leak in last patch
64508         * lib/open.c (rpl_open): Close fd before returning error.
64509         * lib/fopen.c (rpl_fopen): Close fd before returning error.
64510         * doc/posix-functions/open.texi (open): Document that Irix also
64511         has the bug.
64512         * doc/posix-functions/fopen.texi (fopen): Likewise.
64513         Reported by Paolo Bonzini.
64514
64515 2008-09-24  Bruno Haible  <bruno@clisp.org>
64516
64517         Ensure that a filename ending in a slash cannot be used to access a
64518         non-directory.
64519         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
64520         to check whether it's really a directory.
64521         * lib/fopen.c: Include fcntl.h, unistd.h.
64522         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
64523         and fdopen().
64524         * modules/fopen (Depends-on): Add unistd.
64525         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
64526         * tests/test-fopen.c (main): Likewise.
64527         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
64528         * doc/posix-functions/fopen.texi: Likewise.
64529         Reported by Eric Blake.
64530
64531 2008-09-23  Eric Blake  <ebb9@byu.net>
64532
64533         c-stack: avoid compiler optimizations when provoking overflow
64534         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
64535         recursion harder to optimize, to ensure a stack overflow occurs.
64536         * tests/test-c-stack.c (recurse): Likewise.
64537         Borrowed from libsigsegv.
64538
64539         c-stack: work around Irix sigaltstack bug
64540         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
64541         whether sigaltstack uses wrong end of stack_t (copied in part from
64542         libsigsegv).
64543         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
64544         Irix bug, without requiring an over-allocation.
64545         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
64546         bug.
64547
64548         fopen: document mingw bug on directories
64549         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
64550         not allowing a stream visiting a directory, even though reading
64551         from such a stream is not portable.
64552
64553 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
64554
64555         * lib/poll.c: Rewrite.
64556         * modules/poll: Depend on alloca.
64557
64558 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
64559
64560         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
64561         instead define prototypes for a full set of wrappers.  Ensure
64562         that Cygwin does not use the compatibility code, which is only
64563         for MinGW.
64564         * lib/winsock.c: New.
64565         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
64566         * modules/sys_socket: Add lib/winsock.c.
64567
64568         * modules/poll-tests: Add errno and perror.
64569         * tests/test-poll.c: Use ioctl, not ioctlsocket.
64570
64571 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
64572
64573         * tests/test-poll.c: Downgrade minimum needed Winsock version.
64574
64575 2008-09-23  Bruno Haible  <bruno@clisp.org>
64576
64577         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
64578         * doc/glibc-functions/*: Likewise.
64579
64580 2008-09-23  Simon Josefsson  <simon@josefsson.org>
64581
64582         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
64583         success.
64584
64585 2008-09-22  Eric Blake  <ebb9@byu.net>
64586             Bruno Haible  <bruno@clisp.org>
64587
64588         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
64589         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
64590         supply %A but mishandle pseudo-NaN.
64591         Reported by Simon Josefsson.
64592
64593 2008-09-21  Bruno Haible  <bruno@clisp.org>
64594
64595         * tests/test-lock.c (main): Tweak skip message.
64596         * tests/test-tls.c (main): Likewise.
64597
64598 2008-09-21  Bruno Haible  <bruno@clisp.org>
64599
64600         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
64601         whether 'struct sigaction' has sa_sigaction here...
64602         (gl_PREREQ_SIG_HANDLER_H): ... not here.
64603         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
64604
64605 2008-09-21  Bruno Haible  <bruno@clisp.org>
64606
64607         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
64608         section.
64609         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
64610         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
64611         the new section.
64612         (Support for obsolete systems lacking POSIX:2001): New section.
64613         (String handling <string.h>): Move strdup to the new section.
64614         Suggested by Simon Josefsson and Paolo Bonzini.
64615
64616 2008-09-21  Bruno Haible  <bruno@clisp.org>
64617
64618         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
64619         exponents in %e and %g results on 'long double'. Needed for mingw's
64620         improved *printf functions.
64621         * tests/test-vasprintf-posix.c (test_function): Likewise.
64622         * tests/test-snprintf-posix.h (test_function): Likewise.
64623         * tests/test-sprintf-posix.h (test_function): Likewise.
64624         Reported by Eric Blake.
64625
64626 2008-09-21  Bruno Haible  <bruno@clisp.org>
64627
64628         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
64629         * tests/test-sprintf-posix.h (test_function): Likewise.
64630
64631 2008-09-21  Bruno Haible  <bruno@clisp.org>
64632
64633         * modules/getpass (Depends-on): Add strdup-posix.
64634
64635         New module 'strdup-posix'.
64636         * modules/strdup-posix: New file.
64637         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
64638         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
64639         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
64640         REPLACE_STRDUP.
64641         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
64642         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
64643         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64644         strdup-posix.
64645
64646         * modules/strdup (Depends-on): Remove malloc-posix.
64647
64648 2008-09-20  Bruno Haible  <bruno@clisp.org>
64649
64650         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
64651         Wildenhues.
64652
64653 2008-09-20  Bruno Haible  <bruno@clisp.org>
64654
64655         Ensure that wint_t gets defined on IRIX 5.3.
64656         * lib/wchar.in.h (wint_t): Define if not defined by the system.
64657         * lib/wctype.in.h (wint_t): Likewise.
64658         (__wctype_wint_t): Remove type.
64659         (isw*): Use wint_t instead of __wctype_wint_t.
64660         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
64661         * modules/wchar (Files): Add m4/wint_t.m4.
64662         (Makefile.am): Substitute HAVE_WINT_T.
64663         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
64664         * tests/test-wctype.c: Check that wint_t is defined.
64665         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
64666         * doc/posix-headers/wctype.texi: Likewise.
64667         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64668
64669 2008-09-18  Bruno Haible  <bruno@clisp.org>
64670
64671         * gnulib-tool (func_exit): Update comment.
64672
64673 2008-09-18  Simon Josefsson  <simon@josefsson.org>
64674
64675         * modules/getaddrinfo (Depends-on): Remove strdup, this module
64676         assumes strdup exists and does not depend on strdup to return
64677         ENOMEM on out of memory conditions.
64678
64679 2008-09-18  Bruno Haible  <bruno@clisp.org>
64680
64681         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
64682         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
64683         digits for the exponent.
64684
64685 2008-09-18  Jim Meyering  <meyering@redhat.com>
64686             Bruno Haible  <bruno@clisp.org>
64687
64688         * lib/vasnprintf.c (decimal_point_char): Define also if
64689         NEED_PRINTF_INFINITE_LONG_DOUBLE.
64690
64691 2008-09-16  Bruno Haible  <bruno@clisp.org>
64692         and Eric Blake  <ebb9@byu.net>
64693
64694         vasnprintf: support Irix 5.3
64695         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
64696         that mishandle long double infinity.
64697         Reported by Tom G. Christensen.
64698
64699 2008-09-16  Bruno Haible  <bruno@clisp.org>
64700
64701         * doc/glibc-functions/scandir.texi: Mention the function is missing on
64702         Solaris 9.
64703         * doc/glibc-functions/alphasort.texi: Likewise.
64704         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
64705
64706 2008-09-16  Jim Meyering  <meyering@redhat.com>
64707
64708         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
64709         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
64710         a umask modification leak out of a subshell.  Otherwise, the
64711         opensolaris /bin/sh would be accepted and thus cause unwarranted
64712         failures in the coreutils test suite.
64713
64714 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
64715
64716         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
64717         to succeed.
64718
64719 2008-09-16  Jim Meyering  <meyering@redhat.com>
64720
64721         avoid spurious test failure when library is built without ACL support
64722         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
64723         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
64724         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
64725         * tests/test-copy-acl.sh: Likewise.
64726
64727 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64728
64729         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
64730         based on character occurrence counts.
64731
64732 2008-09-15  Eric Blake  <ebb9@byu.net>
64733
64734         tests: avoid some compiler warnings
64735         * tests/test-memchr.c (main): Pass NULL indirectly.
64736         * tests/test-closein.c (main): Avoid unused variable.
64737
64738 2008-09-15  Bruno Haible  <bruno@clisp.org>
64739
64740         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
64741         are missing on OpenBSD 4.0 individually.
64742         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
64743
64744 2008-09-15  Bruno Haible  <bruno@clisp.org>
64745
64746         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
64747         * doc/posix-functions/strerror.texi: Mention also Cygwin.
64748         * doc/posix-functions/perror.texi: Likewise.
64749         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
64750         is missing.
64751         Reported by Eric Blake.
64752
64753         * lib/errno.in.h: Use replacement values >= 2000.
64754         Reported by Eric Blake.
64755
64756 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64757
64758         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
64759         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
64760         limit.
64761         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
64762         compareseq was aborted.
64763
64764 2008-09-14  Bruno Haible  <bruno@clisp.org>
64765
64766         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
64767         yvec_edit_count.
64768         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
64769         (fstrcmp_bounded): Simplify result computation accordingly.
64770
64771 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64772
64773         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
64774         (fstrcmp): Define in terms of fstrcmp_bounded.
64775         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
64776         lower_bound argument.
64777         Return quickly if the result is certainly < lower_bound.
64778         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
64779
64780 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64781
64782         * lib/diffseq.h (EARLY_ABORT): New macro.
64783         (compareseq): Change return type to bool. Return true when EARLY_ABORT
64784         evaluates to true.
64785
64786 2008-09-14  Bruno Haible  <bruno@clisp.org>
64787
64788         * modules/perror-tests: New file.
64789         * tests/test-perror.sh: New file.
64790         * tests/test-perror.c: New file.
64791
64792         New module 'perror'.
64793         * lib/stdio.in.h (perror): New declaration.
64794         * lib/perror.c: New file.
64795         * m4/perror.m4: New file.
64796         * modules/perror: New file.
64797         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
64798         * doc/posix-functions/perror.texi: Mention the perror module.
64799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
64800         REPLACE_PERROR.
64801         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
64802         REPLACE_PERROR.
64803
64804 2008-09-14  Bruno Haible  <bruno@clisp.org>
64805
64806         * modules/stdio (Makefile.am): Reorder to match the order in
64807         lib/stdio.in.h.
64808         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64809
64810 2008-09-13  Bruno Haible  <bruno@clisp.org>
64811
64812         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
64813
64814 2008-09-13  Bruno Haible  <bruno@clisp.org>
64815
64816         Extend strerror to cover the added errno values.
64817         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
64818         (rpl_strerror): Provide error messages for the added errno values and
64819         for the WSA* values.
64820         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
64821         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
64822         strerror.
64823         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
64824         * modules/strerror (Depends-on): Add errno.
64825         * doc/posix-functions/strerror.texi: Document the change.
64826         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
64827         and EOVERFLOW.
64828
64829 2008-09-13  Bruno Haible  <bruno@clisp.org>
64830
64831         * modules/EOVERFLOW: Remove file.
64832         * m4/eoverflow.m4: Remove file.
64833         * modules/EOVERFLOW-tests: Remove file.
64834         * tests/test-EOVERFLOW.c: Remove file.
64835         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
64836         * modules/ftell (Depends-on): Likewise.
64837         * modules/getdelim (Depends-on): Likewise.
64838         * modules/getugroups (Depends-on): Likewise.
64839         * modules/poll (Depends-on): Likewise.
64840         * modules/snprintf (Depends-on): Likewise.
64841         * modules/sprintf-posix (Depends-on): Likewise.
64842         * modules/vasnprintf (Depends-on): Likewise.
64843         * modules/vasprintf (Depends-on): Likewise.
64844         * modules/vfprintf-posix (Depends-on): Likewise.
64845         * modules/vsnprintf (Depends-on): Likewise.
64846         * modules/vsprintf-posix (Depends-on): Likewise.
64847         * modules/xvasprintf (Depends-on): Likewise.
64848         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64849         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
64850         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
64851         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
64852         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64853         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
64854         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
64855         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
64856         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64857         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
64858         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
64859         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
64860         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64861         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
64862         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
64863         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
64864         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64865         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
64866         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
64867         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
64868         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64869         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
64870         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
64871         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
64872         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
64873         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64874         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
64875         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
64876         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
64877         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
64878         * MODULES.html.sh: Remove EOVERFLOW.
64879         * NEWS: Mention the change.
64880
64881 2008-09-13  Bruno Haible  <bruno@clisp.org>
64882
64883         * modules/errno-tests: New file.
64884         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
64885
64886         * lib/errno.in.h: New file.
64887         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
64888         * modules/errno: New file.
64889         * doc/posix-headers/errno.texi: Update documentation.
64890         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
64891
64892 2008-09-13  Bruno Haible  <bruno@clisp.org>
64893
64894         * tests/test-poll.c: Use #if for native Windows, rather than testing
64895         __MSVCRT__.
64896
64897 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64898             Bruno Haible  <bruno@clisp.org>
64899
64900         * lib/glob.c: Don't include <pwd.h> on native Windows.
64901         (WINDOWS32): New macro.
64902         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
64903
64904 2008-09-13  Bruno Haible  <bruno@clisp.org>
64905
64906         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
64907         (ETIMEDOUT): Remove macro.
64908         (glthread_cond_timedwait_multithreaded): New declaration.
64909         (glthread_cond_timedwait): Use it.
64910         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
64911         (glthread_cond_timedwait_multithreaded): New function.
64912
64913 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
64914
64915         * modules/poll-tests: Do not check for io.h.
64916         * tests/test-poll.c: Check for __MSVCRT__ instead.
64917
64918 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
64919
64920         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
64921         * modules/poll-tests: Add inet_pton, stdbool, sockets.
64922         * tests/test-poll.c: Use them.  Use _pipe on Windows.
64923
64924 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
64925
64926         * modules/poll-tests: New.
64927         * tests/test-poll.c: New.
64928
64929 2008-09-12  Eric Blake  <ebb9@byu.net>
64930
64931         frexp: test for NetBSD failure on -0.0
64932         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
64933         not all, bugs from NetBSD 3.0 have been fixed.
64934         * doc/posix-functions/frexp.texi (frexp): Document bug.
64935         Reported by Thomas Klausner.
64936
64937         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
64938         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
64939         literal -0.0.
64940         Reported by Jonathan C. Patschke <jp@centtech.com>.
64941
64942 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64943
64944         * lib/glthread/cond.h: Use dummy implementation also if
64945         USE_WIN32_THREADS.
64946
64947 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64948
64949         * modules/fnmatch-posix (License): Change to LGPLv2+.
64950         * modules/fnmatch-gnu (License): Likewise.
64951
64952 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64953
64954         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
64955
64956 2008-09-11  Jim Meyering  <meyering@redhat.com>
64957
64958         * users.txt: Add gtk-vnc.
64959
64960 2008-09-08  Simon Josefsson  <simon@josefsson.org>
64961
64962         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
64963         rotate amounts.
64964
64965         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
64966         required for 16-bit and 8-bit rotates.
64967         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
64968         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
64969         UINT8_MAX instead of hard-coded constants.
64970         Suggested by Paul Eggert.
64971
64972 2008-09-07  Bruno Haible  <bruno@clisp.org>
64973
64974         * tests/test-striconveh.c (main): Check behaviour when converting from
64975         UTF-7.
64976
64977         Make striconveh work better with stateful encodings.
64978         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
64979         that iconv does not increment the inptr when returning -1/EINVAL.
64980
64981 2008-09-07  Bruno Haible  <bruno@clisp.org>
64982
64983         * build-aux/config.rpath: Update according to libtool-2.2.6.
64984         * build-aux/config.libpath: Likewise.
64985
64986 2008-09-06  Bruno Haible  <bruno@clisp.org>
64987
64988         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
64989         * lib/freadptr.c (freadptr): Likewise.
64990         * lib/freadseek.c (freadptrinc): Likewise.
64991         Reported by Simon Josefsson.
64992
64993 2008-09-06  Bruno Haible  <bruno@clisp.org>
64994
64995         * modules/freadptr (License): Change to LGPLv2+.
64996         * modules/freadseek (License): Likewise.
64997         Suggested by Eric Blake.
64998
64999         * modules/memchr2 (License): Change to LGPLv2+.
65000         Approved by Eric Blake.
65001
65002 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65003             Bruno Haible  <bruno@clisp.org>
65004
65005         Make gnulib-tool work with native 'sed' on AIX.
65006         * gnulib-tool (sed_noop): New variable.
65007         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
65008         func_add_or_update, func_create_testdir): Use it to initialize sed
65009         script variables.
65010         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
65011
65012 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
65013             Bruno Haible  <bruno@clisp.org>
65014
65015         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
65016         also works after #include directives.
65017
65018 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
65019
65020         getdate.y: reject an out-of-range timezone value
65021         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
65022         the range [-24...+24].  When specified with only one or two digits,
65023         * tests/test-getdate.c: Tests for the fix.
65024         * doc/getdate.texi: Document this change.
65025
65026 2008-09-03  Bruno Haible  <bruno@clisp.org>
65027
65028         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
65029
65030 2008-09-02  Simon Josefsson  <simon@josefsson.org>
65031
65032         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
65033         <bruce.korb@gmail.com> with ideas from Ben Pfaff
65034         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
65035         Blake <ebb9@byu.net>.
65036
65037         * tests/test-bitrotate.c: Add more test vectors.
65038
65039 2008-09-02  Eric Blake  <ebb9@byu.net>
65040
65041         vasnprintf-posix: handle large precision via %.*d
65042         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
65043         when handling it ourselves.
65044         * tests/test-vasnprintf-posix.c (test_function): Add test.
65045         * tests/test-snprintf-posix.h (test_function): Likewise.
65046         * tests/test-sprintf-posix.h (test_function): Likewise.
65047         * tests/test-vasprintf-posix.c (test_function): Likewise.
65048         Reported by Alain Guibert.
65049
65050 2008-09-01  Eric Blake  <ebb9@byu.net>
65051
65052         c-stack: make configure-time check more robust
65053         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
65054         successful sigaction call.
65055         Reported by Tom G. Christensen.
65056
65057 2008-09-01  Bruno Haible  <bruno@clisp.org>
65058
65059         New module 'findprog-lgpl'.
65060         * modules/findprog-lgpl: New file.
65061         * lib/findprog-lgpl.c: New file.
65062         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
65063         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
65064         to decide whether to use strdup or xstrdup, concatenated_filename or
65065         xconcatenated_filename.
65066
65067 2008-09-01  Bruno Haible  <bruno@clisp.org>
65068
65069         Split module 'concat-filename' into 'concat-filename' (LGPL) and
65070         'xconcat-filename' (GPL).
65071         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
65072         (License): Change to LGPLv2+.
65073         * modules/xconcat-filename: New file.
65074         * lib/concat-filename.h (concatenated_filename): Change specification.
65075         (xconcatenated_filename): New declaration.
65076         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
65077         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
65078         memory situations.
65079         * lib/xconcat-filename.c: New file.
65080         * NEWS: Mention the change.
65081         * lib/findprog.c: Include concat-filename.h, not filename.h.
65082         (find_in_path): Use xconcatenated_filename instead of
65083         concatenated_filename.
65084         * lib/javacomp.c: Include concat-filename.h, not filename.h.
65085         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
65086         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
65087         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
65088         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
65089         instead of concatenated_filename.
65090         * lib/javaexec.c: Include concat-filename.h, not filename.h.
65091         (execute_java_class): Use xconcatenated_filename instead of
65092         concatenated_filename.
65093         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
65094         * modules/javacomp (Depends-on): Likewise.
65095         * modules/javaexec (Depends-on): Likewise.
65096
65097 2008-09-01  Bruno Haible  <bruno@clisp.org>
65098
65099         Split module 'filename' into 'filename' and 'concat-filename'.
65100         * modules/filename: Keep only lib/filename.h.
65101         (License): Change to LGPLv2+.
65102         * modules/concat-filename: New file, extracted from modules/filename.
65103         * lib/filename.h (concatenated_filename): Remove declaration.
65104         * lib/concat-filename.h: New file, extracted from lib/filename.h.
65105         * lib/concat-filename.c: Include concat-filename.h.
65106         * NEWS: Mention the change.
65107
65108 2008-09-01  Simon Josefsson  <simon@josefsson.org>
65109
65110         * lib/bitrotate.h (rotl8, rotr8): Add.
65111
65112         * modules/bitrotate (configure.ac): Need
65113         AC_REQUIRE([AC_C_INLINE]).
65114         (Description): Mention stdint.h.  Reported by Bruno Haible
65115         <bruno@clisp.org>.
65116
65117         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
65118         Paolo Bonzini <bonzini@gnu.org>.
65119
65120 2008-08-31  Bruno Haible  <bruno@clisp.org>
65121
65122         Assume Solaris specific bi-arch conventions on Solaris systems.
65123         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
65124         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
65125         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
65126         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
65127         like acl_libdirstem.
65128         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
65129         acl_libdirstem.
65130         * NEWS: Mention the change.
65131         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
65132
65133 2008-08-31  Jim Meyering  <meyering@redhat.com>
65134
65135         * lib/strftime.h: Add comments describing the two added arguments.
65136
65137         remove duplicate #include directives
65138         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
65139         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
65140
65141 2008-08-31  Bruno Haible  <bruno@clisp.org>
65142
65143         New module 'sigpipe-die'.
65144         * modules/sigpipe-die: New file.
65145         * lib/sigpipe-die.h: New file.
65146         * lib/sigpipe-die.c: New file.
65147         * MODULES.html.sh (Signal handling): Add sigpipe-die.
65148
65149 2008-08-31  Bruno Haible  <bruno@clisp.org>
65150
65151         Don't override previously installed signal handlers.
65152         * lib/fatal-signal.c (saved_sigactions): New variable.
65153         (uninstall_handlers): Reset the signal to the saved handler, not
65154         to SIG_DFL (except when ignored).
65155         (install_handlers): Save the previous handlers.
65156
65157 2008-08-30  Bruno Haible  <bruno@clisp.org>
65158
65159         * gnulib-tool (func_reset_sigpipe): New function.
65160         (func_get_automake_snippet, func_modules_transitive_closure,
65161         func_import): Invoke it before a join command that reads from stdin,
65162         to avoid "echo: write error: Broken pipe" error messages on stderr.
65163         Reported by Sam Steingold <sds@gnu.org>.
65164
65165 2008-08-30  Bruno Haible  <bruno@clisp.org>
65166
65167         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
65168         Code copied from m4/open.m4.
65169         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
65170         access and the filename ends in a slash. Code copied from lib/open.c.
65171         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
65172         * tests/test-fopen.c (main): Check against bug with trailing slash.
65173
65174 2008-08-29  Bruno Haible  <bruno@clisp.org>
65175
65176         Avoid some "gcc -pedantic" warnings.
65177         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
65178         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
65179         * lib/dirent.in.h: Likewise.
65180         * lib/fcntl.in.h: Likewise.
65181         * lib/float.in.h: Likewise.
65182         * lib/iconv.in.h: Likewise.
65183         * lib/inttypes.in.h: Likewise.
65184         * lib/locale.in.h: Likewise.
65185         * lib/math.in.h: Likewise.
65186         * lib/netinet_in.in.h: Likewise.
65187         * lib/search.in.h: Likewise.
65188         * lib/signal.in.h: Likewise.
65189         * lib/stdarg.in.h: Likewise.
65190         * lib/stdint.in.h: Likewise.
65191         * lib/stdio.in.h: Likewise.
65192         * lib/stdlib.in.h: Likewise.
65193         * lib/string.in.h: Likewise.
65194         * lib/strings.in.h: Likewise.
65195         * lib/sys_select.in.h: Likewise.
65196         * lib/sys_socket.in.h: Likewise.
65197         * lib/sys_stat.in.h: Likewise.
65198         * lib/sys_time.in.h: Likewise.
65199         * lib/sysexits.in.h: Likewise.
65200         * lib/time.in.h: Likewise.
65201         * lib/unistd.in.h: Likewise.
65202         * lib/wchar.in.h: Likewise.
65203         * lib/wctype.in.h: Likewise.
65204         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
65205         * modules/fchdir (Makefile.am): Likewise.
65206         * modules/fcntl (Makefile.am): Likewise.
65207         * modules/float (Makefile.am): Likewise.
65208         * modules/iconv_open (Makefile.am): Likewise.
65209         * modules/inttypes (Makefile.am): Likewise.
65210         * modules/locale (Makefile.am): Likewise.
65211         * modules/math (Makefile.am): Likewise.
65212         * modules/netinet_in (Makefile.am): Likewise.
65213         * modules/search (Makefile.am): Likewise.
65214         * modules/signal (Makefile.am): Likewise.
65215         * modules/stdarg (Makefile.am): Likewise.
65216         * modules/stdint (Makefile.am): Likewise.
65217         * modules/stdio (Makefile.am): Likewise.
65218         * modules/stdlib (Makefile.am): Likewise.
65219         * modules/string (Makefile.am): Likewise.
65220         * modules/strings (Makefile.am): Likewise.
65221         * modules/sys_select (Makefile.am): Likewise.
65222         * modules/sys_socket (Makefile.am): Likewise.
65223         * modules/sys_stat (Makefile.am): Likewise.
65224         * modules/sys_time (Makefile.am): Likewise.
65225         * modules/sysexits (Makefile.am): Likewise.
65226         * modules/time (Makefile.am): Likewise.
65227         * modules/unistd (Makefile.am): Likewise.
65228         * modules/wchar (Makefile.am): Likewise.
65229         * modules/wctype (Makefile.am): Likewise.
65230         Reported by Reuben Thomas <rrt@sc3d.org>.
65231
65232 2008-08-29  Bruno Haible  <bruno@clisp.org>
65233
65234         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
65235         any more.
65236
65237 2008-08-29  Simon Josefsson  <simon@josefsson.org>
65238
65239         * MODULES.html.sh (Misc): Add bitrotate.
65240
65241         * modules/bitrotate: New file.
65242
65243         * lib/bitrotate.h: New file.
65244
65245         * modules/bitrotate-tests: New file.
65246
65247         * tests/test-bitrotate.c: New file.
65248
65249         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
65250         on the bitrotate module.
65251
65252         * lib/arctwo.c: Use new bitrotate module.
65253
65254 2008-08-29  Jim Meyering  <meyering@redhat.com>
65255
65256         bootstrap: merge changes from coreutils
65257         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
65258         of copied files.  Remove a kludge, now that this is fixed.
65259         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
65260         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
65261         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
65262
65263 2008-08-29  Bruno Haible  <bruno@clisp.org>
65264
65265         * MODULES.html.sh: Remove --cvs-urls option.
65266
65267 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
65268
65269         maint.mk: adjust to file name change
65270         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
65271
65272 2008-08-28  Jim Meyering  <meyering@redhat.com>
65273
65274         * modules/getndelim2 (License): Relicense to LGPLv2+.
65275         Approved by Richard Stallman for the version of 1995, and by
65276         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
65277
65278 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
65279
65280         * lib/getdelim.c (flockfile, funlockfile): Make all of them
65281         dummy if one is not available.  Do not touch them if
65282         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
65283         (getc_maybe_unlocked): New.
65284         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
65285
65286 2008-08-26  Eric Blake  <ebb9@byu.net>
65287
65288         doc/INSTALL: resync from autoconf
65289         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
65290         (INSTALL_PRELUDE): Delete; this is done more efficiently by
65291         moving...
65292         * install.texi [!autoconf]: ...here.  Resync from autoconf.
65293         * INSTALL: Regenerate.
65294         * INSTALL.ISO: New file.
65295         * INSTALL.UTF-8: Likewise.
65296
65297 2008-08-26  Jim Meyering  <meyering@redhat.com>
65298
65299         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
65300         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
65301         these definitions conditional, so that they may be overridden, too.
65302
65303 2008-08-26  Bruno Haible  <bruno@clisp.org>
65304
65305         Generate INSTALL file variants with prettier quotes.
65306         * doc/Makefile (INSTALL_PRELUDE): New macro.
65307         (INSTALL): Use it.
65308         (INSTALL.ISO, INSTALL.UTF-8): New rules.
65309
65310 2008-08-26  Bruno Haible  <bruno@clisp.org>
65311
65312         Run makeinfo in an English locale.
65313         * doc/Makefile (MAKEINFO): New variable.
65314
65315 2008-08-26  Bruno Haible  <bruno@clisp.org>
65316
65317         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
65318         Suggested by Eric Blake.
65319
65320 2008-08-25  Bruno Haible  <bruno@clisp.org>
65321
65322         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
65323
65324 2008-08-25  Eric Blake  <ebb9@byu.net>
65325
65326         c-stack: test that stack overflow can be caught
65327         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
65328         that platform allows handling stack overflow; at least OS/2 EMX
65329         has sigaltstack, but crashes before transferring control to
65330         handler on stack overflow.
65331         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
65332         check for HAVE_STACK_OVERFLOW_HANDLING.
65333         Reported by Elbert Pol.
65334
65335 2008-08-25  Bruno Haible  <bruno@clisp.org>
65336
65337         * doc/posix-functions/strftime.texi: Fix description of strftime
65338         module.
65339
65340 2008-08-24  Bruno Haible  <bruno@clisp.org>
65341
65342         * tests/uniwidth/test-uc_width2.c: New file.
65343         * tests/uniwidth/test-uc_width2.sh: New file.
65344         * modules/uniwidth/width-tests (Files): Add the new files.
65345         (TESTS): Add uniwidth/test-uc_width2.sh.
65346         (TESTS_ENVIRONMENT): New variable.
65347         (check_PROGRAMS): Add test-uc_width2.
65348         (test_uc_width2_SOURCES): New variable.
65349
65350         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
65351         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
65352         not 0x00AB.
65353         Reported by Alexander V. Lukyanov <lav@netis.ru>.
65354
65355 2008-08-22  Eric Blake  <ebb9@byu.net>
65356
65357         test-lock, test-tls: mention why a test is skipped
65358         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
65359         skipped.
65360         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
65361
65362         count-one-bits: relax license
65363         * modules/count-one-bits (License): Relicense to LGPLv2+.
65364         Suggested by Ludovic Courtès, approved by Ben Pfaff.
65365
65366 2008-08-22  Andreas Schwab  <schwab@suse.de>
65367
65368         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
65369         Remove spurious space in assignment.
65370
65371 2008-08-21  Simon Josefsson  <simon@josefsson.org>
65372
65373         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
65374         Paul Eggert <eggert@CS.UCLA.EDU>.
65375
65376 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
65377
65378         * modules/gettext: Add m4/threadlib.m4.
65379
65380 2008-08-19  Eric Blake  <ebb9@byu.net>
65381
65382         test-c-stack: fix compilation failure on FreeBSD 5.0
65383         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
65384         headers before <sys/resource.h>.
65385         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
65386         the bug.
65387         Reported by Nelson H. F. Beebe.
65388
65389         strverscmp: migrate from "strverscmp.h" to <string.h>
65390         * modules/string (Makefile.am): Add new hooks.
65391         * modules/strverscmp (Files): Remove strverscmp.h.
65392         (Depends-on): Add string.
65393         (configure.ac): Add indicator.
65394         (Include): Mention new header.
65395         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
65396         defaults.
65397         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
65398         results.
65399         * lib/strverscmp.h: Delete.
65400         * lib/string.in.h (strverscmp): Provide declaration, when needed.
65401         * tests/test-strverscmp.c (includes): Adjust client.
65402         * lib/check-version.c (includes): Likewise.
65403         * NEWS: Document the change.
65404
65405         strverscmp: add unit test
65406         * modules/strverscmp-tests: New file.
65407         * tests/test-strverscmp.c: Likewise.
65408
65409 2008-08-19  Simon Josefsson  <simon@josefsson.org>
65410
65411         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
65412         regarding Windows crypto stuff, from Mono.
65413
65414 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
65415
65416         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
65417         if present, for intel RND.  Return error on failures.
65418
65419 2008-08-18  Ben Pfaff  <blp@gnu.org>
65420
65421         gitlog-to-changelog: give better diagnostic for failed pipe-open
65422         * build-aux/gitlog-to-changelog: Improve error message: suggest
65423         that the version of Git may be too old.
65424
65425 2008-08-18  Simon Josefsson  <simon@josefsson.org>
65426
65427         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
65428         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
65429
65430 2008-08-18  Bruno Haible  <bruno@clisp.org>
65431
65432         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
65433         pthread_in_use().
65434
65435 2008-08-18  Bruno Haible  <bruno@clisp.org>
65436
65437         * lib/glthread/threadlib.c: Include <pthread.h>.
65438
65439 2008-08-18  Bruno Haible  <bruno@clisp.org>
65440
65441         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
65442         glthread_recursive_lock_* macros.
65443         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
65444         Fix syntax error.
65445
65446 2008-08-18  Bruno Haible  <bruno@clisp.org>
65447
65448         * lib/glthread/thread.c: Avoid forcing a context switch right after
65449         thread creation.
65450
65451 2008-08-17  Bruno Haible  <bruno@clisp.org>
65452
65453         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
65454         * lib/glthread/thread.h: Provide Win32 specific implementation.
65455         * modules/thread (Files): Add lib/glthread/thread.c.
65456         (Depends-on): Add lock.
65457         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
65458
65459 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65460
65461         New module 'yield'.
65462         * modules/yield: New file.
65463         * lib/glthread/yield.h: New file.
65464         * m4/yield.m4: New file.
65465         * MODULES.html.sh (Multithreading): Add yield.
65466
65467 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65468
65469         New module 'thread'.
65470         * modules/thread: New file.
65471         * lib/glthread/thread.h: New file.
65472         * m4/thread.m4: New file.
65473         * MODULES.html.sh (Multithreading): Add thread.
65474
65475 2008-08-17  Bruno Haible  <bruno@clisp.org>
65476
65477         * lib/glthread/lock.h: Include <stdlib.h> always.
65478         * lib/glthread/tls.h: Likewise.
65479         * lib/glthread/cond.h: Likewise.
65480
65481 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65482
65483         New module 'cond'.
65484         * modules/cond: New file.
65485         * lib/glthread/cond.h: New file.
65486         * lib/glthread/cond.c: New file.
65487         * m4/cond.m4: New file.
65488         * MODULES.html.sh (Multithreading): Add cond.
65489
65490 2008-08-16  Eric Blake  <ebb9@byu.net>
65491
65492         c-stack: fix regression on Irix 5.3 from 2008-06-21
65493         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
65494         sa_sigaction...
65495         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
65496         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
65497         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
65498         * modules/signal (Makefile.am): Use the value.
65499         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
65500         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
65501         * doc/posix-headers/signal.texi (signal.h): Document this
65502         portability issue.
65503         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
65504         Reported by Tom G. Christensen.
65505
65506 2008-08-17  Bruno Haible  <bruno@clisp.org>
65507
65508         New module 'threadlib'.
65509         * modules/threadlib: New file.
65510         * lib/glthread/threadlib.c: New file, extracted from
65511         lib/glthread/lock.c.
65512         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
65513         functions.
65514         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
65515         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
65516         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
65517         macros.
65518         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
65519         (gl_DISABLE_THREADS): Remove macro.
65520         * modules/lock (Files): Remove build-aux/config.rpath.
65521         (Depends-on): Remove havelib. Add threadlib.
65522         (configure.ac-early): Remove section.
65523         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
65524         * modules/tls (Depends-on): Remove lock. Add threadlib.
65525         (Link): New section, copied from threadlib.
65526         * MODULES.html.sh (Multithreading): Add threadlib.
65527
65528 2008-08-14  Bruno Haible  <bruno@clisp.org>
65529
65530         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
65531         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
65532         glthread_rwlock_unlock, glthread_rwlock_destroy,
65533         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
65534         glthread_recursive_lock_destroy): Define as macros always.
65535         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
65536         glthread_lock_lock.
65537         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
65538         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
65539         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
65540         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
65541         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
65542         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
65543         (glthread_recursive_lock_lock_func): Renamed from
65544         glthread_recursive_lock_lock.
65545         (glthread_recursive_lock_unlock_func): Renamed from
65546         glthread_recursive_lock_unlock.
65547         (glthread_recursive_lock_destroy_func): Renamed from
65548         glthread_recursive_lock_destroy.
65549
65550 2008-08-14  Bruno Haible  <bruno@clisp.org>
65551
65552         * lib/glthread/lock.h: Renamed from lib/lock.h.
65553         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
65554         * lib/glthread/tls.h: Renamed from lib/tls.h.
65555         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
65556         * lib/fstrcmp.c: Update includes.
65557         * lib/strsignal.c: Update includes.
65558         * modules/lock (Files, Makefile.am): Update.
65559         (Include): Change to "glthread/lock.h".
65560         * modules/tls (Files, Makefile.am): Update.
65561         (Include): Change to "glthread/tls.h".
65562         * tests/test-lock.c: Update includes.
65563         * tests/test-tls.c: Update includes.
65564         * NEWS: Mention the renamed header files.
65565
65566 2008-08-11  Jim Meyering  <meyering@redhat.com>
65567
65568         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
65569
65570 2008-08-11  Eric Blake  <ebb9@byu.net>
65571
65572         test-c-stack: avoid C99-ism
65573         * tests/test-c-stack.c (main): Fix whitespace, move declaration
65574         before statement.
65575         Reported by Alain Guibert.
65576
65577 2008-08-10  Jim Meyering  <meyering@redhat.com>
65578
65579         ensure that return value of uinttostr et al are not ignored
65580         * lib/inttostr.h (__GNUC_PREREQ): Define.
65581         (__attribute_warn_unused_result__): Define.
65582         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
65583
65584 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
65585
65586         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
65587         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
65588
65589 2008-08-07  Jim Meyering  <meyering@redhat.com>
65590
65591         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
65592
65593         * modules/mkstemp (License): Relicense under LGPLv2+.
65594         * modules/tempname (License): Likewise.
65595
65596 2008-08-06  Bruno Haible  <bruno@clisp.org>
65597
65598         * lib/poll.c (poll): Further micro-optimization.
65599
65600 2008-08-06  Jim Meyering  <meyering@redhat.com>
65601
65602         inet_pton.c: use locale-independent tolower
65603         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
65604         (inet_pton6): Use c_tolower rather than tolower.
65605         * modules/inet_pton (Depends-on): Add c-ctype.
65606
65607 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
65608
65609         * lib/poll.c (poll): Avoid division when timeout is 0, cache
65610         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
65611
65612 2008-08-06  Jim Meyering  <meyering@redhat.com>
65613
65614         * modules/inet_pton (License): Relicense under LGPLv2+.
65615
65616 2008-08-03  Bruno Haible  <bruno@clisp.org>
65617
65618         Additional non-aborting API for lock and tls.
65619         * lib/lock.h: Include <errno.h>.
65620         (glthread_lock_init): New macro/function.
65621         (gl_lock_init): Define as wrapper around glthread_lock_init.
65622         (glthread_lock_lock): New macro/function.
65623         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
65624         (glthread_lock_unlock): New macro/function.
65625         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
65626         (glthread_lock_destroy): New macro/function.
65627         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
65628         (glthread_rwlock_init): New macro/function.
65629         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
65630         (glthread_rwlock_rdlock): New macro/function.
65631         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
65632         (glthread_rwlock_wrlock): New macro/function.
65633         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
65634         (glthread_rwlock_unlock): New macro/function.
65635         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
65636         (glthread_rwlock_destroy): New macro/function.
65637         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
65638         (glthread_recursive_lock_init): New macro/function.
65639         (gl_recursive_lock_init): Define as wrapper around
65640         glthread_recursive_lock_init.
65641         (glthread_recursive_lock_lock): New macro/function.
65642         (gl_recursive_lock_lock): Define as wrapper around
65643         glthread_recursive_lock_lock.
65644         (glthread_recursive_lock_unlock): New macro/function.
65645         (gl_recursive_lock_unlock): Define as wrapper around
65646         glthread_recursive_lock_unlock.
65647         (glthread_recursive_lock_destroy): New macro/function.
65648         (gl_recursive_lock_destroy): Define as wrapper around
65649         glthread_recursive_lock_destroy.
65650         (glthread_once): New macro/function.
65651         (gl_once): Define as wrapper around glthread_once.
65652         Update function declarations.
65653         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
65654         glthread_rwlock_init. Return error code.
65655         (glthread_rwlock_rdlock_multithreaded): Renamed from
65656         glthread_rwlock_rdlock. Return error code.
65657         (glthread_rwlock_wrlock_multithreaded): Renamed from
65658         glthread_rwlock_wrlock. Return error code.
65659         (glthread_rwlock_unlock_multithreaded): Renamed from
65660         glthread_rwlock_unlock. Return error code.
65661         (glthread_rwlock_destroy_multithreaded): Renamed from
65662         glthread_rwlock_destroy. Return error code.
65663         (glthread_recursive_lock_init_multithreaded): Renamed from
65664         glthread_recursive_lock_init. Return error code.
65665         (glthread_recursive_lock_lock_multithreaded): Renamed from
65666         glthread_recursive_lock_lock. Return error code.
65667         (glthread_recursive_lock_unlock_multithreaded): Renamed from
65668         glthread_recursive_lock_unlock. Return error code.
65669         (glthread_recursive_lock_destroy_multithreaded): Renamed from
65670         glthread_recursive_lock_destroy. Return error code.
65671         (glthread_once_call): Make static.
65672         (glthread_once_multithreaded): Renamed from glthread_once.
65673         * lib/tls.h: Include <errno.h>.
65674         (glthread_tls_key_init): New macro/function.
65675         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
65676         (glthread_tls_set): New macro/function.
65677         (gl_tls_set): Define as wrapper around glthread_tls_set.
65678         (glthread_tls_key_destroy): New macro/function.
65679         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
65680         Update function declarations.
65681         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
65682         glthread_tls_get.
65683         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
65684
65685 2008-08-04  Eric Blake  <ebb9@byu.net>
65686
65687         gnumakefile: use space, not TAB, outside of targets
65688         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
65689
65690 2008-08-02  Jim Meyering  <meyering@redhat.com>
65691
65692         getdate.y: avoid locale-dependent date parsing failure
65693         In Turkish locales, getdate would fail to recognize keywords
65694         containing a lowercase "i".  The solution is not to rely on
65695         locale-sensitive case-conversion.
65696         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
65697         (lookup_word): Use c_toupper in place of toupper.
65698         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
65699         Reported by Vefa Bicakci <bicave@superonline.com> in
65700         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
65701         * modules/getdate (Depends-on): Add c-ctype.
65702
65703 2008-08-02  Bruno Haible  <bruno@clisp.org>
65704
65705         * gnulib-tool (func_import): When updating or creating a .gitignore
65706         file, prepend each added line with a slash, and ignore leading slashes
65707         from the existing lines.
65708         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65709
65710 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65711
65712         Portability fix for GNU make 3.79.1.
65713         * top/GNUmakefile: Avoid 'else COND', which older GNU make
65714         versions do not understand.
65715
65716 2008-08-01  Bruno Haible  <bruno@clisp.org>
65717
65718         Work around bug of HP-UX 10.20 cc with -0.0 literal.
65719         * tests/test-isnanf.h (zero): New variable.
65720         (main): Avoid literal -0.0f.
65721         * tests/test-isnand.h (zero): New variable.
65722         (main): Avoid literal -0.0.
65723         * tests/test-isnanl.h (zero): New variable.
65724         (main): Avoid literal -0.0L.
65725         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
65726         (test_float, test_double, test_long_double): Avoid literals -0.0f,
65727         -0.0, -0.0L.
65728         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
65729         (test_signbitd): Avoid literal -0.0.
65730         (test_signbitl): Avoid literal -0.0L.
65731         * tests/test-ceilf1.c (zero): New variable.
65732         (main): Avoid literal -0.0f.
65733         * tests/test-ceill.c (zero): New variable.
65734         (main): Avoid literal -0.0L.
65735         * tests/test-floorf1.c (zero): New variable.
65736         (main): Avoid literal -0.0f.
65737         * tests/test-floorl.c (zero): New variable.
65738         (main): Avoid literal -0.0L.
65739         * tests/test-roundf1.c (zero): New variable.
65740         (main): Avoid literal -0.0f.
65741         * tests/test-round1.c (zero): New variable.
65742         (main): Avoid literal -0.0.
65743         * tests/test-roundl.c (zero): New variable.
65744         (main): Avoid literal -0.0L.
65745         * tests/test-truncf1.c (zero): New variable.
65746         (main): Avoid literal -0.0f.
65747         * tests/test-trunc1.c (zero): New variable.
65748         (main): Avoid literal -0.0.
65749         * tests/test-truncl.c (zero): New variable.
65750         (main): Avoid literal -0.0L.
65751         * tests/test-frexp.c (zero): New variable.
65752         (main): Avoid literal -0.0.
65753         * tests/test-frexpl.c (zero): New variable.
65754         (main): Avoid literal -0.0L.
65755         * tests/test-ldexpl.c (zero): New variable.
65756         (main): Avoid literal -0.0L.
65757         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
65758         (zerod, zerol): New variables.
65759         (test_function): Avoid literals -0.0, -0.0L.
65760         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
65761         (zerod, zerol): New variables.
65762         (test_function): Avoid literals -0.0, -0.0L.
65763         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
65764         (zerod, zerol): New variables.
65765         (test_function): Avoid literals -0.0, -0.0L.
65766         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
65767         (zerod, zerol): New variables.
65768         (test_function): Avoid literals -0.0, -0.0L.
65769         * tests/test-strtod.c (zero): New variable.
65770         (main): Avoid literal -0.0.
65771         Reported by Jonathan C. Patschke <jp@centtech.com>.
65772
65773 2008-07-31  Jim Meyering  <meyering@redhat.com>
65774
65775         sha256.h: correct definition of SHA224_DIGEST_SIZE
65776         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
65777         Reported by Paulie Pena IV <paulie4@gmail.com>.
65778         Define as 224 / 8, rather than as a literal.
65779         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
65780         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
65781         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
65782
65783 2008-07-31  Bruno Haible  <bruno@clisp.org>
65784
65785         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
65786         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
65787         Reported by Jonathan Patschke <jp@centtech.com>.
65788
65789 2008-07-31  Bruno Haible  <bruno@clisp.org>
65790
65791         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
65792         Reported by Paolo Bonzini <bonzini@gnu.org>.
65793
65794 2008-07-30  Eric Blake  <ebb9@byu.net>
65795
65796         test-strtod: allow compilation without -lm
65797         * tests/test-strtod.c (main): Avoid link dependence on fabs.
65798         Reported by Dennis Clarke <blastwave@gmail.com>.
65799
65800 2008-07-28  Jim Meyering  <meyering@redhat.com>
65801
65802         bootstrap: work also when there are no .po files in po/
65803         * build-aux/bootstrap (update_po_files): Complete the change
65804         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
65805
65806 2008-07-27  Jim Meyering  <meyering@redhat.com>
65807
65808         * users.txt: Add zile.
65809
65810 2008-07-26  Ben Pfaff  <blp@gnu.org>
65811
65812         Add missing dependencies on new m4/exponent[fdl].m4 files.
65813         * modules/isnanf-nolibm: Add m4/exponentf.m4.
65814         * modules/isnand-nolibm: Add m4/exponentd.m4.
65815         * modules/isnanl-nolibm: Add m4/exponentl.m4.
65816         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
65817         m4/isnan[fdl].m4, because the macros actually used moved.
65818         Reported by Jim Meyering.
65819
65820 2008-07-14  Ben Pfaff  <blp@gnu.org>
65821
65822         Add isinf module.
65823         * lib/isinf.c: New file.
65824         * lib/math.in.h: Define isinf macro if we have decided to replace
65825         it.
65826         * m4/isinf.m4: New file.
65827         * m4/math_h.m4: Initialize and substitute variables for isinf
65828         module.
65829         * modules/isinf: New file.
65830         * modules/isinf-tests: New file.
65831         * modules/math: Add substitutions for new module.
65832         * tests/test-isinf.c: New file.
65833         * doc/posix-functions/isinf.texi: Mention new module.
65834         * MODULES.html.sh: Mention new module.
65835
65836 2008-07-14  Ben Pfaff  <blp@gnu.org>
65837
65838         Factor out some macros for use by additional modules.
65839         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
65840         exponentf.m4.
65841         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
65842         exponentd.m4.
65843         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
65844         file exponentl.m4.
65845         * m4/exponentf.m4: New file.
65846         * m4/exponentd.m4: New file.
65847         * m4/exponentl.m4: New file.
65848         * modules/isnanf: Use new file m4/exponentf.m4.
65849         * modules/isnand: Use new file m4/exponentd.m4.
65850         * modules/isnanl: Use new file m4/exponentl.m4.
65851
65852 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
65853
65854         mktime.c: normalize tp->tm_isdst value to -1/0/1.
65855         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
65856         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
65857         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
65858
65859         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
65860         readlink on platforms without PATH_MAX.
65861
65862 2008-07-21  Eric Blake  <ebb9@byu.net>
65863
65864         Warn, not fail, on stale version.
65865         * top/GNUmakefile (_curr-ver): Tone down previous patch.
65866
65867         Don't allow installation with stale devel version number.
65868         * top/GNUmakefile (_is-install-target): New macro.
65869         (_curr-ver): Forbid installation with stale version number.
65870
65871 2008-07-20  Bruno Haible  <bruno@clisp.org>
65872
65873         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
65874         TESTS_ENVIRONMENT.
65875         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
65876
65877 2008-07-20  Bruno Haible  <bruno@clisp.org>
65878
65879         * lib/c-stack.h (c_stack_action): Add documentation.
65880         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
65881
65882 2008-07-20  Bruno Haible  <bruno@clisp.org>
65883
65884         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
65885         * modules/readlink (License): Likewise.
65886
65887 2008-07-17  Eric Blake  <ebb9@byu.net>
65888
65889         * modules/c-stack (Link): Fix typo.
65890
65891         Make c-stack use libsigsegv, when available.
65892         * modules/c-stack (Depends-on): Add libsigsegv.
65893         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
65894         needed.
65895         * lib/c-stack.c (SIGSTKSZ): Define fallback.
65896         (segv_handler, overflow_handler, c_stack_action)
65897         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
65898         implementation when libsigsegv is available, but only when using
65899         the library is necessary.
65900         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
65901         comment, explaining why XSI check fails on Linux.
65902         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
65903         * tests/test-c-stack2.sh: Tweak skip message.
65904         * NEWS: Document new link-time requirements.
65905
65906 2008-07-16  Eric Blake  <ebb9@byu.net>
65907
65908         c-stack: Expose false positives when not using libsigsegv.
65909         * modules/c-stack-tests (Files): Expand test.
65910         * tests/test-c-stack.c (main): Add means to conditionally trigger
65911         non-overflow SIGSEGV.
65912         * tests/test-c-stack2.sh: New file.
65913
65914 2008-07-14  Bruno Haible  <bruno@clisp.org>
65915
65916         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
65917         Reported by Eric Blake.
65918
65919 2008-07-14  Sam Steingold  <sds@gnu.org>
65920             Bruno Haible  <bruno@clisp.org>
65921
65922         New module libsigsegv.
65923         * modules/libsigsegv: New file.
65924         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
65925         modifications.
65926         * MODULES.html.sh (Signal handling): New section.
65927
65928 2008-07-14  Bruno Haible  <bruno@clisp.org>
65929
65930         * modules/unictype/ctype-* (Description): Add the word "function".
65931         Improves the resulting doc in MODULES.html.
65932
65933 2008-07-12  Ben Pfaff  <blp@gnu.org>
65934
65935         Add longlong module.
65936         * modules/longlong: New file.
65937
65938 2008-07-12  Bruno Haible  <bruno@clisp.org>
65939
65940         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
65941         to empty.
65942
65943 2008-07-10  Ben Pfaff  <blp@gnu.org>
65944
65945         Add isnan module.
65946         * doc/posix-functions/isnan.texi: Mention new module.
65947         * lib/math.in.h: Define isnan macro if we have decided to replace
65948         it.
65949         * m4/isnan.m4: New file.
65950         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
65951         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
65952         also.
65953         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
65954         redundancy.
65955         * m4/math_h.m4: Initialize and substitute variables for isnan
65956         module.
65957         * modules/isnan: New file.
65958         * modules/isnan-tests: New file.
65959         * modules/math: Add substitutions for new module.
65960         * tests/test-isnan.c: New file.
65961         * MODULES.html.sh: Mention new module.
65962
65963 2008-07-10  Ben Pfaff  <blp@gnu.org>
65964
65965         Add isnanf module.
65966         * lib/isnanf.m4: New file.
65967         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
65968         (gl_HAVE_ISNANF_IN_LIBM): New macro.
65969         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
65970         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
65971         * modules/isnanf: New file.
65972         * modules/isnanf-tests: New file.
65973         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
65974         files.
65975         * tests/test-isnanf-nolibm.c: factored most of its contents into
65976         new file tests/test-isnanf.h.
65977         * tests/test-isnanf.h: New file.
65978         * tests/test-isnanf.c: New file.
65979         * MODULES.html.sh: Mention new module.
65980         * doc/glibc-functions/isnanf.texi: Mention new module.
65981
65982 2008-07-10  Ben Pfaff  <blp@gnu.org>
65983
65984         Add isnand module.
65985         * lib/isnand.h: New file.
65986         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
65987         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
65988         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
65989         functionality also.
65990         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
65991         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
65992         (gl_HAVE_ISNAND_IN_LIBM): New macro.
65993         * modules/isnand: New file.
65994         * modules/isnand-tests: New file.
65995         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
65996         files.
65997         * tests/test-isnand-nolibm.c: factored most of its contents into
65998         new file tests/test-isnand.h.
65999         * tests/test-isnand.h: New file.
66000         * tests/test-isnand.c: New file.
66001         * MODULES.html.sh: Mention new module.
66002
66003 2008-07-10  Ben Pfaff  <blp@gnu.org>
66004
66005         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
66006         * lib/isnand.h: Rename lib/isnand-nolibm.h.
66007         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
66008         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
66009         * modules/isnanf-nolibm: Update references to renamed files.
66010         * modules/isnand-nolibm: Likewise.
66011         * modules/isnanf-nolibm-tests: Likewise.
66012         * modules/isnand-nolibm-tests: Likewise.
66013         * lib/frexp.c: Likewise.
66014         * lib/isfinite.c: Likewise.
66015         * lib/signbitd.c: Likewise.
66016         * lib/signbitf.c: Likewise.
66017         * lib/vasnprintf.c: Likewise.
66018         * tests/test-ceilf1.c: Likewise.
66019         * tests/test-ceilf2.c: Likewise.
66020         * tests/test-floorf1.c: Likewise.
66021         * tests/test-floorf2.c: Likewise.
66022         * tests/test-frexp.c: Likewise.
66023         * tests/test-round1.c: Likewise.
66024         * tests/test-round2.c: Likewise.
66025         * tests/test-roundf1.c: Likewise.
66026         * tests/test-strtod.c: Likewise.
66027         * tests/test-trunc1.c: Likewise.
66028         * tests/test-trunc2.c: Likewise.
66029         * tests/test-truncf1.c: Likewise.
66030         * tests/test-truncf2.c: Likewise.
66031         * NEWS: Mention the renamed header files.
66032
66033 2008-07-11  Jim Meyering  <meyering@redhat.com>
66034
66035         vc-list-files: make the last-resort awk code more portable
66036         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
66037         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
66038         does not support it.
66039
66040 2008-07-10  Eric Blake  <ebb9@byu.net>
66041
66042         Work with tar's bootstrap.
66043         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
66044         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
66045         an m4 comment.
66046
66047 2008-07-09  Jim Meyering  <meyering@redhat.com>
66048
66049         posix-shell.m4: fix typo that made this test malfunction
66050         * m4/posix-shell.m4: Remove capitalization in variable name.
66051
66052 2008-07-08  Bruno Haible  <bruno@clisp.org>
66053
66054         * m4/onceonly.m4: Update comments.
66055         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66056
66057 2008-07-04  Jim Meyering  <meyering@redhat.com>
66058
66059         * users.txt: Add vc-dwim.
66060         (bison, coreutils): Use the gitweb URL.
66061
66062 2008-07-03  Jim Meyering  <meyering@redhat.com>
66063
66064         * users.txt: Add libffcall.  From Sam Steingold.
66065
66066 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
66067
66068         getdate.y: do not ignore TZ with relative day, month or year offset
66069         * lib/getdate.y (get_date): Move the tz-handling block to follow the
66070         relative-date-handling, since otherwise, the latter would clobber the
66071         sole output (an updated Start value) of the tz-handling block.
66072         * tests/test-getdate.c: Tests for the fix
66073
66074 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66075
66076         Recognize 'foo_LIBRARIES += libgnu.a'.
66077         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
66078         makefile snippet has already specified an installation location,
66079         also using '+='.
66080
66081 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
66082
66083         getdate.y: factor out common actions
66084         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
66085         Use them in place of open-coded actions.
66086
66087 2008-07-01  Simon Josefsson  <simon@josefsson.org>
66088
66089         Add self-test for getdate module.
66090         * modules/getdate-tests: New file.
66091         * tests/test-getdate.c: New file.
66092
66093 2008-06-29  Bruno Haible  <bruno@clisp.org>
66094
66095         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
66096         .gitignore.
66097         Reported by Sylvain Beucler <beuc@beuc.net>.
66098
66099 2008-06-29  Bruno Haible  <bruno@clisp.org>
66100
66101         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
66102         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
66103
66104 2008-06-29  Bruno Haible  <bruno@clisp.org>
66105
66106         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
66107         EXTRA_DIST.
66108         Reported by Sylvain Beucler <beuc@beuc.net>.
66109
66110 2008-06-26  Jim Meyering  <meyering@redhat.com>
66111
66112         make several modules depend on the "open" module
66113         This provides slightly increased consistency when opening-for-write
66114         the name of a non-directory spelled with a trailing slash.
66115         * modules/chdir-safer: Likewise.
66116         * modules/chown: Likewise.
66117         * modules/clean-temp: Likewise.
66118         * modules/copy-file: Likewise.
66119         * modules/fchdir: Likewise.
66120         * modules/fcntl-safer: Likewise.
66121         * modules/pipe: Likewise.
66122         * modules/utime: Likewise.
66123         Prompted by Eric Blake and Bruno Haible.
66124
66125 2008-06-24  Andreas Schwab  <schwab@suse.de>
66126
66127         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
66128         literals can be used as initializers for global variables.
66129
66130 2008-06-23  Eric Blake  <ebb9@byu.net>
66131
66132         Make gnulib-cache.m4 easier to diff.
66133         * gnulib-tool (func_import): Allow newlines when reading cached
66134         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
66135
66136 2008-06-23  Bruno Haible  <bruno@clisp.org>
66137
66138         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
66139         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
66140         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
66141         m4/signalblocking.m4.
66142         (gl_PREREQ_SIGACTION): Don't invoke it.
66143         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
66144         gl_PREREQ_SIG_HANDLER_H.
66145         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
66146         Don't check for sigaction here.
66147
66148 2008-06-23  Bruno Haible  <bruno@clisp.org>
66149
66150         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
66151         (install_handlers): Don't set the SA_RESETHAND flag.
66152
66153 2008-06-23  Bruno Haible  <bruno@clisp.org>
66154
66155         * m4/sigaction.m4: Comment fixes.
66156         * lib/signal.in.h: Likewise.
66157
66158 2008-06-23  Eric Blake  <ebb9@byu.net>
66159
66160         Fix typo.
66161         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
66162
66163         Avoid SA_ namespace.
66164         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
66165         Reported by Ralf Wildenhues.
66166
66167         Avoid test failure due to SA_RESTORER.
66168         * tests/test-sigaction.c (SA_MASK): New macro.
66169         (main): Avoid failing due to extension flags being set.
66170         Reported by Jim Meyering.
66171
66172         Revert use of sig-handler.h in sigprocmask.c.
66173         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
66174         it requires the existence of struct sigaction.
66175         * lib/sigprocmask.c (handler_t): Restore typedef.
66176         (rpl_signal, old_handlers): Use local type.
66177
66178 2008-06-22  Bruno Haible  <bruno@clisp.org>
66179
66180         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
66181         conditionally.
66182         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66183
66184 2008-06-22  Bruno Haible  <bruno@clisp.org>
66185
66186         * doc/posix-functions/siginterrupt.texi: Move note.
66187
66188         * lib/signal.in.h (SA_RESTART): New macro.
66189         * lib/sigaction.c: Update comment.
66190
66191         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
66192
66193         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
66194         (gl_PREREQ_SIGPROCMASK): Invoke it.
66195         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
66196
66197         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
66198
66199         * lib/sigprocmask.c: Update a comment.
66200
66201 2008-06-21  Eric Blake  <ebb9@byu.net>
66202
66203         Use sigaction module rather than signal().
66204         * modules/c-stack (Depends-on): Add sigaction.
66205         * modules/fatal-signal (Depends-on): Likewise.
66206         * modules/nanosleep (Depends-on): Likewise.
66207         * modules/sigprocmask (Files): Add sig-handler.h.
66208         * modules/sigaction (Files): Likewise.
66209         * lib/sig-handler.h (get_handler): New file, suggested by Paul
66210         Eggert.
66211         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
66212         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
66213         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
66214         (init_fatal_signals): Likewise.
66215         * lib/nanosleep.c (rpl_nanosleep): Likewise.
66216         (siginterrupt): Delete fallback.
66217         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
66218         instead.
66219         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
66220         siginterrupt.
66221
66222         New module sigaction, for mingw.
66223         * modules/sigaction: New module...
66224         * modules/sigaction-tests: ...and its test.
66225         * m4/sigaction.m4: New file.
66226         * lib/sigaction.c: Likewise.
66227         * tests/test-sigaction.c: Likewise.
66228         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
66229         * modules/signal (Makefile.am): Likewise.
66230         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
66231         needed.
66232         * doc/posix-headers/signal.texi (signal.h): Mention provided
66233         types.
66234         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
66235         that sigaction is preferable.
66236         * doc/posix-functions/sigaction.texi (sigaction): Mention new
66237         module.
66238         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66239         sigaction.
66240
66241         Improve robustness of sigprocmask by overriding signal.
66242         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
66243         is in use.
66244         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
66245         (SIGKILL, SIGSTOP): Provide fallbacks.
66246         (rpl_signal): Implement.
66247         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
66248         signal can be called inside handlers.
66249
66250         Fix nanosleep module on mingw.
66251         * modules/nanosleep (Depends-on): Add sys_select.
66252         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
66253
66254         Fix licensing of sigprocmask.
66255         * modules/raise (License): Relicense as LGPL.
66256
66257 2008-06-21  Bruno Haible  <bruno@clisp.org>
66258
66259         * lib/propername.c (proper_name_utf8): Don't use the transliterated
66260         result if it contains question marks.
66261         Reported by Michael Geng <linux@michaelgeng.de>.
66262
66263 2008-06-19  Bruno Haible  <bruno@clisp.org>
66264
66265         Fix CVS-ism.
66266         * doc/gnulib.texi: Include updated-stamp.texi.
66267         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
66268         (updated-stamp.texi): New rule.
66269         (gnulib.info): Depend on it.
66270         * doc/.gitignore: Add updated-stamp.texi.
66271         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
66272
66273 2008-06-19  Bruno Haible  <bruno@clisp.org>
66274
66275         * doc/Makefile (gnulib.info): Update and simplify dependencies.
66276         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
66277
66278 2008-06-19  Eric Blake  <ebb9@byu.net>
66279
66280         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
66281         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
66282         Reported by Stepan Kasal.
66283
66284 2008-06-18  Bruno Haible  <bruno@clisp.org>
66285
66286         * lib/fatal-signal.c (init_fatal_signals): Add comment.
66287         Reported by Eric Blake.
66288
66289 2008-06-18  Eric Blake  <ebb9@byu.net>
66290
66291         Work around cygwin 1.5.25 strsignal bug.
66292         * tests/test-strsignal.c: Allow for const char *.
66293         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
66294
66295 2008-06-18  Simon Josefsson  <simon@josefsson.org>
66296
66297         * users.txt: Update URL to article and add author/date
66298         information.
66299
66300 2008-06-17  Bruno Haible  <bruno@clisp.org>
66301
66302         New macro gl_DISABLE_THREADS.
66303         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
66304         if the user did not pass --enable-threads or --disable-threads option.
66305         (gl_DISABLE_THREADS): New macro.
66306         Reported by Eric Blake <ebb9@byu.net>.
66307
66308 2008-06-17  Bruno Haible  <bruno@clisp.org>
66309
66310         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
66311         when the macro ignores it.
66312         Based on a patch by Eric Blake <ebb9@byu.net>.
66313
66314 2008-06-17  Bruno Haible  <bruno@clisp.org>
66315
66316         * modules/tls (License): Change to LGPLv2+.
66317         Reported by Eric Blake.
66318
66319 2008-06-17  Eric Blake  <ebb9@byu.net>
66320
66321         Simplify c-stack prerequisites.
66322         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
66323         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
66324         no longer requires <ucontext.h> to exist.  Optimize setrlimit
66325         check.
66326         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
66327         <sys/resource.h>.
66328
66329         Move c-stack test into testsuite.
66330         * modules/c-stack-tests: New file.
66331         * lib/c-stack.c [DEBUG]: Move test program...
66332         * tests/test-c-stack.c: ...into this new file.  Skip rather than
66333         fail test if sigaltstack is lacking.
66334         * tests/test-c-stack.sh: New driver file.
66335
66336 2008-06-16  Eric Blake  <ebb9@byu.net>
66337
66338         Use raise module consistently.
66339         * modules/fatal-signal (Depends-on): Add raise.
66340         * modules/sigprocmask (Depends-on): Likewise.
66341         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
66342         * lib/sigprocmask.c (sigprocmask): Likewise.
66343         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
66344         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
66345
66346         Fix compliance bug in sigpending.
66347         * lib/sigprocmask.c (sigpending): Return pending array via
66348         parameter, not return value.
66349
66350 2008-06-14  Eric Blake  <ebb9@byu.net>
66351
66352         Improve obstack-printf test code.
66353         * tests/test-obstack-printf.c (test_function): Fix comment, and
66354         simplify usage of obstack_* in macros.  Add a test for coverage.
66355         Reported by Bruno Haible.
66356
66357 2008-06-14  Bruno Haible  <bruno@clisp.org>
66358
66359         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
66360         array size as a constant, not as a const variable.
66361         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
66362         AC_USE_SYSTEM_EXTENSIONS.
66363         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
66364         Test whether the obstack_printf function actually exists.
66365         * modules/obstack-printf (Depends-on): Add extensions.
66366         (Include): Remove obstack.h.
66367         * modules/obstack-printf-posix (Depends-on): Add extensions.
66368         (Include): Remove obstack.h.
66369
66370 2008-06-13  Eric Blake  <ebb9@byu.net>
66371
66372         Add obstack-printf and obstack-printf-posix modules.
66373         * modules/obstack-printf: New file.
66374         * modules/obstack-printf-posix: Likewise.
66375         * MODULES.html.sh (Misc): Mention them.
66376         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
66377         Likewise.
66378         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
66379         Likewise.
66380         * modules/stdio (Makefile.am): Accomodate new modules.
66381         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66382         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
66383         Declare.
66384         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
66385         functions.
66386         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
66387         (gl_REPLACE_OBSTACK_PRINTF): New macros
66388         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
66389         * tests/test-obstack-printf.c: New file.
66390         * modules/obstack-printf-tests: Likewise.
66391         * modules/obstack-printf-posix-tests: Likewise.
66392
66393 2008-06-11  Bruno Haible  <bruno@clisp.org>
66394
66395         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
66396         * lib/open.c: Include errno.h.
66397         (open): Fail when attempting to write to a file that has a trailing
66398         slash.
66399         * tests/test-open.c (main): Test against trailing slash bug.
66400         * doc/posix-functions/open.texi: Mention the trailing slash bug.
66401
66402 2008-06-10  Bruno Haible  <bruno@clisp.org>
66403
66404         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
66405         for $? to work inside the trap command, with various /bin/sh-s.
66406         * tests/test-vc-list-files-cvs.sh: Likewise.
66407
66408 2008-06-10  Bruno Haible  <bruno@clisp.org>
66409
66410         * lib/acl-internal.h: Don't include gettext.h here.
66411         * lib/set-mode-acl.c: Include gettext.h here.
66412         * lib/copy-acl.c: Likewise.
66413
66414 2008-06-10  Bruno Haible  <bruno@clisp.org>
66415
66416         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
66417         * lib/wait-process.c (wait_subprocess): Likewise.
66418         * lib/execute.h (execute): Add termsigp argument.
66419         * lib/execute.c (execute): Likewise.
66420         * lib/csharpcomp.c (compile_csharp_using_pnet,
66421         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
66422         * lib/csharpexec.c (execute_csharp_using_pnet,
66423         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
66424         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
66425         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
66426         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
66427         is_jikes_present): Update.
66428         * lib/javaexec.c (execute_java_class): Update.
66429         * lib/javaversion.c (execute_and_read_line): Update.
66430         * NEWS: Document the changes.
66431         Reported by Eric Blake.
66432
66433 2008-06-10  Eric Blake  <ebb9@byu.net>
66434
66435         Add missing include.
66436         * tests/test-strstr.c (includes): Add <signal.h>.
66437         * tests/test-strcasestr.c (includes): Likewise.
66438         * tests/test-memmem.c (includes): Likewise.
66439
66440 2008-06-10  Bruno Haible  <bruno@clisp.org>
66441
66442         * lib/wait-process.c (wait_subprocess): Add an assertion.
66443
66444 2008-06-10  Bruno Haible  <bruno@clisp.org>
66445
66446         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
66447
66448 2008-06-10  Bruno Haible  <bruno@clisp.org>
66449
66450         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
66451         using alarm().
66452         * tests/test-strcasestr.c (main): Likewise.
66453         * tests/test-strstr.c (main): Likewise.
66454
66455 2008-06-09  Bruno Haible  <bruno@clisp.org>
66456
66457         Work around the Solaris 10 ACE ACLs ABI change.
66458         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
66459         declare if ACL_NO_TRIVIAL is present.
66460         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
66461         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
66462         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
66463         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
66464         define if ACL_NO_TRIVIAL is present.
66465         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
66466         and use the current ABI.
66467         (file_has_acl): Use same #if condition as elsewhere.
66468         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
66469         in use, and use the current ABI.
66470         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
66471         Reported by Jim Meyering.
66472
66473 2008-06-09  Eric Blake  <ebb9@byu.net>
66474
66475         Work around environments that (stupidly) ignore SIGALRM.
66476         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
66477         before using alarm().
66478         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66479         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66480         Reported by Ian Beckwith <ianb@erislabs.net>.
66481
66482         Produce autobuild blurb earlier in log.
66483         * modules/autobuild (configure.ac-early): Move AB_INIT here.
66484
66485 2008-06-09  Jim Meyering  <meyering@redhat.com>
66486         and Ondřej Vašík  <ovasik@redhat.com>
66487
66488         utimens.c: correct kernel bug work-around
66489         Ondřej Vašík found that the invalid return value of 280 indicates
66490         failure, not success, and the kernel bug we're trying to work
66491         around affects not just the utimensat call, but also the fallback
66492         futimens call.
66493         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
66494         not success.
66495         [HAVE_FUTIMENS]: Use the same work-around, here.
66496
66497 2008-06-09  Jim Meyering  <meyering@redhat.com>
66498
66499         add more guards around definition of ACE_-related code
66500         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
66501         ALLOW and ACE_OWNER are also defined.
66502
66503 2008-06-08  Bruno Haible  <bruno@clisp.org>
66504
66505         * lib/acl-internal.h: Add me as co-author.
66506         * lib/file-has-acl.c: Likewise.
66507         * lib/set-mode-acl.c: Likewise.
66508         * lib/copy-acl.c: Likewise.
66509
66510 2008-06-08  Bruno Haible  <bruno@clisp.org>
66511
66512         Add support for AIX ACLs.
66513         * lib/acl-internal.h (acl_nontrivial): New declaration.
66514         * lib/file-has-acl.c (acl_nontrivial): New function.
66515         (file_has_acl): Add implementation using AIX 4 ACL API.
66516         * lib/set-mode-acl.c (qset_acl): Likewise.
66517         * lib/copy-acl.c (qcopy_acl): Likewise.
66518
66519 2008-06-08  Bruno Haible  <bruno@clisp.org>
66520
66521         Add support for HP-UX ACLs.
66522         * lib/acl-internal.h (acl_nontrivial): New declaration.
66523         * lib/file-has-acl.c (acl_nontrivial): New function.
66524         (file_has_acl): Add implementation using HP-UX 11 ACL API.
66525         * lib/set-mode-acl.c (qset_acl): Likewise.
66526         * lib/copy-acl.c (qcopy_acl): Likewise.
66527
66528 2008-06-08  Bruno Haible  <bruno@clisp.org>
66529
66530         Add support for Cygwin ACLs.
66531         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
66532         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
66533         the chmod_or_fchmod call.
66534         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
66535
66536 2008-06-08  Bruno Haible  <bruno@clisp.org>
66537
66538         Fix bug with setuid modes in Solaris 10+ code.
66539         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
66540         succeeded, when the mode contains some special bits.
66541
66542 2008-06-08  Bruno Haible  <bruno@clisp.org>
66543
66544         Add support for Solaris 7..10 ACLs.
66545         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
66546         declarations.
66547         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
66548         functions.
66549         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
66550         * lib/set-mode-acl.c (qset_acl): Likewise.
66551         * lib/copy-acl.c (qcopy_acl): Likewise.
66552
66553 2008-06-08  Bruno Haible  <bruno@clisp.org>
66554
66555         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
66556         declaration.
66557         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
66558         (acl_access_nontrivial): Remove MacOS X case.
66559         (file_has_acl): Use acl_extended_nontrivial.
66560         * lib/copy-acl.c (qcopy_acl): Likewise.
66561
66562 2008-06-08  Bruno Haible  <bruno@clisp.org>
66563
66564         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
66565
66566 2008-06-08  Jim Meyering  <meyering@redhat.com>
66567
66568         * modules/acl (Maintainer): Add Bruno Haible.
66569
66570 2008-06-07  Bruno Haible  <bruno@clisp.org>
66571
66572         Improve support for Tru64 ACLs.
66573         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
66574         ACL on OSF/1.
66575
66576 2008-06-07  Bruno Haible  <bruno@clisp.org>
66577
66578         Add support for MacOS X ACLs.
66579         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
66580         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
66581         * lib/set-mode-acl.c (qset_acl): Likewise.
66582         * lib/copy-acl.c (qcopy_acl): Likewise.
66583
66584 2008-06-07  Bruno Haible  <bruno@clisp.org>
66585
66586         Fix memory leak introduced on 2008-05-22.
66587         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
66588         use.
66589
66590 2008-06-07  Bruno Haible  <bruno@clisp.org>
66591
66592         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
66593         to construct an empty ACL.
66594
66595 2008-06-07  Bruno Haible  <bruno@clisp.org>
66596
66597         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
66598         precisely.
66599         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
66600
66601 2008-06-07  Bruno Haible  <bruno@clisp.org>
66602
66603         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
66604         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
66605
66606 2008-06-07  Bruno Haible  <bruno@clisp.org>
66607
66608         * doc/posix-functions/_setjmp.texi: Explain the use of this function
66609         regardless of POSIX.
66610         * doc/posix-functions/_longjmp.texi: Likewise.
66611         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
66612         SystemV platform in this case.
66613
66614 2008-06-06  Eric Blake  <ebb9@byu.net>
66615
66616         Document abort() bugs.
66617         * doc/posix-functions/abort.texi (abort): Mention anomalies.
66618
66619         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
66620         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
66621         sigsetjmp.
66622         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
66623         siglongjmp, but only as a macro.
66624         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
66625         is obsolete.
66626         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
66627
66628         Tweak documentation to cover cygwin argz bugs.
66629         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
66630         argz bug fix; no code change needed since no cygwin releases
66631         occurred between the last fix and the bug being tested.
66632         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
66633         module and recently fixed cygwin bugs.
66634         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
66635         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
66636         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
66637         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
66638         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
66639         Likewise.
66640         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
66641         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
66642         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
66643         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
66644         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
66645         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
66646         Likewise.
66647
66648         Avoid gcc warning on cygwin.
66649         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
66650         !ACL_NO_TRIVIAL]: Avoid unused variable.
66651
66652 2008-06-05  Eric Blake  <ebb9@byu.net>
66653
66654         Be tolerant of UNKNOWN version in gnulib-tool test dir.
66655         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
66656         git-version-gen fails to come up with a version.
66657         Reported by Simon Josefsson.
66658
66659 2008-06-05  Jim Meyering  <meyering@redhat.com>
66660             Paul Eggert  <eggert@cs.ucla.edu>
66661
66662         utimens.c: work around a probable Linux kernel bug
66663         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
66664         appears to be a kernel bug that causes utimensat to return 280
66665         instead of 0, indicating success.
66666
66667 2008-06-04  Bruno Haible  <bruno@clisp.org>
66668
66669         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
66670         2008-06-01 commit.
66671
66672 2008-06-04  Bruno Haible  <bruno@clisp.org>
66673
66674         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
66675         * lib/file-has-acl.c (acl_access_nontrivial): New function.
66676         (file_has_acl): Use it. Save errno afterwards.
66677         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
66678
66679 2008-06-03  Bruno Haible  <bruno@clisp.org>
66680
66681         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
66682         draft code. Simplify #ifs.
66683         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
66684         Put Solaris code after POSIX-draft code. Fix comments regarding
66685         Solaris 10, HP-UX. Mention Cygwin.
66686         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
66687
66688 2008-06-03  Eric Blake  <ebb9@byu.net>
66689
66690         Provide fallback for older kernels.
66691         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
66692         Provide runtime fallback if kernel lacks support.
66693         Reported by Mike Frysinger.
66694
66695 2008-06-02  Bruno Haible  <bruno@clisp.org>
66696
66697         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
66698         it exists.
66699
66700 2008-06-02  Bruno Haible  <bruno@clisp.org>
66701
66702         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
66703         * lib/copy-acl.c (qcopy_acl): Update comment.
66704
66705 2008-06-02  Bruno Haible  <bruno@clisp.org>
66706
66707         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
66708         like ACL APIs.
66709
66710 2008-06-02  Bruno Haible  <bruno@clisp.org>
66711
66712         * tests/test-file-has-acl.sh: Use different code for Cygwin.
66713         * tests/test-set-mode-acl.sh: Likewise.
66714         * tests/test-copy-acl.sh: Likewise.
66715         * tests/test-copy-file.sh: Likewise.
66716
66717 2008-06-02  Bruno Haible  <bruno@clisp.org>
66718
66719         * tests/test-file-has-acl.sh: Remove unused code.
66720
66721 2008-06-01  Bruno Haible  <bruno@clisp.org>
66722
66723         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
66724         (copy_acl): Just a wrapper around qcopy_acl that emits the error
66725         messages.
66726         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
66727
66728 2008-06-01  Bruno Haible  <bruno@clisp.org>
66729
66730         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
66731         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
66732         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
66733         APIs.
66734         * modules/acl-tests (configure.ac): Remove tests now contained in
66735         m4/acl.m4.
66736
66737 2008-06-02  Jim Meyering  <meyering@redhat.com>
66738
66739         announce-gen: use a better key-server host name
66740         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
66741         it may be more consistently reliable.  Suggested by Werner Koch
66742         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
66743
66744 2008-06-01  Bruno Haible  <bruno@clisp.org>
66745
66746         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
66747         Reported by Voroskoi Andras <voroskoi@gmail.com>.
66748
66749 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
66750
66751         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
66752
66753 2008-06-01  Bruno Haible  <bruno@clisp.org>
66754
66755         New ACL tests.
66756         * tests/test-file-has-acl.sh: New file.
66757         * tests/test-file-has-acl.c: New file.
66758         * tests/test-set-mode-acl.sh: New file.
66759         * tests/test-set-mode-acl.c: New file.
66760         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
66761         * tests/test-copy-acl.c: New file.
66762         * modules/acl-tests: New file, based on modules/copy-file-tests.
66763         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
66764         (Depends-on): Add acl-tests.
66765         (configure.ac): Remove checks.
66766         (Makefile.am): Don't create test-sameacls program here any more.
66767
66768 2008-06-01  Bruno Haible  <bruno@clisp.org>
66769
66770         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
66771         * tests/test-sameacls.c: Include progname.h.
66772         (main): Invoke set_program_name. Portability fixes for MacOS X,
66773         Solaris, HP-UX.
66774
66775 2008-06-01  Bruno Haible  <bruno@clisp.org>
66776
66777         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
66778         function.
66779         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
66780
66781 2008-06-01  Bruno Haible  <bruno@clisp.org>
66782
66783         * modules/rpmatch (Depends-on): Add strdup.
66784
66785 2008-06-01  Bruno Haible  <bruno@clisp.org>
66786
66787         * lib/pipe.c: Include unistd-safer.h.
66788         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
66789         * modules/pipe (Depends-on): Add unistd-safer.
66790
66791 2008-05-30  Simon Josefsson  <simon@josefsson.org>
66792
66793         * modules/autobuild (configure.ac): Call AB_INIT.
66794
66795 2008-05-30  Simon Josefsson  <simon@josefsson.org>
66796
66797         * tests/test-getaddrinfo.c: Don't print debug messages by default.
66798         Suggested by Bruno Haible <bruno@clisp.org>.
66799
66800 2008-05-30  Simon Josefsson  <simon@josefsson.org>
66801
66802         * tests/test-base64.c: Cast size_t to unsigned long when invoking
66803         printf.  Use %lu instead of %d.  Reported by Bruno Haible
66804         <bruno@clisp.org>.
66805
66806 2008-05-29  Eric Blake  <ebb9@byu.net>
66807
66808         Prefer new POSIX 200x interfaces over futimesat.
66809         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
66810         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
66811         when available.
66812         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
66813
66814 2008-05-28  Bruno Haible  <bruno@clisp.org>
66815
66816         * modules/stpcpy (License): Change to LGPLv2+.
66817         Requested by David Lutterkort <dlutter@redhat.com>.
66818
66819 2008-05-27  Bruno Haible  <bruno@clisp.org>
66820
66821         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
66822         current mingw.
66823         Reported by Jose E. Marchesi <jemarch@gnu.org>.
66824
66825 2008-05-27  Bruno Haible  <bruno@clisp.org>
66826
66827         * modules/iconv_open (Link): New section, from module 'iconv'.
66828         * modules/striconv (Link): Likewise.
66829         * modules/striconveh (Link): Likewise.
66830         * modules/xstriconv (Link): Likewise.
66831         * modules/unicodeio (Link): Likewise.
66832         * modules/propername (Link): Likewise.
66833         Reported by Jim Meyering.
66834
66835 2008-05-26  Jim Meyering  <meyering@redhat.com>
66836
66837         sha256: do not artificially restrict buffer length to be < 2^32
66838         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
66839         uint32_t to size_t.
66840         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
66841         to match.
66842
66843         avoid unaligned access errors, e.g., on sparc
66844         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
66845         direct access through a possibly-unaligned uint64* pointer.
66846         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
66847         direct access through a possibly-unaligned uint32* pointer.
66848         Prompted by this patch from Tom "spot" Callaway:
66849         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
66850
66851         sha512.c: fix typo in comment
66852         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
66853
66854 2008-05-25  Bruno Haible  <bruno@clisp.org>
66855
66856         * lib/set-mode-acl.c: Renamed from lib/acl.c.
66857         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
66858         (Makefile.am): Update lib_SOURCES.
66859
66860 2008-05-25  Bruno Haible  <bruno@clisp.org>
66861
66862         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
66863
66864 2008-05-25  Jim Meyering  <meyering@redhat.com>
66865
66866         useless-if-before-free: freed expr may have white-space differences
66867         * build-aux/useless-if-before-free: Recognize cases in which the
66868         freed expression differs from the tested one in embedded white
66869         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
66870         $1 was used, so we can't make any regexp shy.  Improved tests now
66871         detect this.
66872
66873         useless-if-before-free: accept white space in the expression.
66874         * build-aux/useless-if-before-free: For now, any white space
66875         in the expression must be identical in the free argument.
66876
66877         useless-if-before-free: efficiency tweak
66878         * build-aux/useless-if-before-free: Make the expression-matching
66879         regexp "shy".
66880         Make the *outer* regexp shy, not the expr-matching one.
66881
66882         update code-in-comment to accept cast of free arg
66883         * build-aux/useless-if-before-free: Update regexp.
66884
66885 2008-05-25  Bruno Haible  <bruno@clisp.org>
66886
66887         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
66888         * modules/copy-file-tests (Files, Makefile.am): Update.
66889         * tests/test-copy-file.c (func_test_copy): Update.
66890
66891 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
66892
66893         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
66894
66895 2008-05-23  Bruno Haible  <bruno@clisp.org>
66896
66897         Improve support for ACLs on OSF/1.
66898         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
66899         Remove fallback for unknown flavors of ACLs.
66900
66901 2008-05-22  Bruno Haible  <bruno@clisp.org>
66902
66903         Add support for ACLs on OSF/1.
66904         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
66905         replacements.
66906         (acl_free_text): New macro fallback.
66907         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
66908         acl_free.
66909         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
66910         acl_free_text function. Require AC_C_INLINE.
66911
66912 2008-05-22  Bruno Haible  <bruno@clisp.org>
66913
66914         Make copy_acl work on MacOS X 10.5.
66915         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
66916         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
66917         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
66918         If MODE_INSIDE_ACL, don't assume that every system has the same text
66919         representation for ACLs as FreeBSD.
66920         * lib/copy-acl.c (copy_acl): Add support for platforms with
66921         !MODE_INSIDE_ACL.
66922         * lib/file-has-acl.c (file_has_acl): Likewise.
66923         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
66924         FreeBSD, MacOS X, or IRIX, respectively.
66925
66926 2008-05-22  Bruno Haible  <bruno@clisp.org>
66927
66928         * lib/acl.h: Don't include <sys/acl.h>.
66929         (GETACLCNT): Move fallback to lib/acl-internal.h.
66930         * lib/acl-internal.h: Include <sys/acl.h> here.
66931         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
66932
66933 2008-05-22  Bruno Haible  <bruno@clisp.org>
66934
66935         Split off copy_acl function to separate file.
66936         * lib/copy-acl.c: New file, extracted from lib/acl.c.
66937         * lib/acl.c (copy_acl): Moved function to separate file.
66938         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
66939         * modules/acl (Files): Add lib/copy-acl.c.
66940         (Makefiles.am): Augment lib_SOURCES.
66941
66942 2008-05-22  Bruno Haible  <bruno@clisp.org>
66943
66944         * modules/copy-file-tests: New file.
66945         * tests/test-copy-file.sh: New file.
66946         * tests/test-copy-file.c: New file.
66947         * tests/test-copy-file-sameacls.c: New file.
66948
66949 2008-05-22  Eric Blake  <ebb9@byu.net>
66950
66951         Avoid gcc warning.
66952         * tests/test-memcmp.c (main): Pass NULL indirectly.
66953
66954 2008-05-21  Bruno Haible  <bruno@clisp.org>
66955
66956         Add reference doc about ACLs.
66957         * doc/acl-resources.txt: New file.
66958         * doc/acl-cygwin.txt: New file.
66959
66960 2008-05-21  Bruno Haible  <bruno@clisp.org>
66961
66962         Avoid one more warning from gcc.
66963         * lib/vasnprintf.c (IF_LINT): Update comments.
66964         (VASNPRINTF): Use it also for the 'prefix' array initializer.
66965
66966 2008-05-21  Jim Meyering  <meyering@redhat.com>
66967
66968         avoid a warning from gcc
66969         * lib/vasnprintf.c (IF_LINT): Define.
66970         (scale10_round_decimal_long_double):
66971         Use it to avoid a "may be used uninitialized" warning.
66972         (scale10_round_decimal_double): Likewise.
66973
66974 2008-05-21  Simon Josefsson  <simon@josefsson.org>
66975
66976         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
66977         declared.
66978
66979 2008-05-20  Bruno Haible  <bruno@clisp.org>
66980
66981         * tests/test-memcmp.c (main): Test also the sign of the result. Test
66982         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
66983
66984 2008-05-20  Simon Josefsson  <simon@josefsson.org>
66985
66986         * modules/memcmp-tests: New file.
66987         * tests/test-memcmp.c: New file.
66988
66989 2008-05-19  Bruno Haible  <bruno@clisp.org>
66990
66991         * modules/propername (Notice, configure.ac): Put quoted "..." into
66992         --keyword option.
66993         * lib/propername.h: Update comments accordingly.
66994         Reported by Eric Blake.
66995
66996 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
66997
66998         * modules/getpass-gnu (Depends-on): Add fseeko.
66999
67000 2008-05-19  Simon Josefsson  <simon@josefsson.org>
67001
67002         * modules/base64-tests: New file.
67003
67004 2008-05-19  Bo Borgerson <gigabo@gmail.com>
67005
67006         * lib/base64.c (base64_decode_ctx): If a decode context structure
67007         was passed in use it to ignore newlines.  If a context structure
67008         was _not_ passed in, continue to treat newlines as garbage (this
67009         is the historical behavior).  Formerly base64_decode.
67010         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
67011         takes a decode context structure.
67012         * lib/base64.h (base64_decode): Macro for four-argument calls.
67013         (base64_decode_alloc): Likewise.
67014         * lib/base64.c (base64_decode_ctx): If a decode context structure
67015         was passed in use it to ignore newlines.  If a context structure
67016         was _not_ passed in, continue to treat newlines as garbage (this
67017         is the historical behavior).  Formerly base64_decode.
67018         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
67019         takes a decode context structure.
67020         * lib/base64.h (base64_decode): Macro for four-argument calls.
67021         (base64_decode_alloc): Likewise.
67022
67023 2008-05-19  Jim Meyering  <meyering@redhat.com>
67024
67025         avoid a warning from gcc
67026         * lib/trim.c (IF_LINT): Define.
67027         (trim2): Use it to avoid a "may be used uninitialized" warning.
67028
67029         Fix doc typo.
67030         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
67031
67032 2008-05-19  Bruno Haible  <bruno@clisp.org>
67033
67034         * doc/glibc-functions/getpass.texi: Document limits of other
67035         implementations.
67036
67037 2008-05-19  Simon Josefsson  <simon@josefsson.org>
67038             Bruno Haible <bruno@clisp.org>
67039
67040         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
67041
67042 2008-05-18  Bruno Haible  <bruno@clisp.org>
67043
67044         * modules/propername: New file, from GNU gettext.
67045         * lib/propername.h: New file, from GNU gettext.
67046         * lib/propername.c: New file, from GNU gettext.
67047         * MODULES.html.sh (Internationalization functions): Add propername.
67048
67049 2008-05-16  Jim Meyering  <meyering@redhat.com>
67050             Bruno Haible  <bruno@clisp.org>
67051
67052         Avoid some warnings from "gcc -Wshadow".
67053         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
67054
67055 2008-05-15  Eric Blake  <ebb9@byu.net>
67056
67057         Extend previous patch to cygwin 1.7.0.
67058         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
67059         fast implementation in cygwin >= 1.7.0.
67060         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
67061         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
67062
67063 2008-05-15  Bruno Haible  <bruno@clisp.org>
67064
67065         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
67066         implementation in glibc >= 2.9.
67067         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
67068         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
67069
67070 2008-05-15  Bruno Haible  <bruno@clisp.org>
67071
67072         * MODULES.html.sh (Internationalization functions): Remove linebreak.
67073         (Unicode string functions): Add unilbrk/*.
67074         Reported by Karl Berry.
67075
67076 2008-05-15  Eric Blake  <ebb9@byu.net>
67077
67078         Fix violation of <stdbool.h> replacement in regex.
67079         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
67080         * lib/regexec.c (re_search_internal): Likewise.
67081         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
67082
67083 2008-05-15  Jim Meyering  <meyering@redhat.com>
67084
67085         avoid distracting test output when git or cvs is not found
67086         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
67087         * tests/test-vc-list-files-git.sh: Likewise.
67088
67089 2008-05-15  Eric Blake  <ebb9@byu.net>
67090
67091         Glibc finally accepted the memmem speedup code, bugzilla #5514.
67092         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
67093         glibc version.
67094         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
67095         * doc/posix-functions/strstr.texi (strstr): Likewise.
67096         * lib/str-two-way.h (MAX): Sychronize with glibc.
67097
67098 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
67099
67100         * lib/regcomp.c (optimize_utf8): Add a note on why we test
67101         opr.ctx_type.
67102         (calc_first): Initialize constraint field.
67103         (duplicate_node_closure): Use it instead of special casing ANCHORS.
67104         Fix grammar.
67105         (duplicate_node): Merge constraint field for all node types.
67106         (calc_eclosure_iter): Look at constraint field for all node types.
67107         * lib/regex_internal.c (create_cd_newstate): Don't look at
67108         opr.ctx_type.
67109
67110 2008-05-14  Bruno Haible  <bruno@clisp.org>
67111
67112         Help GCC to do better code generation.
67113         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
67114         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
67115         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
67116         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
67117         Declare with attribute 'malloc' if supported.
67118
67119 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
67120
67121         use "echo STR|wc -c" rather than unportable "expr length STR"
67122         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
67123         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
67124
67125 2008-05-14  Jim Meyering  <meyering@redhat.com>
67126
67127         use dd ibs=$n count=1 ... rather than less-portable head -c$n
67128         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
67129         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
67130         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
67131         via Collin Lasse.
67132
67133 2008-05-14  Eric Blake  <ebb9@byu.net>
67134
67135         Avoid quadratic growth in gl_LIBSOURCES.
67136         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
67137         Suggested by Bruno Haible.
67138
67139         Test xmemdup0.
67140         * modules/xmemdup0-tests: New file.
67141         * tests/test-xmemdup0.c: Likewise.
67142
67143 2008-05-13  Eric Blake  <ebb9@byu.net>
67144
67145         Split xmemdup0 into its own module.
67146         * modules/xmemdup0: New file.
67147         * lib/xmemdup0.h: Likewise.
67148         * lib/xmemdup0.c: Likewise.
67149         * MODULES.html.sh (Memory management functions): Add xmemdup0.
67150         * lib/xalloc.h (xmemdup0): Remove.
67151         * lib/xmalloc.c (xmemdup0): Likewise.
67152
67153 2008-05-13  Eric Blake  <ebb9@byu.net>
67154             Bruno Haible  <bruno@clisp.org>
67155
67156         Reduce number of forks required during autoconf.
67157         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
67158         and gl_LIBSOURCES_DIR.
67159         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
67160         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
67161         m4_syscmd per file.
67162         <m4_foreach_w>: Move...
67163         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
67164
67165 2008-05-13  Eric Blake  <ebb9@byu.net>
67166
67167         * gnulib-tool: Fix various comment typos.
67168
67169 2008-05-12  Bruno Haible  <bruno@clisp.org>
67170
67171         Tailor the linebreaking algorithm.
67172         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
67173
67174 2008-05-12  Bruno Haible  <bruno@clisp.org>
67175
67176         Update to Unicode 5.0.0.
67177         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
67178         LBP_JV, LBP_JT. Redistribute values.
67179         (unilbrk_table): Change size.
67180         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
67181         Unicode TR#14 rev. 22.
67182         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
67183         LBP_JV, LBP_JT. Redistribute values.
67184         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
67185         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
67186         Update.
67187         * lib/unilbrk/lbrkprop1.h: Regenerated.
67188         * lib/unilbrk/lbrkprop2.h: Regenerated.
67189         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
67190         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
67191         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
67192         Likewise.
67193         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
67194         Likewise.
67195         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
67196         result.
67197         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
67198         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
67199         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
67200         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
67201         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
67202         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
67203
67204 2008-05-11  Bruno Haible  <bruno@clisp.org>
67205
67206         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
67207
67208 2008-05-11  Bruno Haible  <bruno@clisp.org>
67209
67210         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
67211         * modules/unilbrk/gen-lbrk: New file.
67212
67213 2008-05-11  Bruno Haible  <bruno@clisp.org>
67214
67215         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
67216         * m4/sha512.m4 (gl_SHA512): Likewise.
67217
67218 2008-05-11  Jim Meyering  <meyering@redhat.com>
67219
67220         New modules: crypto/sha256, crypto/sha512 (from coreutils)
67221         * modules/crypto/sha256: New file.
67222         * modules/crypto/sha512: Likewise.
67223         * lib/sha256.c: Likewise.
67224         * lib/sha256.h: Likewise.
67225         * lib/sha512.c: Likewise.
67226         * lib/sha512.h: Likewise.
67227         * lib/u64.h: Likewise.
67228         * m4/sha256.m4: Likewise.
67229         * m4/sha512.m4: Likewise.
67230         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
67231
67232 2008-05-10  Bruno Haible  <bruno@clisp.org>
67233
67234         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
67235         (Input/Output <stdio.h>): Add xprintf.
67236         (Signal handling <signal.h>): Add strsignal.
67237         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
67238         (Core language properties): Add func.
67239         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
67240         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
67241         strings.
67242         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
67243         (Input/output): New section.
67244         (File system functions): Add openat-die, stat-macros.
67245         (Networking functions): Add sockets.
67246         (Unicode string functions): Add unictype/*.
67247         (Support for building libraries and executables): Add gperf.
67248         (Support for building documentation): Add agpl-3.0.
67249         (Misc): Add nocrash.
67250
67251 2008-05-10  Bruno Haible  <bruno@clisp.org>
67252
67253         * modules/unictype/gen-ctype: New file.
67254
67255 2008-05-10  Jim Meyering  <meyering@redhat.com>
67256
67257         Make chdir-safer.c more efficient on a system with no symlinks.
67258         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
67259         also if ELOOP is zero.  Suggested by Bruno Haible.
67260
67261         Make chdir-safer.c slightly safer.
67262         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
67263         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
67264
67265         Avoid compile failure on systems without ELOOP (like mingw).
67266         * lib/chdir-safer.c (ELOOP): Define if not already defined.
67267         Reported by Bruno Haible.
67268
67269 2008-05-10  Bruno Haible  <bruno@clisp.org>
67270
67271         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
67272         (is_utf8_encoding): Use a case-insensitive comparison.
67273         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
67274         streq.
67275
67276 2008-05-10  Bruno Haible  <bruno@clisp.org>
67277
67278         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
67279         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
67280         * lib/unilbrk/ulc-common.h (iconv_string_length,
67281         iconv_string_keeping_offsets): Remove declarations.
67282         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
67283         Don't include <iconv.h>, streq.h, xsize.h.
67284         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
67285         conversion.
67286         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
67287         <iconv.h>, streq.h, xsize.h.
67288         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
67289         conversion.
67290         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
67291         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
67292         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
67293         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
67294
67295 2008-05-10  Bruno Haible  <bruno@clisp.org>
67296
67297         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
67298         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
67299
67300         * modules/unilbrk/u32-width-linebreaks-tests: New file.
67301         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
67302
67303         * modules/unilbrk/u16-width-linebreaks-tests: New file.
67304         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
67305
67306         * modules/unilbrk/u8-width-linebreaks-tests: New file.
67307         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
67308
67309         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
67310         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
67311
67312         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
67313         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
67314
67315         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
67316         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
67317
67318         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
67319         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
67320
67321 2008-05-10  Bruno Haible  <bruno@clisp.org>
67322
67323         Split up 'linebreak' module.
67324         * lib/unilbrk.h: New file, based on lib/linebreak.h.
67325         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
67326         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
67327         modifications.
67328         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
67329         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
67330         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
67331         lib/linebreak.c.
67332         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
67333         lib/linebreak.c.
67334         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
67335         lib/linebreak.c.
67336         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
67337         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
67338         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
67339         lib/linebreak.c.
67340         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
67341         lib/linebreak.c.
67342         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
67343         lib/linebreak.c.
67344         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
67345         lib/linebreak.c.
67346         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
67347         lib/linebreak.c.
67348         * modules/unilbrk/base: New file.
67349         * modules/unilbrk/tables: New file.
67350         * modules/unilbrk/u8-possible-linebreaks: New file.
67351         * modules/unilbrk/u16-possible-linebreaks: New file.
67352         * modules/unilbrk/u32-possible-linebreaks: New file.
67353         * modules/unilbrk/ulc-common: New file.
67354         * modules/unilbrk/ulc-possible-linebreaks: New file.
67355         * modules/unilbrk/u8-width-linebreaks: New file.
67356         * modules/unilbrk/u16-width-linebreaks: New file.
67357         * modules/unilbrk/u32-width-linebreaks: New file.
67358         * modules/unilbrk/ulc-width-linebreaks: New file.
67359         * lib/linebreak.h: Remove file.
67360         * lib/linebreak.c: Remove file.
67361         * m4/linebreak.m4: Remove file.
67362         * modules/linebreak: Remove file.
67363         * NEWS: Mention the changes.
67364
67365 2008-05-09  Eric Blake  <ebb9@byu.net>
67366
67367         Add xmemdup0.
67368         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
67369         implementation.
67370         * lib/xmalloc.c (xmemdup0): New C implementation.
67371
67372 2008-05-08  Bruno Haible  <bruno@clisp.org>
67373
67374         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
67375
67376 2008-05-07  Eric Blake  <ebb9@byu.net>
67377
67378         Support cross-compilation of <wctype.h>.
67379         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
67380         AC_CACHE_CHECK.
67381
67382 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
67383
67384         * build-aux/vc-list-files: Add support for bzr.
67385
67386 2008-05-03  Jim Meyering  <meyering@redhat.com>
67387
67388         avoid failed assertion with tight malloc
67389         * tests/test-getndelim2.c: Correct an off-by-one assertion.
67390
67391 2008-05-03  Simon Josefsson  <simon@josefsson.org>
67392
67393         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
67394         are needed from arpa/inet.h.
67395         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
67396         Reported by Bruno Haible.
67397
67398 2008-05-02  Jim Meyering  <meyering@redhat.com>
67399
67400         avoid compilation error on FreeBSD 6
67401         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
67402
67403 2008-05-01  Jim Meyering  <meyering@redhat.com>
67404
67405         useless-if-before-free: correct --help's exit status description
67406         * build-aux/useless-if-before-free (usage): Like grep, exit 0
67407         for one or more matches, etc.  Reported by Bruno Haible.
67408
67409         vc-list-files: make the stand-alone gnulib test work
67410         * modules/vc-list-files-tests (configure.ac):
67411         Define and AC_SUBST abs_aux_dir.
67412         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
67413         $(abs_top_srcdir) to each script and having each of them
67414         duplicate the work of setting PATH, set PATH here, using
67415         the new variable, abs_aux_dir instead.
67416         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
67417         * tests/test-vc-list-files-git.sh: Likewise.
67418         Reported by Bruno Haible.
67419
67420 2008-05-01  Bruno Haible  <bruno@clisp.org>
67421
67422         * lib/getndelim2.c (getndelim2): Fix newsize computation during
67423         reallocation. Rename 'done' to 'found_delimiter'.
67424
67425 2008-05-01  Jim Meyering  <meyering@redhat.com>
67426
67427         vc-list-files: accommodate /bin/sh like the one from Solaris 10
67428         * build-aux/vc-list-files: Use `...`, not $(...).
67429
67430 2008-04-30  Jim Meyering  <meyering@redhat.com>
67431
67432         add tests for vc-list-files
67433         * modules/vc-list-files-tests: New module.
67434         * tests/test-vc-list-files-cvs.sh: New file.
67435         * tests/test-vc-list-files-git.sh: New file.
67436
67437         avoid a warning from gcc
67438         * lib/getndelim2.c (IF_LINT): Define.
67439         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
67440
67441         vc-list-files: work properly with build-aux/cvsu, too
67442         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
67443         to all cvs-based clauses.
67444
67445         vc-list-files: work properly in the CVS+awk case, too
67446         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
67447
67448         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
67449         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
67450         take more than one file argument, so .  Add quotes, just in case $dir
67451         ever contains a shell meta-character.  Prompted by Soren Hansen in
67452         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
67453
67454 2008-04-29  Eric Blake  <ebb9@byu.net>
67455
67456         Optimize getndelim2 to use block operations when possible.
67457         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
67458         freadseek, and memchr2.
67459         * lib/getndelim2.c (getndelim2): Use them for block reads.
67460
67461 2008-04-29  Bruno Haible  <bruno@clisp.org>
67462
67463         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
67464         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
67465         * modules/inet_ntop (Depends-on): Add extensions.
67466         * modules/inet_pton (Depends-on): Likewise.
67467         Reported by Simon Josefsson.
67468
67469 2008-04-29  Jim Meyering  <meyering@redhat.com>
67470
67471         When the is more than one match in a block, match all of them.
67472         * build-aux/useless-if-before-free: Iterate through each block
67473         until there are no more matches.
67474
67475         Fix broken useless-if-before-free script.
67476         * build-aux/useless-if-before-free: Fix typo: missing "?" after
67477         the expression to match cast of argument to free-like function.
67478
67479 2008-04-29  Eric Blake  <ebb9@byu.net>
67480
67481         Use new header.
67482         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
67483
67484 2008-04-29  Jim Meyering  <meyering@redhat.com>
67485
67486         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
67487         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
67488         by gnulib to exist and to declare e.g., inet_ntop.
67489         Don't include "inet_ntop.h", now removed.
67490
67491         * m4/arpa_inet_h.m4: Remove trailing blanks.
67492
67493 2008-04-29  Eric Blake  <ebb9@byu.net>
67494
67495         Silence valgrind on safe reads beyond potential array bounds.
67496         * lib/rawmemchr.valgrind: New file.
67497         * lib/strchrnul.valgrind: Likewise.
67498         * modules/rawmemchr (Files): Distribute new file.
67499         * modules/strchrnul (Files): Likewise.
67500         Suggested by Bruno Haible.
67501
67502 2008-04-29  Bruno Haible  <bruno@clisp.org>
67503
67504         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
67505         (inet_ntop, inet_pton): Change portability warning's wording.
67506         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
67507         Invoke gl_CHECK_NEXT_HEADERS.
67508         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
67509         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
67510         set ARPA_INET_H.
67511         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
67512         * modules/arpa_inet (Description): No longer only for systems that
67513         lack it.
67514         (Depends-on): Add include_next.
67515         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
67516         HAVE_ARPA_INET_H.
67517
67518 2008-04-29  Jim Meyering  <meyering@redhat.com>
67519
67520         * modules/mkdir (License): Re-license as LGPLv2+.
67521
67522 2008-04-29  Bruno Haible  <bruno@clisp.org>
67523
67524         * modules/rawmemchr (Maintainer): Set to Eric.
67525         * modules/strchrnul (Maintainer): Likewise.
67526
67527 2008-04-29  Simon Josefsson  <simon@josefsson.org>
67528
67529         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
67530         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
67531
67532         * modules/arpa_inet (arpa/inet.h): Use them.
67533
67534 2008-04-28  Eric Blake  <ebb9@byu.net>
67535
67536         Test getndelim2.
67537         * modules/getndelim2-tests: New file.
67538         * tests/test-getndelim2.c: Likewise.
67539         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
67540         stream.
67541         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
67542
67543         * MODULES.html.sh: Document new module.
67544
67545 2008-04-20  Bruno Haible  <bruno@clisp.org>
67546
67547         * lib/c-stack.c (die): Use raise.
67548         * modules/c-stack (Depends-on): Add raise.
67549
67550 2008-04-28  Bruno Haible  <bruno@clisp.org>
67551
67552         Expect rpmatch to be declared.
67553         * lib/yesno.c (rpmatch): Remove declaration.
67554
67555         Declare rpmatch.
67556         * lib/stdlib.in.h (rpmatch): New declaration.
67557         * lib/rpmatch.c: Include <stdlib.h> first.
67558         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
67559         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
67560         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
67561         HAVE_RPMATCH.
67562         * modules/rpmatch (Depends-on): Add stdlib, extensions.
67563         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67564         (Include): Set to <stdlib.h>.
67565         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
67566         HAVE_RPMATCH.
67567         * NEWS: Document the change.
67568
67569 2008-04-28  Bruno Haible  <bruno@clisp.org>
67570
67571         Change rpmatch to use nl_langinfo when appropriate.
67572         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
67573         (N_): New macro.
67574         (localized_pattern): New function/macro.
67575         (try): Remove match, nomatch arguments. Copy the pattern into safe
67576         memory before caching it.
67577         (rpmatch): Use localized_pattern. Add translator comments.
67578         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
67579         Suggested by Eric Blake.
67580         * modules/rpmatch (Depends-on): Add stdbool.
67581
67582 2008-04-28  Eric Blake  <ebb9@byu.net>
67583
67584         Add rawmemchr module, matching glibc.
67585         * modules/string (Makefile.am): New indicator.
67586         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
67587         * lib/string.in.h (rawmemchr): Declare when appropriate.
67588         * modules/rawmemchr: New file.
67589         * m4/rawmemchr.m4: Likewise.
67590         * lib/rawmemchr.c: Likewise.
67591         * modules/rawmemchr-tests: Likewise.
67592         * tests/test-rawmemchr.c: Likewise.
67593         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
67594         module.
67595         * modules/strchrnul (Depends-on): Add rawmemchr.
67596         * lib/strchrnul.c (strchrnul): Optimize a corner case.
67597
67598         Whitespace cleanup.
67599         * tests/test-strchrnul.c: Reindent.
67600         * lib/strchrnul.c: Likewise.
67601
67602         Optimize and test strchrnul.
67603         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
67604         * modules/strchrnul-tests: New file.
67605         * tests/test-strchrnul.c: Likewise.
67606
67607         Remove intprops dependency.
67608         * modules/memchr (Depends-on): Remove intprops.
67609         * modules/memrchr (Depends-on): Likewise.
67610         * modules/memchr2 (Depends-on): Likewise.
67611         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
67612         * lib/memrchr.c (__memrchr): Likewise.
67613         * lib/memrchr2.c (memchr2): Likewise.
67614         Reported by Simon Josefsson.
67615
67616 2008-04-28  Simon Josefsson  <simon@josefsson.org>
67617
67618         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
67619         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67620
67621 2008-04-28  Simon Josefsson  <simon@josefsson.org>
67622
67623         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
67624
67625         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
67626
67627         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
67628
67629         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
67630         declarations.
67631         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
67632
67633         * m4/inet_pton.m4: Don't check for header files.
67634
67635         * m4/inet_ntop.m4: Don't check for header files.
67636
67637 2008-04-28  Simon Josefsson  <simon@josefsson.org>
67638
67639         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
67640         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
67641         trigger for cygwin).
67642         Reported by Bruno Haible  <bruno@clisp.org>.
67643
67644 2008-04-28  Bruno Haible  <bruno@clisp.org>
67645
67646         * doc/posix-functions/strdup.texi: Mention mingw problem.
67647
67648 2008-04-27  Bruno Haible  <bruno@clisp.org>
67649
67650         * modules/stat-time-tests (Depends-on): Add sleep.
67651         * tests/test-stat-time.c (force_unlink): New function.
67652         (cleanup): Use it.
67653         (test_mtime): Remove the ctime related tests.
67654         (test_ctime): New function, containing the ctime related tests.
67655         (main): Call test_ctime, except on native Windows platforms.
67656
67657 2008-04-27  Bruno Haible  <bruno@clisp.org>
67658
67659         * lib/rpmatch.c (rpmatch): Add some comments.
67660         Reported by James Youngman <jay@gnu.org>.
67661
67662 2008-04-27  Bruno Haible  <bruno@clisp.org>
67663
67664         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
67665         quiet NaNs.
67666
67667 2008-04-27  Bruno Haible  <bruno@clisp.org>
67668
67669         Make test-yesno.sh work on mingw.
67670         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
67671         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
67672         (main): Set stdin to binary mode.
67673         * modules/yesno-tests (Depends-on): Add binary-io.
67674
67675 2008-04-27  Bruno Haible  <bruno@clisp.org>
67676
67677         Fix 'isfinite' on x86, x86_64, ia64 platforms.
67678         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
67679         argument that lie outside the IEEE 854 domain.
67680         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
67681         (gl_ISFINITE): Use it.
67682         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
67683
67684 2008-04-27  Bruno Haible  <bruno@clisp.org>
67685
67686         Allow local renaming in config.h.
67687         * lib/memrchr.c (memrchr): Don't undefine outside libc.
67688
67689 2008-04-27  Bruno Haible  <bruno@clisp.org>
67690
67691         * lib/memchr.c (__memchr): Change type of 'i'.
67692         * lib/memchr2.c (memchr2): Likewise.
67693
67694 2008-04-26  Eric Blake  <ebb9@byu.net>
67695         and Bruno Haible  <bruno@clisp.org>
67696
67697         Optimize and test memrchr.
67698         * modules/memrchr (Depends-on): Add intprops.
67699         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
67700         * modules/memrchr-tests: New file.
67701         * tests/test-memrchr.c: New file.
67702
67703 2008-04-26  Bruno Haible  <bruno@clisp.org>
67704
67705         Add tentative support for DragonFly BSD.
67706         * lib/stdio-impl.h: Add macros for DragonFly BSD.
67707         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
67708         fp.
67709         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
67710         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
67711         * lib/fpurge.c (fpurge): Likewise.
67712         * lib/freadable.c (freaadable): Likewise.
67713         * lib/freadahead.c (freadahead): Likewise.
67714         * lib/freading.c (freading): Likewise.
67715         * lib/freadptr.c (freadptr): Likewise.
67716         * lib/freadseek.c (freadptrinc): Likewise.
67717         * lib/fseeko.c (fseeko): Likewise.
67718         * lib/fseterr.c (fseterr): Likewise.
67719         * lib/fwritable.c (fwritable): Likewise.
67720         * lib/fwriting.c (fwriting): Likewise.
67721
67722 2008-04-26  Bruno Haible  <bruno@clisp.org>
67723
67724         * lib/stdio-impl.h: New file.
67725         * lib/fbufmode.c: Include stdio-impl.h.
67726         (fbufmode): Use fp_, remove redundant #defines.
67727         * lib/fflush.c: Include stdio-impl.h.
67728         (clear_ungetc_buffer): Remove redundant #defines.
67729         * lib/fpurge.c: Include stdio-impl.h.
67730         (fpurge): Remove redundant #defines.
67731         * lib/freadable.c: Include stdio-impl.h.
67732         (freadable): Remove redundant #defines.
67733         * lib/freadahead.c: Include stdio-impl.h.
67734         (freadahead): Remove redundant #defines.
67735         * lib/freading.c: Include stdio-impl.h.
67736         (freading): Remove redundant #defines.
67737         * lib/freadptr.c: Include stdio-impl.h.
67738         (freadptr): Remove redundant #defines.
67739         * lib/freadseek.c: Include stdio-impl.h.
67740         (freadptrinc): Remove redundant #defines.
67741         * lib/fseeko.c: Include stdio-impl.h.
67742         (rpl_fseeko): Remove redundant #defines.
67743         * lib/fseterr.c: Include stdio-impl.h.
67744         (fseterr): Remove redundant #defines.
67745         * lib/fwritable.c: Include stdio-impl.h.
67746         (fwritable: Remove redundant #defines.
67747         * lib/fwriting.c: Include stdio-impl.h.
67748         (fwriting): Remove redundant #defines.
67749         * modules/fbufmode (Files): Add lib/stdio-impl.h.
67750         * modules/fflush (Files): Likewise.
67751         * modules/fpurge (Files): Likewise.
67752         * modules/freadable (Files): Likewise.
67753         * modules/freadahead (Files): Likewise.
67754         * modules/freading (Files): Likewise.
67755         * modules/freadptr (Files): Likewise.
67756         * modules/freadseek (Files): Likewise.
67757         * modules/fseeko (Files): Likewise.
67758         * modules/fseterr (Files): Likewise.
67759         * modules/fwritable (Files): Likewise.
67760         * modules/fwriting (Files): Likewise.
67761
67762 2008-04-26  Bruno Haible  <bruno@clisp.org>
67763
67764         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
67765         restore_seek_optimization, update_fpos_cache): New functions, extracted
67766         from rpl_fflush.
67767         (rpl_fflush): Use them.
67768         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
67769         (gl_REPLACE_FFLUSH): Use it.
67770
67771 2008-04-26  Bruno Haible  <bruno@clisp.org>
67772
67773         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
67774         on Solaris.
67775         * tests/test-xstrtoimax.sh: Likewise.
67776         * tests/test-xstrtoumax.sh: Likewise.
67777         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67778
67779 2008-04-26  Bruno Haible  <bruno@clisp.org>
67780
67781         * modules/memchr-tests: New file.
67782         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
67783
67784 2008-04-26  Eric Blake  <ebb9@byu.net>
67785             Bruno Haible  <bruno@clisp.org>
67786
67787         * lib/memchr.c: Include intprops.h.
67788         (__memchr): Optimize parallel detection of matching bytes. Rename local
67789         variables. Add explanatory comments.
67790
67791 2008-04-26  Bruno Haible  <bruno@clisp.org>
67792
67793         Fix module 'memchr', broken since 2000-10-28.
67794         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
67795
67796 2008-04-26  Bruno Haible  <bruno@clisp.org>
67797
67798         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
67799         comments.
67800
67801 2008-04-25  Eric Blake  <ebb9@byu.net>
67802
67803         Use native fstatat on cygwin 1.7.0.
67804         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
67805         first.
67806
67807 2008-04-23  Eric Blake  <ebb9@byu.net>
67808
67809         Improve memchr2 performance.
67810         * lib/memchr2.c (memchr2): Further optimize parallel detection of
67811         NUL bytes.
67812         * modules/memchr2 (Depends-on): Use intprops.h.
67813
67814 2008-04-23  Simon Josefsson  <simon@josefsson.org>
67815
67816         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
67817         an inline function instead of a CPP macro.  Patch by Ben Pfaff
67818         <blp@cs.stanford.edu>.
67819
67820 2008-04-23  Simon Josefsson  <simon@josefsson.org>
67821
67822         * lib/arpa_inet.in.h: New file.
67823
67824         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
67825         (Makefile.am): Sed in substitute header file.
67826
67827         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
67828         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
67829
67830         * modules/inet_ntop (configure.ac): Use
67831         gl_ARPA_INET_MODULE_INDICATOR.
67832
67833         * modules/inet_pton (configure.ac): Use
67834         gl_ARPA_INET_MODULE_INDICATOR.
67835
67836 2008-04-22  Jim Meyering  <meyering@redhat.com>
67837
67838         * modules/verify (License): Re-license as LGPLv2+.
67839
67840 2008-04-22  Simon Josefsson  <simon@josefsson.org>
67841
67842         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
67843         parameter to void* as per POSIX standard (MinGW uses char*).
67844
67845 2008-04-21  Bruno Haible  <bruno@clisp.org>
67846
67847         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
67848         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
67849         Define to replacements if REPLACE_ISWCNTRL is 1.
67850         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
67851         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
67852         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
67853         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
67854         what it fixes.
67855         * doc/posix-functions/iswalpha.texi: Likewise.
67856         * doc/posix-functions/iswblank.texi: Likewise.
67857         * doc/posix-functions/iswcntrl.texi: Likewise.
67858         * doc/posix-functions/iswdigit.texi: Likewise.
67859         * doc/posix-functions/iswgraph.texi: Likewise.
67860         * doc/posix-functions/iswlower.texi: Likewise.
67861         * doc/posix-functions/iswprint.texi: Likewise.
67862         * doc/posix-functions/iswpunct.texi: Likewise.
67863         * doc/posix-functions/iswspace.texi: Likewise.
67864         * doc/posix-functions/iswupper.texi: Likewise.
67865         * doc/posix-functions/iswxdigit.texi: Likewise.
67866         Reported by Alain Guibert.
67867
67868 2008-04-21  Bruno Haible  <bruno@clisp.org>
67869
67870         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
67871         Patch by Alain Guibert.
67872
67873 2008-04-21  Bruno Haible  <bruno@clisp.org>
67874
67875         Fix test failures on mingw.
67876         * tests/test-xstrtol.c (print_no_progname): New function.
67877         (main): Install it in error_print_progname hook.
67878         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
67879         * tests/test-xstrtoimax.sh: Likewise.
67880         * tests/test-xstrtoumax.sh: Likewise.
67881
67882 2008-04-21  Bruno Haible  <bruno@clisp.org>
67883
67884         Fix test failure on mingw.
67885         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
67886
67887 2008-04-21  Bruno Haible  <bruno@clisp.org>
67888
67889         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
67890         Actually assign a value.
67891
67892 2008-04-20  Bruno Haible  <bruno@clisp.org>
67893
67894         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
67895         take 2.
67896         * lib/canonicalize.c (canonicalize_file_name): Elide if the
67897         'canonicalize-lgpl' module is also used.
67898         * lib/canonicalize-lgpl.c: Undo last change.
67899         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
67900
67901 2008-04-20  Bruno Haible  <bruno@clisp.org>
67902
67903         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
67904         config.h. Provide _mkdir based fallback for mingw.
67905         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
67906         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
67907         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
67908         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
67909         rather than defining mkdir in config.h.
67910         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
67911         (gl_SYS_STAT_H_DEFAULTS): New macro.
67912         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
67913         HAVE_IO_H any more.
67914         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
67915         HAVE_DECL_MKDIR and HAVE_IO_H.
67916
67917 2008-04-20  Bruno Haible  <bruno@clisp.org>
67918
67919         * lib/isapipe.c: Port to native Windows platforms.
67920
67921 2008-04-20  Bruno Haible  <bruno@clisp.org>
67922
67923         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
67924
67925 2008-04-21  Eric Blake  <ebb9@byu.net>
67926
67927         Work around preprocessors that don't handle UINTMAX_MAX.
67928         * lib/memchr2.c (memchr2): Avoid embedded #if.
67929         Reported by Alain Guibert, fix suggested by Bruno Haible.
67930
67931 2008-04-21  Simon Josefsson  <simon@josefsson.org>
67932
67933         * doc/posix-functions/strftime.texi (strftime): Explain better
67934         Windows incompatibility.  Suggested by Micah Cowan
67935         <micah@cowan.name>.
67936
67937 2008-04-20  Bruno Haible  <bruno@clisp.org>
67938
67939         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
67940         unistr/u8-mblen.
67941
67942 2008-04-20  Bruno Haible  <bruno@clisp.org>
67943
67944         Fix test failure on platforms with non-GNU iconv.
67945         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
67946         (U_TO_U8): Use it, rather than u16_to_u8.
67947         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
67948         units at the end of the input string.
67949         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
67950
67951 2008-04-20  Bruno Haible  <bruno@clisp.org>
67952
67953         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
67954         when the resulting length is 0.
67955         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
67956
67957 2008-04-20  Bruno Haible  <bruno@clisp.org>
67958
67959         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
67960         works.
67961         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
67962
67963 2008-04-20  Bruno Haible  <bruno@clisp.org>
67964
67965         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
67966         * modules/tsearch-tests (configure.ac): Test for initstate function.
67967
67968 2008-04-20  Bruno Haible  <bruno@clisp.org>
67969
67970         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
67971         for nlink_t if missing.
67972         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
67973
67974 2008-04-19  Bruno Haible  <bruno@clisp.org>
67975
67976         Work around snprintf bug on Linux libc5.
67977         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
67978         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67979         gl_SNPRINTF_SIZE1.
67980         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67981         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
67982         that test failed.
67983         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
67984         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
67985         * modules/snprintf (Files): Add m4/printf.m4.
67986         * modules/vsnprintf (Files): Likewise.
67987         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
67988         * doc/posix-functions/vsnprintf.texi: Likewise.
67989
67990 2008-04-19  Bruno Haible  <bruno@clisp.org>
67991
67992         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
67993         from 0.0058 to less than 10^-7.
67994
67995 2008-04-19  Bruno Haible  <bruno@clisp.org>
67996
67997         Fix rounding when a precision is given.
67998         * lib/vasnprintf.c (is_borderline): New function.
67999         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
68000         9...9x.
68001         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
68002         %e, %g.
68003         * tests/test-vasprintf-posix.c (test_function): Likewise.
68004         * tests/test-snprintf-posix.h (test_function): Likewise.
68005         * tests/test-sprintf-posix.h (test_function): Likewise.
68006         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
68007         * tests/test-printf-posix.h (test_function): Likewise.
68008         * tests/test-printf-posix.output: Update.
68009         Reported by John Darrington <john@darrington.wattle.id.au> via
68010         Ben Pfaff <blp@cs.stanford.edu>.
68011
68012 2008-04-18  Simon Josefsson  <simon@josefsson.org>
68013
68014         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
68015         Suggested by Bruno Haible <bruno@clisp.org>.
68016
68017 2008-04-17  Bruno Haible  <bruno@clisp.org>
68018
68019         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
68020         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
68021         implementation.
68022         Patch by Bruce Merry <bmerry@gmail.com>.
68023
68024 2008-04-17  Simon Josefsson  <simon@josefsson.org>
68025
68026         * doc/posix-functions/strftime.texi (strftime): Mention that %e
68027         doesn't work under Windows.
68028
68029 2008-04-16  Bruno Haible  <bruno@clisp.org>
68030
68031         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
68032         New macros.
68033         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
68034         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
68035         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
68036         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
68037         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
68038         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
68039         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
68040         macros.
68041         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
68042         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
68043         Northern Sotho, Uighur.
68044
68045 2008-04-16  Bruno Haible  <bruno@clisp.org>
68046
68047         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
68048         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
68049         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
68050         Reported by Daniel Bergström <daniel@octocode.com>.
68051
68052 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
68053             Bruno Haible  <bruno@clisp.org>
68054
68055         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
68056         function.
68057         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
68058         New functions, mostly extracted from gl_locale_name_default.
68059         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
68060
68061 2008-04-16  Eric Blake  <ebb9@byu.net>
68062
68063         Adjust strtod detection to catch glibc 2.7 bug.
68064         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
68065         Reported by John Gatewood Ham.
68066
68067 2008-04-16  Bruno Haible  <bruno@clisp.org>
68068
68069         Add tentative support for Linux libc5.
68070         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
68071         * lib/fpurge.c (fpurge): Likewise.
68072         * lib/freadable.c (freadable): Likewise.
68073         * lib/freadahead.c (freadahead): Likewise.
68074         * lib/freading.c (freading): Likewise.
68075         * lib/freadptr.c (freadptr): Likewise.
68076         * lib/freadseek.c (freadptrinc): Likewise.
68077         * lib/fseeko.c (rpl_fseeko): Likewise.
68078         * lib/fseterr.c (fseterr): Likewise.
68079         * lib/fwritable.c (fwritable): Likewise.
68080         * lib/fwriting.c (fwriting): Likewise.
68081         Reported by Alain Guibert <alguibert+bts@free.fr>.
68082
68083 2008-04-15  Bruno Haible  <bruno@clisp.org>
68084
68085         * modules/mathl (configure.ac): Define module indicator.
68086
68087 2008-04-15  Bruno Haible  <bruno@clisp.org>
68088
68089         * lib/logl.c (logl): Remove unused variables.
68090
68091 2008-04-15  Bruno Haible  <bruno@clisp.org>
68092
68093         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
68094         fails.
68095
68096 2008-04-15  Bruno Haible  <bruno@clisp.org>
68097
68098         * lib/trim.c (trim2): Fix argument of isspace() macro.
68099
68100 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
68101
68102         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
68103         to 0.
68104         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
68105
68106 2008-04-14  Bruno Haible  <bruno@clisp.org>
68107
68108         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
68109         AC_LANG_PROGRAM argument.
68110         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
68111         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
68112         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
68113         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68114         * m4/math_h.m4 (gl_MATH_H): Likewise.
68115         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
68116         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
68117         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68118         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
68119         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
68120         * m4/regex.m4 (gl_REGEX): Likewise.
68121         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
68122         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
68123         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
68124         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
68125         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
68126         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
68127         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68128         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68129
68130 2008-04-14  Jim Meyering  <meyering@redhat.com>
68131
68132         test-strtod: fix typos: s/abs/fabs/
68133         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
68134
68135 2008-04-13  Bruno Haible  <bruno@clisp.org>
68136
68137         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
68138         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
68139         module is also used and while not building the reloc-wrapper.
68140
68141 2008-04-13  Bruno Haible  <bruno@clisp.org>
68142
68143         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
68144
68145 2008-04-13  Bruno Haible  <bruno@clisp.org>
68146
68147         Fix AIX compilation failure introduced on 2008-04-02.
68148         * tests/test-frexp.c (exp): Undefine before redefining.
68149         * tests/test-frexpl.c (exp): Likewise.
68150
68151 2008-04-13  Bruno Haible  <bruno@clisp.org>
68152
68153         Work around a HP-UX stdio bug.
68154         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
68155         * tests/test-ftello.c (main): Likewise.
68156         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
68157         * doc/posix-functions/ftello.texi: Likewise.
68158
68159 2008-04-13  Bruno Haible  <bruno@clisp.org>
68160
68161         Make test-signbit pass on HP-UX/hppa.
68162         * tests/test-signbit.c (minus_zerol): New variable.
68163         (test_signbitl): Use it.
68164
68165 2008-04-13  Bruno Haible  <bruno@clisp.org>
68166
68167         Make truncl work on OSF/1 4.0.
68168         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
68169         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
68170         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
68171         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
68172         HAVE_DECL_TRUNCL.
68173         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
68174         HAVE_DECL_TRUNCL.
68175         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
68176
68177 2008-04-13  Bruno Haible  <bruno@clisp.org>
68178
68179         * lib/unictype.h: Remove trailing comma from enumeration definitions.
68180
68181 2008-04-13  Bruno Haible  <bruno@clisp.org>
68182
68183         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
68184         expression, so as to avoid HP-UX 11 cc compiler bug.
68185
68186 2008-04-13  Bruno Haible  <bruno@clisp.org>
68187
68188         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
68189
68190 2008-04-13  Bruno Haible  <bruno@clisp.org>
68191
68192         * lib/git-merge-changelog.c: Remove empty declaration outside of
68193         functions.
68194
68195 2008-04-13  Bruno Haible  <bruno@clisp.org>
68196
68197         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
68198
68199 2008-04-13  Bruno Haible  <bruno@clisp.org>
68200
68201         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
68202         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
68203         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
68204         also if it exists but lacks definitions of the SHUT_* macros.
68205         * modules/sys_socket (Description): Update.
68206         Reported by Elbert Pol <e.pol@chello.nl>.
68207
68208 2008-04-13  Bruno Haible  <bruno@clisp.org>
68209
68210         * lib/localcharset.c (OS2): Don't redefine if already defined.
68211         Reported by Elbert Pol <e.pol@chello.nl>.
68212
68213 2008-04-13  Bruno Haible  <bruno@clisp.org>
68214
68215         * lib/binary-io.h [__EMX__]: Include <io.h>.
68216         Reported by Elbert Pol <e.pol@chello.nl>.
68217
68218 2008-04-12  Bruno Haible  <bruno@clisp.org>
68219
68220         * lib/fpucw.h: Enable the definitions also for x86_64.
68221         Needed for NetBSD/x86_64.
68222         Reported by Thomas Klausner <tk@giga.or.at>.
68223
68224 2008-04-12  Bruno Haible  <bruno@clisp.org>
68225
68226         * tests/test-strtod.c: Include isnand.h.
68227         (main): Use isnand instead of isnan.
68228         Reported by Jim Meyering.
68229
68230 2008-04-12  Bruno Haible  <bruno@clisp.org>
68231
68232         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
68233         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
68234
68235 2008-04-12  Jim Meyering  <meyering@redhat.com>
68236
68237         * m4/math_h.m4 (gl_MATH_H): Fix typos.
68238
68239 2008-04-12  Bruno Haible  <bruno@clisp.org>
68240
68241         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
68242         Reported by Elbert Pol <e.pol@chello.nl>.
68243
68244 2008-04-12  Eric Blake  <ebb9@byu.net>
68245
68246         Work around Solaris 10 math.h bug.
68247         * m4/math_h.m4 (gl_MATH_H): Check for bug.
68248         (gl_MATH_H_DEFAULTS): Set up default.
68249         * modules/math (Makefile.am): Replace new indicators.
68250         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
68251         * tests/test-math.c (main): Test this.
68252         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
68253         * doc/posix-headers/math.texi (math.h): Mention bug.
68254         Reported by Nelson H. F. Beebe and Jim Meyering.
68255
68256 2008-04-11  Bruno Haible  <bruno@clisp.org>
68257
68258         Adapt to future versions of Apple GCC.
68259         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
68260         Reported by Peter O'Gorman <peter@pogma.com>.
68261
68262 2008-04-11  Bruno Haible  <bruno@clisp.org>
68263
68264         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
68265
68266 2008-04-11  Bruno Haible  <bruno@clisp.org>
68267
68268         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
68269
68270         * modules/getaddrinfo-tests (Makefile.am): Define
68271         test_getaddrinfo_LDADD.
68272
68273 2008-04-11  Bruno Haible  <bruno@clisp.org>
68274
68275         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
68276         (init): Fix syntax error.
68277         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
68278         is declared.
68279
68280 2008-04-11  Bruno Haible  <bruno@clisp.org>
68281
68282         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
68283         * modules/glob (Depends-on): Add stdbool.
68284
68285 2008-04-11  Bruno Haible  <bruno@clisp.org>
68286
68287         * lib/trim.c: Include <string.h>.
68288
68289 2008-04-11  Eric Blake  <ebb9@byu.net>
68290
68291         Avoid compile failure on OS/2.
68292         * lib/regex_internal.h (internal_function): Disable optimization
68293         on OS/2 (__EMX__), where it caused compiler error.
68294         Reported by Elbert Pol.
68295
68296 2008-04-11  Bruno Haible  <bruno@clisp.org>
68297
68298         Flush the standard error stream before aborting. Needed on mingw.
68299         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
68300         * tests/test-array_list.c (ASSERT): Likewise.
68301         * tests/test-array_oset.c (ASSERT): Likewise.
68302         * tests/test-avltree_list.c (ASSERT): Likewise.
68303         * tests/test-avltree_oset.c (ASSERT): Likewise.
68304         * tests/test-avltreehash_list.c (ASSERT): Likewise.
68305         * tests/test-binary-io.c (ASSERT): Likewise.
68306         * tests/test-byteswap.c (ASSERT): Likewise.
68307         * tests/test-c-ctype.c (ASSERT): Likewise.
68308         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
68309         * tests/test-c-strcasestr.c (ASSERT): Likewise.
68310         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
68311         * tests/test-c-strstr.c (ASSERT): Likewise.
68312         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
68313         * tests/test-canonicalize.c (ASSERT): Likewise.
68314         * tests/test-carray_list.c (ASSERT): Likewise.
68315         * tests/test-ceilf1.c (ASSERT): Likewise.
68316         * tests/test-ceilf2.c (ASSERT): Likewise.
68317         * tests/test-ceill.c (ASSERT): Likewise.
68318         * tests/test-count-one-bits.c (ASSERT): Likewise.
68319         * tests/test-fbufmode.c (ASSERT): Likewise.
68320         * tests/test-fflush2.c (ASSERT): Likewise.
68321         * tests/test-floorf1.c (ASSERT): Likewise.
68322         * tests/test-floorf2.c (ASSERT): Likewise.
68323         * tests/test-floorl.c (ASSERT): Likewise.
68324         * tests/test-fopen.c (ASSERT): Likewise.
68325         * tests/test-fpending.c (ASSERT): Likewise.
68326         * tests/test-fprintf-posix.c (ASSERT): Likewise.
68327         * tests/test-fpurge.c (ASSERT): Likewise.
68328         * tests/test-freadable.c (ASSERT): Likewise.
68329         * tests/test-freadahead.c (ASSERT): Likewise.
68330         * tests/test-freading.c (ASSERT): Likewise.
68331         * tests/test-freadptr.c (ASSERT): Likewise.
68332         * tests/test-freadptr2.c (ASSERT): Likewise.
68333         * tests/test-freadseek.c (ASSERT): Likewise.
68334         * tests/test-freopen.c (ASSERT): Likewise.
68335         * tests/test-frexp.c (ASSERT): Likewise.
68336         * tests/test-frexpl.c (ASSERT): Likewise.
68337         * tests/test-fseek.c (ASSERT): Likewise.
68338         * tests/test-fseeko.c (ASSERT): Likewise.
68339         * tests/test-fstrcmp.c (ASSERT): Likewise.
68340         * tests/test-ftell.c (ASSERT): Likewise.
68341         * tests/test-ftello.c (ASSERT): Likewise.
68342         * tests/test-func.c (ASSERT): Likewise.
68343         * tests/test-fwritable.c (ASSERT): Likewise.
68344         * tests/test-fwriting.c (ASSERT): Likewise.
68345         * tests/test-getdelim.c (ASSERT): Likewise.
68346         * tests/test-getline.c (ASSERT): Likewise.
68347         * tests/test-i-ring.c (ASSERT): Likewise.
68348         * tests/test-iconv-utf.c (ASSERT): Likewise.
68349         * tests/test-iconv.c (ASSERT): Likewise.
68350         * tests/test-isfinite.c (ASSERT): Likewise.
68351         * tests/test-isnand.c (ASSERT): Likewise.
68352         * tests/test-isnanf.c (ASSERT): Likewise.
68353         * tests/test-isnanl.h (ASSERT): Likewise.
68354         * tests/test-ldexpl.c (ASSERT): Likewise.
68355         * tests/test-linked_list.c (ASSERT): Likewise.
68356         * tests/test-linkedhash_list.c (ASSERT): Likewise.
68357         * tests/test-localename.c (ASSERT): Likewise.
68358         * tests/test-lseek.c (ASSERT): Likewise.
68359         * tests/test-mbscasecmp.c (ASSERT): Likewise.
68360         * tests/test-mbscasestr1.c (ASSERT): Likewise.
68361         * tests/test-mbscasestr2.c (ASSERT): Likewise.
68362         * tests/test-mbscasestr3.c (ASSERT): Likewise.
68363         * tests/test-mbscasestr4.c (ASSERT): Likewise.
68364         * tests/test-mbschr.c (ASSERT): Likewise.
68365         * tests/test-mbscspn.c (ASSERT): Likewise.
68366         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
68367         * tests/test-mbspbrk.c (ASSERT): Likewise.
68368         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
68369         * tests/test-mbsrchr.c (ASSERT): Likewise.
68370         * tests/test-mbsspn.c (ASSERT): Likewise.
68371         * tests/test-mbsstr1.c (ASSERT): Likewise.
68372         * tests/test-mbsstr2.c (ASSERT): Likewise.
68373         * tests/test-mbsstr3.c (ASSERT): Likewise.
68374         * tests/test-memchr2.c (ASSERT): Likewise.
68375         * tests/test-memmem.c (ASSERT): Likewise.
68376         * tests/test-open.c (ASSERT): Likewise.
68377         * tests/test-printf-frexp.c (ASSERT): Likewise.
68378         * tests/test-printf-frexpl.c (ASSERT): Likewise.
68379         * tests/test-printf-posix.c (ASSERT): Likewise.
68380         * tests/test-quotearg.c (ASSERT): Likewise.
68381         * tests/test-rbtree_list.c (ASSERT): Likewise.
68382         * tests/test-rbtree_oset.c (ASSERT): Likewise.
68383         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
68384         * tests/test-round1.c (ASSERT): Likewise.
68385         * tests/test-roundf1.c (ASSERT): Likewise.
68386         * tests/test-roundl.c (ASSERT): Likewise.
68387         * tests/test-signbit.c (ASSERT): Likewise.
68388         * tests/test-sleep.c (ASSERT): Likewise.
68389         * tests/test-snprintf-posix.c (ASSERT): Likewise.
68390         * tests/test-snprintf.c (ASSERT): Likewise.
68391         * tests/test-sprintf-posix.c (ASSERT): Likewise.
68392         * tests/test-stat-time.c (ASSERT): Likewise.
68393         * tests/test-strcasestr.c (ASSERT): Likewise.
68394         * tests/test-strerror.c (ASSERT): Likewise.
68395         * tests/test-striconv.c (ASSERT): Likewise.
68396         * tests/test-striconveh.c (ASSERT): Likewise.
68397         * tests/test-striconveha.c (ASSERT): Likewise.
68398         * tests/test-strsignal.c (ASSERT): Likewise.
68399         * tests/test-strstr.c (ASSERT): Likewise.
68400         * tests/test-strtod.c (ASSERT): Likewise.
68401         * tests/test-trunc1.c (ASSERT): Likewise.
68402         * tests/test-trunc2.c (ASSERT): Likewise.
68403         * tests/test-truncf1.c (ASSERT): Likewise.
68404         * tests/test-truncf2.c (ASSERT): Likewise.
68405         * tests/test-truncl.c (ASSERT): Likewise.
68406         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
68407         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
68408         * tests/test-vasnprintf.c (ASSERT): Likewise.
68409         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
68410         * tests/test-vasprintf.c (ASSERT): Likewise.
68411         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
68412         * tests/test-vprintf-posix.c (ASSERT): Likewise.
68413         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
68414         * tests/test-vsnprintf.c (ASSERT): Likewise.
68415         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
68416         * tests/test-wcwidth.c (ASSERT): Likewise.
68417         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
68418         * tests/test-xprintf-posix.c (ASSERT): Likewise.
68419         * tests/test-xvasprintf.c (ASSERT): Likewise.
68420         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
68421         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
68422         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
68423         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
68424         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
68425         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
68426         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
68427         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
68428         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
68429         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
68430         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
68431         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
68432         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
68433         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
68434         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
68435         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
68436         * tests/unictype/test-block_list.c (ASSERT): Likewise.
68437         * tests/unictype/test-block_of.c (ASSERT): Likewise.
68438         * tests/unictype/test-block_test.c (ASSERT): Likewise.
68439         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
68440         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
68441         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
68442         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
68443         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
68444         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
68445         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
68446         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
68447         * tests/unictype/test-combining.c (ASSERT): Likewise.
68448         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
68449         * tests/unictype/test-digit.c (ASSERT): Likewise.
68450         * tests/unictype/test-mirror.c (ASSERT): Likewise.
68451         * tests/unictype/test-numeric.c (ASSERT): Likewise.
68452         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
68453         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
68454         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
68455         * tests/unictype/test-scripts.c (ASSERT): Likewise.
68456         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
68457         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
68458         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
68459         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
68460         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
68461         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
68462         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
68463         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
68464         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
68465         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
68466         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
68467         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
68468         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
68469         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
68470         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
68471         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
68472         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
68473         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
68474         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
68475         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
68476         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
68477         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
68478         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
68479         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
68480         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
68481         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
68482         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
68483         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
68484         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
68485         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
68486         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
68487         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
68488         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
68489         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
68490         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
68491         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
68492         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
68493         Reported by Eric Blake.
68494
68495 2008-04-11  Bruno Haible  <bruno@clisp.org>
68496
68497         * lib/wchar.in.h: Tweak comment.
68498
68499 2008-04-11  Bruno Haible  <bruno@clisp.org>
68500
68501         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
68502         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
68503         gl_COMMON.
68504         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
68505
68506 2008-04-11  Bruno Haible  <bruno@clisp.org>
68507
68508         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
68509
68510 2008-04-11  Simon Josefsson  <simon@josefsson.org>
68511
68512         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
68513         of attempting to use non-existing /dev/*random.  Based on patch
68514         from Adam Strzelecki <ono@java.pl> in
68515         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
68516
68517 2008-04-08  Bruno Haible  <bruno@clisp.org>
68518
68519         Add tentative support for emx+gcc.
68520         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
68521         * lib/fpurge.c (fpurge): Likewise.
68522         * lib/freadable.c (freadable): Likewise.
68523         * lib/freadahead.c (freadahead): Likewise.
68524         * lib/freading.c (freading): Likewise.
68525         * lib/freadptr.c (freadptr): Likewise.
68526         * lib/freadseek.c (freadptrinc): Likewise.
68527         * lib/fseeko.c (rpl_fseeko): Likewise.
68528         * lib/fseterr.c (fseterr): Likewise.
68529         * lib/fwritable.c (fwritable): Likewise.
68530         * lib/fwriting.c (fwriting): Likewise.
68531         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
68532
68533 2008-04-09  Eric Blake  <ebb9@byu.net>
68534
68535         Avoid some autoconf warnings.
68536         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
68537         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
68538         * m4/afs.m4 (gl_AFS): Likewise.
68539         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
68540         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
68541         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
68542         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
68543         (gl_INTEGER_TYPE_SUFFIX): Likewise.
68544         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
68545         (AC_CHECK_DECLS_ONCE): Likewise.
68546         Rename file...
68547         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
68548         gnulib-tool requires autoconf 2.59 or better.
68549         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
68550
68551 2008-04-08  Eric Blake  <ebb9@byu.net>
68552
68553         Use 'git describe --match' if present (added in git 1.5.5).
68554         * build-aux/git-version-gen: Limit result to tags that match 'v*'
68555         if possible.
68556
68557 2008-04-08  Bruno Haible  <bruno@clisp.org>
68558
68559         Add tentative support for OpenServer.
68560         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
68561         _ptr, _cnt.
68562         * lib/fpurge.c (fpurge): Likewise.
68563         * lib/freadable.c (freadable): Likewise.
68564         * lib/freadahead.c (freadahead): Likewise.
68565         * lib/freading.c (freading): Likewise.
68566         * lib/freadptr.c (freadptr): Likewise.
68567         * lib/freadseek.c (freadptrinc): Likewise.
68568         * lib/fseeko.c (rpl_fseeko): Likewise.
68569         * lib/fseterr.c (fseterr): Likewise.
68570         * lib/fwritable.c (fwritable): Likewise.
68571         * lib/fwriting.c (fwriting): Likewise.
68572         Reported by Roger Cornelius <rac@tenzing.org> and
68573         Brian K. White <brian@aljex.com>.
68574
68575 2008-04-06  Jim Meyering  <meyering@redhat.com>
68576
68577         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
68578
68579 2008-04-06  Bruno Haible  <bruno@clisp.org>
68580
68581         Avoid possible error with non-ASCII bytes in UTF-8 locales.
68582         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
68583         * tests/test-printf-posix.sh: Likewise.
68584         * tests/test-vfprintf-posix.sh: Likewise.
68585         * tests/test-vprintf-posix.sh: Likewise.
68586         * tests/test-xprintf-posix.sh: Likewise.
68587
68588 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68589
68590         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
68591         hide error from 'ls', needed on OS/2.
68592         Report by Elbert Pol <elbert.pol@gmail.com>.
68593
68594 2008-04-04  Eric Blake  <ebb9@byu.net>
68595
68596         Make test-fseeko.c failures meaningful.
68597         * tests/test-fseeko.c: Print line number on failure.
68598         * tests/test-fseek.c: Likewise.
68599         Reported by Nelson H. F. Beebe.
68600
68601         Improve strtod bug detection check.
68602         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
68603         required for Solaris 10.
68604         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
68605
68606 2008-04-04  Bruno Haible  <bruno@clisp.org>
68607
68608         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
68609         by m4/setenv.m4.
68610
68611 2008-04-03  Eric Blake  <ebb9@byu.net>
68612
68613         Ensure sane .version contents.
68614         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
68615         version string.
68616         * build-aux/git-version-gen: Improve documentation.
68617
68618         Make GNU make output nicer.
68619         * top/GNUmakefile [!_have-Makefile]: Add dependency on
68620         MAKECMDGOALS to enforce message for all command line targets.  Set
68621         srcdir for use in maint.mk.
68622
68623         Another maintainer tweak.
68624         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
68625         a target that regenerates version.
68626
68627 2008-04-03  Jim Meyering  <meyering@redhat.com>
68628
68629         vc-list-files: don't cause coreutils "make po-check" failure
68630         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
68631
68632 2008-04-03  Eric Blake  <ebb9@byu.net>
68633
68634         Allow VPATH usage of vc-list-files.
68635         * build-aux/vc-list-files (scriptversion): Add timestamp.
68636         (options): Add --help, --version, -C.
68637         (CVS): Support installed cvsu.
68638
68639 2008-04-02  Bruno Haible  <bruno@clisp.org>
68640
68641         Avoid some "statement with no effect" warnings from gcc.
68642         * tests/test-wctype.c (main): Explicitly ignore unused values.
68643         Reported by Jim Meyering.
68644
68645 2008-04-02  Jim Meyering  <meyering@redhat.com>
68646
68647         Avoid some warnings from "gcc -Wshadow".
68648         * tests/test-frexp.c (exp): Define to a different identifier.
68649         * tests/test-frexpl.c (exp): Likewise.
68650
68651 2008-04-03  Jim Meyering  <meyering@redhat.com>
68652
68653         bootstrap: remove dangling *.[ch] symlinks from lib
68654         * build-aux/bootstrap [dangling symlink removal]: Move find's
68655         -depth option to precede all others, to avoid a warning.
68656         Remove *.[ch] files too, and from "$source_base" (usually lib/).
68657
68658 2008-04-02  Bruno Haible  <bruno@clisp.org>
68659
68660         Avoid some warnings from "gcc -Wshadow".
68661         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
68662         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
68663         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
68664         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
68665         Reported by Jim Meyering.
68666
68667 2008-04-01  Bruno Haible  <bruno@clisp.org>
68668
68669         Fix test to work on IRIX 6.5 with cc.
68670         * tests/test-math.c (numeric_equal): New function.
68671         (main): Use it.
68672
68673 2008-04-01  Bruno Haible  <bruno@clisp.org>
68674
68675         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
68676
68677 2008-04-01  Bruno Haible  <bruno@clisp.org>
68678
68679         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
68680         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
68681         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
68682         (Depends-on): Remove math.
68683
68684         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
68685         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
68686         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
68687         (Depends-on): Remove math.
68688
68689         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
68690         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
68691         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
68692         (Depends-on): Remove math.
68693         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
68694         (Depends-on): Remove math.
68695
68696         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
68697         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
68698         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
68699         (Depends-on): Remove math.
68700         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
68701         (Depends-on): Remove math.
68702
68703         * tests/test-round1.c: Include nan.h.
68704         (main): Use NaNd instead of NAN.
68705         * modules/round-tests (Files): Add tests/nan.h.
68706
68707         * tests/test-trunc1.c: Include nan.h.
68708         (main): Use NaNd instead of NAN.
68709         * modules/trunc-tests (Files): Add tests/nan.h.
68710
68711         * tests/test-roundf1.c: Include nan.h.
68712         (main): Use NaNf instead of NAN.
68713         * modules/roundf-tests (Files): Add tests/nan.h.
68714
68715         * tests/test-truncf1.c: Include nan.h.
68716         (main): Use NaNf instead of NAN.
68717         * modules/truncf-tests (Files): Add tests/nan.h.
68718
68719         * tests/test-ceilf1.c: Include nan.h.
68720         (main): Use NaNf instead of NAN.
68721         * modules/ceilf-tests (Files): Add tests/nan.h.
68722
68723         * tests/test-floorf1.c: Include nan.h.
68724         (main): Use NaNf instead of NAN.
68725         * modules/floorf-tests (Files): Add tests/nan.h.
68726
68727         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
68728         (main): Use NaNf instead of NAN.
68729         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
68730
68731         * tests/test-isnand.c: Include nan.h instead of <math.h>.
68732         (main): Use NaNd instead of NAN.
68733         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
68734
68735         * tests/test-frexp.c: Include nan.h.
68736         (main): Use NaNd instead of NAN.
68737         * modules/frexp-tests (Files): Add tests/nan.h.
68738
68739         * lib/isnan.c: Don't include <math.h>.
68740         (FUNC): Don't use NAN macro.
68741         * modules/isnand-nolibm (Depends-on): Remove math.
68742         * modules/isnanf-nolibm (Depends-on): Remove math.
68743         * modules/isnanl (Depends-on): Remove math.
68744         * modules/isnanl-nolibm (Depends-on): Remove math.
68745
68746         * tests/nan.h: New file.
68747
68748 2008-04-01  Eric Blake  <ebb9@byu.net>
68749
68750         Fix typos.
68751         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
68752         values to be the right type.
68753
68754         For now, cater to gnulib strtod inaccuracies.
68755         * tests/test-strtod.c (main): Allow 1-ulp error on expected
68756         fractional results.  While not as nice from a QoI perspective, it
68757         is a quicker patch than correctly implementing decimal to binary
68758         rounding.
68759
68760 2008-03-31  Eric Blake  <ebb9@byu.net>
68761
68762         Guarantee a definition of NAN.
68763         * lib/math.in.h (NAN): Define if missing.
68764         * tests/test-math.c (main): Test it.
68765         * doc/posix-headers/math.texi (math.h): Document this.
68766         * lib/isnan.c (rpl_isnand): Use it.
68767         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
68768         * tests/test-floorf1.c (NaN): Likewise.
68769         * tests/test-frexp.c (NaN): Likewise.
68770         * tests/test-isnand.c (NaN): Likewise.
68771         * tests/test-isnanf.c (NaN): Likewise.
68772         * tests/test-round1.c (NaN): Likewise.
68773         * tests/test-roundf1.c (NaN): Likewise.
68774         * tests/test-snprintf-posix.h (NaN): Likewise.
68775         * tests/test-sprintf-posix.h (NaN): Likewise.
68776         * tests/test-trunc1.c (NaN): Likewise.
68777         * tests/test-truncf1.c (NaN): Likewise.
68778         * tests/test-vasnprintf-posix.c (NaN): Likewise.
68779         * tests/test-vasprintf-posix.c (NaN): Likewise.
68780         * modules/isnand-nolibm (Depends-on): Add math.
68781         * modules/isnanf-nolibm (Depends-on): Likewise.
68782         * modules/isnanl (Depends-on): Likewise.
68783         * modules/isnanl-nolibm (Depends-on): Likewise.
68784         * modules/snprintf-posix-tests (Depends-on): Likewise.
68785         * modules/sprintf-posix-tests (Depends-on): Likewise.
68786         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
68787         * modules/vsprintf-posix-tests (Depends-on): Likewise.
68788         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
68789         * modules/vasprintf-posix-tests (Depends-on): Likewise.
68790
68791 2008-03-31  Bruno Haible  <bruno@clisp.org>
68792
68793         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
68794         * doc/posix-functions/strtod.texi: Likewise.
68795
68796 2008-03-31  Bruno Haible  <bruno@clisp.org>
68797
68798         * tests/test-strtod.c (main): Don't use C99 syntax.
68799
68800 2008-03-31  Bruno Haible  <bruno@clisp.org>
68801
68802         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
68803         Reported by Eric Blake.
68804
68805 2008-03-31  Jim Meyering  <meyering@redhat.com>
68806
68807         Don't compare actual signbit return values.
68808         * tests/test-strtod.c (main): Rather, compare only their
68809         zero/non-zero nature.
68810
68811 2008-03-31  Eric Blake  <ebb9@byu.net>
68812
68813         More strtod documentation.
68814         * doc/posix-functions/strtod.texi (strtod): Interpret more test
68815         failures as distinct bugs.
68816
68817 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
68818
68819         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
68820         Problem reported by Erik Benada in
68821         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
68822
68823 2008-03-30  Bruno Haible  <bruno@clisp.org>
68824
68825         * tests/test-strtod.c: Add comments about which assertion fails on which
68826         platform.
68827         * doc/posix-functions/strtod.texi: Add info about many more platforms.
68828
68829 2008-03-30  Eric Blake  <ebb9@byu.net>
68830
68831         Test signbit behavior on zeros.
68832         * tests/test-signbit.c (test_signbitf): Add tests for zero.
68833         (test_signbitd, test_signbitl): Likewise.
68834
68835         More strtod touchups.
68836         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
68837         sign of negative underflow, for now.  Use .5, not .1.
68838         * doc/posix-functions/strtod.texi (strtod): Mention these
68839         limitations.
68840         Reported by Jim Meyering.
68841
68842 2008-03-30  Bruno Haible  <bruno@clisp.org>
68843
68844         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
68845         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
68846
68847 2008-03-30  Bruno Haible  <bruno@clisp.org>
68848
68849         Avoid failure when attempting to return empty iconv results on some
68850         platforms.
68851         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
68852         allocation, don't report ENOMEM when the resulting string is empty.
68853
68854 2008-03-30  Bruno Haible  <bruno@clisp.org>
68855
68856         Fix buffer overrun.
68857         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
68858         Don't consider the width for tmp_length. Check count against tmp_length
68859         before doing the padding. Ensure enough allocation during padding.
68860
68861 2008-03-30  Eric Blake  <ebb9@byu.net>
68862
68863         strtod touchups.
68864         * lib/strtod.c (strtod): Avoid compiler warnings.
68865         Reported by Jim Meyering.
68866
68867 2008-03-30  Bruno Haible  <bruno@clisp.org>
68868
68869         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
68870         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
68871         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
68872         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
68873         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
68874         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
68875         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
68876         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
68877
68878         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
68879         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
68880         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
68881         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
68882         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
68883         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
68884         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
68885         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
68886
68887         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
68888         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
68889         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
68890         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
68891         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
68892         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
68893         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
68894         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
68895
68896         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
68897         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
68898
68899         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
68900         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
68901
68902         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
68903         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
68904
68905         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
68906         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
68907         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
68908
68909         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
68910         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
68911         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
68912
68913         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
68914         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
68915         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
68916
68917         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
68918         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
68919         * modules/vasprintf (Depends-on): Add EOVERFLOW.
68920
68921         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
68922         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
68923         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
68924         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
68925         (Depends-on): Add EOVERFLOW.
68926         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
68927         (Depends-on): Add EOVERFLOW.
68928         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
68929         (Depends-on): Add EOVERFLOW.
68930         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
68931         (Depends-on): Add EOVERFLOW.
68932         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
68933         (Depends-on): Add EOVERFLOW.
68934         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
68935         (Depends-on): Add EOVERFLOW.
68936         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
68937         (Depends-on): Add EOVERFLOW.
68938         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
68939         (Depends-on): Add EOVERFLOW.
68940
68941         * lib/sprintf.c (EOVERFLOW): Remove fallback.
68942         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
68943         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
68944
68945         * lib/snprintf.c (EOVERFLOW): Remove fallback.
68946         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
68947         * modules/snprintf (Depends-on): Add EOVERFLOW.
68948
68949         * lib/poll.c (EOVERFLOW): Remove fallback.
68950         * modules/poll (Depends-on): Add EOVERFLOW.
68951
68952         * lib/getugroups.c (EOVERFLOW): Remove fallback.
68953         * modules/getugroups (Depends-on): Add EOVERFLOW.
68954
68955         * lib/getdelim.c (EOVERFLOW): Remove fallback.
68956         * modules/getdelim (Depends-on): Add EOVERFLOW.
68957
68958         * lib/ftell.c (EOVERFLOW): Remove fallback.
68959         * modules/ftell (Depends-on): Add EOVERFLOW.
68960
68961         * lib/fprintf.c (EOVERFLOW): Remove fallback.
68962         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
68963         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
68964
68965         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
68966
68967         * modules/EOVERFLOW-tests: New file.
68968         * tests/test-EOVERFLOW.c: New file.
68969
68970         * modules/EOVERFLOW: New file.
68971         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
68972
68973 2008-03-30  Bruno Haible  <bruno@clisp.org>
68974
68975         Fix bug introduced on 2007-06-10.
68976         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
68977         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
68978
68979 2008-03-30  Bruno Haible  <bruno@clisp.org>
68980
68981         Improve freadseek's efficiency after ungetc.
68982         * lib/freadseek.c: Include freadahead.h.
68983         (freadptrinc): New function, extracted from freadseek.
68984         (freadseek): Use it in a loop. Use freadahead to determine the number
68985         of loop iterations.
68986         * modules/freadseek (Depends-on): Add freadahead.
68987         (configure.ac): Require AC_C_INLINE.
68988
68989 2008-03-30  Bruno Haible  <bruno@clisp.org>
68990
68991         * lib/freadseek.c (freadseek): Don't ignore the return value of
68992         freadptr.
68993
68994 2008-03-29  Eric Blake  <ebb9@byu.net>
68995
68996         Add hex float support.
68997         * modules/strtod (Depends-on): Add c-ctype.
68998         (Link): Mention POW_LIB.
68999         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
69000         whitespace between 'e' and exponent.
69001         * tests/test-strtod.c (main): Enable hex float tests.
69002         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
69003         now provides.
69004
69005         Document various strtod bugs, with some fixes.
69006         * doc/posix-functions/strtod.texi (strtod): Document bugs with
69007         "-0x", "inf", "nan", and hex constants.
69008         * doc/posix-functions/atof.texi (atof): Likewise.
69009         * modules/stdlib (Makefile.am): Support strtod.
69010         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
69011         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
69012         detect additional strtod bugs.
69013         * lib/stdlib.in.h (rpl_strtod): Add declarations.
69014         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
69015         bool where appropriate.  Parse 'inf' and 'nan'.
69016         * tests/test-strtod.c: New file.
69017         * modules/strtod (Depends-on): Add stdbool, stdlib.
69018         (configure.ac): Turn on module indicator.
69019         * modules/strtod-tests: New module.
69020
69021 2008-03-29  Eric Blake  <ebb9@byu.net>
69022
69023         Fix ftell on mingw.
69024         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
69025         * modules/ftell-tests (Depends-on): Add binary-io.
69026         * modules/ftello-tests (Depends-on): Likewise.
69027         * tests/test-ftell.c (main): Enhance test to cover behavior after
69028         ungetc.  Enforce binary mode.
69029         * tests/test-ftello.c (main): Likewise.
69030
69031         Pass test-freadseek on cygwin.
69032         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
69033         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
69034         ungetc buffer.
69035
69036         * tests/test-fflush2.c (main): Fix typo.
69037
69038 2008-03-29  Bruno Haible  <bruno@clisp.org>
69039
69040         * tests/test-fflush2.c (main): Temporarily disable the contents of
69041         this test.
69042         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
69043         Reported by Eric Blake.
69044
69045 2008-03-28  Simon Josefsson  <simon@josefsson.org>
69046
69047         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
69048         (GC_SHA224_DIGEST_SIZE): Add.
69049
69050         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
69051         (gc_hash_digest_length): Likewise.
69052         (gc_hash_buffer): Likewise.
69053
69054 2008-03-25  Bruno Haible  <bruno@clisp.org>
69055
69056         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
69057         detail which gettext release to use.
69058         Reported by Simon Josefsson.
69059
69060 2008-03-26  Jim Meyering  <meyering@redhat.com>
69061
69062         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
69063         * modules/gnumakefile (clean-GNUmakefile): Also, use
69064         test ... && ... || : syntax rather than if-then ... fi.
69065
69066         gnumakefile: Don't double-quote-expand $(VPATH) value.
69067         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
69068
69069 2008-03-24  Eric Blake  <ebb9@byu.net>
69070
69071         Alter GNUmakefile to install into top directory.
69072         * modules/maintainer-makefile: Split, and add dependency...
69073         * modules/gnumakefile: to this new module.
69074         * build-aux/GNUmakefile: Move...
69075         * top/GNUmakefile: ...here.
69076         * build-aux/maint.mk: Move...
69077         * top/maint.mk: ...here.
69078         * MODULES.html.sh (Support for maintaining...): Document new
69079         module.
69080
69081 2008-03-23  Bruno Haible  <bruno@clisp.org>
69082
69083         * gnulib-tool: New options --vc-files, --no-vc-files.
69084         (func_usage): Document them.
69085         (vc_files): New variable.
69086         (func_import): Consider vc_files.
69087         (func_create_testdir): Set vc_files to empty.
69088         Suggested by Jim Meyering and Karl Berry.
69089
69090 2008-03-23  Bruno Haible  <bruno@clisp.org>
69091
69092         Fix regex compilation error on HP-UX 11.
69093         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
69094         * modules/regex (Files): Add m4/mbstate_t.m4.
69095         Reported by Ton Voon <ton.voon@altinity.com>.
69096
69097 2008-03-23  Bruno Haible  <bruno@clisp.org>
69098
69099         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
69100
69101 2008-03-23  Eric Blake  <ebb9@byu.net>
69102             Bruno Haible  <bruno@clisp.org>
69103
69104         Install files from top/ in the destination directory.
69105         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
69106         augmentation also for the files from top/.
69107         (func_import, func_create_testdir): Rewrite file names:
69108         top/filename -> filename.
69109
69110 2008-03-23  Bruno Haible  <bruno@clisp.org>
69111
69112         Tweak "gnulib --version" output.
69113         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
69114
69115 2008-03-23  Bruno Haible  <bruno@clisp.org>
69116
69117         Tweak "gnulib --version" output.
69118         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
69119         rather than contents of ChangeLog, when possible.
69120
69121 2008-03-21  Eric Blake  <ebb9@byu.net>
69122
69123         More --version tweaks.
69124         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
69125         date of last ChangeLog entry.
69126
69127 2008-03-21  Jim Meyering  <meyering@redhat.com>
69128
69129         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
69130
69131 2008-03-20  Eric Blake  <ebb9@byu.net>
69132
69133         VPATH fix.
69134         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
69135
69136 2008-03-20  Simon Josefsson  <simon@josefsson.org>
69137
69138         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
69139         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
69140
69141 2008-03-20  Eric Blake  <ebb9@byu.net>
69142
69143         Sync GNUmakefile with coreutils.
69144         * build-aux/GNUmakefile (have-Makefile): Rename...
69145         (_have-Makefile): ...to this, for namespace consideration.
69146         (GNUmakefile.cfg): Include, if present.
69147         (_autoreconf): Define a default.
69148         (_is-dist-target): New rule for rebuilds to pick up intra-release
69149         version.
69150         (maint-cfg.mk): Rename...
69151         (cfg.mk): ...to this.
69152
69153 2008-03-18  Jim Meyering  <meyering@redhat.com>
69154
69155         New script and module: mktempd
69156         * MODULES.html.sh (maint+release support): Add mktempd.
69157         * build-aux/mktempd: New file.
69158         * modules/mktempd: New file.
69159
69160 2008-03-15  Jim Meyering  <meyering@redhat.com>
69161
69162         Undo last change.
69163         * lib/sha1.c, lib/md5.c: 63 != ~63.
69164         Reported by Andreas Schwab.
69165
69166         sha1.c, md5.c: Hoist a redundant expression.
69167         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
69168         "ctx->buflen" only once, before calling *_process_block.
69169         * lib/md5.c (md5_process_bytes): Likewise.
69170
69171 2008-03-14  Eric Blake  <ebb9@byu.net>
69172
69173         Bump copyright year in files generated by gnulib-tool.
69174         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
69175         gnulib-tool, rather than hard-coding it.
69176
69177         Fix 'gnulib-tool --version' output to work with git.
69178         * gnulib-tool (func_gnulib_dir): New function, extracted from...
69179         (startup): ...here.
69180         (func_version): Use it to invoke git-version-gen, rather than
69181         relying on CVS keyword expansion.  Modernize wording.
69182         (cvsdatestamp, last_checkin_date, version): Kill unused
69183         variables.
69184
69185 2008-03-12  Jim Meyering  <meyering@redhat.com>
69186
69187         Recognize optional cast of the argument to free.
69188         * build-aux/useless-if-before-free: Update regexps.
69189
69190         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
69191
69192 2008-03-11  Bruno Haible  <bruno@clisp.org>
69193
69194         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
69195         by a single package.
69196         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
69197         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
69198         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
69199         Reported by Sam Steingold <sds@gnu.org>.
69200
69201 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69202
69203         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
69204         repositories.
69205
69206 2008-03-11  Bruno Haible  <bruno@clisp.org>
69207
69208         Avoid conflicts between local macro definitions.
69209         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
69210         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
69211
69212 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
69213             Bruno Haible  <bruno@clisp.org>
69214
69215         Make va_copy work with some version of xlc on AIX 5.1.
69216         * lib/stdarg.in.h: New file.
69217         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
69218         On AIX, use a <stdarg.h> file substitute.
69219         * modules/stdarg (Files): Add lib/stdarg.in.h.
69220         (Depends-on): Add include_next.
69221         (Makefile.am): Build a stdarg.h substitute if requested.
69222         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
69223
69224 2008-03-10  Bruno Haible  <bruno@clisp.org>
69225
69226         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
69227         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
69228         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
69229
69230 2008-03-10  Bruno Haible  <bruno@clisp.org>
69231
69232         * modules/stdlib (Depends-on): Add include_next, remove
69233         absolute-header.
69234
69235 2008-03-09  Bruno Haible  <bruno@clisp.org>
69236
69237         * lib/freadahead.h (freadahead): Document more precisely.
69238         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
69239         the sum of both buffer sizes.
69240         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
69241         * NEWS: Document the change.
69242
69243 2008-03-09  Bruno Haible  <bruno@clisp.org>
69244
69245         Extend freadptr to return also the buffer size.
69246         * lib/freadptr.h (freadptr): Add sizep argument.
69247         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
69248         (freadptr): Add sizep argument. Determine buffer size like freadahead
69249         does.
69250         * tests/test-freadptr.c: Don't include freadahead.h.
69251         (main): Adapt for new calling convention of freadptr.
69252         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
69253         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
69254         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
69255         tests/test-freadptr2.sh.
69256         (Depends): Remove freadahead.
69257         (TESTS): Add test-freadptr2.sh.
69258         (check_PROGRAMS): Add test-freadptr2.
69259
69260 2008-03-09  Bruno Haible  <bruno@clisp.org>
69261
69262         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
69263         Report and solution by Simon Josefsson.
69264
69265 2008-03-06  Bruno Haible  <bruno@clisp.org>
69266
69267         Make fflush after ungetc work on BSD platforms.
69268         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
69269         * tests/test-fflush2.c: New file.
69270         * tests/test-fflush2.sh: New file.
69271         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
69272         tests/test-fflush2.c.
69273         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
69274         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
69275
69276 2008-03-06  Eric Blake  <ebb9@byu.net>
69277
69278         Likewise for ftello.
69279         * modules/ftello (Dependencies): Add extensions.
69280         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
69281
69282 2008-03-06  Bruno Haible  <bruno@clisp.org>
69283
69284         * modules/fseeko (Dependencies): Add extensions.
69285         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
69286         Needed on glibc systems.
69287
69288 2008-03-06  Bruno Haible  <bruno@clisp.org>
69289
69290         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
69291         email address.
69292         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
69293
69294 2008-03-06  Bruno Haible  <bruno@clisp.org>
69295
69296         * users.txt: Add libgnupdf.
69297
69298 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69299
69300         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
69301         (Header File Substitutes, Function Substitutes,
69302         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
69303         (Build robot for gnulib): Fix typo.
69304
69305 2008-03-06  Bruno Haible  <bruno@clisp.org>
69306
69307         * doc/gnulib-tool.texi (VCS Issues): Small updates.
69308         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
69309
69310 2008-03-06  Bruno Haible  <bruno@clisp.org>
69311
69312         * doc/func.texi: New file, extracted from doc/gnulib.texi.
69313         * doc/gnulib.texi: Include it.
69314
69315 2008-03-06  Simon Josefsson  <simon@josefsson.org>
69316
69317         * modules/func (License): Change license to unlimited; there was
69318         no LGPL parts in the module anyway.
69319
69320 2008-03-06  Simon Josefsson  <simon@josefsson.org>
69321
69322         * modules/__func__: Renamed to modules/func.
69323         * modules/__func__-tests: Renamed to modules/func-tests.
69324         * tests/test-__func__.c: Renamed to tests/test-func.c.
69325         * m4/__func__.m4: Renamed to m4/func.m4.
69326         * doc/gnulib.texi (__func__): Section renamed to func.
69327         Suggested by Eric Blake <ebb9@byu.net>.
69328
69329 2008-03-06  Simon Josefsson  <simon@josefsson.org>
69330
69331         * doc/gnulib.texi (__func__): Use C99 terminology when talking
69332         about __func__.  Make example self-contained.  Suggested by Eric
69333         Blake <ebb9@byu.net>.
69334
69335         * tests/test-__func__.c (main): Avoid extraneous () around __func.
69336         Suggested by Eric Blake <ebb9@byu.net>.
69337
69338 2008-03-06  Simon Josefsson  <simon@josefsson.org>
69339
69340         * modules/__func__: New file.
69341         * modules/__func__-tests: New file.
69342         * tests/test-__func__.c: New file.
69343         * m4/__func__.m4: New file.
69344         * doc/gnulib.texi (__func__): Document __func__ module.
69345
69346 2008-03-05  Simon Josefsson  <simon@josefsson.org>
69347
69348         * modules/byteswap (License): Re-license as LGPLv2+.
69349
69350 2008-03-05  Simon Josefsson  <simon@josefsson.org>
69351
69352         * doc/Makefile: Add pdf target.
69353
69354 2008-03-05  Simon Josefsson  <simon@josefsson.org>
69355
69356         * modules/inline (License): Use 'unlimited', since there are only
69357         *.m4 files in this module.
69358
69359 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
69360             Bruno Haible  <bruno@clisp.org>
69361
69362         Add support for HP C 7.1 on OpenVMS 8.3.
69363         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
69364
69365 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
69366
69367         Update VMS specifics.
69368         * lib/getopt.c [VMS]: Remove include of unixlib.h.
69369
69370 2008-03-02  Jim Meyering  <meyering@redhat.com>
69371
69372         Remove the last dependency on the "free" module.
69373         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
69374         Reported by Bob Proulx.
69375
69376         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
69377
69378         Remove useless "if" tests before free.  Deprecate "free" module.
69379         * doc/posix-functions/free.texi: Mention that this
69380         module is no longer useful.
69381         * modules/free (Notice): Say this module is obsolete.
69382         * modules/readutmp (Depends-on): Remove free.
69383         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
69384         * lib/putenv.c (putenv): Likewise.
69385         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
69386         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
69387         * tests/test-c-strcasestr.c (main): Likewise.
69388         * tests/test-c-strstr.c (main): Likewise.
69389         * tests/test-mbscasestr1.c (main): Likewise.
69390         * tests/test-mbscasestr2.c (main): Likewise.
69391         * tests/test-mbsstr1.c (main): Likewise.
69392         * tests/test-mbsstr2.c (main): Likewise.
69393         * tests/test-memmem.c (main): Likewise.
69394         * tests/test-strcasestr.c (main): Likewise.
69395         * tests/test-striconv.c (main): Likewise.
69396         * tests/test-striconveh.c (main): Likewise.
69397         * tests/test-striconveha.c (main): Likewise.
69398         * tests/test-strstr.c (main): Likewise.
69399
69400         * build-aux/git-version-gen: Adjust a comment and the Usage string.
69401
69402         bootstrap: sync from coreutils again
69403         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
69404
69405 2008-03-01  Jim Meyering  <meyering@redhat.com>
69406
69407         bootstrap: sync from coreutils
69408         * build-aux/bootstrap (update_po_files): Copy a .po file into place
69409         also when the target doesn't exist.
69410
69411 2008-03-01  Eric Blake  <ebb9@byu.net>
69412
69413         Fix bugs in last patch.
69414         * lib/memchr2.c (memchr2): Fix typo.
69415         * tests/test-memchr2.c: Test previous bug, and don't use GNU
69416         extension.
69417         Reported by Bruce Korb.
69418
69419         New module 'memchr2'.
69420         * modules/memchr2: New file.
69421         * modules/memchr2-tests: Likewise.
69422         * lib/memchr2.h: Likewise.
69423         * lib/memchr2.c: Likewise, based on memchr.c.
69424         * tests/test-memchr2.c: New test.
69425         * MODULES.html.sh (String handling): Add memchr2.
69426
69427 2008-02-29  Bruno Haible  <bruno@clisp.org>
69428
69429         * modules/freadseek-tests: New file.
69430         * tests/test-freadseek.sh: New file.
69431         * tests/test-freadseek.c: New file.
69432
69433         New module 'freadseek'.
69434         * modules/freadseek: New file.
69435         * lib/freadseek.h: New file.
69436         * lib/freadseek.c: New file.
69437         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
69438
69439 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69440
69441         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
69442         wydawca.
69443
69444         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
69445         program_invocation_name and program_invocation_short_name are
69446         present.
69447
69448 2008-02-28  Bruno Haible  <bruno@clisp.org>
69449
69450         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
69451         * tests/test-freadptr.sh: Also test non-seekable stdin.
69452
69453 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
69454
69455         * build-aux/bootstrap (source_base, m4_base)
69456         (doc_base, tests_base): New variables.
69457         (gnulib_tool_options): Do not hardcode base directories, use
69458         the above variables instead.
69459
69460 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
69461
69462         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
69463
69464 2008-02-28  Bruno Haible  <bruno@clisp.org>
69465
69466         * modules/freadptr-tests: New file.
69467         * tests/test-freadptr.sh: New file.
69468         * tests/test-freadptr.c: New file.
69469
69470         New module 'freadptr'.
69471         * modules/freadptr: New file.
69472         * lib/freadptr.h: New file.
69473         * lib/freadptr.c: New file.
69474         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
69475
69476 2008-02-26  Karl Berry  <karl@freefriends.org>
69477
69478         Sync from Libtool:
69479         * libltdl/argz.c (argz_add, argz_count): New functions.
69480         * libltdl/argz.in.h: Declare them.
69481         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
69482
69483 2008-02-22  Bruno Haible  <bruno@clisp.org>
69484
69485         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
69486         is a pointer type.  Needed for HP-UX 10.
69487         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
69488         * doc/posix-functions/gmtime_r.texi: Likewise.
69489         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
69490
69491 2008-02-24  Bruno Haible  <bruno@clisp.org>
69492
69493         * modules/environ-tests: New file.
69494         * tests/test-environ.c: New file.
69495
69496         New module 'environ'.
69497         * modules/environ: New file.
69498         * lib/unistd.in.h (environ): New declaration.
69499         * m4/environ.m4: New file.
69500         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
69501         after use.
69502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
69503         HAVE_DECL_ENVIRON.
69504         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
69505         HAVE_DECL_ENVIRON.
69506         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
69507         wrong claim that 'environ' is missing on some systems.
69508         * modules/execute (Depends-on): Add environ.
69509         * lib/execute.c (environ): Remove fallback declaration.
69510         * modules/pipe (Depends-on): Add environ.
69511         * lib/pipe.c (environ): Remove fallback declaration.
69512         * modules/setenv (Depends-on): Add environ.
69513         * lib/setenv.c (environ): Remove fallback declaration.
69514         * modules/unsetenv (Depends-on): Add environ.
69515         * lib/unsetenv.c (environ): Remove fallback declaration.
69516         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
69517         m4/environ.m4.
69518         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
69519         (gl_PREREQ_UNSETENV): Likewise.
69520
69521 2008-02-24  Bruno Haible  <bruno@clisp.org>
69522
69523         * doc/posix-functions/environ.texi: Document the MacOS X problem.
69524
69525 2008-02-20  Bob Proulx  <bob@proulx.com>
69526
69527         Enable use of older two part flavor 'git describe'.
69528         * build-aux/git-version-gen: If using the older two part flavor of
69529         git version then recreate the third part now present in the
69530         newer three part flavor of git describe.
69531
69532 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
69533
69534         * lib/fts.c (fts_build): Typo correction to comment.
69535
69536 2008-02-17  Bruno Haible  <bruno@clisp.org>
69537
69538         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
69539         generating no-op conflicts.
69540
69541 2008-02-17  Bruno Haible  <bruno@clisp.org>
69542
69543         Speed up by 10%.
69544         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
69545         result_entries, rather than an index-based loop.
69546
69547 2008-02-17  Bruno Haible  <bruno@clisp.org>
69548
69549         Speed up by 25%.
69550         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
69551         'hashcode_cached'.
69552         (entry_create): New function.
69553         (entry_hashcode): Use the cached hashcode if possible.
69554         (read_changelog_file, try_split_merged_entry): Use entry_create.
69555
69556 2008-02-17  Bruno Haible  <bruno@clisp.org>
69557
69558         Speed up from O(n^2) to O(n) for long ChangeLog files.
69559         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
69560         (read_changelog_file): Change implementation of entries_reversed list
69561         to rbtreehash.
69562         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
69563
69564 2008-02-17  Bruno Haible  <bruno@clisp.org>
69565
69566         New option --split-merged-entry.
69567         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
69568         (find_paragraph_end, try_split_merged_entry): New functions.
69569         (long_options): Add option --split-merged-entry.
69570         (usage): Document option --split-merged-entry.
69571         (main): Implement option --split-merged-entry.
69572         Reported by Eric Blake.
69573
69574 2008-02-17  Bruno Haible  <bruno@clisp.org>
69575
69576         * lib/git-merge-changelog.c: Include c-strstr.h.
69577         (main): Support the "git pull --rebase" situation.
69578         * modules/git-merge-changelog (Depends-on): Add c-strstr.
69579         Reported by Eric Blake.
69580
69581 2008-02-16  Eric Blake  <ebb9@byu.net>
69582
69583         Avoid doubling \ in common case of "c-maybe" quoting style.
69584         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
69585         eliding outer quotes.
69586         * lib/quotearg.h: Document this.
69587         * tests/test-quotearg.c (result_strings, inputs, results_g)
69588         (flag_results, locale_results): Test it by adding a new string to
69589         each test group.
69590         (compare_strings): Test new string.
69591
69592 2008-02-13  Eric Blake  <ebb9@byu.net>
69593
69594         Avoid trigraph quoting in default output.
69595         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
69596         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
69597         unless explicitly requested.
69598         * tests/test-quotearg.c (flag_results, main): Add additional tests.
69599
69600 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
69601
69602         Don't rely on signed integer overflowing to negative value.
69603         * lib/getugroups.c (getugroups): Include <limits.h>.
69604         Instead, compare against INT_MAX, and increment only if the test passes.
69605
69606 2008-02-13  Jim Meyering  <meyering@redhat.com>
69607         and Eric Blake  <ebb9@byu.net>
69608
69609         Avoid shadowing warning and compile errors on Linux.
69610         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
69611         forwarding macros on Linux.
69612         (dcgettext): Define a stub, for Linux.
69613         (results_g, main): Avoid warnings.
69614
69615 2008-02-12  Eric Blake  <ebb9@byu.net>
69616
69617         Silence warning in last patch.
69618         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
69619
69620         Quotearg part 4: add tests, fix c-maybe colon quoting.
69621         * lib/quotearg.h: Improve documentation.
69622         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
69623         escapes when adding outer quotes.  When quoting trigraphs, use
69624         valid C notation.  When quoting NUL, omit extra characters if next
69625         character is not digit.  Alter prototype.
69626         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
69627         callers.
69628         * modules/quotearg-tests: New module.
69629         * tests/test-quotearg.c: New test.
69630
69631 2008-02-07  Eric Blake  <ebb9@byu.net>
69632
69633         Quotearg part 3: add flag to control outer quote elision.
69634         * lib/quotearg.h (c_maybe_quoting_style): New style.
69635         (enum quoting_flags): Better documentation of flags.
69636         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
69637         c-maybe style.
69638         (quotearg_buffer_restyled): Handle new flag to elide outer
69639         quotes.
69640
69641         Quotearg part 2: add flag that can control NUL elision.
69642         * lib/quotearg.h (set_quoting_flags): New prototype.
69643         * lib/quotearg.c (struct quoting_options): Add flag field.
69644         (set_quoting_flags): New function.
69645         (quotearg_buffer_restyled): Add flags parameter.
69646         (quotearg_alloc_mem): Set the flag if length cannot be returned.
69647         (quotearg_n_options): Set the flag, since length cannot be
69648         returned.
69649         (quoting_options_from_style): Default flags correctly.
69650
69651         Quotearg part 1: more wrappers, restore quotearg_char state.
69652         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
69653         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
69654         (quotearg_colon_mem): New wrappers.
69655         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
69656         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
69657         functions.
69658         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
69659         (quotearg_colon_mem): New functions.
69660
69661 2008-02-11  Bruno Haible  <bruno@clisp.org>
69662
69663         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
69664         library in the current directory: it does not work with parallel make.
69665         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69666
69667 2008-02-11  Bruno Haible  <bruno@clisp.org>
69668
69669         * .gitattributes: New file.
69670
69671 2008-02-11  Jim Meyering  <meyering@redhat.com>
69672
69673         useless-if-before-free: Fix reversed exit values.
69674         * build-aux/useless-if-before-free: Use correct values
69675         for EXIT_MATCH and EXIT_NO_MATCH.
69676
69677         * build-aux/useless-if-before-free: Close stdout carefully.
69678
69679 2008-02-10  Bruno Haible  <bruno@clisp.org>
69680
69681         New module 'git-merge-changelog'.
69682         * modules/git-merge-changelog: New file.
69683         * lib/git-merge-changelog.c: New file.
69684
69685 2008-02-10  Jim Meyering  <meyering@redhat.com>
69686
69687         useless-if-before-free: New option: --list (-l).
69688
69689         useless-if-before-free: Don't exit immediately upon open failure.
69690         * build-aux/useless-if-before-free: Exit 2 for errors.
69691         Upon failure to open a file, don't exit immediately.
69692         Rather, just warn and continue with any remaining files.
69693
69694 2008-02-10  Bruno Haible  <bruno@clisp.org>
69695
69696         New abstract list operation 'node_set_value'.
69697         * lib/gl_list.h (gl_list_node_set_value): New function.
69698         (struct gl_list_implementation): New field node_set_value.
69699         * lib/gl_list.c (gl_list_node_set_value): New function.
69700         * lib/gl_array_list.c (gl_array_node_set_value): New function.
69701         (gl_array_list_implementation): Update.
69702         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
69703         (gl_carray_list_implementation): Update.
69704         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
69705         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
69706         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
69707         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
69708         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
69709         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
69710         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
69711         Update.
69712         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
69713         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
69714         (gl_sublist_list_implementation): Update.
69715
69716 2008-02-10  Bruno Haible  <bruno@clisp.org>
69717
69718         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
69719         Needed when ELEMENT is #defined to 'some_type *'.
69720
69721 2008-02-10  Jim Meyering  <meyering@redhat.com>
69722
69723         New script and module: useless-if-before-free
69724         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
69725         * build-aux/useless-if-before-free: New file.
69726         * modules/useless-if-before-free: New file.
69727
69728         * build-aux/gitlog-to-changelog: Use committer date, not author date.
69729
69730         xstrtol_error: Fix typo.
69731         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
69732         s/exit_failure/exit_status/.
69733
69734 2008-02-09  Jim Meyering  <meyering@redhat.com>
69735
69736         New script and module: gitlog-to-changelog
69737         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
69738         * modules/gitlog-to-changelog: New file.
69739         * build-aux/gitlog-to-changelog: New file.
69740
69741 2008-02-08  Jim Meyering  <meyering@redhat.com>
69742
69743         Avoid two "parameter unused" warnings.
69744         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
69745         Mark "st" as used.
69746
69747         Use "git COMMAND", not "git-COMMAND".
69748         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
69749         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
69750         * build-aux/git-version-gen: Use "git status", not "git-status".
69751
69752 2008-02-07  Bruno Haible  <bruno@clisp.org>
69753
69754         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
69755         Avoids a crash on Windows Vista.
69756         Reported by Adam Strzelecki <ono@java.pl> via
69757         Simon Josefsson <simon@josefsson.org>.
69758
69759 2008-02-06  Bruno Haible  <bruno@clisp.org>
69760
69761         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
69762         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
69763         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
69764         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
69765         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
69766         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69767         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
69768         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
69769         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69770         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69771         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69772         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69773         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69774         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69775         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69776         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
69777         left-adjust flag.
69778         * tests/test-snprintf-posix.h (test_function): Likewise.
69779         * tests/test-sprintf-posix.h (test_function): Likewise.
69780         * tests/test-vasprintf-posix.c (test_function): Likewise.
69781         * doc/posix-functions/fprintf.texi: Update.
69782         * doc/posix-functions/printf.texi: Update.
69783         * doc/posix-functions/snprintf.texi: Update.
69784         * doc/posix-functions/sprintf.texi: Update.
69785         * doc/posix-functions/vfprintf.texi: Update.
69786         * doc/posix-functions/vprintf.texi: Update.
69787         * doc/posix-functions/vsnprintf.texi: Update.
69788         * doc/posix-functions/vsprintf.texi: Update.
69789         Reported by Peter Fales <psfales@alcatel-lucent.com>.
69790
69791 2008-02-06  Bruno Haible  <bruno@clisp.org>
69792
69793         Fix bug introduced on 2008-01-26.
69794         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
69795
69796 2008-02-06  Bruno Haible  <bruno@clisp.org>
69797
69798         Fix bug introduced on 2007-06-10.
69799         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
69800         !NEED_PRINTF_FLAG_ZERO.
69801
69802 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
69803
69804         getloadavg: use libperfstat on AIX5
69805         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
69806
69807 2008-02-03  Bruno Haible  <bruno@clisp.org>
69808
69809         * lib/diffseq.h: Add comments about required #includes.
69810         Reported by Michael Biggs <gnulib@doubleplum.net>.
69811
69812 2008-02-01  Bruno Haible  <bruno@clisp.org>
69813
69814         * users.txt: Add gnuit.
69815
69816 2008-01-31  Bruno Haible  <bruno@clisp.org>
69817
69818         * lib/md4.c (set_uint32): Mark as inline.
69819         * lib/md5.c (set_uint32): Likewise.
69820         * lib/sha1.c (set_uint32): Likewise.
69821         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
69822         * m4/md5.m4 (gl_MD5): Likewise.
69823         * m4/sha1.m4 (gl_SHA1): Likewise.
69824
69825 2008-01-31  Jim Meyering  <meyering@redhat.com>
69826
69827         Use "sizeof VAR", rather than a literal "4".
69828         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
69829         * lib/md4.c (md4_read_ctx): Likewise.
69830         * lib/sha1.c (sha1_read_ctx): Likewise.
69831
69832 2008-01-31  Simon Josefsson  <simon@josefsson.org>
69833
69834         * tests/test-sha1.c: New file, based on test-md5.c.
69835
69836         * modules/crypto/sha1-tests: New file.
69837
69838 2008-01-31  Simon Josefsson  <simon@josefsson.org>
69839
69840         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
69841
69842 2008-01-31  Jim Meyering  <meyering@redhat.com>
69843
69844         Prefer "sizeof v" over the equivalent "4".
69845         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
69846         * lib/md5.c (set_uint32): Likewise.
69847         * lib/sha1.c (set_uint32): Likewise.
69848
69849 2008-01-31  Simon Josefsson  <simon@josefsson.org>
69850
69851         * lib/sha1.c (set_uint32): Mark function as static.
69852
69853 2008-01-31  Simon Josefsson  <simon@josefsson.org>
69854
69855         md2: clarify comments to say that alignment is not required.
69856         * lib/md2.h: Remove warning about alignment in comment.
69857         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
69858         never been required.
69859
69860 2008-01-31  Simon Josefsson  <simon@josefsson.org>
69861
69862         md4: adapt alignment constraint fix from sha1.
69863         * lib/md4.c (set_uint32): New function, from sha1.c
69864         (md4_read_ctx): Use it.
69865         (md4_finish_ctx): Doc fix.
69866         * lib/md4.h: Doc fix.
69867
69868 2008-01-31  Simon Josefsson  <simon@josefsson.org>
69869
69870         md5: adapt alignment constraint fix from sha1.
69871         * lib/md5.c (set_uint32): New function, from sha1.c
69872         (md5_read_ctx): Use it.
69873         (md5_finish_ctx): Doc fix.
69874         * lib/md5.h: Doc fix.
69875
69876 2008-01-30  Peter Palfrader  <weasel@debian.org>
69877
69878         sha1: remove the result buffer alignment constraint
69879         * lib/sha1.c (set_uint32): New function.
69880         (sha1_read_ctx): Rewrite to remove the result buffer alignment
69881         constraint.
69882         (sha1_finish_ctx): Remove comment warning about alignment constraint.
69883         * lib/sha1.h: Likewise.
69884
69885 2008-01-30  Andreas Schwab  <schwab@suse.de>
69886             Bruno Haible  <bruno@clisp.org>
69887
69888         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
69889         correct definition of LDBL_MIN_EXP.
69890
69891 2008-01-30  Karl Berry  <karl@gnu.org>
69892
69893         * config/srclist-update: try to preserve x bit on updates.
69894         * config/srclistvars.sh: update for karl.
69895
69896 2008-01-29  Jim Meyering  <meyering@redhat.com>
69897
69898         vasnprintf.c: Avoid warning about unused label
69899         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
69900         "overflow" label definition and associated code with the
69901         same cpp condition that guards the sole use of that label.
69902
69903 2008-01-26  Bruno Haible  <bruno@clisp.org>
69904
69905         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
69906         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
69907         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
69908         * lib/isnanl-nolibm.h (isnanl): Likewise.
69909         Reported by Paul Eggert <eggert@cs.ucla.edu>.
69910
69911 2008-01-26  Bruno Haible  <bruno@clisp.org>
69912
69913         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
69914         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
69915
69916 2008-01-26  Bruno Haible  <bruno@clisp.org>
69917
69918         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
69919         GCC >= 4.0 built-in.
69920         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
69921
69922 2008-01-26  Bruno Haible  <bruno@clisp.org>
69923
69924         Rename isnan, applicable to 'double' only, to isnand.
69925         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
69926         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
69927         (configure.ac): Update.
69928         (Include): Replace "isnan.h" with "isnand.h".
69929         * m4/isnand.m4: Renamed from m4/isnan.m4.
69930         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
69931         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
69932         instead of isnan.c.
69933         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
69934         instead of HAVE_ISNAN_IN_LIBC.
69935         (isnand): Renamed from isnan.
69936         * lib/isnand.c: New file.
69937         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
69938         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
69939         (Makefile.am): Update.
69940         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
69941         Include isnand.h instead of isnan.h.
69942         (main): Test isnand instead of isnan.
69943         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
69944         isnan-nolibm.
69945         * modules/frexp (Depends-on): Likewise.
69946         * modules/frexp-tests (Depends-on): Likewise.
69947         * modules/frexp-nolibm (Depends-on): Likewise.
69948         * modules/frexp-nolibm-tests (Depends-on): Likewise.
69949         * modules/isfinite (Depends-on): Likewise.
69950         * modules/round-tests (Depends-on): Likewise.
69951         * modules/signbit (Depends-on): Likewise.
69952         * modules/signbit-tests (Depends-on): Likewise.
69953         * modules/snprintf-posix (Depends-on): Likewise.
69954         * modules/sprintf-posix (Depends-on): Likewise.
69955         * modules/trunc-tests (Depends-on): Likewise.
69956         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
69957         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
69958         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
69959         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
69960         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
69961         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
69962         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
69963         * modules/vasnprintf-posix (Depends-on): Likewise.
69964         * modules/vasprintf-posix (Depends-on): Likewise.
69965         * modules/vfprintf-posix (Depends-on): Likewise.
69966         * modules/vsnprintf-posix (Depends-on): Likewise.
69967         * modules/vsprintf-posix (Depends-on): Likewise.
69968         * lib/frexp.c: Include isnand.h instead of isnan.h.
69969         (ISNAN): Set to isnand instead of isnan.
69970         * lib/isfinite.c: Include isnand.h instead of isnan.h.
69971         (gl_isfinited): Use isnand instead of isnan.
69972         * lib/signbitd.c: Include isnand.h instead of isnan.h.
69973         (gl_signbitd): Use isnand instead of isnan.
69974         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
69975         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
69976         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
69977         (main): Use isnand instead of isnan.
69978         * tests/test-round1.c: Include isnand.h.
69979         (main): Use isnand instead of isnan.
69980         * tests/test-round2.c: Include isnand.h instead of isnan.h.
69981         (ISNAN): Set to isnand instead of isnan.
69982         * tests/test-trunc1.c: Include isnand.h.
69983         (main): Use isnand instead of isnan.
69984         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
69985         (equal): Use isnand instead of isnan.
69986         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
69987         isnand-nolibm.
69988         * NEWS: Mention the change.
69989
69990 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
69991             Bruno Haible  <bruno@clisp.org>
69992
69993         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
69994         the GCC builtins for signbits are present and set
69995         REPLACE_SIGNBIT_USING_GCC if so.
69996         * lib/math.in.h (signbit): Define using GCC builtins if
69997         REPLACE_SIGNBIT_USING_GCC is set.
69998         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
69999         REPLACE_SIGNBIT_USING_GCC.
70000         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
70001
70002 2008-01-25  Jim Meyering  <meyering@redhat.com>
70003
70004         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
70005         * lib/poll.c: Include <config.h>, not "config.h".
70006         * tests/test-getaddrinfo.c: Likewise.
70007
70008 2008-01-25  Simon Josefsson  <simon@josefsson.org>
70009
70010         * modules/sockets-tests: New file.
70011
70012 2008-01-24  Simon Josefsson  <simon@josefsson.org>
70013
70014         * modules/sockets: New module, can be used to call WSA_Startup and
70015         WSA_Cleanup when needed.
70016
70017         * lib/sockets.h, lib/sockets.c: New files.
70018
70019         * m4/sockets.m4: New file.
70020
70021         * tests/test-sockets.c: New file.
70022
70023 2008-01-19  Bruno Haible  <bruno@clisp.org>
70024
70025         * doc/posix-headers: Renamed from doc/headers.
70026         * doc/posix-functions: Renamed from doc/functions.
70027         * doc/gnulib.texi: Update.
70028
70029 2008-01-19  Bruno Haible  <bruno@clisp.org>
70030
70031         * doc/glibc-functions/strcasestr.texi: Include contents of
70032         doc/functions/strcasestr.texi, fixing the list of platforms.
70033         * doc/functions/strcasestr.texi: Remove file.
70034
70035 2008-01-19  Bruno Haible  <bruno@clisp.org>
70036
70037         * doc/glibc-functions/memmem.texi: Include contents of
70038         doc/functions/memmem.texi.
70039         * doc/functions/memmem.texi: Remove file.
70040
70041 2008-01-18  Bruno Haible  <bruno@clisp.org>
70042
70043         * doc/glibc-functions/*.texi: New files.
70044         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
70045         to use the new files.
70046
70047 2008-01-17  Bruno Haible  <bruno@clisp.org>
70048
70049         * tests/test-gethostname.c (main): Fix printf statement.
70050
70051 2008-01-17  Simon Josefsson  <simon@josefsson.org>
70052
70053         * modules/gethostname-tests: New file.
70054
70055         * tests/test-gethostname.c: New file.
70056
70057 2008-01-17  Simon Josefsson  <simon@josefsson.org>
70058
70059         * lib/gethostname.c: Include string.h unconditionally, strncpy is
70060         used by the UNAME case.  Reported by Bruno Haible
70061         <bruno@clisp.org>.
70062
70063 2008-01-17  Eric Blake  <ebb9@byu.net>
70064
70065         Convert c-strcasestr to be more efficient.
70066         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
70067         (Depends-on): Add c-strcase, remove malloca, strnlen.
70068         * tests/test-c-strcasestr.c (main): Enhance test.
70069         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
70070
70071 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
70072
70073         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
70074         Use it in creating po/Makevars.
70075
70076 2008-01-15  Simon Josefsson  <simon@josefsson.org>
70077
70078         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
70079         Applications that requires it should initialize libgcrypt
70080         manually.
70081
70082 2008-01-16  Simon Josefsson  <simon@josefsson.org>
70083
70084         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
70085
70086 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
70087
70088         Fix problem with getdate on mingw32 reported by Simon Josefsson
70089         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
70090         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
70091         tzname", when deciding whether to declare tzname.
70092         * lib/strftime.c (tzname): Likewise.
70093
70094 2008-01-15  Bruno Haible  <bruno@clisp.org>
70095
70096         Work around a MacOS X 10.5 bug in frexpl().
70097         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
70098         * doc/functions/frexpl.texi: Document the bug.
70099         Reported by Elias Pipping <pipping@gentoo.org>.
70100
70101 2008-01-14  Eric Blake  <ebb9@byu.net>
70102
70103         Touch up previous patch.
70104         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
70105         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
70106
70107         Convert strcasestr module to use Two-Way algorithm.
70108         * modules/strcasestr-simple: New module, based on the old
70109         strcasestr, but with Two-Way rather than KMP.
70110         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
70111         * lib/string.in.h (rpl_strcasestr): Declare.
70112         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
70113         performance.
70114         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
70115         * modules/string (Makefile.am): Support strcasestr.
70116         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
70117         * modules/strcasestr-tests (Depends-on): Check for alarm.
70118         * tests/test-strcasestr.c: Augment test.
70119         * lib/str-two-way.h: Clean up stray macro.
70120         * NEWS: Document new module.
70121         * MODULES.html.sh (string handling): Likewise.
70122         * doc/functions/strcasestr.texi: New file.
70123         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
70124         here, since it is not a POSIX function.
70125
70126 2008-01-14  Colin Watson  <cjwatson@debian.org>
70127             Bruno Haible  <bruno@clisp.org>
70128
70129         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
70130         works fine; if not, set REPLACE_STRSIGNAL.
70131         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
70132         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70133         REPLACE_STRSIGNAL.
70134         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
70135         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
70136         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
70137
70138 2008-01-14  Bruno Haible  <bruno@clisp.org>
70139
70140         * modules/strsignal (Include): Change to <string.h>.
70141
70142 2008-01-14  Colin Watson  <cjwatson@debian.org>
70143
70144         * modules/argp (Notice): Add a notice recommending to change
70145         XGETTEXT_OPTIONS.
70146         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
70147
70148 2008-01-13  Colin Watson  <cjwatson@debian.org>
70149
70150         * modules/strsignal-tests: New file.
70151         * tests/test-strsignal.c: New file.
70152
70153         * lib/strsignal.c: New file, from glibc with modifications.
70154         * lib/siglist.h: New file, from glibc with modifications.
70155         * lib/string.in.h (strsignal): New declaration.
70156         * m4/strsignal.m4: New file.
70157         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70158         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
70159         * modules/strsignal: New file.
70160         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
70161         HAVE_DECL_STRSIGNAL.
70162
70163 2008-01-13  Bruno Haible  <bruno@clisp.org>
70164
70165         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
70166         locale encoding is not ASCII. Needed for OpenBSD 4.0.
70167         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
70168         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
70169
70170 2008-01-13  Bruno Haible  <bruno@clisp.org>
70171
70172         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
70173         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
70174         * lib/argp.h (__attribute__): Likewise.
70175         * lib/c-stack.c (__attribute__): Likewise.
70176         * lib/error.h (__attribute__): Likewise.
70177         * lib/fts.c (__attribute__): Likewise.
70178         * lib/openat.h (__attribute__): Likewise.
70179         * lib/stdio.in.h (__attribute__): Likewise.
70180         * lib/string.in.h (__attribute__): Likewise.
70181         * lib/utimens.c (__attribute__): Likewise.
70182         * lib/vasnprintf.h (__attribute__): Likewise.
70183         * lib/xalloc.h (__attribute__): Likewise.
70184         * lib/xprintf.h (__attribute__): Likewise.
70185         * lib/xstrtol.h (__attribute__): Likewise.
70186         * lib/xvasprintf.h (__attribute__): Likewise.
70187
70188 2008-01-12  Bruno Haible  <bruno@clisp.org>
70189
70190         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
70191         * doc/glibc-headers/a.out.texi: New file.
70192         * doc/glibc-headers/aliases.texi: New file.
70193         * doc/glibc-headers/alloca.texi: New file.
70194         * doc/glibc-headers/ar.texi: New file.
70195         * doc/glibc-headers/argp.texi: New file.
70196         * doc/glibc-headers/argz.texi: New file.
70197         * doc/glibc-headers/byteswap.texi: New file.
70198         * doc/glibc-headers/crypt.texi: New file.
70199         * doc/glibc-headers/endian.texi: New file.
70200         * doc/glibc-headers/envz.texi: New file.
70201         * doc/glibc-headers/err.texi: New file.
70202         * doc/glibc-headers/error.texi: New file.
70203         * doc/glibc-headers/execinfo.texi: New file.
70204         * doc/glibc-headers/fpu_control.texi: New file.
70205         * doc/glibc-headers/fstab.texi: New file.
70206         * doc/glibc-headers/fts.texi: New file.
70207         * doc/glibc-headers/getopt.texi: New file.
70208         * doc/glibc-headers/ieee754.texi: New file.
70209         * doc/glibc-headers/ifaddrs.texi: New file.
70210         * doc/glibc-headers/libintl.texi: New file.
70211         * doc/glibc-headers/mcheck.texi: New file.
70212         * doc/glibc-headers/mntent.texi: New file.
70213         * doc/glibc-headers/obstack.texi: New file.
70214         * doc/glibc-headers/paths.texi: New file.
70215         * doc/glibc-headers/printf.texi: New file.
70216         * doc/glibc-headers/pty.texi: New file.
70217         * doc/glibc-headers/resolv.texi: New file.
70218         * doc/glibc-headers/shadow.texi: New file.
70219         * doc/glibc-headers/sysexits.texi: New file.
70220         * doc/glibc-headers/ttyent.texi: New file.
70221
70222 2008-01-12  Jim Meyering  <meyering@redhat.com>
70223
70224         announce-gen: emit Gnulib's git-based version string.
70225         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
70226         New option --gnulib-version=V, where V is expected to be
70227         the output of running git describe in the gnulib directory.
70228         (get_tool_versions): Request feedback on xdelta.  I suspect it's
70229         not useful, and plan to stop publishing an xdelta file with each
70230         coreutils release.
70231
70232         * build-aux/announce-gen: Also check for lzma-compressed files.
70233
70234 2008-01-11  Bruno Haible  <bruno@clisp.org>
70235
70236         * tests/test-memmem.c (main): Increase maximum allowed time.
70237         * tests/test-strstr.c (main): Likewise.
70238
70239 2008-01-11  Bruno Haible  <bruno@clisp.org>
70240
70241         * doc/functions/memmem.texi: Add more precisions about platforms.
70242         * doc/functions/strstr.texi: Likewise.
70243
70244 2008-01-10  Eric Blake  <ebb9@byu.net>
70245
70246         * m4/strstr.m4: Delete cruft from copy-n-paste.
70247         Reported by Bruno Haible.
70248
70249 2008-01-10  Bruno Haible  <bruno@clisp.org>
70250
70251         Make c-strstr rely on strstr.
70252         * lib/c-strstr.c: Don't include str-kmp.h.
70253         (c_strstr): Define in terms of strstr.
70254         * modules/c-strstr (Files): Remove lib/str-kmp.h.
70255         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
70256
70257 2008-01-10  Bruno Haible  <bruno@clisp.org>
70258
70259         * doc/gnulib.texi (String Functions in C Locale): New section.
70260         * doc/c-ctype.texi: New file.
70261         * doc/c-strcase.texi: New file.
70262         * doc/c-strcaseeq.texi: New file.
70263         * doc/c-strcasestr.texi: New file.
70264         * doc/c-strstr.texi: New file.
70265         * doc/c-strtod.texi: New file.
70266         * doc/c-strtold.texi: New file.
70267
70268 2008-01-10  Eric Blake  <ebb9@byu.net>
70269
70270         * lib/relocatable.h: Fix a comment.
70271
70272 2008-01-10  Eric Blake  <ebb9@byu.net>
70273
70274         Share two-way algorithm.
70275         * lib/str-two-way.h: New file, merged from...
70276         * lib/memmem.c: ...here...
70277         * lib/strstr.c: ...and here.
70278         * modules/memmem (Files): Use it.
70279         * modules/strstr (Files): Likewise.
70280
70281         Avoid quadratic strstr implementations.
70282         * lib/strstr.c: New file.
70283         * m4/strstr.m4: Likewise.
70284         * modules/strstr: Likewise.
70285         * modules/strstr-tests: Likewise.
70286         * tests/test-strstr.c: Likewise.
70287         * lib/string.in.h (rpl_strstr): Declare.
70288         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
70289         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
70290         * modules/string (Makefile.am): Likewise.
70291         * MODULES.html.sh (string handling): Mention new module.
70292         * doc/functions/strstr.texi (strstr): Document the bug.
70293
70294 2008-01-10  Bruno Haible  <bruno@clisp.org>
70295
70296         * lib/relocatable.h (relocate): State whether result is freshly
70297         allocated or not.
70298         * lib/relocatable.c (relocate): Return a freshly allocated string
70299         instead of a pointer to a privately held string.
70300         Reported by Sylvain Beucler <beuc@gnu.org>.
70301
70302 2008-01-10  Colin Watson  <cjwatson@debian.org>
70303
70304         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
70305         s/S_ISNLK/S_ISLNK/.
70306
70307 2008-01-09  Bruno Haible  <bruno@clisp.org>
70308
70309         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
70310         and other files.
70311         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
70312         if it's only a guess.
70313         * modules/memmem: Simplify by depending on memmem-simple.
70314
70315 2008-01-09  Bruno Haible  <bruno@clisp.org>
70316
70317         Work around OpenBSD 4.0 tdelete() bug.
70318         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
70319         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
70320         macros and don't redefine the enum values.
70321         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
70322         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
70323         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
70324
70325 2008-01-09  Bruno Haible  <bruno@clisp.org>
70326
70327         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
70328         (main): Don't perform the tests if setlocale did not install a UTF-8
70329         locale. Needed on OpenBSD 4.0.
70330         * modules/wcwidth-tests (Depends-on): Add localcharset.
70331
70332 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
70333
70334         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
70335         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
70336         * NEWS: announce this.
70337         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
70338
70339 2008-01-09  Simon Josefsson  <simon@josefsson.org>
70340         and Eric Blake  <ebb9@byu.net>
70341
70342         Add memmem-simple module.
70343         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
70344         (gl_FUNC_MEMMEM): Separate performance from presence checks.
70345         * modules/memmem-simple: New file.
70346         * modules/memmem (Description): Tweak.
70347         * MODULES.html.sh (string handling): Mention new module.
70348         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
70349         addressed by memmem-simple.
70350         * NEWS: Document the difference.
70351
70352 2008-01-09  Eric Blake  <ebb9@byu.net>
70353
70354         Give gcc some memmem optimization hints.
70355         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
70356         (strcasestr): Declare as pure.
70357         * modules/memmem (Maintainer): Claim my implementation.
70358
70359 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70360
70361         Support AIX 6.1 and higher.
70362         * build-aux/config.libpath: Likewise.
70363         * build-aux/config.rpath: Likewise.
70364
70365 2008-01-08  Jim Meyering  <meyering@redhat.com>
70366             Bruno Haible  <bruno@clisp.org>
70367
70368         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
70369         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
70370         Reported by Peter Fales in
70371         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
70372
70373 2008-01-08  Bruno Haible  <bruno@clisp.org>
70374
70375         * modules/unictype/category-of (Depends-on): Add
70376         unictype/category-none.
70377         * modules/unictype/category-and-tests (Depends-on): Add
70378         unictype/category-{L,N,Lu,Nd}.
70379         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
70380         * modules/unictype/category-or-tests (Depends-on): Add
70381         unictype/category-{L,N}.
70382         * modules/unictype/category-name-tests (Depends-on): Add
70383         unictype/category-{Z,Nl}.
70384         Reported by Simon Josefsson.
70385
70386 2008-01-08  Bruno Haible  <bruno@clisp.org>
70387
70388         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
70389         convention better.
70390         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
70391         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
70392         Reported by Peter Miller <millerp@canb.auug.org.au>.
70393
70394 2008-01-08  Eric Blake  <ebb9@byu.net>
70395
70396         Rewrite memmem to guarantee linear complexity without malloc.
70397         * lib/memmem.c (memmem): Use Two-Way rather than
70398         Knuth-Morris-Pratt, to allow O(1) space usage.
70399         (critical_factorization, two_way_short_needle)
70400         (two_way_long_needle): New functions.
70401         (knuth_morris_pratt): Delete.
70402         * modules/memmem (Depends-on): No longer need malloca or stdbool.
70403         Add stdint.
70404         * tests/test-memmem.c (main): Add tests for periodic needle and
70405         sublinear performance.
70406         * doc/functions/memmem.texi (memmem): Document other deficiencies
70407         in cygwin and older glibc.
70408
70409 2008-01-08  Bruno Haible  <bruno@clisp.org>
70410
70411         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
70412         augmentation.
70413
70414 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
70415
70416         Add a configure time option: --disable-acl.
70417         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
70418         AC_ARG_ENABLE(acl).
70419
70420 2008-01-06  Simon Josefsson  <simon@josefsson.org>
70421
70422         * tests/test-localename.c: Don't include obsolete "setenv.h".
70423
70424         * modules/localename-tests (Depends-on): Need unsetenv.
70425
70426 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70427
70428         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
70429
70430 2008-01-06  Colin Watson  <cjwatson@debian.org>
70431
70432         * users.txt: Add man-db.
70433
70434 2008-01-07  Bruno Haible  <bruno@clisp.org>
70435
70436         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
70437         previous section name.
70438
70439 2008-01-07  Bruno Haible  <bruno@clisp.org>
70440
70441         * lib/progname.c (set_program_name): Don't strip off a leading
70442         "lt-" prefix outside a .libs directory.
70443         Suggested by Paul Eggert.
70444
70445 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
70446             Bruno Haible  <bruno@clisp.org>
70447
70448         Improve memory cleanup in 'relocatable' module.
70449         * lib/relocatable.h (compute_curr_prefix): Change return type to
70450         'char *'.
70451         * lib/relocatable.c (compute_curr_prefix): Change return type to
70452         'char *'. Free curr_installdir after use.
70453         (relocate): Free curr_prefix_better after use.
70454         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
70455
70456 2008-01-01  Bruno Haible  <bruno@clisp.org>
70457
70458         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
70459         failure on older glibc systems.
70460         Reported by Peter Fales <psfales@alcatel-lucent.com>.
70461
70462 2008-01-05  Eric Blake  <ebb9@byu.net>
70463
70464         Avoid quadratic system memmem.
70465         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
70466         Reported by Ralf Wildenhues.
70467
70468         Fix memmem test for mingw.
70469         * modules/memmem-tests (configure.ac): Check for alarm.
70470         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
70471         it.
70472         * doc/functions/memmem.texi: New file.
70473         * doc/gnulib.texi (Function Substitutes): Add memmem.
70474         Reported by Bruno Haible.
70475
70476 2008-01-04  Bruno Haible  <bruno@clisp.org>
70477
70478         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
70479         Require gl_HEADER_STRINGS_H_DEFAULTS, not
70480         gl_HEADER_STRING_H_DEFAULTS.
70481
70482 2008-01-04  Eric Blake  <ebb9@byu.net>
70483
70484         Shorten duration of memmem test.
70485         * tests/test-memmem.c (main): Use alarm to declare failure if test
70486         is taking too long.
70487         Reported by Ralf Wildenhues.
70488
70489 2007-12-21  Simon Josefsson  <simon@josefsson.org>
70490
70491         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
70492         string, needed by strerror.
70493
70494 2008-01-03  Colin Watson  <cjwatson@debian.org>
70495             Bruno Haible  <bruno@clisp.org>
70496
70497         * doc/gnulib-tool.texi (Localization): New section.
70498
70499 2008-01-02  Bruno Haible  <bruno@clisp.org>
70500
70501         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
70502         variables to 'unsigned char *' type.
70503         Reported by Paul Eggert.
70504
70505 2008-01-02  Jim Meyering  <jim@meyering.net>
70506
70507         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
70508
70509 2007-12-31  Jim Meyering  <jim@meyering.net>
70510
70511         Avoid use of private FTS type name.
70512         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
70513
70514 2007-12-30  Karl Berry  <karl@gnu.org>
70515
70516         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
70517         work around defect in Texinfo and/or the standalone Info browser.
70518
70519 2007-12-30  Bruno Haible  <bruno@clisp.org>
70520
70521         Unify 5 copies of the KMP code.
70522         * lib/str-kmp.h: New file.
70523         * lib/c-strcasestr.c: Include str-kmp.h.
70524         (knuth_morris_pratt): Remove function.
70525         (c_strcasestr): Update.
70526         * lib/c-strstr.c: Include str-kmp.h.
70527         (knuth_morris_pratt): Remove function.
70528         (c_strcasestr): Update.
70529         * lib/mbscasestr.c: Include str-kmp.h.
70530         (knuth_morris_pratt_unibyte): Remove function.
70531         * lib/mbsstr.c: Include str-kmp.h.
70532         (knuth_morris_pratt_unibyte): Remove function.
70533         * lib/strcasestr.c: Include str-kmp.h.
70534         (knuth_morris_pratt): Remove function.
70535         (strcasestr): Update.
70536         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
70537         * modules/c-strstr (Files): Likewise.
70538         * modules/mbscasestr (Files): Likewise.
70539         * modules/mbsstr (Files): Likewise.
70540         * modules/strcasestr (Files): Likewise.
70541         Suggested by Paul Eggert.
70542
70543 2007-12-30  Bruno Haible  <bruno@clisp.org>
70544
70545         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
70546         defined.
70547
70548 2007-12-30  Bruno Haible  <bruno@clisp.org>
70549
70550         * lib/xmalloca.h: Include xalloc.h.
70551         (xnmalloca): New macro.
70552
70553 2007-12-30  Bruno Haible  <bruno@clisp.org>
70554
70555         * lib/malloca.h (nmalloca): New macro.
70556         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
70557         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
70558         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
70559         knuth_morris_pratt_multibyte): Likewise.
70560         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
70561         knuth_morris_pratt_multibyte): Likewise.
70562         * lib/memmem.c (knuth_morris_pratt): Likewise.
70563         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
70564
70565 2007-12-25  Bruno Haible  <bruno@clisp.org>
70566
70567         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
70568         * lib/glob.c: Don't include openat.h.
70569         (link_exists2_p): Add back the code that deals with the
70570         !GLOB_ALTDIRFUNC case.
70571         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
70572         let it do the filename concatenation.
70573         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
70574         * modules/glob (Depends-on): Remove openat.
70575
70576 2007-12-31  Bruno Haible  <bruno@clisp.org>
70577
70578         * modules/dirfd (License): Change to LGPLv2+.
70579         Approved by Jim Meyering.
70580
70581 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
70582
70583         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
70584         when multiplying M by sizeof (size_t).
70585
70586 2007-12-10  Martin Lambers  <marlam@marlam.de>
70587
70588         Override getpagesize on mingw.
70589         * lib/getpagesize.c: New file.
70590         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
70591         * modules/getpagesize (Files): Add lib/getpagesize.c.
70592         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
70593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70594         REPLACE_GETPAGESIZE.
70595         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
70596
70597 2007-12-25  Bruno Haible  <bruno@clisp.org>
70598
70599         * modules/localcharset (Notice): New field.
70600         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
70601         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
70602
70603 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
70604             Bruno Haible  <bruno@clisp.org>
70605
70606         Avoid using the syntax symbol() in formatted documentation.
70607         * MODULES.html.sh (func_module): When replacing symbol() with a
70608         hyperlink, remove the parentheses. Show an error if some remain.
70609         Recognize and render the '...' syntax.
70610         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
70611         Rework. Add paragraph about GCC's inlining.
70612         * doc/alloca.texi: Likewise.
70613         * doc/error.texi: Remove parentheses from symbol reference.
70614         * doc/gnulib-intro.texi: Likewise.
70615         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
70616         * modules/fnmatch (Description): Reword to say "the ... function".
70617         * modules/full-read (Description): Likewise.
70618         * modules/full-write (Description): Likewise.
70619         * modules/safe-read (Description): Likewise.
70620         * modules/safe-write (Description): Likewise.
70621         * modules/strchrnul (Description): Likewise.
70622         * modules/trim (Description): Likewise.
70623         * modules/error (Description): Remove parentheses from symbol
70624         references.
70625         * modules/verror (Description): Likewise.
70626         Reported by Karl Berry.
70627
70628 2007-12-25  Bruno Haible  <bruno@clisp.org>
70629
70630         Fixup after 2007-10-16 commit.
70631         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
70632
70633 2007-12-24  Bruno Haible  <bruno@clisp.org>
70634
70635         Make --enable-relocatable work with DESTDIR.
70636         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
70637         to compute installdir from destprog.
70638         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
70639         also set the RELOC_DESTDIR variable.
70640         Reported by Левашев Иван <octagram@bluebottle.com>.
70641
70642 2007-12-24  Bruno Haible  <bruno@clisp.org>
70643
70644         Fix link error due to xalloc_die().
70645         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
70646         of xreadlink.
70647         * lib/relocwrapper.c: Update comments.
70648         * build-aux/install-reloc: Remove xreadlink.c from file list.
70649         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
70650         xreadlink.c.
70651         Reported by Левашев Иван <octagram@bluebottle.com>.
70652
70653 2007-12-24  Bruno Haible  <bruno@clisp.org>
70654
70655         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
70656         * lib/setenv.h: Remove file.
70657         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
70658         lib/setenv.h.
70659         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
70660         (Depends-on): Add stdlib.
70661         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
70662         gl_FUNC_UNSETENV.
70663         (Include): Replace setenv.h with <stdlib.h>.
70664         * modules/unsetenv: New file.
70665         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
70666         * lib/unsetenv.c: Include <stdlib.h> first.
70667         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
70668         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
70669         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
70670         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
70671         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
70672         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
70673         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
70674         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
70675         * doc/functions/unsetenv.texi: Update.
70676         * modules/xsetenv (Depends-on): Add unsetenv.
70677         * modules/getdate (Depends-on): Likewise.
70678         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
70679         * lib/xsetenv.c: Don't include setenv.h.
70680         * lib/getdate.y: Likewise.
70681         * lib/relocwrapper.c: Likewise.
70682         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
70683         (Depends-on): Add stdlib.
70684         * NEWS: Mention the changes.
70685         Reported by Левашев Иван <octagram@bluebottle.com>.
70686
70687 2007-12-23  Bruno Haible  <bruno@clisp.org>
70688
70689         * lib/memmem.c (memmem): Use lowercase variable names. Tab
70690         indentation.
70691
70692 2007-12-23  Bruno Haible  <bruno@clisp.org>
70693
70694         * lib/c-strcasestr.c: Add more comments.
70695         * lib/c-strstr.c: Likewise.
70696         * lib/mbscasestr.c: Likewise.
70697         * lib/mbsstr.c: Likewise.
70698         * lib/strcasestr.c: Likewise.
70699         * lib/memmem.c: Likewise.
70700
70701 2007-12-23  Bruno Haible  <bruno@clisp.org>
70702
70703         * tests/test-memmem.c: Include <string.h> first.
70704
70705 2007-12-22  Bruno Haible  <bruno@clisp.org>
70706
70707         * gnulib-tool (func_create_testdir): Change $auxdir while generating
70708         the contents of $testsbase.
70709         Reported by Ralf Wildenhues.
70710
70711 2007-12-22  Bruno Haible  <bruno@clisp.org>
70712
70713         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
70714         two variables local_ldadd_before, local_ldadd_last.
70715
70716 2007-12-20  Eric Blake  <ebb9@byu.net>
70717
70718         Work around circular library issue when cross-compiling.
70719         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
70720         that progname.o does not need to pull in rpl_memcmp.
70721
70722 2007-12-19  Eric Blake  <ebb9@byu.net>
70723
70724         Fix memmem to avoid O(n^2) worst-case complexity.
70725         * lib/memmem.c (knuth_morris_pratt): New function.
70726         (memmem): Use it if first few naive iterations fail.
70727         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
70728         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
70729         * modules/memchr (License): Likewise.
70730         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
70731         malloca.
70732         * tests/test-memmem.c: Rewrite, borrowing ideas from
70733         test-mbsstr1.c; the old version wouldn't even compile!
70734         * modules/memmem-tests: New file.
70735         * lib/string.in.h (rpl_memmem): Add declaration.
70736         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
70737         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
70738         REPLACE_MEMMEM.
70739
70740 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
70741
70742         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
70743         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
70744         before any system include files, and undef after them all.  This
70745         should fix a problem on VMS reported by John E. Malmberg in
70746         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
70747
70748 2007-12-17  Eric Blake  <ebb9@byu.net>
70749
70750         Revert addition of verify, for BSD/OS.
70751         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
70752         can't handle large files, for the sake of obsolete platforms.
70753         * modules/fseeko (Depends-on): Remove verify.
70754         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
70755         * doc/functions/ftello.texi (ftello): Likewise.
70756         * doc/functions/fgetpos.texi (fgetpos): Likewise.
70757         Reported by Larry Jones.
70758
70759 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
70760
70761         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
70762         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
70763
70764 2007-12-17  Jim Meyering  <meyering@redhat.com>
70765
70766         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
70767         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
70768         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
70769         * modules/getcwd (Depends-on): Add openat.
70770         Reported by Petr Salinger.
70771
70772 2007-12-17  Bruno Haible  <bruno@clisp.org>
70773
70774         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
70775         avoid a segmentation fault of the configure test on x86_64 systems.
70776
70777 2007-12-15  Jim Meyering  <meyering@redhat.com>
70778
70779         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
70780
70781 2007-12-13  Eric Blake  <ebb9@byu.net>
70782
70783         Another fseek test.
70784         * tests/test-fseek.c (main): Also test ungetc handling.
70785         * tests/test-fseeko.c (main): Likewise.
70786         * modules/fseeko (Depends-on): Add verify.
70787         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
70788         large.
70789         Reported by Larry Jones.
70790
70791         Fix fseeko on mingw.
70792         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
70793         seek.
70794
70795         Beef up fseek tests.
70796         * tests/test-fseek.c (main): Also test eof handling.
70797         * tests/test-fseeko.c (main): Likewise.
70798         Reported by Larry Jones.
70799
70800 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
70801
70802         Fix fseeko on BSD-based platforms.
70803         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
70804         successful seek.
70805
70806 2007-12-12  Eric Blake  <ebb9@byu.net>
70807
70808         Allow circular dependency of separate libtests.a
70809         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
70810         when use_libtests.
70811
70812 2007-12-11  Eric Blake  <ebb9@byu.net>
70813
70814         Fix bug with -0.0L in previous patch.
70815         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
70816         * tests/test-isnan.c (main): Also test on zeroes.
70817         * tests/test-isnanf.c (main): Likewise.
70818         * tests/test-isnanl.h (main): Likewise.
70819
70820         Detect pseudo-denormals on x86 even when cross-compiling.
70821         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
70822         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
70823         invalid bit patterns that happen to satisfy ==.
70824
70825         Avoid link failures with separate libtests.a.
70826         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
70827         last, to satisfy circular dependencies.
70828
70829 2007-12-11  Eric Blake  <ebb9@byu.net>
70830         and Bruno Haible  <bruno@clisp.org>
70831
70832         Fix OpenBSD 4.0 <float.h> handling of long double.
70833         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
70834         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
70835         * doc/headers/float.texi (float.h): Document OpenBSD bug.
70836
70837 2007-12-11  Jim Meyering  <meyering@redhat.com>
70838
70839         * users.txt: Add libvirt.
70840
70841         Support versions of autoconf prior to 2.59c.
70842         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
70843         if it is not already defined.
70844
70845 2007-12-09  Bruno Haible  <bruno@clisp.org>
70846
70847         Let 'gnulib-tool --import' collect sources needed for the tests in
70848         tests/ rather than in lib/.
70849         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
70850         argument. If true, add rules to generate libtests.a, and put libtests.a
70851         into $(LDADD). Consider source files in subdirectories and set
70852         uses_subdirs.
70853         (func_emit_initmacro_start, func_emit_initmacro_end,
70854         func_emit_initmacro_done): Pass all arguments explicitly.
70855         (func_import): Determine two module lists main_modules,
70856         testsrelated_modules. Determine use_libtests. Determine two variables
70857         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
70858         instead of just sed_transform_lib_file. Determine two variables
70859         main_files and testsrelated_files. Compute 'files' as the union of
70860         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
70861         func_add_or_update. In the generated gnulib-comp.m4, collect the
70862         object files for tests/ in different variables than those for lib/.
70863         Substitute LIBTESTS_LIBDEPS.
70864         (func_create_testdir): Combine the uses_subdirs results from
70865         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
70866
70867 2007-12-09  Bruno Haible  <bruno@clisp.org>
70868
70869         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
70870         the build-aux directory.
70871
70872 2007-12-09  Bruno Haible  <bruno@clisp.org>
70873
70874         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
70875         introduced on 2006-09-09.
70876
70877 2007-12-07  Jim Meyering  <meyering@redhat.com>
70878
70879         Let these macros work also with autoconf-2.59.
70880         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
70881         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
70882         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
70883
70884 2007-12-06  Jim Meyering  <meyering@redhat.com>
70885
70886         Avoid a configure-time syntax error in gl_FUNC_ACL.
70887         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
70888         function in each branch, before testing the cache variable.
70889
70890 2007-12-04  Eric Blake  <ebb9@byu.net>
70891
70892         Make scripts executable.
70893         * build-aux/config.guess: Add execute permissions.
70894         * build-aux/config.sub: Likewise.
70895         * build-aux/gendocs.sh: Likewise.
70896
70897         Fix frexp on mingw.
70898         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
70899         cross-compiling.
70900         * doc/functions/frexp.texi (frexp): Document the bug.
70901
70902         Make cygwin fseeko check more reliable.
70903         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
70904         version numbers, rather than unrelated feature check.
70905         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
70906         * doc/functions/ftello.texi (ftello): Likewise.
70907         Reported by Bruno Haible.
70908
70909         * m4/strerror.m4: Bump version number.
70910
70911 2007-12-03  Bruno Haible  <bruno@clisp.org>
70912
70913         * doc/functions/mprotect.texi: Mention the mingw problem.
70914
70915 2007-12-03  Eric Blake  <ebb9@byu.net>
70916
70917         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
70918         REPLACE_STRERROR is initialized before this macro.
70919
70920 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
70921
70922         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
70923         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
70924         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
70925         put -lsec in even for programs other than 'ls'.  This fixes a problem
70926         for gettext reported by Bruno Haible in
70927         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
70928         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
70929         Add support for Solaris 10.  This isn't efficient, but should get the
70930         job done for now.
70931
70932 2007-12-03  James Youngman  <jay@gnu.org>
70933
70934         * doc/regexprops-generic.texi: change "an close-group" to "a
70935         close-group" and "illegal" to "not allowed".
70936
70937 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70938
70939         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
70940         pr_byname.h. Needed for the rare case when the maintainer has done
70941         "make maintainer-clean" in the source directory and then attempts a
70942         build outside the source directory.
70943         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
70944         scripts_byname.h.
70945
70946 2007-12-02  Martin Lambers <marlam@marlam.de>
70947             Bruno Haible  <bruno@clisp.org>
70948
70949         * lib/getpagesize.h: Remove file.
70950         * lib/unistd.in.h: Include declaration of getpagesize here.
70951         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
70952         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
70953         HAVE_SYS_PARAM_H.
70954         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
70955         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
70956         * modules/getpagesize (Files): Remove lib/getpagesize.h.
70957         (Depends-on): Add unistd.
70958         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70959         (Include): Use <unistd.h> instead of getpagesize.h.
70960         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
70961         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
70962         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
70963         gl_GETPAGESIZE invocation, already handled by module dependency.
70964         * lib/pagealign_alloc.c: Don't include getpagesize.h.
70965
70966 2007-12-02  Bruno Haible  <bruno@clisp.org>
70967
70968         * modules/strings-tests: New file.
70969         * tests/test-strings.c: New file.
70970
70971         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
70972         * lib/strings.in.h: New file.
70973         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
70974         * m4/strings_h.m4: New file.
70975         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
70976         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
70977         * modules/strings: New file.
70978         * modules/string (Makefile.am): Update.
70979         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
70980         Reported by Karl Berry.
70981
70982 2007-12-01  Eric Blake  <ebb9@byu.net>
70983
70984         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
70985         accommodate fix in cygwin 1.5.25.
70986
70987 2007-12-01  Jim Meyering  <meyering@redhat.com>
70988
70989         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
70990         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
70991         that would inhibit utf8-optimization of a regexp containing line-
70992         or buffer-anchors, e.g., `^', `$'.
70993
70994 2007-11-30  Bruno Haible  <bruno@clisp.org>
70995
70996         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
70997         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
70998         glthread_recursive_lock_init.
70999         * lib/lock.c (glthread_recursive_lock_init)
71000         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
71001         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
71002
71003 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
71004
71005         New function qset_acl, like set_acl but with syscall semantics.
71006         * lib/acl.h (qset_acl): New decl.
71007         * lib/acl.c (qset_acl): New function.
71008         (set_acl): Use new function.  Use more-consistent diagnostics.
71009
71010 2007-11-28  Jim Meyering  <meyering@redhat.com>
71011
71012         * modules/physmem (License): Change from GPL to LGPLv2+.
71013
71014 2007-11-26  Bruno Haible  <bruno@clisp.org>
71015
71016         * lib/vasnprintf.c (decode_long_double): Don't abort if the
71017         'long double' type has excess precision.
71018         Reported by Jim Meyering in
71019         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
71020
71021 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71022
71023         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
71024         Sync from <http://gnu.org/licenses>.
71025         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
71026         with license text from same location.
71027         * doc/maintain.texi, doc/standards.texi:  Sync from
71028         <http://savannah.gnu.org/projects/gnustandards>.
71029
71030 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
71031         and Jim Meyering  <meyering@redhat.com>
71032
71033         Adjust getdate' grammar to accept a slightly more regular language.
71034         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
71035         Before, the former was rejected.
71036         * lib/getdate.y (digits_to_date_time): New function, factored
71037         out of ...
71038         (number): ...here.  Just call digits_to_date_time.
71039         (hybrid): New non-terminal to handle an <unsigned number,
71040         signed relative offset> sequence consistently.
71041
71042 2007-11-18  Jim Meyering  <meyering@redhat.com>
71043
71044         Pull my changes from coreutils:
71045         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
71046         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
71047         use of $gnulib_tool_option_extras, so that it's separated from the
71048         preceding argument.
71049
71050         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
71051         * build-aux/bootstrap (cp_mark_as_generated): Create any required
71052         parent destination directories before copying a file into place.
71053
71054 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
71055
71056         bootstrap: work also with 4-argument variant of AC_INIT
71057         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
71058
71059 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71060
71061         Port test-getaddrinfo to Solaris.
71062         Problem reported by Bruno Haible in
71063         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
71064         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
71065         explanation of setting 'hints'.
71066         Don't reject an implementation merely because it returns EAI_SERVICE.
71067         (EAI_SERVICE): Define to 0 if not defined.
71068
71069 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
71070
71071         The license of gnu-make and posix-shell is now "GPLed build tool".
71072         * modules/gnu-make (License): Likewise.
71073         * modules/posix-shell (License): Likewise.
71074
71075         New module posix-shell, for determining a POSIX shell
71076         or perhaps something that is close enough to a POSIX shell.
71077         * m4/posix-shell.m4: New file.
71078         * modules/posix-shell: New file.
71079
71080         * MODULES.html.sh: Mention new module.
71081
71082         New module gnu-make, for determining whether we're using GNU Make.
71083         * m4/gnu-make.m4: New file.
71084         * modules/gnu-make: New file.
71085         * MODULES.html.sh: Mention new module.
71086
71087 2007-11-14  Jim Meyering  <meyering@redhat.com>
71088
71089         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
71090         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
71091         use this macro to create a function _definition_.
71092         Remove useless "#undef ARGMATCH_DIE".
71093
71094 2007-11-14  Bruno Haible  <bruno@clisp.org>
71095
71096         * lib/config.charset: Update for OpenBSD 4.1.
71097         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
71098
71099 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
71100
71101         Document 64-bit #if problems in stdint.texi.
71102         * doc/headers/stdint.texi (stdint.h): Mention problems with
71103         64-bit-#if, and how to work around them.
71104
71105         Don't insist on 'long long int' support in the preprocessor.  It
71106         breaks too many things.  For example, PRIdMAX still uses a 'long
71107         long int' format with the latest Sun compiler, even though
71108         HAVE_LONG_LONG_INT isn't defined due to that compiler's
71109         preprocessor problem.  This causes the latest coreutils to dump
71110         core on Solaris 10 sparc with the Sun C compiler.
71111         Instead, fix the 2007-10-16 problem in a different way, by evaluating
71112         the troublesome expressions at configure-time, not at #if-time.
71113         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
71114         preprocessor.
71115         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
71116         compile-time C checks, done at 'configure'-time.
71117         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
71118         * modules/inttypes (Makefile): Substitute the new symbols that
71119         gl_INTTYPES_H now generates.
71120         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
71121
71122 2007-11-12  Bruno Haible  <bruno@clisp.org>
71123
71124         Tests for Unicode character classification functions.
71125
71126         * modules/unictype/bidicategory-byname-tests: New file.
71127         * modules/unictype/bidicategory-name-tests: New file.
71128         * modules/unictype/bidicategory-of-tests: New file.
71129         * modules/unictype/bidicategory-test-tests: New file.
71130         * modules/unictype/block-list-tests: New file.
71131         * modules/unictype/block-of-tests: New file.
71132         * modules/unictype/block-test-tests: New file.
71133         * modules/unictype/category-C-tests: New file.
71134         * modules/unictype/category-Cc-tests: New file.
71135         * modules/unictype/category-Cf-tests: New file.
71136         * modules/unictype/category-Cn-tests: New file.
71137         * modules/unictype/category-Co-tests: New file.
71138         * modules/unictype/category-Cs-tests: New file.
71139         * modules/unictype/category-L-tests: New file.
71140         * modules/unictype/category-Ll-tests: New file.
71141         * modules/unictype/category-Lm-tests: New file.
71142         * modules/unictype/category-Lo-tests: New file.
71143         * modules/unictype/category-Lt-tests: New file.
71144         * modules/unictype/category-Lu-tests: New file.
71145         * modules/unictype/category-M-tests: New file.
71146         * modules/unictype/category-Mc-tests: New file.
71147         * modules/unictype/category-Me-tests: New file.
71148         * modules/unictype/category-Mn-tests: New file.
71149         * modules/unictype/category-N-tests: New file.
71150         * modules/unictype/category-Nd-tests: New file.
71151         * modules/unictype/category-Nl-tests: New file.
71152         * modules/unictype/category-No-tests: New file.
71153         * modules/unictype/category-P-tests: New file.
71154         * modules/unictype/category-Pc-tests: New file.
71155         * modules/unictype/category-Pd-tests: New file.
71156         * modules/unictype/category-Pe-tests: New file.
71157         * modules/unictype/category-Pf-tests: New file.
71158         * modules/unictype/category-Pi-tests: New file.
71159         * modules/unictype/category-Po-tests: New file.
71160         * modules/unictype/category-Ps-tests: New file.
71161         * modules/unictype/category-S-tests: New file.
71162         * modules/unictype/category-Sc-tests: New file.
71163         * modules/unictype/category-Sk-tests: New file.
71164         * modules/unictype/category-Sm-tests: New file.
71165         * modules/unictype/category-So-tests: New file.
71166         * modules/unictype/category-Z-tests: New file.
71167         * modules/unictype/category-Zl-tests: New file.
71168         * modules/unictype/category-Zp-tests: New file.
71169         * modules/unictype/category-Zs-tests: New file.
71170         * modules/unictype/category-and-not-tests: New file.
71171         * modules/unictype/category-and-tests: New file.
71172         * modules/unictype/category-byname-tests: New file.
71173         * modules/unictype/category-name-tests: New file.
71174         * modules/unictype/category-none-tests: New file.
71175         * modules/unictype/category-of-tests: New file.
71176         * modules/unictype/category-or-tests: New file.
71177         * modules/unictype/category-test-withtable-tests: New file.
71178         * modules/unictype/combining-class-tests: New file.
71179         * modules/unictype/ctype-alnum-tests: New file.
71180         * modules/unictype/ctype-alpha-tests: New file.
71181         * modules/unictype/ctype-blank-tests: New file.
71182         * modules/unictype/ctype-cntrl-tests: New file.
71183         * modules/unictype/ctype-digit-tests: New file.
71184         * modules/unictype/ctype-graph-tests: New file.
71185         * modules/unictype/ctype-lower-tests: New file.
71186         * modules/unictype/ctype-print-tests: New file.
71187         * modules/unictype/ctype-punct-tests: New file.
71188         * modules/unictype/ctype-space-tests: New file.
71189         * modules/unictype/ctype-upper-tests: New file.
71190         * modules/unictype/ctype-xdigit-tests: New file.
71191         * modules/unictype/decimal-digit-tests: New file.
71192         * modules/unictype/digit-tests: New file.
71193         * modules/unictype/mirror-tests: New file.
71194         * modules/unictype/numeric-tests: New file.
71195         * modules/unictype/property-alphabetic-tests: New file.
71196         * modules/unictype/property-ascii-hex-digit-tests: New file.
71197         * modules/unictype/property-bidi-arabic-digit-tests: New file.
71198         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
71199         * modules/unictype/property-bidi-block-separator-tests: New file.
71200         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
71201         * modules/unictype/property-bidi-common-separator-tests: New file.
71202         * modules/unictype/property-bidi-control-tests: New file.
71203         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
71204         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
71205         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
71206         * modules/unictype/property-bidi-european-digit-tests: New file.
71207         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
71208         * modules/unictype/property-bidi-left-to-right-tests: New file.
71209         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
71210         * modules/unictype/property-bidi-other-neutral-tests: New file.
71211         * modules/unictype/property-bidi-pdf-tests: New file.
71212         * modules/unictype/property-bidi-segment-separator-tests: New file.
71213         * modules/unictype/property-bidi-whitespace-tests: New file.
71214         * modules/unictype/property-byname-tests: New file.
71215         * modules/unictype/property-combining-tests: New file.
71216         * modules/unictype/property-composite-tests: New file.
71217         * modules/unictype/property-currency-symbol-tests: New file.
71218         * modules/unictype/property-dash-tests: New file.
71219         * modules/unictype/property-decimal-digit-tests: New file.
71220         * modules/unictype/property-default-ignorable-code-point-tests: New file.
71221         * modules/unictype/property-deprecated-tests: New file.
71222         * modules/unictype/property-diacritic-tests: New file.
71223         * modules/unictype/property-extender-tests: New file.
71224         * modules/unictype/property-format-control-tests: New file.
71225         * modules/unictype/property-grapheme-base-tests: New file.
71226         * modules/unictype/property-grapheme-extend-tests: New file.
71227         * modules/unictype/property-grapheme-link-tests: New file.
71228         * modules/unictype/property-hex-digit-tests: New file.
71229         * modules/unictype/property-hyphen-tests: New file.
71230         * modules/unictype/property-id-continue-tests: New file.
71231         * modules/unictype/property-id-start-tests: New file.
71232         * modules/unictype/property-ideographic-tests: New file.
71233         * modules/unictype/property-ids-binary-operator-tests: New file.
71234         * modules/unictype/property-ids-trinary-operator-tests: New file.
71235         * modules/unictype/property-ignorable-control-tests: New file.
71236         * modules/unictype/property-iso-control-tests: New file.
71237         * modules/unictype/property-join-control-tests: New file.
71238         * modules/unictype/property-left-of-pair-tests: New file.
71239         * modules/unictype/property-line-separator-tests: New file.
71240         * modules/unictype/property-logical-order-exception-tests: New file.
71241         * modules/unictype/property-lowercase-tests: New file.
71242         * modules/unictype/property-math-tests: New file.
71243         * modules/unictype/property-non-break-tests: New file.
71244         * modules/unictype/property-not-a-character-tests: New file.
71245         * modules/unictype/property-numeric-tests: New file.
71246         * modules/unictype/property-other-alphabetic-tests: New file.
71247         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
71248         * modules/unictype/property-other-grapheme-extend-tests: New file.
71249         * modules/unictype/property-other-id-continue-tests: New file.
71250         * modules/unictype/property-other-id-start-tests: New file.
71251         * modules/unictype/property-other-lowercase-tests: New file.
71252         * modules/unictype/property-other-math-tests: New file.
71253         * modules/unictype/property-other-uppercase-tests: New file.
71254         * modules/unictype/property-paired-punctuation-tests: New file.
71255         * modules/unictype/property-paragraph-separator-tests: New file.
71256         * modules/unictype/property-pattern-syntax-tests: New file.
71257         * modules/unictype/property-pattern-white-space-tests: New file.
71258         * modules/unictype/property-private-use-tests: New file.
71259         * modules/unictype/property-punctuation-tests: New file.
71260         * modules/unictype/property-quotation-mark-tests: New file.
71261         * modules/unictype/property-radical-tests: New file.
71262         * modules/unictype/property-sentence-terminal-tests: New file.
71263         * modules/unictype/property-soft-dotted-tests: New file.
71264         * modules/unictype/property-space-tests: New file.
71265         * modules/unictype/property-terminal-punctuation-tests: New file.
71266         * modules/unictype/property-test-tests: New file.
71267         * modules/unictype/property-titlecase-tests: New file.
71268         * modules/unictype/property-unassigned-code-value-tests: New file.
71269         * modules/unictype/property-unified-ideograph-tests: New file.
71270         * modules/unictype/property-uppercase-tests: New file.
71271         * modules/unictype/property-variation-selector-tests: New file.
71272         * modules/unictype/property-white-space-tests: New file.
71273         * modules/unictype/property-xid-continue-tests: New file.
71274         * modules/unictype/property-xid-start-tests: New file.
71275         * modules/unictype/property-zero-width-tests: New file.
71276         * modules/unictype/scripts-tests: New file.
71277         * modules/unictype/syntax-c-ident-tests: New file.
71278         * modules/unictype/syntax-c-whitespace-tests: New file.
71279         * modules/unictype/syntax-java-ident-tests: New file.
71280         * modules/unictype/syntax-java-whitespace-tests: New file.
71281         * tests/unictype/test-bidi_byname.c: New file.
71282         * tests/unictype/test-bidi_name.c: New file.
71283         * tests/unictype/test-bidi_of.c: New file.
71284         * tests/unictype/test-bidi_test.c: New file.
71285         * tests/unictype/test-block_list.c: New file.
71286         * tests/unictype/test-block_of.c: New file.
71287         * tests/unictype/test-block_test.c: New file.
71288         * tests/unictype/test-categ_and.c: New file.
71289         * tests/unictype/test-categ_and_not.c: New file.
71290         * tests/unictype/test-categ_byname.c: New file.
71291         * tests/unictype/test-categ_name.c: New file.
71292         * tests/unictype/test-categ_none.c: New file.
71293         * tests/unictype/test-categ_of.c: New file.
71294         * tests/unictype/test-categ_or.c: New file.
71295         * tests/unictype/test-categ_test_withtable.c: New file.
71296         * tests/unictype/test-combining.c: New file.
71297         * tests/unictype/test-decdigit.c: New file.
71298         * tests/unictype/test-digit.c: New file.
71299         * tests/unictype/test-mirror.c: New file.
71300         * tests/unictype/test-numeric.c: New file.
71301         * tests/unictype/test-pr_byname.c: New file.
71302         * tests/unictype/test-pr_test.c: New file.
71303         * tests/unictype/test-predicate-part1.h: New file.
71304         * tests/unictype/test-predicate-part2.h: New file.
71305         * tests/unictype/test-scripts.c: New file.
71306         * tests/unictype/test-sy_c_ident.c: New file.
71307         * tests/unictype/test-sy_java_ident.c: New file.
71308
71309         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
71310         for Unicode 5.0.0.
71311         * tests/unictype/test-categ_Cc.c: Likewise.
71312         * tests/unictype/test-categ_Cf.c: Likewise.
71313         * tests/unictype/test-categ_Cn.c: Likewise.
71314         * tests/unictype/test-categ_Co.c: Likewise.
71315         * tests/unictype/test-categ_Cs.c: Likewise.
71316         * tests/unictype/test-categ_L.c: Likewise.
71317         * tests/unictype/test-categ_Ll.c: Likewise.
71318         * tests/unictype/test-categ_Lm.c: Likewise.
71319         * tests/unictype/test-categ_Lo.c: Likewise.
71320         * tests/unictype/test-categ_Lt.c: Likewise.
71321         * tests/unictype/test-categ_Lu.c: Likewise.
71322         * tests/unictype/test-categ_M.c: Likewise.
71323         * tests/unictype/test-categ_Mc.c: Likewise.
71324         * tests/unictype/test-categ_Me.c: Likewise.
71325         * tests/unictype/test-categ_Mn.c: Likewise.
71326         * tests/unictype/test-categ_N.c: Likewise.
71327         * tests/unictype/test-categ_Nd.c: Likewise.
71328         * tests/unictype/test-categ_Nl.c: Likewise.
71329         * tests/unictype/test-categ_No.c: Likewise.
71330         * tests/unictype/test-categ_P.c: Likewise.
71331         * tests/unictype/test-categ_Pc.c: Likewise.
71332         * tests/unictype/test-categ_Pd.c: Likewise.
71333         * tests/unictype/test-categ_Pe.c: Likewise.
71334         * tests/unictype/test-categ_Pf.c: Likewise.
71335         * tests/unictype/test-categ_Pi.c: Likewise.
71336         * tests/unictype/test-categ_Po.c: Likewise.
71337         * tests/unictype/test-categ_Ps.c: Likewise.
71338         * tests/unictype/test-categ_S.c: Likewise.
71339         * tests/unictype/test-categ_Sc.c: Likewise.
71340         * tests/unictype/test-categ_Sk.c: Likewise.
71341         * tests/unictype/test-categ_Sm.c: Likewise.
71342         * tests/unictype/test-categ_So.c: Likewise.
71343         * tests/unictype/test-categ_Z.c: Likewise.
71344         * tests/unictype/test-categ_Zl.c: Likewise.
71345         * tests/unictype/test-categ_Zp.c: Likewise.
71346         * tests/unictype/test-categ_Zs.c: Likewise.
71347         * tests/unictype/test-ctype_alnum.c: Likewise.
71348         * tests/unictype/test-ctype_alpha.c: Likewise.
71349         * tests/unictype/test-ctype_blank.c: Likewise.
71350         * tests/unictype/test-ctype_cntrl.c: Likewise.
71351         * tests/unictype/test-ctype_digit.c: Likewise.
71352         * tests/unictype/test-ctype_graph.c: Likewise.
71353         * tests/unictype/test-ctype_lower.c: Likewise.
71354         * tests/unictype/test-ctype_print.c: Likewise.
71355         * tests/unictype/test-ctype_punct.c: Likewise.
71356         * tests/unictype/test-ctype_space.c: Likewise.
71357         * tests/unictype/test-ctype_upper.c: Likewise.
71358         * tests/unictype/test-ctype_xdigit.c: Likewise.
71359         * tests/unictype/test-decdigit.h: Likewise.
71360         * tests/unictype/test-digit.h: Likewise.
71361         * tests/unictype/test-numeric.h: Likewise.
71362         * tests/unictype/test-pr_alphabetic.c: Likewise.
71363         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
71364         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
71365         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
71366         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
71367         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
71368         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
71369         * tests/unictype/test-pr_bidi_control.c: Likewise.
71370         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
71371         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
71372         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
71373         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
71374         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
71375         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
71376         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
71377         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
71378         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
71379         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
71380         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
71381         * tests/unictype/test-pr_combining.c: Likewise.
71382         * tests/unictype/test-pr_composite.c: Likewise.
71383         * tests/unictype/test-pr_currency_symbol.c: Likewise.
71384         * tests/unictype/test-pr_dash.c: Likewise.
71385         * tests/unictype/test-pr_decimal_digit.c: Likewise.
71386         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
71387         * tests/unictype/test-pr_deprecated.c: Likewise.
71388         * tests/unictype/test-pr_diacritic.c: Likewise.
71389         * tests/unictype/test-pr_extender.c: Likewise.
71390         * tests/unictype/test-pr_format_control.c: Likewise.
71391         * tests/unictype/test-pr_grapheme_base.c: Likewise.
71392         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
71393         * tests/unictype/test-pr_grapheme_link.c: Likewise.
71394         * tests/unictype/test-pr_hex_digit.c: Likewise.
71395         * tests/unictype/test-pr_hyphen.c: Likewise.
71396         * tests/unictype/test-pr_id_continue.c: Likewise.
71397         * tests/unictype/test-pr_id_start.c: Likewise.
71398         * tests/unictype/test-pr_ideographic.c: Likewise.
71399         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
71400         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
71401         * tests/unictype/test-pr_ignorable_control.c: Likewise.
71402         * tests/unictype/test-pr_iso_control.c: Likewise.
71403         * tests/unictype/test-pr_join_control.c: Likewise.
71404         * tests/unictype/test-pr_left_of_pair.c: Likewise.
71405         * tests/unictype/test-pr_line_separator.c: Likewise.
71406         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
71407         * tests/unictype/test-pr_lowercase.c: Likewise.
71408         * tests/unictype/test-pr_math.c: Likewise.
71409         * tests/unictype/test-pr_non_break.c: Likewise.
71410         * tests/unictype/test-pr_not_a_character.c: Likewise.
71411         * tests/unictype/test-pr_numeric.c: Likewise.
71412         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
71413         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
71414         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
71415         * tests/unictype/test-pr_other_id_continue.c: Likewise.
71416         * tests/unictype/test-pr_other_id_start.c: Likewise.
71417         * tests/unictype/test-pr_other_lowercase.c: Likewise.
71418         * tests/unictype/test-pr_other_math.c: Likewise.
71419         * tests/unictype/test-pr_other_uppercase.c: Likewise.
71420         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
71421         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
71422         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
71423         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
71424         * tests/unictype/test-pr_private_use.c: Likewise.
71425         * tests/unictype/test-pr_punctuation.c: Likewise.
71426         * tests/unictype/test-pr_quotation_mark.c: Likewise.
71427         * tests/unictype/test-pr_radical.c: Likewise.
71428         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
71429         * tests/unictype/test-pr_soft_dotted.c: Likewise.
71430         * tests/unictype/test-pr_space.c: Likewise.
71431         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
71432         * tests/unictype/test-pr_titlecase.c: Likewise.
71433         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
71434         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
71435         * tests/unictype/test-pr_uppercase.c: Likewise.
71436         * tests/unictype/test-pr_variation_selector.c: Likewise.
71437         * tests/unictype/test-pr_white_space.c: Likewise.
71438         * tests/unictype/test-pr_xid_continue.c: Likewise.
71439         * tests/unictype/test-pr_xid_start.c: Likewise.
71440         * tests/unictype/test-pr_zero_width.c: Likewise.
71441         * tests/unictype/test-sy_c_whitespace.c: Likewise.
71442         * tests/unictype/test-sy_java_whitespace.c: Likewise.
71443
71444 2007-11-12  Bruno Haible  <bruno@clisp.org>
71445
71446         Unicode character classification functions.
71447         * lib/unictype.h: New file.
71448         * modules/unictype/base: New file.
71449         * modules/unictype/category-L: New file.
71450         * modules/unictype/category-Lu: New file.
71451         * modules/unictype/category-Ll: New file.
71452         * modules/unictype/category-Lt: New file.
71453         * modules/unictype/category-Lm: New file.
71454         * modules/unictype/category-Lo: New file.
71455         * modules/unictype/category-M: New file.
71456         * modules/unictype/category-Mn: New file.
71457         * modules/unictype/category-Mc: New file.
71458         * modules/unictype/category-Me: New file.
71459         * modules/unictype/category-N: New file.
71460         * modules/unictype/category-Nd: New file.
71461         * modules/unictype/category-Nl: New file.
71462         * modules/unictype/category-No: New file.
71463         * modules/unictype/category-P: New file.
71464         * modules/unictype/category-Pc: New file.
71465         * modules/unictype/category-Pd: New file.
71466         * modules/unictype/category-Ps: New file.
71467         * modules/unictype/category-Pe: New file.
71468         * modules/unictype/category-Pi: New file.
71469         * modules/unictype/category-Pf: New file.
71470         * modules/unictype/category-Po: New file.
71471         * modules/unictype/category-S: New file.
71472         * modules/unictype/category-Sm: New file.
71473         * modules/unictype/category-Sc: New file.
71474         * modules/unictype/category-Sk: New file.
71475         * modules/unictype/category-So: New file.
71476         * modules/unictype/category-Z: New file.
71477         * modules/unictype/category-Zs: New file.
71478         * modules/unictype/category-Zl: New file.
71479         * modules/unictype/category-Zp: New file.
71480         * modules/unictype/category-C: New file.
71481         * modules/unictype/category-Cc: New file.
71482         * modules/unictype/category-Cf: New file.
71483         * modules/unictype/category-Cs: New file.
71484         * modules/unictype/category-Co: New file.
71485         * modules/unictype/category-Cn: New file.
71486         * modules/unictype/category-or: New file.
71487         * modules/unictype/category-of: New file.
71488         * modules/unictype/category-test: New file.
71489         * modules/unictype/category-test-withtable: New file.
71490         * modules/unictype/category-byname: New file.
71491         * modules/unictype/category-none: New file.
71492         * modules/unictype/category-and: New file.
71493         * modules/unictype/category-and-not: New file.
71494         * modules/unictype/category-name: New file.
71495         * modules/unictype/combining-class: New file.
71496         * modules/unictype/category-all: New file.
71497         * modules/unictype/bidicategory-all: New file.
71498         * modules/unictype/bidicategory-byname: New file.
71499         * modules/unictype/bidicategory-name: New file.
71500         * modules/unictype/bidicategory-of: New file.
71501         * modules/unictype/bidicategory-test: New file.
71502         * modules/unictype/decimal-digit: New file.
71503         * modules/unictype/digit: New file.
71504         * modules/unictype/numeric: New file.
71505         * modules/unictype/mirror: New file.
71506         * modules/unictype/property-white-space: New file.
71507         * modules/unictype/property-alphabetic: New file.
71508         * modules/unictype/property-other-alphabetic: New file.
71509         * modules/unictype/property-not-a-character: New file.
71510         * modules/unictype/property-default-ignorable-code-point: New file.
71511         * modules/unictype/property-other-default-ignorable-code-point: New
71512         file.
71513         * modules/unictype/property-deprecated: New file.
71514         * modules/unictype/property-logical-order-exception: New file.
71515         * modules/unictype/property-variation-selector: New file.
71516         * modules/unictype/property-private-use: New file.
71517         * modules/unictype/property-unassigned-code-value: New file.
71518         * modules/unictype/property-uppercase: New file.
71519         * modules/unictype/property-other-uppercase: New file.
71520         * modules/unictype/property-lowercase: New file.
71521         * modules/unictype/property-other-lowercase: New file.
71522         * modules/unictype/property-titlecase: New file.
71523         * modules/unictype/property-soft-dotted: New file.
71524         * modules/unictype/property-id-start: New file.
71525         * modules/unictype/property-other-id-start: New file.
71526         * modules/unictype/property-id-continue: New file.
71527         * modules/unictype/property-other-id-continue: New file.
71528         * modules/unictype/property-xid-start: New file.
71529         * modules/unictype/property-xid-continue: New file.
71530         * modules/unictype/property-pattern-white-space: New file.
71531         * modules/unictype/property-pattern-syntax: New file.
71532         * modules/unictype/property-join-control: New file.
71533         * modules/unictype/property-grapheme-base: New file.
71534         * modules/unictype/property-grapheme-extend: New file.
71535         * modules/unictype/property-other-grapheme-extend: New file.
71536         * modules/unictype/property-grapheme-link: New file.
71537         * modules/unictype/property-bidi-control: New file.
71538         * modules/unictype/property-bidi-left-to-right: New file.
71539         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
71540         * modules/unictype/property-bidi-arabic-right-to-left: New file.
71541         * modules/unictype/property-bidi-european-digit: New file.
71542         * modules/unictype/property-bidi-eur-num-separator: New file.
71543         * modules/unictype/property-bidi-eur-num-terminator: New file.
71544         * modules/unictype/property-bidi-arabic-digit: New file.
71545         * modules/unictype/property-bidi-common-separator: New file.
71546         * modules/unictype/property-bidi-block-separator: New file.
71547         * modules/unictype/property-bidi-segment-separator: New file.
71548         * modules/unictype/property-bidi-whitespace: New file.
71549         * modules/unictype/property-bidi-non-spacing-mark: New file.
71550         * modules/unictype/property-bidi-boundary-neutral: New file.
71551         * modules/unictype/property-bidi-pdf: New file.
71552         * modules/unictype/property-bidi-embedding-or-override: New file.
71553         * modules/unictype/property-bidi-other-neutral: New file.
71554         * modules/unictype/property-hex-digit: New file.
71555         * modules/unictype/property-ascii-hex-digit: New file.
71556         * modules/unictype/property-ideographic: New file.
71557         * modules/unictype/property-unified-ideograph: New file.
71558         * modules/unictype/property-radical: New file.
71559         * modules/unictype/property-ids-binary-operator: New file.
71560         * modules/unictype/property-ids-trinary-operator: New file.
71561         * modules/unictype/property-zero-width: New file.
71562         * modules/unictype/property-space: New file.
71563         * modules/unictype/property-non-break: New file.
71564         * modules/unictype/property-iso-control: New file.
71565         * modules/unictype/property-format-control: New file.
71566         * modules/unictype/property-dash: New file.
71567         * modules/unictype/property-hyphen: New file.
71568         * modules/unictype/property-punctuation: New file.
71569         * modules/unictype/property-line-separator: New file.
71570         * modules/unictype/property-paragraph-separator: New file.
71571         * modules/unictype/property-quotation-mark: New file.
71572         * modules/unictype/property-sentence-terminal: New file.
71573         * modules/unictype/property-terminal-punctuation: New file.
71574         * modules/unictype/property-currency-symbol: New file.
71575         * modules/unictype/property-math: New file.
71576         * modules/unictype/property-other-math: New file.
71577         * modules/unictype/property-paired-punctuation: New file.
71578         * modules/unictype/property-left-of-pair: New file.
71579         * modules/unictype/property-combining: New file.
71580         * modules/unictype/property-composite: New file.
71581         * modules/unictype/property-decimal-digit: New file.
71582         * modules/unictype/property-numeric: New file.
71583         * modules/unictype/property-diacritic: New file.
71584         * modules/unictype/property-extender: New file.
71585         * modules/unictype/property-ignorable-control: New file.
71586         * modules/unictype/property-test: New file.
71587         * modules/unictype/property-byname: New file.
71588         * modules/unictype/property-all: New file.
71589         * modules/unictype/scripts: New file.
71590         * modules/unictype/scripts-all: New file.
71591         * modules/unictype/block-of: New file.
71592         * modules/unictype/block-test: New file.
71593         * modules/unictype/block-list: New file.
71594         * modules/unictype/block-all: New file.
71595         * modules/unictype/syntax-c-whitespace: New file.
71596         * modules/unictype/syntax-java-whitespace: New file.
71597         * modules/unictype/syntax-c-ident: New file.
71598         * modules/unictype/syntax-java-ident: New file.
71599         * modules/unictype/ctype-alnum: New file.
71600         * modules/unictype/ctype-alpha: New file.
71601         * modules/unictype/ctype-cntrl: New file.
71602         * modules/unictype/ctype-digit: New file.
71603         * modules/unictype/ctype-graph: New file.
71604         * modules/unictype/ctype-lower: New file.
71605         * modules/unictype/ctype-print: New file.
71606         * modules/unictype/ctype-punct: New file.
71607         * modules/unictype/ctype-space: New file.
71608         * modules/unictype/ctype-upper: New file.
71609         * modules/unictype/ctype-xdigit: New file.
71610         * modules/unictype/ctype-blank: New file.
71611         * lib/unictype/bidi_byname.c: New file.
71612         * lib/unictype/bidi_name.c: New file.
71613         * lib/unictype/bidi_of.c: New file.
71614         * lib/unictype/bidi_test.c: New file.
71615         * lib/unictype/bitmap.h: New file.
71616         * lib/unictype/block_test.c: New file.
71617         * lib/unictype/blocks.c: New file.
71618         * lib/unictype/categ_C.c: New file.
71619         * lib/unictype/categ_Cc.c: New file.
71620         * lib/unictype/categ_Cf.c: New file.
71621         * lib/unictype/categ_Cn.c: New file.
71622         * lib/unictype/categ_Co.c: New file.
71623         * lib/unictype/categ_Cs.c: New file.
71624         * lib/unictype/categ_L.c: New file.
71625         * lib/unictype/categ_Ll.c: New file.
71626         * lib/unictype/categ_Lm.c: New file.
71627         * lib/unictype/categ_Lo.c: New file.
71628         * lib/unictype/categ_Lt.c: New file.
71629         * lib/unictype/categ_Lu.c: New file.
71630         * lib/unictype/categ_M.c: New file.
71631         * lib/unictype/categ_Mc.c: New file.
71632         * lib/unictype/categ_Me.c: New file.
71633         * lib/unictype/categ_Mn.c: New file.
71634         * lib/unictype/categ_N.c: New file.
71635         * lib/unictype/categ_Nd.c: New file.
71636         * lib/unictype/categ_Nl.c: New file.
71637         * lib/unictype/categ_No.c: New file.
71638         * lib/unictype/categ_P.c: New file.
71639         * lib/unictype/categ_Pc.c: New file.
71640         * lib/unictype/categ_Pd.c: New file.
71641         * lib/unictype/categ_Pe.c: New file.
71642         * lib/unictype/categ_Pf.c: New file.
71643         * lib/unictype/categ_Pi.c: New file.
71644         * lib/unictype/categ_Po.c: New file.
71645         * lib/unictype/categ_Ps.c: New file.
71646         * lib/unictype/categ_S.c: New file.
71647         * lib/unictype/categ_Sc.c: New file.
71648         * lib/unictype/categ_Sk.c: New file.
71649         * lib/unictype/categ_Sm.c: New file.
71650         * lib/unictype/categ_So.c: New file.
71651         * lib/unictype/categ_Z.c: New file.
71652         * lib/unictype/categ_Zl.c: New file.
71653         * lib/unictype/categ_Zp.c: New file.
71654         * lib/unictype/categ_Zs.c: New file.
71655         * lib/unictype/categ_and.c: New file.
71656         * lib/unictype/categ_and_not.c: New file.
71657         * lib/unictype/categ_byname.c: New file.
71658         * lib/unictype/categ_name.c: New file.
71659         * lib/unictype/categ_none.c: New file.
71660         * lib/unictype/categ_of.c: New file.
71661         * lib/unictype/categ_or.c: New file.
71662         * lib/unictype/categ_test.c: New file.
71663         * lib/unictype/combining.c: New file.
71664         * lib/unictype/ctype_alnum.c: New file.
71665         * lib/unictype/ctype_alpha.c: New file.
71666         * lib/unictype/ctype_blank.c: New file.
71667         * lib/unictype/ctype_cntrl.c: New file.
71668         * lib/unictype/ctype_digit.c: New file.
71669         * lib/unictype/ctype_graph.c: New file.
71670         * lib/unictype/ctype_lower.c: New file.
71671         * lib/unictype/ctype_print.c: New file.
71672         * lib/unictype/ctype_punct.c: New file.
71673         * lib/unictype/ctype_space.c: New file.
71674         * lib/unictype/ctype_upper.c: New file.
71675         * lib/unictype/ctype_xdigit.c: New file.
71676         * lib/unictype/decdigit.c: New file.
71677         * lib/unictype/digit.c: New file.
71678         * lib/unictype/identsyntaxmap.h: New file.
71679         * lib/unictype/mirror.c: New file.
71680         * lib/unictype/numeric.c: New file.
71681         * lib/unictype/pr_alphabetic.c: New file.
71682         * lib/unictype/pr_ascii_hex_digit.c: New file.
71683         * lib/unictype/pr_bidi_arabic_digit.c: New file.
71684         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
71685         * lib/unictype/pr_bidi_block_separator.c: New file.
71686         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
71687         * lib/unictype/pr_bidi_common_separator.c: New file.
71688         * lib/unictype/pr_bidi_control.c: New file.
71689         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
71690         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
71691         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
71692         * lib/unictype/pr_bidi_european_digit.c: New file.
71693         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
71694         * lib/unictype/pr_bidi_left_to_right.c: New file.
71695         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
71696         * lib/unictype/pr_bidi_other_neutral.c: New file.
71697         * lib/unictype/pr_bidi_pdf.c: New file.
71698         * lib/unictype/pr_bidi_segment_separator.c: New file.
71699         * lib/unictype/pr_bidi_whitespace.c: New file.
71700         * lib/unictype/pr_byname.c: New file.
71701         * lib/unictype/pr_byname.gperf: New file.
71702         * lib/unictype/pr_combining.c: New file.
71703         * lib/unictype/pr_composite.c: New file.
71704         * lib/unictype/pr_currency_symbol.c: New file.
71705         * lib/unictype/pr_dash.c: New file.
71706         * lib/unictype/pr_decimal_digit.c: New file.
71707         * lib/unictype/pr_default_ignorable_code_point.c: New file.
71708         * lib/unictype/pr_deprecated.c: New file.
71709         * lib/unictype/pr_diacritic.c: New file.
71710         * lib/unictype/pr_extender.c: New file.
71711         * lib/unictype/pr_format_control.c: New file.
71712         * lib/unictype/pr_grapheme_base.c: New file.
71713         * lib/unictype/pr_grapheme_extend.c: New file.
71714         * lib/unictype/pr_grapheme_link.c: New file.
71715         * lib/unictype/pr_hex_digit.c: New file.
71716         * lib/unictype/pr_hyphen.c: New file.
71717         * lib/unictype/pr_id_continue.c: New file.
71718         * lib/unictype/pr_id_start.c: New file.
71719         * lib/unictype/pr_ideographic.c: New file.
71720         * lib/unictype/pr_ids_binary_operator.c: New file.
71721         * lib/unictype/pr_ids_trinary_operator.c: New file.
71722         * lib/unictype/pr_ignorable_control.c: New file.
71723         * lib/unictype/pr_iso_control.c: New file.
71724         * lib/unictype/pr_join_control.c: New file.
71725         * lib/unictype/pr_left_of_pair.c: New file.
71726         * lib/unictype/pr_line_separator.c: New file.
71727         * lib/unictype/pr_logical_order_exception.c: New file.
71728         * lib/unictype/pr_lowercase.c: New file.
71729         * lib/unictype/pr_math.c: New file.
71730         * lib/unictype/pr_non_break.c: New file.
71731         * lib/unictype/pr_not_a_character.c: New file.
71732         * lib/unictype/pr_numeric.c: New file.
71733         * lib/unictype/pr_other_alphabetic.c: New file.
71734         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
71735         * lib/unictype/pr_other_grapheme_extend.c: New file.
71736         * lib/unictype/pr_other_id_continue.c: New file.
71737         * lib/unictype/pr_other_id_start.c: New file.
71738         * lib/unictype/pr_other_lowercase.c: New file.
71739         * lib/unictype/pr_other_math.c: New file.
71740         * lib/unictype/pr_other_uppercase.c: New file.
71741         * lib/unictype/pr_paired_punctuation.c: New file.
71742         * lib/unictype/pr_paragraph_separator.c: New file.
71743         * lib/unictype/pr_pattern_syntax.c: New file.
71744         * lib/unictype/pr_pattern_white_space.c: New file.
71745         * lib/unictype/pr_private_use.c: New file.
71746         * lib/unictype/pr_punctuation.c: New file.
71747         * lib/unictype/pr_quotation_mark.c: New file.
71748         * lib/unictype/pr_radical.c: New file.
71749         * lib/unictype/pr_sentence_terminal.c: New file.
71750         * lib/unictype/pr_soft_dotted.c: New file.
71751         * lib/unictype/pr_space.c: New file.
71752         * lib/unictype/pr_terminal_punctuation.c: New file.
71753         * lib/unictype/pr_test.c: New file.
71754         * lib/unictype/pr_titlecase.c: New file.
71755         * lib/unictype/pr_unassigned_code_value.c: New file.
71756         * lib/unictype/pr_unified_ideograph.c: New file.
71757         * lib/unictype/pr_uppercase.c: New file.
71758         * lib/unictype/pr_variation_selector.c: New file.
71759         * lib/unictype/pr_white_space.c: New file.
71760         * lib/unictype/pr_xid_continue.c: New file.
71761         * lib/unictype/pr_xid_start.c: New file.
71762         * lib/unictype/pr_zero_width.c: New file.
71763         * lib/unictype/scripts.c: New file.
71764         * lib/unictype/sy_c_ident.c: New file.
71765         * lib/unictype/sy_c_whitespace.c: New file.
71766         * lib/unictype/sy_java_ident.c: New file.
71767         * lib/unictype/sy_java_whitespace.c: New file.
71768
71769         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
71770         Unicode 5.0.0.
71771         * lib/unictype/blocks.h: Likewise.
71772         * lib/unictype/categ_C.h: Likewise.
71773         * lib/unictype/categ_Cc.h: Likewise.
71774         * lib/unictype/categ_Cf.h: Likewise.
71775         * lib/unictype/categ_Cn.h: Likewise.
71776         * lib/unictype/categ_Co.h: Likewise.
71777         * lib/unictype/categ_Cs.h: Likewise.
71778         * lib/unictype/categ_L.h: Likewise.
71779         * lib/unictype/categ_Ll.h: Likewise.
71780         * lib/unictype/categ_Lm.h: Likewise.
71781         * lib/unictype/categ_Lo.h: Likewise.
71782         * lib/unictype/categ_Lt.h: Likewise.
71783         * lib/unictype/categ_Lu.h: Likewise.
71784         * lib/unictype/categ_M.h: Likewise.
71785         * lib/unictype/categ_Mc.h: Likewise.
71786         * lib/unictype/categ_Me.h: Likewise.
71787         * lib/unictype/categ_Mn.h: Likewise.
71788         * lib/unictype/categ_N.h: Likewise.
71789         * lib/unictype/categ_Nd.h: Likewise.
71790         * lib/unictype/categ_Nl.h: Likewise.
71791         * lib/unictype/categ_No.h: Likewise.
71792         * lib/unictype/categ_P.h: Likewise.
71793         * lib/unictype/categ_Pc.h: Likewise.
71794         * lib/unictype/categ_Pd.h: Likewise.
71795         * lib/unictype/categ_Pe.h: Likewise.
71796         * lib/unictype/categ_Pf.h: Likewise.
71797         * lib/unictype/categ_Pi.h: Likewise.
71798         * lib/unictype/categ_Po.h: Likewise.
71799         * lib/unictype/categ_Ps.h: Likewise.
71800         * lib/unictype/categ_S.h: Likewise.
71801         * lib/unictype/categ_Sc.h: Likewise.
71802         * lib/unictype/categ_Sk.h: Likewise.
71803         * lib/unictype/categ_Sm.h: Likewise.
71804         * lib/unictype/categ_So.h: Likewise.
71805         * lib/unictype/categ_Z.h: Likewise.
71806         * lib/unictype/categ_Zl.h: Likewise.
71807         * lib/unictype/categ_Zp.h: Likewise.
71808         * lib/unictype/categ_Zs.h: Likewise.
71809         * lib/unictype/categ_of.h: Likewise.
71810         * lib/unictype/combining.h: Likewise.
71811         * lib/unictype/ctype_alnum.h: Likewise.
71812         * lib/unictype/ctype_alpha.h: Likewise.
71813         * lib/unictype/ctype_blank.h: Likewise.
71814         * lib/unictype/ctype_cntrl.h: Likewise.
71815         * lib/unictype/ctype_digit.h: Likewise.
71816         * lib/unictype/ctype_graph.h: Likewise.
71817         * lib/unictype/ctype_lower.h: Likewise.
71818         * lib/unictype/ctype_print.h: Likewise.
71819         * lib/unictype/ctype_punct.h: Likewise.
71820         * lib/unictype/ctype_space.h: Likewise.
71821         * lib/unictype/ctype_upper.h: Likewise.
71822         * lib/unictype/ctype_xdigit.h: Likewise.
71823         * lib/unictype/decdigit.h: Likewise.
71824         * lib/unictype/digit.h: Likewise.
71825         * lib/unictype/mirror.h: Likewise.
71826         * lib/unictype/numeric.h: Likewise.
71827         * lib/unictype/pr_alphabetic.h: Likewise.
71828         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
71829         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
71830         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
71831         * lib/unictype/pr_bidi_block_separator.h: Likewise.
71832         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
71833         * lib/unictype/pr_bidi_common_separator.h: Likewise.
71834         * lib/unictype/pr_bidi_control.h: Likewise.
71835         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
71836         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
71837         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
71838         * lib/unictype/pr_bidi_european_digit.h: Likewise.
71839         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
71840         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
71841         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
71842         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
71843         * lib/unictype/pr_bidi_pdf.h: Likewise.
71844         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
71845         * lib/unictype/pr_bidi_whitespace.h: Likewise.
71846         * lib/unictype/pr_combining.h: Likewise.
71847         * lib/unictype/pr_composite.h: Likewise.
71848         * lib/unictype/pr_currency_symbol.h: Likewise.
71849         * lib/unictype/pr_dash.h: Likewise.
71850         * lib/unictype/pr_decimal_digit.h: Likewise.
71851         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
71852         * lib/unictype/pr_deprecated.h: Likewise.
71853         * lib/unictype/pr_diacritic.h: Likewise.
71854         * lib/unictype/pr_extender.h: Likewise.
71855         * lib/unictype/pr_format_control.h: Likewise.
71856         * lib/unictype/pr_grapheme_base.h: Likewise.
71857         * lib/unictype/pr_grapheme_extend.h: Likewise.
71858         * lib/unictype/pr_grapheme_link.h: Likewise.
71859         * lib/unictype/pr_hex_digit.h: Likewise.
71860         * lib/unictype/pr_hyphen.h: Likewise.
71861         * lib/unictype/pr_id_continue.h: Likewise.
71862         * lib/unictype/pr_id_start.h: Likewise.
71863         * lib/unictype/pr_ideographic.h: Likewise.
71864         * lib/unictype/pr_ids_binary_operator.h: Likewise.
71865         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
71866         * lib/unictype/pr_ignorable_control.h: Likewise.
71867         * lib/unictype/pr_iso_control.h: Likewise.
71868         * lib/unictype/pr_join_control.h: Likewise.
71869         * lib/unictype/pr_left_of_pair.h: Likewise.
71870         * lib/unictype/pr_line_separator.h: Likewise.
71871         * lib/unictype/pr_logical_order_exception.h: Likewise.
71872         * lib/unictype/pr_lowercase.h: Likewise.
71873         * lib/unictype/pr_math.h: Likewise.
71874         * lib/unictype/pr_non_break.h: Likewise.
71875         * lib/unictype/pr_not_a_character.h: Likewise.
71876         * lib/unictype/pr_numeric.h: Likewise.
71877         * lib/unictype/pr_other_alphabetic.h: Likewise.
71878         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
71879         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
71880         * lib/unictype/pr_other_id_continue.h: Likewise.
71881         * lib/unictype/pr_other_id_start.h: Likewise.
71882         * lib/unictype/pr_other_lowercase.h: Likewise.
71883         * lib/unictype/pr_other_math.h: Likewise.
71884         * lib/unictype/pr_other_uppercase.h: Likewise.
71885         * lib/unictype/pr_paired_punctuation.h: Likewise.
71886         * lib/unictype/pr_paragraph_separator.h: Likewise.
71887         * lib/unictype/pr_pattern_syntax.h: Likewise.
71888         * lib/unictype/pr_pattern_white_space.h: Likewise.
71889         * lib/unictype/pr_private_use.h: Likewise.
71890         * lib/unictype/pr_punctuation.h: Likewise.
71891         * lib/unictype/pr_quotation_mark.h: Likewise.
71892         * lib/unictype/pr_radical.h: Likewise.
71893         * lib/unictype/pr_sentence_terminal.h: Likewise.
71894         * lib/unictype/pr_soft_dotted.h: Likewise.
71895         * lib/unictype/pr_space.h: Likewise.
71896         * lib/unictype/pr_terminal_punctuation.h: Likewise.
71897         * lib/unictype/pr_titlecase.h: Likewise.
71898         * lib/unictype/pr_unassigned_code_value.h: Likewise.
71899         * lib/unictype/pr_unified_ideograph.h: Likewise.
71900         * lib/unictype/pr_uppercase.h: Likewise.
71901         * lib/unictype/pr_variation_selector.h: Likewise.
71902         * lib/unictype/pr_white_space.h: Likewise.
71903         * lib/unictype/pr_xid_continue.h: Likewise.
71904         * lib/unictype/pr_xid_start.h: Likewise.
71905         * lib/unictype/pr_zero_width.h: Likewise.
71906         * lib/unictype/scripts.h: Likewise.
71907         * lib/unictype/scripts_byname.gperf: Likewise.
71908         * lib/unictype/sy_c_ident.h: Likewise.
71909         * lib/unictype/sy_c_whitespace.h: Likewise.
71910         * lib/unictype/sy_java_ident.h: Likewise.
71911         * lib/unictype/sy_java_whitespace.h: Likewise.
71912
71913         * lib/unictype/Makefile: New file.
71914         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
71915         glibc.
71916         * lib/unictype/3level.h: New file, copied from glibc.
71917         * lib/unictype/3levelbit.h: New file.
71918
71919 2007-11-11  Bruno Haible  <bruno@clisp.org>
71920
71921         * modules/gperf: New file.
71922         * modules/iconv_open (Depends-on): Add it.
71923         (Makefile.am): Remove the GPERF definition.
71924
71925 2007-11-11  Bruno Haible  <bruno@clisp.org>
71926
71927         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
71928         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
71929
71930 2007-11-11  Bruno Haible  <bruno@clisp.org>
71931
71932         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
71933         (usage): Remove function.
71934
71935 2007-11-11  Bruno Haible  <bruno@clisp.org>
71936
71937         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
71938         gl_FUNC_CEILF_LIBS.
71939         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
71940         gl_FUNC_CEIL_LIBS.
71941         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
71942         gl_FUNC_CEILL_LIBS.
71943         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
71944         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
71945         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
71946
71947 2007-11-11  Bruno Haible  <bruno@clisp.org>
71948
71949         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
71950         roundf were declared but do not exist on functions.
71951         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
71952         roundl were declared but do not exist on functions.
71953         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
71954         HAVE_FLOORL_AND_CEILL, respectively.
71955         Needed for Sun C on Solaris 10.
71956
71957 2007-11-11  Bruno Haible  <bruno@clisp.org>
71958
71959         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
71960         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
71961         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
71962         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
71963         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
71964         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
71965         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
71966         HAVE_DECL_ROUNDF.
71967         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
71968         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
71969         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
71970         of HAVE_DECL_ROUND*.
71971         * modules/math (Makefile.am): Update.
71972
71973 2007-11-10  Bruno Haible  <bruno@clisp.org>
71974
71975         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
71976         ptrdiff_t as m4/intl.m4.
71977
71978 2007-11-10  Jim Meyering  <meyering@redhat.com>
71979
71980         Avoid link failure for the argmatch test.
71981         * tests/test-argmatch.c (usage): Define function to avoid a link
71982         failure: argmatch_die requires a usage function.
71983
71984 2007-11-09  Bruno Haible  <bruno@clisp.org>
71985
71986         * doc/functions/snprintf.texi: Mention BeOS deficiency.
71987         * doc/functions/vsnprintf.texi: Likewise.
71988         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
71989         with a size argument < 2.
71990
71991 2007-11-09  Bruno Haible  <bruno@clisp.org>
71992
71993         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
71994         buffer. Fixes an inefficiency introduced on 2007-11-03.
71995
71996 2007-11-09  Bruno Haible  <bruno@clisp.org>
71997
71998         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
71999         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
72000
72001 2007-11-08  Jim Meyering  <meyering@redhat.com>
72002
72003         Change cache variable name prefix "jm_" to "gl_" everywhere.
72004         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
72005         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
72006         * m4/uptime.m4: s/gl_/jm_/
72007
72008 2007-11-07  Bruno Haible  <bruno@clisp.org>
72009
72010         Update to GNU gettext 0.17.
72011         * m4/intl.m4: Update to GNU gettext 0.17.
72012         * m4/po.m4: Likewise.
72013         * modules/gettext (Files): Remove m4/ulonglong.m4.
72014         (configure.ac): Require gettext infrastructure from version 0.17.
72015
72016 2007-11-06  Bruno Haible  <bruno@clisp.org>
72017
72018         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
72019         symbolic values are not defined in a public header.
72020         * lib/freadable.c (freadable) [QNX]: Likewise.
72021         * lib/freadahead.c (freadahead) [QNX]: Likewise.
72022         * lib/freading.c (freading) [QNX]: Likewise.
72023         * lib/fseterr.c (fseterr) [QNX]: Likewise.
72024         * lib/fwritable.c (fwritable) [QNX]: Likewise.
72025         * lib/fwriting.c (fwriting) [QNX]: Likewise.
72026         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
72027         Reported by Alain Magloire.
72028
72029         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
72030
72031 2007-11-05  Bruno Haible  <bruno@clisp.org>
72032
72033         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
72034         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
72035         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
72036         Reported by Eric Blake.
72037
72038 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72039             Bruno Haible  <bruno@clisp.org>
72040
72041         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
72042         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
72043         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
72044         (malloc): Undefine also before including <stdlib.h>.
72045         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
72046         Needed on OSF/1 4.0.
72047
72048 2007-11-05  Jim Meyering  <meyering@redhat.com>
72049
72050         git-version-gen: sync from coreutils.
72051         * build-aux/git-version-gen: Add comments.
72052         Change the first '-' to '.' in the snapshot version string,
72053         e.g., 6.9-377-08144 -> 6.9.377-08144
72054         Remove first parameter.
72055         Don't declare a version "-dirty" merely because a time
72056         stamp has changed.
72057
72058 2007-11-04  Bruno Haible  <bruno@clisp.org>
72059
72060         * lib/lock.h: Protect all macro definitions containing an 'if'
72061         statement through a "do { ... } while (0)".
72062         * lib/tls.h: Likewise.
72063
72064 2007-11-04  Bruno Haible  <bruno@clisp.org>
72065
72066         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
72067
72068 2007-11-04  Bruno Haible  <bruno@clisp.org>
72069
72070         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
72071         * modules/fprintf-posix (Depends-on): Add nocrash.
72072         * modules/snprintf-posix (Depends-on): Likewise.
72073         * modules/sprintf-posix (Depends-on): Likewise.
72074         * modules/vasnprintf-posix (Depends-on): Likewise.
72075         * modules/vasprintf-posix (Depends-on): Likewise.
72076         * modules/vfprintf-posix (Depends-on): Likewise.
72077         * modules/vsnprintf-posix (Depends-on): Likewise.
72078         * modules/vsprintf-posix (Depends-on): Likewise.
72079         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
72080         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
72081         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
72082         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
72083         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
72084         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
72085         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
72086
72087 2007-11-04  Bruno Haible  <bruno@clisp.org>
72088
72089         * modules/nocrash: New file.
72090         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
72091         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
72092
72093 2007-11-04  Bruno Haible  <bruno@clisp.org>
72094
72095         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
72096         precision handling.
72097         * tests/test-vasprintf-posix.c (test_function): Likewise.
72098         * tests/test-snprintf-posix.h (test_function): Likewise.
72099         * tests/test-sprintf-posix.h (test_function): Likewise.
72100
72101         Fix *printf behaviour for large precisions on mingw and BeOS.
72102         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
72103         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
72104         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
72105         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
72106         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
72107         gl_PRINTF_PRECISION and test its result. Invoke
72108         gl_PREREQ_VASNPRINTF_PRECISION.
72109         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
72110         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
72111         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
72112         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
72113         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
72114         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
72115         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
72116         * doc/functions/fprintf.texi: Update.
72117         * doc/functions/printf.texi: Update.
72118         * doc/functions/snprintf.texi: Update.
72119         * doc/functions/sprintf.texi: Update.
72120         * doc/functions/vfprintf.texi: Update.
72121         * doc/functions/vprintf.texi: Update.
72122         * doc/functions/vsnprintf.texi: Update.
72123         * doc/functions/vsprintf.texi: Update.
72124
72125 2007-11-04  Bruno Haible  <bruno@clisp.org>
72126
72127         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
72128
72129 2007-11-04  Bruno Haible  <bruno@clisp.org>
72130
72131         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
72132         Reported by Sylvain Beucler <beuc@gnu.org>.
72133
72134 2007-11-03  Bruno Haible  <bruno@clisp.org>
72135
72136         * tests/test-fprintf-posix2.sh: New file.
72137         * tests/test-fprintf-posix2.c: New file.
72138         * modules/fprintf-posix-tests (Files): Add them.
72139         (TESTS): Add test-fprintf-posix2.sh.
72140         (configure.ac): Check for getrlimit and setrlimit.
72141         (check_PROGRAMS): Add test-fprintf-posix2.
72142
72143         * tests/test-printf-posix2.sh: New file.
72144         * tests/test-printf-posix2.c: New file.
72145         * modules/printf-posix-tests (Files): Add them.
72146         (TESTS): Add test-printf-posix2.sh.
72147         (configure.ac): Check for getrlimit and setrlimit.
72148         (check_PROGRAMS): Add test-printf-posix2.
72149
72150         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
72151         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
72152         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
72153         (decode_double): New function, copied from decode_long_double.
72154         (scale10_round_decimal_decoded): New function, extracted from
72155         scale10_round_decimal_long_double.
72156         (scale10_round_decimal_long_double): Use it.
72157         (scale10_round_decimal_double): New function.
72158         (floorlog10): New function.
72159         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
72160         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
72161         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
72162         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
72163         gl_PRINTF_ENOMEM and test its result. Invoke
72164         gl_PREREQ_VASNPRINTF_ENOMEM.
72165         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
72166         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
72167         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
72168         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
72169         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
72170         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
72171         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
72172         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
72173         * modules/snprintf-posix (Depends-on): Likewise.
72174         * modules/sprintf-posix (Depends-on): Likewise.
72175         * modules/vasnprintf-posix (Depends-on): Likewise.
72176         * modules/vasprintf-posix (Depends-on): Likewise.
72177         * modules/vfprintf-posix (Depends-on): Likewise.
72178         * modules/vsnprintf-posix (Depends-on): Likewise.
72179         * modules/vsprintf-posix (Depends-on): Likewise.
72180         * doc/functions/fprintf.texi: Update.
72181         * doc/functions/printf.texi: Update.
72182         * doc/functions/snprintf.texi: Update.
72183         * doc/functions/sprintf.texi: Update.
72184         * doc/functions/vfprintf.texi: Update.
72185         * doc/functions/vprintf.texi: Update.
72186         * doc/functions/vsnprintf.texi: Update.
72187         * doc/functions/vsprintf.texi: Update.
72188
72189 2007-11-03  Bruno Haible  <bruno@clisp.org>
72190
72191         * modules/frexp-nolibm-tests: New file.
72192
72193         * modules/frexp-nolibm: New file.
72194         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
72195
72196 2007-11-03  Bruno Haible  <bruno@clisp.org>
72197
72198         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
72199         value is C99 compliant.
72200         Needed for OSF/1 5.1.
72201
72202 2007-11-03  Bruno Haible  <bruno@clisp.org>
72203
72204         Fix out-of-memory handling of vasnprintf.
72205         * lib/printf-parse.c: Include <errno.h>.
72206         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
72207         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
72208         is already set.
72209
72210 2007-11-02  Eric Blake  <ebb9@byu.net>
72211
72212         Fix tests on cygwin.
72213         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
72214
72215 2007-11-01  Bruno Haible  <bruno@clisp.org>
72216
72217         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
72218         warning.
72219         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
72220         needed for POSIX compatibility.
72221
72222 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
72223
72224         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
72225         for compatibility with GNU.
72226
72227 2007-11-01  Bruno Haible  <bruno@clisp.org>
72228
72229         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
72230         (putenv): Renamed from rpl_putenv. Change argument type from
72231         'const char *' to 'char *'.
72232         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
72233         of defining putenv in config.h, just set REPLACE_PUTENV.
72234         * modules/putenv (Depends-on): Add stdlib.
72235         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72236         (Include): Use <stdlib.h>.
72237         * lib/stdlib.in.h (putenv): New declaration.
72238         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
72239         REPLACE_PUTENV.
72240         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
72241         REPLACE_PUTENV.
72242         Needed for MacOS X 10.5.0.
72243         Reported by Peter O'Gorman <peter@pogma.com>.
72244
72245 2007-11-01  Jim Meyering  <meyering@redhat.com>
72246
72247         Treat an empty date string exactly like "0".
72248         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
72249         if the remaining date string (to be parsed) is empty, use "0".
72250         Reported by Mischa Molhoek and discussed in this thread:
72251         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
72252
72253 2007-10-31  Bruno Haible  <bruno@clisp.org>
72254
72255         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
72256         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
72257         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
72258         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
72259         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
72260         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
72261
72262 2007-10-31  Bruno Haible  <bruno@clisp.org>
72263
72264         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
72265         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
72266         (AC_TYPE_LONG_LONG_INT): Use it.
72267         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
72268         it as well.
72269         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
72270         to m4/longlong.m4.
72271         * modules/stdint (Files): Remove m4/ulonglong.m4.
72272         * modules/strtoull (Files): Use m4/longlong.m4 instead of
72273         m4/ulonglong.m4.
72274         * modules/strtoumax (Files): Likewise.
72275
72276 2007-10-30  Bruno Haible  <bruno@clisp.org>
72277
72278         * modules/xvasprintf-posix: New file.
72279         Suggested by Eric Blake.
72280
72281 2007-10-30  Bruno Haible  <bruno@clisp.org>
72282
72283         * modules/xprintf-posix-tests: New file.
72284         * tests/test-xprintf-posix.sh: New file.
72285         * tests/test-xprintf-posix.c: New file.
72286         * tests/test-xfprintf-posix.c: New file.
72287
72288         * modules/xprintf-posix: New file.
72289
72290 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72291
72292         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
72293         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
72294         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
72295
72296 2007-10-29  Bruno Haible  <bruno@clisp.org>
72297
72298         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
72299         contain the special marker '_cv_'.
72300         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
72301         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
72302         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
72303         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
72304         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
72305         Reported by Ralf Wildenhues.
72306
72307 2007-10-29  Bruno Haible  <bruno@clisp.org>
72308
72309         * gnulib-tool (func_import): When --lgpl is not specified, set
72310         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
72311         GPLv3.
72312         Reported by Simon Josefsson.
72313
72314 2007-10-28  Bruno Haible  <bruno@clisp.org>
72315
72316         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
72317         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
72318         HAVE_DECL_ISFINITE.
72319         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
72320         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
72321         HAVE_DECL_ISFINITE.
72322
72323 2007-10-28  Bruno Haible  <bruno@clisp.org>
72324
72325         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
72326         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
72327
72328 2007-10-28  Bruno Haible  <bruno@clisp.org>
72329
72330         Fix link errors with Sun C 5.0 on Solaris 10.
72331         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
72332         function is declared but not present in the compiler's libm.
72333         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
72334         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
72335         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
72336         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
72337         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
72338         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
72339         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
72340         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
72341         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
72342         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
72343         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
72344         HAVE_DECL_FLOORL.
72345
72346 2007-10-28  Bruno Haible  <bruno@clisp.org>
72347
72348         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
72349         gl_FUNC_FLOORL. Cache the result.
72350         (gl_FUNC_FLOORL): Use it.
72351         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
72352         gl_FUNC_CEILL. Cache the result.
72353         (gl_FUNC_CEILL): Use it.
72354
72355         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
72356         gl_FUNC_FLOOR. Cache the result.
72357         (gl_FUNC_FLOOR): Use it.
72358         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
72359         gl_FUNC_CEIL. Cache the result.
72360         (gl_FUNC_CEIL): Use it.
72361
72362         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
72363         gl_FUNC_FLOORF. Cache the result.
72364         (gl_FUNC_FLOORF): Use it.
72365         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
72366         gl_FUNC_CEILF. Cache the result.
72367         (gl_FUNC_CEILF): Use it.
72368
72369 2007-10-28  Bruno Haible  <bruno@clisp.org>
72370
72371         * gnulib-tool: Allow specifying the LGPL version number through
72372         --lgpl=2 or --lgpl=3.
72373         (func_usage): Document --lgpl with argument.
72374         Handle --lgpl=... arguments.
72375         (func_import): Recognize also gl_LGPL calls with an argument. When
72376         --lgpl=2 is used and the module's license is just LGPL, report an
72377         error. Set sed_transform_lib_file according to the lgpl variable. In
72378         the generated files, use --lgpl or gl_LGPL invocations with argument,
72379         if necessary.
72380         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
72381         an LGPv2+ license.
72382         * doc/gnulib-tool.texi (Modified imports): Update explanation of
72383         gl_LGPL macro.
72384
72385 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72386             Bruno Haible  <bruno@clisp.org>
72387
72388         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
72389         (u16_uctomb_aux): Likewise.
72390         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
72391         !HAVE_INLINE.
72392         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
72393
72394 2007-10-28  Bruno Haible  <bruno@clisp.org>
72395
72396         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
72397         Invoke AM_GETTEXT_OPTION if it exists.
72398         * modules/vasprintf: Likewise.
72399         * modules/verror: Likewise.
72400         * modules/xprintf: Likewise.
72401         * modules/xvasprintf: Likewise.
72402
72403 2007-10-27  Ben Pfaff  <blp@gnu.org>
72404
72405         * lib/math.in.h: Define isfinite macro and prototypes for
72406         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
72407         implementations.
72408         * m4/math_h.m4: New substitutions for isfinite module.
72409         * lib/isfinite.c: New file.
72410         * m4/isfinite.m4: New file.
72411         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
72412         * modules/isfinite: New file.
72413         * modules/isfinite-tests: New file.
72414         * tests/tests-isfinite.c: New file.
72415         * doc/functions/isfinite.texi: Mention isfinite module.
72416         * MODULES.html.sh: Mention new module.
72417
72418 2007-10-27  Ben Pfaff  <blp@gnu.org>
72419
72420         Ralf Wildenhues reported that Tru64 4.0D declares the round
72421         functions but does not have definitions.
72422         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
72423         cannot be found in any library, set the output variable to
72424         "missing" instead of "".
72425         * m4/round.m4: Also use our substitute if we cannot find round in
72426         any library, even if it is declared.
72427         * m4/roundf.m4: Likewise for roundf.
72428         * m4/roundl.m4: Likewise for roundl.
72429         * lib/math.in.h: Undefine roundf, round, roundl before defining
72430         their replacements, to allow for hypothetical systems where these
72431         may be defined as macros but not available in libraries.
72432
72433 2007-10-27  Bruno Haible  <bruno@clisp.org>
72434
72435         * doc/gnulib.texi: Invoke @firstparagraphindent.
72436         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
72437         changes in gnulib.
72438         (Source changes): New section.
72439
72440 2007-10-26  Bruno Haible  <bruno@clisp.org>
72441
72442         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
72443         borrowed from autoconf.
72444
72445 2007-10-26  Bruno Haible  <bruno@clisp.org>
72446
72447         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
72448         strerror returned the empty string. Needed on HP-UX 11.00.
72449
72450 2007-10-24  Micah Cowan  <micah@cowan.name>
72451
72452         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
72453         * build-aux/bootstrap: Remove support for now-unnecessary option,
72454         --cvs-user, and envvars CVS_USER, CVS_RSH.
72455
72456 2007-10-24  Jim Meyering  <meyering@redhat.com>
72457
72458         Avoid diagnostics from sha1sum when there is no cached checksum.
72459         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
72460         if the po.s1 file hasn't been created yet.
72461
72462         * build-aux/bootstrap: Sync from coreutils:
72463         2007-10-24  Jim Meyering  <meyering@redhat.com>
72464         Get gnulib from the git repository, not from an obsolete cvs one.
72465         * build-aux/bootstrap: Suggestion from Micah Cowan.
72466         2007-10-04  Jim Meyering  <jim@meyering.net>
72467         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
72468         (update_po_files): Work also when there are no .po files in po/.
72469
72470 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72471
72472         * README: Append ".git" to git and cg examples.
72473         Problem reported by Benoit Sigoure.
72474
72475 2007-10-23  Micah Cowan  <micah@cowan.name>
72476
72477         * users.txt: Add wget.
72478
72479 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72480
72481         Fix linking of some unistdio tests on FreeBSD.
72482         * modules/unistdio/u16-vsnprintf-tests
72483         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
72484         * modules/unistdio/u16-vsprintf-tests
72485         (test_u16_vsnprintf1_LDADD): Likewise.
72486         * modules/unistdio/u32-vsnprintf-tests
72487         (test_u32_vsnprintf1_LDADD): Likewise.
72488         * modules/unistdio/u32-vsprintf-tests
72489         (test_u32_vsprintf1_LDADD): Likewise.
72490         * modules/unistdio/u8-vsnprintf-tests
72491         (test_u8_vsnprintf1_LDADD): Likewise.
72492         * modules/unistdio/u8-vsprintf-tests
72493         (test_u8_vsprintf1_LDADD): Likewise.
72494         * modules/unistdio/ulc-vsnprintf-tests
72495         (test_ulc_vsnprintf1_LDADD): Likewise.
72496         * modules/unistdio/ulc-vsprintf-tests
72497         (test_ulc_vsprintf1_LDADD): Likewise.
72498
72499         Fix linking of some uniconv tests on FreeBSD.
72500         * modules/uniconv/u16-conv-from-enc-tests
72501         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
72502         * modules/uniconv/u16-conv-to-enc-tests
72503         (test_u16_conv_to_enc_LDADD): Likewise.
72504         * modules/uniconv/u16-strconv-from-enc-tests
72505         (test_u16_strconv_from_enc_LDADD): Likewise.
72506         * modules/uniconv/u16-strconv-to-enc-tests
72507         (test_u16_strconv_to_enc_LDADD): Likewise.
72508         * modules/uniconv/u32-conv-from-enc-tests
72509         (test_u32_conv_from_enc_LDADD): Likewise.
72510         * modules/uniconv/u32-conv-to-enc-tests
72511         (test_u32_conv_to_enc_LDADD): Likewise.
72512         * modules/uniconv/u32-strconv-from-enc-tests
72513         (test_u32_strconv_from_enc_LDADD): Likewise.
72514         * modules/uniconv/u32-strconv-to-enc-tests
72515         (test_u32_strconv_to_enc_LDADD): Likewise.
72516         * modules/uniconv/u8-conv-from-enc-tests
72517         (test_u8_conv_from_enc_LDADD): Likewise.
72518         * modules/uniconv/u8-conv-to-enc-tests
72519         (test_u8_conv_to_enc_LDADD): Likewise.
72520         * modules/uniconv/u8-strconv-from-enc-tests
72521         (test_u8_strconv_from_enc_LDADD): Likewise.
72522         * modules/uniconv/u8-strconv-to-enc-tests
72523         (test_u8_strconv_to_enc_LDADD): Likewise.
72524
72525 2007-10-22  Bruno Haible  <bruno@clisp.org>
72526
72527         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
72528         size.
72529
72530 2007-10-22  Eric Blake  <ebb9@byu.net>
72531
72532         Tweak x*printf documentation.
72533         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
72534         variable name and comments.
72535         Suggested by Bruno Haible.
72536
72537 2007-10-22  Bruno Haible  <bruno@clisp.org>
72538
72539         * lib/acl.c (copy_acl): Fix file name in comment.
72540
72541 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
72542
72543         Fix Tru64 problem with stdbool.h.
72544         * lib/stdbool.in.h (false, true):
72545         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
72546         Don't declare as an enum in this situation; it runs afoul of Tru64.
72547         Problem reported by Steven M. Schweda in
72548         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
72549
72550 2007-10-22  Eric Blake  <ebb9@byu.net>
72551
72552         Also wrap vf?printf.
72553         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
72554         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
72555         (xvprintf, xvfprintf): New functions.
72556
72557 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72558
72559         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
72560         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
72561
72562         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
72563         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
72564
72565 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
72566
72567         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
72568         by Bruno Haible.
72569
72570 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72571
72572         * lib/getloadavg.c
72573         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
72574         Undef `sys' after including sys/table.h, for Tru64 4.0D.
72575
72576         * tests/test-i-ring.c: Work for C89.
72577
72578 2007-10-22  Bruno Haible  <bruno@clisp.org>
72579
72580         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
72581         -1u, in preprocessor expression, so that we don't test for the bug
72582         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
72583         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
72584
72585 2007-10-22  Eric Blake  <ebb9@byu.net>
72586
72587         * tests/test-yesno.sh: Silence stderr during test.
72588
72589 2007-10-22  Simon Josefsson  <simon@josefsson.org>
72590
72591         * modules/crypto/gc-camellia: New file.
72592
72593         * m4/gc-camellia.m4: New file.
72594
72595         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
72596
72597         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
72598
72599 2007-10-22  Simon Josefsson  <simon@josefsson.org>
72600
72601         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
72602         --help to stdout.  Reported by sms@antinode.org (Steven
72603         M. Schweda).
72604
72605 2007-10-22  Simon Josefsson  <simon@josefsson.org>
72606
72607         * users.txt: Fix link to libksba.
72608
72609 2007-10-21  Ben Pfaff  <blp@gnu.org>
72610
72611         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
72612         round.c roundf implementation that depends on floorf and ceilf to
72613         be tested unconditionally.
72614
72615 2007-10-21  Ben Pfaff  <blp@gnu.org>
72616
72617         * m4/check-libm-func.m4: Removed.
72618         * m4/check-math-lib.m4: New file.
72619         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
72620         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
72621         definition and lack of AC_LIBOBJ([roundf]).
72622         * m4/roundl.m4: Ditto, and similarly for roundl.
72623         * modules/round: Reference new m4 file.
72624         * modules/roundf: Ditto.
72625         * modules/roundl: Ditto.
72626         * tests/test-round2.c (main): Use ROUND instead of round.
72627         Bug report from Bruno Haible.
72628
72629 2007-10-21  Bruno Haible  <bruno@clisp.org>
72630
72631         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
72632         context.
72633
72634 2007-10-21  Bruno Haible  <bruno@clisp.org>
72635
72636         * tests/test-wcwidth.c (main): Allow negative result for some control
72637         characters.
72638
72639         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
72640         Needed on OSF/1 5.1.
72641
72642 2007-10-21  Bruno Haible  <bruno@clisp.org>
72643
72644         * tests/test-floorf1.c: Include isnanf.h.
72645         (main): Use isnanf() instead of isnan().
72646         * tests/test-ceilf1.c: Include isnanf.h.
72647         (main): Use isnanf() instead of isnan().
72648         * tests/test-truncf1.c: Include isnanf.h.
72649         (main): Use isnanf() instead of isnan().
72650         * tests/test-roundf1.c: Include isnanf.h.
72651         (main): Use isnanf() instead of isnan().
72652
72653 2007-10-21  Eric Blake  <ebb9@byu.net>
72654
72655         * users.txt: Update URL for m4.
72656
72657 2007-10-21  Bruno Haible  <bruno@clisp.org>
72658
72659         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
72660
72661 2007-10-21  Bruno Haible  <bruno@clisp.org>
72662
72663         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
72664         Git's management files if the CVS files are not present.
72665
72666 2007-10-20  Bruno Haible  <bruno@clisp.org>
72667
72668         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
72669         gcc-3.4.x.
72670
72671 2007-10-20  Ben Pfaff  <blp@gnu.org>
72672
72673         * lib/math.in.h: Declare round, roundf, roundl if we are providing
72674         implementations.
72675         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
72676         * lib/round.c: New file.
72677         * lib/roundf.c: New file.
72678         * lib/roundl.c: New file.
72679         * m4/round.m4: New file.
72680         * m4/roundf.m4: New file.
72681         * m4/roundl.m4: New file.
72682         * m4/check-libm-func-m4: New file.
72683         * modules/math: Replace round, roundf, roundl related @VARS@ in
72684         math.in.h.
72685         * modules/round: New file.
72686         * modules/round-tests: New file.
72687         * modules/roundf: New file.
72688         * modules/roundf-tests: New file.
72689         * modules/roundl: New file.
72690         * modules/roundl-tests: New file.
72691         * tests/test-round1.c: New file.
72692         * tests/test-round2.c: New file.
72693         * tests/test-roundf1.c: New file.
72694         * tests/test-roundf2.c: New file.
72695         * tests/test-roundl.c: New file.
72696         * doc/functions/round.texi: Mention round module.
72697         * doc/functions/roundf.texi: Mention roundf module.
72698         * doc/functions/roundl.texi: Mention roundl module.
72699         * MODULES.html.sh: Mention new modules.
72700         Thanks to Bruno Haible for suggestions.
72701
72702 2007-10-20  Jim Meyering  <meyering@redhat.com>
72703
72704         * lib/xprintf.c: Include <config.h> unconditionally.
72705
72706         Change xprintf's license to GPL.
72707         * modules/xprintf (License): s/LGPL/GPL/, since this module
72708         depends on modules (exit and exitfail) which are GPL.
72709         Suggestion from Bruno Haible.
72710
72711         xprintf fixes.
72712         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
72713         Use a clearer diagnostic.
72714         Patch from Bruno Haible.
72715
72716 2007-10-20  Bruno Haible  <bruno@clisp.org>
72717
72718         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
72719         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
72720         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72721
72722 2007-10-20  Bruno Haible  <bruno@clisp.org>
72723
72724         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
72725         precision in the comparison result > x - 1 or similar.
72726         * tests/test-ceilf2.c (correct_result_p): Likewise.
72727         * tests/test-truncf2.c (correct_result_p): Likewise.
72728         * tests/test-trunc2.c (correct_result_p): Likewise.
72729         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72730
72731 2007-10-20  Bruno Haible  <bruno@clisp.org>
72732
72733         * modules/ceil: New file.
72734         * m4/ceil.m4: New file.
72735         * doc/functions/ceil.texi: Mention the 'ceil' module.
72736
72737 2007-10-20  Bruno Haible  <bruno@clisp.org>
72738
72739         * modules/floor: New file.
72740         * m4/floor.m4: New file.
72741         * doc/functions/floor.texi: Mention the 'floor' module.
72742
72743 2007-10-20  Bruno Haible  <bruno@clisp.org>
72744
72745         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
72746         of %a.
72747         * modules/floorf-tests (Depends-on): Likewise.
72748         * modules/truncf-tests (Depends-on): Likewise.
72749         * modules/trunc-tests (Depends-on): Likewise.
72750         Reported by Ben Pfaff.
72751
72752 2007-10-19  Jim Meyering  <meyering@redhat.com>
72753
72754         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
72755         Don't bother testing specific errno values.  Just test ferror.
72756
72757         New module: xprintf
72758         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
72759
72760 2007-10-19  Bruno Haible  <bruno@clisp.org>
72761
72762         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
72763         syntax.
72764         * modules/javaexec (Makefile.am): Likewise.
72765         * modules/relocatable-prog (Makefile.am): Likewise.
72766         Suggested by Jim Meyering.
72767
72768 2007-10-18  Bruno Haible  <bruno@clisp.org>
72769
72770         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
72771         Reported by Jim Meyering.
72772
72773 2007-10-18  Eric Blake  <ebb9@byu.net>
72774
72775         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
72776
72777 2007-10-18  Bruno Haible  <bruno@clisp.org>
72778
72779         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
72780         the format string into writable memory. Needed in Fortify conditions.
72781
72782 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
72783             Bruno Haible  <bruno@clisp.org>
72784
72785         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
72786         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
72787         * modules/trim (Depends-on): Add mbchar.
72788         (configure.ac): Add gl_FUNC_MBRTOWC.
72789         (Makefile.am): Augment lib_SOURCES.
72790
72791 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
72792
72793         Modify glob.c to use fstatat and dirfd, to simplify it.
72794         Suggested by Eric Blake.
72795         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
72796         Don't include <stdbool.h>; not used.
72797         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
72798         (link_exists_p): Simplify implementation, since we can now assume
72799         dirfd and fstatat.
72800         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
72801
72802 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72803
72804         * gnulib-tool (func_get_dependencies): Fix sed script to
72805         match only tests.
72806
72807 2007-10-17  Bruno Haible  <bruno@clisp.org>
72808
72809         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
72810         allow locale names without encoding suffix.
72811         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
72812         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
72813
72814 2007-10-16  Bruno Haible  <bruno@clisp.org>
72815
72816         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
72817         * lib/getgroups.c (getgroups): Likewise.
72818         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
72819
72820 2007-10-16  Bruno Haible  <bruno@clisp.org>
72821
72822         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
72823         * modules/malloc-posix (License): Likewise.
72824         * modules/realloc-posix (License): Likewise.
72825         * modules/calloc-posix (License): Likewise.
72826         * modules/intprops (License): Change from GPL to LGPL, with
72827         Paul Eggert's approval.
72828
72829 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
72830
72831         Merge glibc changes into lib/glob.c.
72832
72833         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
72834         2007-10-15 04:59:03 UTC.  Here are the changes:
72835
72836         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
72837
72838         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
72839
72840         * lib/glob.c: Add some branch prediction throughout.
72841
72842         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
72843
72844         [BZ #5103]
72845         * lib/glob.c (glob): Recognize patterns starting \/.
72846
72847         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
72848
72849         [BZ #3996]
72850         * lib/glob.c (attribute_hidden): Define if not defined.
72851         (glob): Unescape dirname, filename or username when needed and not
72852         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
72853         is NULL.  Handle unescaped [ in pattern without closing ].
72854         Don't pass GLOB_CHECK down to recursive glob for directories.
72855         (__glob_pattern_type): New function.
72856         (__glob_pattern_p): Implement using __glob_pattern_type.
72857         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
72858         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
72859         Remove unreachable code.
72860
72861         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
72862
72863         * lib/glob.c (glob_in_dir): Add some comments and asserts to
72864         explain why there are no leaks.
72865
72866         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
72867
72868         [BZ #3253]
72869         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
72870         time, rather allocate increasingly bigger arrays of pointers, if
72871         possible with alloca, if too large with malloc.
72872
72873 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
72874
72875         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
72876         Problem reported by H.Merijn Brand in
72877         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
72878         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
72879         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
72880
72881 2007-10-15  Bruno Haible  <bruno@clisp.org>
72882
72883         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
72884         with explicit rpl_ prefix.
72885         * lib/fopen.c (fopen): Likewise.
72886         * lib/freopen.c (freopen): Likewise.
72887         * lib/iconv.c (iconv): Likewise.
72888         * lib/iconv_close.c (iconv_close): Likewise.
72889
72890 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72891
72892         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
72893
72894 2007-10-15  Bruno Haible  <bruno@clisp.org>
72895
72896         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
72897         <stddef.h> instead of <stdlib.h> since we only need NULL.
72898         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72899
72900 2007-10-15  Bruno Haible  <bruno@clisp.org>
72901
72902         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
72903         Replace paragraph talking about LIBOBJS.
72904         Reported by Colin Watson <cjwatson@debian.org>.
72905
72906 2007-10-15  Bruno Haible  <bruno@clisp.org>
72907
72908         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
72909         <stdlib.h> before using NULL.
72910
72911 2007-10-15  Simon Josefsson  <simon@josefsson.org>
72912
72913         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
72914         Reported by Albert Chin <china@thewrittenword.com>.
72915
72916 2007-10-14  Bruno Haible  <bruno@clisp.org>
72917
72918         * modules/iconv_open-utf-tests: New file.
72919         * tests/test-iconv-utf.c: New file.
72920
72921         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
72922         * modules/iconv_open-utf: New file.
72923         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
72924         (iconv, iconv_close): New declarations.
72925         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
72926         be defined.
72927         (iconv_open): Add special handling of conversion between UTF-8 and
72928         UTF-{16,32}{BE,LE}.
72929         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
72930         * lib/iconv_close.c: New file.
72931         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
72932         gl_FUNC_ICONV_OPEN.
72933         (gl_FUNC_ICONV_OPEN): Use it.
72934         (gl_FUNC_ICONV_OPEN_UTF): New macro.
72935         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
72936         and REPLACE_ICONV_UTF.
72937         * modules/iconv_open (Depends-on): Add c-strcase.
72938         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
72939         ICONV_CONST.
72940         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
72941
72942 2007-10-13  Albert Chin  <china@thewrittenword.com>
72943             Bruno Haible  <bruno@clisp.org>
72944
72945         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
72946         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
72947
72948 2007-10-13  Bruno Haible  <bruno@clisp.org>
72949
72950         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
72951         defined, use the ISO C99 inline semantics.
72952         * lib/argp.h (ARGP_EI): Likewise.
72953
72954 2007-10-13  Bruno Haible  <bruno@clisp.org>
72955
72956         Handle 'inline' change in gcc 4.3.0.
72957         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
72958         argp_fmtstream_write, argp_fmtstream_set_lmargin,
72959         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
72960         argp_fmtstream_point): Disable 'extern' declaration if the function
72961         definition is going to be provided inline.
72962         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
72963         semantics, not the ISO C99 inline semantics.
72964         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
72965         'extern' declaration if the function definition is going to be provided
72966         inline.
72967         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
72968         the GNU C inline semantics, not the ISO C99 inline semantics. With
72969         GCC 4.2, avoid a warning.
72970
72971 2007-10-13  Bruno Haible  <bruno@clisp.org>
72972
72973         * lib/freading.h (freading): Enable the use of __freading for
72974         glibc >= 2.7.
72975         * lib/freading.c (freading): Likewise.
72976
72977 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
72978
72979         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
72980         "warning: C99 inline functions are not supported; using GNU89".
72981
72982 2007-10-12  Bruno Haible  <bruno@clisp.org>
72983
72984         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
72985         of 2.
72986         * tests/test-ceilf2.c: New file.
72987         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
72988
72989         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
72990         * modules/ceilf-tests: Update.
72991
72992 2007-10-12  Bruno Haible  <bruno@clisp.org>
72993
72994         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
72995         of 2.
72996         * tests/test-floorf2.c: New file.
72997         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
72998
72999         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
73000         * modules/floorf-tests: Update.
73001
73002 2007-10-12  Bruno Haible  <bruno@clisp.org>
73003
73004         * tests/test-trunc2.c: New file.
73005         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
73006
73007         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
73008         * modules/trunc-tests: Update.
73009
73010 2007-10-12  Bruno Haible  <bruno@clisp.org>
73011
73012         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
73013         of 2.
73014         * tests/test-truncf2.c: New file.
73015         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
73016
73017         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
73018         * modules/truncf-tests: Update.
73019
73020 2007-10-11  Eric Blake  <ebb9@byu.net>
73021
73022         Don't claim strerror is broken on Interix.
73023         * doc/functions/strerror.texi (strerror): Known broken systems are
73024         now Solaris 8, and not Interix.
73025         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
73026         Interix on cross-compile.
73027         Reported by Martin Koeppe in
73028         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
73029
73030 2007-10-11  Bruno Haible  <bruno@clisp.org>
73031
73032         * modules/i-ring-tests: New file.
73033         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
73034         instead of assert.
73035
73036 2007-10-11  Bruno Haible  <bruno@clisp.org>
73037
73038         * modules/filenamecat-tests: New file.
73039         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
73040         * lib/filenamecat.c: Remove test code.
73041
73042 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73043
73044         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
73045
73046         * lib/strerror.c: Include <string.h> always, to test interface,
73047         and to remove the need for the dummy.
73048         Include intprops.h to compute width instead of doing it ourselves
73049         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
73050         (strerror): Define it to return NULL if there's no system strerror.
73051         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
73052         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
73053         ancient pre-strerror Unix systems well any more.  Saying "unknown
73054         system error" is enough.
73055         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
73056         simpler strerror.c implementation.
73057         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
73058         Simplify the tests to reflect the simpler strerror implementation.
73059         * modules/strerror (Depends-on): Add intprops.
73060
73061 2007-10-09  Eric Blake  <ebb9@byu.net>
73062
73063         Silence test-fpending.
73064         * modules/fpending-tests (Files): Add wrapper script.
73065         * tests/test-fpending.sh: New file.
73066
73067 2007-10-09  Bruno Haible  <bruno@clisp.org>
73068
73069         * MODULES.html.sh (func_module): Don't create a hyperlink for
73070         function names like 'printf_frexp'.
73071         (Misc): Add crc, memxor.
73072         (Characteristics of floating types): New section.
73073         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
73074         isnanf-nolibm, signbit, trunc, truncf, truncl.
73075         (Enhancements for ISO C 99 functions): New subsection Input/output.
73076         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
73077         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
73078         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
73079         (Compatibility checks for POSIX:2001 functions): Add clock-time.
73080         (Enhancements for POSIX:2001 functions): Add chdir-long.
73081         (File system functions): Add areadlink, chdir-safer, read-file.
73082         Remove cycle-check.
73083         (File system as inode set): New section.
73084         (Date and time): Add gethrxtime.
73085         (Multithreading): Add openmp.
73086         (Internationalization functions): Add localename.
73087         (Unicode string functions): Add unistr/u*-mbsnlen.
73088         (Support for maintaining and releasing projects): Add git-version-gen.
73089         (Lone files): Remove directories.
73090
73091 2007-10-08  Ben Pfaff  <blp@gnu.org>
73092
73093         * lib/xmalloca.h: Fix typo in comment.
73094
73095 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73096
73097         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
73098         when avoiding problems with integer overflow.  Use a portable test
73099         instead.
73100
73101 2007-10-08  Simon Josefsson  <simon@josefsson.org>
73102
73103         * modules/dummy (License): Change to LGPLv2+.
73104         * modules/float (License): Likewise
73105         * modules/realloc (License): Likewise
73106         * modules/stdlib (License): Likewise
73107
73108 2007-10-07  Bruno Haible  <bruno@clisp.org>
73109
73110         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
73111         * floor.c (TWO_MANT_DIG): Likewise.
73112         * ceil.c (TWO_MANT_DIG): Likewise.
73113         Reported by Ben Pfaff.
73114
73115 2007-10-07  Bruno Haible  <bruno@clisp.org>
73116
73117         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
73118         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
73119         * lib/frexp.c (FUNC): Likewise.
73120         * lib/printf-frexp.h (printf_frexp): Likewise.
73121         * lib/printf-frexpl.h (printf_frexpl): Likewise.
73122         * lib/printf-frexp.c (FUNC): Likewise.
73123         Suggested by Jim Meyering.
73124
73125 2007-10-07  Jim Meyering  <meyering@redhat.com>
73126
73127         Make xnanosleep's integer overflow test more robust.
73128         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
73129         so that gcc-4.3.0 doesn't optimize away this test for overflow.
73130
73131 2007-10-07  Bruno Haible  <bruno@clisp.org>
73132
73133         * NEWS: Mention the license change.
73134
73135         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
73136         abbreviations in the modules files.
73137
73138         Change copyright notice from GPLv2+ to GPLv3+.
73139         * README: Change copyright notice.
73140         * MODULES.html.sh: Likewise.
73141         * build-aux/bootstrap.conf: Likewise.
73142         * build-aux/config.libpath: Likewise.
73143         * build-aux/csharpcomp.sh.in: Likewise.
73144         * build-aux/csharpexec.sh.in: Likewise.
73145         * build-aux/install-reloc: Likewise.
73146         * build-aux/javacomp.sh.in: Likewise.
73147         * build-aux/javaexec.sh.in: Likewise.
73148         * build-aux/ldd.sh.in: Likewise.
73149         * build-aux/reloc-ldflags: Likewise.
73150         * build-aux/relocatable.sh.in: Likewise.
73151         * build-aux/x-to-1.in: Likewise.
73152         * check-module: Likewise.
73153         * config/srclistvars.sh: Likewise.
73154         * gnulib-tool: Likewise.
73155         * lib/acl-internal.h: Likewise.
73156         * lib/acl.c: Likewise.
73157         * lib/acl.h: Likewise.
73158         * lib/acl_entries.c: Likewise.
73159         * lib/areadlink-with-size.c: Likewise.
73160         * lib/areadlink.c: Likewise.
73161         * lib/areadlink.h: Likewise.
73162         * lib/argmatch.c: Likewise.
73163         * lib/argmatch.h: Likewise.
73164         * lib/argp-ba.c: Likewise.
73165         * lib/argp-eexst.c: Likewise.
73166         * lib/argp-fmtstream.c: Likewise.
73167         * lib/argp-fmtstream.h: Likewise.
73168         * lib/argp-fs-xinl.c: Likewise.
73169         * lib/argp-help.c: Likewise.
73170         * lib/argp-namefrob.h: Likewise.
73171         * lib/argp-parse.c: Likewise.
73172         * lib/argp-pin.c: Likewise.
73173         * lib/argp-pv.c: Likewise.
73174         * lib/argp-pvh.c: Likewise.
73175         * lib/argp-xinl.c: Likewise.
73176         * lib/argp.h: Likewise.
73177         * lib/at-func.c: Likewise.
73178         * lib/atanl.c: Likewise.
73179         * lib/backupfile.c: Likewise.
73180         * lib/backupfile.h: Likewise.
73181         * lib/basename.c: Likewise.
73182         * lib/binary-io.h: Likewise.
73183         * lib/byteswap.in.h: Likewise.
73184         * lib/c-stack.c: Likewise.
73185         * lib/c-stack.h: Likewise.
73186         * lib/c-strcasestr.c: Likewise.
73187         * lib/c-strcasestr.h: Likewise.
73188         * lib/c-strstr.c: Likewise.
73189         * lib/c-strstr.h: Likewise.
73190         * lib/c-strtod.c: Likewise.
73191         * lib/calloc.c: Likewise.
73192         * lib/canon-host.c: Likewise.
73193         * lib/canon-host.h: Likewise.
73194         * lib/canonicalize-lgpl.c: Likewise.
73195         * lib/canonicalize.c: Likewise.
73196         * lib/canonicalize.h: Likewise.
73197         * lib/ceil.c: Likewise.
73198         * lib/ceilf.c: Likewise.
73199         * lib/ceill.c: Likewise.
73200         * lib/chdir-long.c: Likewise.
73201         * lib/chdir-long.h: Likewise.
73202         * lib/chdir-safer.c: Likewise.
73203         * lib/chdir-safer.h: Likewise.
73204         * lib/chown.c: Likewise.
73205         * lib/classpath.c: Likewise.
73206         * lib/classpath.h: Likewise.
73207         * lib/clean-temp.c: Likewise.
73208         * lib/clean-temp.h: Likewise.
73209         * lib/cloexec.c: Likewise.
73210         * lib/close-stream.c: Likewise.
73211         * lib/closein.c: Likewise.
73212         * lib/closein.h: Likewise.
73213         * lib/closeout.c: Likewise.
73214         * lib/closeout.h: Likewise.
73215         * lib/concat-filename.c: Likewise.
73216         * lib/copy-file.c: Likewise.
73217         * lib/copy-file.h: Likewise.
73218         * lib/count-one-bits.h: Likewise.
73219         * lib/crc.c: Likewise.
73220         * lib/crc.h: Likewise.
73221         * lib/creat-safer.c: Likewise.
73222         * lib/csharpcomp.c: Likewise.
73223         * lib/csharpcomp.h: Likewise.
73224         * lib/csharpexec.c: Likewise.
73225         * lib/csharpexec.h: Likewise.
73226         * lib/cycle-check.c: Likewise.
73227         * lib/cycle-check.h: Likewise.
73228         * lib/diacrit.c: Likewise.
73229         * lib/diacrit.h: Likewise.
73230         * lib/diffseq.h: Likewise.
73231         * lib/dirchownmod.c: Likewise.
73232         * lib/dirent.in.h: Likewise.
73233         * lib/dirfd.c: Likewise.
73234         * lib/dirfd.h: Likewise.
73235         * lib/dirname.c: Likewise.
73236         * lib/dirname.h: Likewise.
73237         * lib/dummy.c: Likewise.
73238         * lib/dup-safer.c: Likewise.
73239         * lib/dup2.c: Likewise.
73240         * lib/eealloc.h: Likewise.
73241         * lib/error.c: Likewise.
73242         * lib/error.h: Likewise.
73243         * lib/euidaccess.c: Likewise.
73244         * lib/exclude.c: Likewise.
73245         * lib/exclude.h: Likewise.
73246         * lib/execute.c: Likewise.
73247         * lib/execute.h: Likewise.
73248         * lib/exitfail.c: Likewise.
73249         * lib/exitfail.h: Likewise.
73250         * lib/expl.c: Likewise.
73251         * lib/fatal-signal.c: Likewise.
73252         * lib/fatal-signal.h: Likewise.
73253         * lib/fbufmode.c: Likewise.
73254         * lib/fbufmode.h: Likewise.
73255         * lib/fchdir.c: Likewise.
73256         * lib/fchmodat.c: Likewise.
73257         * lib/fchownat.c: Likewise.
73258         * lib/fcntl--.h: Likewise.
73259         * lib/fcntl-safer.h: Likewise.
73260         * lib/fcntl.in.h: Likewise.
73261         * lib/fd-safer.c: Likewise.
73262         * lib/fflush.c: Likewise.
73263         * lib/file-has-acl.c: Likewise.
73264         * lib/file-set.c: Likewise.
73265         * lib/file-type.c: Likewise.
73266         * lib/file-type.h: Likewise.
73267         * lib/fileblocks.c: Likewise.
73268         * lib/filemode.c: Likewise.
73269         * lib/filemode.h: Likewise.
73270         * lib/filename.h: Likewise.
73271         * lib/filenamecat.c: Likewise.
73272         * lib/filenamecat.h: Likewise.
73273         * lib/findprog.c: Likewise.
73274         * lib/findprog.h: Likewise.
73275         * lib/float.in.h: Likewise.
73276         * lib/floor.c: Likewise.
73277         * lib/floorf.c: Likewise.
73278         * lib/floorl.c: Likewise.
73279         * lib/fopen-safer.c: Likewise.
73280         * lib/fopen.c: Likewise.
73281         * lib/fpending.c: Likewise.
73282         * lib/fpending.h: Likewise.
73283         * lib/fprintf.c: Likewise.
73284         * lib/fprintftime.h: Likewise.
73285         * lib/fpucw.h: Likewise.
73286         * lib/fpurge.c: Likewise.
73287         * lib/fpurge.h: Likewise.
73288         * lib/freadable.c: Likewise.
73289         * lib/freadable.h: Likewise.
73290         * lib/freadahead.c: Likewise.
73291         * lib/freadahead.h: Likewise.
73292         * lib/freading.c: Likewise.
73293         * lib/freading.h: Likewise.
73294         * lib/free.c: Likewise.
73295         * lib/freopen.c: Likewise.
73296         * lib/frexp.c: Likewise.
73297         * lib/frexpl.c: Likewise.
73298         * lib/fseek.c: Likewise.
73299         * lib/fseterr.c: Likewise.
73300         * lib/fseterr.h: Likewise.
73301         * lib/fstatat.c: Likewise.
73302         * lib/fstrcmp.c: Likewise.
73303         * lib/fstrcmp.h: Likewise.
73304         * lib/fsusage.c: Likewise.
73305         * lib/fsusage.h: Likewise.
73306         * lib/ftell.c: Likewise.
73307         * lib/ftello.c: Likewise.
73308         * lib/fts-cycle.c: Likewise.
73309         * lib/fts.c: Likewise.
73310         * lib/fts_.h: Likewise.
73311         * lib/full-read.c: Likewise.
73312         * lib/full-read.h: Likewise.
73313         * lib/full-write.c: Likewise.
73314         * lib/full-write.h: Likewise.
73315         * lib/fwritable.c: Likewise.
73316         * lib/fwritable.h: Likewise.
73317         * lib/fwriteerror.c: Likewise.
73318         * lib/fwriteerror.h: Likewise.
73319         * lib/fwriting.c: Likewise.
73320         * lib/fwriting.h: Likewise.
73321         * lib/gcd.c: Likewise.
73322         * lib/gcd.h: Likewise.
73323         * lib/getcwd.c: Likewise.
73324         * lib/getdate.h: Likewise.
73325         * lib/getdate.y: Likewise.
73326         * lib/getdomainname.c: Likewise.
73327         * lib/getdomainname.h: Likewise.
73328         * lib/getgroups.c: Likewise.
73329         * lib/gethostname.c: Likewise.
73330         * lib/gethrxtime.c: Likewise.
73331         * lib/gethrxtime.h: Likewise.
73332         * lib/getloadavg.c: Likewise.
73333         * lib/getndelim2.c: Likewise.
73334         * lib/getndelim2.h: Likewise.
73335         * lib/getnline.c: Likewise.
73336         * lib/getnline.h: Likewise.
73337         * lib/getopt.c: Likewise.
73338         * lib/getopt.in.h: Likewise.
73339         * lib/getopt1.c: Likewise.
73340         * lib/getopt_int.h: Likewise.
73341         * lib/getpagesize.h: Likewise.
73342         * lib/getsubopt.c: Likewise.
73343         * lib/gettime.c: Likewise.
73344         * lib/getugroups.c: Likewise.
73345         * lib/getugroups.h: Likewise.
73346         * lib/getusershell.c: Likewise.
73347         * lib/gl_anyavltree_list1.h: Likewise.
73348         * lib/gl_anyavltree_list2.h: Likewise.
73349         * lib/gl_anyhash_list1.h: Likewise.
73350         * lib/gl_anyhash_list2.h: Likewise.
73351         * lib/gl_anylinked_list1.h: Likewise.
73352         * lib/gl_anylinked_list2.h: Likewise.
73353         * lib/gl_anyrbtree_list1.h: Likewise.
73354         * lib/gl_anyrbtree_list2.h: Likewise.
73355         * lib/gl_anytree_list1.h: Likewise.
73356         * lib/gl_anytree_list2.h: Likewise.
73357         * lib/gl_anytree_oset.h: Likewise.
73358         * lib/gl_anytreehash_list1.h: Likewise.
73359         * lib/gl_anytreehash_list2.h: Likewise.
73360         * lib/gl_array_list.c: Likewise.
73361         * lib/gl_array_list.h: Likewise.
73362         * lib/gl_array_oset.c: Likewise.
73363         * lib/gl_array_oset.h: Likewise.
73364         * lib/gl_avltree_list.c: Likewise.
73365         * lib/gl_avltree_list.h: Likewise.
73366         * lib/gl_avltree_oset.c: Likewise.
73367         * lib/gl_avltree_oset.h: Likewise.
73368         * lib/gl_avltreehash_list.c: Likewise.
73369         * lib/gl_avltreehash_list.h: Likewise.
73370         * lib/gl_carray_list.c: Likewise.
73371         * lib/gl_carray_list.h: Likewise.
73372         * lib/gl_linked_list.c: Likewise.
73373         * lib/gl_linked_list.h: Likewise.
73374         * lib/gl_linkedhash_list.c: Likewise.
73375         * lib/gl_linkedhash_list.h: Likewise.
73376         * lib/gl_list.c: Likewise.
73377         * lib/gl_list.h: Likewise.
73378         * lib/gl_oset.c: Likewise.
73379         * lib/gl_oset.h: Likewise.
73380         * lib/gl_rbtree_list.c: Likewise.
73381         * lib/gl_rbtree_list.h: Likewise.
73382         * lib/gl_rbtree_oset.c: Likewise.
73383         * lib/gl_rbtree_oset.h: Likewise.
73384         * lib/gl_rbtreehash_list.c: Likewise.
73385         * lib/gl_rbtreehash_list.h: Likewise.
73386         * lib/gl_sublist.c: Likewise.
73387         * lib/gl_sublist.h: Likewise.
73388         * lib/group-member.c: Likewise.
73389         * lib/group-member.h: Likewise.
73390         * lib/hard-locale.c: Likewise.
73391         * lib/hard-locale.h: Likewise.
73392         * lib/hash-pjw.c: Likewise.
73393         * lib/hash-pjw.h: Likewise.
73394         * lib/hash-triple.c: Likewise.
73395         * lib/hash.c: Likewise.
73396         * lib/hash.h: Likewise.
73397         * lib/human.c: Likewise.
73398         * lib/human.h: Likewise.
73399         * lib/i-ring.c: Likewise.
73400         * lib/i-ring.h: Likewise.
73401         * lib/idcache.c: Likewise.
73402         * lib/imaxabs.c: Likewise.
73403         * lib/imaxdiv.c: Likewise.
73404         * lib/inet_pton.c: Likewise.
73405         * lib/inet_pton.h: Likewise.
73406         * lib/intprops.h: Likewise.
73407         * lib/inttostr.c: Likewise.
73408         * lib/inttostr.h: Likewise.
73409         * lib/inttypes.in.h: Likewise.
73410         * lib/isapipe.c: Likewise.
73411         * lib/isdir.c: Likewise.
73412         * lib/isnan.c: Likewise.
73413         * lib/isnan.h: Likewise.
73414         * lib/isnanf.c: Likewise.
73415         * lib/isnanf.h: Likewise.
73416         * lib/isnanl-nolibm.h: Likewise.
73417         * lib/isnanl.c: Likewise.
73418         * lib/isnanl.h: Likewise.
73419         * lib/javacomp.c: Likewise.
73420         * lib/javacomp.h: Likewise.
73421         * lib/javaexec.c: Likewise.
73422         * lib/javaexec.h: Likewise.
73423         * lib/javaversion.c: Likewise.
73424         * lib/javaversion.h: Likewise.
73425         * lib/javaversion.java: Likewise.
73426         * lib/lbrkprop.h: Likewise.
73427         * lib/lchmod.h: Likewise.
73428         * lib/lchown.c: Likewise.
73429         * lib/ldexpl.c: Likewise.
73430         * lib/linebreak.c: Likewise.
73431         * lib/linebreak.h: Likewise.
73432         * lib/linebuffer.c: Likewise.
73433         * lib/linebuffer.h: Likewise.
73434         * lib/locale.in.h: Likewise.
73435         * lib/logl.c: Likewise.
73436         * lib/long-options.c: Likewise.
73437         * lib/long-options.h: Likewise.
73438         * lib/lstat.c: Likewise.
73439         * lib/lstat.h: Likewise.
73440         * lib/math.in.h: Likewise.
73441         * lib/mbchar.c: Likewise.
73442         * lib/mbchar.h: Likewise.
73443         * lib/mbfile.h: Likewise.
73444         * lib/mbiter.h: Likewise.
73445         * lib/mbscasecmp.c: Likewise.
73446         * lib/mbscasestr.c: Likewise.
73447         * lib/mbschr.c: Likewise.
73448         * lib/mbscspn.c: Likewise.
73449         * lib/mbslen.c: Likewise.
73450         * lib/mbsncasecmp.c: Likewise.
73451         * lib/mbsnlen.c: Likewise.
73452         * lib/mbspbrk.c: Likewise.
73453         * lib/mbspcasecmp.c: Likewise.
73454         * lib/mbsrchr.c: Likewise.
73455         * lib/mbssep.c: Likewise.
73456         * lib/mbsspn.c: Likewise.
73457         * lib/mbsstr.c: Likewise.
73458         * lib/mbstok_r.c: Likewise.
73459         * lib/mbswidth.c: Likewise.
73460         * lib/mbswidth.h: Likewise.
73461         * lib/mbuiter.h: Likewise.
73462         * lib/memcasecmp.c: Likewise.
73463         * lib/memcasecmp.h: Likewise.
73464         * lib/memchr.c: Likewise.
73465         * lib/memcmp.c: Likewise.
73466         * lib/memcoll.c: Likewise.
73467         * lib/memcoll.h: Likewise.
73468         * lib/memcpy.c: Likewise.
73469         * lib/memrchr.c: Likewise.
73470         * lib/mkancesdirs.c: Likewise.
73471         * lib/mkdir-p.c: Likewise.
73472         * lib/mkdir-p.h: Likewise.
73473         * lib/mkdir.c: Likewise.
73474         * lib/mkdirat.c: Likewise.
73475         * lib/mkdtemp.c: Likewise.
73476         * lib/mkstemp-safer.c: Likewise.
73477         * lib/mkstemp.c: Likewise.
73478         * lib/modechange.c: Likewise.
73479         * lib/modechange.h: Likewise.
73480         * lib/mountlist.c: Likewise.
73481         * lib/mountlist.h: Likewise.
73482         * lib/mpsort.c: Likewise.
73483         * lib/nanosleep.c: Likewise.
73484         * lib/obstack.c: Likewise.
73485         * lib/obstack.h: Likewise.
73486         * lib/open-safer.c: Likewise.
73487         * lib/open.c: Likewise.
73488         * lib/openat-die.c: Likewise.
73489         * lib/openat-priv.h: Likewise.
73490         * lib/openat-proc.c: Likewise.
73491         * lib/openat.c: Likewise.
73492         * lib/openat.h: Likewise.
73493         * lib/pagealign_alloc.c: Likewise.
73494         * lib/pagealign_alloc.h: Likewise.
73495         * lib/physmem.c: Likewise.
73496         * lib/physmem.h: Likewise.
73497         * lib/pipe-safer.c: Likewise.
73498         * lib/pipe.c: Likewise.
73499         * lib/pipe.h: Likewise.
73500         * lib/posixtm.c: Likewise.
73501         * lib/posixtm.h: Likewise.
73502         * lib/posixver.c: Likewise.
73503         * lib/printf-frexp.c: Likewise.
73504         * lib/printf-frexp.h: Likewise.
73505         * lib/printf-frexpl.c: Likewise.
73506         * lib/printf-frexpl.h: Likewise.
73507         * lib/printf.c: Likewise.
73508         * lib/progname.c: Likewise.
73509         * lib/progname.h: Likewise.
73510         * lib/progreloc.c: Likewise.
73511         * lib/putenv.c: Likewise.
73512         * lib/quote.c: Likewise.
73513         * lib/quote.h: Likewise.
73514         * lib/quotearg.c: Likewise.
73515         * lib/quotearg.h: Likewise.
73516         * lib/raise.c: Likewise.
73517         * lib/readline.c: Likewise.
73518         * lib/readline.h: Likewise.
73519         * lib/readlink.c: Likewise.
73520         * lib/readtokens.c: Likewise.
73521         * lib/readtokens.h: Likewise.
73522         * lib/readtokens0.c: Likewise.
73523         * lib/readtokens0.h: Likewise.
73524         * lib/readutmp.c: Likewise.
73525         * lib/readutmp.h: Likewise.
73526         * lib/realloc.c: Likewise.
73527         * lib/relocwrapper.c: Likewise.
73528         * lib/rename-dest-slash.c: Likewise.
73529         * lib/rename.c: Likewise.
73530         * lib/rmdir.c: Likewise.
73531         * lib/rpmatch.c: Likewise.
73532         * lib/safe-read.c: Likewise.
73533         * lib/safe-read.h: Likewise.
73534         * lib/safe-write.c: Likewise.
73535         * lib/safe-write.h: Likewise.
73536         * lib/same-inode.h: Likewise.
73537         * lib/same.c: Likewise.
73538         * lib/same.h: Likewise.
73539         * lib/save-cwd.c: Likewise.
73540         * lib/save-cwd.h: Likewise.
73541         * lib/savedir.c: Likewise.
73542         * lib/savedir.h: Likewise.
73543         * lib/savewd.c: Likewise.
73544         * lib/savewd.h: Likewise.
73545         * lib/search.in.h: Likewise.
73546         * lib/setenv.c: Likewise.
73547         * lib/setenv.h: Likewise.
73548         * lib/settime.c: Likewise.
73549         * lib/sh-quote.c: Likewise.
73550         * lib/sh-quote.h: Likewise.
73551         * lib/sig2str.c: Likewise.
73552         * lib/sig2str.h: Likewise.
73553         * lib/signal.in.h: Likewise.
73554         * lib/signbitd.c: Likewise.
73555         * lib/signbitf.c: Likewise.
73556         * lib/signbitl.c: Likewise.
73557         * lib/sigprocmask.c: Likewise.
73558         * lib/sincosl.c: Likewise.
73559         * lib/sleep.c: Likewise.
73560         * lib/sprintf.c: Likewise.
73561         * lib/sqrtl.c: Likewise.
73562         * lib/stat-time.h: Likewise.
73563         * lib/stdio--.h: Likewise.
73564         * lib/stdio-safer.h: Likewise.
73565         * lib/stdlib--.h: Likewise.
73566         * lib/stdlib-safer.h: Likewise.
73567         * lib/stdlib.in.h: Likewise.
73568         * lib/stpcpy.c: Likewise.
73569         * lib/stpncpy.c: Likewise.
73570         * lib/strchrnul.c: Likewise.
73571         * lib/strcspn.c: Likewise.
73572         * lib/strerror.c: Likewise.
73573         * lib/strftime.c: Likewise.
73574         * lib/strftime.h: Likewise.
73575         * lib/striconveh.c: Likewise.
73576         * lib/striconveh.h: Likewise.
73577         * lib/striconveha.c: Likewise.
73578         * lib/striconveha.h: Likewise.
73579         * lib/stripslash.c: Likewise.
73580         * lib/strnlen1.c: Likewise.
73581         * lib/strnlen1.h: Likewise.
73582         * lib/strtod.c: Likewise.
73583         * lib/strtoimax.c: Likewise.
73584         * lib/strtok_r.c: Likewise.
73585         * lib/strtol.c: Likewise.
73586         * lib/strtoll.c: Likewise.
73587         * lib/strtoul.c: Likewise.
73588         * lib/strtoull.c: Likewise.
73589         * lib/sysexits.in.h: Likewise.
73590         * lib/tempname.c: Likewise.
73591         * lib/tempname.h: Likewise.
73592         * lib/timespec.h: Likewise.
73593         * lib/tls.c: Likewise.
73594         * lib/tls.h: Likewise.
73595         * lib/tmpdir.c: Likewise.
73596         * lib/tmpdir.h: Likewise.
73597         * lib/tmpfile-safer.c: Likewise.
73598         * lib/tmpfile.c: Likewise.
73599         * lib/trigl.c: Likewise.
73600         * lib/trigl.h: Likewise.
73601         * lib/trim.c: Likewise.
73602         * lib/trim.h: Likewise.
73603         * lib/trunc.c: Likewise.
73604         * lib/truncf.c: Likewise.
73605         * lib/truncl.c: Likewise.
73606         * lib/tsearch.c: Likewise.
73607         * lib/unicodeio.c: Likewise.
73608         * lib/unicodeio.h: Likewise.
73609         * lib/unistd--.h: Likewise.
73610         * lib/unistd-safer.h: Likewise.
73611         * lib/unistdio/ulc-fprintf.c: Likewise.
73612         * lib/unistdio/ulc-vfprintf.c: Likewise.
73613         * lib/unlinkdir.c: Likewise.
73614         * lib/unlinkdir.h: Likewise.
73615         * lib/unlocked-io.h: Likewise.
73616         * lib/unsetenv.c: Likewise.
73617         * lib/userspec.c: Likewise.
73618         * lib/utime.c: Likewise.
73619         * lib/utimecmp.c: Likewise.
73620         * lib/utimecmp.h: Likewise.
73621         * lib/utimens.c: Likewise.
73622         * lib/verify.h: Likewise.
73623         * lib/verror.c: Likewise.
73624         * lib/verror.h: Likewise.
73625         * lib/version-etc-fsf.c: Likewise.
73626         * lib/version-etc.c: Likewise.
73627         * lib/version-etc.h: Likewise.
73628         * lib/vfprintf.c: Likewise.
73629         * lib/vprintf.c: Likewise.
73630         * lib/vsprintf.c: Likewise.
73631         * lib/w32spawn.h: Likewise.
73632         * lib/wait-process.c: Likewise.
73633         * lib/wait-process.h: Likewise.
73634         * lib/wcwidth.c: Likewise.
73635         * lib/write-any-file.c: Likewise.
73636         * lib/xalloc-die.c: Likewise.
73637         * lib/xalloc.h: Likewise.
73638         * lib/xasprintf.c: Likewise.
73639         * lib/xgetcwd.c: Likewise.
73640         * lib/xgetcwd.h: Likewise.
73641         * lib/xgetdomainname.c: Likewise.
73642         * lib/xgetdomainname.h: Likewise.
73643         * lib/xgethostname.c: Likewise.
73644         * lib/xmalloc.c: Likewise.
73645         * lib/xmalloca.c: Likewise.
73646         * lib/xmalloca.h: Likewise.
73647         * lib/xmemcoll.c: Likewise.
73648         * lib/xnanosleep.c: Likewise.
73649         * lib/xreadlink.c: Likewise.
73650         * lib/xreadlink.h: Likewise.
73651         * lib/xsetenv.c: Likewise.
73652         * lib/xsetenv.h: Likewise.
73653         * lib/xstriconv.c: Likewise.
73654         * lib/xstriconv.h: Likewise.
73655         * lib/xstrndup.c: Likewise.
73656         * lib/xstrndup.h: Likewise.
73657         * lib/xstrtod.c: Likewise.
73658         * lib/xstrtod.h: Likewise.
73659         * lib/xstrtol-error.c: Likewise.
73660         * lib/xstrtol.c: Likewise.
73661         * lib/xstrtol.h: Likewise.
73662         * lib/xtime.h: Likewise.
73663         * lib/xvasprintf.c: Likewise.
73664         * lib/xvasprintf.h: Likewise.
73665         * lib/yesno.c: Likewise.
73666         * lib/yesno.h: Likewise.
73667         * posix-modules: Likewise.
73668         * tests/test-alloca-opt.c: Likewise.
73669         * tests/test-arcfour.c: Likewise.
73670         * tests/test-arctwo.c: Likewise.
73671         * tests/test-argmatch.c: Likewise.
73672         * tests/test-argp-2.sh: Likewise.
73673         * tests/test-argp.c: Likewise.
73674         * tests/test-arpa_inet.c: Likewise.
73675         * tests/test-array_list.c: Likewise.
73676         * tests/test-array_oset.c: Likewise.
73677         * tests/test-atexit.c: Likewise.
73678         * tests/test-avltree_list.c: Likewise.
73679         * tests/test-avltree_oset.c: Likewise.
73680         * tests/test-avltreehash_list.c: Likewise.
73681         * tests/test-base64.c: Likewise.
73682         * tests/test-binary-io.c: Likewise.
73683         * tests/test-byteswap.c: Likewise.
73684         * tests/test-c-ctype.c: Likewise.
73685         * tests/test-c-strcasecmp.c: Likewise.
73686         * tests/test-c-strcasestr.c: Likewise.
73687         * tests/test-c-strncasecmp.c: Likewise.
73688         * tests/test-c-strstr.c: Likewise.
73689         * tests/test-canonicalize-lgpl.c: Likewise.
73690         * tests/test-canonicalize.c: Likewise.
73691         * tests/test-carray_list.c: Likewise.
73692         * tests/test-ceilf.c: Likewise.
73693         * tests/test-ceill.c: Likewise.
73694         * tests/test-count-one-bits.c: Likewise.
73695         * tests/test-crc.c: Likewise.
73696         * tests/test-dirname.c: Likewise.
73697         * tests/test-fbufmode.c: Likewise.
73698         * tests/test-fcntl.c: Likewise.
73699         * tests/test-fflush.c: Likewise.
73700         * tests/test-floorf.c: Likewise.
73701         * tests/test-floorl.c: Likewise.
73702         * tests/test-fopen.c: Likewise.
73703         * tests/test-fprintf-posix.c: Likewise.
73704         * tests/test-fprintf-posix.h: Likewise.
73705         * tests/test-fpurge.c: Likewise.
73706         * tests/test-freadable.c: Likewise.
73707         * tests/test-freadahead.c: Likewise.
73708         * tests/test-freading.c: Likewise.
73709         * tests/test-freopen.c: Likewise.
73710         * tests/test-frexp.c: Likewise.
73711         * tests/test-frexpl.c: Likewise.
73712         * tests/test-fseek.c: Likewise.
73713         * tests/test-fseeko.c: Likewise.
73714         * tests/test-fseterr.c: Likewise.
73715         * tests/test-fstrcmp.c: Likewise.
73716         * tests/test-ftell.c: Likewise.
73717         * tests/test-ftello.c: Likewise.
73718         * tests/test-fwritable.c: Likewise.
73719         * tests/test-fwriting.c: Likewise.
73720         * tests/test-getaddrinfo.c: Likewise.
73721         * tests/test-getpass.c: Likewise.
73722         * tests/test-gettimeofday.c: Likewise.
73723         * tests/test-hmac-md5.c: Likewise.
73724         * tests/test-hmac-sha1.c: Likewise.
73725         * tests/test-iconv.c: Likewise.
73726         * tests/test-iconvme.c: Likewise.
73727         * tests/test-inttypes.c: Likewise.
73728         * tests/test-isnan.c: Likewise.
73729         * tests/test-isnanf.c: Likewise.
73730         * tests/test-isnanl-nolibm.c: Likewise.
73731         * tests/test-isnanl.c: Likewise.
73732         * tests/test-isnanl.h: Likewise.
73733         * tests/test-ldexpl.c: Likewise.
73734         * tests/test-linked_list.c: Likewise.
73735         * tests/test-linkedhash_list.c: Likewise.
73736         * tests/test-locale.c: Likewise.
73737         * tests/test-localename.c: Likewise.
73738         * tests/test-lock.c: Likewise.
73739         * tests/test-lseek.c: Likewise.
73740         * tests/test-malloca.c: Likewise.
73741         * tests/test-math.c: Likewise.
73742         * tests/test-mbscasecmp.c: Likewise.
73743         * tests/test-mbscasestr1.c: Likewise.
73744         * tests/test-mbscasestr2.c: Likewise.
73745         * tests/test-mbscasestr3.c: Likewise.
73746         * tests/test-mbscasestr4.c: Likewise.
73747         * tests/test-mbschr.c: Likewise.
73748         * tests/test-mbscspn.c: Likewise.
73749         * tests/test-mbsncasecmp.c: Likewise.
73750         * tests/test-mbspbrk.c: Likewise.
73751         * tests/test-mbspcasecmp.c: Likewise.
73752         * tests/test-mbsrchr.c: Likewise.
73753         * tests/test-mbsspn.c: Likewise.
73754         * tests/test-mbsstr1.c: Likewise.
73755         * tests/test-mbsstr2.c: Likewise.
73756         * tests/test-mbsstr3.c: Likewise.
73757         * tests/test-md5.c: Likewise.
73758         * tests/test-memmem.c: Likewise.
73759         * tests/test-netinet_in.c: Likewise.
73760         * tests/test-open.c: Likewise.
73761         * tests/test-printf-frexp.c: Likewise.
73762         * tests/test-printf-frexpl.c: Likewise.
73763         * tests/test-printf-posix.c: Likewise.
73764         * tests/test-printf-posix.h: Likewise.
73765         * tests/test-rbtree_list.c: Likewise.
73766         * tests/test-rbtree_oset.c: Likewise.
73767         * tests/test-rbtreehash_list.c: Likewise.
73768         * tests/test-read-file.c: Likewise.
73769         * tests/test-rijndael.c: Likewise.
73770         * tests/test-search.c: Likewise.
73771         * tests/test-signbit.c: Likewise.
73772         * tests/test-sleep.c: Likewise.
73773         * tests/test-snprintf-posix.c: Likewise.
73774         * tests/test-snprintf-posix.h: Likewise.
73775         * tests/test-snprintf.c: Likewise.
73776         * tests/test-sprintf-posix.c: Likewise.
73777         * tests/test-sprintf-posix.h: Likewise.
73778         * tests/test-stat-time.c: Likewise.
73779         * tests/test-stdbool.c: Likewise.
73780         * tests/test-stdint.c: Likewise.
73781         * tests/test-stdio.c: Likewise.
73782         * tests/test-stdlib.c: Likewise.
73783         * tests/test-stpncpy.c: Likewise.
73784         * tests/test-strcasestr.c: Likewise.
73785         * tests/test-striconv.c: Likewise.
73786         * tests/test-striconveh.c: Likewise.
73787         * tests/test-striconveha.c: Likewise.
73788         * tests/test-string.c: Likewise.
73789         * tests/test-sys_select.c: Likewise.
73790         * tests/test-sys_socket.c: Likewise.
73791         * tests/test-sys_stat.c: Likewise.
73792         * tests/test-sys_time.c: Likewise.
73793         * tests/test-sysexits.c: Likewise.
73794         * tests/test-time.c: Likewise.
73795         * tests/test-tls.c: Likewise.
73796         * tests/test-trunc.c: Likewise.
73797         * tests/test-truncf.c: Likewise.
73798         * tests/test-truncl.c: Likewise.
73799         * tests/test-unistd.c: Likewise.
73800         * tests/test-vasnprintf-posix.c: Likewise.
73801         * tests/test-vasnprintf-posix2.c: Likewise.
73802         * tests/test-vasnprintf.c: Likewise.
73803         * tests/test-vasprintf-posix.c: Likewise.
73804         * tests/test-vasprintf.c: Likewise.
73805         * tests/test-verify.c: Likewise.
73806         * tests/test-vfprintf-posix.c: Likewise.
73807         * tests/test-vprintf-posix.c: Likewise.
73808         * tests/test-vsnprintf-posix.c: Likewise.
73809         * tests/test-vsnprintf.c: Likewise.
73810         * tests/test-vsprintf-posix.c: Likewise.
73811         * tests/test-wchar.c: Likewise.
73812         * tests/test-wctype.c: Likewise.
73813         * tests/test-wcwidth.c: Likewise.
73814         * tests/test-xstrtol.c: Likewise.
73815         * tests/test-xvasprintf.c: Likewise.
73816         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
73817         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
73818         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
73819         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
73820         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
73821         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
73822         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
73823         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
73824         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
73825         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
73826         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
73827         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
73828         * tests/uniname/test-uninames.c: Likewise.
73829         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
73830         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
73831         * tests/unistdio/test-u16-printf1.h: Likewise.
73832         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
73833         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
73834         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
73835         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
73836         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
73837         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
73838         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
73839         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
73840         * tests/unistdio/test-u32-printf1.h: Likewise.
73841         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
73842         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
73843         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
73844         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
73845         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
73846         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
73847         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
73848         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
73849         * tests/unistdio/test-u8-printf1.h: Likewise.
73850         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
73851         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
73852         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
73853         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
73854         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
73855         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
73856         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
73857         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
73858         * tests/unistdio/test-ulc-printf1.h: Likewise.
73859         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
73860         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
73861         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
73862         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
73863         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
73864         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
73865         * tests/uniwidth/test-u16-strwidth.c: Likewise.
73866         * tests/uniwidth/test-u16-width.c: Likewise.
73867         * tests/uniwidth/test-u32-strwidth.c: Likewise.
73868         * tests/uniwidth/test-u32-width.c: Likewise.
73869         * tests/uniwidth/test-u8-strwidth.c: Likewise.
73870         * tests/uniwidth/test-u8-width.c: Likewise.
73871         * tests/uniwidth/test-uc_width.c: Likewise.
73872         * config/srclist-update: Likewise.
73873         (fixlicense): Update to GPLv3+.
73874
73875         Change copyright notice from LGPLv2.1+ to LGPLv3+.
73876         * tests/test-tsearch.c: Change copyright notice.
73877
73878         Change copyright notice from LGPLv2.0+ to LGPLv3+.
73879         * lib/c-strcaseeq.h: Change copyright notice.
73880         * lib/streq.h: Likewise.
73881         * lib/uniconv.h: Likewise.
73882         * lib/uniconv/u-conv-from-enc.h: Likewise.
73883         * lib/uniconv/u-conv-to-enc.h: Likewise.
73884         * lib/uniconv/u-strconv-from-enc.h: Likewise.
73885         * lib/uniconv/u-strconv-to-enc.h: Likewise.
73886         * lib/uniconv/u16-conv-from-enc.c: Likewise.
73887         * lib/uniconv/u16-conv-to-enc.c: Likewise.
73888         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
73889         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
73890         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
73891         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
73892         * lib/uniconv/u32-conv-from-enc.c: Likewise.
73893         * lib/uniconv/u32-conv-to-enc.c: Likewise.
73894         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
73895         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
73896         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
73897         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
73898         * lib/uniconv/u8-conv-from-enc.c: Likewise.
73899         * lib/uniconv/u8-conv-to-enc.c: Likewise.
73900         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
73901         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
73902         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
73903         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
73904         * lib/uniname.h: Likewise.
73905         * lib/uniname/uniname.c: Likewise.
73906         * lib/unistdio.h: Likewise.
73907         * lib/unistdio/u-asnprintf.h: Likewise.
73908         * lib/unistdio/u-asprintf.h: Likewise.
73909         * lib/unistdio/u-printf-args.c: Likewise.
73910         * lib/unistdio/u-printf-args.h: Likewise.
73911         * lib/unistdio/u-printf-parse.h: Likewise.
73912         * lib/unistdio/u-snprintf.h: Likewise.
73913         * lib/unistdio/u-sprintf.h: Likewise.
73914         * lib/unistdio/u-vasprintf.h: Likewise.
73915         * lib/unistdio/u-vsnprintf.h: Likewise.
73916         * lib/unistdio/u-vsprintf.h: Likewise.
73917         * lib/unistdio/u16-asnprintf.c: Likewise.
73918         * lib/unistdio/u16-asprintf.c: Likewise.
73919         * lib/unistdio/u16-printf-parse.c: Likewise.
73920         * lib/unistdio/u16-snprintf.c: Likewise.
73921         * lib/unistdio/u16-sprintf.c: Likewise.
73922         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
73923         * lib/unistdio/u16-u16-asprintf.c: Likewise.
73924         * lib/unistdio/u16-u16-snprintf.c: Likewise.
73925         * lib/unistdio/u16-u16-sprintf.c: Likewise.
73926         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
73927         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
73928         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
73929         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
73930         * lib/unistdio/u16-vasnprintf.c: Likewise.
73931         * lib/unistdio/u16-vasprintf.c: Likewise.
73932         * lib/unistdio/u16-vsnprintf.c: Likewise.
73933         * lib/unistdio/u16-vsprintf.c: Likewise.
73934         * lib/unistdio/u32-asnprintf.c: Likewise.
73935         * lib/unistdio/u32-asprintf.c: Likewise.
73936         * lib/unistdio/u32-printf-parse.c: Likewise.
73937         * lib/unistdio/u32-snprintf.c: Likewise.
73938         * lib/unistdio/u32-sprintf.c: Likewise.
73939         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
73940         * lib/unistdio/u32-u32-asprintf.c: Likewise.
73941         * lib/unistdio/u32-u32-snprintf.c: Likewise.
73942         * lib/unistdio/u32-u32-sprintf.c: Likewise.
73943         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
73944         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
73945         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
73946         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
73947         * lib/unistdio/u32-vasnprintf.c: Likewise.
73948         * lib/unistdio/u32-vasprintf.c: Likewise.
73949         * lib/unistdio/u32-vsnprintf.c: Likewise.
73950         * lib/unistdio/u32-vsprintf.c: Likewise.
73951         * lib/unistdio/u8-asnprintf.c: Likewise.
73952         * lib/unistdio/u8-asprintf.c: Likewise.
73953         * lib/unistdio/u8-printf-parse.c: Likewise.
73954         * lib/unistdio/u8-snprintf.c: Likewise.
73955         * lib/unistdio/u8-sprintf.c: Likewise.
73956         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
73957         * lib/unistdio/u8-u8-asprintf.c: Likewise.
73958         * lib/unistdio/u8-u8-snprintf.c: Likewise.
73959         * lib/unistdio/u8-u8-sprintf.c: Likewise.
73960         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
73961         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
73962         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
73963         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
73964         * lib/unistdio/u8-vasnprintf.c: Likewise.
73965         * lib/unistdio/u8-vasprintf.c: Likewise.
73966         * lib/unistdio/u8-vsnprintf.c: Likewise.
73967         * lib/unistdio/u8-vsprintf.c: Likewise.
73968         * lib/unistdio/ulc-asnprintf.c: Likewise.
73969         * lib/unistdio/ulc-asprintf.c: Likewise.
73970         * lib/unistdio/ulc-printf-parse.c: Likewise.
73971         * lib/unistdio/ulc-snprintf.c: Likewise.
73972         * lib/unistdio/ulc-sprintf.c: Likewise.
73973         * lib/unistdio/ulc-vasnprintf.c: Likewise.
73974         * lib/unistdio/ulc-vasprintf.c: Likewise.
73975         * lib/unistdio/ulc-vsnprintf.c: Likewise.
73976         * lib/unistdio/ulc-vsprintf.c: Likewise.
73977         * lib/unistr.h: Likewise.
73978         * lib/unistr/u-cpy-alloc.h: Likewise.
73979         * lib/unistr/u-cpy.h: Likewise.
73980         * lib/unistr/u-endswith.h: Likewise.
73981         * lib/unistr/u-move.h: Likewise.
73982         * lib/unistr/u-set.h: Likewise.
73983         * lib/unistr/u-startswith.h: Likewise.
73984         * lib/unistr/u-stpcpy.h: Likewise.
73985         * lib/unistr/u-stpncpy.h: Likewise.
73986         * lib/unistr/u-strcat.h: Likewise.
73987         * lib/unistr/u-strcpy.h: Likewise.
73988         * lib/unistr/u-strcspn.h: Likewise.
73989         * lib/unistr/u-strdup.h: Likewise.
73990         * lib/unistr/u-strlen.h: Likewise.
73991         * lib/unistr/u-strncat.h: Likewise.
73992         * lib/unistr/u-strncpy.h: Likewise.
73993         * lib/unistr/u-strnlen.h: Likewise.
73994         * lib/unistr/u-strpbrk.h: Likewise.
73995         * lib/unistr/u-strspn.h: Likewise.
73996         * lib/unistr/u-strstr.h: Likewise.
73997         * lib/unistr/u-strtok.h: Likewise.
73998         * lib/unistr/u16-check.c: Likewise.
73999         * lib/unistr/u16-chr.c: Likewise.
74000         * lib/unistr/u16-cmp.c: Likewise.
74001         * lib/unistr/u16-cpy-alloc.c: Likewise.
74002         * lib/unistr/u16-cpy.c: Likewise.
74003         * lib/unistr/u16-endswith.c: Likewise.
74004         * lib/unistr/u16-mblen.c: Likewise.
74005         * lib/unistr/u16-mbsnlen.c: Likewise.
74006         * lib/unistr/u16-mbtouc-aux.c: Likewise.
74007         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
74008         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
74009         * lib/unistr/u16-mbtouc.c: Likewise.
74010         * lib/unistr/u16-mbtoucr.c: Likewise.
74011         * lib/unistr/u16-move.c: Likewise.
74012         * lib/unistr/u16-next.c: Likewise.
74013         * lib/unistr/u16-prev.c: Likewise.
74014         * lib/unistr/u16-set.c: Likewise.
74015         * lib/unistr/u16-startswith.c: Likewise.
74016         * lib/unistr/u16-stpcpy.c: Likewise.
74017         * lib/unistr/u16-stpncpy.c: Likewise.
74018         * lib/unistr/u16-strcat.c: Likewise.
74019         * lib/unistr/u16-strchr.c: Likewise.
74020         * lib/unistr/u16-strcmp.c: Likewise.
74021         * lib/unistr/u16-strcpy.c: Likewise.
74022         * lib/unistr/u16-strcspn.c: Likewise.
74023         * lib/unistr/u16-strdup.c: Likewise.
74024         * lib/unistr/u16-strlen.c: Likewise.
74025         * lib/unistr/u16-strmblen.c: Likewise.
74026         * lib/unistr/u16-strmbtouc.c: Likewise.
74027         * lib/unistr/u16-strncat.c: Likewise.
74028         * lib/unistr/u16-strncmp.c: Likewise.
74029         * lib/unistr/u16-strncpy.c: Likewise.
74030         * lib/unistr/u16-strnlen.c: Likewise.
74031         * lib/unistr/u16-strpbrk.c: Likewise.
74032         * lib/unistr/u16-strrchr.c: Likewise.
74033         * lib/unistr/u16-strspn.c: Likewise.
74034         * lib/unistr/u16-strstr.c: Likewise.
74035         * lib/unistr/u16-strtok.c: Likewise.
74036         * lib/unistr/u16-to-u32.c: Likewise.
74037         * lib/unistr/u16-to-u8.c: Likewise.
74038         * lib/unistr/u16-uctomb-aux.c: Likewise.
74039         * lib/unistr/u16-uctomb.c: Likewise.
74040         * lib/unistr/u32-check.c: Likewise.
74041         * lib/unistr/u32-chr.c: Likewise.
74042         * lib/unistr/u32-cmp.c: Likewise.
74043         * lib/unistr/u32-cpy-alloc.c: Likewise.
74044         * lib/unistr/u32-cpy.c: Likewise.
74045         * lib/unistr/u32-endswith.c: Likewise.
74046         * lib/unistr/u32-mblen.c: Likewise.
74047         * lib/unistr/u32-mbsnlen.c: Likewise.
74048         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
74049         * lib/unistr/u32-mbtouc.c: Likewise.
74050         * lib/unistr/u32-mbtoucr.c: Likewise.
74051         * lib/unistr/u32-move.c: Likewise.
74052         * lib/unistr/u32-next.c: Likewise.
74053         * lib/unistr/u32-prev.c: Likewise.
74054         * lib/unistr/u32-set.c: Likewise.
74055         * lib/unistr/u32-startswith.c: Likewise.
74056         * lib/unistr/u32-stpcpy.c: Likewise.
74057         * lib/unistr/u32-stpncpy.c: Likewise.
74058         * lib/unistr/u32-strcat.c: Likewise.
74059         * lib/unistr/u32-strchr.c: Likewise.
74060         * lib/unistr/u32-strcmp.c: Likewise.
74061         * lib/unistr/u32-strcpy.c: Likewise.
74062         * lib/unistr/u32-strcspn.c: Likewise.
74063         * lib/unistr/u32-strdup.c: Likewise.
74064         * lib/unistr/u32-strlen.c: Likewise.
74065         * lib/unistr/u32-strmblen.c: Likewise.
74066         * lib/unistr/u32-strmbtouc.c: Likewise.
74067         * lib/unistr/u32-strncat.c: Likewise.
74068         * lib/unistr/u32-strncmp.c: Likewise.
74069         * lib/unistr/u32-strncpy.c: Likewise.
74070         * lib/unistr/u32-strnlen.c: Likewise.
74071         * lib/unistr/u32-strpbrk.c: Likewise.
74072         * lib/unistr/u32-strrchr.c: Likewise.
74073         * lib/unistr/u32-strspn.c: Likewise.
74074         * lib/unistr/u32-strstr.c: Likewise.
74075         * lib/unistr/u32-strtok.c: Likewise.
74076         * lib/unistr/u32-to-u16.c: Likewise.
74077         * lib/unistr/u32-to-u8.c: Likewise.
74078         * lib/unistr/u32-uctomb.c: Likewise.
74079         * lib/unistr/u8-check.c: Likewise.
74080         * lib/unistr/u8-chr.c: Likewise.
74081         * lib/unistr/u8-cmp.c: Likewise.
74082         * lib/unistr/u8-cpy-alloc.c: Likewise.
74083         * lib/unistr/u8-cpy.c: Likewise.
74084         * lib/unistr/u8-endswith.c: Likewise.
74085         * lib/unistr/u8-mblen.c: Likewise.
74086         * lib/unistr/u8-mbsnlen.c: Likewise.
74087         * lib/unistr/u8-mbtouc-aux.c: Likewise.
74088         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
74089         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
74090         * lib/unistr/u8-mbtouc.c: Likewise.
74091         * lib/unistr/u8-mbtoucr.c: Likewise.
74092         * lib/unistr/u8-move.c: Likewise.
74093         * lib/unistr/u8-next.c: Likewise.
74094         * lib/unistr/u8-prev.c: Likewise.
74095         * lib/unistr/u8-set.c: Likewise.
74096         * lib/unistr/u8-startswith.c: Likewise.
74097         * lib/unistr/u8-stpcpy.c: Likewise.
74098         * lib/unistr/u8-stpncpy.c: Likewise.
74099         * lib/unistr/u8-strcat.c: Likewise.
74100         * lib/unistr/u8-strchr.c: Likewise.
74101         * lib/unistr/u8-strcmp.c: Likewise.
74102         * lib/unistr/u8-strcpy.c: Likewise.
74103         * lib/unistr/u8-strcspn.c: Likewise.
74104         * lib/unistr/u8-strdup.c: Likewise.
74105         * lib/unistr/u8-strlen.c: Likewise.
74106         * lib/unistr/u8-strmblen.c: Likewise.
74107         * lib/unistr/u8-strmbtouc.c: Likewise.
74108         * lib/unistr/u8-strncat.c: Likewise.
74109         * lib/unistr/u8-strncmp.c: Likewise.
74110         * lib/unistr/u8-strncpy.c: Likewise.
74111         * lib/unistr/u8-strnlen.c: Likewise.
74112         * lib/unistr/u8-strpbrk.c: Likewise.
74113         * lib/unistr/u8-strrchr.c: Likewise.
74114         * lib/unistr/u8-strspn.c: Likewise.
74115         * lib/unistr/u8-strstr.c: Likewise.
74116         * lib/unistr/u8-strtok.c: Likewise.
74117         * lib/unistr/u8-to-u16.c: Likewise.
74118         * lib/unistr/u8-to-u32.c: Likewise.
74119         * lib/unistr/u8-uctomb-aux.c: Likewise.
74120         * lib/unistr/u8-uctomb.c: Likewise.
74121         * lib/unitypes.h: Likewise.
74122         * lib/uniwidth.h: Likewise.
74123         * lib/uniwidth/cjk.h: Likewise.
74124         * lib/uniwidth/u16-strwidth.c: Likewise.
74125         * lib/uniwidth/u16-width.c: Likewise.
74126         * lib/uniwidth/u32-strwidth.c: Likewise.
74127         * lib/uniwidth/u32-width.c: Likewise.
74128         * lib/uniwidth/u8-strwidth.c: Likewise.
74129         * lib/uniwidth/u8-width.c: Likewise.
74130         * lib/uniwidth/width.c: Likewise.
74131
74132 2007-10-07  Bruno Haible  <bruno@clisp.org>
74133
74134         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
74135         The file is still under LGPL (see modules/inttypes).
74136
74137 2007-10-06  Bruno Haible  <bruno@clisp.org>
74138
74139         * modules/trunc (Dependencies): Add 'extensions'.
74140         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
74141         Reported by Ben Pfaff <blp@gnu.org>.
74142
74143 2007-10-06  Bruno Haible  <bruno@clisp.org>
74144
74145         * modules/freopen-tests: New file.
74146         * tests/test-freopen.c: New file.
74147
74148         * modules/fopen-tests: New file.
74149         * tests/test-fopen.c: New file.
74150
74151         * modules/fopen: New file.
74152         * lib/fopen.c: New file.
74153         * m4/fopen.m4: New file.
74154         * modules/freopen: New file.
74155         * lib/freopen.c: New file.
74156         * m4/freopen.m4: New file.
74157         * lib/stdio.in.h (fopen, freopen): New declarations.
74158         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
74159         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
74160         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
74161         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
74162         * doc/functions/fopen.texi: Mention the 'fopen' module.
74163         * doc/functions/freopen.texi: Mention the 'freopen' module.
74164
74165 2007-10-06  Bruno Haible  <bruno@clisp.org>
74166
74167         * modules/open-tests: New file.
74168         * tests/test-open.c: New file.
74169
74170         * modules/open: New file.
74171         * lib/open.c: New file.
74172         * m4/open.m4: New file.
74173         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
74174         lib/open.c does.
74175         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
74176         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
74177         macros.
74178         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
74179         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
74180         REPLACE_OPEN.
74181         * doc/functions/open.texi: Mention the 'open' module.
74182
74183 2007-10-04  Bruno Haible  <bruno@clisp.org>
74184
74185         * modules/ceill-tests: New file.
74186         * tests/test-ceill.c: New file.
74187
74188         * modules/ceill: New file.
74189         * lib/ceill.c: Replace entire file.
74190         * m4/ceill.m4: New file.
74191         * lib/math.in.h (ceill): Replace declaration.
74192         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
74193         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
74194         * doc/functions/ceill.texi: Mention the 'ceill' module.
74195         * modules/mathl (Files): Remove lib/ceill.c.
74196         (Depends-on): Add ceill.
74197
74198 2007-10-04  Bruno Haible  <bruno@clisp.org>
74199
74200         * modules/ceilf-tests: New file.
74201         * tests/test-ceilf.c: New file.
74202
74203         * modules/ceilf: New file.
74204         * lib/ceil.c: New file.
74205         * lib/ceilf.c: New file.
74206         * m4/ceilf.m4: New file.
74207         * lib/math.in.h (ceilf): New declaration.
74208         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
74209         HAVE_DECL_CEILF.
74210         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
74211         HAVE_DECL_CEILF.
74212         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
74213
74214 2007-10-04  Bruno Haible  <bruno@clisp.org>
74215
74216         * modules/floorl-tests: New file.
74217         * tests/test-floorl.c: New file.
74218
74219         * modules/floorl: New file.
74220         * lib/floorl.c: Replace entire file.
74221         * m4/floorl.m4: New file.
74222         * lib/math.in.h (floorl): Replace declaration.
74223         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
74224         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
74225         * doc/functions/floorl.texi: Mention the 'floorl' module.
74226         * modules/mathl (Files): Remove lib/floorl.c.
74227         (Depends-on): Add floorl.
74228
74229 2007-10-04  Bruno Haible  <bruno@clisp.org>
74230
74231         * modules/floorf-tests: New file.
74232         * tests/test-floorf.c: New file.
74233
74234         * modules/floorf: New file.
74235         * lib/floor.c: New file.
74236         * lib/floorf.c: New file.
74237         * m4/floorf.m4: New file.
74238         * lib/math.in.h (floorf): New declaration.
74239         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
74240         HAVE_DECL_FLOORF.
74241         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
74242         HAVE_DECL_FLOORF.
74243         * doc/functions/floorf.texi: Mention the 'floorf' module.
74244
74245 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
74246             Bruno Haible  <bruno@clisp.org>
74247
74248         Advertise for the Git server instead of the CVS server.
74249         * doc/gnulib-intro.texi (Steady Development): Mention the Git
74250         repository instead of the CVS one.
74251         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
74252         about all VCS systems generically.
74253         * doc/gnulib.texi (Introduction): Capitalize `Git'.
74254
74255 2007-10-04  Bruno Haible  <bruno@clisp.org>
74256
74257         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
74258         means.
74259         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
74260
74261 2007-10-04  Bruno Haible  <bruno@clisp.org>
74262
74263         * modules/truncl-tests: New file.
74264         * tests/test-truncl.c: New file.
74265
74266         * modules/truncl: New file.
74267         * lib/truncl.c: New file.
74268         * m4/truncl.m4: New file.
74269         * lib/math.in.h (truncl): New declaration.
74270         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
74271         HAVE_DECL_TRUNCL.
74272         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
74273         HAVE_DECL_TRUNCL.
74274         * doc/functions/truncl.texi: Mention the 'truncl' module.
74275
74276 2007-10-04  Bruno Haible  <bruno@clisp.org>
74277
74278         * modules/truncf-tests: New file.
74279         * tests/test-truncf.c: New file.
74280
74281         * modules/truncf: New file.
74282         * lib/trunc.c: Make paramerizable through USE_* macros.
74283         * lib/truncf.c: New file.
74284         * m4/truncf.m4: New file.
74285         * lib/math.in.h (truncf): New declaration.
74286         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
74287         HAVE_DECL_TRUNCF.
74288         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
74289         HAVE_DECL_TRUNCF.
74290         * doc/functions/truncf.texi: Mention the 'truncf' module.
74291
74292 2007-10-03  Bruno Haible  <bruno@clisp.org>
74293
74294         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
74295         augmentation also for tests modules.
74296         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
74297         * modules/atexit-tests (Makefile.am): Likewise.
74298         * modules/binary-io-tests (Makefile.am): Likewise.
74299         * modules/c-strcase-tests (Makefile.am): Likewise.
74300         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
74301         * modules/canonicalize-tests (Makefile.am): Likewise.
74302         * modules/closein-tests (Makefile.am): Likewise.
74303         * modules/fprintf-posix-tests (Makefile.am): Likewise.
74304         * modules/freadahead-tests (Makefile.am): Likewise.
74305         * modules/fseek-tests (Makefile.am): Likewise.
74306         * modules/fseeko-tests (Makefile.am): Likewise.
74307         * modules/ftell-tests (Makefile.am): Likewise.
74308         * modules/ftello-tests (Makefile.am): Likewise.
74309         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
74310         * modules/isnanl-tests (Makefile.am): Likewise.
74311         * modules/lseek-tests (Makefile.am): Likewise.
74312         * modules/mbscasecmp-tests (Makefile.am): Likewise.
74313         * modules/mbscasestr-tests (Makefile.am): Likewise.
74314         * modules/mbschr-tests (Makefile.am): Likewise.
74315         * modules/mbscspn-tests (Makefile.am): Likewise.
74316         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
74317         * modules/mbspbrk-tests (Makefile.am): Likewise.
74318         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
74319         * modules/mbsrchr-tests (Makefile.am): Likewise.
74320         * modules/mbsspn-tests (Makefile.am): Likewise.
74321         * modules/mbsstr-tests (Makefile.am): Likewise.
74322         * modules/printf-posix-tests (Makefile.am): Likewise.
74323         * modules/snprintf-posix-tests (Makefile.am): Likewise.
74324         * modules/sprintf-posix-tests (Makefile.am): Likewise.
74325         * modules/tsearch-tests (Makefile.am): Likewise.
74326         * modules/uniname/uniname-tests (Makefile.am): Likewise.
74327         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
74328         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
74329         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
74330         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
74331         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
74332         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
74333         * modules/vprintf-posix-tests (Makefile.am): Likewise.
74334         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
74335         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
74336         * modules/xstrtoimax-tests (Makefile.am): Likewise.
74337         * modules/xstrtol-tests (Makefile.am): Likewise.
74338         * modules/xstrtoumax-tests (Makefile.am): Likewise.
74339         * modules/yesno-tests (Makefile.am): Likewise.
74340
74341 2007-10-03  Bruno Haible  <bruno@clisp.org>
74342
74343         * modules/trunc-tests: New file.
74344         * tests/test-trunc.c: New file.
74345
74346         * modules/trunc: New file.
74347         * lib/trunc.c: New file.
74348         * m4/trunc.m4: New file.
74349         * lib/math.in.h (trunc): New declaration.
74350         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
74351         HAVE_DECL_TRUNC.
74352         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
74353         HAVE_DECL_TRUNC.
74354         * doc/functions/trunc.texi: Mention the 'trunc' module.
74355
74356 2007-10-03  Bruno Haible  <bruno@clisp.org>
74357
74358         * tests/test-fpending.c: New file, mostly copied
74359         from coreutils/lib/t-fpending.c.
74360         * modules/fpending-tests: New file.
74361
74362 2007-10-03  Bruno Haible  <bruno@clisp.org>
74363
74364         Port the stdio extensions to QNX (untested).
74365         * lib/fseterr.c (fseterr): Add support for QNX.
74366         * lib/fbufmode.c (fbufmode): Likewise.
74367         * lib/freadable.c (freadable): Likewise.
74368         * lib/fwritable.c (fwritable): Likewise.
74369         * lib/freading.c (freading): Likewise.
74370         * lib/fwriting.c (fwriting): Likewise.
74371         * lib/freadahead.c (freadahed): Likewise.
74372         * lib/fpurge.c (fpurge): Likewise.
74373         * lib/fseeko.c (rpl_fseeko): Likewise.
74374
74375 2007-10-03  Bruno Haible  <bruno@clisp.org>
74376             Jim Meyering  <jim@meyering.net>
74377             Eric Blake  <ebb9@byu.net>
74378
74379         * doc/relocatable.texi: Use @command instead of @program.
74380
74381 2007-10-02  Jim Meyering  <jim@meyering.net>
74382
74383         Perform one more "_.h" -> ".in.h" substitution.
74384         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
74385         instead of unistd_.h here, too.
74386
74387 2007-10-01  Bruno Haible  <bruno@clisp.org>
74388
74389         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
74390         Needed for the alloca-opt module.
74391
74392 2007-09-30  Bruno Haible  <bruno@clisp.org>
74393
74394         * lib/alloca.in.h: Renamed from lib/alloca_.h.
74395         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
74396         alloca_.h.
74397         * lib/argz.in.h: Renamed from lib/argz_.h.
74398         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
74399         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
74400         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
74401         byteswap_.h.
74402         * lib/dirent.in.h: Renamed from lib/dirent_.h.
74403         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
74404         dirent_.h.
74405         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
74406         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
74407         fcntl_.h.
74408         * lib/float.in.h: Renamed from lib/float_.h.
74409         * modules/float (Files, Makefile.am): Use float.in.h instead of
74410         float_.h.
74411         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
74412         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
74413         fnmatch_.h.
74414         * lib/getopt.in.h: Renamed from lib/getopt_.h.
74415         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
74416         getopt_.h.
74417         * lib/glob.in.h: Renamed from lib/glob_.h.
74418         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
74419         * lib/iconv.in.h: Renamed from lib/iconv_.h.
74420         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
74421         iconv_.h.
74422         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
74423         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
74424         inttypes_.h.
74425         * lib/locale.in.h: Renamed from lib/locale_.h.
74426         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
74427         locale_.h.
74428         * lib/math.in.h: Renamed from lib/math_.h.
74429         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
74430         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
74431         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
74432         of netinet_in_.h. Add dependency.
74433         * lib/poll.in.h: Renamed from lib/poll_.h.
74434         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
74435         * lib/search.in.h: Renamed from lib/search_.h.
74436         * modules/search (Files, Makefile.am): Use search.in.h instead of
74437         search_.h.
74438         * lib/signal.in.h: Renamed from lib/signal_.h.
74439         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
74440         _signal.h.
74441         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
74442         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
74443         stdbool_.h.
74444         * lib/stdint.in.h: Renamed from lib/stdint_.h.
74445         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
74446         stdint_.h.
74447         * lib/stdio.in.h: Renamed from lib/stdio_.h.
74448         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
74449         stdio_.h.
74450         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
74451         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
74452         stdlib_.h.
74453         * lib/string.in.h: Renamed from lib/string_.h.
74454         * modules/string (Files, Makefile.am): Use string.in.h instead of
74455         string_.h.
74456         * doc/gnulib-tool.texi (Initial import): Update.
74457         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
74458         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
74459         of sys_select_.h. Add dependency.
74460         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
74461         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
74462         of sys_socket_.h.
74463         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
74464         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
74465         sys_stat_.h.
74466         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
74467         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
74468         sys_time_.h.
74469         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
74470         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
74471         sysexits_.h.
74472         * lib/time.in.h: Renamed from lib/time_.h.
74473         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
74474         * lib/unistd.in.h: Renamed from lib/unistd_.h.
74475         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
74476         unistd_.h.
74477         * lib/wchar.in.h: Renamed from lib/wchar_.h.
74478         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
74479         wchar_.h.
74480         * lib/wctype.in.h: Renamed from lib/wctype_.h.
74481         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
74482         wctype_.h.
74483         * build-aux/bootstrap (slurp): Update.
74484         * lib/.cppi-disable: Update.
74485
74486 2007-09-30  Bruno Haible  <bruno@clisp.org>
74487
74488         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
74489         Needed on BeOS.
74490
74491 2007-09-30  Bruno Haible  <bruno@clisp.org>
74492
74493         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
74494
74495 2007-09-29  Bruno Haible  <bruno@clisp.org>
74496
74497         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
74498
74499 2007-09-29  Bruno Haible  <bruno@clisp.org>
74500
74501         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
74502         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
74503         * build-aux/install-reloc: Compile also areadlink.c.
74504         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
74505
74506 2007-09-29  Bruno Haible  <bruno@clisp.org>
74507
74508         * gnulib-tool (func_emit_initmacro_done): Indentation.
74509
74510 2007-09-29  Bruno Haible  <bruno@clisp.org>
74511
74512         * README: Add CVS checkout update instructions.
74513         Info from Bob Proulx <bob@proulx.com>.
74514
74515 2007-09-28  Eric Blake  <ebb9@byu.net>
74516
74517         Provide move-if-change.
74518         * build-aux/move-if-change: New file, based on best practice
74519         rather than any canonical upstream location.
74520
74521 2007-09-28  Jim Meyering  <jim@meyering.net>
74522
74523         Fix canonicalize loop-detection corner case.
74524         Do not attempt to stat the symlink values stored via seen_triple.
74525         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
74526         on linux-2.6.18, (but not 2.6.22).
74527         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
74528         triple_compare.  The former compares dev,ino,filename, while the latter
74529         would actually stat dirname(filename) when dev and ino were equal.
74530         * lib/hash-triple.c: Install <string.h>.
74531         (STREQ): Define.
74532         (triple_compare_ino_str): New function.
74533         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
74534
74535 2007-09-28  Eric Blake  <ebb9@byu.net>
74536
74537         Enforce that AC_REPLACE_FUNCS files exist.
74538         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
74539         override check for typos.
74540
74541         Fix test-closein on Solaris 10.
74542         * tests/test-closein.c (main): Don't assume stdin can be inherited
74543         closed on all systems.
74544         * tests/test-closein.sh: Likewise.
74545         Reported by Piotr Tarnowski.
74546
74547 2007-09-28  Jim Meyering  <jim@meyering.net>
74548
74549         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
74550
74551 2007-09-27  Jim Meyering  <jim@meyering.net>
74552
74553         canonicalize: Avoid a false-positive cycle failure.
74554         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
74555         Sort.  Remove cycle-check.
74556         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
74557         not cycle-check.h.
74558         (seen_triple): New function.
74559         (canonicalize_filename_mode): Use it instead of cycle-check.
74560         * tests/test-canonicalize.c: Add a test for this bug.
74561         * tests/test-canonicalize.sh: Set up and run the test.
74562
74563         New module, file-set, from coreutils.
74564         * modules/file-set: Define it.
74565         * lib/file-set.c, lib/file-set.h: Implement.
74566
74567         New module, hash-triple, from coreutils.
74568         * modules/hash-triple: Define it.
74569         * lib/hash-triple.c, lib/hash-triple.h: Implement.
74570
74571 2007-09-25  Eric Blake  <ebb9@byu.net>
74572
74573         Fix strerror on Interix.
74574         * lib/string_.h (strerror): Declare replacement.
74575         * doc/functions/strerror.texi (strerror): Document the Interix
74576         shortcoming.
74577         * modules/string (Makefile.am): Support new hooks.
74578         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
74579         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
74580         gl_FUNC_STRERROR_SEPARATE.
74581         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
74582         * lib/strerror.c (rpl_strerror): Provide replacement.
74583         * modules/strerror (Depends-on): Add string.
74584         (configure.ac): Detect use of module.
74585         * tests/test-strerror.c: New file.
74586         * modules/strerror-tests: New test module.
74587         * modules/argp (Depends-on): Add strerror.
74588         * modules/error (Depends-on): Likewise.
74589         Reported by Martin Koeppe.
74590
74591 2007-09-24  Bruno Haible  <bruno@clisp.org>
74592
74593         * README: Update git instructions.
74594
74595 2007-09-24  Eric Blake  <ebb9@byu.net>
74596
74597         Revert fpending breakage from 2007-09-08.
74598         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
74599         __fpending.c.
74600
74601 2007-09-24  Jim Meyering  <jim@meyering.net>
74602
74603         filenamecat.c: Add a test.
74604         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
74605         showing how the function works when DIR is the empty string.
74606
74607 2007-09-21  Simon Josefsson  <simon@josefsson.org>
74608
74609         * tests/test-canonicalize.sh: Turn on executable bit.
74610
74611 2007-09-19  Eric Blake  <ebb9@byu.net>
74612
74613         * README: Update CVS instructions.
74614
74615 2007-09-18  Bruno Haible  <bruno@clisp.org>
74616
74617         * modules/areadlink: New file.
74618         * lib/areadlink.h (areadlink): New declaration.
74619         * lib/areadlink.c: New file, based on lib/xreadlink.c.
74620
74621 2007-09-17  Jim Meyering  <jim@meyering.net>
74622
74623         * lib/savewd.c (ESTALE) [!defined]: Define.
74624         Reported to be required on Interix by Martin Koeppe.
74625
74626 2007-09-17  Bruno Haible  <bruno@clisp.org>
74627
74628         * gnulib-tool (func_version): Use $version.
74629
74630 2007-09-16  Bruno Haible  <bruno@clisp.org>
74631
74632         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
74633         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
74634         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
74635         Reported by Greg Schafer <gschafer@zip.com.au>.
74636
74637 2007-09-15  Bruno Haible  <bruno@clisp.org>
74638
74639         * gnulib-tool (sed): Try a little harder to make bash understand the
74640         alias.
74641         Reported by Bruce Korb <bruce.korb@gmail.com>.
74642
74643 2007-09-13  Eric Blake  <ebb9@byu.net>
74644
74645         * ChangeLog: Remove conflict markers.
74646
74647 2007-09-13  Simon Josefsson  <simon@josefsson.org>
74648
74649         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
74650         Reported by Bruno Haible <bruno@clisp.org>.
74651
74652 2007-09-12  Bruno Haible  <bruno@clisp.org>
74653
74654         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
74655         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
74656         is not defined.
74657
74658 2007-09-12  Eric Blake  <ebb9@byu.net>
74659
74660         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
74661         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
74662         Autoconf definition.
74663         * modules/euidaccess (Depends-on): Add extensions, for
74664         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
74665         * modules/fnmatch (Depends-on): Likewise.
74666         * modules/getaddrinfo (Depends-on): Likewise.
74667         * modules/getdelim (Depends-on): Likewise.
74668         * modules/getline (Depends-on): Likewise.
74669         * modules/getsubopt (Depends-on): Likewise.
74670         * modules/gettext (Depends-on): Likewise.
74671         * modules/group-member (Depends-on): Likewise.
74672         * modules/mbchar (Depends-on): Likewise.
74673         * modules/memmem (Depends-on): Likewise.
74674         * modules/mempcpy (Depends-on): Likewise.
74675         * modules/memrchr (Depends-on): Likewise.
74676         * modules/pagealign_alloc (Depends-on): Likewise.
74677         * modules/readutmp (Depends-on): Likewise.
74678         * modules/stpcpy (Depends-on): Likewise.
74679         * modules/stpncpy (Depends-on): Likewise.
74680         * modules/strchrnul (Depends-on): Likewise.
74681         * modules/strndup (Depends-on): Likewise.
74682         * modules/strsep (Depends-on): Likewise.
74683         * modules/strverscmp (Depends-on): Likewise.
74684         * modules/vasprintf (Depends-on): Likewise.
74685         * modules/wcwidth (Depends-on): Likewise.
74686         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
74687         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
74688         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
74689         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
74690         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
74691         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
74692         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
74693         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74694         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
74695         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
74696         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
74697         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
74698         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
74699         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
74700         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
74701         * m4/readutmp.m4 (gl_READUTMP): Likewise.
74702         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
74703         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
74704         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
74705         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
74706         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
74707         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
74708         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
74709         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
74710         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
74711         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74712         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
74713         so that lock.m4 can be used in gettext without extensions module.
74714
74715 2007-09-11  Bruno Haible  <bruno@clisp.org>
74716
74717         * m4/isc-posix.m4: Remove file.
74718         Suggested by Eric Blake.
74719
74720 2007-09-11  Eric Blake  <ebb9@byu.net>
74721
74722         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
74723
74724 2007-09-10  Bruno Haible  <bruno@clisp.org>
74725
74726         * posix-modules: Fix typo in error message.
74727         Reported by Matt <mkraai@beckman.com>.
74728
74729 2007-09-09  Bruno Haible  <bruno@clisp.org>
74730
74731         * doc/functions/getdelim.texi: Update list of platforms lacking the
74732         function.
74733         * doc/functions/getline.texi: Likewise.
74734
74735 2007-09-09  Jim Meyering  <jim@meyering.net>
74736
74737         * lib/hash.c (hash_initialize): Detect calloc failure.
74738         Reported by Bruno Haible.
74739
74740 2007-09-09  Bruno Haible  <bruno@clisp.org>
74741
74742         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
74743         malloc or realloc fails.
74744
74745 2007-09-09  Bruno Haible  <bruno@clisp.org>
74746
74747         * modules/getcwd (Depends-on): Add malloc-posix.
74748         * modules/glob (Depends-on): Likewise.
74749         * modules/putenv (Depends-on): Likewise.
74750         * modules/strdup (Depends-on): Likewise.
74751         * modules/getdelim (Depends-on): Add realloc-posix.
74752         * modules/read-file (Depends-on): Likewise.
74753
74754 2007-09-09  Bruno Haible  <bruno@clisp.org>
74755
74756         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
74757         (gl_FUNC_MALLOC_POSIX): Require it.
74758         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
74759         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
74760         * modules/realloc (Files): Add m4/malloc.m4.
74761         * modules/calloc (Files): Likewise.
74762
74763 2007-09-09  Bruno Haible  <bruno@clisp.org>
74764
74765         * modules/malloc-posix: New file.
74766         * modules/malloc (Depends-on): Add malloc-posix.
74767         * lib/malloc.c: Include errno.h.
74768         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
74769         and a POSIX-compatible malloc into a single function. Set ENOMEM
74770         when returning NULL.
74771         * m4/malloc.m4: New file.
74772         * doc/functions/malloc.texi: Mention the malloc-posix module.
74773         * lib/stdlib_.h (malloc): New declaration.
74774         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
74775         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
74776         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
74777         and HAVE_MALLOC_POSIX.
74778
74779 2007-09-09  Bruno Haible  <bruno@clisp.org>
74780
74781         * modules/realloc-posix: New file.
74782         * modules/realloc (Depends-on): Add realloc-posix.
74783         * lib/realloc.c: Include errno.h.
74784         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
74785         and a POSIX-compatible realloc into a single function. Set ENOMEM
74786         when returning NULL.
74787         * m4/realloc.m4: New file.
74788         * doc/functions/realloc.texi: Mention the realloc-posix module.
74789         * lib/stdlib_.h (realloc): New declaration.
74790         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
74791         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
74792         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
74793         and HAVE_REALLOC_POSIX.
74794
74795 2007-09-09  Bruno Haible  <bruno@clisp.org>
74796
74797         * modules/calloc-posix: New file.
74798         * modules/calloc (Depends-on): Add calloc-posix.
74799         * lib/calloc.c: Include errno.h.
74800         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
74801         and a POSIX-compatible calloc into a single function. Set ENOMEM
74802         when returning NULL.
74803         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
74804         * doc/functions/calloc.texi: Mention the calloc-posix module.
74805         * lib/stdlib_.h (calloc): New declaration.
74806         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
74807         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
74808         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
74809         and HAVE_CALLOC_POSIX.
74810
74811 2007-09-09  Bruno Haible  <bruno@clisp.org>
74812
74813         Allow for modules to show an arbitrary notice.
74814         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
74815         * gnulib-tool: New option --extract-notice.
74816         (func_usage): Document it.
74817         (sed_extract_prog): Update.
74818         (func_get_notice): New function.
74819         (func_modules_notice): New function.
74820         (func_import, func_create_testdir): Invoke it.
74821         Suggested by Jim Meyering.
74822
74823 2007-09-09  Bruno Haible  <bruno@clisp.org>
74824
74825         * gnulib-tool: New options --verbose, --quiet.
74826         (func_usage): Document them.
74827         (verbose): New variable.
74828         (func_execute_command): New function.
74829         (func_import): Don't show the module list and the file list if
74830         $verbose < 0.
74831         (func_create_testdir): Likewise. Use func_execute_command.
74832         (func_create_megatestdir): Use func_execute_command.
74833
74834 2007-09-08  Bruno Haible  <bruno@clisp.org>
74835
74836         * gnulib-tool (func_import): Prefer rsync over wget when available,
74837         for fetching the PO files.
74838
74839 2007-09-08  Bruno Haible  <bruno@clisp.org>
74840
74841         * posix-modules: New file. Portions copied from gnulib-tool.
74842         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
74843
74844 2007-09-08  Jim Meyering  <jim@meyering.net>
74845
74846         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
74847         * lib/fpending.h: Rename from __fpending.h.
74848         * lib/fpending.c: Rename from __fpending.c.
74849         Include "fpending.h", not "__fpending.h".
74850         * lib/__fpending.h, lib/__fpending.c: Remove files.
74851         * modules/fpending (Files): Reflect new file names.
74852         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
74853
74854 2007-09-08  Bruno Haible  <bruno@clisp.org>
74855
74856         * m4/inttypes-h.m4: Remove stub file.
74857
74858 2007-09-07  Simon Josefsson  <simon@josefsson.org>
74859
74860         * doc/headers/stdint.texi: Discuss #include_next issue.
74861
74862 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74863
74864         * build-aux/bootstrap: Remove obsolete comment about wget --help.
74865
74866 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74867
74868         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
74869         in variable name.
74870
74871 2007-09-03  Jim Meyering  <jim@meyering.net>
74872
74873         New module: git-version-gen.
74874         * modules/git-version-gen: New file.
74875
74876         Import changes from coreutils for bootstrap script.
74877
74878         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
74879
74880         bootstrap: uses rsync to download the .po files
74881         * build-aux/bootstrap (po_download_command_format): New global.
74882         (download_po_files): Use rsync.
74883         (update_po_files): Don't remove .po files after download,
74884         so future rsync runs can take advantage of the copies.
74885
74886         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
74887
74888         Solve the unnecessary-.po-file-regeneration problem once and for all.
74889         * build-aux/bootstrap (download_po_files): New function, renamed from
74890         get_translations.  Now, downloads, but doesn't update LINGUAS.
74891         (update_po_files): New function.
74892
74893         bootstrap: Ignore more.
74894         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
74895         uniwidth to e.g., lib/.gitignore.
74896         (slurp): Handle the sys_stat_.h -> sys mapping, too.
74897
74898         * build-aux/bootstrap: New setting: vc_ignore.
74899         (insert_sorted_if_absent): Create $file if absent.
74900         Adapt to new, possibly empty, list: $vc_ignore.
74901
74902         bootstrap: generate more ignorable names
74903         * build-aux/bootstrap (slurp): When generating ignorable names,
74904         also map .sin to .sed, .gperf to .c, and .y to .c.
74905
74906 2007-09-03  Jim Meyering  <jim@meyering.net>
74907
74908         * build-aux/git-version-gen: New file, from coreutils.  For details, see
74909         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
74910
74911 2007-09-02  Bruno Haible  <bruno@clisp.org>
74912
74913         Fix mis-recognition of 'mcs' on QNX 6.
74914         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
74915         output contains the string "Mono".
74916         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
74917         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
74918
74919 2007-09-01  Bruno Haible  <bruno@clisp.org>
74920
74921         Fix collision between uniwidth/* and linebreak modules.
74922         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
74923         u32_width): Remove declarations.
74924         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
74925         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
74926         streq3, streq2, streq1, streq0): Remove functions.
74927         (STREQ): Remove macro.
74928         (is_cjk_encoding): Remove function.
74929         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
74930         (uc_width, u8_width, u16_width, u32_width): Remove functions.
74931         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
74932         * NEWS: Document the change.
74933
74934 2007-09-01  Bruno Haible  <bruno@clisp.org>
74935
74936         * lib/streq.h: Add double-inclusion guard.
74937
74938 2007-09-01  Karl Berry  <karl@gnu.org>
74939
74940         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
74941
74942 2007-08-28  Jim Meyering  <jim@meyering.net>
74943
74944         Rename mreadlink_with_size to areadlink_with_size.
74945         * NEWS: Document the change.
74946         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
74947         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
74948         * lib/mreadlink.h: Rename this to...
74949         * lib/areadlink.h: ...this.
74950         * modules/mreadlink-with-size: Rename this to...
74951         * modules/areadlink-with-size: ...this.
74952         * lib/canonicalize.c: Reflect the renaming.
74953         * modules/canonicalize: Likewise.
74954
74955 2007-08-26  Bruno Haible  <bruno@clisp.org>
74956
74957         * gnulib-tool (func_import): When deciding which files to remove,
74958         consider also dangling symbolic links.
74959         Reported by Eric Blake.
74960
74961 2007-08-26  Bruno Haible  <bruno@clisp.org>
74962
74963         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
74964
74965 2007-08-23  Simon Josefsson  <simon@josefsson.org>
74966
74967         * lib/readline.c: Don't include getline.h, the prototype is now
74968         found in stdio.h.
74969
74970 2007-08-23  Jim Meyering  <jim@meyering.net>
74971
74972         Getdelim touchup.
74973         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
74974         around the funlockfile call, since funlockfile never sets errno.
74975         Don't set errno upon failed realloc.
74976
74977 2007-08-22  Eric Blake  <ebb9@byu.net>
74978
74979         Getline touchups.
74980         * lib/getdelim.c (getdelim): Revert regression that required *n to
74981         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
74982         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
74983         getdelim, rather than whether implementation is missing.
74984         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
74985         * lib/stdio_.h (getline): Also declare if replacement is
74986         required.
74987         * doc/functions/getdelim.texi: New file.
74988         * doc/functions/getline.texi: Likewise.
74989         * doc/gnulib.texi (Function Substitutes): Add new files.
74990         Reported by Bruno Haible.
74991
74992 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
74993
74994         * users.txt: Add Guile.
74995
74996 2007-08-22  Eric Blake  <ebb9@byu.net>
74997
74998         * tests/test-getdelim.c (main): Use remove, not unlink.
74999         * tests/test-getline.c (main): Likewise.
75000
75001         Move getline and getdelim into stdio.h, per POSIX 200x.
75002         * modules/getline (Files): Remove getline.h.
75003         (Depends-on): Add stdio.
75004         (configure.ac): Add module indicator.
75005         * modules/getdelim (Files): Remove getdelim.h.
75006         (Depends-on): Add stdio.
75007         (configure.ac): Add module indicator.
75008         * modules/stdio (Makefile.am): Work with new indicators.
75009         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
75010         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
75011         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
75012         * lib/getdelim.h: Delete.
75013         * lib/getline.h: Delete.
75014         * lib/stdio_.h (getdelim, getline): Declare.
75015         * modules/getdelim-tests: New module.
75016         * modules/getline-tests: Likewise.
75017         * tests/test-getdelim.c: New file.
75018         * tests/test-getline.c: Likewise.
75019         * NEWS: Document the change.
75020         * lib/getline.c: Update choice of header.
75021         * lib/csharpcomp.c: Likewise.
75022         * lib/getpass.c: Likewise.
75023         * lib/javacomp.c: Likewise.
75024         * lib/javaversion.c: Likewise.
75025         * lib/yesno.c: Likewise.
75026         * lib/getdelim.c: Likewise.
75027         (getdelim): Set errno on failure, and avoid memory leak.
75028
75029 2007-08-19  Bruno Haible  <bruno@clisp.org>
75030
75031         * modules/closein (Depends-on): Add freadahead.
75032         * lib/closein.c: Include freadahead.h.
75033         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
75034         is zero.
75035
75036 2007-08-19  Bruno Haible  <bruno@clisp.org>
75037
75038         * modules/freadahead-tests: New file.
75039         * tests/test-freadahead.sh: New file.
75040         * tests/test-freadahead.c: New file.
75041
75042         * modules/freadahead: New file.
75043         * lib/freadahead.h: New file.
75044         * lib/freadahead.c: New file.
75045         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
75046         fbufmode, fpurge, freadable, fwritable.
75047
75048 2007-08-19  Eric Blake  <ebb9@byu.net>
75049
75050         Test yesno in combination with closein.
75051         * lib/yesno.c (yesno): Document use of stdin.
75052         * modules/yesno-tests (Files): New module.
75053         * tests/test-yesno.c (main): New file.
75054         * tests/test-yesno.sh: Likewise.
75055
75056 2007-08-19  Bruno Haible  <bruno@clisp.org>
75057
75058         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
75059         * lib/fseeko.c (rpl_fseeko): Likewise.
75060         * lib/fseterr.c (fseterr): Likewise.
75061
75062 2007-08-19  Bruno Haible  <bruno@clisp.org>
75063
75064         * tests/test-lseek.c (main): Disable a test for BeOS.
75065         * doc/functions/lseek.texi: Document the BeOS bug.
75066
75067 2007-08-19  Bruno Haible  <bruno@clisp.org>
75068             Eric Blake  <ebb9@byu.net>
75069
75070         * lib/lseek.c: Include <sys/stat.h>.
75071         (rpl_lseek): Add workaround code also for Unix platforms.
75072         Needed for BeOS.
75073         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
75074         * doc/functions/lseek.texi: Document BeOS definiency.
75075
75076 2007-08-18  Bruno Haible  <bruno@clisp.org>
75077
75078         * modules/fstrcmp-tests: New file.
75079         * tests/test-fstrcmp.c: New file.
75080
75081 2007-08-18  Bruno Haible  <bruno@clisp.org>
75082
75083         * modules/fstrcmp: New file, from GNU gettext with modifications.
75084         * lib/fstrcmp.h: New file, from GNU gettext.
75085         * lib/fstrcmp.c: New file, from GNU gettext.
75086         * MODULES.html.sh (String handling): Add fstrcmp.
75087
75088 2007-08-18  Bruno Haible  <bruno@clisp.org>
75089
75090         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
75091         'bool'.
75092         (diag, compareseq): Remove const from the ctxt argument.
75093         (USE_HEURISTIC): Undefine at the end.
75094
75095 2007-08-18  Jim Meyering  <jim@meyering.net>
75096
75097         New file: lib/idcache.h
75098         * NEWS: Mention the addition.
75099         * modules/idcache (Files): Add lib/idcache.h
75100         * lib/idcache.c: Include "idcache.h".
75101         Don't include <sys/types.h>.
75102         Add a FIXME comment.
75103         Move file-scoped "static" declarations to the top.
75104         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
75105
75106 2007-08-17  Bruno Haible  <bruno@clisp.org>
75107         and Paul Eggert  <eggert@cs.ucla.edu>
75108
75109         * MODULES.html.sh: Add diffseq.
75110         * modules/diffseq: New file.
75111         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
75112         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
75113
75114 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75115
75116         Import changes from coreutils for bootstrap script.
75117
75118         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
75119
75120         * build-aux/bootstrap (slurp): Work even in environments where
75121         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
75122         current code does not slurp files whose names start with ".", and
75123         this looks like it might be a troublesome area.
75124
75125         2007-07-11  Jim Meyering  <jim@meyering.net>
75126
75127         If there's a GPL vN copyright comment, require that N == 3.
75128
75129         2007-07-08  Jim Meyering  <jim@meyering.net>
75130
75131         Run the coreutils-specific code only if tests/Makefile.am.in exists.
75132         * build-aux/bootstrap (mam_template): Move definition out of loop.
75133
75134         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
75135
75136         * build-aux/bootstrap (symlink_to_dir): Rename function from
75137         symlink_to_gnulib.  Add a directory parameter.  Update all
75138         callers.
75139         (cp_mark_as_generated): Also check for -- and link to -- files in
75140         gl/.
75141
75142         2007-07-08  Jim Meyering  <jim@meyering.net>
75143
75144         Adapt to deeper hierarchy in gnulib.
75145         * build-aux/bootstrap (symlink_to_dir): If the destination
75146         directory doesn't exist, create it. This is required at least for
75147         "lib/uniwidth/cjk.h".
75148
75149         2007-05-15  Jim Meyering  <jim@meyering.net>
75150
75151         * build-aux/bootstrap: Now that generated Makefile.am files
75152         are no longer under version control, they must be created at
75153         bootstrap time.
75154
75155 2007-08-14  Ben Pfaff  <blp@gnu.org>
75156
75157         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
75158
75159 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75160
75161         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
75162         given the changes below.
75163         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
75164         even on hosts that have padding bits beyond the supported 64.
75165
75166 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75167
75168         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
75169         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
75170         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
75171         depends on it.
75172         (xstrtol_error): Remove.
75173         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
75174         but with a different signature.
75175         (ATTRIBUTE_NORETURN, __attribute__): New macros.
75176         * lib/xstrtol-error.c: Include exitfail.h.
75177         (xstrtol_fatal): New function, with a different signature from the
75178         old xstrtol_error, so that the caller need not worry about passing
75179         in an exit status, or about storage management of the option argument.
75180         (xstrtol_error): Now a static function.  Redo signature to
75181         implement xstrtol_fatal.  Output the correct number of hyphens in
75182         front of the option so that the caller need not worry about
75183         storage management.
75184         (N_): New macro.
75185         (_): Remove; not used now.
75186         * modules/xstrtol: Depend on getopt.
75187         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
75188         of old STRTOL_FATAL_ERROR macro.
75189         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
75190         of test program.
75191         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
75192         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
75193
75194 2007-08-08  Eric Blake  <ebb9@byu.net>
75195
75196         * lib/xstrtol-error.c: Add missing include.
75197
75198         Move xstrtol messages into gnulib domain, when --pobase is used.
75199         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
75200         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
75201         * modules/xstrtol (Files): Distribute new file.
75202         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
75203         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
75204         * tests/test-xstrtol.c: ...into new file.
75205         * tests/test-xstrtoul.c: Also test xstrtoul.
75206         * tests/test-xstrtoimax.c: Also test xstrtoimax.
75207         * tests/test-xstrtoumax.c: Also test xstrtoumax.
75208         * tests/test-xstrtol.sh: Drive the tests.
75209         * tests/test-xstrtoimax.sh: Likewise.
75210         * tests/test-xstrtoumax.sh: Likewise.
75211         * modules/xstrtol-tests: New module.
75212         * modules/xstrtoimax-tests: Likewise.
75213         * modules/xstrtoumax-tests: Likewise.
75214
75215 2007-08-08  Jim Meyering  <jim@meyering.net>
75216
75217         New function: mfile_name_concat.
75218         * lib/filenamecat.c (mfile_name_concat): New function, just like
75219         file_name_concat, but return NULL upon failure rather than exiting
75220         with a diagnostic.
75221         * lib/filenamecat.h: Declare it.
75222
75223 2007-08-07  Bruno Haible  <bruno@clisp.org>
75224
75225         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
75226         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
75227         warning from gcc.
75228         Reported by Eric Blake.
75229
75230 2007-08-07  Simon Josefsson  <simon@josefsson.org>
75231
75232         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
75233         * modules/crypto/arcfour (License): Likewise.
75234         * modules/crypto/des-tests (License): Likewise.
75235         * modules/crypto/gc-arctwo-tests (License): Likewise.
75236         * modules/crypto/gc-des-tests (License): Likewise.
75237         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
75238         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
75239         * modules/crypto/gc-md2-tests (License): Likewise.
75240         * modules/crypto/gc-md4-tests (License): Likewise.
75241         * modules/crypto/gc-md5-tests (License): Likewise.
75242         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
75243         * modules/crypto/gc-rijndael-tests (License): Likewise.
75244         * modules/crypto/gc-sha1-tests (License): Likewise.
75245         * modules/crypto/gc-tests (License): Likewise.
75246         * modules/crypto/hmac-md5 (License): Likewise.
75247         * modules/crypto/hmac-sha1 (License): Likewise.
75248         * modules/crypto/md2-tests (License): Likewise.
75249         * modules/crypto/md4-tests (License): Likewise.
75250         * modules/crypto/md5 (License): Likewise.
75251         * modules/crypto/rijndael (License): Likewise.
75252         * modules/crypto/sha1 (License): Likewise.
75253         * modules/memxor (License): Likewise.
75254
75255 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
75256         and Bruno Haible  <bruno@clisp.org>
75257
75258         * NEWS: Describe interface changes to human, xstrtol.
75259         * lib/human.h: Include <xstrtol.h>.
75260         (human_options): Return enum strtol_error, not int.  Remove
75261         bool arg; take int * instead.
75262         * lib/human.c: Don't include "gettext.h".
75263         (_): Remove; no longer used.
75264         Don't include <xstrtol.h>, since human.h does it.
75265         (human_options): Adjust to abovementioned interface changes.
75266         Do not report error to stderr; that's now the caller's
75267         responsibility.
75268         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
75269         interface change.
75270         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
75271         Str, Argument_type_string.  All uses changed.  Put " argument"
75272         in diagnostics to make them clearer.  Change wording of suffix
75273         message for clarity.
75274         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
75275         Argument_type_string.
75276         (STRTOL_FATAL_WARN): Remove; no longer used.
75277         * modules/human (Depends-on): Remove gettext-h.
75278
75279 2007-08-06  Simon Josefsson  <simon@josefsson.org>
75280
75281         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
75282
75283 2007-07-31  Bruno Haible  <bruno@clisp.org>
75284
75285         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
75286         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
75287         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
75288
75289 2007-07-31  Bruno Haible  <bruno@clisp.org>
75290
75291         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
75292         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
75293
75294 2007-07-30  Bruno Haible  <bruno@clisp.org>
75295
75296         * modules/base64 (License): Use the synonymous term "LGPLv2+".
75297         * modules/c-ctype (License): Likewise.
75298         * modules/c-strcase (License): Likewise.
75299         * modules/check-version (License): Likewise.
75300         * modules/iconv (License): Likewise.
75301         * modules/iconv_open (License): Likewise.
75302         * modules/read-file (License): Likewise.
75303         * modules/striconv (License): Likewise.
75304         * modules/strverscmp (License): Likewise.
75305         * modules/vasprintf (License): Likewise.
75306         * modules/crypto/des (License): Likewise.
75307         * modules/crypto/gc (License): Likewise.
75308         * modules/crypto/gc-arcfour (License): Likewise.
75309         * modules/crypto/gc-arctwo (License): Likewise.
75310         * modules/crypto/gc-des (License): Likewise.
75311         * modules/crypto/gc-hmac-md5 (License): Likewise.
75312         * modules/crypto/gc-hmac-sha1 (License): Likewise.
75313         * modules/crypto/gc-md2 (License): Likewise.
75314         * modules/crypto/gc-md4 (License): Likewise.
75315         * modules/crypto/gc-md5 (License): Likewise.
75316         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
75317         * modules/crypto/gc-random (License): Likewise.
75318         * modules/crypto/gc-rijndael (License): Likewise.
75319         * modules/crypto/gc-sha1 (License): Likewise.
75320         * modules/crypto/md2 (License): Likewise.
75321         * modules/crypto/md4 (License): Likewise.
75322
75323 2007-07-30  Jim Meyering  <jim@meyering.net>
75324
75325         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
75326         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
75327         it has valid stat data.  This bug would cause du not to count the
75328         sizes of inaccessible directories.
75329         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
75330         in <http://bugzilla.redhat.com/250077>.
75331
75332 2007-07-25  Peter O'Gorman  <peter@pogma.com>
75333             Bruno Haible  <bruno@clisp.org>
75334
75335         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
75336         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
75337         #include_next, gives a diagnostic about it, but reports no error in
75338         the exit code.
75339         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
75340
75341 2007-07-24  Ben Pfaff  <blp@gnu.org>
75342
75343         Improve name: "count-one-bits" is better than "popcount".
75344         * MODULES.html.sh: Update name.
75345         * lib/popcount.h: Renamed lib/count-one-bits.h.
75346         (popcount): Renamed count_one_bits.
75347         (popcountl): Renamed count_one_bits_l.
75348         (popcountll): Renamed count_one_bits_ll.
75349         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
75350         * modules/popcount: Renamed module/count-one-bits.
75351         * modules/popcount-tests: Renamed module/count-one-bits-tests.
75352         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
75353
75354 2007-07-23  Ben Pfaff  <blp@gnu.org>
75355
75356         * lib/popcount.h (popcount32): Reduce size of constants, to allow
75357         better code generation, and add U to large constants to avoid
75358         warnings, in non-GCC case.
75359         Suggested by Bruno Haible.
75360
75361 2007-07-23  Ben Pfaff  <blp@gnu.org>
75362
75363         * lib/popcount.h: Use verify_true instead of if...abort.
75364         * modules/popcount: Depend on verify module.
75365         Suggested by Jim Meyering.
75366
75367 2007-07-23  Bruno Haible  <bruno@clisp.org>
75368
75369         * gnulib-tool (func_import): Create a .cvsignore file also when the
75370         directory is not yet in CVS but the toplevel directory is. When
75371         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
75372         Reported by Karl Berry.
75373
75374 2007-07-22  Ben Pfaff  <blp@gnu.org>
75375
75376         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
75377         case.
75378         Suggested by Eric Blake.
75379
75380 2007-07-22  Ben Pfaff  <blp@gnu.org>
75381
75382         New module: popcount.
75383         * MODULES.html.sh: Add popcount.
75384         * modules/popcount: New file.
75385         * modules/popcount-tests: New file.
75386         * tests/test-popcount.c: New file.
75387         * lib/popcount.h: New file.
75388         * m4/popcount.m4: New file.
75389
75390 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75391
75392         * build-aux/announce-gen: Update to GPLv3.
75393
75394         * build-aux/config.guess: Update from config.
75395
75396 2007-07-21  Bruno Haible  <bruno@clisp.org>
75397
75398         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
75399         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
75400
75401 2007-07-20  Jim Meyering  <jim@meyering.net>
75402
75403         * check-module: Diagnose a self-dependency.
75404
75405 2007-07-19  Bruno Haible  <bruno@clisp.org>
75406
75407         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
75408         empty.
75409         Reported by Eric Blake.
75410
75411 2007-07-18  Bruno Haible  <bruno@clisp.org>
75412
75413         * gnulib-tool: New options --po-base, --po-domain.
75414         (func_usage): Document them.
75415         (pobase, po_domain): New variables.
75416         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
75417         DEFAULT_TEXT_DOMAIN.
75418         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
75419         (func_import): Consider pobase and po_domain. Create a po/ directory.
75420         (func_create_testdir): Set pobase and po_domain to empty.
75421         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
75422         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
75423
75424 2007-07-18  Bruno Haible  <bruno@clisp.org>
75425
75426         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75427         EXTRA_DIST augmentation for files in build-aux/.
75428
75429 2007-07-16  Bruno Haible  <bruno@clisp.org>
75430
75431         * modules/lseek (License): Use the synonymous term "LGPLv2+".
75432         * modules/getdelim (License): Likewise.
75433
75434 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75435
75436         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
75437         * modules/d-type (License): Likewise.
75438         * modules/extensions (License): Likewise.
75439         * modules/fnmatch (License): Likewise.
75440         * modules/fseeko (License): Likewise.
75441         * modules/getaddrinfo (License): Likewise.
75442         * modules/getline (License): Likewise.
75443         * modules/getlogin_r (License): Likewise.
75444         * modules/getpass (License): Likewise.
75445         * modules/gettimeofday (License): Likewise.
75446         * modules/glob (License): Likewise.
75447         * modules/inet_ntop (License): Likewise.
75448         * modules/malloc (License): Likewise.
75449         * modules/malloca (License): Likewise.
75450         * modules/memmem (License): Likewise.
75451         * modules/mempcpy (License): Likewise.
75452         * modules/memset (License): Likewise.
75453         * modules/minmax (License): Likewise.
75454         * modules/mktime (License): Likewise.
75455         * modules/netinet_in (License): Likewise.
75456         * modules/pathmax (License): Likewise.
75457         * modules/poll (License): Likewise.
75458         * modules/regex (License): Likewise.
75459         * modules/snprintf (License): Likewise.
75460         * modules/stdbool (License): Likewise.
75461         * modules/stdint (License): Likewise.
75462         * modules/stdio (License): Likewise.
75463         * modules/strcase (License): Likewise.
75464         * modules/strcasestr (License): Likewise.
75465         * modules/strdup (License): Likewise.
75466         * modules/string (License): Likewise.
75467         * modules/strndup (License): Likewise.
75468         * modules/strnlen (License): Likewise.
75469         * modules/strpbrk (License): Likewise.
75470         * modules/strptime (License): Likewise.
75471         * modules/strsep (License): Likewise.
75472         * modules/sys_select (License): Likewise.
75473         * modules/sys_socket (License): Likewise.
75474         * modules/sys_stat (License): Likewise.
75475         * modules/sys_time (License): Likewise.
75476         * modules/time (License): Likewise.
75477         * modules/time_r (License): Likewise.
75478         * modules/timegm (License): Likewise.
75479         * modules/unistd (License): Likewise.
75480         * modules/vsnprintf (License): Likewise.
75481         * modules/wctype (License): Likewise.
75482
75483 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75484
75485         * modules/argz (License): LGPLv2+.
75486
75487 2007-07-15  Karl Berry  <karl@gnu.org>
75488
75489         * doc/gnulib.texi: revise node structure per new fdl.texi.
75490
75491 2007-07-14  Bruno Haible  <bruno@clisp.org>
75492
75493         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
75494         the output file.
75495         * lib/uniname/uninames.h: Regenerated.
75496
75497 2007-07-14  Karl Berry  <karl@gnu.org>
75498
75499         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
75500         omitting sectioning and index commands.
75501
75502 2007-07-13  Bruno Haible  <bruno@clisp.org>
75503
75504         New gnulib-tool option --more-symlinks.
75505         * gnulib-tool (func_usage): Document --more-symlinks.
75506         (do_copyrights): New variable.
75507         Recognize option --more-symlinks.
75508         (func_import): Don't add a copyright notice transform to
75509         sed_transform_lib_file if do_copyrights is empty.
75510
75511 2007-07-13  Bruno Haible  <bruno@clisp.org>
75512
75513         * lib/vasnprintf.c (decimal_point_char): Define also if
75514         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
75515         && !NEED_PRINTF_DIRECTIVE_A.
75516         Reported by Clemens Koller <clemens.koller@anagramm.de> via
75517         Gary V. Vaughan <gary@gnu.org>.
75518
75519 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
75520
75521         * lib/inttypes_.h: Undo previous change, since it was fixed
75522         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
75523
75524 2007-07-13  Bruno Haible  <bruno@clisp.org>
75525
75526         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
75527         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
75528
75529 2007-07-13  Jim Meyering  <jim@meyering.net>
75530
75531         df: Don't fail for Tru64's "file-on-file mount".
75532         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
75533         so we fall through and use statfs instead.  Details here:
75534         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
75535         Reported by Albert Chin.
75536
75537 2007-07-13  Bruno Haible  <bruno@clisp.org>
75538
75539         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
75540         * modules/configmake (License): Likewise.
75541         * modules/gettext (License): Likewise.
75542         * modules/gettext-h (License): Likewise.
75543         * modules/include_next (License): Likewise.
75544         * modules/link-warning (License): Likewise.
75545         * modules/localcharset (License): Likewise.
75546         * modules/localename (License): Likewise.
75547         * modules/lock (License): Likewise.
75548         * modules/relocatable-lib-lgpl (License): Likewise.
75549         * modules/size_max (License): Likewise.
75550         * modules/vasnprintf (License): Likewise.
75551         * modules/wchar (License): Likewise.
75552         * modules/xsize (License): Likewise.
75553
75554 2007-07-13  Bruno Haible  <bruno@clisp.org>
75555
75556         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
75557         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
75558
75559 2007-07-12  Bruno Haible  <bruno@clisp.org>
75560
75561         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
75562         in the modules files.
75563
75564 2007-07-11  Karl Berry  <karl@gnu.org>
75565
75566         * MODULES.html.sh (func_module): use
75567          sed -e '\|^'"${includefile}"'$|d'
75568          instead of /.../d, to avoid errors on $includefile's containing /.
75569
75570 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75571
75572         * gnulib-tool (func_import): Avoid duplication of --avoid
75573         statements
75574         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
75575         names to `_' in variable names.
75576
75577 2007-07-10  Eric Blake  <ebb9@byu.net>
75578
75579         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
75580         * NEWS: Document this change.
75581
75582 2007-07-08  Bruno Haible  <bruno@clisp.org>
75583
75584         Update to Unicode 5.0.
75585         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
75586         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
75587         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
75588         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
75589         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
75590         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
75591         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
75592         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
75593         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
75594         U+10A3F, U+1D242..U+1D244.
75595         (nonspacing_table_ind): Update.
75596         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
75597         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
75598
75599 2007-07-08  Bruno Haible  <bruno@clisp.org>
75600
75601         Update to Unicode 5.0.
75602         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
75603         code transform. Extend the name index field of unicode_name_to_code and
75604         unicode_code_to_name from 16 to 24 bits.
75605         * lib/uniname/uniname.c (unicode_character_name,
75606         unicode_name_character): Add the range 0x12xxx to the code transform.
75607         * lib/uniname/uninames.h: Regenerated.
75608         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
75609
75610 2007-07-07  Bruno Haible  <bruno@clisp.org>
75611
75612         * modules/wcwidth-tests: New file.
75613         * tests/test-wcwidth.c: New file.
75614
75615         Work around MacOS X wcwidth() bug.
75616         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
75617         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
75618         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
75619         original wcwidth in non-UTF-8 locales.
75620         * modules/wcwidth (Depends-on): Add localcharset, streq,
75621         uniwidth/width.
75622         * doc/functions/wcwidth.texi: Update.
75623
75624 2007-07-07  Bruno Haible  <bruno@clisp.org>
75625
75626         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
75627         (wcwidth): New declaration.
75628         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
75629         macros.
75630         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
75631         here. Prepare for creating <wchar.h> unconditionally.
75632         * modules/wchar (Depends-on): Add link-warning.
75633         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
75634         REPLACE_WCWIDTH, and GL_LINK_WARNING.
75635         * lib/wcwidth.h: Remove file.
75636         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
75637         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
75638         * modules/wcwidth (Files): Remove lib/wcwidth.h.
75639         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
75640         (Include): Replace wcwidth.h with <wchar.h>.
75641         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
75642         * lib/mbchar.h: Don't include wcwidth.h.
75643         * lib/mbswidth.c: Likewise.
75644         * NEWS: Mention the change.
75645
75646 2007-07-07  Bruno Haible  <bruno@clisp.org>
75647
75648         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
75649         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
75650         definition with an external declaration.
75651         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
75652         defined as a function. Remove AC_C_INLINE requirement.
75653         * modules/wcwidth (Files): Add lib/wcwidth.c.
75654         (Makefile.am): Remove redundant statement.
75655
75656 2007-07-07  Bruno Haible  <bruno@clisp.org>
75657
75658         * MODULES.html.sh (Unicode string functions): Add the new modules.
75659
75660         * tests/uniwidth/test-u32-strwidth.c: New file.
75661         * modules/uniwidth/u32-strwidth-tests: New file.
75662
75663         * lib/uniwidth/u32-strwidth.c: New file.
75664         * modules/uniwidth/u32-strwidth: New file.
75665
75666         * tests/uniwidth/test-u16-strwidth.c: New file.
75667         * modules/uniwidth/u16-strwidth-tests: New file.
75668
75669         * lib/uniwidth/u16-strwidth.c: New file.
75670         * modules/uniwidth/u16-strwidth: New file.
75671
75672         * tests/uniwidth/test-u8-strwidth.c: New file.
75673         * modules/uniwidth/u8-strwidth-tests: New file.
75674
75675         * lib/uniwidth/u8-strwidth.c: New file.
75676         * modules/uniwidth/u8-strwidth: New file.
75677
75678         * tests/uniwidth/test-u32-width.c: New file.
75679         * modules/uniwidth/u32-width-tests: New file.
75680
75681         * lib/uniwidth/u32-width.c: New file.
75682         * modules/uniwidth/u32-width: New file.
75683
75684         * tests/uniwidth/test-u16-width.c: New file.
75685         * modules/uniwidth/u16-width-tests: New file.
75686
75687         * lib/uniwidth/u16-width.c: New file.
75688         * modules/uniwidth/u16-width: New file.
75689
75690         * tests/uniwidth/test-u8-width.c: New file.
75691         * modules/uniwidth/u8-width-tests: New file.
75692
75693         * lib/uniwidth/u8-width.c: New file.
75694         * modules/uniwidth/u8-width: New file.
75695
75696         * tests/uniwidth/test-uc_width.c: New file.
75697         * modules/uniwidth/width-tests: New file.
75698
75699         * lib/uniwidth/width.c: New file, from GNU libiconv.
75700         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
75701         * modules/uniwidth/width: New file.
75702
75703         * lib/uniwidth.h: New file, from GNU libiconv.
75704         * modules/uniwidth/base: New file.
75705
75706 2007-07-07  Bruno Haible  <bruno@clisp.org>
75707
75708         * lib/uniname.h: New file, from GNU gettext.
75709         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
75710         * lib/uniname/uninames.h: New file, from GNU gettext.
75711         * lib/uniname/uniname.c: New file, from GNU gettext.
75712         * tests/uniname/test-uninames.sh: New file.
75713         * tests/uniname/test-uninames.c: New file, from GNU gettext.
75714         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
75715         * modules/uniname/base: New file.
75716         * modules/uniname/uniname: New file.
75717         * modules/uniname/uniname-tests: New file.
75718         * MODULES.html.sh (Unicode string functions): Add the new modules.
75719
75720 2007-07-06  Bruno Haible  <bruno@clisp.org>
75721
75722         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
75723
75724 2007-07-06  Bruno Haible  <bruno@clisp.org>
75725
75726         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
75727         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
75728         includes <cygwin/sys_time.h> which includes <sys/select.h> which
75729         include <sys/time.h>.
75730         Reported by Eric Blake.
75731
75732 2007-07-06  Eric Blake  <ebb9@byu.net>
75733
75734         Fix testing canonicalize on cygwin.
75735         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
75736         Revert patch from 2007-06-19.
75737         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
75738         canonicalize module is also in use.
75739         * tests/test-canonicalize.c: New file.
75740         * tests/test-canonicalize.sh: Likewise.
75741         * modules/canonicalize-tests: Likewise.
75742
75743 2007-07-06  Jim Meyering  <jim@meyering.net>
75744
75745         * lib/getugroups.c (getugroups): Detect getgrent failure.
75746         Adjust comment to reflect reality: this function may return -1.
75747
75748 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
75749
75750         * build-aux/bootstrap (TP_URL,get_translations): Update to use
75751         the new TP address.
75752         (usage): Fix typo
75753         (gnulib_mk): New variable.
75754
75755 2007-07-05  Jim Meyering  <jim@meyering.net>
75756
75757         Don't let endgrent clobber errno, no matter how improbable.
75758         * lib/getugroups.c (getugroups): Save and restore errno around
75759         endgrent call.
75760
75761         Close the group DB even when failing with 2^31 or more members.
75762         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
75763
75764 2007-07-04  Jim Meyering  <jim@meyering.net>
75765
75766         * lib/getugroups.h: New file.
75767         * lib/getugroups.c: Include "getugroups.h".
75768         Remove uses of "register" keyword.
75769         Move local variable, "cp", down into scope where used.
75770         Give "username" parameter the "const" attribute.
75771         * modules/getugroups (Files): Add lib/getugroups.h
75772
75773 2007-07-04  Karl Berry  <karl@gnu.org>
75774
75775         * MODULES.html.sh (func_all_modules): Complete rename of
75776         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
75777
75778 2007-07-02  Bruno Haible  <bruno@clisp.org>
75779
75780         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
75781         mode, when inttypes.h comes from gnulib.
75782         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
75783
75784 2007-07-02  Simon Josefsson  <simon@josefsson.org>
75785
75786         * NEWS: Mention lgpl module name change.
75787
75788         * modules/lgpl-2.1: Renamed from lgpl.
75789
75790         * NEWS: Mention gpl module name change.
75791
75792         * modules/gpl-3.0: New file, based on gpl-2.0.
75793
75794         * modules/gpl-2.0: Renamed from gpl.
75795
75796         * modules/gpl: Fix filename, doc/gpl.texi is now found at
75797         doc/gpl-2.0.texi.
75798
75799 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75800
75801         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
75802         #define __STDC_LIMIT_MACROS temporarily while including
75803         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
75804         Problem reported by Joel E. Denny in
75805         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
75806
75807 2007-07-01  Bruno Haible  <bruno@clisp.org>
75808
75809         * lib/unistdio.h: New file.
75810         * lib/unistdio/u-asnprintf.h: New file.
75811         * lib/unistdio/u-asprintf.h: New file.
75812         * lib/unistdio/u-printf-args.c: New file.
75813         * lib/unistdio/u-printf-args.h: New file.
75814         * lib/unistdio/u-printf-parse.h: New file.
75815         * lib/unistdio/u-snprintf.h: New file.
75816         * lib/unistdio/u-sprintf.h: New file.
75817         * lib/unistdio/u-vasprintf.h: New file.
75818         * lib/unistdio/u-vsnprintf.h: New file.
75819         * lib/unistdio/u-vsprintf.h: New file.
75820         * lib/unistdio/ulc-asnprintf.c: New file.
75821         * lib/unistdio/ulc-asprintf.c: New file.
75822         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
75823         * lib/unistdio/ulc-printf-parse.c: New file.
75824         * lib/unistdio/ulc-snprintf.c: New file.
75825         * lib/unistdio/ulc-sprintf.c: New file.
75826         * lib/unistdio/ulc-vasnprintf.c: New file.
75827         * lib/unistdio/ulc-vasprintf.c: New file.
75828         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
75829         * lib/unistdio/ulc-vsnprintf.c: New file.
75830         * lib/unistdio/ulc-vsprintf.c: New file.
75831         * lib/unistdio/u8-asnprintf.c: New file.
75832         * lib/unistdio/u8-asprintf.c: New file.
75833         * lib/unistdio/u8-printf-parse.c: New file.
75834         * lib/unistdio/u8-snprintf.c: New file.
75835         * lib/unistdio/u8-sprintf.c: New file.
75836         * lib/unistdio/u8-vasnprintf.c: New file.
75837         * lib/unistdio/u8-vasprintf.c: New file.
75838         * lib/unistdio/u8-vsnprintf.c: New file.
75839         * lib/unistdio/u8-vsprintf.c: New file.
75840         * lib/unistdio/u8-u8-asnprintf.c: New file.
75841         * lib/unistdio/u8-u8-asprintf.c: New file.
75842         * lib/unistdio/u8-u8-snprintf.c: New file.
75843         * lib/unistdio/u8-u8-sprintf.c: New file.
75844         * lib/unistdio/u8-u8-vasnprintf.c: New file.
75845         * lib/unistdio/u8-u8-vasprintf.c: New file.
75846         * lib/unistdio/u8-u8-vsnprintf.c: New file.
75847         * lib/unistdio/u8-u8-vsprintf.c: New file.
75848         * lib/unistdio/u16-asnprintf.c: New file.
75849         * lib/unistdio/u16-asprintf.c: New file.
75850         * lib/unistdio/u16-printf-parse.c: New file.
75851         * lib/unistdio/u16-snprintf.c: New file.
75852         * lib/unistdio/u16-sprintf.c: New file.
75853         * lib/unistdio/u16-vasnprintf.c: New file.
75854         * lib/unistdio/u16-vasprintf.c: New file.
75855         * lib/unistdio/u16-vsnprintf.c: New file.
75856         * lib/unistdio/u16-vsprintf.c: New file.
75857         * lib/unistdio/u16-u16-asnprintf.c: New file.
75858         * lib/unistdio/u16-u16-asprintf.c: New file.
75859         * lib/unistdio/u16-u16-snprintf.c: New file.
75860         * lib/unistdio/u16-u16-sprintf.c: New file.
75861         * lib/unistdio/u16-u16-vasnprintf.c: New file.
75862         * lib/unistdio/u16-u16-vasprintf.c: New file.
75863         * lib/unistdio/u16-u16-vsnprintf.c: New file.
75864         * lib/unistdio/u16-u16-vsprintf.c: New file.
75865         * lib/unistdio/u32-asnprintf.c: New file.
75866         * lib/unistdio/u32-asprintf.c: New file.
75867         * lib/unistdio/u32-printf-parse.c: New file.
75868         * lib/unistdio/u32-snprintf.c: New file.
75869         * lib/unistdio/u32-sprintf.c: New file.
75870         * lib/unistdio/u32-vasnprintf.c: New file.
75871         * lib/unistdio/u32-vasprintf.c: New file.
75872         * lib/unistdio/u32-vsnprintf.c: New file.
75873         * lib/unistdio/u32-vsprintf.c: New file.
75874         * lib/unistdio/u32-u32-asnprintf.c: New file.
75875         * lib/unistdio/u32-u32-asprintf.c: New file.
75876         * lib/unistdio/u32-u32-snprintf.c: New file.
75877         * lib/unistdio/u32-u32-sprintf.c: New file.
75878         * lib/unistdio/u32-u32-vasnprintf.c: New file.
75879         * lib/unistdio/u32-u32-vasprintf.c: New file.
75880         * lib/unistdio/u32-u32-vsnprintf.c: New file.
75881         * lib/unistdio/u32-u32-vsprintf.c: New file.
75882         * tests/unistdio/test-ulc-asnprintf1.c: New file.
75883         * tests/unistdio/test-ulc-asnprintf1.h: New file.
75884         * tests/unistdio/test-ulc-printf1.h: New file.
75885         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
75886         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
75887         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
75888         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
75889         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
75890         * tests/unistdio/test-ulc-vasprintf1.c: New file.
75891         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
75892         * tests/unistdio/test-ulc-vsprintf1.c: New file.
75893         * tests/unistdio/test-u8-asnprintf1.c: New file.
75894         * tests/unistdio/test-u8-asnprintf1.h: New file.
75895         * tests/unistdio/test-u8-printf1.h: New file.
75896         * tests/unistdio/test-u8-vasnprintf1.c: New file.
75897         * tests/unistdio/test-u8-vasnprintf2.c: New file.
75898         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
75899         * tests/unistdio/test-u8-vasnprintf3.c: New file.
75900         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
75901         * tests/unistdio/test-u8-vasprintf1.c: New file.
75902         * tests/unistdio/test-u8-vsnprintf1.c: New file.
75903         * tests/unistdio/test-u8-vsprintf1.c: New file.
75904         * tests/unistdio/test-u16-asnprintf1.c: New file.
75905         * tests/unistdio/test-u16-asnprintf1.h: New file.
75906         * tests/unistdio/test-u16-printf1.h: New file.
75907         * tests/unistdio/test-u16-vasnprintf1.c: New file.
75908         * tests/unistdio/test-u16-vasnprintf2.c: New file.
75909         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
75910         * tests/unistdio/test-u16-vasnprintf3.c: New file.
75911         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
75912         * tests/unistdio/test-u16-vasprintf1.c: New file.
75913         * tests/unistdio/test-u16-vsnprintf1.c: New file.
75914         * tests/unistdio/test-u16-vsprintf1.c: New file.
75915         * tests/unistdio/test-u32-asnprintf1.c: New file.
75916         * tests/unistdio/test-u32-asnprintf1.h: New file.
75917         * tests/unistdio/test-u32-printf1.h: New file.
75918         * tests/unistdio/test-u32-vasnprintf1.c: New file.
75919         * tests/unistdio/test-u32-vasnprintf2.c: New file.
75920         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
75921         * tests/unistdio/test-u32-vasnprintf3.c: New file.
75922         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
75923         * tests/unistdio/test-u32-vasprintf1.c: New file.
75924         * tests/unistdio/test-u32-vsnprintf1.c: New file.
75925         * tests/unistdio/test-u32-vsprintf1.c: New file.
75926         * modules/unistdio/base: New file.
75927         * modules/unistdio/u-printf-args: New file.
75928         * modules/unistdio/ulc-asnprintf: New file.
75929         * modules/unistdio/ulc-asprintf: New file.
75930         * modules/unistdio/ulc-fprintf: New file.
75931         * modules/unistdio/ulc-printf-parse: New file.
75932         * modules/unistdio/ulc-snprintf: New file.
75933         * modules/unistdio/ulc-sprintf: New file.
75934         * modules/unistdio/ulc-vasnprintf: New file.
75935         * modules/unistdio/ulc-vasprintf: New file.
75936         * modules/unistdio/ulc-vfprintf: New file.
75937         * modules/unistdio/ulc-vsnprintf: New file.
75938         * modules/unistdio/ulc-vsprintf: New file.
75939         * modules/unistdio/u8-asnprintf: New file.
75940         * modules/unistdio/u8-asprintf: New file.
75941         * modules/unistdio/u8-printf-parse: New file.
75942         * modules/unistdio/u8-snprintf: New file.
75943         * modules/unistdio/u8-sprintf: New file.
75944         * modules/unistdio/u8-vasnprintf: New file.
75945         * modules/unistdio/u8-vasprintf: New file.
75946         * modules/unistdio/u8-vsnprintf: New file.
75947         * modules/unistdio/u8-vsprintf: New file.
75948         * modules/unistdio/u8-u8-asnprintf: New file.
75949         * modules/unistdio/u8-u8-asprintf: New file.
75950         * modules/unistdio/u8-u8-snprintf: New file.
75951         * modules/unistdio/u8-u8-sprintf: New file.
75952         * modules/unistdio/u8-u8-vasnprintf: New file.
75953         * modules/unistdio/u8-u8-vasprintf: New file.
75954         * modules/unistdio/u8-u8-vsnprintf: New file.
75955         * modules/unistdio/u8-u8-vsprintf: New file.
75956         * modules/unistdio/u16-asnprintf: New file.
75957         * modules/unistdio/u16-asprintf: New file.
75958         * modules/unistdio/u16-printf-parse: New file.
75959         * modules/unistdio/u16-snprintf: New file.
75960         * modules/unistdio/u16-sprintf: New file.
75961         * modules/unistdio/u16-vasnprintf: New file.
75962         * modules/unistdio/u16-vasprintf: New file.
75963         * modules/unistdio/u16-vsnprintf: New file.
75964         * modules/unistdio/u16-vsprintf: New file.
75965         * modules/unistdio/u16-u16-asnprintf: New file.
75966         * modules/unistdio/u16-u16-asprintf: New file.
75967         * modules/unistdio/u16-u16-snprintf: New file.
75968         * modules/unistdio/u16-u16-sprintf: New file.
75969         * modules/unistdio/u16-u16-vasnprintf: New file.
75970         * modules/unistdio/u16-u16-vasprintf: New file.
75971         * modules/unistdio/u16-u16-vsnprintf: New file.
75972         * modules/unistdio/u16-u16-vsprintf: New file.
75973         * modules/unistdio/u32-asnprintf: New file.
75974         * modules/unistdio/u32-asprintf: New file.
75975         * modules/unistdio/u32-printf-parse: New file.
75976         * modules/unistdio/u32-snprintf: New file.
75977         * modules/unistdio/u32-sprintf: New file.
75978         * modules/unistdio/u32-vasnprintf: New file.
75979         * modules/unistdio/u32-vasprintf: New file.
75980         * modules/unistdio/u32-vsnprintf: New file.
75981         * modules/unistdio/u32-vsprintf: New file.
75982         * modules/unistdio/u32-u32-asnprintf: New file.
75983         * modules/unistdio/u32-u32-asprintf: New file.
75984         * modules/unistdio/u32-u32-snprintf: New file.
75985         * modules/unistdio/u32-u32-sprintf: New file.
75986         * modules/unistdio/u32-u32-vasnprintf: New file.
75987         * modules/unistdio/u32-u32-vasprintf: New file.
75988         * modules/unistdio/u32-u32-vsnprintf: New file.
75989         * modules/unistdio/u32-u32-vsprintf: New file.
75990         * modules/unistdio/ulc-asnprintf-tests: New file.
75991         * modules/unistdio/ulc-vasnprintf-tests: New file.
75992         * modules/unistdio/ulc-vasprintf-tests: New file.
75993         * modules/unistdio/ulc-vsnprintf-tests: New file.
75994         * modules/unistdio/ulc-vsprintf-tests: New file.
75995         * modules/unistdio/u8-asnprintf-tests: New file.
75996         * modules/unistdio/u8-vasnprintf-tests: New file.
75997         * modules/unistdio/u8-vasprintf-tests: New file.
75998         * modules/unistdio/u8-vsnprintf-tests: New file.
75999         * modules/unistdio/u8-vsprintf-tests: New file.
76000         * modules/unistdio/u16-asnprintf-tests: New file.
76001         * modules/unistdio/u16-vasnprintf-tests: New file.
76002         * modules/unistdio/u16-vasprintf-tests: New file.
76003         * modules/unistdio/u16-vsnprintf-tests: New file.
76004         * modules/unistdio/u16-vsprintf-tests: New file.
76005         * modules/unistdio/u32-asnprintf-tests: New file.
76006         * modules/unistdio/u32-vasnprintf-tests: New file.
76007         * modules/unistdio/u32-vasprintf-tests: New file.
76008         * modules/unistdio/u32-vsnprintf-tests: New file.
76009         * modules/unistdio/u32-vsprintf-tests: New file.
76010         * MODULES.html.sh (Unicode string functions): Add the new modules.
76011
76012 2007-07-01  Bruno Haible  <bruno@clisp.org>
76013
76014         * lib/sprintf.c (sprintf): Limit the available length estimation,
76015         to avoid address wraparound.
76016         * lib/vsprintf.c (vsprintf): Likewise.
76017         * modules/sprintf-posix (Dependencies): Add stdint.
76018         * modules/vsprintf-posix (Dependencies): Likewise.
76019
76020 2007-07-01  Bruno Haible  <bruno@clisp.org>
76021
76022         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
76023         Windows PATH as well. Conservative double-quoting. Comments.
76024
76025 2007-07-01  Bruno Haible  <bruno@clisp.org>
76026             Eric Blake  <ebb9@byu.net>
76027             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76028
76029         * gnulib-tool (self_abspathname): Fix algorithm to cope with
76030         empty components in $PATH, denoting '.'.
76031
76032 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76033
76034         * gnulib-tool: Fix indentation.
76035         (func_create_megatestdir): Likewise.
76036         Report by Bruno Haible.
76037
76038 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76039
76040         Sync from Automake.
76041         * build-aux/gnupload: Fix shell portability issues with for loops.
76042         Report by Karl Berry.
76043
76044 2007-06-29  Simon Josefsson  <simon@josefsson.org>
76045
76046         * build-aux/maint.mk (POURL): Use translationproject.org.
76047
76048 2007-06-27  Simon Josefsson  <simon@josefsson.org>
76049             Bruno Haible  <bruno@clisp.org>
76050
76051         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
76052         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
76053         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
76054         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
76055         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
76056
76057 2007-06-27  Bruno Haible  <bruno@clisp.org>
76058
76059         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
76060         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
76061
76062 2007-06-26  Karl Berry  <karl@gnu.org>
76063
76064         * MODULES.html.sh: remove xreadlink-with-size.
76065
76066 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
76067
76068         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
76069         method that I hope also handles the double-include problem noted
76070         by Bruno Haible in
76071         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
76072
76073 2007-06-23  Bruno Haible  <bruno@clisp.org>
76074
76075         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76076         Don't let the 'mostlyclean' target fail if the last subdirectory could
76077         not be removed.
76078         Reported by Karl Berry.
76079
76080 2007-06-23  Bruno Haible  <bruno@clisp.org>
76081
76082         * gnulib-tool (echo): Add a speedier workaround for ksh.
76083         * tests/test-echo.sh: Likewise.
76084
76085 2007-06-23  Bruno Haible  <bruno@clisp.org>
76086
76087         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
76088         * tests/test-echo.sh: Likewise.
76089
76090 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76091
76092         * gnulib-tool (IFS): Initialize early, so we don't set it to
76093         empty later.
76094         (self_abspathname): Rewrite algorithm to set it, reindent.
76095         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
76096         (func_create_megatestdir): Merge some sed scripts.
76097
76098 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
76099
76100         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
76101         exposed by Sun Studio 11 cc on Solaris 8.
76102
76103 2007-06-22  Bruno Haible  <bruno@clisp.org>
76104
76105         * gnulib-tool (echo): Ensure the echo primitive does not interpret
76106         backslashes.
76107         * tests/test-echo.sh: New file.
76108
76109 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76110
76111         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
76112         simplify `sed_replace_build_aux' scripts, they are portable but
76113         echoing them with `echo' is not.
76114         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
76115
76116 2007-06-21  Karl Berry  <karl@gnu.org>
76117
76118         * config/srclist.txt: guess we can't handle the licenses via
76119         srclist at the moment.
76120
76121 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
76122
76123         * MODULES.html.sh: Add include_next.
76124         * modules/include_next: New file.
76125
76126 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
76127
76128         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
76129         INCLUDE_NEXT.
76130         (gl_CHECK_NEXT_HEADERS): New macro.
76131         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
76132         the obsolescent gl_ABSOLUTE_HEADER.
76133         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
76134         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
76135         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
76136         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
76137         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
76138         * m4/math_h.m4 (gl_MATH_H): Likewise.
76139         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
76140         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
76141         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
76142         * m4/stdint.m4 (gl_STDINT_H): Likewise.
76143         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
76144         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
76145         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
76146         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
76147         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
76148         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
76149         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
76150         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
76151         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
76152         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
76153         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
76154         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
76155         * m4/inttypes.m4 (gl_INTTYPES_H): Define
76156         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
76157         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
76158         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
76159         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
76160         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
76161         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
76162         * lib/float_.h: Likewise.
76163         * lib/inttypes_.h: Likewise.
76164         * lib/math_.h: Likewise.
76165         * lib/search_.h: Likewise.
76166         * lib/signal_.h: Likewise.
76167         * lib/stdint_.h: Likewise.
76168         * lib/stdio_.h: Likewise.
76169         * lib/stdlib_.h: Likewise.
76170         * lib/string_.h: Likewise.
76171         * lib/sys_stat_.h: Likewise.
76172         * lib/sys_time_.h: Likewise.
76173         * lib/time_.h: Likewise.
76174         * lib/unistd_.h: Likewise.
76175         * lib/wchar_.h: Likewise.
76176         * lib/wctype_.h: Likewise.
76177         * lib/dirent_.h: Likewise.
76178         * lib/iconv_.h: Likewise.
76179         * lib/locale_.h: Likewise.
76180         * lib/netinet_in_.h: Likewise.
76181         * lib/sys_select_.h: Likewise.
76182         * lib/sys_socket_.h: Likewise.
76183         * lib/sysexits_.h: Likewise.
76184         * modules/fcntl (Depends-on): Depend on include_next, not
76185         absolute_header.
76186         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
76187         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
76188         * modules/fchdir: Likewise.
76189         * modules/float: Likewise.
76190         * modules/iconv_open: Likewise.
76191         * modules/inttypes: Likewise.
76192         * modules/locale: Likewise.
76193         * modules/math: Likewise.
76194         * modules/netinet_in: Likewise.
76195         * modules/search: Likewise.
76196         * modules/signal: Likewise.
76197         * modules/stdint: Likewise.
76198         * modules/stdio: Likewise.
76199         * modules/stdlib: Likewise.
76200         * modules/string: Likewise.
76201         * modules/sys_select: Likewise.
76202         * modules/sys_socket: Likewise.
76203         * modules/sys_stat: Likewise.
76204         * modules/sys_time: Likewise.
76205         * modules/sysexits: Likewise.
76206         * modules/time: Likewise.
76207         * modules/unistd: Likewise.
76208         * modules/wchar: Likewise.
76209         * modules/wctype: Likewise.
76210         * modules/sys_stat: Change maintainer to "all".
76211         * modules/unistd: Likewise.
76212
76213 2007-06-20  Karl Berry  <karl@gnu.org>
76214
76215         * config/srclist.txt: track www changes in license files.
76216
76217 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
76218
76219         * build-aux/bootstrap: Remove stray dot.
76220         Make sure build_aux settings are honored when linking
76221         gnulib_extra_files.
76222
76223 2007-06-19  Eric Blake  <ebb9@byu.net>
76224
76225         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
76226         Allow compilation on cygwin.
76227
76228 2007-06-19  Jim Meyering  <jim@meyering.net>
76229
76230         xreadlink-with-size: Remove module.  No longer used.
76231         Ex-callers now use xreadlink or mreadlink-with-size.
76232         * modules/xreadlink-with-size: Remove module.
76233         * lib/xreadlink-with-size.c: Remove file.
76234         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
76235         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
76236         just before the function definition *is* accurate.
76237
76238         Eliminate one way canonicalize_filename_mode could exit.
76239         * lib/canonicalize.c (canonicalize_filename_mode):
76240         Use mreadlink_with_size, not xreadlink_with_size.
76241
76242 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
76243
76244         Detect porting problems to FreeBSD/arm, which has time_t wider than
76245         long int.  Original problem reported for GNU diff by Xin Li in
76246         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
76247         * modules/getdate (Depends-on): Add intprops, verify.
76248         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
76249         is an integer type no wider than long int.
76250
76251 2007-06-18  Jim Meyering  <jim@meyering.net>
76252
76253         New module: mreadlink-with-size.
76254         * MODULES.html.sh: Add mreadlink-with-size.
76255         * modules/mreadlink-with-size: New module
76256         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
76257         not xreadlink-with-size.
76258         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
76259
76260 2007-06-16  Bruno Haible  <bruno@clisp.org>
76261
76262         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
76263         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
76264         Reported by Gary V. Vaughan <gary@gnu.org>.
76265
76266 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
76267
76268         Revamp lchown so that it lives in unistd.h where it belongs.
76269         * lib/lchown.h: Remove.
76270         * lib/dirchownmod.c: Don't include lib/lchown.h.
76271         * lib/fchownat.c: Likewise.
76272         * lib/openat.c: Likewise.
76273         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
76274         does not follow symlinks.
76275         (EOPNOTSUPP): Define if not defined.
76276         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
76277         is defined to 0.
76278         (lchown): New decl.
76279         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
76280         Do not check for lchown decl.
76281         Set REPLACE_LCHOWN.
76282         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
76283         REPLACE_LCHOWN.
76284         * modules/chown: Make it clear it follows symlinks.
76285         * modules/lchown: Make it clear it doesn't follow symlinks.
76286         (Files): Remove lib/lchown.h
76287         (Depends-on): Add unistd.
76288         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
76289         (Include): Include <unistd.h>, not "lchown.h".
76290         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
76291         REPLACE_LCHOWN.
76292
76293 2007-06-15  Jim Meyering  <jim@meyering.net>
76294
76295         Change license (GPL to LGPL) of fsusage and dependents.
76296         * modules/fsusage (License): Change to LGPL.
76297         * modules/full-read (License): Likewise.
76298         * modules/full-write (License): Likewise.
76299         * modules/safe-read (License): Likewise.
76300         * modules/safe-write (License): Likewise.
76301
76302 2007-06-14  Ben Pfaff  <blp@gnu.org>
76303
76304         Missing part of allocsa -> malloca transition.
76305         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
76306         gl_MALLOCA.
76307
76308 2007-06-12  Bruno Haible  <bruno@clisp.org>
76309
76310         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
76311         to ia64, x86_64, i386.
76312         Reported by Eric Blake.
76313
76314 2007-06-12  Bruno Haible  <bruno@clisp.org>
76315
76316         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
76317         cross-compiling to x86_64.
76318
76319 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
76320
76321         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
76322         glitch reported by Ralf Wildenhues in
76323         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
76324
76325         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
76326         Vin Shelton.
76327
76328 2007-06-11  Bruno Haible  <bruno@clisp.org>
76329
76330         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
76331         replacement string.
76332         Reported by Eric Blake.
76333
76334 2007-06-10  Bruno Haible  <bruno@clisp.org>
76335
76336         Prepare vasnprintf code for use with Unicode strings.
76337         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
76338         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
76339         TYPE_U32_STRING.
76340         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
76341         a_u32_string variants.
76342         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
76343         * lib/printf-args.c: Don't include config.h and the specification
76344         header if PRINTF_FETCHARGS is already defined.
76345         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
76346         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
76347         TYPE_U16_STRING, TYPE_U32_STRING.
76348         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
76349         u16_directive, u16_directives, u32_directive, u32_directives): New
76350         types.
76351         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
76352         New declarations.
76353         * lib/printf-parse.c: Don't include config.h and the specification
76354         header if PRINTF_PARSE is already defined. Eliminate the set of
76355         parameters for WIDE_CHAR_VERSION; the user of this file must provide
76356         them now. Include c-ctype.h.
76357         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
76358         directive and CHAR_T_ONLY_ASCII.
76359         * lib/vasnprintf.c: Don't include config.h and the specification header
76360         if VASNPRINTF is already defined.
76361         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
76362         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
76363         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
76364         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
76365         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
76366         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
76367         code accordingly.
76368         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
76369         pad_ourselves also in this case, with the 'c' and 's' directives, and
76370         with a different notion of "width".
76371         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
76372
76373 2007-06-10  Bruno Haible  <bruno@clisp.org>
76374
76375         * modules/unistr/u32-mbsnlen: New file.
76376         * lib/unistr/u32-mbsnlen.c: New file.
76377
76378         * modules/unistr/u16-mbsnlen: New file.
76379         * lib/unistr/u16-mbsnlen.c: New file.
76380
76381         * modules/unistr/u8-mbsnlen: New file.
76382         * lib/unistr/u8-mbsnlen.c: New file.
76383
76384         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
76385         declarations.
76386
76387 2007-06-10  Bruno Haible  <bruno@clisp.org>
76388
76389         * lib/string_.h (mbsnlen): New declaration.
76390         * lib/mbsnlen.c: New file.
76391         * m4/mbsnlen.m4: New file.
76392         * modules/mbsnlen: New file.
76393         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
76394         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
76395         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
76396
76397 2007-06-10  Bruno Haible  <bruno@clisp.org>
76398
76399         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
76400
76401 2007-06-10  Bruno Haible  <bruno@clisp.org>
76402
76403         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
76404         * lib/mbuiter.h: Likewise.
76405
76406 2007-06-10  Bruno Haible  <bruno@clisp.org>
76407
76408         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
76409         declaration.
76410
76411 2007-06-10  Karl Berry  <karl@gnu.org>
76412
76413         * config/srclist.txt: remove gettext entries, Bruno prefers
76414         to update individually.
76415
76416 2007-06-10  Bruno Haible  <bruno@clisp.org>
76417
76418         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
76419         'maxlen'. Ensure only length + width bytes are allocated, not
76420         length + 1 + width.
76421
76422 2007-06-09  Bruno Haible  <bruno@clisp.org>
76423
76424         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
76425         (CHAR_T): Remove macro.
76426         (VASNPRINTF): Update.
76427
76428 2007-06-09  Bruno Haible  <bruno@clisp.org>
76429
76430         * MODULES.html.sh (Unicode string functions): Add the new modules.
76431
76432         * modules/uniconv/u32-conv-to-enc: New file.
76433         * lib/uniconv/u32-conv-to-enc.c: New file.
76434         * modules/uniconv/u32-conv-to-enc-tests: New file.
76435         * tests/uniconv/test-u32-conv-to-enc.c: New file.
76436
76437         * modules/uniconv/u16-conv-to-enc: New file.
76438         * lib/uniconv/u16-conv-to-enc.c: New file.
76439         * lib/uniconv/u-conv-to-enc.h: New file.
76440         * modules/uniconv/u16-conv-to-enc-tests: New file.
76441         * tests/uniconv/test-u16-conv-to-enc.c: New file.
76442
76443         * modules/uniconv/u8-conv-to-enc: New file.
76444         * lib/uniconv/u8-conv-to-enc.c: New file.
76445         * modules/uniconv/u8-conv-to-enc-tests: New file.
76446         * tests/uniconv/test-u8-conv-to-enc.c: New file.
76447
76448         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
76449         u32_conv_to_encoding): New declarations.
76450
76451 2007-06-09  Bruno Haible  <bruno@clisp.org>
76452
76453         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
76454
76455 2007-06-09  Bruno Haible  <bruno@clisp.org>
76456
76457         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
76458         * modules/malloca: Renamed from modules/allocsa, updated.
76459         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
76460         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
76461         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
76462         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
76463         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
76464         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
76465         * modules/xmalloca: Renamed from modules/xallocsa, updated.
76466         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
76467         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
76468         * modules/c-strcasestr (Depends-on): Update.
76469         * lib/c-strcasestr.c: Update.
76470         * modules/c-strstr (Depends-on): Update.
76471         * lib/c-strstr.c: Update.
76472         * modules/canonicalize-lgpl (Depends-on): Update.
76473         * lib/canonicalize-lgpl.c: Update.
76474         * modules/clean-temp (Depends-on): Update.
76475         * lib/clean-temp.c: Update.
76476         * modules/csharpcomp (Depends-on): Update.
76477         * lib/csharpcomp.c: Update.
76478         * modules/csharpexec (Depends-on): Update.
76479         * lib/csharpexec.c: Update.
76480         * modules/javacomp (Depends-on): Update.
76481         * lib/javacomp.c: Update.
76482         * modules/javaexec (Depends-on): Update.
76483         * lib/javaexec.c: Update.
76484         * modules/mbscasestr (Depends-on): Update.
76485         * lib/mbscasestr.c: Update.
76486         * modules/mbsstr (Depends-on): Update.
76487         * lib/mbsstr.c: Update.
76488         * modules/setenv (Depends-on): Update.
76489         * lib/setenv.c: Update.
76490         * modules/strcasestr (Depends-on): Update.
76491         * lib/strcasestr.c: Update.
76492         * modules/striconveha (Depends-on): Update.
76493         * lib/striconveha.c: Update.
76494         * modules/relocatable-prog-wrapper (Files): Update.
76495         * lib/relocwrapper.c: Update.
76496         * build-aux/install-reloc: Update.
76497         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
76498
76499 2007-06-08  Bruno Haible  <bruno@clisp.org>
76500
76501         Port to uClibc.
76502         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
76503         * lib/fpurge.c (fpurge): Likewise.
76504         * lib/freading.c (freading): Likewise.
76505         * lib/fseeko.c (rpl_fseeko): Likewise.
76506         * lib/fseterr.c (fseterr): Likewise.
76507         * lib/fwriting.c (fwriting): Likewise.
76508         * tests/test-fflush.c (main): Avoid a failure on uClibc.
76509
76510 2007-06-08  Bruno Haible  <bruno@clisp.org>
76511
76512         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
76513         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
76514         * modules/gettext (Files): Add m4/intlmacosx.m4.
76515
76516 2007-06-07  Bruno Haible  <bruno@clisp.org>
76517
76518         * modules/localename-tests: New file.
76519         * tests/test-localename.c: New file.
76520
76521         New module 'localename'.
76522         * lib/localename.h: New file.
76523         * lib/localename.c: New file, from GNU gettext.
76524         * m4/localename.m4: New file.
76525         * modules/localename: New file.
76526
76527 2007-06-07  Bruno Haible  <bruno@clisp.org>
76528
76529         Work around the lack of <wchar.h> on some builds of uClibc.
76530         * doc/headers/wchar.texi: Update.
76531         * lib/wchar_.h: Include <wchar.h> only if it exists.
76532         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
76533         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
76534         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
76535         doesn't exist.
76536         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
76537         * modules/mbfile (Depends-on): Add wchar.
76538         * modules/mbiter (Depends-on): Likewise.
76539         * modules/mbuiter (Depends-on): Likewise.
76540         Reported by Simon Josefsson.
76541
76542 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
76543
76544         Work around problem reported by Steven M. Schweda in
76545         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
76546         Tru64 5.1B with the Compaq compiler environment installed declares
76547         an 'isblank' function but does not define it in the C library.
76548         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
76549         * lib/regex_internal.h (isblank): Likewise.
76550         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
76551         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
76552
76553 2007-06-05  Bruno Haible  <bruno@clisp.org>
76554
76555         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
76556         ia64.
76557         * modules/printf-safe: New file.
76558         * modules/fprintf-posix (Depends-on): Add printf-safe.
76559         * modules/printf-posix (Depends-on): Likewise.
76560         * modules/snprintf-posix (Depends-on): Likewise.
76561         * modules/sprintf-posix (Depends-on): Likewise.
76562         * modules/vasnprintf-posix (Depends-on): Likewise.
76563         * modules/vasprintf-posix (Depends-on): Likewise.
76564         * modules/vfprintf-posix (Depends-on): Likewise.
76565         * modules/vprintf-posix (Depends-on): Likewise.
76566         * modules/vsnprintf-posix (Depends-on): Likewise.
76567         * modules/vsprintf-posix (Depends-on): Likewise.
76568         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
76569         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
76570         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
76571         "no" on i386, x86_64, ia64.
76572         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
76573         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
76574         on i386, x86_64, ia64.
76575         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
76576         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
76577         on i386, x86_64, ia64.
76578         * tests/test-vasnprintf-posix.c: Include float.h.
76579         (LDBL80_WORDS): New macro.
76580         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
76581         on i386, x86_64, ia64.
76582         * tests/test-vasprintf-posix.c: Include float.h.
76583         (LDBL80_WORDS): New macro.
76584         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
76585         on i386, x86_64, ia64.
76586         * tests/test-snprintf-posix.c: Include float.h.
76587         * tests/test-sprintf-posix.c: Likewise.
76588         * tests/test-vsnprintf-posix.c: Likewise.
76589         * tests/test-vsprintf-posix.c: Likewise.
76590
76591 2007-06-05  Bruno Haible  <bruno@clisp.org>
76592
76593         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
76594         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
76595         non-IEEE numbers on i386, x86_64, ia64.
76596         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
76597         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
76598         * tests/test-isnanl.h: Include float.h.
76599         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
76600
76601 2007-06-05  Bruno Haible  <bruno@clisp.org>
76602
76603         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
76604         also the %a / %A. Handle the %a / %A code before this extra handling.
76605
76606 2007-06-05  Bruno Haible  <bruno@clisp.org>
76607
76608         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
76609         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
76610
76611 2007-06-05  Bruno Haible  <bruno@clisp.org>
76612
76613         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
76614         typo in variable name.
76615
76616 2007-06-05  Eric Blake  <ebb9@byu.net>
76617
76618         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
76619         Reported by Simon Josefsson.
76620
76621 2007-06-04  Bruno Haible  <bruno@clisp.org>
76622
76623         Avoid test failures on some PowerPC platforms.
76624         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
76625         Define differently for PowerPC.
76626         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
76627         Reported by Gary V. Vaughan <gary@gnu.org>.
76628
76629 2007-06-02  Bruno Haible  <bruno@clisp.org>
76630
76631         Fix test-stdint failure on FreeBSD/ia64.
76632         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
76633         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
76634         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
76635         * doc/headers/stdint.texi: Update.
76636
76637 2007-06-01  Bruno Haible  <bruno@clisp.org>
76638
76639         * tests/test-binary-io.c (main): Pass a third argument to open().
76640         Reported by Gary V. Vaughan <gary@gnu.org>.
76641
76642 2007-06-01  Bruno Haible  <bruno@clisp.org>
76643
76644         * doc/functions/frexpl.texi: Update for mingw.
76645
76646 2007-06-01  Bruno Haible  <bruno@clisp.org>
76647
76648         * tests/test-lseek.c (main): Disable test of errno for invalid third
76649         argument.
76650         * doc/functions/lseek.texi: Update.
76651         Reported by Gary V. Vaughan <gary@gnu.org>.
76652
76653 2007-05-28  Bruno Haible  <bruno@clisp.org>
76654
76655         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
76656
76657 2007-05-31  Eric Blake  <ebb9@byu.net>
76658
76659         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
76660         cross compiling.
76661
76662 2007-05-30  Eric Blake  <ebb9@byu.net>
76663         and Bruno Haible  <bruno@clisp.org>
76664
76665         Work around mingw test failures exposed by m4-1.4.9b.
76666         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
76667         * tests/test-unistd.c: Disable uid_t and git_t tests for the
76668         moment.
76669
76670 2007-05-30  Bruno Haible  <bruno@clisp.org>
76671
76672         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
76673         assuming that they are closed. Needed on HP-UX 11.
76674
76675 2007-05-29  Bruno Haible  <bruno@clisp.org>
76676
76677         Fix a problem with #include_next.
76678         * lib/dirent_.h: Split the double-inclusion guard.
76679         * lib/fcntl_.h: Likewise.
76680         * lib/float_.h: Likewise.
76681         * lib/iconv_.h: Likewise.
76682         * lib/inttypes_.h: Likewise.
76683         * lib/locale_.h: Likewise.
76684         * lib/math_.h: Likewise.
76685         * lib/netinet_in_.h: Likewise.
76686         * lib/search_.h: Likewise.
76687         * lib/signal_.h: Likewise.
76688         * lib/stdint_.h: Likewise.
76689         * lib/stdio_.h: Likewise.
76690         * lib/stdlib_.h: Likewise.
76691         * lib/string_.h: Likewise.
76692         * lib/sys_select_.h: Likewise.
76693         * lib/sys_socket_.h: Likewise.
76694         * lib/sys_stat_.h: Likewise.
76695         * lib/sys_time_.h: Likewise.
76696         * lib/sysexits_.h: Likewise.
76697         * lib/time_.h: Likewise.
76698         * lib/unistd_.h: Likewise.
76699         * lib/wchar_.h: Likewise.
76700         * lib/wctype_.h: Likewise.
76701
76702 2007-05-29  Bruno Haible  <bruno@clisp.org>
76703
76704         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
76705         for the moment.
76706
76707 2007-05-29  Bruno Haible  <bruno@clisp.org>
76708
76709         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
76710         invocation.
76711         Reported by Eric Blake.
76712
76713 2007-05-29  Bruno Haible  <bruno@clisp.org>
76714
76715         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
76716         compiling case.
76717
76718 2007-05-29  Eric Blake  <ebb9@byu.net>
76719             Bruno Haible  <bruno@clisp.org>
76720
76721         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
76722         cross compiles.
76723
76724 2007-05-28  Eric Blake  <ebb9@byu.net>
76725
76726         * modules/closein-tests (test_closein_LDADD): Support test on
76727         cygwin with libtool.
76728
76729 2007-05-28  Bruno Haible  <bruno@clisp.org>
76730
76731         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
76732         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
76733         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
76734         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
76735         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
76736         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
76737         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
76738         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
76739         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
76740
76741 2007-05-28  Eric Blake  <ebb9@byu.net>
76742
76743         Unconditionally include <config.h> in unit tests.
76744         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
76745         * tests/test-allocsa.c, tests/test-arcfour.c,
76746         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
76747         tests/test-array_list.c, tests/test-array_oset.c,
76748         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
76749         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
76750         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
76751         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
76752         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
76753         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
76754         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
76755         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
76756         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
76757         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
76758         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
76759         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
76760         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
76761         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
76762         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
76763         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
76764         test-md5.c, test-memmem.c, test-printf-posix.c,
76765         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
76766         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
76767         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
76768         test-strcasestr.c, test-striconv.c, test-striconveh.c,
76769         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
76770         test-vasnprintf-posix2.c, test-vasnprintf.c,
76771         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
76772         test-vfprintf-posix.c, test-vprintf-posix.c,
76773         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
76774         test-xvasprintf.c: Likewise.
76775
76776 2007-05-28  Bruno Haible  <bruno@clisp.org>
76777
76778         * gnulib-tool (func_import): Remember the --with-tests command-line
76779         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
76780         Reported by Eric Blake.
76781
76782 2007-05-28  Bruno Haible  <bruno@clisp.org>
76783
76784         * modules/ftell-tests: New file.
76785         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
76786         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
76787
76788         * lib/ftell.c: New file.
76789         * modules/ftell: New file.
76790         * m4/ftell.m4: New file.
76791         * doc/functions/ftell.texi: Update.
76792         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
76793         REPLACE_FTELL.
76794         * lib/stdio_.h (rpl_ftell): New declaration.
76795         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
76796         REPLACE_FTELL.
76797
76798 2007-05-28  Eric Blake  <ebb9@byu.net>
76799
76800         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
76801
76802 2007-05-28  Bruno Haible  <bruno@clisp.org>
76803
76804         * modules/fseek-tests: New file.
76805         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
76806         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
76807
76808         * lib/fseek.c: New file.
76809         * modules/fseek: New file.
76810         * m4/fseek.m4: New file.
76811         * doc/functions/fseek.texi: Update.
76812         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
76813         REPLACE_FSEEK.
76814         * lib/stdio_.h (rpl_fseek): New declaration.
76815         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
76816         REPLACE_FSEEK.
76817
76818 2007-05-28  Bruno Haible  <bruno@clisp.org>
76819
76820         * lib/stdio_.h (fflush): More comments.
76821
76822 2007-05-28  Bruno Haible  <bruno@clisp.org>
76823
76824         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
76825         runtime test.
76826
76827 2007-05-28  Eric Blake  <ebb9@byu.net>
76828
76829         Improve lseek module.
76830         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
76831         * lib/unistd_.h (lseek): Scale back link warning message.
76832         * tests/test-lseek.c: Beef up test.
76833         * tests/test-lseek.sh: Exercise more facets of lseek.
76834         Reported by Bruno Haible.
76835
76836 2007-05-28  Bruno Haible  <bruno@clisp.org>
76837
76838         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
76839         to define.
76840
76841 2007-05-27  Bruno Haible  <bruno@clisp.org>
76842
76843         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
76844
76845 2007-05-27  Bruno Haible  <bruno@clisp.org>
76846
76847         * modules/openmp: New file.
76848         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
76849         Noah Misch.
76850
76851 2007-05-26  Bruno Haible  <bruno@clisp.org>
76852
76853         * modules/chdir-long (Depends-on): Add fchdir.
76854         * modules/chdir-safer (Depends-on): Likewise.
76855         * modules/fts (Depends-on): Likewise.
76856         * modules/fts-lgpl (Depends-on): Likewise.
76857         * modules/openat (Depends-on): Likewise.
76858         * modules/savewd (Depends-on): Likewise.
76859
76860 2007-05-24  Eric Blake  <ebb9@byu.net>
76861
76862         Fix lseek on mingw.
76863         * modules/lseek: New module.
76864         * m4/lseek.m4: New file.
76865         * lib/lseek.c: New file.
76866         * modules/lseek-tests: New file.
76867         * tests/test-lseek.c: New file.
76868         * tests/test-lseek.sh: New file.
76869         * MODULES.html.sh: Document lseek module.
76870         * modules/fflush (Depends-on): Add lseek, fseeko.
76871         * modules/fseeko (Depends-on): Likewise.
76872         * modules/ftello (Depends-on): Likewise.
76873         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
76874         broken.
76875         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
76876         broken.
76877         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
76878         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
76879         * lib/ftello.c (rpl_ftello): Likewise.
76880         * tests/test-fseeko.c (main): Test this.
76881         * tests/test-fseeko.sh: Likewise.
76882         * tests/test-ftello.c (main): Likewise.
76883         * tests/test-ftello.sh: Likewise.
76884         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
76885         implies replacing fseek.
76886         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
76887         HAVE_FTELLO.
76888         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
76889         * modules/unistd (Makefile.am): Likewise.
76890         * lib/unistd_.h (lseek): Declare a replacement.
76891         * doc/functions/lseek.texi (lseek): Document this fix.
76892         * doc/functions/fseek.texi (fseek): Likewise.
76893         * doc/functions/ftell.texi (ftell): Likewise.
76894
76895 2007-05-24  Bruno Haible  <bruno@clisp.org>
76896
76897         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
76898         in the printed representation of a NaN.
76899         * tests/test-vasprintf-posix.c (test_function): Likewise.
76900         * tests/test-snprintf-posix.h (test_function): Likewise.
76901         * tests/test-sprintf-posix.h (test_function): Likewise.
76902         Reported by Eric Blake.
76903
76904 2007-05-23  Eric Blake  <ebb9@byu.net>
76905
76906         Fix fseeko/ftello on cygwin 1.5.24.
76907         * doc/functions/fseeko.texi (fseeko): Document the fix.
76908         * doc/functions/ftello.texi (ftello): Document the fix.
76909         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
76910         * doc/functions/stdout.text (stdout): New file.
76911         * doc/functions/stderr.text (stderr): New file.
76912         * doc/gnulib.texi (Function Substitutes): Use new files.
76913         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
76914         prior to 1.7.0.
76915         * tests/test-ftello.c (main): Likewise for ftello.
76916         * tests/test-fseeko.sh: New file.
76917         * tests/test-ftello.sh: New file.
76918         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
76919         with seekable stdin.
76920         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
76921         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
76922         (gl_REPLACE_FSEEKO): New macro.
76923         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
76924         * modules/fseeko (Files): Distribute fseeko.c.
76925         * modules/ftello (Files): Distribute ftello.c.
76926         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
76927         mode.
76928         * lib/ftello.c (rpl_ftello): New file.
76929         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
76930         fseeko, ftello.
76931         (gl_STDIN_LARGE_OFFSET): New macro.
76932         * modules/stdio (Makefile.am): Perform the replacement.
76933         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
76934
76935 2007-05-23  Bruno Haible  <bruno@clisp.org>
76936
76937         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
76938         GNULIB_POSIXCHECK is defined.
76939
76940 2007-05-21  Bruno Haible  <bruno@clisp.org>
76941
76942         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
76943         Check also the output for NaN arguments. When cross-compiling, guess
76944         no on IRIX.
76945         * lib/vasnprintf.c: Update comments.
76946         * tests/test-vasnprintf-posix.c (strisnan): New function.
76947         (test_function): Use it.
76948         * tests/test-vasprintf-posix.c (strisnan): New function.
76949         (test_function): Use it.
76950         * tests/test-snprintf-posix.h (strisnan): New function.
76951         (test_function): Use it.
76952         * tests/test-sprintf-posix.h (strisnan): New function.
76953         (test_function): Use it.
76954         Reported by Eric Blake.
76955
76956 2007-05-20  Bruno Haible  <bruno@clisp.org>
76957
76958         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
76959         numbers that fails on BeOS.
76960         * doc/functions/frexpl.texi: Update.
76961
76962 2007-05-20  Jim Meyering  <jim@meyering.net>
76963
76964         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
76965         forced upon us by glibc-2.6.
76966
76967 2007-05-20  Bruno Haible  <bruno@clisp.org>
76968
76969         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
76970         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
76971         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
76972         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
76973         NEED_PRINTF_INFINITE.
76974         (is_infinitel): New function.
76975         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
76976         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
76977         gl_PREREQ_VASNPRINTF_INFINITE.
76978         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
76979         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
76980         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
76981         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
76982         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
76983         gl_PREREQ_VASNPRINTF_INFINITE.
76984         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
76985         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
76986         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
76987         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
76988         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
76989         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
76990         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
76991         * doc/functions/fprintf.texi: Update.
76992         * doc/functions/printf.texi: Update.
76993         * doc/functions/snprintf.texi: Update.
76994         * doc/functions/sprintf.texi: Update.
76995         * doc/functions/vfprintf.texi: Update.
76996         * doc/functions/vprintf.texi: Update.
76997         * doc/functions/vsnprintf.texi: Update.
76998         * doc/functions/vsprintf.texi: Update.
76999
77000 2007-05-20  Bruno Haible  <bruno@clisp.org>
77001
77002         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
77003         was not found in libc.
77004         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
77005
77006 2007-05-20  Bruno Haible  <bruno@clisp.org>
77007
77008         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
77009         printed as "-nan" instead of "nan".
77010         * tests/test-vasprintf-posix.c (test_function): Likewise.
77011         * tests/test-snprintf-posix.h (test_function): Likewise.
77012         * tests/test-sprintf-posix.h (test_function): Likewise.
77013         Needed for HP-UX 11.
77014
77015 2007-05-20  Jim Meyering  <jim@meyering.net>
77016
77017         Fix buggy test for the fchownat-deref bug.
77018         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
77019         symlink required for the run-test.  Without it, this test would
77020         always declare that fchownat doesn't work, and client code would
77021         unnecessarily use the replacement function with fixed libc.
77022         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
77023         Reported by Greg Schafer.
77024
77025 2007-05-19  Bruno Haible  <bruno@clisp.org>
77026
77027         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
77028         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
77029         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
77030         Needed for IRIX 6.5 and Solaris 2.5.1.
77031
77032 2007-05-19  Bruno Haible  <bruno@clisp.org>
77033
77034         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
77035         (test_function): Skip tests involving -0.0 on platforms where
77036         -0.0 = 0.0.
77037         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
77038         (test_function): Skip tests involving -0.0 on platforms where
77039         -0.0 = 0.0.
77040         * tests/test-snprintf-posix.h (have_minus_zero): New function.
77041         (test_function): Skip tests involving -0.0 on platforms where
77042         -0.0 = 0.0.
77043         * tests/test-sprintf-posix.h (have_minus_zero): New function.
77044         (test_function): Skip tests involving -0.0 on platforms where
77045         -0.0 = 0.0.
77046         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
77047         tests.
77048         * tests/test-printf-posix.h (test_function): Likewise.
77049         * tests/test-printf-posix.output: Remove all -0.0 related results.
77050         Needed for IRIX 6.5.
77051
77052 2007-05-19  Bruno Haible  <bruno@clisp.org>
77053
77054         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
77055         printed as "nan0x7fffffff" instead of "nan".
77056         * tests/test-vasprintf-posix.c (test_function): Likewise.
77057         * tests/test-snprintf-posix.h (test_function): Likewise.
77058         * tests/test-sprintf-posix.h (test_function): Likewise.
77059         * tests/test-fprintf-posix.h (NaN): Remove macro.
77060         (test_function): Remove all NaN related tests.
77061         * tests/test-printf-posix.h (NaN): Remove macro.
77062         (test_function): Remove all NaN related tests.
77063         * tests/test-printf-posix.output: Remove all NaN related results.
77064         Needed for IRIX 6.5.
77065
77066 2007-05-19  Bruno Haible  <bruno@clisp.org>
77067
77068         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
77069         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
77070
77071 2007-05-19  Bruno Haible  <bruno@clisp.org>
77072
77073         * lib/float_.h: New file.
77074         * m4/float_h.m4: New file.
77075         * modules/float: New file.
77076         * modules/isnanl (Dependencies): Add float.
77077         * modules/isnanl-nolibm (Dependencies): Likewise.
77078         * modules/mathl (Dependencies): Likewise.
77079         * modules/printf-frexpl (Dependencies): Likewise.
77080         * modules/signbit (Dependencies): Likewise.
77081         * modules/vasnprintf (Dependencies): Likewise.
77082         * doc/headers/float.texi: Update.
77083
77084 2007-05-19  Jim Meyering  <jim@meyering.net>
77085
77086         * lib/utimens.c (gl_futimens): Rename from futimens,
77087         now that glibc-2.6 declares futimens.
77088         * lib/utimens.h: Likewise.
77089
77090 2007-05-19  Bruno Haible  <bruno@clisp.org>
77091
77092         Avoid test failures on mingw.
77093         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
77094         * tests/test-printf-posix.sh: Likewise.
77095         * tests/test-vfprintf-posix.sh: Likewise.
77096         * tests/test-vprintf-posix.sh: Likewise.
77097
77098 2007-05-19  Bruno Haible  <bruno@clisp.org>
77099
77100         Fix *printf result for NaN, Inf, -0.0 on mingw.
77101         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
77102         * lib/vasnprintf.c: Include math.h and isnan.h.
77103         (is_infinite_or_zero): New function.
77104         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
77105         values in the %f, %F, %e, %E, %g, %G directives.
77106         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
77107         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
77108         gl_PRINTF_INFINITE and test its result. Invoke
77109         gl_PREREQ_VASNPRINTF_INFINITE.
77110         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
77111         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
77112         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
77113         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
77114         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
77115         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
77116         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
77117         * doc/functions/fprintf.texi: Update.
77118         * doc/functions/printf.texi: Update.
77119         * doc/functions/snprintf.texi: Update.
77120         * doc/functions/sprintf.texi: Update.
77121         * doc/functions/vfprintf.texi: Update.
77122         * doc/functions/vprintf.texi: Update.
77123         * doc/functions/vsnprintf.texi: Update.
77124         * doc/functions/vsprintf.texi: Update.
77125
77126 2007-05-19  Bruno Haible  <bruno@clisp.org>
77127
77128         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
77129         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
77130         Instead of multiplying with 10^k, set extra_zeroes to k.
77131         (scale10_round_long_double): Remove function.
77132
77133 2007-05-18  Bruno Haible  <bruno@clisp.org>
77134
77135         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
77136         introduced on 2007-05-06.
77137
77138 2007-05-18  Bruno Haible  <bruno@clisp.org>
77139
77140         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
77141         %g directives.
77142         * tests/test-vasprintf-posix.c (test_function): Likewise.
77143         * tests/test-snprintf-posix.h (test_function): Likewise.
77144         * tests/test-sprintf-posix.h (test_function): Likewise.
77145
77146 2007-05-18  Bruno Haible  <bruno@clisp.org>
77147
77148         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
77149         (strmatch): New function.
77150         (test_function): Test the %f directive on numbers of various exponents.
77151         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
77152         (strmatch): New function.
77153         (test_function): Test the %f directive on numbers of various exponents.
77154         * tests/test-snprintf-posix.h (strmatch): New function.
77155         (test_function): Test the %f directive on numbers of various exponents.
77156         * tests/test-sprintf-posix.h (strmatch): New function.
77157         (test_function): Test the %f directive on numbers of various exponents.
77158         * tests/test-snprintf-posix.c (SIZEOF): New macro.
77159         * tests/test-sprintf-posix.c (SIZEOF): New macro.
77160         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
77161         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
77162
77163 2007-05-18  Bruno Haible  <bruno@clisp.org>
77164
77165         Add support for 'long double' number output.
77166         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
77167         * lib/vasnprintf.c: Include math.h and float+.h.
77168         (mp_limb_t): New type.
77169         (GMP_LIMB_BITS): New macro.
77170         (mp_twolimb_t): New type.
77171         (GMP_TWOLIMB_BITS): New macro.
77172         (mpn_t): New type.
77173         (multiply, divide, convert_to_decimal, decode_long_double,
77174         scale10_round_long_double, scale10_round_decimal_long_double,
77175         floorlog10l): New functions.
77176         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
77177         for the %f, %F, %e, %E, %g, %G directives.
77178         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
77179         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
77180         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
77181         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
77182         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
77183         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
77184         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
77185         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
77186         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
77187         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
77188         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
77189         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
77190         * modules/snprintf-posix (Depends-on): Likewise.
77191         * modules/sprintf-posix (Depends-on): Likewise.
77192         * modules/vasnprintf-posix (Depends-on): Likewise.
77193         * modules/vasprintf-posix (Depends-on): Likewise.
77194         * modules/vfprintf-posix (Depends-on): Likewise.
77195         * modules/vsnprintf-posix (Depends-on): Likewise.
77196         * modules/vsprintf-posix (Depends-on): Likewise.
77197         * modules/vasnprintf (Files): Add lib/float+.h.
77198         * doc/functions/fprintf.texi: Update.
77199         * doc/functions/printf.texi: Update.
77200         * doc/functions/snprintf.texi: Update.
77201         * doc/functions/sprintf.texi: Update.
77202         * doc/functions/vfprintf.texi: Update.
77203         * doc/functions/vprintf.texi: Update.
77204         * doc/functions/vsnprintf.texi: Update.
77205         * doc/functions/vsprintf.texi: Update.
77206
77207 2007-05-18  Bruno Haible  <bruno@clisp.org>
77208
77209         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
77210
77211 2007-05-18  Bruno Haible  <bruno@clisp.org>
77212
77213         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
77214         for printing 64-bit integers. Needed for mingw.
77215
77216 2007-05-18  Bruno Haible  <bruno@clisp.org>
77217
77218         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
77219         gl_FUNC_FREXPL_WORKS.
77220         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
77221
77222 2007-05-18  Bruno Haible  <bruno@clisp.org>
77223
77224         * modules/frexpl-nolibm-tests: New file.
77225
77226         * modules/frexpl-nolibm: New file.
77227         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
77228
77229 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
77230
77231         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
77232         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
77233         GCC 4.2, which otherwise issues a lot of warnings.
77234         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
77235         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
77236         Likewise.
77237         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
77238         * modules/iconv_open (iconv.h): Likewise.
77239         * modules/locale (locale.h): Likewise.
77240         * modules/netinet_in (netinet/in.h): Likewise.
77241         * modules/sys_select (sys_select.h): Likewise.
77242         * modules/sys_socket (sys/socket.h): Likewise.
77243         * modules/sys_stat (sys/stat.h): Likewise.
77244         * modules/sysexits (sysexits.h): Likewise.
77245         * modules/unistd (unistd.h): Likewise.
77246
77247 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77248
77249         * modules/closein-tests (Makefile.am): Distribute
77250         `test-closein.sh'.
77251
77252 2007-05-17  Bruno Haible  <bruno@clisp.org>
77253
77254         * tests/test-printf-posix.output: Renamed from
77255         tests/test-fprintf-posix.out.
77256         * modules/fprintf-posix-tests: Update.
77257         * modules/printf-posix-tests: Update.
77258         * modules/vfprintf-posix-tests: Update.
77259         * modules/vprintf-posix-tests: Update.
77260         * tests/test-fprintf-posix.sh: Update.
77261         * tests/test-printf-posix.sh: Update.
77262         * tests/test-vfprintf-posix.sh: Update.
77263         * tests/test-vprintf-posix.sh: Update.
77264         Reported by Ralf Wildenhues.
77265
77266 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
77267
77268         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
77269         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
77270         GCC 4.2, which otherwise issues a lot of warnings.
77271         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
77272         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
77273         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
77274         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
77275         it should no longer be needed.
77276         * lib/string_.h: Likewise.
77277         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
77278         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
77279         * modules/inttypes (inttypes.h): Likewise.
77280         * modules/math (math.h): Likewise.
77281         * modules/search (search.h): Likewise.
77282         * modules/signal (signal.h): Likewise.
77283         * modules/stdint (stdint.h): Likewise.
77284         * modules/stdio (stdio.h): Likewise.
77285         * modules/stdlib (stdlib.h): Likewise.
77286         * modules/string (string.h): Likewise.
77287         * modules/sys_time (sys/time.h): Likewise.
77288         * modules/time (time.h): Likewise.
77289         * modules/wchar (wchar.h): Likewise.
77290         * modules/wctype (wtype.h): Likewise.
77291
77292 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
77293
77294         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
77295
77296 2007-05-13  Bruno Haible  <bruno@clisp.org>
77297
77298         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
77299         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
77300         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
77301         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
77302         (gl_PREREQ_STRTOK_R): Don't require it here.
77303
77304 2007-05-13  Bruno Haible  <bruno@clisp.org>
77305
77306         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
77307         when used in C++ mode.
77308
77309 2007-05-12  Bruno Haible  <bruno@clisp.org>
77310
77311         * lib/linebuffer.h: Tweak doc.
77312         * lib/linebuffer.c: Likewise.
77313
77314 2007-05-12  James Youngman  <jay@gnu.org>
77315
77316         * lib/linebuffer.c (readlinebuffer_delim): New function,
77317         like readlinebuffer, but use a caller-specified delimiter.
77318         (readlinebuffer): Just call readlinebuffer_delim with '\n'
77319         as the delimiter.
77320         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
77321
77322 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
77323
77324         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
77325         * modules/openat (Files): Remove openat-die.c.
77326         (Depends-on): Add openat-die.
77327         * modules/openat-die: New module.
77328
77329 2007-05-06  Bruno Haible  <bruno@clisp.org>
77330
77331         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
77332         Update with info about Cygwin.
77333         * doc/functions/fprintf.texi: Update.
77334         * doc/functions/printf.texi: Update.
77335         * doc/functions/snprintf.texi: Update.
77336         * doc/functions/sprintf.texi: Update.
77337         * doc/functions/vfprintf.texi: Update.
77338         * doc/functions/vprintf.texi: Update.
77339         * doc/functions/vsnprintf.texi: Update.
77340         * doc/functions/vsprintf.texi: Update.
77341         Reported by Eric Blake.
77342
77343 2007-05-06  Bruno Haible  <bruno@clisp.org>
77344
77345         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
77346         padding ourselves for the floating-point directives.
77347         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
77348         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
77349         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
77350         gl_PRINTF_FLAG_ZERO and test its result. Invoke
77351         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
77352         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
77353         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
77354         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
77355         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
77356         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
77357         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
77358         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
77359         * tests/test-snprintf-posix.h (test_function): Also check the width
77360         and some flags in the %f directive.
77361         * tests/test-sprintf-posix.h (test_function): Likewise.
77362         * tests/test-vasnprintf-posix.c (test_function): Likewise.
77363         * tests/test-vasprintf-posix.c (test_function): Likewise.
77364         * doc/functions/fprintf.texi: Update.
77365         * doc/functions/printf.texi: Update.
77366         * doc/functions/snprintf.texi: Update.
77367         * doc/functions/sprintf.texi: Update.
77368         * doc/functions/vfprintf.texi: Update.
77369         * doc/functions/vprintf.texi: Update.
77370         * doc/functions/vsnprintf.texi: Update.
77371         * doc/functions/vsprintf.texi: Update.
77372
77373 2007-05-06  Bruno Haible  <bruno@clisp.org>
77374
77375         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
77376         pass the ' flag character to sprintf or snprintf.
77377         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
77378         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
77379         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
77380         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
77381         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
77382         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
77383         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
77384         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
77385         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
77386         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
77387         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
77388         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
77389         * tests/test-snprintf-posix.h (test_function): Also check the grouping
77390         flag.
77391         * tests/test-sprintf-posix.h (test_function): Likewise.
77392         * tests/test-vasnprintf-posix.c (test_function): Likewise.
77393         * tests/test-vasprintf-posix.c (test_function): Likewise.
77394         * doc/functions/fprintf.texi: Update.
77395         * doc/functions/printf.texi: Update.
77396         * doc/functions/snprintf.texi: Update.
77397         * doc/functions/sprintf.texi: Update.
77398         * doc/functions/vfprintf.texi: Update.
77399         * doc/functions/vprintf.texi: Update.
77400         * doc/functions/vsnprintf.texi: Update.
77401         * doc/functions/vsprintf.texi: Update.
77402
77403 2007-05-01  Bruno Haible  <bruno@clisp.org>
77404
77405         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
77406
77407 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
77408
77409         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
77410         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
77411
77412 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77413
77414         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
77415         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
77416         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
77417
77418 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
77419
77420         * lib/argp-help.c (struct hol_entry): New member `ord'.
77421         (HOL_ENTRY_PTRCMP): Use ord for comparison
77422         (hol_sort): Initialize ord.
77423
77424 2007-05-01  Bruno Haible  <bruno@clisp.org>
77425
77426         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
77427         Reported by Eric Blake.
77428         * doc/gnulib.texi (Function Substitutes): Update.
77429
77430 2007-05-01  Bruno Haible  <bruno@clisp.org>
77431
77432         * doc/functions.texi: Remove file, now redundant through
77433         doc/functions/*.texi.
77434
77435 2007-05-01  Bruno Haible  <bruno@clisp.org>
77436
77437         * modules/argp (Depends-on): Add sleep.
77438
77439 2007-05-01  Bruno Haible  <bruno@clisp.org>
77440
77441         * modules/sleep-tests: New file.
77442         * tests/test-sleep.c: New file.
77443
77444         * modules/sleep: New file.
77445         * lib/sleep.c: New file.
77446         * m4/sleep.m4: New file.
77447         * lib/unistd_.h (sleep): New declaration.
77448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
77449         HAVE_SLEEP.
77450         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
77451         * doc/functions/sleep.texi: Document the sleep module.
77452
77453 2007-05-01  Bruno Haible  <bruno@clisp.org>
77454
77455         * lib/sigprocmask.h: Remove file.
77456         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
77457         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
77458         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
77459         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
77460         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
77461         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
77462         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
77463         HAVE_SIGSET_T as a shell variable.
77464         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
77465         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
77466         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
77467         (Depends-on): Add signal. Remove verify.
77468         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
77469         (Include): Mention <signal.h> instead of sigprocmask.h.
77470         * NEWS: Mention the change.
77471         * lib/fatal-signal.c: Don't include sigprocmask.h.
77472
77473 2007-05-01  Bruno Haible  <bruno@clisp.org>
77474
77475         * modules/signal: New file.
77476         * lib/signal_.h: New file.
77477         * m4/signal_h.m4: New file.
77478
77479 2007-05-01  Bruno Haible  <bruno@clisp.org>
77480
77481         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
77482         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
77483         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
77484         HAVE_WCTYPE_CTMP_BUG into wctype.h.
77485
77486 2007-05-01  Bruno Haible  <bruno@clisp.org>
77487
77488         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
77489         configure time.
77490         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
77491         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
77492         * modules/sys_stat (Makefile.am): Substitute their values into
77493         sys/stat.h.
77494
77495 2007-05-01  Bruno Haible  <bruno@clisp.org>
77496
77497         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
77498         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
77499         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
77500
77501 2007-05-01  Bruno Haible  <bruno@clisp.org>
77502
77503         * doc/header/assert.texi: Undo last change: don't mention the gnulib
77504         'assert' module here.
77505
77506 2007-05-01  Bruno Haible  <bruno@clisp.org>
77507
77508         * doc/functions/*.texi: New files.
77509         * doc/functions/google-ranking.txt: New file.
77510         * doc/gnulib.texi (Function Substitutes): New chapter.
77511         (ctime, inet_ntoa): Remove sections.
77512         * doc/ctime.texi: Remove file.
77513         * doc/inet_ntoa.texi: Remove file.
77514         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
77515         dependencies.
77516         (%.info): New rule, specifying a --reference-limit.
77517
77518 2007-05-01  Bruno Haible  <bruno@clisp.org>
77519
77520         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
77521
77522 2007-05-01  Bruno Haible  <bruno@clisp.org>
77523
77524         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
77525         the portability of 'mkdir' to mingw systems.
77526
77527 2007-05-01  Bruno Haible  <bruno@clisp.org>
77528
77529         * doc/headers/google-ranking.txt: New file.
77530
77531 2007-04-30  Eric Blake  <ebb9@byu.net>
77532
77533         Prefer fseeko to fseek.
77534         * modules/getpass (Depends-on): Add fseeko.
77535         * lib/getpass.c (getpass): Use fseeko, not fseek.
77536
77537 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
77538
77539         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
77540         assumes the sorting is stable, while most qsort implementations
77541         are not.  Use argument addresses to ensure they never compare as
77542         equal.
77543
77544         * tests/test-argp-2.sh (usage-indent test): Fix output
77545         (func_compare): Restore diff options
77546         * tests/test-argp.c: Restore #include "progname.h"
77547
77548 2007-04-29  Bruno Haible  <bruno@clisp.org>
77549
77550         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
77551         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
77552         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
77553         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
77554         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
77555         (configure.ac): Define CHECK_SNPRINTF_POSIX.
77556         (TESTS, check_PROGRAMS): Add test-snprintf.
77557         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
77558         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
77559         (TESTS, check_PROGRAMS): Add test-vsnprintf.
77560         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
77561         assertions that fail on HP-UX, OSF/1, or IRIX.
77562         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
77563
77564 2007-04-29  Bruno Haible  <bruno@clisp.org>
77565
77566         * MODULES.html.sh (posix_functions): Remove 'contents'.
77567
77568 2007-04-29  Karl Berry  <karl@gnu.org>
77569
77570         * config/srclist.txt (gendocs_template_min): new entry.
77571
77572 2007-04-29  Bruno Haible  <bruno@clisp.org>
77573
77574         Work around fpurge bug on BSD systems.
77575         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
77576         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
77577         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
77578         fpurge to rpl_fpurge if the system already has this function.
77579         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
77580         the case where the system already has this function. Correct invariants
77581         on BSD systems.
77582         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
77583         BSD systems.
77584
77585 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
77586
77587         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
77588         proposed by Sven Verdoolaege.
77589
77590         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
77591         options.
77592         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
77593         (usage and help tests): Update
77594
77595 2007-04-29  Bruno Haible  <bruno@clisp.org>
77596
77597         * tests/test-fflush.c (main): Use a file of size 17, not 10.
77598         Print more information in case of failure. Disable a test on BeOS.
77599
77600 2007-04-29  Bruno Haible  <bruno@clisp.org>
77601
77602         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
77603         This helps debugging on systems on which no gdb is available.
77604
77605 2007-04-29  Bruno Haible  <bruno@clisp.org>
77606
77607         * lib/freading.h: Improve comments.
77608         * lib/fwriting.h: Likewise.
77609         * tests/test-freading.c (main): Don't check freading immediately after
77610         repositioning. Needed for glibc.
77611
77612 2007-04-29  Bruno Haible  <bruno@clisp.org>
77613
77614         * lib/freading.c (freading): Trivial simplification.
77615
77616 2007-04-28  Bruno Haible  <bruno@clisp.org>
77617
77618         * tests/test-fwriting.c (main): Also test the interaction between
77619         fflush and fwriting.
77620         * modules/fwriting-tests (Depends-on): Add fflush.
77621
77622         * tests/test-freading.c (main): Also test the interaction between
77623         fflush and freading.
77624         * modules/freading-tests (Depends-on): Add fflush.
77625
77626 2007-04-28  Bruno Haible  <bruno@clisp.org>
77627
77628         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
77629         fseeko and ftello.
77630         Suggested by Eric Blake.
77631
77632 2007-04-28  Jim Meyering  <jim@meyering.net>
77633
77634         Avoid false-negative in gl_STDINT_H's C99 conformance test.
77635         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
77636         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
77637
77638 2007-04-27  Eric Blake  <ebb9@byu.net>
77639
77640         * doc/headers/assert.texi (assert.h): Document assert module use.
77641
77642 2007-04-27  Bruno Haible  <bruno@clisp.org>
77643
77644         * doc/headers/*.texi: New files.
77645         * doc/gnulib.texi (Header File Substitutes): New chapter.
77646         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
77647         dependencies.
77648         (standards.info ,standards.html, standards.dvi): Update dependencies.
77649         (mostlyclean, clean): New targets.
77650
77651 2007-04-27  Bruno Haible  <bruno@clisp.org>
77652
77653         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
77654         * modules/sysexits (Files, Makefile.am): Update.
77655
77656         * lib/sys_socket_.h: Renamed from lib/socket_.h.
77657         * modules/sys_socket (Files, Makefile.am): Update.
77658
77659         * lib/sys_stat_.h: Renamed from lib/stat_.h.
77660         * modules/sys_stat (Files, Makefile.am): Update.
77661
77662 2007-04-27  Eric Blake  <ebb9@byu.net>
77663
77664         * lib/freading.h: Improve comments.
77665         * lib/fwriting.h: Likewise.
77666         * lib/fflush.c: Likewise.
77667
77668         Fix closein for mingw.
77669         * modules/closein-tests: Add tests for closein.
77670         * tests/test-closein.c: New file.
77671         * tests/test-closein.sh: Likewise.
77672         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
77673         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
77674
77675 2007-04-27  Bruno Haible  <bruno@clisp.org>
77676
77677         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
77678         version is < 6.
77679         * lib/math_.h [__DECC]: Likewise.
77680         * lib/stdio_.h [__DECC]: Likewise.
77681         * lib/stdlib_.h [__DECC]: Likewise.
77682         * lib/string_.h [__DECC]: Likewise.
77683         * lib/time_.h [__DECC]: Likewise.
77684         * lib/wchar_.h [__DECC]: Likewise.
77685         * lib/wctype_.h [__DECC]: Likewise.
77686
77687 2007-04-27  Bruno Haible  <bruno@clisp.org>
77688
77689         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
77690
77691 2007-04-27  Bruno Haible  <bruno@clisp.org>
77692
77693         * lib/fflush.c: Add comments.
77694         * modules/fpurge-tests (Depends-on): Add fflush.
77695         * modules/freadable-tests (Depends-on): Likewise.
77696         * modules/fwritable-tests (Depends-on): Likewise.
77697
77698 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
77699
77700         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
77701         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
77702         Report by Bruno Haible <bruno@clisp.org>.
77703
77704 2007-04-26  Eric Blake  <ebb9@byu.net>
77705
77706         Fix fflush on mingw.
77707         * modules/fflush (Depends-on): Add freading.
77708         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
77709         but unread data.
77710
77711 2007-04-26  Eric Blake  <ebb9@byu.net>
77712         and Bruno Haible  <bruno@clisp.org>
77713
77714         Implement freading and fwriting.
77715         * lib/freading.c: New file.
77716         * lib/freading.h: Likewise.
77717         * m4/freading.m4: Likewise.
77718         * modules/freading: Likewise.
77719         * modules/freading-tests: Likewise.
77720         * tests/test-freading.c: Likewise.
77721         * lib/fwriting.c: New file.
77722         * lib/fwriting.h: Likewise.
77723         * m4/fwriting.m4: Likewise.
77724         * modules/fwriting: Likewise.
77725         * modules/fwriting-tests: Likewise.
77726         * tests/test-fwriting.c: Likewise.
77727         * MODULES.html.sh (File stream based Input/Output): Mention them.
77728
77729 2007-04-26  Bruno Haible  <bruno@clisp.org>
77730
77731         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
77732         'long' when we assume it.
77733         Suggested by Eric Blake.
77734
77735 2007-04-26  Bruno Haible  <bruno@clisp.org>
77736
77737         Ensure fseeko, ftello are declared on glibc systems.
77738         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
77739         * modules/fseeko (configure.ac-early): Likewise.
77740         * modules/ftello (configure.ac-early): Likewise.
77741         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
77742         AC_FUNC_FSEEKO for this.
77743         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
77744         (gl_CHECK_FSEEKO): Remove macro.
77745
77746 2007-04-26  Bruno Haible  <bruno@clisp.org>
77747
77748         * tests/test-fflush.c (main): Also check the ftell result after
77749         fflush and fseek/fseeko.
77750         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
77751         file descriptor position cache in the stream.
77752         * lib/fseeko.c (rpl_fseeko): Likewise.
77753
77754 2007-04-26  Bruno Haible  <bruno@clisp.org>
77755
77756         * modules/fflush-tests (Depends-on): Add fseeko.
77757
77758 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
77759             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77760
77761         * lib/argz_.h: ensure error_t definition is obtained in same
77762         mechanism system argz.h would have.
77763         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
77764         argz facilities are known bad.  Err on the side of caution if
77765         cross-compiling.
77766
77767 2007-04-25  Eric Blake  <ebb9@byu.net>
77768
77769         * lib/fpurge.c (includes): Use stdlib.h for free.
77770         * tests/test-fflush.c (main): Also test fflush-fseeko.
77771
77772 2007-04-25  Bruno Haible  <bruno@clisp.org>
77773
77774         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
77775         * lib/fseeko.c: New file.
77776         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
77777         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
77778         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
77779         gl_FUNC_FSEEKO.
77780         (gl_FUNC_FSEEKO): Invoke it.
77781         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
77782         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
77783         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
77784
77785 2007-04-25  Bruno Haible  <bruno@clisp.org>
77786
77787         * modules/fflush (Depends-on): Add ftello.
77788
77789 2007-04-25  Bruno Haible  <bruno@clisp.org>
77790
77791         * modules/ftello-tests: New file.
77792         * tests/test-ftello.c: New file.
77793
77794         * modules/ftello: New file.
77795         * m4/ftello.m4: New file.
77796         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
77797         HAVE_FTELLO.
77798         * lib/stdio_.h (ftello): New declaration.
77799         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
77800         HAVE_FTELLO.
77801
77802 2007-04-25  Bruno Haible  <bruno@clisp.org>
77803
77804         * modules/fseeko-tests: New file.
77805         * tests/test-fseeko.c: New file.
77806
77807         * modules/fseeko: New file.
77808         * m4/fseeko.m4: New file.
77809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
77810         HAVE_FSEEKO.
77811         * lib/stdio_.h (fseeko): New declaration.
77812         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
77813         HAVE_FSEEKO.
77814
77815 2007-04-25  Bruno Haible  <bruno@clisp.org>
77816
77817         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
77818
77819 2007-04-25  Bruno Haible  <bruno@clisp.org>
77820
77821         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
77822         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
77823         * tests/test-unistd.c: Likewise.
77824         * tests/test-fcntl.c: Likewise.
77825
77826 2007-04-23  Eric Blake  <ebb9@byu.net>
77827
77828         * lib/fflush.c: Fix missing include.
77829         Reported by Bruno Haible.
77830
77831 2007-04-23  Bruno Haible  <bruno@clisp.org>
77832
77833         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
77834         Reported by Eric Blake.
77835
77836 2007-04-23  Bruno Haible  <bruno@clisp.org>
77837
77838         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
77839
77840 2007-04-23  Bruno Haible  <bruno@clisp.org>
77841
77842         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
77843
77844 2007-04-23  Bruno Haible  <bruno@clisp.org>
77845
77846         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
77847         Needed on HP-UX 11.
77848
77849 2007-04-16  Eric Blake  <ebb9@byu.net>
77850
77851         Make fflush rely on fpurge.
77852         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
77853         open coding all variants.
77854         * modules/fflush (Depends-on): Add fpurge and unistd.
77855         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
77856         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
77857
77858         Fix --with-tests compilation on cygwin.
77859         * modules/argmatch-tests (Makefile.am): List gnulib library first
77860         in LDADD.
77861         * modules/argp-tests (Makefile.am): Likewise.
77862         * modules/array-list-tests (Makefile.am): Likewise.
77863         * modules/array-oset-tests (Makefile.am): Likewise.
77864         * modules/avltree-list-tests (Makefile.am): Likewise.
77865         * modules/avltree-oset-tests (Makefile.am): Likewise.
77866         * modules/avltreehash-list-tests (Makefile.am): Likewise.
77867         * modules/carray-list-tests (Makefile.am): Likewise.
77868         * modules/dirname-tests (Makefile.am): Likewise.
77869         * modules/frexp-tests (Makefile.am): Likewise.
77870         * modules/isnanl-tests (Makefile.am): Likewise.
77871         * modules/linked-list-tests (Makefile.am): Likewise.
77872         * modules/linkedhash-list-tests (Makefile.am): Likewise.
77873         * modules/lock-tests (Makefile.am): Likewise.
77874         * modules/rbtree-list-tests (Makefile.am): Likewise.
77875         * modules/rbtree-oset-tests (Makefile.am): Likewise.
77876         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
77877         * modules/tls-tests (Makefile.am): Likewise.
77878         * modules/tsearch-tests (Makefile.am): Likewise.
77879         * modules/xvasprintf-tests (Makefile.am): Likewise.
77880
77881         Fix fpurge for cygwin.
77882         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
77883         value.
77884         * modules/fpurge-tests (Depends-on): Clean up trash.
77885
77886 2007-04-16  Simon Josefsson  <simon@josefsson.org>
77887
77888         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
77889
77890         * m4/autobuild.m4: Re-indent.
77891
77892 2007-04-13  Bruno Haible  <bruno@clisp.org>
77893
77894         * modules/fpurge-tests: New file.
77895         * tests/test-fpurge.c: New file.
77896
77897         * modules/fpurge: New file.
77898         * lib/fpurge.h: New file.
77899         * lib/fpurge.c: New file.
77900         * m4/fpurge.m4: New file.
77901
77902 2007-04-13  Bruno Haible  <bruno@clisp.org>
77903
77904         * modules/fbufmode-tests: New file.
77905         * tests/test-fbufmode.c: New file.
77906
77907         * modules/fbufmode: New file.
77908         * lib/fbufmode.h: New file.
77909         * lib/fbufmode.c: New file.
77910         * m4/fbufmode.m4: New file.
77911
77912 2007-04-13  Bruno Haible  <bruno@clisp.org>
77913
77914         * modules/fwritable-tests: New file.
77915         * tests/test-fwritable.c: New file.
77916
77917         * modules/fwritable: New file.
77918         * lib/fwritable.h: New file.
77919         * lib/fwritable.c: New file.
77920         * m4/fwritable.m4: New file.
77921
77922 2007-04-13  Bruno Haible  <bruno@clisp.org>
77923
77924         * modules/freadable-tests: New file.
77925         * tests/test-freadable.c: New file.
77926
77927         * modules/freadable: New file.
77928         * lib/freadable.h: New file.
77929         * lib/freadable.c: New file.
77930         * m4/freadable.m4: New file.
77931
77932 2007-04-13  Bruno Haible  <bruno@clisp.org>
77933
77934         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
77935         MOSTLYCLEANFILES.
77936
77937 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77938
77939         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
77940         gzip bootstrap.conf to avoid dragging in i18n machinery.
77941         (gnulib_tool_option): Use it.
77942
77943 2007-04-13  Bruno Haible  <bruno@clisp.org>
77944
77945         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
77946         %F directives.
77947         * tests/test-vasprintf-posix.c (test_function): Likewise.
77948         * tests/test-snprintf-posix.h (test_function): Likewise.
77949         * tests/test-sprintf-posix.h (test_function): Likewise.
77950         * tests/test-fprintf-posix.h (test_function): Likewise.
77951         * tests/test-printf-posix.h (test_function): Likewise.
77952         * tests/test-fprintf-posix.out: Likewise.
77953
77954 2007-04-13  Bruno Haible  <bruno@clisp.org>
77955
77956         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
77957         * modules/tls-tests (configure.ac): Likewise.
77958         Reported by Arto C. Nirkko <anirkko@insel.ch>.
77959
77960 2007-04-13  Bruno Haible  <bruno@clisp.org>
77961
77962         * lib/tls.c (glthread_tls_get): Fix return type.
77963         Patch by Arto C. Nirkko <anirkko@insel.ch>.
77964
77965 2007-04-12  Eric Blake  <ebb9@byu.net>
77966
77967         * modules/gettime (Depends-on): Remove gettime.
77968         Reported by Dmitry V. Levin.
77969
77970 2007-04-12  Bruno Haible  <bruno@clisp.org>
77971
77972         * modules/fflush (Include): Mention <stdio.h>.
77973         * modules/strtoimax (Include): Mention <inttypes.h>.
77974         * modules/strtoumax (Include): Likewise.
77975
77976 2007-04-12  Eric Blake  <ebb9@byu.net>
77977
77978         * .cvsignore: New file.
77979         * .gitignore: Likewise.
77980
77981 2007-04-12  Bruno Haible  <bruno@clisp.org>
77982
77983         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
77984         not before, since $(LDADD) often contains libgnu.a.
77985         * modules/striconv-tests (test_striconv_LDADD): Likewise.
77986         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
77987         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
77988         Needed on Cygwin.
77989
77990 2007-04-12  Eric Blake  <ebb9@byu.net>
77991
77992         Work around glibc's failure to flush stdin on fclose.
77993         * lib/closein.c (close_stdin): Flush stdin before closing.
77994
77995         Work around glibc's failure to reset seekable stdin on exit.
77996         * modules/closein: New module.
77997         * lib/closein.c: New file.
77998         * lib/closein.h: Likewise.
77999         * m4/closein.m4: Likewise.
78000         * MODULES.html.sh (File stream based Input/Output): Document it.
78001
78002 2007-04-12  Simon Josefsson  <simon@josefsson.org>
78003
78004         * gnulib-tool: Rename generated 'autobuild' script to
78005         'do-autobuild' in --create-megatestdir output.
78006
78007         * doc/gnulib.texi (Build robot for gnulib): Fix.
78008
78009 2007-04-12  Simon Josefsson  <simon@josefsson.org>
78010
78011         * modules/sysexits (Depends-on): Add absolute-header.
78012
78013 2007-04-12  Eric Blake  <ebb9@byu.net>
78014
78015         No need to preserve errno on success.
78016         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
78017         Reported by Bruno Haible.
78018
78019 2007-04-12  Simon Josefsson  <simon@josefsson.org>
78020
78021         * MODULES.html.sh (Support for maintaining and releasing
78022         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
78023
78024 2007-04-12  Simon Josefsson  <simon@josefsson.org>
78025
78026         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
78027
78028 2007-04-12  Simon Josefsson  <simon@josefsson.org>
78029
78030         * modules/autobuild: New module.
78031
78032         * m4/autobuild.m4: New file.
78033
78034 2007-04-11  Bruno Haible  <bruno@clisp.org>
78035
78036         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
78037         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
78038         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
78039         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
78040         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
78041         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
78042         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
78043         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
78044         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
78045         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
78046         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
78047         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
78048         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
78049         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
78050         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
78051         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
78052         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
78053         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
78054         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
78055         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
78056         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
78057         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
78058         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
78059         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
78060         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
78061         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
78062         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
78063         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
78064         Reported by Eric Blake.
78065
78066 2007-04-11  Bruno Haible  <bruno@clisp.org>
78067
78068         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
78069
78070 2007-04-10  Bruno Haible  <bruno@clisp.org>
78071
78072         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
78073         for NaN and Infinity. Needed on FreeBSD 6.1.
78074         * tests/test-vasnprintf-posix.c (test_function): Undo last change
78075         regarding results for "%010a" of Infinity and NaN.
78076         * tests/test-vasprintf-posix.c (test_function): Likewise.
78077         * tests/test-snprintf-posix.h (test_function): Likewise.
78078         * tests/test-sprintf-posix.h (test_function): Likewise.
78079         * tests/test-fprintf-posix.h (test_function): Likewise.
78080         * tests/test-printf-posix.h (test_function): Likewise.
78081         * tests/test-fprintf-posix.out: Likewise.
78082
78083 2007-04-10  Bruno Haible  <bruno@clisp.org>
78084
78085         * modules/locale-tests: New file.
78086         * tests/test-locale.c: New file.
78087
78088         * modules/locale: New file.
78089         * lib/locale_.h: New file.
78090         * m4/locale_h.m4: New file.
78091
78092 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
78093             Bruno Haible  <bruno@clisp.org>
78094
78095         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
78096         be determined, test for availability of the copysignf, copysign,
78097         copysignl functions.
78098         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
78099         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
78100         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
78101
78102 2007-04-09  Eric Blake  <ebb9@byu.net>
78103
78104         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
78105         * modules/stdio (Makefile.am): Support fflush.
78106         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
78107         * modules/fflush: New file.
78108         * lib/fflush.c: Likewise.
78109         * m4/fflush.m4: Likewise.
78110         * modules/fflush-tests: New test.
78111         * tests/test-fflush.c: Likewise.
78112         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
78113
78114 2007-04-06  Bruno Haible  <bruno@clisp.org>
78115
78116         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
78117         (VASNPRINTF): Use signbit for faster determination whether to print a
78118         minus sign.
78119         * modules/vasnprintf (Files): Remove lib/float+.h.
78120         * modules/fprintf-posix (Depends-on): Add signbit.
78121         * modules/snprintf-posix (Depends-on): Likewise.
78122         * modules/sprintf-posix (Depends-on): Likewise.
78123         * modules/vasnprintf-posix (Depends-on): Likewise.
78124         * modules/vasprintf-posix (Depends-on): Likewise.
78125         * modules/vfprintf-posix (Depends-on): Likewise.
78126         * modules/vsnprintf-posix (Depends-on): Likewise.
78127         * modules/vsprintf-posix (Depends-on): Likewise.
78128
78129 2007-04-06  Bruno Haible  <bruno@clisp.org>
78130
78131         * tests/test-frexp.c (main): Test also the sign bit of zero results.
78132         * tests/test-frexpl.c (main): Likewise.
78133         * tests/test-ldexpl.c (main): Likewise.
78134         * modules/frexp-tests (Depends-on): Add signbit.
78135         * modules/frexpl-tests (Depdends-on): Likewise.
78136         * modules/ldexpl-tests (Depdends-on): Likewise.
78137
78138 2007-04-06  Bruno Haible  <bruno@clisp.org>
78139
78140         * modules/signbit-tests: New file.
78141         * tests/test-signbit.c: New file.
78142
78143         * modules/signbit: New file.
78144         * lib/signbitf.c: New file.
78145         * lib/signbitd.c: New file.
78146         * lib/signbitl.c: New file.
78147         * m4/signbit.m4: New file.
78148         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
78149         (signbit): New macro.
78150         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
78151         REPLACE_SIGNBIT.
78152         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
78153         REPLACE_FREXPL into math.h.
78154
78155 2007-04-06  Bruno Haible  <bruno@clisp.org>
78156
78157         * modules/isnanf-nolibm-tests: New file.
78158         * tests/test-isnanf.c: New file.
78159
78160         * modules/isnanf-nolibm: New file.
78161         * lib/isnanf.h: New file.
78162         * lib/isnanf.c: New file.
78163         * lib/isnan.c: Consider the USE_FLOAT macro.
78164         * m4/isnanf.m4: New file.
78165
78166 2007-04-06  Bruno Haible  <bruno@clisp.org>
78167
78168         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
78169         (Link): New section.
78170
78171         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
78172
78173 2007-04-06  Bruno Haible  <bruno@clisp.org>
78174
78175         Assume the 'long double' type.
78176         * m4/longdouble.m4: Remove file.
78177         * config/srclist.txt: Don't mention longdouble.m4.
78178         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
78179         * lib/float+.h: Likewise.
78180         * lib/frexp.c: Likewise.
78181         * lib/printf-args.h: Likewise.
78182         * lib/printf-args.c: Likewise.
78183         * lib/printf-frexp.c: Likewise.
78184         * lib/printf-parse.c: Likewise.
78185         * lib/vasnprintf.c: Likewise.
78186         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
78187         * m4/intl.m4: Likewise.
78188         * m4/isnanl.m4: Likewise.
78189         * m4/printf.m4: Likewise.
78190         * m4/printf-frexpl.m4: Likewise.
78191         * m4/vasnprintf.m4: Likewise.
78192         * modules/allocsa (Files): Remove m4/longdouble.m4.
78193         * modules/gettext (Files): Likewise.
78194         * modules/relocatable-prog-wrapper (Files): Likewise.
78195         * modules/vasnprintf (Files): Likewise.
78196         * modules/isnanl (Files): Likewise.
78197         (Include): Simplify.
78198         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
78199         (Include): Simplify.
78200         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
78201         (Include): Simplify.
78202         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
78203         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
78204         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
78205         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
78206         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
78207         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
78208         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
78209         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
78210         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
78211         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
78212         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
78213         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
78214         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
78215         * tests/test-isnanl.c: Likewise.
78216         * tests/test-snprintf-posix.h: Likewise.
78217         * tests/test-sprintf-posix.h: Likewise.
78218         * tests/test-vasnprintf-posix.c: Likewise.
78219         * tests/test-vasnprintf-posix2.c: Likewise.
78220         * tests/test-vasprintf-posix.c: Likewise.
78221
78222 2007-04-06  Bruno Haible  <bruno@clisp.org>
78223
78224         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
78225         * lib/math_.h [__DECC]: Include the overridden include file through
78226         #include_next, outside the double-inclusion guard.
78227         * lib/stdio_.h [__DECC]: Likewise.
78228         * lib/stdlib_.h [__DECC]: Likewise.
78229         * lib/string_.h [__DECC]: Likewise.
78230         * lib/time_.h [__DECC]: Likewise.
78231         * lib/wchar_.h [__DECC]: Likewise.
78232         * lib/wctype_.h [__DECC]: Likewise.
78233         * lib/inttypes_.h [__DECC]: Likewise.
78234         Reported by Albert Chin <china@thewrittenword.com> in
78235         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
78236
78237 2007-04-04  Eric Blake  <ebb9@byu.net>
78238
78239         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
78240         1.5.x.
78241
78242 2007-04-04  Bruno Haible  <bruno@clisp.org>
78243
78244         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
78245         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
78246
78247 2007-04-04  Bruno Haible  <bruno@clisp.org>
78248
78249         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
78250         results for "%010a" of Infinity and NaN.
78251         * tests/test-vasprintf-posix.c (test_function): Likewise.
78252         * tests/test-snprintf-posix.h (test_function): Likewise.
78253         * tests/test-sprintf-posix.h (test_function): Likewise.
78254         * tests/test-fprintf-posix.h (test_function): Remove these tests.
78255         * tests/test-printf-posix.h (test_function): Likewise.
78256         * tests/test-fprintf-posix.out: Update.
78257         Needed for FreeBSD 6.1.
78258
78259 2007-04-04  Bruno Haible  <bruno@clisp.org>
78260
78261         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
78262         directly used by the gnulib modules nor by gnulib-tool.
78263
78264 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
78265
78266         * DEPENDENCIES: Give overall description of version dependency
78267         desirability.  Use more-typical names for apps.
78268         Add shell, coreutils, diffutils, grep, tar, gzip.
78269
78270 2007-04-04  Simon Josefsson  <simon@josefsson.org>
78271
78272         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
78273
78274 2007-04-04  Karl Berry  <karl@gnu.org>
78275
78276         * MODULES.html.sh (func_module): missing '.
78277
78278 2007-04-03  Bruno Haible  <bruno@clisp.org>
78279
78280         * modules/argmatch-tests (Makefile.am): New variable
78281         test_argmatch_LDADD.
78282         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
78283         * modules/array-list-tests (Makefile.am): New variable
78284         test_array_list_LDADD.
78285         * modules/array-oset-tests (Makefile.am): New variable
78286         test_array_oset_LDADD.
78287         * modules/avltree-list-tests (Makefile.am): New variable
78288         test_avltree_list_LDADD.
78289         * modules/avltree-oset-tests (Makefile.am): New variable
78290         test_avltree_oset_LDADD.
78291         * modules/avltreehash-list-tests (Makefile.am): New variable
78292         test_avltreehash_list_LDADD.
78293         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
78294         test_canonicalize_lgpl_LDADD.
78295         * modules/carray-list-tests (Makefile.am): New variable
78296         test_carray_list_LDADD.
78297         * modules/dirname-tests (Makefile.am): New variable
78298         test_dirname_LDADD.
78299         * modules/linked-list-tests (Makefile.am): New variable
78300         test_linked_list_LDADD.
78301         * modules/linkedhash-list-tests (Makefile.am): New variable
78302         test_linkedhash_list_LDADD.
78303         * modules/rbtree-list-tests (Makefile.am): New variable
78304         test_rbtree_list_LDADD.
78305         * modules/rbtree-oset-tests (Makefile.am): New variable
78306         test_rbtree_oset_LDADD.
78307         * modules/rbtreehash-list-tests (Makefile.am): New variable
78308         test_rbtreehash_list_LDADD.
78309         * modules/xvasprintf-tests (Makefile.am): New variable
78310         test_xvasprintf_LDADD.
78311         Reported by Eric Blake.
78312
78313 2007-04-03  Eric Blake  <ebb9@byu.net>
78314
78315         * DEPENDENCIES: Weaken m4 requirements.
78316
78317 2007-04-03  Bruno Haible  <bruno@clisp.org>
78318
78319         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
78320         * modules/isnanl-tests (configure.ac): Likewise.
78321
78322 2007-04-03  Ben Pfaff  <blp@gnu.org>
78323
78324         * modules/iconv_open: Add $(srcdir)/ to source directory
78325         references in Makefile fragments that call gperf, to fix VPATH
78326         builds.
78327
78328 2007-04-03  Bruno Haible  <bruno@clisp.org>
78329
78330         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
78331         * lib/ldexpl.c: Undo last change.
78332
78333 2007-04-03  Bruno Haible  <bruno@clisp.org>
78334
78335         * modules/printf-frexpl (Depends-on): Undo last change.
78336         (Files): Add m4/ldexpl.m4.
78337
78338 2007-04-03  Bruno Haible  <bruno@clisp.org>
78339
78340         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
78341         * modules/isnanl (Link): New section.
78342
78343         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
78344         * modules/frexp (Link): New section.
78345
78346         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
78347         * modules/frexpl (Link): New section.
78348
78349         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
78350         * modules/ldexpl (Link): New section.
78351
78352 2007-04-03  Bruno Haible  <bruno@clisp.org>
78353
78354         * modules/TEMPLATE-EXTENDED: New file.
78355         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
78356
78357 2007-04-03  Bruno Haible  <bruno@clisp.org>
78358
78359         * DEPENDENCIES: New file.
78360         Suggested by Simon Josefsson.
78361
78362 2007-04-03  Bruno Haible  <bruno@clisp.org>
78363
78364         * doc/gnulib.texi: Escape @.
78365
78366 2007-04-03  James Youngman  <jay@gnu.org>
78367         and Paul Eggert  <eggert@cs.ucla.edu>
78368
78369         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
78370         birthtime on all systems that have birthtime, not just those which
78371         use st_birthtimensec rather than st_birthtim.  Putting zero in
78372         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
78373         that the birth time is not available for files on an NFS mount.
78374
78375 2007-04-03  Simon Josefsson  <simon@josefsson.org>
78376
78377         * modules/memxor: Move back from crypto/, suggested by Bruno.
78378         * modules/crypto/hmac-sha1: Fix memxor dependency.
78379
78380         * modules/crypto/gc: Moved from ../.
78381
78382 2007-04-02  Eric Blake  <ebb9@byu.net>
78383
78384         * lib/ldexpl.c (includes): Avoid libm.
78385
78386         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
78387
78388 2007-04-02  Bruno Haible  <bruno@clisp.org>
78389
78390         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
78391         on IRIX.
78392
78393 2007-04-02  Bruno Haible  <bruno@clisp.org>
78394
78395         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
78396         x86 or x86_64 platforms running MacOS X.
78397         Reported by Ryan Schmidt <@ryandesign.com>.
78398
78399 2007-04-02  Bruno Haible  <bruno@clisp.org>
78400
78401         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
78402         i386.
78403
78404 2007-04-01  Simon Josefsson  <simon@josefsson.org>
78405
78406         * modules/crypto/arcfour: Moved from ../.
78407         * modules/crypto/arcfour-tests: Moved from ../.
78408         * modules/crypto/arctwo: Moved from ../.
78409         * modules/crypto/arctwo-tests: Moved from ../.
78410         * modules/crypto/des: Moved from ../.
78411         * modules/crypto/des-tests: Moved from ../.
78412         * modules/crypto/gc-arcfour: Moved from ../.
78413         * modules/crypto/gc-arcfour-tests: Moved from ../.
78414         * modules/crypto/gc-arctwo: Moved from ../.
78415         * modules/crypto/gc-arctwo-tests: Moved from ../.
78416         * modules/crypto/gc-des: Moved from ../.
78417         * modules/crypto/gc-des-tests: Moved from ../.
78418         * modules/crypto/gc-hmac-md5: Moved from ../.
78419         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
78420         * modules/crypto/gc-hmac-sha1: Moved from ../.
78421         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
78422         * modules/crypto/gc-md2: Moved from ../.
78423         * modules/crypto/gc-md2-tests: Moved from ../.
78424         * modules/crypto/gc-md4: Moved from ../.
78425         * modules/crypto/gc-md4-tests: Moved from ../.
78426         * modules/crypto/gc-md5: Moved from ../.
78427         * modules/crypto/gc-md5-tests: Moved from ../.
78428         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
78429         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
78430         * modules/crypto/gc-random: Moved from ../.
78431         * modules/crypto/gc-rijndael: Moved from ../.
78432         * modules/crypto/gc-rijndael-tests: Moved from ../.
78433         * modules/crypto/gc-sha1: Moved from ../.
78434         * modules/crypto/gc-sha1-tests: Moved from ../.
78435         * modules/crypto/gc-tests: Moved from ../.
78436         * modules/crypto/hmac-md5: Moved from ../.
78437         * modules/crypto/hmac-md5-tests: Moved from ../.
78438         * modules/crypto/hmac-sha1: Moved from ../.
78439         * modules/crypto/hmac-sha1-tests: Moved from ../.
78440         * modules/crypto/md2: Moved from ../.
78441         * modules/crypto/md2-tests: Moved from ../.
78442         * modules/crypto/md4: Moved from ../.
78443         * modules/crypto/md4-tests: Moved from ../.
78444         * modules/crypto/md5: Moved from ../.
78445         * modules/crypto/md5-tests: Moved from ../.
78446         * modules/crypto/memxor: Moved from ../.
78447         * modules/crypto/rijndael: Moved from ../.
78448         * modules/crypto/rijndael-tests: Moved from ../.
78449         * modules/crypto/sha1: Moved from ../.
78450
78451 2007-03-30  James Youngman  <jay@gnu.org>
78452
78453         * tests/test-stat-time.c (prepare_test): use chmod() rather than
78454         rename() to change the ctime of a file (because ctime is unaffected
78455         by rename on jfs2 on AIX 5.1).
78456         (main): Start by doing cleanup, in case a previous run failed leaving
78457         test files behind.
78458
78459 2007-03-31  Bruno Haible  <bruno@clisp.org>
78460
78461         Support old proprietary implementations of iconv.
78462         * modules/iconv_open: New file.
78463         * lib/iconv_.h: New file.
78464         * m4/iconv_h.m4: New file.
78465         * lib/iconv_open.c: New file.
78466         * lib/iconv_open-aix.gperf: New file.
78467         * lib/iconv_open-hpux.gperf: New file.
78468         * lib/iconv_open-irix.gperf: New file.
78469         * lib/iconv_open-osf.gperf: New file.
78470         * m4/iconv_open.m4: New file.
78471         * modules/linebreak (Depends-on): Add iconv_open.
78472         * modules/striconv (Depends-on): Likewise.
78473         * modules/striconveh (Depends-on): Likewise.
78474         * modules/unicodeio (Depends-on): Likewise.
78475         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
78476         (iconv_t)(-1).
78477         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
78478         conversion if cd is (iconv_t)(-1).
78479         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
78480         is not possible.
78481
78482 2007-03-31  Bruno Haible  <bruno@clisp.org>
78483
78484         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
78485         work on Solaris either. Protect also second use of "autodetect_jp".
78486
78487 2007-03-31  Bruno Haible  <bruno@clisp.org>
78488
78489         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
78490         the function is not present.
78491
78492 2007-03-31  Bruno Haible  <bruno@clisp.org>
78493
78494         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
78495         the function is not present.
78496
78497 2007-03-31  Bruno Haible  <bruno@clisp.org>
78498
78499         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
78500         a bug in HP-UX iconv_open().
78501
78502 2007-03-31  Bruno Haible  <bruno@clisp.org>
78503
78504         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
78505         (Mathematics <math.h>): New section, add fpieee.
78506         (Input/output <stdio.h>): Add fseterr.
78507         (Mathematics <math.h>): New section, add printf-frexp.
78508         (Container data structures): Add sublist.
78509         (Core language properties): Add fpucw, inline.
78510         (Functions for greatest-width integer types <inttypes.h>): Add
78511         imaxabs, imaxdiv, inttypes.
78512         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
78513         isnanl-nolibm, ldexp.
78514         (Mathematics <math.h>): New section, add printf-frexpl.
78515         (Support for systems lacking POSIX:2001): Add fprintf-posix,
78516         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
78517         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
78518         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
78519         (Unicode string functions): Add unistr/u*-mbtoucr.
78520         (Java): Add javacomp-script, javaexec-script.
78521         (C#): Add csharpcomp-script, csharpexec-script.
78522         (Support for building libraries and executables): Add havelib,
78523         relocatable-*.
78524         (Support for maintaining and releasing projects): Renamed from
78525         'Support for maintaining and release projects'. Add announce-gen.
78526
78527 2007-03-31  Bruno Haible  <bruno@clisp.org>
78528
78529         * README: Talk primarily about git.
78530         (git and CVS): Renamed from CVS.
78531         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
78532         gnulib is available through git.
78533         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
78534
78535 2007-03-30  Bruno Haible  <bruno@clisp.org>
78536
78537         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
78538         * lib/poll_.h: Likewise.
78539         * lib/stat_.h: Likewise.
78540         * lib/sys_time_.h: Likewise.
78541         * lib/sysexit_.h: Likewise.
78542         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
78543         * lib/stdbool_.h: Likewise.
78544         * lib/byteswap_.h: Add double-inclusion guard.
78545
78546 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
78547
78548         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
78549
78550 2007-03-30  Karl Berry  <karl@gnu.org>
78551
78552         * config/srclist-update: double space after USA in the license
78553         substitution, since that's how it's usually (?) written.
78554
78555 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
78556
78557         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
78558         reported by Bruno Haible.
78559
78560 2007-03-29  Bruno Haible  <bruno@clisp.org>
78561
78562         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
78563         a bug in AIX iconv().
78564
78565 2007-03-29  Bruno Haible  <bruno@clisp.org>
78566
78567         * modules/ldexpl-tests: New file.
78568         * tests/test-ldexpl.c: New file.
78569
78570 2007-03-29  Bruno Haible  <bruno@clisp.org>
78571
78572         * lib/ldexpl.c: Include fpucw.h.
78573         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
78574         multiplication.
78575         * modules/ldexpl (Depends-on): Add fpucw.
78576
78577 2007-03-29  Bruno Haible  <bruno@clisp.org>
78578
78579         * modules/ldexpl: New file.
78580         * m4/ldexpl.m4: New file.
78581         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
78582         set.
78583         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
78584         REPLACE_LDEXPL.
78585         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
78586         REPLACE_LDEXPL.
78587         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
78588         gl_FUNC_LDEXPL_WORKS.
78589         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
78590         * modules/mathl (Files): Remove lib/ldexpl.c.
78591         (Depends-on): Add ldexpl.
78592
78593 2007-03-29  Bruno Haible  <bruno@clisp.org>
78594
78595         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
78596
78597 2007-03-29  Bruno Haible  <bruno@clisp.org>
78598
78599         * tests/test-striconveh.c (main): Don't assume that a direct conversion
78600         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
78601         and possibly also HP-UX.
78602         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
78603         work on AIX, IRIX, HP-UX, OSF/1.
78604         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
78605         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
78606         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
78607         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
78608         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
78609         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
78610
78611 2007-03-29  Bruno Haible  <bruno@clisp.org>
78612
78613         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
78614
78615 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
78616
78617         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
78618         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
78619
78620 2007-03-29  Eric Blake  <ebb9@byu.net>
78621
78622         * lib/acl-internal.h: Remove redundant include.
78623         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
78624         Cygwin when a file is locked.
78625
78626 2007-03-29  Bruno Haible  <bruno@clisp.org>
78627
78628         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
78629         file.
78630         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
78631
78632 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
78633
78634         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
78635         try to remove a parent directory if the child couldn't be removed
78636         (except for the first rmdir, which could fail because the child
78637         doesn't exist).  Problem reported by Jeff Blaine in
78638         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
78639
78640 2007-03-28  Bruno Haible  <bruno@clisp.org>
78641
78642         * lib/striconveh.c (utf8conv_carefully): New function.
78643         (mem_cd_iconveh_internal): Invoke it.
78644
78645 2007-03-28  Bruno Haible  <bruno@clisp.org>
78646
78647         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
78648         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
78649         input.
78650         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
78651         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
78652         unistr/u8-uctomb.
78653
78654 2007-03-28  Bruno Haible  <bruno@clisp.org>
78655
78656         * modules/unistr/u8-mbtoucr: New file.
78657         * lib/unistr/u8-mbtoucr.c: New file.
78658         * modules/unistr/u16-mbtoucr: New file.
78659         * lib/unistr/u16-mbtoucr.c: New file.
78660         * modules/unistr/u16-mbtoucr: New file.
78661         * lib/unistr/u16-mbtoucr.c: New file.
78662         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
78663
78664 2007-03-27  Simon Josefsson  <simon@josefsson.org>
78665             Bruno Haible  <bruno@clisp.org>
78666
78667         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
78668         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
78669         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
78670
78671         * m4/stdio_h.m4: Add stubs for vasprintf too.
78672
78673         * modules/stdio: Support vasprintf in sed command.
78674
78675         * modules/vasprintf: Depend on stdio for prototypes.  Remove
78676         vasprintf.h.  Add stdio module indicator.
78677
78678         * lib/stdio_.h: Declare asprintf and vasprintf, based on
78679         vasprintf.h.
78680
78681         * lib/vasprintf.h: File removed.
78682
78683         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
78684         * lib/vasprintf.c: Ditto.
78685         * lib/xvasprintf.c: Ditto.
78686         * tests/test-vasprintf-posix.c: Ditto.
78687         * tests/test-vasprintf.c: Ditto.
78688
78689 2007-03-27  Bruno Haible  <bruno@clisp.org>
78690
78691         Make vasnprintf multithread-safe.
78692         * lib/vasnprintf.c (decimal_point_char): New function.
78693         (VASNPRINTF): Use it.
78694         Suggested by Simon Josefsson.
78695
78696 2007-03-27  Eric Blake  <ebb9@byu.net>
78697
78698         Support sub-second birthtime on cygwin.
78699         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
78700         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
78701         (get_stat_birthtime): Also work with st_birthtim.
78702
78703 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
78704
78705         * lib/stat-time.h (USE_BIRTHTIME): Remove.
78706         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
78707         (get_stat_birthtime_ns): Do not try to use "spare" fields.
78708         (get_stat_birthtime_ns): Simplify compile-time tests.
78709         (get_stat_birthtime): Change the API to look like
78710         get_stat_mtime etc., except return a negative tv_nsec on error.
78711         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
78712         Don't check for "spare" fields.
78713         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
78714         or for struct stat.st_birthtime, as these tests aren't used.
78715         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
78716
78717 2007-03-27  Bruno Haible  <bruno@clisp.org>
78718
78719         * lib/stat-time.h: Include <sys/stat.h>.
78720
78721 2007-03-27  James Youngman  <jay@gnu.org>
78722
78723         * lib/stat-time.h (get_stat_birthtime): New function for
78724           retrieving st_birthtime as provided by UFS2 (hence *BSD).
78725         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
78726           and its variants.
78727         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
78728         * modules/stat-time-test: New file.
78729         * tests/test-stat-time.c: New test, devised by Bruno Haible.
78730
78731 2007-03-26  Bruno Haible  <bruno@clisp.org>
78732
78733         Better support of signalling NaNs.
78734         * lib/atanl.c: Include isnanl.h.
78735         (atanl): Perform test for NaN at the beginning of the function and
78736         through a call to isnanl.
78737         * lib/cosl.c: Include isnanl.h.
78738         (cosl): Perform test for NaN at the beginning of the function and
78739         through a call to isnanl.
78740         * lib/ldexpl.c: Include isnanl.h.
78741         (ldexpl): Perform test for NaN through a call to isnanl.
78742         * lib/logl.c: Include isnanl.h.
78743         (logl): Perform test for NaN at the beginning of the function and
78744         through a call to isnanl.
78745         * lib/sinl.c: Include isnanl.h.
78746         (sinl): Perform test for NaN at the beginning of the function and
78747         through a call to isnanl.
78748         * lib/sqrtl.c: Include isnanl.h.
78749         (sqrtl): Perform test for NaN at the beginning of the function and
78750         through a call to isnanl.
78751         * lib/tanl.c: Include isnanl.h.
78752         (tanl): Perform test for NaN at the beginning of the function and
78753         through a call to isnanl.
78754         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
78755         * modules/mathl (Depends-on): Add isnanl.
78756
78757 2007-03-26  Eric Blake  <ebb9@byu.net>
78758
78759         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
78760         regression in logic sense of previous patch.
78761
78762 2007-03-26  Bruno Haible  <bruno@clisp.org>
78763
78764         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
78765         unportable shell command "if ! ...".
78766         Reported by Ralf Wildenhues.
78767
78768 2007-03-25  Bruno Haible  <bruno@clisp.org>
78769
78770         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
78771         <sysexits.h> file, and only add EX_CONFIG.
78772         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
78773         absolute file name and whether it is sufficient. Substitute also
78774         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
78775         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
78776         ABSOLUTE_SYSEXITS_H into sysexits.h.
78777
78778 2007-03-25  Bruno Haible  <bruno@clisp.org>
78779
78780         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
78781         hints is NULL.
78782
78783 2007-03-25  Bruno Haible  <bruno@clisp.org>
78784
78785         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
78786         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
78787
78788 2007-03-25  Bruno Haible  <bruno@clisp.org>
78789
78790         * lib/vasnprintf.c: Include langinfo.h.
78791         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
78792         multithread-safe.
78793         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
78794         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
78795         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
78796         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
78797         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
78798         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
78799         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
78800         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
78801         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
78802         Reported by Simon Josefsson.
78803
78804 2007-03-25  Bruno Haible  <bruno@clisp.org>
78805
78806         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
78807         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
78808         * modules/vasnprintf (Depends-on): Add stdint.
78809
78810 2007-03-25  Bruno Haible  <bruno@clisp.org>
78811
78812         * modules/fpieee: New file.
78813         * m4/fpieee.m4: New file.
78814         * modules/isnan-nolibm (Depends-on): Add fpieee.
78815         * modules/isnanl-nolibm (Depends-on): Add fpieee.
78816         * modules/isnanl (Depends-on): Add fpieee.
78817
78818 2007-03-25  Bruno Haible  <bruno@clisp.org>
78819
78820         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
78821
78822 2007-03-25  Bruno Haible  <bruno@clisp.org>
78823
78824         Avoid test failures on IRIX 6.5.
78825         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
78826         (main): Use it.
78827         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
78828         macros.
78829         (main): Use them.
78830
78831 2007-03-25  Bruno Haible  <bruno@clisp.org>
78832
78833         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
78834         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
78835         exists but doesn't work.
78836         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
78837         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
78838         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
78839         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
78840         math.h.
78841
78842 2007-03-25  Bruno Haible  <bruno@clisp.org>
78843
78844         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
78845         returns inf. Needed on IRIX 6.5.
78846
78847 2007-03-25  Bruno Haible  <bruno@clisp.org>
78848
78849         * tests/test-frexpl.c: Include isnanl-nolibm.h.
78850         (main): Use isnanl instead of x != x idiom.
78851         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
78852
78853         * tests/test-frexp.c: Include isnan.h.
78854         (main): Use isnan instead of x != x idiom.
78855         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
78856
78857 2007-03-25  Bruno Haible  <bruno@clisp.org>
78858
78859         * tests/test-frexp.c (NaN): New function/macro.
78860         (main): Use it instead of 0.0 / 0.0.
78861         * tests/test-isnan.c (NaN): New function/macro.
78862         (main): Use it instead of 0.0 / 0.0.
78863         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
78864         (test_function): Use it instead of 0.0 / 0.0.
78865         * tests/test-vasprintf-posix.c (NaN): New function/macro.
78866         (test_function): Use it instead of 0.0 / 0.0.
78867         * tests/test-snprintf-posix.h (NaN): New function/macro.
78868         (test_function): Use it instead of 0.0 / 0.0.
78869         * tests/test-sprintf-posix.h (NaN): New function/macro.
78870         (test_function): Use it instead of 0.0 / 0.0.
78871         * tests/test-fprintf-posix.h (NaN): New function/macro.
78872         (test_function): Use it instead of 0.0 / 0.0.
78873         * tests/test-printf-posix.h (NaN): New function/macro.
78874         (test_function): Use it instead of 0.0 / 0.0.
78875
78876         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
78877
78878 2007-03-25  Bruno Haible  <bruno@clisp.org>
78879
78880         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
78881
78882 2007-03-25  Bruno Haible  <bruno@clisp.org>
78883
78884         * lib/regexec.c (merge_state_with_log): Make static.
78885
78886 2007-03-25  Bruno Haible  <bruno@clisp.org>
78887
78888         * lib/trigl.c (kernel_rem_pio2): Make static.
78889
78890 2007-03-25  Bruno Haible  <bruno@clisp.org>
78891
78892         * lib/sincosl.c (sincosl_table): Make static.
78893
78894 2007-03-25  Bruno Haible  <bruno@clisp.org>
78895
78896         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
78897         if the compiler does not support C99.
78898
78899 2007-03-25  Bruno Haible  <bruno@clisp.org>
78900
78901         * modules/time (Makefile.am): Ensure all rule action lines start with a
78902         tab.
78903
78904 2007-03-24  Bruno Haible  <bruno@clisp.org>
78905
78906         * modules/tsearch-tests: New file.
78907         * tests/test-tsearch.sh: New file.
78908         * tests/test-tsearch.c: New file, mostly copied from glibc.
78909
78910         * modules/search-tests: New file.
78911         * tests/test-search.c: New file.
78912
78913         * modules/search: New file.
78914         * lib/search_.h: New file, incorporating lib/tsearch.h.
78915         * m4/search_h.m4: New file.
78916         * lib/tsearch.h: Remove file.
78917         * lib/tsearch.c: Include search.h instead of tsearch.h.
78918         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
78919         HAVE_TSEARCH.
78920         * modules/tsearch (Files): Remove lib/tsearch.h.
78921         (Depends-on): Add search.
78922         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
78923         (Include): Change tsearch.h into search.h.
78924
78925 2007-03-24  Bruno Haible  <bruno@clisp.org>
78926
78927         * modules/fpucw: New file.
78928         * lib/fpucw.h: New file.
78929         * lib/frexp.c: Include fpucw.h.
78930         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
78931         (FUNC): Use them.
78932         * lib/printf-frexp.c: Include fpucw.h.
78933         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
78934         (FUNC): Use them.
78935         * lib/vasnprintf.c: Include fpucw.h.
78936         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
78937         'long double' calculations.
78938         * tests/test-frexpl.c: Include fpucw.h.
78939         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
78940         * tests/test-printf-frexpl.c: Include fpucw.h.
78941         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
78942         * modules/frexpl (Depends-on): Add fpucw.
78943         * modules/printf-frexpl (Depends-on): Likewise.
78944         * modules/fprintf-posix (Depends-on): Likewise.
78945         * modules/snprintf-posix (Depends-on): Likewise.
78946         * modules/sprintf-posix (Depends-on): Likewise.
78947         * modules/vasnprintf-posix (Depends-on): Likewise.
78948         * modules/vasprintf-posix (Depends-on): Likewise.
78949         * modules/vfprintf-posix (Depends-on): Likewise.
78950         * modules/vsnprintf-posix (Depends-on): Likewise.
78951         * modules/vsprintf-posix (Depends-on): Likewise.
78952         * modules/frexpl-tests (Depends-on): Likewise.
78953         * modules/printf-frexpl-tests (Depends-on): Likewise.
78954
78955 2007-03-24  Bruno Haible  <bruno@clisp.org>
78956
78957         * lib/float+.h: New file.
78958         * lib/isnan.c: Include float+.h.
78959         (SIZE): New macro.
78960         (FUNC): Compare only SIZE bytes of the value.
78961         * lib/vasnprintf.c: Include float+.h.
78962         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
78963         SIZEOF_LDBL or SIZEOF_DBL bytes.
78964         * modules/isnan-nolibm (Files): Add lib/float+.h.
78965         * modules/isnanl-nolibm (Files): Add lib/float+.h.
78966         * modules/isnanl (Files): Add lib/float+.h.
78967         * modules/vasnprintf (Files): Add lib/float+.h.
78968
78969 2007-03-24  Bruno Haible  <bruno@clisp.org>
78970
78971         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
78972         include isnanl-nolibm.h.
78973
78974 2007-03-24  Bruno Haible  <bruno@clisp.org>
78975
78976         * tests/test-read-file.c (main): Don't produce spurious output for
78977         expected situations. Make the test fail if it encountered unexpected
78978         results.
78979
78980 2007-03-24  Bruno Haible  <bruno@clisp.org>
78981
78982         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
78983         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
78984
78985 2007-03-24  Bruno Haible  <bruno@clisp.org>
78986
78987         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
78988
78989 2007-03-24  Bruno Haible  <bruno@clisp.org>
78990
78991         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
78992         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
78993
78994         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
78995         * modules/utf8-ucs4: Turn into a symbolic link to module
78996         unistr/u8-mbtouc.
78997
78998         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
78999         utf8-ucs4-unsafe.
79000         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
79001         unistr/u8-mbtouc-unsafe.
79002
79003         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
79004         * modules/utf16-ucs4: Turn into a symbolic link to module
79005         unistr/u16-mbtouc.
79006
79007         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
79008         utf16-ucs4-unsafe.
79009         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
79010         unistr/u16-mbtouc-unsafe.
79011
79012         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
79013         * modules/ucs4-utf8: Turn into a symbolic link to module
79014         unistr/u8-ubtomb.
79015
79016         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
79017         * modules/ucs4-utf16: Turn into a symbolic link to module
79018         unistr/u16-ubtomb.
79019
79020 2007-03-24  Bruno Haible  <bruno@clisp.org>
79021
79022         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
79023         Enable the function only if HAVE_INLINE.
79024         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
79025         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
79026         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
79027         Enable the function only if HAVE_INLINE.
79028         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
79029         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
79030         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
79031         Enable the function only if HAVE_INLINE.
79032         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
79033         Enable the function only if HAVE_INLINE.
79034         * modules/utf8-ucs4: Update.
79035         * modules/utf8-ucs4-unsafe: Update.
79036         * modules/utf16-ucs4: Update.
79037         * modules/utf16-ucs4-unsafe: Update.
79038         * modules/ucs4-utf8: Update.
79039         * modules/ucs4-utf16: Update.
79040
79041 2007-03-24  Bruno Haible  <bruno@clisp.org>
79042
79043         * lib/utf8-ucs4.h: Remove file.
79044         * lib/utf8-ucs4-unsafe.h: Remove file.
79045         * lib/utf16-ucs4.h: Remove file.
79046         * lib/utf16-ucs4-unsafe.h: Remove file.
79047         * lib/ucs4-utf8.h: Remove file.
79048         * lib/ucs4-utf16.h: Remove file.
79049         * lib/unistr.h: Include their previous contents.
79050         * m4/utf-ucs4.m4: Remove file.
79051         * m4/ucs4-utf.m4: Remove file.
79052         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
79053         (Depends-on): Add unistr/base.
79054         (configure.ac): Remove gl_UTF_UCS4.
79055         (Makefile.am): Update.
79056         (Include): Change to unistr.h.
79057         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
79058         (Depends-on): Add unistr/base.
79059         (configure.ac): Remove gl_UTF_UCS4.
79060         (Makefile.am): Update.
79061         (Include): Change to unistr.h.
79062         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
79063         (Depends-on): Add unistr/base.
79064         (configure.ac): Remove gl_UTF_UCS4.
79065         (Makefile.am): Update.
79066         (Include): Change to unistr.h.
79067         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
79068         (Depends-on): Add unistr/base.
79069         (configure.ac): Remove gl_UTF_UCS4.
79070         (Makefile.am): Update.
79071         (Include): Change to unistr.h.
79072         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
79073         (Depends-on): Add unistr/base.
79074         (configure.ac): Remove gl_UCS4_UTF.
79075         (Makefile.am): Update.
79076         (Include): Change to unistr.h.
79077         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
79078         (Depends-on): Add unistr/base.
79079         (configure.ac): Remove gl_UCS4_UTF.
79080         (Makefile.am): Update.
79081         (Include): Change to unistr.h.
79082         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
79083         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
79084         utf8-ucs4-unsafe.h.
79085         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
79086         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
79087         utf16-ucs4-unsafe.h.
79088         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
79089         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
79090         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
79091         * lib/unistr/u8-strchr.c: Likewise.
79092         * lib/unistr/u8-strrchr.c: Likewise.
79093         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
79094         * lib/unistr/u16-strchr.c: Likewise.
79095         * lib/unistr/u16-strrchr.c: Likewise.
79096         * lib/striconveh.c: Update.
79097         * lib/linebreak.c: Update.
79098
79099 2007-03-24  Bruno Haible  <bruno@clisp.org>
79100
79101         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
79102         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
79103
79104 2007-03-22  Bruno Haible  <bruno@clisp.org>
79105
79106         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
79107
79108 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
79109
79110         * MODULES.html.sh (File system functions): New module write-any-file.
79111         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
79112         * m4/write-any-file.m4: New files.
79113
79114 2007-03-23  Eric Blake  <ebb9@byu.net>
79115
79116         * gnulib-tool: Rearrange space-tab sequences, since some editors
79117         like to eat them.
79118
79119 2007-03-23  Eric Blake  <ebb9@byu.net>
79120
79121         * lib/version-etc.c (version_etc_va): Update license wording to
79122         be more concise.  Recommended by Richard Stallman.
79123
79124 2007-03-22  Bruno Haible  <bruno@clisp.org>
79125
79126         * lib/poll.c (MSG_PEEK): New fallback definition.
79127
79128 2007-03-22  Bruno Haible  <bruno@clisp.org>
79129
79130         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
79131         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
79132         (main): Update.
79133         Fixes a compilation error on BeOS.
79134
79135 2007-03-22  Bruno Haible  <bruno@clisp.org>
79136
79137         * modules/frexpl-tests: New file.
79138         * tests/test-frexpl.c: New file.
79139
79140         * modules/frexpl: New file.
79141         * m4/frexpl.m4: New file.
79142         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
79143         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
79144         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
79145         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
79146         (Depends-on): Add frexpl. Remove isnanl-nolibm.
79147         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
79148
79149 2007-03-22  Bruno Haible  <bruno@clisp.org>
79150
79151         * lib/frexpl.c: Share code with lib/frexp.c.
79152         * modules/mathl (Files): Add lib/frexp.c.
79153         (Depends-on): Add isnanl-nolibm.
79154
79155 2007-03-22  Bruno Haible  <bruno@clisp.org>
79156
79157         * modules/printf-frexp (Files): Add m4/frexp.m4.
79158         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
79159         only if the found frexp function actually works.
79160
79161 2007-03-22  Bruno Haible  <bruno@clisp.org>
79162
79163         * lib/frexp.c: Remove older implementation that uses divisions.
79164
79165 2007-03-21  Bruno Haible  <bruno@clisp.org>
79166
79167         * modules/frexp-tests: New file.
79168         * tests/test-frexp.c: New file.
79169
79170         * modules/frexp: New file.
79171         * lib/frexp.c: New file.
79172         * m4/frexp.m4: New file.
79173         * lib/math_.h (frexp): New declaration.
79174         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
79175         REPLACE_FREXP.
79176         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
79177
79178 2007-03-21  Bruno Haible  <bruno@clisp.org>
79179
79180         * modules/isnanl-tests: New file.
79181         * tests/test-isnanl.c: New file.
79182
79183         * modules/isnanl: New file.
79184         * lib/isnanl.h: New file.
79185         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
79186         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
79187         gl_FUNC_ISNANL_WORKS.
79188         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
79189         New macros.
79190
79191 2007-03-21  Bruno Haible  <bruno@clisp.org>
79192
79193         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
79194         lib/isnanl.h.
79195         (Include): Update.
79196         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
79197         * lib/vasnprintf.c: Update.
79198         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
79199         tests/test-isnanl.h, remove tests/test-isnanl.c.
79200         (Makefile.am): Update.
79201         * tests/test-isnanl-nolibm.c: New file.
79202         * tests/test-isnanl.h: New file.
79203         * tests/test-isnanl.c: Remove file.
79204
79205 2007-03-21  Jim Meyering  <jim@meyering.net>
79206
79207         When trying to open ".", treat ESTALE like EACCES.
79208         * lib/savewd.c (savewd_save): Resort to forking not just upon
79209         failure with EACCES, but also when errno is ESTALE.
79210
79211 2007-03-20  Bruno Haible  <bruno@clisp.org>
79212
79213         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
79214         Needed on AIX 5.1. Reported by Matthew Woehlke.
79215
79216 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
79217
79218         Suggestions by Bruno Haible:
79219         * lib/acl-internal.h: Include "gettext.h" rather than rolling
79220         our own.
79221         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
79222         * modules/acl (Depends-on): Add gettext.
79223
79224 2007-03-19  Bruno Haible  <bruno@clisp.org>
79225
79226         * modules/iconvme: Remove file.
79227         * lib/iconvme.h: Remove file.
79228         * lib/iconvme.c: Remove file.
79229         * m4/iconvme.m4: Remove file.
79230
79231 2007-03-19  Bruno Haible  <bruno@clisp.org>
79232
79233         * doc/relocatable-maint.texi: Break long shell script line.
79234         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
79235
79236 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
79237
79238         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
79239         handle file_has_acl.
79240         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
79241         * lib/acl.c: Move header inclusions and related macro defns into
79242         lib/acl-internal.h.
79243         (S_ISLNK): Remove defn, since that's now done for us.
79244         (file_has_acl): Move to lib/file-has-acl.c.
79245         Call acl_trivial if available.  This is the crucial part of the fix.
79246         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
79247         shared within the library.  Rewrite a bit, partly to make it compatible
79248         with the GNU coding style.
79249         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
79250         Remove unnecessary double-quotes.
79251         Don't test for acl_to_text; the build will catch that.
79252         Replace acl_entries if it doesn't exist and it is needed.
79253         Check for -lsec and acl_trivial (as used on Solaris 10).
79254         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
79255         lib/file-has-acl.c.
79256         (Depends-on): Add sys_stat, for S_ISLNK.
79257
79258 2007-03-19  Ben Pfaff  <blp@gnu.org>
79259
79260         * doc/gnulib.texi: Fix typos.
79261         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
79262
79263 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
79264
79265         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
79266         If size is zero here, buf must be zero.
79267
79268 2007-03-19  Simon Josefsson  <simon@josefsson.org>
79269
79270         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
79271         <bruno@clisp.org>.
79272
79273 2007-03-18  Bruno Haible  <bruno@clisp.org>
79274
79275         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
79276         Suggested by Eric Blake.
79277
79278 2007-03-18  Ben Pfaff  <blp@gnu.org>
79279
79280         * doc/relocatable.texi: Recommend using as prefix a directory
79281         that does not exist and will never be created.  Based on
79282         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
79283         and others.
79284
79285 2007-03-17  Bruno Haible  <bruno@clisp.org>
79286
79287         * lib/fchownat.c: Include lchown.h.
79288
79289 2007-03-17  Bruno Haible  <bruno@clisp.org>
79290
79291         Fix endless loop when the given allocated size was > INT_MAX.
79292         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
79293         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
79294         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
79295         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
79296         * lib/sprintf.c (sprintf): Likewise.
79297
79298 2007-03-17  Bruno Haible  <bruno@clisp.org>
79299
79300         * tests/test-argp-2.sh (func_compare): Output a context diff.
79301
79302 2007-03-17  Bruno Haible  <bruno@clisp.org>
79303
79304         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
79305         locale's decimal-point character.
79306
79307 2007-03-17  Bruno Haible  <bruno@clisp.org>
79308
79309         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
79310         before comparing it. Needed because on some platforms (e.g. x86) a
79311         'long double' occupies less bytes than sizeof (long double).
79312
79313 2007-03-17  Bruno Haible  <bruno@clisp.org>
79314
79315         * tests/test-crc.c (main): Make printf statements 64-bit clean.
79316         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
79317         * tests/test-getaddrinfo.c (simple): Likewise.
79318         * tests/test-read-file.c (main): Likewise.
79319
79320 2007-03-17  Bruno Haible  <bruno@clisp.org>
79321
79322         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
79323
79324 2007-03-17  Bruno Haible  <bruno@clisp.org>
79325
79326         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
79327         unused variable.
79328
79329 2007-03-17  Bruno Haible  <bruno@clisp.org>
79330
79331         * tests/test-c-strcasecmp.c: Include c-strcase.h.
79332         * tests/test-c-strncasecmp.c: Likewise.
79333
79334 2007-03-17  Bruno Haible  <bruno@clisp.org>
79335
79336         * modules/stdlib (Depends-on): Add unistd.
79337         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
79338         Needed for MacOS X 10.3.
79339
79340 2007-03-17  Bruno Haible  <bruno@clisp.org>
79341
79342         * lib/unistr/u-strdup.h: Include <stdlib.h>.
79343
79344 2007-03-17  Bruno Haible  <bruno@clisp.org>
79345
79346         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
79347
79348 2007-03-17  Bruno Haible  <bruno@clisp.org>
79349
79350         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
79351         to reflect files copied from gnulib (with or without modifications).
79352         Suggested by Jim Meyering.
79353
79354 2007-03-17  Eric Blake  <ebb9@byu.net>
79355
79356         * NEWS: Document stdlib change from 2007-02-18.
79357
79358 2007-03-17  Jim Meyering  <jim@meyering.net>
79359
79360         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
79361         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
79362         someone uses a name containing shell meta-characters.
79363         Reported by Alfred M. Szmidt.
79364
79365         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
79366
79367 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
79368
79369         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
79370         and copy gettext configuration files only if configure.ac contains
79371         a use of AM_GNU_GETTEXT_VERSION.
79372
79373 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
79374
79375         * build-aux/bootstrap (gnulib_name): New variable.
79376         (gnulib_tool_options): Use it.
79377
79378 2007-03-13  Simon Josefsson  <simon@josefsson.org>
79379
79380         * tests/test-des.c: Use new namespace.
79381
79382 2007-03-15  Bruno Haible  <bruno@clisp.org>
79383
79384         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
79385         Reported by James Youngman <jay@gnu.org>.
79386
79387 2007-03-15  Bruno Haible  <bruno@clisp.org>
79388
79389         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
79390         declared prototype. Needed with cc on OSF/1 5.1.
79391
79392 2007-03-15  Bruno Haible  <bruno@clisp.org>
79393
79394         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
79395         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
79396         (struct gl_list_implementation): Add dispose_fn argument to the
79397         'create_empty', 'create' methods.
79398         (struct gl_list_impl_base): Add field 'dispose_fn'.
79399         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
79400         argument.
79401         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
79402         dispose_fn argument.
79403         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
79404         dispose_fn on the dropped values.
79405         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
79406         dispose_fn argument.
79407         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
79408         dropped values.
79409         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
79410         (gl_tree_remove_node): Call dispose_fn on the dropped value.
79411         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
79412         (gl_tree_remove_node): Call dispose_fn on the dropped value.
79413         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
79414         argument.
79415         (gl_tree_list_free): Call dispose_fn on the dropped values.
79416         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
79417         the dropped values.
79418         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
79419         Add dispose_fn argument.
79420         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
79421         Call dispose_fn on the dropped values.
79422         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
79423         Add dispose_fn argument.
79424         (gl_sublist_create): Initialize the 'dispose_fn' field.
79425         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
79426         * tests/test-array_list.c (main): Update.
79427         * tests/test-carray_list.c (main): Update.
79428         * tests/test-avltree_list.c (main): Update.
79429         * tests/test-rbtree_list.c (main): Update.
79430         * tests/test-avltreehash_list.c (main): Update.
79431         * tests/test-rbtreehash_list.c (main): Update.
79432         * tests/test-linked_list.c (main): Update.
79433         * tests/test-linkedhash_list.c (main): Update.
79434         * tests/test-array_oset.c (main): Update.
79435
79436 2007-03-15  Bruno Haible  <bruno@clisp.org>
79437
79438         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
79439         (gl_oset_create_empty): Add dispose_fn argument.
79440         (struct gl_oset_implementation): Add dispose_fn argument to
79441         'create_empty' method.
79442         (struct gl_oset_impl_base): Add dispose_fn field.
79443         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
79444         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
79445         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
79446         values.
79447         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
79448         (gl_tree_oset_free): Call dispose_fn on the dropped values.
79449         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
79450         dropped value.
79451         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
79452         dropped value.
79453         * tests/test-array_oset.c (main): Update.
79454         * tests/test-avltree_oset.c (main): Update.
79455         * tests/test-rbtree_oset.c (main): Update.
79456         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
79457
79458 2007-03-13  Bruno Haible  <bruno@clisp.org>
79459
79460         * tests/test-stdbool.c (i): Update after last patch.
79461
79462 2007-03-12  Bruno Haible  <bruno@clisp.org>
79463
79464         * lib/quotearg.c: Include <wctype.h> early, before the definition of
79465         the iswprint macro. Needed on Solaris 2.5.1.
79466
79467 2007-03-12  Bruno Haible  <bruno@clisp.org>
79468
79469         * tests/test-printf-frexp.c (main): Declare x as volatile.
79470
79471 2007-03-12  Simon Josefsson  <simon@josefsson.org>
79472
79473         * doc/gnulib.texi (Build robot for gnulib): New section.
79474
79475 2007-03-12  Jim Meyering  <jim@meyering.net>
79476
79477         * build-aux/bootstrap: New file.
79478         * build-aux/bootstrap.conf: New file, from coreutils.
79479
79480 2007-03-11  Bruno Haible  <bruno@clisp.org>
79481
79482         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
79483
79484 2007-03-12  Simon Josefsson  <simon@josefsson.org>
79485
79486         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
79487         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
79488         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
79489
79490 2007-03-11  Bruno Haible  <bruno@clisp.org>
79491
79492         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
79493         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
79494
79495 2007-03-11  Bruno Haible  <bruno@clisp.org>
79496
79497         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
79498         formula. Needed for SunPRO C 5.0.
79499
79500 2007-03-11  Bruno Haible  <bruno@clisp.org>
79501
79502         * modules/long-options (Depends-on): Add getopt.
79503
79504 2007-03-11  Bruno Haible  <bruno@clisp.org>
79505
79506         * modules/modechange (Depends-on): Add stdbool.
79507
79508 2007-03-11  Bruno Haible  <bruno@clisp.org>
79509
79510         * modules/i-ring (Depends-on): Add stdbool.
79511
79512 2007-03-11  Bruno Haible  <bruno@clisp.org>
79513
79514         * modules/gc-des (Depends-on): Add stdbool.
79515
79516 2007-03-11  Bruno Haible  <bruno@clisp.org>
79517
79518         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
79519
79520 2007-03-11  Bruno Haible  <bruno@clisp.org>
79521
79522         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
79523
79524 2007-03-11  Bruno Haible  <bruno@clisp.org>
79525
79526         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
79527
79528 2007-03-11  Bruno Haible  <bruno@clisp.org>
79529
79530         * lib/vasnprintf.c (sprintf): Undefine.
79531
79532 2007-03-11  Bruno Haible  <bruno@clisp.org>
79533
79534         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
79535         initializers in SunPRO C and Compaq C compilers.
79536
79537 2007-03-11  Bruno Haible  <bruno@clisp.org>
79538
79539         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
79540         decrementing code ANSI C compliant.
79541
79542 2007-03-11  Bruno Haible  <bruno@clisp.org>
79543
79544         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
79545         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
79546
79547 2007-03-11  Bruno Haible  <bruno@clisp.org>
79548
79549         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
79550         <stdbool.h> substitute doesn't pass.
79551
79552 2007-03-11  Bruno Haible  <bruno@clisp.org>
79553
79554         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
79555
79556 2007-03-11  Bruno Haible  <bruno@clisp.org>
79557
79558         * gnulib-tool (func_create_megatestdir): Create also an autobuild
79559         script, for submission to autobuild.josefsson.org.
79560
79561 2007-03-10  Bruno Haible  <bruno@clisp.org>
79562
79563         * modules/canonicalize-lgpl-tests: New file.
79564         * tests/test-canonicalize-lgpl.sh: New file.
79565         * tests/test-canonicalize-lgpl.c: New file.
79566
79567         * modules/c-strcase-tests: New file.
79568         * tests/test-c-strcase.sh: New file.
79569         * tests/test-c-strcasecmp.c: New file.
79570         * tests/test-c-strncasecmp.c: New file.
79571
79572         * modules/atexit-tests: New file.
79573         * tests/test-atexit.sh: New file.
79574         * tests/test-atexit.c: New file.
79575
79576 2007-03-10  Bruno Haible  <bruno@clisp.org>
79577
79578         * tests/test-binary-io.sh: Use temporary filenames that are not so
79579         likely to clash with those of other tests (in a parallel make).
79580         * tests/test-binary-io.c: Likewise.
79581
79582 2007-03-10  Bruno Haible  <bruno@clisp.org>
79583
79584         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
79585         fallback; use #error instead.
79586         Suggested by Simon Josefsson.
79587
79588 2007-03-10  Bruno Haible  <bruno@clisp.org>
79589
79590         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
79591         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
79592         first and the last.
79593
79594 2007-03-10  Bruno Haible  <bruno@clisp.org>
79595
79596         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
79597
79598 2007-03-10  Bruno Haible  <bruno@clisp.org>
79599
79600         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
79601         "make distcheck".
79602         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
79603         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
79604         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
79605
79606 2007-03-10  Bruno Haible  <bruno@clisp.org>
79607
79608         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
79609         variable.
79610         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
79611         variable.
79612
79613 2007-03-09  Eric Blake  <ebb9@byu.net>
79614         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
79615
79616         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
79617         types are not being provided by gnulib.
79618         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
79619         types are supported.
79620
79621 2007-03-10  Bruno Haible  <bruno@clisp.org>
79622
79623         * lib/stdio_.h (__attribute__): New macro.
79624         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
79625         vsprintf): Specify __attribute__ __format__ for GCC.
79626         Suggested by Eric Blake.
79627
79628 2007-03-09  Bruno Haible  <bruno@clisp.org>
79629
79630         * modules/printf-posix-tests: New file.
79631         * tests/test-printf-posix.sh: New file.
79632         * tests/test-printf-posix.c: New file.
79633
79634         * modules/printf-posix: New file.
79635         * lib/printf.c: New file.
79636         * m4/printf-posix-rpl.m4: New file.
79637         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
79638         REPLACE_PRINTF.
79639         * lib/stdio_.h (printf): New declaration.
79640         (format, __format__, ____printf____, ____scanf____, ____strftime____,
79641         ____strfmon____): New macros.
79642         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
79643         REPLACE_PRINTF.
79644
79645 2007-03-09  Bruno Haible  <bruno@clisp.org>
79646
79647         * tests/test-vasnprintf-posix2.sh: New file.
79648         * tests/test-vasnprintf-posix2.c: New file.
79649         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
79650         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
79651         (Makefile.am): Activate test-vasnprintf-posix2.sh.
79652
79653         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
79654         a locale dependent decimal point, rather than always '.'.
79655
79656 2007-03-09  Eric Blake  <ebb9@byu.net>
79657
79658         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
79659         spite of platforms like Tandem/NSK that define it to -1.
79660
79661 2007-03-08  Bruno Haible  <bruno@clisp.org>
79662
79663         * modules/vprintf-posix-tests: New file.
79664         * tests/test-vprintf-posix.sh: New file.
79665         * tests/test-vprintf-posix.c: New file.
79666         * tests/test-printf-posix.h: New file.
79667
79668         * modules/vprintf-posix: New file.
79669         * lib/vprintf.c: New file.
79670         * m4/vprintf-posix.m4: New file.
79671         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
79672         REPLACE_VPRINTF.
79673         * lib/stdio_.h (vprintf): New declaration.
79674         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
79675         REPLACE_VPRINTF.
79676
79677 2007-03-08  Bruno Haible  <bruno@clisp.org>
79678
79679         * modules/fprintf-posix-tests: New file.
79680         * tests/test-fprintf-posix.sh: New file.
79681         * tests/test-fprintf-posix.c: New file.
79682
79683         * modules/fprintf-posix: New file.
79684         * lib/fprintf.c: New file.
79685         * m4/fprintf-posix.m4: New file.
79686         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
79687         REPLACE_FPRINTF.
79688         * lib/stdio_.h (fprintf): New declaration.
79689         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
79690         REPLACE_FPRINTF.
79691
79692 2007-03-08  Bruno Haible  <bruno@clisp.org>
79693
79694         * modules/vfprintf-posix-tests: New file.
79695         * tests/test-vfprintf-posix.sh: New file.
79696         * tests/test-vfprintf-posix.c: New file.
79697         * tests/test-fprintf-posix.h: New file.
79698         * tests/test-fprintf-posix.out: New file.
79699
79700         * modules/vfprintf-posix: New file.
79701         * lib/vfprintf.c: New file.
79702         * m4/vfprintf-posix.m4: New file.
79703         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
79704         REPLACE_VFPRINTF.
79705         * lib/stdio_.h (vfprintf): New declaration.
79706         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
79707         REPLACE_VFPRINTF.
79708
79709 2007-03-08  Bruno Haible  <bruno@clisp.org>
79710
79711         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
79712
79713 2007-03-08  Bruno Haible  <bruno@clisp.org>
79714
79715         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
79716         instead of 'expr' invocations.
79717         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
79718         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
79719         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
79720         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
79721         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
79722         Suggested by Paul Eggert.
79723
79724 2007-03-08  Bruno Haible  <bruno@clisp.org>
79725
79726         * modules/fseterr-tests: New file.
79727         * tests/test-fseterr.c: New file.
79728
79729         * modules/fseterr: New file.
79730         * lib/fseterr.h: New file.
79731         * lib/fseterr.c: New file.
79732
79733 2007-03-08  Bruno Haible  <bruno@clisp.org>
79734
79735         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
79736         * lib/getopt_.h: Likewise.
79737         * lib/mbswidth.h: Likewise.
79738         * lib/setenv.h: Likewise.
79739         * lib/vasnprintf.h: Likewise.
79740         * lib/vasprintf.h: Likewise.
79741         * lib/verror.h: Likewise.
79742         * lib/xsetenv.h: Likewise.
79743         * lib/xvasprintf.h: Likewise.
79744
79745 2007-03-08  Jim Meyering  <jim@meyering.net>
79746
79747         * users.txt: Add parted.
79748
79749         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
79750
79751 2007-03-07  Bruno Haible  <bruno@clisp.org>
79752
79753         * m4/printf.m4: Make the shell script snippets copy&pastable.
79754
79755 2007-03-02  Bruno Haible  <bruno@clisp.org>
79756
79757         * lib/netinet_in_.h: New file.
79758         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
79759         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
79760         * modules/netinet_in (Files): Add lib/netinet_in_.h.
79761         (Depends-on): Add absolute-header.
79762         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
79763         into netinet/in.h.
79764
79765 2007-03-03  Bruno Haible  <bruno@clisp.org>
79766
79767         * lib/sys_select_.h: New file.
79768         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
79769         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
79770         * modules/sys_select (Files): Add lib/sys_select_.h.
79771         (Depends-on): Add absolute-header.
79772         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
79773         into sys/select.h.
79774
79775 2007-03-02  Bruno Haible  <bruno@clisp.org>
79776
79777         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
79778         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
79779         values.
79780         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
79781         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
79782         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
79783         * modules/sys_socket (Depends-on): Add absolute-header.
79784         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
79785         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
79786         (Include): Remove requirement of inclusion of <sys/types.h>.
79787
79788 2007-03-02  Bruno Haible  <bruno@clisp.org>
79789
79790         * lib/byteswap_.h (bswap_32): Fix formula.
79791
79792 2007-03-06  Bruno Haible  <bruno@clisp.org>
79793
79794         * modules/sprintf-posix-tests: New file.
79795         * tests/test-sprintf-posix.c: New file.
79796
79797         * modules/sprintf-posix: New file.
79798         * lib/sprintf.c: New file.
79799         * m4/sprintf-posix.m4: New file.
79800         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
79801         REPLACE_SPRINTF.
79802         * lib/stdio_.h (sprintf): New declaration.
79803         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
79804         REPLACE_SPRINTF.
79805
79806 2007-03-06  Bruno Haible  <bruno@clisp.org>
79807
79808         * modules/vsprintf-posix-tests: New file.
79809         * tests/test-vsprintf-posix.c: New file.
79810         * tests/test-sprintf-posix.h: New file.
79811
79812         * modules/vsprintf-posix: New file.
79813         * lib/vsprintf.c: New file.
79814         * m4/vsprintf-posix.m4: New file.
79815         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
79816         REPLACE_VSPRINTF.
79817         * lib/stdio_.h (vsprintf): New declaration.
79818         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
79819         REPLACE_VSPRINTF.
79820
79821 2007-03-06  Bruno Haible  <bruno@clisp.org>
79822
79823         * modules/vsnprintf (Depend-on): Remove minmax.
79824
79825 2007-03-06  Bruno Haible  <bruno@clisp.org>
79826
79827         * modules/snprintf-posix-tests: New file.
79828         * tests/test-snprintf-posix.c: New file.
79829
79830         * modules/snprintf-posix: New file.
79831         * m4/snprintf-posix.m4: New file.
79832         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
79833         gl_FUNC_SNPRINTF.
79834         (gl_FUNC_SNPRINTF): Invoke it.
79835         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
79836         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
79837         is set.
79838         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
79839
79840 2007-03-06  Bruno Haible  <bruno@clisp.org>
79841
79842         * modules/vsnprintf-posix-tests: New file.
79843         * tests/test-vsnprintf-posix.c: New file.
79844         * tests/test-snprintf-posix.h: New file.
79845
79846         * modules/vsnprintf-posix: New file.
79847         * m4/vsnprintf-posix.m4: New file.
79848         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
79849         gl_FUNC_VSNPRINTF.
79850         (gl_FUNC_VSNPRINTF): Invoke it.
79851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
79852         * lib/stdio_.h (vsnprintf): Define as a replacement if
79853         REPLACE_VSNPRINTF is set.
79854         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
79855
79856 2007-03-06  Bruno Haible  <bruno@clisp.org>
79857
79858         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
79859         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
79860
79861 2007-03-06  Bruno Haible  <bruno@clisp.org>
79862
79863         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
79864         (asinl): Declare also if HAVE_DECL_ASINL is set.
79865         (atanl): Declare also if HAVE_DECL_ATANL is set.
79866         (ceill): Declare also if HAVE_DECL_CEILL is set.
79867         (cosl): Declare also if HAVE_DECL_COSL is set.
79868         (expl): Declare also if HAVE_DECL_EXPL is set.
79869         (floorl): Declare also if HAVE_DECL_FLOORL is set.
79870         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
79871         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
79872         (logl): Declare also if HAVE_DECL_LOGL is set.
79873         (sinl): Declare also if HAVE_DECL_SINL is set.
79874         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
79875         (tanl): Declare also if HAVE_DECL_TANL is set.
79876         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
79877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
79878         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
79879         declaration of frexpl, ldexpl.
79880         * modules/printf-frexpl (Depends-on): Add math.
79881         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
79882
79883 2007-03-05  Bruno Haible  <bruno@clisp.org>
79884
79885         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
79886         frexpl and ldexpl are declared.
79887         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
79888
79889 2007-03-05  Bruno Haible  <bruno@clisp.org>
79890
79891         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
79892         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
79893
79894 2007-03-05  Bruno Haible  <bruno@clisp.org>
79895
79896         * lib/stdio_.h: Include <stddef.h>.
79897
79898 2007-03-05  Bruno Haible  <bruno@clisp.org>
79899
79900         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
79901
79902 2007-03-05  Bruno Haible  <bruno@clisp.org>
79903
79904         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
79905         NetBSD 4, from Ralf Wildenhues.
79906
79907 2007-03-04  Bruno Haible  <bruno@clisp.org>
79908
79909         * lib/vasprintf.h: Update #if logic for the case when the functions
79910         exist but are overridden.
79911
79912 2007-03-04  Bruno Haible  <bruno@clisp.org>
79913
79914         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
79915         implementations: glibc-2.4 and MacOS X 10.3.
79916         * tests/test-vasnprintf-posix.c (test_function): Test also the case
79917         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
79918         * tests/test-vasprintf-posix.c (test_function): Likewise.
79919
79920 2007-03-04  Bruno Haible  <bruno@clisp.org>
79921
79922         * modules/vasprintf-posix-tests: New file.
79923         * tests/test-vasprintf-posix.c: New file.
79924
79925         * modules/vasprintf-posix: New file.
79926         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
79927         defined.
79928         * m4/vasprintf-posix.m4: New file.
79929         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
79930         gl_FUNC_VASPRINTF.
79931         (gl_FUNC_VASPRINTF): Invoke it.
79932         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
79933         here.
79934         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
79935
79936 2007-03-04  Bruno Haible  <bruno@clisp.org>
79937
79938         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
79939         REPLACE_GETTIMEOFDAY.
79940         * modules/sys_time (Makefile.am): Likewise.
79941         * m4/sys_time_h.m4: Likewise.
79942         * m4/gettimeofday.m4: Likewise.
79943
79944 2007-03-04  Bruno Haible  <bruno@clisp.org>
79945
79946         * modules/vasnprintf-posix-tests: New file.
79947         * tests/test-vasnprintf-posix.c: New file.
79948
79949         * modules/vasnprintf-posix: New file.
79950         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
79951         printf-frexpl.h.
79952         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
79953         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
79954         REPLACE_VASNPRINTF is defined.
79955         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
79956         gl_FUNC_VASNPRINTF.
79957         (gl_FUNC_VASNPRINTF): Invoke it.
79958         * m4/vasnprintf-posix.m4: New file.
79959         * m4/printf.m4: New file.
79960
79961 2007-03-04  Bruno Haible  <bruno@clisp.org>
79962
79963         Compile progreloc.c only if --enable-relocatable is specified.
79964         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
79965         if --enable-relocatable was specified.
79966         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
79967         lib_SOURCES.
79968
79969 2007-03-04  Jim Meyering  <jim@meyering.net>
79970
79971         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
79972         Use it consistently, rather than enumerating errno constants.
79973
79974 2007-03-04  Bruno Haible  <bruno@clisp.org>
79975
79976         * modules/xvasprintf-tests: New file.
79977         * tests/test-xvasprintf.c: New file.
79978
79979         * modules/vasprintf-tests: New file.
79980         * tests/test-vasprintf.c: New file.
79981
79982         * modules/vasnprintf-tests: New file.
79983         * tests/test-vasnprintf.c: New file.
79984
79985         * modules/vsnprintf-tests: New file.
79986         * tests/test-vsnprintf.c: New file.
79987
79988         * modules/snprintf-tests: New file.
79989         * tests/test-snprintf.c: New file.
79990
79991 2007-03-04  Bruno Haible  <bruno@clisp.org>
79992
79993         Compile relocatable.c only if --enable-relocatable is specified.
79994         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
79995         gl_RELOCATABLE_LIBRARY.
79996         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
79997         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
79998         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
79999         gl_RELOCATABLE_LIBRARY.
80000         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
80001         (Makefile.am): Remove lib_SOURCES.
80002         * modules/relocatable-lib-lgpl (configure.ac): Invoke
80003         gl_RELOCATABLE_LIBRARY.
80004         (Makefile.am): Remove lib_SOURCES.
80005         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
80006         always.
80007         * modules/relocatable-prog-wrapper (configure.ac): Invoke
80008         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
80009
80010 2007-03-04  Bruno Haible  <bruno@clisp.org>
80011
80012         * modules/argmatch-tests: New file.
80013         * tests/test-argmatch.c: New file.
80014
80015         * tests/test-allocsa.c (main): Halve the number of loop runs.
80016
80017         * modules/alloca-opt-tests: New file.
80018         * tests/test-alloca-opt.c: New file.
80019
80020 2007-03-04  Jim Meyering  <jim@meyering.net>
80021
80022         Work around difference between Linux ACLs and Solaris 10 ZFS.
80023         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
80024         for EINVAL.
80025
80026 2007-03-03  Bruno Haible  <bruno@clisp.org>
80027
80028         * modules/relocatable-prog (Depends-on): Add back progreloc's
80029         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
80030
80031 2007-03-03  Bruno Haible  <bruno@clisp.org>
80032
80033         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
80034         * modules/relocatable-lib: New file.
80035
80036 2007-03-03  Bruno Haible  <bruno@clisp.org>
80037
80038         * modules/relocatable-prog: Renamed from modules/relocatable.
80039         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
80040
80041 2007-03-03  Bruno Haible  <bruno@clisp.org>
80042
80043         * modules/relocatable-script (Files): Add doc/relocatable.texi,
80044         m4/relocatable-lib.m4.
80045         (Depends-on): Remove 'relocatable'.
80046         (configure.ac): Add gl_RELOCATABLE_NOP.
80047
80048 2007-03-03  Bruno Haible  <bruno@clisp.org>
80049
80050         * modules/relocatable-prog-wrapper: New file.
80051         * modules/relocatable (Depends-on): Add it. Remove all other
80052         dependencies except progname.
80053         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
80054
80055         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
80056         (gl_FUNC_STRERROR): Nop.
80057         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
80058
80059         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
80060         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
80061
80062         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
80063         (gl_FUNC_READLINK): Update.
80064
80065         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
80066
80067 2007-03-03  Bruno Haible  <bruno@clisp.org>
80068
80069         * lib/xreadlink.c: Include <unistd.h> unconditionally.
80070         * modules/xreadlink (Depends-on): Add unistd.
80071         * modules/xreadlink-with-size (Depends-on): Likewise.
80072
80073 2007-03-03  Bruno Haible  <bruno@clisp.org>
80074
80075         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
80076         extracted from gt_FUNC_SETENV.
80077         (gt_FUNC_SETENV): Remove macro.
80078         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
80079         remove gt_FUNC_SETENV.
80080
80081 2007-03-03  Bruno Haible  <bruno@clisp.org>
80082
80083         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
80084         ENABLE_RELOCATABLE here.
80085         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
80086
80087 2007-03-03  Bruno Haible  <bruno@clisp.org>
80088
80089         * modules/rbtreehash-list-tests (Depends-on): Add progname.
80090         * tests/test-rbtreehash_list.c: Include progname.h.
80091         (main): Call set_program_name.
80092
80093         * modules/rbtree-oset-tests (Depends-on): Add progname.
80094         * tests/test-rbtree_oset.c: Include progname.h.
80095         (main): Call set_program_name.
80096
80097         * modules/rbtree-list-tests (Depends-on): Add progname.
80098         * tests/test-rbtree_list.c: Include progname.h.
80099         (main): Call set_program_name.
80100
80101         * modules/linked-list-tests (Depends-on): Add progname.
80102         * tests/test-linked_list.c: Include progname.h.
80103         (main): Call set_program_name.
80104
80105 2007-03-03  Bruno Haible  <bruno@clisp.org>
80106
80107         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
80108         All uses of __restrict changed to _Restrict_.
80109         * lib/glob_.h (__restrict): Remove macro.
80110
80111 2007-03-02  Bruno Haible  <bruno@clisp.org>
80112
80113         * modules/gettext (configure.ac): Require gettext infrastructure
80114         from version 0.16.1.
80115
80116 2007-03-02  Bruno Haible  <bruno@clisp.org>
80117
80118         * modules/linkedhash-list-tests (Depends-on): Add progname.
80119         * tests/test-linkedhash_list.c: Include progname.h.
80120         (main): Call set_program_name.
80121
80122         * modules/carray-list-tests (Depends-on): Add progname.
80123         * tests/test-carray_list.c: Include progname.h.
80124         (main): Call set_program_name.
80125
80126         * modules/avltreehash-list-tests (Depends-on): Add progname.
80127         * tests/test-avltreehash_list.c: Include progname.h.
80128         (main): Call set_program_name.
80129
80130         * modules/avltree-oset-tests (Depends-on): Add progname.
80131         * tests/test-avltree_oset.c: Include progname.h.
80132         (main): Call set_program_name.
80133
80134         * modules/avltree-list-tests (Depends-on): Add progname.
80135         * tests/test-avltree_list.c: Include progname.h.
80136         (main): Call set_program_name.
80137
80138         * modules/array-oset-tests (Depends-on): Add progname.
80139         * tests/test-array_oset.c: Include progname.h.
80140         (main): Call set_program_name.
80141
80142         * modules/array-list-tests (Depends-on): Add progname.
80143         * tests/test-array_list.c: Include progname.h.
80144         (main): Call set_program_name.
80145
80146         * modules/argp-tests (Depends-on): Add progname.
80147         * tests/test-argp.c: Include argp.h first. Include progname.h.
80148         (main): Call set_program_name.
80149
80150 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
80151
80152         * doc/gnulib-tool.texi (Initial import): Reword description of
80153         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
80154         limited effect even if defined after the first system include.
80155
80156 2007-03-01  Bruno Haible  <bruno@clisp.org>
80157
80158         * build-aux/config.libpath: Update to libtool-1.5.22.
80159         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
80160
80161 2007-03-01  Bruno Haible  <bruno@clisp.org>
80162
80163         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
80164         foo_CFLAGS.
80165         Reported by Ralf Wildenhues.
80166
80167 2007-03-01  Bruno Haible  <bruno@clisp.org>
80168
80169         * build-aux/install-reloc: Remove object files left over by some
80170         compilers.
80171         Reported by Ralf Wildenhues.
80172
80173 2007-03-01  Bruno Haible  <bruno@clisp.org>
80174
80175         * build-aux/install-reloc: Break long lines.
80176
80177 2007-03-01  Bruno Haible  <bruno@clisp.org>
80178
80179         * doc/relocatable.texi: Document that it may not work on OpenBSD.
80180         Reported by Ralf Wildenhues.
80181
80182 2007-03-01  Bruno Haible  <bruno@clisp.org>
80183
80184         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
80185         include ordering constraints.
80186
80187 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80188
80189         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
80190         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
80191         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
80192         as another example.
80193         * lib/time_.h: Fix misspelling.
80194         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
80195         Require gl_HEADER_TIME_H_DEFAULTS.
80196         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
80197         * m4/time_r.m4 (gl_TIME_R): Likewise.
80198         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
80199
80200 2007-03-01  Bruno Haible  <bruno@clisp.org>
80201
80202         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
80203         * m4/utimens.m4 (gl_UTIMENS): Likewise.
80204
80205 2007-03-01  Jim Meyering  <jim@meyering.net>
80206
80207         * modules/xreadlink (Maintainer): Add my name.
80208         * modules/xreadlink-with-size (Depends-on): Alphabetize.
80209
80210 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
80211             Bruno Haible  <bruno@clisp.org>
80212
80213         * build-aux/install-reloc: Compile also c-ctype.c.
80214         * build-aux/relocatable.sh.in: New file.
80215         * doc/relocatable.texi: New file.
80216         * doc/relocatable-maint.texi: New file.
80217         * doc/gnulib.texi: Include relocatable-maint.texi.
80218         * lib/progreloc.c: Include unistd.h unconditionally.
80219         * lib/relocwrapper.c: Include unistd.h unconditionally.
80220         Include c-ctype.h.
80221         (add_dotbin): Use c_tolower.
80222         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
80223         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
80224         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
80225         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
80226         to m4/relocatable-lib.m4.
80227         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
80228         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
80229         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
80230         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
80231         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
80232         * modules/relocatable: New file.
80233         * modules/relocatable-lib: New file.
80234         * modules/relocatable-script: New file.
80235
80236 2007-02-28  Bruno Haible  <bruno@clisp.org>
80237
80238         Import --enable-relocatable infrastructure.
80239         * build-aux/config.libpath: New file, from GNU gettext.
80240         * build-aux/install-reloc: New file, from GNU gettext.
80241         * build-aux/reloc-ldflags: New file, from GNU gettext.
80242         * lib/relocatable.h: New file, from GNU gettext.
80243         * lib/relocatable.c: New file, from GNU gettext.
80244         * lib/relocwrapper.c: New file, from GNU gettext.
80245         * m4/relocatable.m4: New file, from GNU gettext.
80246
80247 2007-02-28  Bruno Haible  <bruno@clisp.org>
80248
80249         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
80250
80251         * modules/xreadlink: New file, from GNU gettext with modifications.
80252         * lib/xreadlink.c: New file, from GNU gettext.
80253         * lib/xreadlink.h: Add comments.
80254         (xreadlink): New declaration.
80255
80256         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
80257         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
80258         lib/xreadlink-with-size.c.
80259         (configure.ac): Remove gl_XREADLINK invocation.
80260         (Makefile.am): Augment lib_SOURCES.
80261         * m4/xreadlink.m4: Remove file.
80262         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
80263         (xreadlink_with_size): Renamed from xreadink.
80264         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
80265         * modules/canonicalize (Depends-on): Replace xreadlink with
80266         xreadlink-with-size.
80267         * lib/canonicalize.c (canonicalize_filename_mode): Update.
80268
80269 2007-02-25  Jim Meyering  <jim@meyering.net>
80270
80271         * build-aux/announce-gen: When complaining about excess arguments,
80272         list them.
80273
80274 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80275
80276         * README: Document signed integer overflow situation more
80277         accurately.
80278
80279 2007-02-25  Bruno Haible  <bruno@clisp.org>
80280
80281         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
80282         'a' or 'A' conversion.
80283
80284 2007-02-25  Bruno Haible  <bruno@clisp.org>
80285
80286         * modules/filename: Renamed from modules/pathname.
80287         (Files): Replace lib/pathname.h with lib/filename.h. Replace
80288         lib/concatpath.c with lib/concat-filename.c.
80289         (Makefile.am): Update.
80290         (Include): Replace pathname.h with filename.h.
80291         * lib/filename.h: Renamed from lib/pathname.h.
80292         (concatenated_filename): Renamed from concatenated_pathname.
80293         * lib/concat-filename.c: Renamed from lib/concatpath.c.
80294         (concatenated_filename): Renamed from concatenated_pathname.
80295         * lib/findprog.c: Include filename.h instead of pathname.h.
80296         (find_in_path): Update.
80297         * lib/javacomp.c: Include filename.h instead of pathname.h.
80298         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
80299         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
80300         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
80301         is_oldgcj_14_13_usable, is_javac_usable): Update.
80302         * lib/javaexec.c: Include filename.h instead of pathname.h.
80303         (execute_java_class): Update.
80304         * modules/findprog: Update.
80305         * modules/javacomp: Update.
80306         * modules/javaexec: Update.
80307         * MODULES.html.sh (File system functions): Add 'filename', remove
80308         'pathname'.
80309
80310 2007-02-25  Bruno Haible  <bruno@clisp.org>
80311
80312         * modules/printf-frexpl-tests: New file.
80313         * tests/test-printf-frexpl.c: New file.
80314
80315         * modules/printf-frexpl: New file.
80316         * lib/printf-frexpl.h: New file.
80317         * lib/printf-frexpl.c: New file.
80318         * m4/printf-frexpl.m4: New file.
80319
80320 2007-02-25  Bruno Haible  <bruno@clisp.org>
80321
80322         * modules/printf-frexp-tests: New file.
80323         * tests/test-printf-frexp.c: New file.
80324
80325         * modules/printf-frexp: New file.
80326         * lib/printf-frexp.h: New file.
80327         * lib/printf-frexp.c: New file.
80328         * m4/printf-frexp.m4: New file.
80329
80330 2007-02-25  Bruno Haible  <bruno@clisp.org>
80331
80332         Assume automake >= 1.10 for the tests.
80333         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
80334         * modules/arctwo-tests: Likewise.
80335         * modules/argp-tests: Likewise.
80336         * modules/avltree-list-tests: Likewise.
80337         * modules/avltree-oset-tests: Likewise.
80338         * modules/avltreehash-list-tests: Likewise.
80339         * modules/carray-list-tests: Likewise.
80340         * modules/crc-tests: Likewise.
80341         * modules/des-tests: Likewise.
80342         * modules/gc-arcfour-tests: Likewise.
80343         * modules/gc-arctwo-tests: Likewise.
80344         * modules/gc-des-tests: Likewise.
80345         * modules/gc-hmac-md5-tests: Likewise.
80346         * modules/gc-hmac-sha1-tests: Likewise.
80347         * modules/gc-md2-tests: Likewise.
80348         * modules/gc-md4-tests: Likewise.
80349         * modules/gc-md5-tests: Likewise.
80350         * modules/gc-pbkdf2-sha1-tests: Likewise.
80351         * modules/gc-rijndael-tests: Likewise.
80352         * modules/gc-sha1-tests: Likewise.
80353         * modules/gc-tests: Likewise.
80354         * modules/getaddrinfo-tests: Likewise.
80355         * modules/hmac-md5-tests: Likewise.
80356         * modules/hmac-sha1-tests: Likewise.
80357         * modules/linked-list-tests: Likewise.
80358         * modules/linkedhash-list-tests: Likewise.
80359         * modules/lock-tests: Likewise.
80360         * modules/md2-tests: Likewise.
80361         * modules/md4-tests: Likewise.
80362         * modules/md5-tests: Likewise.
80363         * modules/rbtree-list-tests: Likewise.
80364         * modules/rbtree-oset-tests: Likewise.
80365         * modules/rbtreehash-list-tests: Likewise.
80366         * modules/read-file-tests: Likewise.
80367         * modules/rijndael-tests: Likewise.
80368         * modules/stdint-tests: Likewise.
80369         * modules/tls-tests: Likewise.
80370
80371 2007-02-24  Bruno Haible  <bruno@clisp.org>
80372
80373         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
80374         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
80375         function; instead check whether isnan with a double argument links.
80376         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
80377         function; instead check whether isnan with a 'long double' argument
80378         links.
80379         Reported by Eric Blake <ebb9@byu.net>.
80380
80381 2007-02-24  Bruno Haible  <bruno@clisp.org>
80382
80383         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
80384         defined.
80385         * lib/isnanl.c: Remove all code. Just include isnan.c.
80386         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
80387
80388 2007-02-25  Jim Meyering  <jim@meyering.net>
80389
80390         Avoid conflicting types for 'unsetenv' on FreeBSD.
80391         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
80392         conflicting with FreeBSD's (5.0 and 6.1) function declaration
80393         in stdlib.h.
80394
80395 2007-02-24  Bruno Haible  <bruno@clisp.org>
80396
80397         * modules/isnanl-nolibm-tests: New file.
80398         * tests/test-isnanl.c: New file.
80399
80400         * modules/isnanl-nolibm: New file.
80401         * lib/isnanl.h: New file.
80402         * lib/isnanl.c: New file.
80403         * m4/isnanl.m4: New file.
80404
80405 2007-02-24  Bruno Haible  <bruno@clisp.org>
80406
80407         * modules/isnan-nolibm-tests: New file.
80408         * tests/test-isnan.c: New file.
80409
80410         * modules/isnan-nolibm: New file.
80411         * lib/isnan.h: New file.
80412         * lib/isnan.c: New file.
80413         * m4/isnan.m4: New file.
80414
80415 2007-02-24  Bruno Haible  <bruno@clisp.org>
80416
80417         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
80418         assume that an exponent fits in 20 bits.
80419
80420 2007-02-24  Jim Meyering  <jim@meyering.net>
80421
80422         * m4/regex.m4: Update the description of the configure-time option,
80423         --without-included-regex, to state accurately what the defaults are,
80424         and perhaps to give people an idea why using this option is risky.
80425
80426 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
80427
80428         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
80429         loops on small arguments.  This attempts to avoid the problem
80430         Bruno Haible reported for AIX 4.3.2 in
80431         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
80432
80433 2007-02-23  Bruno Haible  <bruno@clisp.org>
80434
80435         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
80436         Needed for help2man.
80437
80438 2007-02-23  Karl Berry  <karl@gnu.org>
80439
80440         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
80441         exists, foo.h should be cvs-ignored, not committed.
80442
80443 2007-02-23  Eric Blake  <ebb9@byu.net>
80444
80445         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
80446         * lib/stat-time.h (includes): Likewise.
80447         * lib/utimecmp.c (includes): Likewise.
80448         * lib/utimens.h (includes): Likewise.
80449         * lib/getdate.y (includes): Also include "timespec.h" for use
80450         internal to the module.
80451         * modules/utimens (Depends-on): Revert yesterday's patch.
80452         * modules/nanosleep (Depends-on): Add missing dependency.
80453
80454 2007-02-22  Bruno Haible  <bruno@clisp.org>
80455
80456         * lib/glob.c: Don't include getlogin_r.h.
80457
80458 2007-02-22  Jim Meyering  <jim@meyering.net>
80459
80460         * modules/utimens (Depends-on): Add timespec, required for
80461         utimens.h's inclusion of timespec.h.
80462
80463 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
80464
80465         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
80466         long unreadable paths in GNU/Linux.  Problem reported by Andreas
80467         Schwab in
80468         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
80469         I'll try to think of a better way to fix the Solaris problem.
80470
80471         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
80472         like glibc; on Solaris 10, it fails with errno == EINVAL.
80473         POSIX says the behavior is unspecified if the first argument is NULL,
80474         so play it safe and never pass NULL to the system getcwd.
80475
80476 2007-02-21  Jim Meyering  <jim@meyering.net>
80477
80478         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
80479         of gettimeofday.  It would conflict with the one now always
80480         provided via sys_time_.h.  Reported by Matthew Woehlke, as
80481         an IRIX 6.5 build failure.
80482
80483 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
80484
80485         Minor fixups to port to Solaris 10 with Sun C 5.8.
80486         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
80487         * modules/getcwd (Depends-on): Add dirfd.
80488         * lib/putenv.c (putenv): #undef it.
80489         (rpl_putenv): New decl.
80490         (malloc, free): Include <stdlib.h> rather than prototyping separately.
80491
80492 2007-02-20  Bruno Haible  <bruno@clisp.org>
80493
80494         * modules/stdio-tests: New file.
80495         * tests/test-stdio.c: New file.
80496
80497         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
80498         (Depends-on): Add stdio.
80499         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
80500         (Include): Use <stdio.h> instead of vsnprintf.h.
80501         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
80502         HAVE_DECL_VSNPRINTF.
80503         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
80504
80505         * modules/snprintf (Files): Remove lib/snprintf.h.
80506         (Depends-on): Add stdio.
80507         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
80508         (Include): Use <stdio.h> instead of snprintf.h.
80509         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
80510         HAVE_DECL_SNPRINTF.
80511         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
80512         * lib/getaddrinfo.c: Likewise.
80513
80514         * modules/stdio: New file.
80515         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
80516         * lib/snprintf.h: Remove file.
80517         * lib/vsnprintf.h: Remove file.
80518         * lib/.cppi-disable: Remove snprintf.h.
80519         * m4/stdio_h.m4: New file.
80520         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
80521
80522 2007-02-20  Jim Meyering  <jim@meyering.net>
80523
80524         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
80525         used by e.g., mingw.  From Bruno Haible.
80526
80527 2007-02-19  Bruno Haible  <bruno@clisp.org>
80528
80529         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
80530         warnings.
80531         Reported by Ben Pfaff <blp@cs.stanford.edu>.
80532
80533 2007-02-19  Bruno Haible  <bruno@clisp.org>
80534
80535         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
80536         from mingw users.
80537
80538 2007-02-19  Bruno Haible  <bruno@clisp.org>
80539
80540         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
80541         warnings.
80542         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
80543
80544 2007-02-19  Jim Meyering  <jim@meyering.net>
80545
80546         Don't use FD after a successful "fdopendir (fd)".
80547         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
80548         Reset it by calling dirfd on the just-obtained DIR*.
80549
80550         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
80551         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
80552
80553 2007-02-18  Bruno Haible  <bruno@clisp.org>
80554
80555         * lib/readlink.c: Include <unistd.h>.
80556         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
80557         HAVE_READLINK.
80558         * modules/readlink (Depends-on): Add unistd.
80559         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80560         (Include): Add <unistd.h>.
80561
80562         * lib/getlogin_r.h: Remove file.
80563         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
80564         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
80565         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
80566         HAVE_DECL_GETLOGIN_R.
80567         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
80568         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80569         (Include): Use <unistd.h> instead of getlogin_r.h.
80570
80571         * lib/getcwd.h: Remove file.
80572         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
80573         * lib/xgetcwd.c: Likewise.
80574         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
80575         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
80576         * modules/getcwd (Files): Remove lib/getcwd.h.
80577         (Depends-on): Add unistd.
80578         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80579         (Include): Use <unistd.h> instad of getcwd.h.
80580
80581         * lib/ftruncate.c: Include <unistd.h> first.
80582         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
80583         Set HAVE_FTRUNCATE.
80584         * modules/ftruncate (Depends-on): Add unistd.
80585         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80586
80587         * lib/fchdir.c: Include <unistd.h> first.
80588         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
80589         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
80590         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
80591         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80592         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
80593
80594         * lib/dup2.c: Include <unistd.h> first.
80595         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
80596         HAVE_DUP2.
80597         * modules/dup2 (Depends-on): Add unistd.
80598         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80599
80600         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
80601         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
80602         REPLACE_CHOWN. Don't define chown as a macro here.
80603         * modules/chown (Depends-on): Add unistd.
80604         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
80605
80606         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
80607         Add definition for GL_LINK_WARNING.
80608         (chown, dup2): New declarations.
80609         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
80610         link warning.
80611         (ftruncate): New declaration.
80612         (getcwd): New declaration, taken from old getcwd.h.
80613         (getlogin_r): New declaration, taken from old getlogin_r.h.
80614         (readlink): New declaration.
80615         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
80616         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
80617         (gl_PREREQ_UNISTD): Remove macro.
80618         (gl_UNISTD_MODULE_INDICATOR): New macro.
80619         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
80620         many new variables. Don't set UNISTD_H.
80621         * modules/unistd (Description): Change.
80622         (Depends-on): Add link-warning.
80623         (configure.ac): Update.
80624         (Makefile.am): Create unistd.h always. Substitute many new variables
80625         into it.
80626
80627 2007-02-18  Bruno Haible  <bruno@clisp.org>
80628
80629         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
80630         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
80631         HAVE_GETSUBOPT.
80632         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
80633         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
80634         * lib/getsubopt.h: Remove file.
80635         * modules/getsubopt (Files): Remove lib/getsubopt.h.
80636         (Depends-on): Add stdlib.
80637         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
80638         (Includes): Use <stdlib.h> instead of getsubopt.h.
80639         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
80640         Set HAVE_GETSUBOPT.
80641         * lib/getsubopt.c: Don't include getsubopt.h.
80642
80643 2007-02-18  Bruno Haible  <bruno@clisp.org>
80644
80645         * modules/fchdir (Depends-on): Add dup2.
80646
80647 2007-02-18  Bruno Haible  <bruno@clisp.org>
80648
80649         * lib/stdlib_.h: Handle glibc's special invocation convention
80650         specially.
80651
80652 2007-02-18  Bruno Haible  <bruno@clisp.org>
80653
80654         * modules/stdlib-tests: New file.
80655         * tests/test-stdlib.c: New file.
80656
80657         * modules/mkstemp (Files): Remove lib/mkstemp.h.
80658         (Depends-on): Add stdlib.
80659         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
80660         (Includes): Use <stdlib.h> instead of mkstemp.h.
80661         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
80662         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
80663         * lib/mkstemp.c: Don't include mkstemp.h.
80664         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
80665         * lib/stdlib--.h: Don't include mkstemp.h.
80666
80667         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
80668         (Depends-on): Add stdlib.
80669         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
80670         (Includes): Use <stdlib.h> instead of mkdtemp.h.
80671         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
80672         HAVE_MKDTEMP.
80673         * lib/mkdtemp.c: Don't include mkdtemp.h.
80674         * lib/clean-temp.c: Don't include mkdtemp.h.
80675
80676         * modules/exit (Files): Remove lib/exit.h.
80677         (Depends-on): Add stdlib.
80678         (Makefile.am): Remove lib_SOURCES.
80679         (Include): Use <stdlib.h> instead of exit.h.
80680         * lib/argmatch.c: Don't include exit.h.
80681         * lib/execute.c: Likewise.
80682         * lib/pagealign_alloc.c: Likewise.
80683         * lib/pipe.c: Likewise.
80684         * lib/wait-process.c: Likewise.
80685         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
80686         * lib/exitfail.c: Likewise.
80687         * lib/savewd.c: Likewise.
80688         * lib/xsetenv.c: Likewise.
80689
80690         * modules/stdlib: New file.
80691         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
80692         and extra comments about mkstemp().
80693         * lib/exit.h: Remove file.
80694         * lib/mkdtemp.h: Remove file.
80695         * lib/mkstemp.h: Remove file.
80696         * m4/stdlib_h.m4: New file.
80697         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
80698
80699 2007-02-18  Bruno Haible  <bruno@clisp.org>
80700
80701         * modules/math-tests: New file.
80702         * tests/test-math.c: New file.
80703
80704         * modules/math: New file.
80705         * modules/mathl (Files): Remove lib/mathl.h.
80706         (Depends-on): Add math.
80707         (Makefile.am): Don't mention mathl.h.
80708         (Include): Use <math.h> instead of mathl.h.
80709         * lib/math_.h: New file.
80710         * lib/mathl.h: Remove file.
80711         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
80712         mathl.h.
80713         * lib/asinl.c: Likewise.
80714         * lib/atanl.c: Likewise.
80715         * lib/ceill.c: Likewise.
80716         * lib/cosl.c: Likewise.
80717         * lib/expl.c: Likewise.
80718         * lib/floorl.c: Likewise.
80719         * lib/frexpl.c: Likewise.
80720         * lib/ldexpl.c: Likewise.
80721         * lib/logl.c: Likewise.
80722         * lib/sincosl.c: Likewise.
80723         * lib/sinl.c: Likewise.
80724         * lib/sqrtl.c: Likewise.
80725         * lib/tanl.c: Likewise.
80726         * lib/trigl.c: Likewise.
80727         * m4/math_h.m4: New file.
80728         * MODULES.html.sh (Mathematics): Add math.
80729
80730 2007-02-17  Bruno Haible  <bruno@clisp.org>
80731
80732         * modules/wctype-tests: New file.
80733         * tests/test-wctype.c: New file.
80734
80735         * modules/wchar-tests: New file.
80736         * tests/test-wchar.c: New file.
80737
80738         * modules/unistd-tests: New file.
80739         * tests/test-unistd.c: New file.
80740
80741         * modules/time-tests: New file.
80742         * tests/test-time.c: New file.
80743
80744         * modules/sysexits-tests: New file.
80745         * tests/test-sysexits.c: New file.
80746
80747         * modules/sys_time-tests: New file.
80748         * tests/test-sys_time.c: New file.
80749
80750         * modules/sys_stat-tests: New file.
80751         * tests/test-sys_stat.c: New file.
80752
80753         * modules/sys_socket-tests: New file.
80754         * tests/test-sys_socket.c: New file.
80755
80756         * modules/sys_select-tests: New file.
80757         * tests/test-sys_select.c: New file.
80758
80759         * modules/string-tests: New file.
80760         * tests/test-string.c: New file.
80761
80762         * modules/stdbool-tests: New file.
80763         * tests/test-stdbool.c: New file.
80764
80765         * modules/netinet_in-tests: New file.
80766         * tests/test-netinet_in.c: New file.
80767
80768         * modules/inttypes-tests: New file.
80769         * tests/test-inttypes.c: New file.
80770
80771         * modules/fcntl-tests: New file.
80772         * tests/test-fcntl.c: New file.
80773
80774         * modules/byteswap-tests: New file.
80775         * tests/test-byteswap.c: New file.
80776
80777         * modules/arpa_inet-tests: New file.
80778         * tests/test-arpa_inet.c: New file.
80779
80780 2007-02-17  Bruno Haible  <bruno@clisp.org>
80781
80782         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
80783         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
80784         if the corresponding module is not enabled. Emit link warnings if
80785         the function is used nevertheless.
80786         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
80787         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
80788         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
80789         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
80790         * modules/inttypes (Depends-on): Add link-warning.
80791         (Makefile.am): Copy the contents of build-aux/link-warning.h into
80792         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
80793         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
80794         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
80795         * modules/imaxdiv (configure.ac): Likewise.
80796         * modules/strtoimax (configure.ac): Likewise.
80797         * modules/strtoumax (configure.ac): Likewise.
80798
80799 2007-02-17  Bruno Haible  <bruno@clisp.org>
80800
80801         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
80802         gl_STRING_MODULE_INDICATOR_DEFAULTS.
80803         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
80804         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
80805
80806 2007-02-17  Bruno Haible  <bruno@clisp.org>
80807
80808         * modules/link-warning: New file.
80809         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
80810         * lib/string_.h (GL_LINK_WARNING): Remove definition.
80811         * modules/string (Depends-on): Add link-warning.
80812         (Makefile.am): Copy the contents of build-aux/link-warning.h into
80813         string.h.
80814         * MODULES.html.sh (Support for building libraries and executables): Add
80815         link-warning.
80816
80817 2007-02-17  Bruno Haible  <bruno@clisp.org>
80818
80819         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
80820         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
80821         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
80822         long lines.
80823
80824 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
80825             Bruno Haible  <bruno@clisp.org>
80826
80827         * modules/tmpfile: New file.
80828         * lib/tmpfile.c: New file.
80829         * m4/tmpfile.m4: New file.
80830         * MODULES.html.sh (func_all_modules): New section "Input/output".
80831
80832 2007-02-15  Bruno Haible  <bruno@clisp.org>
80833
80834         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
80835         (supports_delete_on_close): New function.
80836         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
80837
80838 2007-02-14  Bruno Haible  <bruno@clisp.org>
80839
80840         * modules/mbspcasecmp-tests: New file.
80841         * tests/test-mbspcasecmp.sh: New file.
80842         * tests/test-mbspcasecmp.c: New file.
80843
80844         New module mbspcasecmp.
80845         * modules/mbspcasecmp: New file.
80846         * lib/mbspcasecmp.c: New file.
80847         * lib/string_.h (strncasecmp): Change warning message.
80848         (mbspcasecmp): New declaration.
80849         * m4/mbspcasecmp.m4: New file.
80850         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
80851         GNULIB_MBSPCASECMP.
80852         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
80853         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
80854
80855 2007-02-14  Bruno Haible  <bruno@clisp.org>
80856
80857         * modules/mbsncasecmp-tests: New file.
80858         * tests/test-mbsncasecmp.sh: New file.
80859         * tests/test-mbsncasecmp.c: New file.
80860
80861         New module mbsncasecmp.
80862         * modules/mbsncasecmp: New file.
80863         * lib/mbsncasecmp.c: New file.
80864         * lib/string_.h (mbsncasecmp): New declaration.
80865         * m4/mbsncasecmp.m4: New file.
80866         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
80867         GNULIB_MBSNCASECMP.
80868         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
80869         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
80870
80871 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
80872
80873         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
80874         Verify that it doesn't overlap with our flags.
80875         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
80876         do not have the desired effect in multibyte locales; instead, use
80877         mbscasecmp.
80878         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
80879         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
80880         we don't require GNU fnmatch ourselves (if our users require it, they
80881         should do so explicitly).
80882
80883         Fix regex code so it doesn't rely on strcasecmp.
80884         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
80885         Otherwise, include gnulib's langinfo.h.
80886         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
80887         undesirable behavior in non-C locales.  Instead, rely on localecharset.
80888         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
80889         * modules/regex (FILES): Remove m4/codeset.m4.
80890         (Depends-on): Add localcharset.  Remove strcase.
80891
80892 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80893
80894         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
80895         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
80896
80897 2007-02-13  Bruno Haible  <bruno@clisp.org>
80898
80899         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
80900         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80901
80902 2007-02-12  Bruno Haible  <bruno@clisp.org>
80903
80904         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
80905         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
80906         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
80907         time warning rather than a link error.
80908
80909 2007-02-12  Bruno Haible  <bruno@clisp.org>
80910
80911         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
80912         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
80913         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80914
80915 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
80916
80917         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
80918         args, not 2.
80919
80920 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
80921
80922         New module 'time', so that apps can include <time.h> as per
80923         POSIX and GNU instead of separate include files like time_r.h
80924         and timegm.h.  This implementation tries out a simpler approach
80925         for replacing decls in standard include files (as compared to
80926         the string module), somewhat as an experiment.
80927
80928         * config/srclist.txt: Comment out mktime.c for now.
80929         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
80930         since it doesn't apply any more.  Use generic wording instead.
80931         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
80932         'time'.
80933         * lib/time_.h, m4/time_h.m4, modules/time: New files.
80934         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
80935         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
80936         Don't include <sys/types.h>; no longer needed since we assume C89.
80937         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
80938         * lib/strftime.c: Likewise.
80939         * lib/time_r.c: Likewise.
80940         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
80941         * lib/nanosleep.c: Include <time.h> first, to check interface.
80942         * lib/strptime.c: Likewise.
80943         * lib/time_r.c: Likewise.
80944         * lib/timegm.c: Likewise.
80945         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
80946         needed.
80947         * lib/timegm.c: Don't include timegm.h; no longer needed.
80948         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
80949         time.h now handles any problems in that area.
80950         (struct timespec, nanosleep): Remove; time.h now arranges for these.
80951         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
80952         that time.h defines struct timespec.
80953         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
80954         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
80955         handles that.
80956         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
80957         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
80958         needed.  Set REPLACE_LOCALTIME.
80959         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
80960         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
80961         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
80962         nanosleep; time_h.m4 now does that.  Don't require
80963         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
80964         module handles this now.
80965         * modules/getdate (Depends-on): Remove timespec.  Add time.
80966         * modules/nanosleep (Depends-on): Likewise.
80967         * modules/stat-time (Depends-on): Likewise.
80968         * modules/nanosleep (Include): Include time.h, not timespec.h.
80969         * modules/strptime (Files): Remove lib/strptime.h.
80970         (Depends-on): Add extensions, time.
80971         (Include): Include time.h, not strptime.h.
80972         * modules/time_r (Files): Remove lib/time_r.h.
80973         (Depends-on): Add time.
80974         (Include): Include time.h, not time_r.h.
80975         * modules/timegm: Likewise.
80976         * modules/timespec (Description): Now does timespec-related decls
80977         of our own, instead of struct timespec itself.
80978         (Depends-on): Add time; remove extensions.
80979         (Maintainer): Add self.
80980         * modules/utimecmp (Depends-on): Add time; remove timespec.
80981         * modules/utimens (Depends-on): Likewise.
80982         * modules/xnanosleep (Depends-on): Likewise.
80983
80984 2007-02-11  Bruno Haible  <bruno@clisp.org>
80985
80986         * lib/c-strstr.c: Include allocsa.h.
80987         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
80988         * lib/c-strcasestr.c: Include allocsa.h.
80989         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
80990         * lib/strcasestr.c: Include allocsa.h.
80991         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
80992         * lib/mbsstr.c: Include allocsa.h.
80993         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
80994         allocsa/freesa instead of malloc/free.
80995         * lib/mbscasestr.c: Include allocsa.h.
80996         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
80997         allocsa/freesa instead of malloc/free.
80998         * modules/c-strstr (Depends-on): Add allocsa.
80999         * modules/c-strcasestr (Depends-on): Likewise.
81000         * modules/strcasestr (Depends-on): Likewise.
81001         * modules/mbsstr (Depends-on): Likewise.
81002         * modules/mbscasestr (Depends-on): Likewise.
81003
81004 2007-02-11  Bruno Haible  <bruno@clisp.org>
81005
81006         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
81007
81008         * modules/mbsspn-tests: New file.
81009         * tests/test-mbsspn.sh: New file.
81010         * tests/test-mbsspn.c: New file.
81011
81012 2007-02-11  Bruno Haible  <bruno@clisp.org>
81013
81014         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
81015
81016         * modules/mbspbrk-tests: New file.
81017         * tests/test-mbspbrk.sh: New file.
81018         * tests/test-mbspbrk.c: New file.
81019
81020 2007-02-11  Bruno Haible  <bruno@clisp.org>
81021
81022         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
81023         unneeded cast.
81024
81025         * modules/mbscspn-tests: New file.
81026         * tests/test-mbscspn.sh: New file.
81027         * tests/test-mbscspn.c: New file.
81028
81029 2007-02-11  Bruno Haible  <bruno@clisp.org>
81030
81031         * modules/mbscasecmp-tests: New file.
81032         * tests/test-mbscasecmp.sh: New file.
81033         * tests/test-mbscasecmp.c: New file.
81034
81035 2007-02-11  Bruno Haible  <bruno@clisp.org>
81036
81037         Ensure O(n) worst-case complexity of mbscasestr.
81038         * lib/mbscasestr.c: Include stdbool.h.
81039         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
81040         functions.
81041         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
81042         the bookkeeping indicates that it's worth it.
81043         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
81044
81045         * modules/mbscasestr-tests: New file.
81046         * tests/test-mbscasestr1.c: New file.
81047         * tests/test-mbscasestr2.sh: New file.
81048         * tests/test-mbscasestr2.c: New file.
81049         * tests/test-mbscasestr3.sh: New file.
81050         * tests/test-mbscasestr3.c: New file.
81051         * tests/test-mbscasestr4.sh: New file.
81052         * tests/test-mbscasestr4.c: New file.
81053         * m4/locale-tr.m4: New file.
81054
81055 2007-02-11  Bruno Haible  <bruno@clisp.org>
81056
81057         Ensure O(n) worst-case complexity of mbsstr.
81058         * lib/mbsstr.c: Include stdbool.h.
81059         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
81060         functions.
81061         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
81062         bookkeeping indicates that it's worth it.
81063         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
81064
81065         * modules/mbsstr-tests: New file.
81066         * tests/test-mbsstr1.c: New file.
81067         * tests/test-mbsstr2.sh: New file.
81068         * tests/test-mbsstr2.c: New file.
81069         * tests/test-mbsstr3.sh: New file.
81070         * tests/test-mbsstr3.c: New file.
81071         * m4/locale-fr.m4: New file.
81072
81073 2007-02-11  Bruno Haible  <bruno@clisp.org>
81074
81075         * lib/mbsrchr.c (mbsrchr): Fix bug.
81076
81077         * modules/mbsrchr-tests: New file.
81078         * tests/test-mbsrchr.sh: New file.
81079         * tests/test-mbsrchr.c: New file.
81080
81081 2007-02-11  Bruno Haible  <bruno@clisp.org>
81082
81083         * lib/mbschr.c (mbschr): Fix bug.
81084
81085         * modules/mbschr-tests: New file.
81086         * tests/test-mbschr.sh: New file.
81087         * tests/test-mbschr.c: New file.
81088         * m4/locale-zh.m4: New file.
81089
81090 2007-02-11  Bruno Haible  <bruno@clisp.org>
81091
81092         Support for copying multibyte string iterators.
81093         * lib/mbiter.h: Include <string.h>.
81094         (mbiter_multi_copy): New function.
81095         (mbi_copy): New macro.
81096         * lib/mbuiter.h: Include <string.h>.
81097         (mbuiter_multi_copy): New function.
81098         (mbui_copy): New macro.
81099
81100 2007-02-11  Bruno Haible  <bruno@clisp.org>
81101
81102         New module mbslen.
81103         * modules/mbslen: New file.
81104         * lib/mbslen.c: New file.
81105         * lib/string_.h (mbslen): New declaration.
81106         * m4/mbslen.m4: New file.
81107         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
81108         GNULIB_MBSLEN.
81109         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
81110         * MODULES.html.sh (Internationalization functions): Add mbslen.
81111
81112 2007-02-11  Bruno Haible  <bruno@clisp.org>
81113
81114         Ensure O(n) worst-case complexity of strcasestr substitute.
81115         * lib/strcasestr.c: Include stdbool.h.
81116         (knuth_morris_pratt): New function.
81117         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
81118         bookkeeping indicates that it's worth it.
81119         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
81120
81121         * modules/strcasestr-tests: New file.
81122         * tests/test-strcasestr.c: New file.
81123
81124 2007-02-11  Bruno Haible  <bruno@clisp.org>
81125
81126         Ensure O(n) worst-case complexity of c_strcasestr.
81127         * lib/c-strcasestr.c: Include stdbool.h, string.h.
81128         (knuth_morris_pratt): New function.
81129         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
81130         the bookkeeping indicates that it's worth it.
81131         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
81132
81133         * modules/c-strcasestr-tests: New file.
81134         * tests/test-c-strcasestr.c: New file.
81135
81136 2007-02-11  Bruno Haible  <bruno@clisp.org>
81137
81138         Ensure O(n) worst-case complexity of c_strstr.
81139         * lib/c-strstr.c: Include stdbool.h, string.h.
81140         (knuth_morris_pratt): New function.
81141         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
81142         bookkeeping indicates that it's worth it.
81143         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
81144
81145         * lib/c-strstr.c: Complete rewrite for maintainability.
81146
81147         * modules/c-strstr-tests: New file.
81148         * tests/test-c-strstr.c: New file.
81149
81150 2007-02-11  Bruno Haible  <bruno@clisp.org>
81151
81152         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
81153         5.2.1 and earlier, whereby \055 was treated just like the range
81154         delimiter '-'.
81155         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
81156
81157 2007-02-08  Bruno Haible  <bruno@clisp.org>
81158
81159         * modules/regex (Depends-on): Add stdbool.
81160         Reported by Dalibor Topic <robilad@kaffe.org>.
81161
81162 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
81163
81164         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
81165         Prefer returning from main to exiting from it.
81166         Remove unnecessary parens after sizeof.
81167
81168 2007-02-05  Bruno Haible  <bruno@clisp.org>
81169
81170         New module mbssep.
81171         * modules/mbssep: New file.
81172         * lib/mbssep.c: New file.
81173         * lib/string_.h (strsep): Add a conditional link warning.
81174         (mbssep): New declaration.
81175         * m4/mbssep.m4: New file.
81176         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
81177         GNULIB_MBSSEP.
81178         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
81179         * MODULES.html.sh (Internationalization functions): Add mbssep.
81180
81181 2007-02-05  Bruno Haible  <bruno@clisp.org>
81182
81183         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
81184         Optimize search in case of 1 delimiter.
81185
81186 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
81187
81188         * lib/acl.h: Include sys/types.h before sys/acl.h.
81189
81190 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
81191
81192         Merge upstream fix for glibc bugzilla #3957:
81193
81194         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
81195
81196         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
81197         bit for RE_HAT_LISTS_NOT_NEWLINE.
81198         (build_charclass_op): Remove bogus comment.
81199
81200 2007-02-05  Simon Josefsson  <simon@josefsson.org>
81201
81202         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
81203
81204 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
81205
81206         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
81207         * lib/memmem.c [!defined _LIBC]: Include config.h.
81208
81209 2007-02-04  Bruno Haible  <bruno@clisp.org>
81210
81211         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
81212         warning message.
81213
81214 2007-02-04  Bruno Haible  <bruno@clisp.org>
81215
81216         New module mbstok_r.
81217         * modules/mbstok_r: New file.
81218         * lib/mbstok_r.c: New file.
81219         * lib/string_.h (strtok_r): Change argument names to match the
81220         comments. Add a conditional link warning.
81221         (mbstok_r): New declaration.
81222         * m4/mbstok_r.m4: New file.
81223         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
81224         GNULIB_MBSTOK_R.
81225         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
81226         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
81227
81228 2007-02-04  Bruno Haible  <bruno@clisp.org>
81229
81230         New module mbsspn.
81231         * modules/mbsspn: New file.
81232         * lib/mbsspn.c: New file.
81233         * lib/string_.h (strspn): Add a conditional link warning.
81234         (mbsspn): New declaration.
81235         * m4/mbsspn.m4: New file.
81236         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
81237         GNULIB_MBSSPN.
81238         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
81239         * MODULES.html.sh (Internationalization functions): Add mbsspn.
81240
81241 2007-02-04  Bruno Haible  <bruno@clisp.org>
81242
81243         New module mbspbrk.
81244         * modules/mbspbrk: New file.
81245         * lib/mbspbrk.c: New file.
81246         * lib/string_.h (strpbrk): Add a conditional link warning.
81247         (mbspbrk): New declaration.
81248         * m4/mbspbrk.m4: New file.
81249         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
81250         GNULIB_MBSPBRK.
81251         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
81252         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
81253
81254 2007-02-04  Bruno Haible  <bruno@clisp.org>
81255
81256         New module mbscspn.
81257         * modules/mbscspn: New file.
81258         * lib/mbscspn.c: New file.
81259         * lib/string_.h (strcspn): Add a conditional link warning.
81260         (mbscspn): New declaration.
81261         * m4/mbscspn.m4: New file.
81262         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
81263         GNULIB_MBSCSPN.
81264         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
81265         * MODULES.html.sh (Internationalization functions): Add mbscspn.
81266
81267 2007-02-04  Bruno Haible  <bruno@clisp.org>
81268
81269         New module mbscasestr, reduced goal of strcasestr.
81270         * modules/mbscasestr: New file.
81271         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
81272         (mbscasestr): Renamed from strcasestr.
81273         * lib/strcasestr.c: Don't include mbuiter.h.
81274         (strcasestr): Remove support for multibyte locales.
81275         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
81276         Change the conditional link warning.
81277         (mbscasestr): New declaration.
81278         * m4/mbscasestr.m4: New file.
81279         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
81280         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
81281         REPLACE_STRCASESTR.
81282         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
81283         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
81284         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
81285         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
81286         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
81287         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
81288         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
81289         (Depends-on): Remove mbuiter.
81290         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
81291
81292 2007-02-04  Bruno Haible  <bruno@clisp.org>
81293
81294         Simplify handling of strncasecmp.
81295         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
81296         the conditional link warning.
81297         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
81298         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
81299         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
81300         * modules/strcase (configure.ac): Don't invoke
81301         gl_STRING_MODULE_INDICATOR.
81302         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
81303
81304 2007-02-04  Bruno Haible  <bruno@clisp.org>
81305
81306         New module mbscasecmp, reduced goal of strcasecmp.
81307         * modules/mbscasecmp: New file.
81308         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
81309         (mbscasecmp): Renamed from strcasecmp.
81310         * lib/strcasecmp.c: Don't include mbuiter.h.
81311         (strcasecmp): Remove support for multibyte locales.
81312         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
81313         Change the conditional link warning.
81314         (mbscasecmp): New declaration.
81315         * m4/mbscasecmp.m4: New file.
81316         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
81317         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
81318         REPLACE_STRCASECMP.
81319         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
81320         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
81321         GNULIB_MBSCASECMP.
81322         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
81323         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
81324         * modules/strcase (Files): Remove m4/mbrtowc.m4.
81325         (Depends-on): Remove mbuiter.
81326         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
81327
81328 2007-02-04  Bruno Haible  <bruno@clisp.org>
81329
81330         New module mbsstr. Remove module strstr.
81331         * modules/mbsstr: New file.
81332         * modules/strstr: Remove file.
81333         * lib/mbsstr.c: Renamed from lib/strstr.c.
81334         (mbsstr): Renamed from strstr.
81335         * lib/string_.h (strstr): Remove declaration. Change the conditional
81336         link warning.
81337         (mbsstr): New declaration.
81338         * m4/mbsstr.m4: New file.
81339         * m4/strstr.m4: Remove file.
81340         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
81341         REPLACE_STRSTR.
81342         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
81343         Don't initialize GNULIB_STRSTR.
81344         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
81345         substitute GNULIB_STRSTR and REPLACE_STRSTR.
81346         * MODULES.html.sh (Internationalization functions): Add mbsstr.
81347         (Support for systems lacking ANSI C 89): Remove strstr.
81348
81349 2007-02-04  Bruno Haible  <bruno@clisp.org>
81350
81351         New module mbsrchr.
81352         * modules/mbsrchr: New file.
81353         * lib/mbsrchr.c: New file.
81354         * lib/string_.h (strrchr): Add a conditional link warning.
81355         (mbsrchr): New declaration.
81356         * m4/mbsrchr.m4: New file.
81357         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
81358         GNULIB_MBSRCHR.
81359         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
81360         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
81361
81362 2007-02-04  Bruno Haible  <bruno@clisp.org>
81363
81364         New module mbschr.
81365         * modules/mbschr: New file.
81366         * lib/mbschr.c: New file.
81367         * lib/string_.h (strchr): Add a conditional link warning.
81368         (mbschr): New declaration.
81369         * m4/mbschr.m4: New file.
81370         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
81371         GNULIB_MBSCHR.
81372         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
81373         * MODULES.html.sh (Internationalization functions): Add mbschr.
81374
81375 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
81376
81377         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
81378
81379         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
81380
81381 2007-02-04  Bruno Haible  <bruno@clisp.org>
81382
81383         New module description section 'configure.ac-early'.
81384         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
81385         (func_get_autoconf_early_snippet): New function.
81386         (func_import, func_create_testdir): Use it. Remove special cases for
81387         modules 'extensions' and 'lock'.
81388         * modules/extensions (configure.ac-early): Require
81389         gl_USE_SYSTEM_EXTENSIONS.
81390         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
81391
81392 2007-02-04  Bruno Haible  <bruno@clisp.org>
81393
81394         Make use of gcj-4.3's -fsource and -ftarget option.
81395         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
81396         and if so try the options -fsource and -ftarget.
81397         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
81398         source_version, ftarget_option, target_version arguments.
81399         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
81400         (is_envjavac_oldgcj_14_14_usable): Renamed from
81401         is_envjavac_gcj_14_14_usable.
81402         (is_envjavac_oldgcj_14_13_usable): Renamed from
81403         is_envjavac_gcj_14_13_usable.
81404         (is_gcj_present): Update.
81405         (is_gcj_43, is_gcj43_usable): New functions.
81406         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
81407         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
81408         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
81409         try the options -fsource and -ftarget.
81410
81411 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81412
81413         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
81414         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
81415         larger value.
81416
81417 2007-02-03  Jim Meyering  <jim@meyering.net>
81418
81419         Give tools a better chance to allocate space for very large buffers.
81420         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
81421
81422         Make pwd and readlink work also when run with an unreadable parent dir
81423         on systems with openat support.
81424         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
81425         provided getcwd function, even when we have openat support.
81426         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
81427
81428 2007-02-02  Bruno Haible  <bruno@clisp.org>
81429
81430         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
81431         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
81432         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
81433         portability problems if one of these functions is only used on specific
81434         platforms.
81435         Reported by Paul Eggert.
81436
81437 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
81438
81439         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
81440         is causing more trouble than it's curing.
81441         * lib/regex_internal.h (__mempcpy): Remove.
81442         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
81443         (and make the code a tad smaller to boot).
81444         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
81445
81446 2007-02-02  Jim Meyering  <jim@meyering.net>
81447
81448         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
81449         section, not in the Makefile.am: one.
81450
81451 2007-02-02  Eric Blake  <ebb9@byu.net>
81452
81453         * lib/strchrnul.c: Always include config.h first.
81454
81455         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
81456         gnulib strstr is not necessary here.
81457
81458 2007-02-02  Simon Josefsson  <simon@josefsson.org>
81459
81460         * m4/socklen.m4: Fix typo.
81461
81462 2007-02-02  Eric Blake  <ebb9@byu.net>
81463
81464         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
81465         * modules/netinet_in (Makefile.am): Likewise.
81466
81467 2007-02-01  Bruno Haible  <bruno@clisp.org>
81468
81469         * lib/string_.h (GL_LINK_WARNING): New macro.
81470         (strcasecmp, strstr, strcasestr): If provided by the system,
81471         conditionally define as a macro that leads to a warning instead of to
81472         an error.
81473         (strncasecmp): Conditionally define as a macro that leads to a warning.
81474
81475 2007-02-01  Karl Berry  <karl@gnu.org>
81476
81477         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
81478
81479 2007-02-01  Bruno Haible  <bruno@clisp.org>
81480
81481         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
81482         renamings.
81483
81484 2007-02-01  Eric Blake  <ebb9@byu.net>
81485
81486         * modules/regex (Depends-on): Revert dependence on mempcpy.
81487         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
81488         module's definition of mempcpy.
81489         Reported by Paul Eggert.
81490
81491 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
81492
81493         * lib/string_.h: If the gnulib module XYZ is not present, undefine
81494         the symbol XYZ before redefining it.  This fixes a problem with
81495         programs that don't use XYZ, when compiled on systems that define
81496         XYZ to something else.
81497
81498 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
81499
81500         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
81501         occurs when "mkdir -m foo" creates a setgid directory that is (1)
81502         writeable to group or other and (2) is intended to have a special
81503         mode bit that is set or cleared.  In such a case, the directory
81504         should be neither group- nor other-writeable until the special
81505         mode bits are right.
81506
81507 2007-01-31  Eric Blake  <ebb9@byu.net>
81508
81509         * modules/mountlist (Depends-on): Add strstr.
81510
81511         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
81512         bug.
81513         * modules/string (Makefile.am): Remove redundant replacement.
81514         * modules/regex (Depends-on): Add mempcpy.
81515
81516 2007-01-31  Bruno Haible  <bruno@clisp.org>
81517
81518         New module description field 'Link'.
81519         * gnulib-tool (func_usage): Document --extract-link-directive.
81520         (sed_extract_prog): Recognize 'Link' directive.
81521         (func_get_link_directive): New function.
81522         (func_import): Show summary of link directives.
81523         Handle --extract-link-directive option.
81524         * modules/acl (Link): New section.
81525         * modules/clock-time (Link): New section.
81526         * modules/euidaccess (Link): New section.
81527         * modules/gettext (Link): New section.
81528         * modules/iconv (Link): New section.
81529         * modules/lock (Link): New section.
81530         * modules/nanosleep (Link): New section.
81531         * modules/readline (Link): New section.
81532
81533 2007-01-27  Bruno Haible  <bruno@clisp.org>
81534
81535         Enforce the use of gnulib modules for unportable <string.h> functions.
81536         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
81537         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
81538         (gl_HEADER_STRING_H_BODY): Require it.
81539         * lib/string_.h: If the gnulib module XYZ is not present, redefine
81540         the symbol XYZ to one that gives a link error.
81541         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
81542         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
81543         * modules/mempcpy (configure.ac): Likewise.
81544         * modules/memrchr (configure.ac): Likewise.
81545         * modules/stpcpy (configure.ac): Likewise.
81546         * modules/stpncpy (configure.ac): Likewise.
81547         * modules/strcase (configure.ac): Likewise.
81548         * modules/strcasestr (configure.ac): Likewise.
81549         * modules/strchrnul (configure.ac): Likewise.
81550         * modules/strdup (configure.ac): Likewise.
81551         * modules/strndup (configure.ac): Likewise.
81552         * modules/strnlen (configure.ac): Likewise.
81553         * modules/strpbrk (configure.ac): Likewise.
81554         * modules/strsep (configure.ac): Likewise.
81555         * modules/strstr (configure.ac): Likewise.
81556         * modules/strtok_r (configure.ac): Likewise.
81557
81558 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
81559
81560         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
81561
81562 2007-01-30  Jim Meyering  <jim@meyering.net>
81563
81564         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
81565
81566 2007-01-29  Bruno Haible  <bruno@clisp.org>
81567
81568         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
81569         * lib/execute.c: Likewise.
81570         * lib/pipe.c: Likewise.
81571         * lib/printf-args.h: Likewise.
81572         * lib/printf-args.c: Likewise.
81573         * lib/printf-parse.c: Likewise.
81574         * lib/vasnprintf.c: Likewise.
81575
81576 2007-01-29  Eric Blake  <ebb9@byu.net>
81577
81578         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
81579         declaration.
81580
81581 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
81582
81583         * lib/strptime.h (strptime): Use 'restrict' for args where
81584         POSIX requires this.
81585         * lib/strptime.c (strptime): Likewise.
81586         Change license notice from LGPL to GPL, since gnulib-tool will
81587         change this as needed.
81588         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
81589         defined.
81590         Include "strptime.h" first, to check interface.
81591         Do not #undef _LIBC and _NL_CURRENT.
81592         Do not include <stdlib.h>; no longer needed.
81593         Include "time_r.h" and declare ptime_locale_status
81594         only if _LIBC is not defined.
81595         (__P): Remove unused macro.
81596         (match_string): Bring back glibc version, but use it only if _LIBC
81597         is defined.
81598         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
81599         Remove unnecessary assertion and abort() call.
81600         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
81601         * m4/strptime.m4: Fix serial number comment.
81602         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
81603         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
81604         (Depends-on): Add time_r.
81605
81606 2007-01-29  Bruno Haible  <bruno@clisp.org>
81607
81608         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81609         strptime.
81610         * modules/strptime (Depends-on): Add stdbool.
81611         * lib/strptime.h: Include <time.h> always. Add comments.
81612
81613 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81614
81615         * modules/strptime: New file.
81616         * lib/strptime.h: New file.
81617         * lib/strptime.c: New file.
81618         * m4/strptime.m4: New file.
81619
81620 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
81621
81622         * MODULES.html.sh: New module mpsort.
81623         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
81624
81625         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
81626         a circularity problem with HP-UX ia64 reported by Bob Proulx in
81627         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
81628         All uses changed.
81629         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
81630         All uses changed.
81631         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
81632         to _Restrict_.
81633         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
81634         the parameter matches the prototype.
81635
81636 2007-01-28  Jim Meyering  <jim@meyering.net>
81637
81638         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
81639         sys/time.h here, reverting that part of the previous patch:
81640         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
81641
81642 2007-01-28  Bruno Haible  <bruno@clisp.org>
81643
81644         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
81645         value of $(SYS_TIME_H).
81646         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
81647         remove it conditionally, too. [added by Jim Meyering]
81648         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
81649         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
81650         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
81651         GETTIMEOFDAY_REPLACEMENT to 1.
81652
81653 2007-01-28  Bruno Haible  <bruno@clisp.org>
81654
81655         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
81656         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
81657         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
81658         Set UNISTD_H instead of UNISTD_H2.
81659         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
81660
81661 2007-01-28  Bruno Haible  <bruno@clisp.org>
81662
81663         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
81664         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
81665
81666 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81667
81668         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
81669         (func_create_testdir): Ensure C locale for `grep' and `tr'
81670         character ranges.
81671         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
81672         ACLOCAL_AMFLAGS parsing state machine.
81673
81674 2007-01-27  Bruno Haible  <bruno@clisp.org>
81675
81676         * modules/unistr/base: Update.
81677
81678 2007-01-27  Bruno Haible  <bruno@clisp.org>
81679
81680         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
81681         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
81682         * modules/unistr/u32-mbtouc-unsafe: Renamed from
81683         modules/unistr/u32-mbtouc.
81684         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
81685         * lib/unistr.h: Update.
81686         * lib/linebreak.c: Update.
81687         * modules/unistr/u32-mbtouc: Renamed from
81688         modules/unistr/u32-mbtouc-safe.
81689         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
81690         * lib/unistr.h: Update.
81691         * lib/unistr/u32-to-u8.c: Update.
81692         * lib/unistr/u32-to-u16.c: Update.
81693
81694 2007-01-27  Bruno Haible  <bruno@clisp.org>
81695
81696         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
81697         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
81698         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
81699         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
81700         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
81701         * modules/unistr/u16-mbtouc-unsafe: Renamed from
81702         modules/unistr/u16-mbtouc.
81703         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
81704         * lib/unistr.h: Update.
81705         * lib/linebreak.c: Update.
81706         * modules/linebreak: Update.
81707         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
81708         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
81709         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
81710         * modules/unistr/u16-mbtouc: Renamed from
81711         modules/unistr/u16-mbtouc-safe.
81712         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
81713         * lib/unistr.h: Update.
81714         * lib/unistr/u16-to-u8.c: Update.
81715         * modules/unistr/u16-to-u8: Update.
81716         * lib/unistr/u16-to-u32.c: Update.
81717         * modules/unistr/u16-to-u32: Update.
81718
81719 2007-01-27  Bruno Haible  <bruno@clisp.org>
81720
81721         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
81722         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
81723         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
81724         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
81725         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
81726         * modules/unistr/u8-mbtouc-unsafe: Renamed from
81727         modules/unistr/u8-mbtouc.
81728         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
81729         * lib/unistr.h: Update.
81730         * lib/striconveh.c: Update.
81731         * modules/striconveh: Update.
81732         * lib/linebreak.c: Update.
81733         * modules/linebreak: Update.
81734         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
81735         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
81736         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
81737         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
81738         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
81739         * lib/unistr.h: Update.
81740         * lib/striconveh.c: Update.
81741         * modules/striconveh: Update.
81742         * lib/unistr/u8-to-u16.c: Update.
81743         * modules/unistr/u8-to-u16: Update.
81744         * lib/unistr/u8-to-u32.c: Update.
81745         * modules/unistr/u8-to-u32: Update.
81746
81747 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81748
81749         Sync from Libtool.
81750         * lib/argz.c: Do not include strings.h nor memory.h, include
81751         string.h unconditionally.  Patch by Simon Josefsson.
81752
81753 2007-01-27  Bruno Haible  <bruno@clisp.org>
81754
81755         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
81756         from gl_HEADER_STRING_H_BODY.
81757         (gl_HEADER_STRING_H_BODY): Require it.
81758         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
81759         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
81760         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
81761         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
81762         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
81763         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
81764         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
81765         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
81766         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
81767         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
81768         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
81769         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
81770         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
81771         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
81772         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
81773
81774 2007-01-27  Bruno Haible  <bruno@clisp.org>
81775
81776         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
81777         check_PROGRAMS into noinst_PROGRAMS.
81778         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
81779         check_PROGRAMS in this case.
81780         (func_import): Set for_test to false.
81781         (func_create_testdir): Set for_test to true.
81782
81783 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
81784             Bruno Haible  <bruno@clisp.org>
81785
81786         * modules/strcasestr (Files): Remove lib/strcasestr.h.
81787         (Depends-on): Add string.
81788         (Includes): Use <string.h> instead of strcasestr.h.
81789         * modules/string (Makefile.am): Also substitute the value of
81790         REPLACE_STRCASESTR.
81791         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
81792         assume strcasestr is declared in <string.h> not <strings.h>. Also
81793         set REPLACE_STRCASESTR.
81794         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
81795         REPLACE_STRCASESTR.
81796         * lib/strcasestr.h: Remove file.
81797         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
81798         * lib/string_.h (strcasestr): New declaration.
81799
81800 2007-01-27  Bruno Haible  <bruno@clisp.org>
81801
81802         * lib/string_.h: Use 'extern'.
81803
81804 2007-01-27  Jim Meyering  <jim@meyering.net>
81805
81806         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
81807         of set-but-not-used local, "q".
81808
81809         * lib/mempcpy.c: Include <config.h> before <string.h>.
81810         This fixes a compilation error on HP-UX, due to the system's
81811         "restrict"-using mempcpy prototype.
81812
81813 2007-01-26  Bruno Haible  <bruno@clisp.org>
81814
81815         Small optimization.
81816         * lib/javacomp.c: Include c-strstr.h.
81817          (is_envjavac_gcj): Use c_strstr instead of strstr.
81818         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
81819
81820 2007-01-26  Bruno Haible  <bruno@clisp.org>
81821
81822         * MODULES.html.sh (Unicode string functions): Add the new modules.
81823
81824         * modules/uniconv/u32-strconv-to-locale: New file.
81825         * lib/uniconv/u32-strconv-to-locale.c: New file.
81826
81827         * modules/uniconv/u16-strconv-to-locale: New file.
81828         * lib/uniconv/u16-strconv-to-locale.c: New file.
81829
81830         * modules/uniconv/u8-strconv-to-locale: New file.
81831         * lib/uniconv/u8-strconv-to-locale.c: New file.
81832
81833         * modules/uniconv/u32-strconv-from-locale: New file.
81834         * lib/uniconv/u32-strconv-from-locale.c: New file.
81835
81836         * modules/uniconv/u16-strconv-from-locale: New file.
81837         * lib/uniconv/u16-strconv-from-locale.c: New file.
81838
81839         * modules/uniconv/u8-strconv-from-locale: New file.
81840         * lib/uniconv/u8-strconv-from-locale.c: New file.
81841
81842         * modules/uniconv/u32-strconv-to-enc: New file.
81843         * lib/uniconv/u32-strconv-to-enc.c: New file.
81844         * modules/uniconv/u32-strconv-to-enc-tests: New file.
81845         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
81846
81847         * modules/uniconv/u16-strconv-to-enc: New file.
81848         * lib/uniconv/u16-strconv-to-enc.c: New file.
81849         * lib/uniconv/u-strconv-to-enc.h: New file.
81850         * modules/uniconv/u16-strconv-to-enc-tests: New file.
81851         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
81852
81853         * modules/uniconv/u8-strconv-to-enc: New file.
81854         * lib/uniconv/u8-strconv-to-enc.c: New file.
81855         * modules/uniconv/u8-strconv-to-enc-tests: New file.
81856         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
81857
81858         * modules/uniconv/u32-strconv-from-enc: New file.
81859         * lib/uniconv/u32-strconv-from-enc.c: New file.
81860         * modules/uniconv/u32-strconv-from-enc-tests: New file.
81861         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
81862
81863         * modules/uniconv/u16-strconv-from-enc: New file.
81864         * lib/uniconv/u16-strconv-from-enc.c: New file.
81865         * modules/uniconv/u16-strconv-from-enc-tests: New file.
81866         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
81867
81868         * modules/uniconv/u8-strconv-from-enc: New file.
81869         * lib/uniconv/u8-strconv-from-enc.c: New file.
81870         * lib/uniconv/u-strconv-from-enc.h: New file.
81871         * modules/uniconv/u8-strconv-from-enc-tests: New file.
81872         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
81873
81874         * modules/uniconv/u32-conv-from-enc: New file.
81875         * lib/uniconv/u32-conv-from-enc.c: New file.
81876         * modules/uniconv/u32-conv-from-enc-tests: New file.
81877         * tests/uniconv/test-u32-conv-from-enc.c: New file.
81878
81879         * modules/uniconv/u16-conv-from-enc: New file.
81880         * lib/uniconv/u16-conv-from-enc.c: New file.
81881         * lib/uniconv/u-conv-from-enc.h: New file.
81882         * modules/uniconv/u16-conv-from-enc-tests: New file.
81883         * tests/uniconv/test-u16-conv-from-enc.c: New file.
81884
81885         * modules/uniconv/u8-conv-from-enc: New file.
81886         * lib/uniconv/u8-conv-from-enc.c: New file.
81887         * modules/uniconv/u8-conv-from-enc-tests: New file.
81888         * tests/uniconv/test-u8-conv-from-enc.c: New file.
81889
81890         * modules/uniconv/base: New file.
81891         * lib/uniconv.h: New file.
81892
81893 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
81894
81895         * doc/gnulib-tool.texi (Initial import): Update to match current
81896         behavior with strdup module.
81897         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
81898         * lib/memmem.h: Remove; all uses removed.  This is now done
81899         by <string.h>.
81900         * lib/mempcpy.h: Likewise.
81901         * lib/memrchr.h: Likewise.
81902         * lib/stpcpy.h: Likewise.
81903         * lib/stpncpy.h: Likewise.
81904         * lib/strcase.h: Likewise.
81905         * lib/strchrnul.h: Likewise.
81906         * lib/strdup.h: Likewise.
81907         * lib/strndup.h: Likewise.
81908         * lib/strnlen.h: Likewise.
81909         * lib/strpbrk.h: Likewise.
81910         * lib/strsep.h: Likewise.
81911         * lib/strstr.h: Likewise.
81912         * lib/strtok_r.h: Likewise.
81913         * lib/string_.h: New file.
81914         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
81915         Rely on <string.h> instead.
81916         * lib/canon-host.c: Likewise.
81917         * lib/chdir-long.c: Likewise.
81918         * lib/concatpath.c: Likewise.
81919         * lib/exclude.c: Likewise.
81920         * lib/fchdir.c: Likewise.
81921         * lib/getaddrinfo.c: Likewise.
81922         * lib/getcwd.c: Likewise.
81923         * lib/getsubopt.c: Likewise.
81924         * lib/glob.c: Likewise.
81925         * lib/hard-locale.c: Likewise.
81926         * lib/iconvme.c: Likewise.
81927         * lib/javacomp.c: Likewise.
81928         * lib/mempcpy.c: Likewise.
81929         * lib/memrchr.c: Likewise.
81930         * lib/regex_internal.h: Likewise.
81931         * lib/stpncpy.c: Likewise.
81932         * lib/strcasecmp.c: Likewise.
81933         * lib/strchrnul.c: Likewise.
81934         * lib/strdup.c: Likewise.
81935         * lib/striconv.c: Likewise.
81936         * lib/striconveh.c: Likewise.
81937         * lib/striconveha.c: Likewise.
81938         * lib/strncasecmp.c: Likewise.
81939         * lib/strndup.c: Likewise.
81940         * lib/strnlen.c: Likewise.
81941         * lib/strsep.c: Likewise.
81942         * lib/strstr.c: Likewise.
81943         * lib/strtok_r.c: Likewise.
81944         * lib/userspec.c: Likewise.
81945         * lib/w32spawn.h: Likewise.
81946         * lib/xstrndup.c: Likewise.
81947         * lib/mountlist.c (strstr): Remove decl.
81948         * m4/string_h.m4: New file.
81949         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
81950         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
81951         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
81952         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
81953         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
81954         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
81955         Set REPLACE_STRCASECMP if necessary.
81956         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
81957         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
81958         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
81959         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
81960         HAVE_DECL_STRDUP if necessary.
81961         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
81962         since gl_FUNC_STRNDUP does that now.
81963         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
81964         Check for decl here...
81965         (gl_PREREQ_STRNLEN): ... not here.
81966         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
81967         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
81968         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
81969         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
81970         necessary.
81971         * modules/string: New file.
81972         * modules/memmem (Files): Remove special-purpose include file.
81973         (Depends-on): Add string.
81974         (Include): Include <string.h>, not the removed file.
81975         * modules/mempcpy: Likewise.
81976         * modules/memrchr: Likewise.
81977         * modules/stpcpy: Likewise.
81978         * modules/stpncpy: Likewise.
81979         * modules/strcase: Likewise.
81980         * modules/strchrnul: Likewise.
81981         * modules/strdup: Likewise.
81982         * modules/strndup: Likewise.
81983         * modules/strnlen: Likewise.
81984         * modules/strpbrk: Likewise.
81985         * modules/strsep: Likewise.
81986         * modules/strstr: Likewise.
81987         * modules/strtok_r: Likewise.
81988         * tests/test-dirname.c: Don't include "strdup.h", since
81989         <string.h> now suffices.
81990         * tests/test-memmem.c: Don't include "memmem.h", since
81991         <string.h> now suffices.
81992
81993 2007-01-25  Bruno Haible  <bruno@clisp.org>
81994
81995         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
81996         *resultp is 0.
81997
81998         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
81999         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
82000         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
82001         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
82002
82003         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
82004         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
82005         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
82006         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
82007         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
82008         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
82009
82010 2007-01-24  Bruno Haible  <bruno@clisp.org>
82011
82012         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
82013         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
82014         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
82015         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
82016         gl_FUNC_FTS_CORE.
82017         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
82018         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
82019         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82020         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
82021         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
82022         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
82023         gl_FUNC_FCHOWNAT.
82024         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
82025         gl_FUNC_STRFTIME.
82026         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
82027         Reported by Ralf Wildenhues.
82028
82029 2007-01-24  Bruno Haible  <bruno@clisp.org>
82030
82031         Drop AC_REQUIRE calls that are redundant with the module dependencies.
82032         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
82033         gl_GETADDRINFO.
82034         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
82035         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
82036         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
82037
82038 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
82039
82040         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
82041         Don't use 'exit'; just return from 'main'.
82042         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
82043
82044         * lib/fnmatch_.h: Readjust white space and comments to match
82045         glibc, to avoid spurious diffs.
82046
82047 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82048
82049         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
82050         2004-12-01 change by Jakub Jelinek, since this code won't compile
82051         if !LIBC.  Problem reported by Bob Proulx.
82052
82053 2007-01-23  Bruno Haible  <bruno@clisp.org>
82054
82055         * lib/striconveh.c: Include c-strcaseeq.h.
82056         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
82057         * modules/striconveh (Depends-on): Add c-strcaseeq.
82058
82059 2007-01-23  Bruno Haible  <bruno@clisp.org>
82060
82061         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
82062
82063         * modules/c-strcaseeq: New file.
82064         * lib/c-strcaseeq.h: New file.
82065
82066         * modules/streq: New file.
82067         * lib/streq.h: New file.
82068
82069 2007-01-23  Bruno Haible  <bruno@clisp.org>
82070
82071         * modules/striconveha-tests: New file.
82072         * tests/test-striconveha.c: New file.
82073
82074         * lib/striconveha.h: Include <stdbool.h>.
82075         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
82076         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
82077         (mem_iconveha_notranslit): Renamed from mem_iconveha.
82078         (mem_iconveha): New function.
82079         (str_iconveha_notranslit): Renamed from str_iconveha.
82080         (str_iconveha): New function.
82081         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
82082         c-strcase.
82083
82084 2007-01-23  Bruno Haible  <bruno@clisp.org>
82085
82086         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
82087         encodings without forgiving before trying any encoding with handler.
82088         (str_iconveha): Try all encodings without forgiving before trying any
82089         encoding with handler.
82090
82091 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82092
82093         Import the following changes from libc.
82094
82095         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82096
82097         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
82098
82099         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
82100
82101         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
82102         normal_bracket label.
82103
82104         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
82105
82106         [BZ #361]
82107         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
82108         to normal_bracket after fetching the next character.
82109
82110 2007-01-22  Bruno Haible  <bruno@clisp.org>
82111
82112         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
82113         argument.
82114         * lib/striconveh.c (iconv_carefully_1): New function.
82115         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
82116         argument.
82117         (str_cd_iconveh): Update.
82118         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
82119         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
82120         * tests/test-striconveh.c (MAGIC): New macro.
82121         (new_offsets): New function.
82122         (main): Test call with and without offsets.
82123
82124 2007-01-22  Bruno Haible  <bruno@clisp.org>
82125
82126         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
82127         * modules/sys_select (Makefile.am): Likewise.
82128         * modules/sys_socket (Makefile.am): Likewise.
82129         * modules/sys_time (Makefile.am): Likewise.
82130
82131 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82132
82133         * modules/gettimeofday (License): Change from GPL to LGPL, since
82134         gettimeofday is a library function.
82135
82136 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82137
82138         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
82139
82140 2007-01-21  Bruno Haible  <bruno@clisp.org>
82141
82142         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
82143
82144 2007-01-21  Bruno Haible  <bruno@clisp.org>
82145
82146         * modules/striconveha: New file.
82147         * lib/striconveha.h: New file.
82148         * lib/striconveha.c: New file.
82149         * MODULES.html.sh (Internationalization functions): Add striconveha.
82150         * lib/striconv.c (str_iconv): Optimize the case of an empty input
82151         string.
82152         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
82153
82154 2007-01-21  Bruno Haible  <bruno@clisp.org>
82155
82156         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
82157         * lib/striconveh.c (str_iconveh): Likewise.
82158
82159 2007-01-21  Bruno Haible  <bruno@clisp.org>
82160
82161         * lib/striconveh.h (mem_iconveh): New declaration.
82162         * lib/striconveh.c (mem_iconveh): New function.
82163         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
82164
82165 2007-01-21  Bruno Haible  <bruno@clisp.org>
82166
82167         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
82168
82169         * lib/striconveh.h (mem_cd_iconveh): Change specification.
82170         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
82171         original result buffer.
82172         (str_cd_iconveh): Update.
82173         * tests/test-striconveh.c (main): Update.
82174
82175         * lib/striconv.h (mem_cd_iconv): Change specification.
82176         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
82177         result buffer.
82178         (str_cd_iconv): Update.
82179         * tests/test-striconv.c (main): Update.
82180
82181 2007-01-21  Bruno Haible  <bruno@clisp.org>
82182
82183         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
82184
82185 2007-01-20  Jim Meyering  <jim@meyering.net>
82186
82187         * lib/userspec.c (parse_with_separator): If a user or group string
82188         starts with "+", skip the corresponding name-to-ID look-up, since
82189         such a look-up must fail: user and group names may not include "+".
82190
82191 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
82192
82193         * lib/poll.c: Include sys/time.h and time.h unconditionally,
82194         since we now assume the sys_time module.
82195         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
82196         check for sys/time.h; no longer needed.
82197         * modules/poll (Depends-on): Depend on sys_time.
82198
82199 2007-01-18  Bruno Haible  <bruno@clisp.org>
82200
82201         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
82202         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
82203
82204         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
82205         gettimeofday.
82206
82207         * tests/test-gettimeofday.c: Include <time.h>.
82208         (dummy): Remove variable.
82209
82210         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
82211         gl_HEADER_SYS_TIME_H.
82212         (gl_HEADER_SYS_TIME_H): New macro.
82213
82214         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
82215         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
82216         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
82217         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
82218         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
82219         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
82220         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
82221         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
82222         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
82223         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
82224         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
82225
82226         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
82227         last change; it caused a compilation error when cross-compiling to
82228         Cygwin.
82229
82230 2007-01-18  Jim Meyering  <jim@meyering.net>
82231
82232         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
82233         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
82234         than the race-prone "test -d sys || mkdir sys".
82235         (configure.ac): Use AC_PROG_MKDIR_P.
82236         * modules/sys_select: Likewise.
82237         * modules/sys_socket: Likewise.
82238         * modules/sys_time: Likewise.
82239
82240 2007-01-18  Eric Blake  <ebb9@byu.net>
82241
82242         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
82243         replace gettimeofday.
82244         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
82245         name, to avoid infinite recursion.
82246
82247 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
82248
82249         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
82250         module sys_time.
82251         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
82252         assume timespec.h defines struct timeval.
82253         * lib/settime.c: Likewise.
82254         * lib/utimens.c: Likewise.
82255         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
82256         since we now assume the gettimeofday module.
82257         * lib/tempname.c (__gen_tempname): Likewise.
82258         * lib/gettimeofday.h: Remove.
82259         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
82260         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
82261         Include <time.h>, for 'time()'.
82262         (localtime_buffer_addr): Also use this workaround if
82263         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
82264         to simplify the uses.  All uses changed.
82265         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
82266         that #undef is inside {}, and 'const' follows type name consistently.
82267         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
82268         (gettimeofday): Do not use the maximum possible value for
82269         tv->tv_usec, since that might break usages other than ls.c.
82270         Instead, we'll leave ls.c alone.  This undoes today's patch
82271         by Bruno.  Add a compile-time warning for 1s-clock resolution;
82272         we've never observed the problem but might as well keep the
82273         canary.
82274         * lib/nanosleep.c: Include timespec.h first, for interface check.
82275         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
82276         now assume the sys_time module.
82277         * lib/tempname.c: Likewise.
82278         * lib/timespec.h: Likewise.
82279         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
82280         needed.
82281         * lib/strftime.c: Likewise.
82282         * lib/timespec.h: Likewise.
82283         * lib/posixtm.c: Include posixtm.h first, for interface check.
82284         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
82285         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
82286         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
82287         * lib/sys_time_.h: New file.
82288         * lib/timespec.h (struct timespec): Use long int, not long.
82289         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
82290         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
82291         Remove obsolescent call to AC_HEADER_TIME.
82292         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
82293         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82294         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
82295         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
82296         Likewise.
82297         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
82298         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
82299         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
82300         into the sys_time module.  Check for gettimeofday just once.
82301         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
82302         for gettimeofday signature to just check the signature.  Merely
82303         compile it, since linking doesn't test signature.  Improve test for
82304         whether gettimeofday.o is actually needed.
82305         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
82306         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
82307         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
82308         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
82309         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
82310         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
82311         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
82312         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
82313         than worrying about sys/time.h.
82314         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
82315         Don't bother worrying about TIME_WITH_SYS_TIME.
82316         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
82317         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
82318         * m4/sys_time_h.m4: New file.
82319         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
82320         Don't include sys/time.h.  Return from main rather than exiting.
82321         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
82322         all uses changed.
82323         * modules/gethrxtime (Depends-on): Add sys_time.
82324         * modules/gettime (Depends-on): Likewise.
82325         * modules/gettimeofday (Depends-on): Likewise.
82326         * modules/nanosleep (Depends-on): Likewise.
82327         * modules/settime (Depends-on): Likewise.
82328         * modules/tempname (Depends-on): Likewise.
82329         * modules/utimens (Depends-on): Likewise.
82330         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
82331         (Include): Change back to <sys/time.h>.
82332         (Maintainer): Add self.
82333         * modules/sys_time: New file.
82334         * modules/tempname (Depends-on): Add gettimeofday.
82335         * tests/test-gettimeofday.c: Include <sys/time.h>
82336         rather than gettimeofday.h.
82337
82338 2007-01-17  Bruno Haible  <bruno@clisp.org>
82339
82340         * gnulib-tool (func_get_license): Revert last patch. Instead, let
82341         the license default to GPL.
82342         (func_create_testdir): Don't complain if a module is LGPL and its
82343         tests module depends on GPLed modules.
82344
82345 2007-01-17  Bruno Haible  <bruno@clisp.org>
82346
82347         * lib/gettimeofday.c (gettimeofday): Add code for the case
82348         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
82349         maximum possible value for tv->tv_usec, rather than the minimum one.
82350
82351 2005-10-08  Martin Lambers  <marlam@marlam.de>
82352 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
82353 2007-01-16  Bruno Haible  <bruno@clisp.org>
82354
82355         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
82356         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
82357         gl_FUNC_GETTIMEOFDAY.
82358         (Include): Add gettimeofday.h.
82359         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
82360         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
82361         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
82362         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
82363         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
82364         * lib/gettimeofday.h: New file.
82365         * lib/gettimeofday.c: Include <sys/timeb.h>.
82366         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
82367         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
82368         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
82369         fall back on time().
82370
82371         * tests/test-gettimeofday.c: New file.
82372         * modules/gettimeofday-tests: New file.
82373
82374 2007-01-16  Eric Blake  <ebb9@byu.net>
82375
82376         * modules/fnmatch (Depends-on): Depend on wchar.
82377         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
82378         * m4/fnmatch.m4: Likewise.
82379         * modules/mbchar (Makefile.am): Assume <wchar.h>.
82380         * m4/mbchar.m4: Likewise.
82381         * modules/mbswidth (Depends-on): Depend on wchar.
82382         * lib/mbswidth.c: Assume <wchar.h>.
82383         * m4/mbswidth.m4: Likewise.
82384         * modules/quotearg (Depends-on): Depend on wchar.
82385         * lib/quotearg.c: Assume <wchar.h>.
82386         * m4/quotearg.m4: Likewise.
82387         * modules/regex (Depends-on): Depend on wchar.
82388         * lib/regex_internal.h: Assume <wchar.h>.
82389         * m4/regex.m4: Likewise.
82390         * modules/stdint (Depends-on): Depend on wchar.
82391         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
82392         * m4/stdint.m4: Likewise.
82393         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
82394         * modules/strftime (Depends-on): Depend on wchar.
82395         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
82396         * modules/strtol (Depends-on): Depend on wchar.
82397         * lib/strtol.c: Assume <wchar.h>.
82398         * modules/wcwidth (Depends-on): Depend on wchar.
82399         * lib/wcwidth.h: Assume <wchar.h>.
82400         * m4/wcwidth.m4: Likewise.
82401
82402 2007-01-16  Bruno Haible  <bruno@clisp.org>
82403
82404         * modules/csharpexec-script: New, created from...
82405         * modules/csharpexec: ... this.
82406
82407 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
82408
82409         * modules/javaexec-script: New, created from...
82410         * modules/javaexec: ... this.
82411
82412 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82413
82414         * modules/poll (Dependencies): Add sys_select.
82415
82416 2007-01-15  Jim Meyering  <jim@meyering.net>
82417
82418         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
82419         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
82420         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
82421         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
82422
82423 2007-01-15  Bruno Haible  <bruno@clisp.org>
82424
82425         * modules/striconveh: New file.
82426         * lib/striconveh.h: New file.
82427         * lib/striconveh.c: New file.
82428         * MODULES.html.sh (Internationalization functions): Add striconveh.
82429
82430         * modules/striconveh-tests: New file.
82431         * tests/test-striconveh.c: New file.
82432
82433 2007-01-15  Bruno Haible  <bruno@clisp.org>
82434
82435         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
82436         not from GNU libiconv or GNU libc.
82437
82438 2007-01-15  Bruno Haible  <bruno@clisp.org>
82439
82440         * doc/gnulib-intro.texi (Copyright): Explain the different license
82441         terms for module descriptions, autoconf macros, tests, documentation.
82442
82443 2007-01-14  Bruno Haible  <bruno@clisp.org>
82444
82445         * modules/striconv-tests: New file.
82446         * tests/test-striconv.c: New file.
82447
82448 2007-01-14  Bruno Haible  <bruno@clisp.org>
82449
82450         * modules/iconv-tests: New file.
82451         * tests/test-iconv.c: New file.
82452
82453 2007-01-14  Bruno Haible  <bruno@clisp.org>
82454
82455         * gnulib-tool (func_get_license): For test modules, use the license of
82456         the main module.
82457
82458 2007-01-14  Bruno Haible  <bruno@clisp.org>
82459
82460         * modules/iconv (Include): Clarify that <iconv.h> can only be included
82461         if iconv is found to exist.
82462
82463 2007-01-14  Bruno Haible  <bruno@clisp.org>
82464
82465         * modules/c-ctype-tests: New file.
82466         * tests/test-c-ctype.c: New file.
82467
82468 2007-01-14  Bruno Haible  <bruno@clisp.org>
82469
82470         * modules/binary-io-tests: New file.
82471         * tests/test-binary-io.sh: New file.
82472         * tests/test-binary-io.c: New file.
82473
82474 2007-01-14  Bruno Haible  <bruno@clisp.org>
82475
82476         * modules/array-oset-tests: New file.
82477         * tests/test-array_oset.c: New file.
82478
82479 2007-01-14  Bruno Haible  <bruno@clisp.org>
82480
82481         * modules/array-list-tests: New file.
82482         * tests/test-array_list.c: New file.
82483
82484 2007-01-14  Bruno Haible  <bruno@clisp.org>
82485
82486         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
82487         and make.
82488         Reported by Simon Josefsson in
82489         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
82490
82491 2007-01-14  Bruno Haible  <bruno@clisp.org>
82492
82493         * modules/allocsa-tests: New file.
82494         * tests/test-allocsa.c: New file.
82495
82496 2007-01-14  Bruno Haible  <bruno@clisp.org>
82497
82498         * modules/fchdir (Depends-on): Add absolute-header.
82499         * modules/unistd (Depends-on): Likewise.
82500
82501 2006-12-30  Bruno Haible  <bruno@clisp.org>
82502
82503         * modules/fchdir: New file.
82504         * modules/unistd (Files): Add lib/unistd_.h.
82505         (Makefile.am): Generate unistd.h from unistd_.h.
82506         * lib/fchdir.c: New file.
82507         * lib/dirent_.h: New file.
82508         * lib/unistd_.h: New file.
82509         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
82510         * m4/fchdir.m4: New file.
82511         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
82512         (gl_HEADER_UNISTD): Invoke it.
82513         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
82514         function.
82515         * lib/backupfile.c (opendir, closedir): Undefine.
82516         * lib/chown.c (open, close): Undefine.
82517         * lib/clean-temp.c (open, close): Undefine.
82518         * lib/copy-file.c (open, close): Undefine.
82519         * lib/execute.c (open, close): Undefine.
82520         * lib/fsusage.c (open, close): Undefine.
82521         * lib/gc-gnulib.c (open, close): Undefine.
82522         * lib/getcwd.c (opendir, closedir): Undefine.
82523         * lib/glob.c (opendir, closedir): Undefine.
82524         * lib/javacomp.c (open, close): Undefine.
82525         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
82526         * lib/openat-proc.c (open, close): Undefine.
82527         * lib/pagealign_alloc.c (open, close): Undefine.
82528         * lib/pipe.c (open, close): Undefine.
82529         * lib/progreloc.c (open, close): Undefine.
82530         * lib/savedir.c (opendir, closedir): Undefine.
82531         * lib/utime.c (open, close): Undefine.
82532         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
82533
82534 2007-01-10  Bruno Haible  <bruno@clisp.org>
82535
82536         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
82537
82538 2007-01-12  Eric Blake  <ebb9@byu.net>
82539
82540         Provide a robust <wchar.h>.  Further simplifications are now
82541         possible in other modules, but not included here.
82542         * modules/wchar: New module.
82543         * m4/wchar.m4: New file.
82544         * lib/wchar_.h: Likewise.
82545         * modules/mbchar (Depends-on): Depend on wchar, as the first use
82546         of the new module.
82547         * MODULES.html.sh (Extended multibyte and wide character utilities):
82548         New section.
82549
82550 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
82551
82552         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
82553         to a reasonable default for memory allocation.
82554         (xreadlink): Don't allocate a huge buffer, to work around a buggy
82555         file system that reports garbage st_size values for symlinks.
82556         Problem reported by Liyang Hu.
82557
82558 2007-01-11  Simon Josefsson  <simon@josefsson.org>
82559
82560         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
82561         Emacs .#* auto-save files).
82562
82563 2007-01-11  Bruno Haible  <bruno@clisp.org>
82564
82565         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
82566         directory.
82567
82568 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82569
82570         Use @...@ consistently in lib/wctype_.h.
82571         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
82572         on it being set to 1 or 0.
82573         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
82574         go back to AC_SUBSTing it.
82575         * modules/wctype (Makefile.am): Undo previous change.
82576
82577 2007-01-10  Eric Blake  <ebb9@byu.net>
82578
82579         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
82580         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
82581         * modules/wctype (Makefile.am): Likewise.
82582         Reported by Chris McGuire.
82583
82584 2007-01-10  Jim Meyering  <jim@meyering.net>
82585
82586         fts.c: a small readability/maintainability improvement
82587         * lib/fts.c (fts_read): Make this code slightly more readable and
82588         maintainable by hoisting the "sp->fts_cur = p" assignments to
82589         immediately follow the statements that set P.  Derived from
82590         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
82591
82592 2007-01-10  Eric Blake  <ebb9@byu.net>
82593
82594         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
82595         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
82596         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
82597         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
82598         Reported by Chris McGuire.
82599
82600 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82601
82602         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
82603         in sed script.
82604
82605 2007-01-09  Bruno Haible  <bruno@clisp.org>
82606
82607         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
82608         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
82609         variables.
82610         (func_module): Use them.
82611
82612 2007-01-09  Bruno Haible  <bruno@clisp.org>
82613
82614         * modules/unistr/base: New file.
82615         * lib/unistr.h: New file.
82616
82617         * modules/unistr/u8-to-u16: New file.
82618         * lib/unistr/u8-to-u16.c: New file.
82619
82620         * modules/unistr/u8-to-u32: New file.
82621         * lib/unistr/u8-to-u32.c: New file.
82622
82623         * modules/unistr/u16-to-u8: New file.
82624         * lib/unistr/u16-to-u8.c: New file.
82625
82626         * modules/unistr/u16-to-u32: New file.
82627         * lib/unistr/u16-to-u32.c: New file.
82628
82629         * modules/unistr/u32-to-u8: New file.
82630         * lib/unistr/u32-to-u8.c: New file.
82631
82632         * modules/unistr/u32-to-u16: New file.
82633         * lib/unistr/u32-to-u16.c: New file.
82634
82635         * modules/unistr/u8-check: New file.
82636         * modules/unistr/u16-check: New file.
82637         * modules/unistr/u32-check: New file.
82638         * lib/unistr/u8-check.c: New file.
82639         * lib/unistr/u16-check.c: New file.
82640         * lib/unistr/u32-check.c: New file.
82641
82642         * modules/unistr/u8-chr: New file.
82643         * modules/unistr/u16-chr: New file.
82644         * modules/unistr/u32-chr: New file.
82645         * lib/unistr/u8-chr.c: New file.
82646         * lib/unistr/u16-chr.c: New file.
82647         * lib/unistr/u32-chr.c: New file.
82648
82649         * modules/unistr/u8-cmp: New file.
82650         * modules/unistr/u16-cmp: New file.
82651         * modules/unistr/u32-cmp: New file.
82652         * lib/unistr/u8-cmp.c: New file.
82653         * lib/unistr/u16-cmp.c: New file.
82654         * lib/unistr/u32-cmp.c: New file.
82655
82656         * modules/unistr/u8-cpy: New file.
82657         * modules/unistr/u16-cpy: New file.
82658         * modules/unistr/u32-cpy: New file.
82659         * lib/unistr/u8-cpy.c: New file.
82660         * lib/unistr/u16-cpy.c: New file.
82661         * lib/unistr/u32-cpy.c: New file.
82662         * lib/unistr/u-cpy.h: New file.
82663
82664         * modules/unistr/u8-cpy-alloc: New file.
82665         * modules/unistr/u16-cpy-alloc: New file.
82666         * modules/unistr/u32-cpy-alloc: New file.
82667         * lib/unistr/u8-cpy-alloc.c: New file.
82668         * lib/unistr/u16-cpy-alloc.c: New file.
82669         * lib/unistr/u32-cpy-alloc.c: New file.
82670         * lib/unistr/u-cpy-alloc.h: New file.
82671
82672         * modules/unistr/u8-endswith: New file.
82673         * modules/unistr/u16-endswith: New file.
82674         * modules/unistr/u32-endswith: New file.
82675         * lib/unistr/u8-endswith.c: New file.
82676         * lib/unistr/u16-endswith.c: New file.
82677         * lib/unistr/u32-endswith.c: New file.
82678         * lib/unistr/u-endswith.h: New file.
82679
82680         * modules/unistr/u8-mblen: New file.
82681         * modules/unistr/u16-mblen: New file.
82682         * modules/unistr/u32-mblen: New file.
82683         * lib/unistr/u8-mblen.c: New file.
82684         * lib/unistr/u16-mblen.c: New file.
82685         * lib/unistr/u32-mblen.c: New file.
82686
82687         * modules/unistr/u8-mbtouc: New file.
82688         * modules/unistr/u16-mbtouc: New file.
82689         * modules/unistr/u32-mbtouc: New file.
82690         * lib/unistr/u8-mbtouc.c: New file.
82691         * lib/unistr/u16-mbtouc.c: New file.
82692         * lib/unistr/u32-mbtouc.c: New file.
82693
82694         * modules/unistr/u8-mbtouc-safe: New file.
82695         * modules/unistr/u16-mbtouc-safe: New file.
82696         * modules/unistr/u32-mbtouc-safe: New file.
82697         * lib/unistr/u8-mbtouc-safe.c: New file.
82698         * lib/unistr/u16-mbtouc-safe.c: New file.
82699         * lib/unistr/u32-mbtouc-safe.c: New file.
82700
82701         * modules/unistr/u8-move: New file.
82702         * modules/unistr/u16-move: New file.
82703         * modules/unistr/u32-move: New file.
82704         * lib/unistr/u8-move.c: New file.
82705         * lib/unistr/u16-move.c: New file.
82706         * lib/unistr/u32-move.c: New file.
82707         * lib/unistr/u-move.h: New file.
82708
82709         * modules/unistr/u8-next: New file.
82710         * modules/unistr/u16-next: New file.
82711         * modules/unistr/u32-next: New file.
82712         * lib/unistr/u8-next.c: New file.
82713         * lib/unistr/u16-next.c: New file.
82714         * lib/unistr/u32-next.c: New file.
82715
82716         * modules/unistr/u8-prev: New file.
82717         * modules/unistr/u16-prev: New file.
82718         * modules/unistr/u32-prev: New file.
82719         * lib/unistr/u8-prev.c: New file.
82720         * lib/unistr/u16-prev.c: New file.
82721         * lib/unistr/u32-prev.c: New file.
82722
82723         * modules/unistr/u8-set: New file.
82724         * modules/unistr/u16-set: New file.
82725         * modules/unistr/u32-set: New file.
82726         * lib/unistr/u8-set.c: New file.
82727         * lib/unistr/u16-set.c: New file.
82728         * lib/unistr/u32-set.c: New file.
82729         * lib/unistr/u-set.h: New file.
82730
82731         * modules/unistr/u8-startswith: New file.
82732         * modules/unistr/u16-startswith: New file.
82733         * modules/unistr/u32-startswith: New file.
82734         * lib/unistr/u8-startswith.c: New file.
82735         * lib/unistr/u16-startswith.c: New file.
82736         * lib/unistr/u32-startswith.c: New file.
82737         * lib/unistr/u-startswith.h: New file.
82738
82739         * modules/unistr/u8-stpcpy: New file.
82740         * modules/unistr/u16-stpcpy: New file.
82741         * modules/unistr/u32-stpcpy: New file.
82742         * lib/unistr/u8-stpcpy.c: New file.
82743         * lib/unistr/u16-stpcpy.c: New file.
82744         * lib/unistr/u32-stpcpy.c: New file.
82745         * lib/unistr/u-stpcpy.h: New file.
82746
82747         * modules/unistr/u8-stpncpy: New file.
82748         * modules/unistr/u16-stpncpy: New file.
82749         * modules/unistr/u32-stpncpy: New file.
82750         * lib/unistr/u8-stpncpy.c: New file.
82751         * lib/unistr/u16-stpncpy.c: New file.
82752         * lib/unistr/u32-stpncpy.c: New file.
82753         * lib/unistr/u-stpncpy.h: New file.
82754
82755         * modules/unistr/u8-strcat: New file.
82756         * modules/unistr/u16-strcat: New file.
82757         * modules/unistr/u32-strcat: New file.
82758         * lib/unistr/u8-strcat.c: New file.
82759         * lib/unistr/u16-strcat.c: New file.
82760         * lib/unistr/u32-strcat.c: New file.
82761         * lib/unistr/u-strcat.h: New file.
82762
82763         * modules/unistr/u8-strchr: New file.
82764         * modules/unistr/u16-strchr: New file.
82765         * modules/unistr/u32-strchr: New file.
82766         * lib/unistr/u8-strchr.c: New file.
82767         * lib/unistr/u16-strchr.c: New file.
82768         * lib/unistr/u32-strchr.c: New file.
82769
82770         * modules/unistr/u8-strcmp: New file.
82771         * modules/unistr/u16-strcmp: New file.
82772         * modules/unistr/u32-strcmp: New file.
82773         * lib/unistr/u8-strcmp.c: New file.
82774         * lib/unistr/u16-strcmp.c: New file.
82775         * lib/unistr/u32-strcmp.c: New file.
82776
82777         * modules/unistr/u8-strcpy: New file.
82778         * modules/unistr/u16-strcpy: New file.
82779         * modules/unistr/u32-strcpy: New file.
82780         * lib/unistr/u8-strcpy.c: New file.
82781         * lib/unistr/u16-strcpy.c: New file.
82782         * lib/unistr/u32-strcpy.c: New file.
82783         * lib/unistr/u-strcpy.h: New file.
82784
82785         * modules/unistr/u8-strcspn: New file.
82786         * modules/unistr/u16-strcspn: New file.
82787         * modules/unistr/u32-strcspn: New file.
82788         * lib/unistr/u8-strcspn.c: New file.
82789         * lib/unistr/u16-strcspn.c: New file.
82790         * lib/unistr/u32-strcspn.c: New file.
82791         * lib/unistr/u-strcspn.h: New file.
82792
82793         * modules/unistr/u8-strdup: New file.
82794         * modules/unistr/u16-strdup: New file.
82795         * modules/unistr/u32-strdup: New file.
82796         * lib/unistr/u8-strdup.c: New file.
82797         * lib/unistr/u16-strdup.c: New file.
82798         * lib/unistr/u32-strdup.c: New file.
82799         * lib/unistr/u-strdup.h: New file.
82800
82801         * modules/unistr/u8-strlen: New file.
82802         * modules/unistr/u16-strlen: New file.
82803         * modules/unistr/u32-strlen: New file.
82804         * lib/unistr/u8-strlen.c: New file.
82805         * lib/unistr/u16-strlen.c: New file.
82806         * lib/unistr/u32-strlen.c: New file.
82807         * lib/unistr/u-strlen.h: New file.
82808
82809         * modules/unistr/u8-strmblen: New file.
82810         * modules/unistr/u16-strmblen: New file.
82811         * modules/unistr/u32-strmblen: New file.
82812         * lib/unistr/u8-strmblen.c: New file.
82813         * lib/unistr/u16-strmblen.c: New file.
82814         * lib/unistr/u32-strmblen.c: New file.
82815
82816         * modules/unistr/u8-strmbtouc: New file.
82817         * modules/unistr/u16-strmbtouc: New file.
82818         * modules/unistr/u32-strmbtouc: New file.
82819         * lib/unistr/u8-strmbtouc.c: New file.
82820         * lib/unistr/u16-strmbtouc.c: New file.
82821         * lib/unistr/u32-strmbtouc.c: New file.
82822
82823         * modules/unistr/u8-strncat: New file.
82824         * modules/unistr/u16-strncat: New file.
82825         * modules/unistr/u32-strncat: New file.
82826         * lib/unistr/u8-strncat.c: New file.
82827         * lib/unistr/u16-strncat.c: New file.
82828         * lib/unistr/u32-strncat.c: New file.
82829         * lib/unistr/u-strncat.h: New file.
82830
82831         * modules/unistr/u8-strncmp: New file.
82832         * modules/unistr/u16-strncmp: New file.
82833         * modules/unistr/u32-strncmp: New file.
82834         * lib/unistr/u8-strncmp.c: New file.
82835         * lib/unistr/u16-strncmp.c: New file.
82836         * lib/unistr/u32-strncmp.c: New file.
82837
82838         * modules/unistr/u8-strncpy: New file.
82839         * modules/unistr/u16-strncpy: New file.
82840         * modules/unistr/u32-strncpy: New file.
82841         * lib/unistr/u8-strncpy.c: New file.
82842         * lib/unistr/u16-strncpy.c: New file.
82843         * lib/unistr/u32-strncpy.c: New file.
82844         * lib/unistr/u-strncpy.h: New file.
82845
82846         * modules/unistr/u8-strnlen: New file.
82847         * modules/unistr/u16-strnlen: New file.
82848         * modules/unistr/u32-strnlen: New file.
82849         * lib/unistr/u8-strnlen.c: New file.
82850         * lib/unistr/u16-strnlen.c: New file.
82851         * lib/unistr/u32-strnlen.c: New file.
82852         * lib/unistr/u-strnlen.h: New file.
82853
82854         * modules/unistr/u8-strpbrk: New file.
82855         * modules/unistr/u16-strpbrk: New file.
82856         * modules/unistr/u32-strpbrk: New file.
82857         * lib/unistr/u8-strpbrk.c: New file.
82858         * lib/unistr/u16-strpbrk.c: New file.
82859         * lib/unistr/u32-strpbrk.c: New file.
82860         * lib/unistr/u-strpbrk.h: New file.
82861
82862         * modules/unistr/u8-strrchr: New file.
82863         * modules/unistr/u16-strrchr: New file.
82864         * modules/unistr/u32-strrchr: New file.
82865         * lib/unistr/u8-strrchr.c: New file.
82866         * lib/unistr/u16-strrchr.c: New file.
82867         * lib/unistr/u32-strrchr.c: New file.
82868
82869         * modules/unistr/u8-strspn: New file.
82870         * modules/unistr/u16-strspn: New file.
82871         * modules/unistr/u32-strspn: New file.
82872         * lib/unistr/u8-strspn.c: New file.
82873         * lib/unistr/u16-strspn.c: New file.
82874         * lib/unistr/u32-strspn.c: New file.
82875         * lib/unistr/u-strspn.h: New file.
82876
82877         * modules/unistr/u8-strstr: New file.
82878         * modules/unistr/u16-strstr: New file.
82879         * modules/unistr/u32-strstr: New file.
82880         * lib/unistr/u8-strstr.c: New file.
82881         * lib/unistr/u16-strstr.c: New file.
82882         * lib/unistr/u32-strstr.c: New file.
82883         * lib/unistr/u-strstr.h: New file.
82884
82885         * modules/unistr/u8-strtok: New file.
82886         * modules/unistr/u16-strtok: New file.
82887         * modules/unistr/u32-strtok: New file.
82888         * lib/unistr/u8-strtok.c: New file.
82889         * lib/unistr/u16-strtok.c: New file.
82890         * lib/unistr/u32-strtok.c: New file.
82891         * lib/unistr/u-strtok.h: New file.
82892
82893         * modules/unistr/u8-uctomb: New file.
82894         * modules/unistr/u16-uctomb: New file.
82895         * modules/unistr/u32-uctomb: New file.
82896         * lib/unistr/u8-uctomb.c: New file.
82897         * lib/unistr/u16-uctomb.c: New file.
82898         * lib/unistr/u32-uctomb.c: New file.
82899
82900         * MODULES.html.sh (Unicode string functions): Add the new modules.
82901
82902 2007-01-08  Bruno Haible  <bruno@clisp.org>
82903
82904         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
82905         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
82906         subdirectories.
82907
82908 2007-01-08  Karl Berry  <karl@gnu.org>
82909
82910         * doc/error.texi: mention that main() fns must set program_name
82911         when progname is used.
82912
82913 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
82914
82915         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
82916         WCTYPE_H is empty, for the benefit of builds from non-distclean
82917         directories.  Problem reported by Eric Blake in
82918         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
82919
82920 2007-01-08  Bruno Haible  <bruno@clisp.org>
82921
82922         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
82923         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
82924         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
82925         PROVIDE_CANONICALIZE_FILENAME_MODE.
82926         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
82927
82928 2007-01-08  Bruno Haible  <bruno@clisp.org>
82929
82930         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
82931         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
82932         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
82933         * lib/fts.c: Likewise.
82934         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
82935
82936 2006-12-25  Bruno Haible  <bruno@clisp.org>
82937
82938         * modules/utf8-ucs4-safe: New file.
82939         * lib/utf8-ucs4-safe.h: New file.
82940         * lib/unistr/utf8-ucs4-safe.c: New file.
82941
82942         * modules/utf16-ucs4-safe: New file.
82943         * lib/utf16-ucs4-safe.h: New file.
82944         * lib/unistr/utf16-ucs4-safe.c: New file.
82945
82946         * MODULES.html.sh (Unicode string functions): Add the new modules.
82947
82948 2007-01-08  Bruno Haible  <bruno@clisp.org>
82949
82950         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
82951         (Depends-on): Add unitypes.
82952         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
82953         (u8_mbtouc_aux): Move out to separate file.
82954         (u8_mbtouc): Use ucs4_t, uint8_t types.
82955         * lib/unistr/utf8-ucs4.c: New file.
82956
82957         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
82958         (Depends-on): Add unitypes.
82959         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
82960         (u16_mbtouc_aux): Move out to separate file.
82961         (u16_mbtouc): Use ucs4_t, uint16_t types.
82962         * lib/unistr/utf16-ucs4.c: New file.
82963
82964         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
82965         (Depends-on): Add unitypes.
82966         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
82967         (u8_uctomb_aux): Move out to separate file.
82968         (u8_uctomb): Use ucs4_t, uint8_t types.
82969         * lib/unistr/ucs4-utf8.c: New file.
82970
82971         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
82972         (Depends-on): Add unitypes.
82973         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
82974         (u16_uctomb_aux): Move out to separate file.
82975         (u16_uctomb): Use ucs4_t, uint16_t types.
82976         * lib/unistr/ucs4-utf16.c: New file.
82977
82978 2006-12-25  Bruno Haible  <bruno@clisp.org>
82979
82980         * modules/unitypes: New file.
82981         * lib/unitypes.h: New file.
82982         * MODULES.html.sh (func_all_modules): New section "Unicode string
82983         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
82984         this section. Add unitypes.
82985
82986 2007-01-08  Bruno Haible  <bruno@clisp.org>
82987
82988         Avoid variable names that conflict with those from libtool.
82989         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
82990         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
82991         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
82992         library_names_spec to acl_library_names_spec, hardcode_* to
82993         acl_hardcode_*.
82994         Reported by Ralf Wildenhues.
82995
82996 2007-01-08  Bruno Haible  <bruno@clisp.org>
82997
82998         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
82999         definition.
83000         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
83001         definition.
83002         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
83003         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
83004         definition.
83005         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
83006         definition.
83007         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
83008         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
83009         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
83010         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
83011         definition.
83012         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
83013         definition.
83014         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
83015         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
83016         GC_USE_<algorithm>.
83017         * lib/gc-libgcrypt.c: Likewise.
83018         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
83019         * modules/gc-arctwo (configure.ac): Likewise.
83020         * modules/gc-des (configure.ac): Likewise.
83021         * modules/gc-hmac-md5 (configure.ac): Likewise.
83022         * modules/gc-hmac-sha1 (configure.ac): Likewise.
83023         * modules/gc-md2 (configure.ac): Likewise.
83024         * modules/gc-md4 (configure.ac): Likewise.
83025         * modules/gc-md5 (configure.ac): Likewise.
83026         * modules/gc-random (configure.ac): Likewise.
83027         * modules/gc-rijndael (configure.ac): Likewise.
83028         * modules/gc-sha1 (configure.ac): Likewise.
83029
83030 2007-01-08  Bruno Haible  <bruno@clisp.org>
83031
83032         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
83033         macro definition.
83034         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
83035         definition.
83036         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
83037         definition.
83038         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
83039         * modules/fcntl-safer (configure.ac): Likewise.
83040         * modules/fopen-safer (configure.ac): Likewise.
83041         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
83042         GNULIB_FWRITEERROR macro definition.
83043
83044 2007-01-08  Bruno Haible  <bruno@clisp.org>
83045
83046         * m4/gnulib-common.m4: New file.
83047         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
83048         (func_get_filelist): Add m4/gnulib-common.m4.
83049
83050 2007-01-08  Bruno Haible  <bruno@clisp.org>
83051
83052         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
83053         command.
83054
83055 2007-01-08  Jim Meyering  <jim@meyering.net>
83056
83057         Use a more robust test for a "can't happen" condition.
83058         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
83059         narrowed the st_size value.  Presuming the "can't happen" condition
83060         is true, that narrowing could conceivably convert an invalid st_size
83061         value into a valid one.  Instead, use a change based on Matthew
83062         Woehlke's original patch.
83063
83064         Slight readability improvement: use an assert-like macro
83065         in place of literal "abort ()" uses.
83066         * lib/fts.c (fts_assert): Define.
83067         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
83068         Use this macro instead of a bare 'abort'.
83069
83070 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
83071
83072         Don't worry about using IRIX 5.3's wctype.h broken definitions;
83073         simply work around them.
83074         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
83075         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
83076         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
83077         declaring.
83078         Don't bother to define as macros, since the standard doesn't require it.
83079         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
83080         longer worry about IRIX 5.3.
83081         (HAVE_WCTYPE_CTMP_BUG): Remove.
83082
83083 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83084
83085         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
83086         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
83087         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
83088         Problems reported by Georg Schwarz for IRIX 5.3.
83089
83090         * gnulib-tool (autoconf_minversion): Take the maximum version number
83091         found, not the minimum.  Problem reported by James Youngman.
83092
83093 2007-01-03  Karl Berry  <karl@gnu.org>
83094
83095         * doc/error.texi: new file, explaining interaction with progname.
83096         * doc/gnulib.texi: include it.  Update copyright.
83097
83098 2007-01-03  Simon Josefsson  <simon@josefsson.org>
83099
83100         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
83101         AC_CANONICAL_HOST, to improve autobuild outputs.
83102
83103 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
83104             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
83105
83106         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
83107         sockets, server sockets, and other file descriptors.  Count errors
83108         to compute the return value.  Reorder the code a bit to be easier
83109         to follow.  Don't set event bits that were not requested (except
83110         POLLERR and POLLHUP).
83111
83112 2007-01-01  Bruno Haible  <bruno@clisp.org>
83113
83114         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
83115
83116 2007-01-03  Jim Meyering  <jim@meyering.net>
83117
83118         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
83119
83120 2007-01-02  Bruno Haible  <bruno@clisp.org>
83121
83122         * modules/settime (Include): Require timespec.h.
83123         * modules/nanosleep (Include): Likewise.
83124
83125 2007-01-01  Bruno Haible  <bruno@clisp.org>
83126
83127         * gnulib-tool (func_emit_copyright_notice): Bump year.
83128         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
83129
83130 2007-01-01  Bruno Haible  <bruno@clisp.org>
83131
83132         Improve support for OpenBSD.
83133         * build-aux/config.rpath (libname_spec): Export.
83134         (library_names_spec): New variable. Export.
83135         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
83136         library_names_spec from the config.rpath output. Locate shared library
83137         through the name pattern in library_names_spec.
83138
83139 2007-01-01  Eric Blake  <ebb9@byu.net>
83140
83141         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
83142
83143 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
83144
83145         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
83146         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
83147         assume the C locale, and avoid an "eval" that could cause trouble.
83148         Problem with SORT reported by Bob Proulx.
83149
83150         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
83151         Define.  Trivial patch from Henning Nielsen Lund, originally
83152         sent to bug-grep@gnu.org today.
83153
83154 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
83155
83156         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
83157         struct stat.  Problem reported by Henning Nielsen Lund.
83158         * lib/acl.c: Include acl.h first, to check interface.  Don't
83159         bother to include sys/types.h and sys/stat.h again.
83160
83161 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
83162
83163         Import the following change from libc; problem reported by
83164         Sven Verdoolaege.
83165
83166         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
83167
83168         [BZ #1373]
83169         * lib/argp.h: Remove __NTH for __argp_usage inline function.
83170
83171 2006-12-28  Jim Meyering  <jim@meyering.net>
83172
83173         * build-aux/announce-gen: Do not assume that the package
83174         builds any of tar.gz, tar.bz2, and .xdelta files.
83175         Suggestion from Simon Josefsson.
83176
83177 2006-12-28  Simon Josefsson  <simon@josefsson.org>
83178
83179         * modules/announce-gen: New file.
83180
83181 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
83182
83183         * lib/mbchar.h: Just include <wctype.h>; the wctype module
83184         handles its gotchas now.
83185         * lib/mbswidth.c: Likewise.
83186         * lib/wcwidth.h: Likewise.
83187         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
83188         and iswcntrl; the wctype module does this stuff now.
83189         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
83190         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
83191         * modules/mbchar (Depends-on): Add wctype.
83192         * modules/mbswidth (Depends-on): Likewise.
83193         * modules/wcwidth (Depends-on): Likewise.
83194
83195 2006-12-27  Eric Blake  <ebb9@byu.net>
83196
83197         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
83198         module uses more than what <wctype.h> is required to provide.
83199
83200 2006-12-26  Eric Blake  <ebb9@byu.net>
83201
83202         * gnulib-tool (sed_extract_prog): Avoid space-tab.
83203
83204 2006-12-26  Eric Blake  <ebb9@byu.net>
83205
83206         * modules/absolute-header: New module.
83207         * modules/fcntl (Depends-on): Depend on it.
83208         * modules/inttypes (Depends-on): Likewise.
83209         * modules/stdint (Depends-on): Likewise.
83210         * modules/sys_stat (Depends-on): Likewise.
83211         * modules/wctype (Depends-on): Likewise.
83212         * MODULES.html.sh (Support for building libraries and
83213         executables): Document it.
83214
83215 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
83216
83217         * gnulib-tool (SED): Remove, undoing previous change.
83218         The problem was that it broke coreutils on Solaris, because
83219         "sed --posix" leaked into a makefile.
83220         (sed): New alias, if 'alias' and GNU sed.
83221
83222 2006-12-24  Jim Meyering  <jim@meyering.net>
83223
83224         Work around an fchownat bug in glibc-2.4:
83225         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
83226         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
83227         in spite of the -P option.
83228         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
83229         New macros.
83230         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
83231         * modules/openat (Files): Add lib/fchownat.c.
83232         * lib/openat.c (fchownat): Don't define here.  Move to...
83233         * lib/fchownat.c: ...this new file.
83234
83235 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
83236
83237         Fix bug reported by Bruno Haible in
83238         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
83239         where quotearg.c didn't compile on Mac OS X 10.2 because it
83240         lacks <wchar.h> and wint_t.
83241         * lib/wctype_.h (__wctype_wint_t): New type.
83242         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
83243         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
83244         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
83245         Arg is now of type __wctype_wint_t, not wint_t.
83246         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
83247         substitute HAVE_WINT_T.
83248         * modules/wctype (Files): Add m4/wint_t.m4.
83249         (wctype.h): Substitute HAVE_WINT_T.
83250
83251 2006-12-23  Bruno Haible  <bruno@clisp.org>
83252
83253         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
83254
83255 2006-12-23  Bruno Haible  <bruno@clisp.org>
83256
83257         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
83258         S_ISLNK.
83259         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
83260         mingw.
83261
83262 2006-12-22  Bruno Haible  <bruno@clisp.org>
83263
83264         * lib/copy-file.c: Include acl.h.
83265         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
83266         Close the file descriptors only after being done with copy_acl.
83267         * modules/copy-file (Depends-on): Add acl.
83268
83269 2006-12-22  Bruno Haible  <bruno@clisp.org>
83270
83271         * gnulib-tool (SED): New variable.
83272         Use $SED instead of sed everywhere.
83273
83274 2006-12-22  Bruno Haible  <bruno@clisp.org>
83275
83276         * modules/no-c++: New file.
83277         * m4/no-c++.m4: New file.
83278         * MODULES.html.sh (Support for building libraries and executables):
83279         Add no-c++.
83280
83281 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
83282
83283         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
83284         Include <limits.h>, and use its INT_MAX to rewrite the
83285         j loop so that it does not overflow 'int'.  Problem reported by
83286         Ralf Wildenhues in
83287         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
83288         Play it safe by shifting left by 1 rather than multiplying by 2,
83289         as GCC is less likely to optimize this away when the value
83290         is signed (when it assumes overflow leads to undefined behavior).
83291         Also, don't assume time_t uses two's complement.
83292
83293 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
83294
83295         * MODULES.html.sh: New module wctype.
83296         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
83297         * lib/fnmatch.c: Don't bother to include <wchar.h> before
83298         <wctype.h>, since the new wctype module should fix this.
83299         * lib/quotearg.c: Include <wctype.h> unconditionally, since
83300         the wctype module should arrange for it.
83301         * lib/regex_internal.h: Likewise.
83302         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
83303         since the wctype module should handle this now.
83304         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
83305         * modules/fnmatch (Depends-on): Add wctype.
83306         * modules/quotearg (Depends-on): Likewise.
83307         * modules/regex (Depends-on): Likewise.
83308
83309 2006-12-19  Bruno Haible  <bruno@clisp.org>
83310
83311         * lib/strdup.h [C++]: Wrap definitions in extern "C".
83312         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
83313
83314 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83315
83316         * modules/savewd (Depends-on): Fix dependency on fcntl.
83317
83318 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
83319
83320         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
83321         conforms to C99, rather than relying on the user's environment
83322         setting of STDINT_H.
83323
83324 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
83325         and Eric Blake  <ebb9@byu.net>
83326
83327         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
83328         This is more consistent with the other defines here.
83329         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
83330         Port to z/OS.  Problem reported by Paul Gilmartin.
83331         Change local vars to use gl_ prefix rather than ac_.
83332         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
83333         with other defines.
83334         * modules/double-slash-root: New module.
83335         * modules/dirname (Files): Remove m4/double-slash-root.m4.
83336         (Depends-on): Add double-slash-root.
83337         * MODULES.html.sh (File system functions): Mention new module.
83338
83339 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
83340
83341         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
83342         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
83343         This is for the benefit of gzip, which doesn't do i18n.
83344
83345 2006-12-12  Jim Meyering  <jim@meyering.net>
83346
83347         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
83348         Reported by Andreas Schwab <schwab@suse.de>.
83349
83350 2006-12-12  Bruno Haible  <bruno@clisp.org>
83351
83352         Merge these changes.
83353         2006-09-05  Bruno Haible  <bruno@clisp.org>
83354         * lib/iconvme.c (iconv_string): No need to save and restore errno when
83355         iconv_alloc succeeded.
83356         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
83357         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
83358         test for " && dest " at the end - dest is always != NULL there. Call
83359         iconv with 4xNULL arguments initially, to reset the state. Call iconv
83360         with 2xNULL arguments, also to flush the state storage. Handle the
83361         IRIX iconv behaviour. Realloc the final result, to throw away unused
83362         memory.
83363
83364 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
83365
83366         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
83367         and fchmodat unconditionally, since glibc 2.4 has them.
83368         Problem reported by Arkadiusz Miskiewicz.
83369
83370 2006-12-10  Bruno Haible  <bruno@clisp.org>
83371
83372         * gnulib-tool (func_import): Show the include files only for those
83373         modules that are copied and specified.
83374         Reported by Karl Berry.
83375
83376 2006-12-08  Jim Meyering  <jim@meyering.net>
83377
83378         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
83379         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
83380
83381         * build-aux/announce-gen: Add two new options, both optional:
83382         --bootstrap-tools=TOOL_LIST
83383               a comma-separated list of tools, e.g.,
83384               autoconf,automake,bison,gnulib
83385         --gnulib-snapshot-date=DATE
83386               if gnulib is in the bootstrap tool list,
83387               then report this as the snapshot date.
83388               If not specified, use the current date/time.
83389               If you specify a date here, be sure it's UTC.
83390
83391 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83392
83393         * tests/test-argp-2.sh: Fix test to match actual output.
83394         (func_compare): Fix sed script to be portable.
83395
83396 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
83397
83398         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
83399         workaround for this case.  It is not autoconfigured now; offhand
83400         it's hard to see how to autoconfigure it.
83401
83402 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
83403
83404         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
83405         a directory that is about to be chowned.  Such a directory's
83406         initial file permissions should permit the owner only and this
83407         should not be changed until after the chown, since the group and
83408         other bits would be incorrect if they granted permission before
83409         the chown.
83410
83411         Fix porting problem for iswctype reported by Georg Schwarz in:
83412         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
83413         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
83414         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
83415         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
83416         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
83417
83418 2006-12-03  Jim Meyering  <jim@meyering.net>
83419
83420         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
83421         p->fts_statp may not yet be defined.
83422         (fts_read): Instead, set it in the caller, once p->fts_statp is
83423         sure to be defined, and corresponds to a top-level directory.
83424         This bug made du -x fail.  Here's the coreutils test case:
83425         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
83426         Reported by Mike Frysinger.
83427
83428 2006-12-01  Jim Meyering  <jim@meyering.net>
83429
83430         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
83431         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
83432         Reported by Simon Josefsson.
83433
83434 2006-11-30  Jim Meyering  <jim@meyering.net>
83435
83436         * m4/warning.m4: Use the all-permissive copyright notice
83437         recommended by RMS (rather than LGPL).
83438         * m4/vararrays.m4: Likewise.
83439         * m4/flexmember.m4: Likewise.
83440
83441 2006-11-29  Bruno Haible  <bruno@clisp.org>
83442
83443         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
83444         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
83445         using +=.
83446         Reported by Simon Josefsson <simon@josefsson.org>.
83447
83448 2006-11-28  James Youngman <jay@gnu.org>
83449
83450         * README: Advise users that they might find the bug-gnulib@gnu.org
83451         and autotools-announce@gnu.org mailing lists useful.
83452
83453 2006-11-28  Bruno Haible  <bruno@clisp.org>
83454
83455         * m4/ptrdiff_max.m4: Remove file.
83456
83457 2006-11-21  Bruno Haible  <bruno@clisp.org>
83458
83459         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
83460         _AC_COMPUTE_INT.
83461         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
83462         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
83463         _AC_COMPUTE_INT.
83464         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
83465         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
83466         _AC_COMPUTE_INT.
83467         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
83468
83469 2006-11-28  Jim Meyering  <jim@meyering.net>
83470
83471         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
83472         warning from "gcc -Wshadow" about shadowing the builtin.
83473
83474 2006-11-27  Bruno Haible  <bruno@clisp.org>
83475
83476         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
83477         _AC_COMPUTE_INT.
83478         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
83479
83480 2006-11-27  Bruno Haible  <bruno@clisp.org>
83481             Paul Eggert  <eggert@cs.ucla.edu>
83482
83483         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
83484
83485 2006-11-26  Bruno Haible  <bruno@clisp.org>
83486
83487         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
83488         noinst_LTLIBRARIES.
83489
83490 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
83491             Bruno Haible  <bruno@clisp.org>
83492
83493         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
83494         if compiling with "gcc -ansi".
83495
83496 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
83497
83498         Fix some incompatibilities with gcc -ansi -pedantic.
83499         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
83500         if compiling pedantically with GCC, unless it's C99 or later.
83501         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
83502         it mishandles gcc -ansi -pedantic as well.
83503         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
83504         if gcc -pedantic.
83505         * lib/regexec.c (check_node_accept_bytes): Don't use auto
83506         initializers for struct if -pedantic, unless it's C99 or later.
83507
83508 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
83509
83510         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
83511         Don't close an fd more than once. Identical atimes indicate
83512         success, not failure.
83513
83514 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
83515
83516         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
83517
83518 2006-11-23  Jim Meyering  <jim@meyering.net>
83519
83520         * build-aux/announce-gen: New file.  From coreutils.
83521
83522 2006-11-22  Jim Meyering  <jim@meyering.net>
83523
83524         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
83525         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
83526         (fts_read): Use a temporary to narrow the overused st_size member
83527         before using it in a switch statement.  Reported by Matthew Woehlke.
83528
83529         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
83530         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
83531
83532 2006-11-20  Bruno Haible  <bruno@clisp.org>
83533
83534         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
83535         changequote instead of pairs of brackets.
83536         Reported by Andreas Schwab <schwab@suse.de>.
83537
83538 2006-11-21  Jim Meyering  <jim@meyering.net>
83539
83540         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
83541         so as to remain compatible with older compilers.
83542         Patch from Michael Deutschmann.
83543
83544 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
83545
83546         * MODULES.html.sh (File system functions): Add openat.
83547
83548         * lib/openat.h (rpl_fstatat): New macro, if
83549         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
83550         (fstatat): Define to rpl_fstatat under the same conditions,
83551         unless COMPILING_FSTATAT.
83552         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
83553         seems to have the bug.
83554         * lib/fstatat.c: New file.
83555         * modules/openat (Files): Add it.
83556
83557 2006-11-20  Bruno Haible  <bruno@clisp.org>
83558
83559         * Makefile: New file.
83560
83561 2006-11-20  Jim Meyering  <jim@meyering.net>
83562
83563         The beginnings of syntax-related checks for gnulib.
83564         * lib/Makefile: New file.
83565         * lib/t-idcache: New script.  Ensure that the two halves of
83566         idcache.c stay in sync.
83567
83568         * lib/idcache.c: Adjust comments in user- and group- portions to
83569         be more accurate, and to be consistent with one another.
83570
83571 2006-11-20  Jim Meyering  <jim@meyering.net>
83572
83573         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
83574         continue using the flexible array member (thus, this module performs
83575         half as many malloc calls), with the addition that...
83576         (getgroup, getuser): Consistently record a non-match via an empty
83577         "name" string, and map an empty string match to a NULL return value.
83578         * modules/idcache (Depends-on): Re-add flexmember.
83579
83580         * lib/idcache.c (getuser): Remove all uses of the register keyword.
83581         (getuidbyname, getgroup, getgidbyname): Likewise.
83582
83583         Use cleaner syntax: NULL rather than 0.
83584         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
83585
83586 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
83587
83588         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
83589         It mishandled the case where the group was missing.
83590         Problem reported by Greg Schafer.
83591         * modules/idcache: Likewise.
83592
83593 2006-11-18  Jim Meyering  <jim@meyering.net>
83594
83595         * check-module (%exempt_header): Add exception for some
83596         conditionally-included headers.
83597
83598         * modules/i-ring (Depends-on): Add verify.
83599         (License): Change to LGPL.
83600
83601 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83602
83603         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
83604         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
83605         and inttostr.h.  Use snprintf rather than uinttostr, so that
83606         LGPLed code doesn't depend on GPLed.
83607
83608 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83609
83610         * modules/inline (License): Change from GPL to LGPL.
83611
83612 2006-11-17  Jim Meyering  <jim@meyering.net>
83613
83614         * modules/d-type (License): Switch to LGPL.
83615
83616 2006-11-15  Bruno Haible  <bruno@clisp.org>
83617
83618         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
83619
83620 2006-11-15  Eric Blake  <ebb9@byu.net>
83621
83622         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
83623         the module dependency.
83624
83625 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83626             Bruno Haible  <bruno@clisp.org>
83627
83628         * gnulib-tool (func_create_testdir): Add license consistency check.
83629
83630 2006-11-15  Eric Blake  <ebb9@byu.net>
83631
83632         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
83633         random "(cached)" in configure output.
83634
83635 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83636
83637         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
83638         test for conforming inttypes.h is both announced and cached.
83639
83640         * MODULES.html.sh (seen_modules, seen_files): New variables.
83641         (func_module): Rewrite to use a few less gnulib-tool and sed
83642         invocations.  Avoid a couple of quadratic algorithms for ...
83643         (missed_modules, missed_files): ... these, with ...
83644         (func_append, func_tmpdir): ... these new functions, from
83645         gnulib-tool.  Analogously, install traps for cleanup.
83646
83647         * tests/test-gc.c (main): Remove unused variables.
83648         * tests/test-read-file.c: Include stdlib.h, for 'free'.
83649
83650 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
83651
83652         * modules/inttostr (License): Change to LGPL.
83653
83654 2006-11-14  Eric Blake  <ebb9@byu.net>
83655
83656         * modules/tempname (License): Change to LGPL.
83657
83658 2006-11-14  Eric Blake  <ebb9@byu.net>
83659
83660         * doc/functions.texi (Function Portability): *printf functions on
83661         Cygwin now understand all POSIX size specifiers.
83662
83663 2006-11-14  Bruno Haible  <bruno@clisp.org>
83664
83665         * modules/c-ctype (License): Change to LGPL.
83666
83667 2006-11-12  Bruno Haible  <bruno@clisp.org>
83668
83669         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
83670         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
83671         for GNOME libraries, for which the include files are installed in
83672         subdirectories of $prefix/include.
83673
83674 2006-11-12  Bruno Haible  <bruno@clisp.org>
83675
83676         * m4/lib-link.m4: Require at least autoconf-2.54.
83677         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
83678         name to underscores for the --with option.
83679
83680 2006-11-13  Bruno Haible  <bruno@clisp.org>
83681
83682         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
83683         the tests directory.
83684         Reported by Ralf Wildenhues.
83685
83686 2006-11-13  Bruno Haible  <bruno@clisp.org>
83687
83688         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
83689         (func_emit_initmacro_end): Undo the override here.
83690         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
83691         Works around the famous automake error in coreutils.
83692
83693 2006-11-13  Eric Blake  <ebb9@byu.net>
83694
83695         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
83696         element, not its node.
83697
83698 2006-11-12  Bruno Haible  <bruno@clisp.org>
83699
83700         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
83701         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
83702
83703 2006-11-12  Bruno Haible  <bruno@clisp.org>
83704
83705         * gnulib-tool: New option --local-symlink.
83706         (func_usage): Document it.
83707         (lsymbolic): New variable.
83708         (func_import, func_create_testdir): If --symlink was not specified,
83709         test whether --local-symlink was specified and the file comes from
83710         the local_gnulib_dir.
83711
83712 2006-11-12  Bruno Haible  <bruno@clisp.org>
83713
83714         * gnulib-tool (func_ln): New function.
83715         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
83716
83717 2006-11-12  Bruno Haible  <bruno@clisp.org>
83718
83719         Finish support for source files in subdirectories.
83720         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
83721         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
83722         AUTOMAKE_OPTIONS.
83723         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
83724
83725 2006-11-12  Bruno Haible  <bruno@clisp.org>
83726
83727         * gnulib-tool (func_get_automake_snippet): Synthesize also an
83728         EXTRA_lib_SOURCES augmentation.
83729         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
83730
83731 2006-11-12  Jim Meyering  <jim@meyering.net>
83732
83733         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
83734         file descriptors.  This also averts a failure on systems with
83735         native openat support when a traversed directory lacks "x" access.
83736         * lib/fts_.h: Include "i-ring.h"
83737         (struct FTS) [fts_fd_ring]: New member.
83738         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
83739         (FCHDIR): Add parentheses.
83740         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
83741         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
83742         When descending, rather than simply closing the previous
83743         fts_cwd_fd value, push that file descriptor onto the ring.
83744         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
83745         (fts_open): Initialize the new fd_ring member.
83746         (fts_close): Clear the ring.
83747         (fts_safe_changedir): When possible, use our new fd_ring to skip
83748         the diropen and fstat and dev/ino comparison that would normally
83749         accompany a virtual `chdir ("..")'.
83750
83751         * modules/fts (Depends-on): Add i-ring.
83752         * modules/i-ring: New module.
83753         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
83754         * m4/i-ring.m4: New file.
83755
83756 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83757
83758         * gnulib-tool (func_create_testdir): Fix replacement of
83759         `build-aux' in configure.ac.  Run autotools in gltests
83760         subdirectory.
83761         (func_create_testdir, func_create_megatestdir, test): There is
83762         no need for '--force' in most autotool invocations in a new
83763         tree.  Actually fail the whole test if any of the tools, or the
83764         configure or make stages fail.
83765
83766         Sync from Automake.
83767         * build-aux/gnupload: Revert last change.  Add pointer to upload
83768         instructions of the GNU Maintenance Instructions.
83769         Suggestion by Karl Berry.
83770
83771 2006-11-10  Jim Meyering  <jim@meyering.net>
83772
83773         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
83774
83775 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83776
83777         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
83778         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
83779         (bind_textdomain_codeset) [! ENABLE_NLS]:
83780         Evaluate all the arguments.  That way, callers get compatible behavior
83781         if the arguments have side effects.  Also, it avoids some GCC
83782         diagnostics in some cases; Joel E. Denny reported problems when Bison
83783         was configured with --enable-gcc-warnigs.
83784
83785 2006-11-10  Jim Meyering  <jim@meyering.net>
83786
83787         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
83788         relevant options in CFLAGS (like -O, -fno-inline) are taken into
83789         account.
83790
83791 2006-11-10  Jim Meyering  <jim@meyering.net>
83792
83793         * modules/inline: New file/module.
83794         * modules/xalloc (Files): Remove m4/inline.m4.
83795         (Depends-on): Add inline, instead.
83796         * modules/oset: Likewise.
83797         * modules/list: Likewise.
83798
83799 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83800
83801         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
83802         Problem reported by Matthew Woehlke.
83803
83804 2006-11-09  Bruno Haible  <bruno@clisp.org>
83805
83806         * lib/tempname.c (gen_tempname): Remove variant that invokes
83807         __gen_tempname.
83808         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
83809         __gen_tempname.
83810
83811 2006-11-08  Bruno Haible  <bruno@clisp.org>
83812
83813         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
83814         to 'yes' instead of 'cross-compiling'.
83815
83816 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
83817
83818         * lib/quotearg.h (quotearg_free): New decl.
83819         * lib/quotearg.c (quotearg_free): New function.
83820         (slot0, nslots, slotvec0, slotvec):
83821         Now file-scope so that quotearg_free can get at them.
83822
83823 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83824
83825         Sync from Automake.
83826         * build-aux/gnupload: Add missing 'gnu' to example URL.
83827         Report by Karl Berry.
83828
83829 2006-11-08  Bruno Haible  <bruno@clisp.org>
83830
83831         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
83832         Suggested by Paul Eggert.
83833
83834 2006-11-08  Jim Meyering  <jim@meyering.net>
83835
83836         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
83837         It's already included if !_LIBC.
83838         (fts_safe_changedir): Add a comment.
83839
83840 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
83841
83842         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
83843         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
83844         Matthew Woehlke.
83845
83846         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
83847         definitions up, to avoid colliding with change below.
83848         (static_inline) [HAVE_INLINE]: New macro.
83849         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
83850         Provide extern decls when !HAVE_INLINE.  Do not define unless
83851         static_inline is defined, either by us or by xmalloc.c.  Use
83852         static_inline rather than static inline.
83853         (XCALLOC): Optimize sizeof(T) = 1 case.
83854         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
83855
83856 2006-11-07  Bruno Haible  <bruno@clisp.org>
83857
83858         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
83859         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
83860         AC_C_INLINE.
83861         * modules/xalloc (Files): Add m4/inline.m4.
83862
83863 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83864
83865         * README: Fix typo.
83866         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
83867         (Miscellanous Notes): ...from this.
83868
83869 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
83870
83871         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
83872         Mention that offsetof should be used instead of sizeof.
83873         From Bruno Haible.
83874
83875 2006-11-07  Bruno Haible  <bruno@clisp.org>
83876
83877         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
83878
83879 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
83880
83881         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
83882         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
83883         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
83884         (gl_tree_add_before, gl_tree_add_after):
83885         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
83886         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
83887         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
83888         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
83889         (gl_linked_add_after, gl_linked_add_at): Likewise.
83890         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
83891         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
83892         (gl_tree_add_before, gl_tree_add_after): Likewise.
83893         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
83894         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
83895         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
83896
83897 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83898
83899         * lib/gl_oset.h: Use C comment style, not C++ comment style.
83900
83901 2006-11-06  Bruno Haible  <bruno@clisp.org>
83902
83903         * m4/inline.m4: New file.
83904         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
83905         * modules/list (Files): Add m4/inline.m4.
83906         * modules/oset (Files): Likewise.
83907
83908 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
83909
83910         * lib/idcache.c: Include <stddef.h>, for offsetof.
83911         (struct userid.name): Change from char * to a flexible array member.
83912         All uses changed.
83913         * modules/idcache (Depends-on): Add flexmember.
83914
83915         * MODULES.html.sh (Core language properties): New module flexmember.
83916         * modules/flexmember, m4/flexmember.m4: New files.
83917
83918         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
83919         inline functions that are identical with the old xnmalloc_inline,
83920         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
83921         that we can avoid some unnecessary integer multiplications and
83922         divisions in the common case where the element size is known at
83923         compile time.
83924         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
83925         needed.
83926         (xnboundedmalloc): Remove.
83927         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
83928         arguments, for consistency with rest of this header.
83929         (xcharalloc): Rewrite using XNMALLOC.
83930         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
83931         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
83932         versions have been moved to lib/xalloc.h and renamed to be the
83933         non-*_inline versions.
83934         (xmalloc, xrealloc): Implement without reference to the xnmalloc
83935         and xnrealloc functions, since those functions are now inline and
83936         now call us.
83937         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
83938         renaming described above.
83939         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
83940         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
83941         captures the dependency in AC_C_INLINE.
83942
83943         New module canonicalize-lgpl, proposed by Charles Wilson in
83944         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
83945         with a few small changes afterwards.
83946         * MODULES.html.sh (File system functions): New module
83947         canonicalize-lgpl.
83948         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
83949         and canonicalize_file_name.
83950         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
83951         * modules/canonicalize-lgpl: New files.
83952
83953 2006-11-05  Bruno Haible  <bruno@clisp.org>
83954
83955         * gnulib-tool (func_import, func_create_testdir): Create directories
83956         also for files in subdirectories of lib/.
83957
83958 2006-11-05  Bruno Haible  <bruno@clisp.org>
83959
83960         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
83961         ANSI C compliant.
83962
83963 2006-11-03  Bruno Haible  <bruno@clisp.org>
83964
83965         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
83966         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
83967         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
83968         (xnboundedmalloc): New inline function.
83969         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
83970         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
83971         xmalloc.
83972         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
83973         xmalloc.
83974         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
83975         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
83976         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
83977         xmalloc.
83978         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
83979         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
83980         xmalloc.
83981         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
83982         gl_tree_add_after): Use XMALLOC instead of xmalloc.
83983         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
83984         xmalloc.
83985         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
83986         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
83987         gl_tree_add_after): Use XMALLOC instead of xmalloc.
83988         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
83989         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
83990         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
83991         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
83992
83993 2006-11-03  Bruno Haible  <bruno@clisp.org>
83994
83995         * lib/c-ctype.h [C++]: Define functions without name mangling.
83996         * lib/fwriteerror.h [C++]: Likewise.
83997         * lib/gcd.h [C++]: Likewise.
83998         * lib/linebreak.h [C++]: Likewise.
83999
84000 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
84001
84002         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
84003         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
84004         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
84005         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
84006         Check for functions and headers just once.
84007         Check for declaration of canonicalize_file_name.
84008         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
84009
84010 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
84011
84012         * gnulib-tool (func_import): Fix typo in actioncmd.
84013
84014 2006-11-02  Bruno Haible  <bruno@clisp.org>
84015
84016         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
84017         newline sequence in the Makefile.am snippet as a space, like "make"
84018         does.
84019         Reported by Roger Persson <perrog@gmail.com>.
84020
84021 2006-11-01  Bruno Haible  <bruno@clisp.org>
84022
84023         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
84024         already declared in <string.h>.
84025         * lib/strcase.h (strncasecmp): Don't declare it if yes.
84026
84027 2006-11-01  Bruno Haible  <bruno@clisp.org>
84028
84029         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
84030         * lib/strcase.h: Include <string.h>.
84031         (strcasecmp): Define to rpl_strcasecmp here.
84032
84033 2006-11-01  Bruno Haible  <bruno@clisp.org>
84034
84035         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
84036
84037 2006-11-01  Eric Blake  <ebb9@byu.net>
84038
84039         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
84040
84041         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
84042
84043 2006-10-29  Bruno Haible  <bruno@clisp.org>
84044
84045         Make it compile in C++ mode.
84046         * lib/full-write.c (full_rw): Add a cast.
84047
84048 2006-11-01  Bruno Haible  <bruno@clisp.org>
84049
84050         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
84051         be POSIX compliant.
84052         Reported by Roger Persson <perrog@gmail.com>.
84053
84054 2006-11-01  Eric Blake  <ebb9@byu.net>
84055
84056         * lib/getopt_.h: Fix comments.
84057
84058 2006-10-31  Eric Blake  <ebb9@byu.net>
84059
84060         * modules/tmpdir (Depends-on): Add sys_stat.
84061         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
84062         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
84063         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
84064         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
84065         tempname.
84066
84067 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
84068
84069         Avoid some C++ diagnostics reported by Bruno Haible.
84070         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
84071         xmalloc.
84072         (quotearg_alloc): Use xcharalloc rather than xmalloc.
84073         (struct slotvec): Move to top level.
84074         (quotearg_n_options): Rewrite to avoid xmalloc.
84075         * lib/xalloc.h (xcharalloc): New function.
84076         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
84077         [defined __cplusplus]: Add function template that provides result
84078         type propagation.  This part of the change is from Bruno Haible.
84079
84080 2006-10-29  Bruno Haible  <bruno@clisp.org>
84081
84082         Make it compile in C++ mode.
84083         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
84084         * lib/strnlen1.c (strnlen1): Cast memchr result.
84085         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
84086         * lib/clean-temp.c (string_equals, string_hash): Add casts.
84087         (create_temp_dir): Rename local variable 'template'.
84088         (compile_csharp_using_sscli): Add cast.
84089         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
84090         * lib/findprog.c (find_in_path): Likewise.
84091         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
84092         * lib/wait-process.c (register_slave_subprocess): Likewise.
84093
84094 2006-10-22  Bruno Haible  <bruno@clisp.org>
84095
84096         * modules/tsearch: New file.
84097         * lib/tsearch.h: New file.
84098         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
84099         * m4/tsearch.m4: New file.
84100         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
84101
84102 2006-10-29  Eric Blake  <ebb9@byu.net>
84103
84104         * lib/arcfour.c: Assume config.h.
84105         * lib/arctwo.c: Likewise.
84106         * lib/base64.c: Likewise.
84107         * lib/check-version.c: Likewise.
84108         * lib/crc.c: Likewise.
84109         * lib/des.c: Likewise.
84110         * lib/gc-gnulib.c: Likewise.
84111         * lib/gc-libgcrypt.c: Likewise.
84112         * lib/gc-pbkdf2-sha1.c: Likewise.
84113         * lib/getaddrinfo.c: Likewise.
84114         * lib/getdelim.c: Likewise.
84115         * lib/getline.c: Likewise.
84116         * lib/hmac-md5.c: Likewise.
84117         * lib/hmac-sha1.c: Likewise.
84118         * lib/iconvme.c: Likewise.
84119         * lib/md2.c: Likewise.
84120         * lib/md4.c: Likewise.
84121         * lib/memxor.c: Likewise.
84122         * lib/read-file.c: Likewise.
84123         * lib/readline.c: Likewise.
84124         * lib/rijndael-alg-fst.c: Likewise.
84125         * lib/rijndael-api-fst.c: Likewise.
84126         * lib/xgetdomainname.c: Likewise.
84127
84128 2006-10-28  Eric Blake  <ebb9@byu.net>
84129
84130         * lib/xstrndup.c: Assume config.h.
84131
84132 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
84133
84134         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
84135         stat-macros.h is now for our own macros, whereas stat_h is for
84136         macros in the <sys/stat.h> name space.
84137         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
84138         (STAT_MACROS_H): Remove.
84139         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
84140         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
84141         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
84142         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
84143         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
84144         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
84145         Move these macros to ...
84146         * lib/stat_.h: here.  Don't include stat-macros.h.
84147         * lib/canonicalize.c: Don't include stat-macros.h.
84148         * lib/chown.c: Likewise.
84149         * lib/euidaccess.c: Likewise.
84150         * lib/file-type.c: Likewise.
84151         * lib/filemode.c: Likewise.
84152         * lib/glob.c: Likewise.
84153         * lib/isapipe.c: Likewise.
84154         * lib/lchown.c: Likewise.
84155         * lib/lstat.c: Likewise.
84156         * lib/mkdir-p.c: Likewise.
84157         * lib/rmdir.c: Likewise.
84158         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
84159         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
84160         unless mkdir isn't declared, to speed up 'configure'.
84161         Always create sys/stat.h, since it's unlikely any real sys/stat.h
84162         would define all the S_* symbols.
84163         * modules/canonicalize (Depends-on):
84164         Depend on sys_stat, not stat-macros.
84165         * modules/chown: Likewise.
84166         * modules/euidaccess: Likewise.
84167         * modules/filemode: Likewise.
84168         * modules/file-type: Likewise.
84169         * modules/glob: Likewise.
84170         * modules/isapipe: Likewise.
84171         * modules/lchown: Likewise.
84172         * modules/lstat: Likewise.
84173         * modules/mkancesdirs: Likewise.
84174         * modules/rmdir: Likewise.
84175         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
84176         * modules/modechange: Likewise.
84177         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
84178         (configure.ac): Remove gl_STAT_MACROS.
84179         * modules/sys_stat (Depends-on): Remove stat-macros.
84180
84181 2006-10-27  Bruno Haible  <bruno@clisp.org>
84182
84183         * m4/signed.m4: Remove file.
84184         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
84185         invocation.
84186         * modules/vasnprintf (Files): Remove m4/signed.m4.
84187
84188 2006-10-27  Bruno Haible  <bruno@clisp.org>
84189
84190         Update to GNU gettext 0.16.
84191         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
84192         m4/inttypes-h.m4, m4/signed.m4.
84193         * m4/gettext.m4: Update to GNU gettext 0.16.
84194         * m4/intl.m4: New file, from GNU gettext.
84195         * m4/intldir.m4: New file, from GNU gettext.
84196         * config/srclist.txt: Update
84197
84198 2006-10-27  Eric Blake  <ebb9@byu.net>
84199
84200         * MODULES.html.sh: Document tempname.
84201         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
84202         dependencies.
84203         (Files): Move lib/tempname.c...
84204         * modules/tempname: ...to this new module.
84205         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
84206         (gl_PREREQ_TEMPNAME): Move...
84207         * m4/tempname.m4: ...to this new file.
84208         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
84209         * modules/sys_stat (Depends-on): Add stat-macros.
84210         * lib/stat_.h (includes): Pick up stat macros.
84211         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
84212         if stat macros are broken.
84213         * lib/tempname.c (includes): No need to include "stat-macros.h".
84214         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
84215         (direxists, __path_search) [!_LIBC]: Don't compile these in
84216         gnulib; the tmpdir module covers that.
84217         * lib/tempname.h: New file.
84218
84219 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
84220
84221         * COPYING: Explain how gnulib-tool converts licence headers.
84222         Almost all wording by Eric Blake.
84223
84224 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
84225
84226         * lib/mbchar.h (is_basic_table): Make read-only.
84227         * lib/mbchar.c (is_basic_table): Likewise.
84228         Reported by John Darrington.
84229
84230 2006-10-25  Bruno Haible  <bruno@clisp.org>
84231
84232         * lib/progname.h (set_program_name): Undefine before defining.
84233
84234 2006-10-25  Bruno Haible  <bruno@clisp.org>
84235
84236         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
84237         false for non-gcc C++ compilers.
84238         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
84239
84240 2006-10-24  Bruno Haible  <bruno@clisp.org>
84241
84242         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
84243         iconv implementations like Irix iconv.
84244
84245 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84246
84247         * modules/vararrays: New file.
84248         * m4/vararrays.m4: New file, taken from diffutils.
84249         * MODULES.html.sh: New module vararrays.
84250
84251 2006-10-24  Karl Berry  <karl@gnu.org>
84252
84253         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
84254         Don't call GNU Unix.
84255
84256 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84257
84258         * users.txt: Add Libtool.
84259
84260         Sync from Libtool:
84261
84262         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84263
84264         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
84265         to gnulib's policy of including config.h unconditionally.
84266
84267 2006-10-24  Bruno Haible  <bruno@clisp.org>
84268
84269         * modules/wcwidth (Files): Add m4/wint_t.m4.
84270         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
84271         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
84272
84273 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84274
84275         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
84276         to pacify GCC with some -W flags enabled.  Problem reported by
84277         Bruno Haible.
84278
84279 2006-10-24  Jim Meyering  <jim@meyering.net>
84280
84281         * MODULES.html.sh: Remove uinttostr.  It's not a module.
84282         Reported by Karl Berry.
84283
84284 2006-10-23  Bruno Haible  <bruno@clisp.org>
84285
84286         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
84287
84288 2006-10-24  Bruno Haible  <bruno@clisp.org>
84289
84290         * lib/gl_list.h: Use C comment style, not C++ comment style.
84291
84292 2006-10-23  Eric Blake  <ebb9@byu.net>
84293
84294         * lib/getaddrinfo.c (includes): Add missing include.
84295
84296 2006-10-23  Bruno Haible  <bruno@clisp.org>
84297             Paul Eggert  <eggert@cs.ucla.edu>
84298
84299         Ability to rename obstack_free.
84300         * lib/obstack.h (__obstack_free): New macro. Declare instead of
84301         obstack_free.
84302         (obstack_free): Invoke the __obstack_free macro.
84303         * lib/obstack.c (obstack_free): Use __obstack_free macro.
84304
84305 2006-10-23  Bruno Haible  <bruno@clisp.org>
84306             Paul Eggert  <eggert@cs.ucla.edu>
84307
84308         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
84309         __argc, __argv from the declaration. (They are defined as macros on
84310         mingw.)
84311
84312 2006-10-22  Bruno Haible  <bruno@clisp.org>
84313
84314         * doc/gnulib-intro.texi: New file.
84315         * doc/gnulib.texi: Include it.
84316
84317 2006-10-21  Bruno Haible  <bruno@clisp.org>
84318
84319         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
84320         "Introduction", "Miscellanous Notes", "Particular Modules".
84321
84322 2006-10-21  Bruno Haible  <bruno@clisp.org>
84323
84324         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
84325         Change mostlyclean-local rule to avoid sh syntax error from bash
84326         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
84327
84328 2006-10-23  Jim Meyering  <jim@meyering.net>
84329
84330         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
84331         in place of snprintf.
84332
84333         * modules/inttostr (Files): Add lib/uinttostr.c.
84334         * lib/uinttostr.c (inttostr): New file/function.
84335         * lib/inttostr.h (uinttostr): Declare.
84336         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
84337         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
84338         Add uinttostr.
84339         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
84340
84341 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
84342
84343         * lib/canonicalize.c (ELOOP): Define if not already defined.
84344         Problem reported by Bruno Haible in
84345         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
84346
84347 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
84348
84349         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
84350         Problem reported by Perry Smith and Ville Laurikari.
84351
84352         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
84353         uses.
84354
84355 2006-10-19  Bruno Haible  <bruno@clisp.org>
84356
84357         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
84358         for mingw.
84359
84360 2006-10-19  Bruno Haible  <bruno@clisp.org>
84361
84362         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
84363         Needed for mingw.
84364
84365 2006-10-19  Bruno Haible  <bruno@clisp.org>
84366
84367         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
84368
84369 2006-10-19  Bruno Haible  <bruno@clisp.org>
84370
84371         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
84372         it.
84373
84374 2006-10-19  Bruno Haible  <bruno@clisp.org>
84375
84376         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
84377         invocation.
84378
84379 2006-10-19  Bruno Haible  <bruno@clisp.org>
84380
84381         * gnulib-tool (func_create_testdir): Don't include ftruncate and
84382         mountlist by default.
84383
84384 2006-10-16  Bruno Haible  <bruno@clisp.org>
84385
84386         * lib/c-strstr.c: Include c-strstr.h.
84387
84388 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
84389
84390         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
84391         in a slash.
84392
84393 2006-10-18  Bruno Haible  <bruno@clisp.org>
84394
84395         * lib/lock.h [C++]: Wrap definitions in extern "C".
84396
84397 2006-10-18  Bruno Haible  <bruno@clisp.org>
84398
84399         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
84400         gl_LIBOBJS list.
84401
84402 2006-10-18  Bruno Haible  <bruno@clisp.org>
84403
84404         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
84405
84406 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
84407
84408         * lib/xstrtol.h: Include gettext.h.
84409         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
84410         Problem reported by Eric Blake.
84411         * modules/xstrtol (Depends-on): Add gettext-h.
84412
84413 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
84414
84415         * lib/strftime.c (advance): New macro.
84416         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
84417         incomplete type, so you can't add 0 to it.  Problem and patch
84418         reported by Eelco Dolstra for dietlibc.
84419
84420 2006-10-18  Jim Meyering  <jim@meyering.net>
84421
84422         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
84423         type for a local, and rename it: s/up/user_proc/.
84424
84425 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
84426
84427         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
84428         READ_UTMP_USER_PROCESS.
84429         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
84430
84431 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
84432
84433         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
84434         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
84435
84436 2006-10-17  Eric Blake  <ebb9@byu.net>
84437
84438         * lib/sigprocmask.c (sigprocmask): Fix typo.
84439
84440         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
84441
84442         * modules/clean-temp (Makefile.am): Don't add to make output...
84443         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
84444         config.h.
84445
84446 2006-10-17  Bruno Haible  <bruno@clisp.org>
84447
84448         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
84449         differently if DEFAULT_TEXT_DOMAIN is set.
84450
84451 2006-10-16  Bruno Haible  <bruno@clisp.org>
84452
84453         * lib/clean-temp.c: Include fwriteerror.h.
84454
84455 2006-10-16  Bruno Haible  <bruno@clisp.org>
84456
84457         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
84458
84459 2006-10-16  Bruno Haible  <bruno@clisp.org>
84460
84461         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
84462         * lib/sigprocmask.h: Include <sys/types.h>.
84463         (sigset_t): Use the system's definition if present.
84464
84465 2006-10-17  Eric Blake  <ebb9@byu.net>
84466
84467         * lib/xvasprintf.c (includes): Assume config.h.
84468         * lib/xasprintf.c (includes): Likewise.
84469
84470 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
84471
84472         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
84473         at least as wide as intmax_t.
84474
84475 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
84476
84477         (Imported from Automake.)
84478         * build-aux/gnupload: Update to version 1.1 of directive file.
84479
84480 2006-10-16  Eric Blake  <ebb9@byu.net>
84481
84482         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
84483         match Automake 1.10a.
84484
84485 2006-10-14  Bruno Haible  <bruno@clisp.org>
84486
84487         * modules/sigprocmask: New file.
84488         * lib/sigprocmask.h: New file.
84489         * lib/sigprocmask.c: New file.
84490         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
84491         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
84492         request sigprocmask.o.
84493         (gl_PREREQ_SIGPROCMASK): New macro.
84494         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
84495         (Depends-on): Add sigprocmask.
84496         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
84497         gt_SIGNALBLOCKING. Test for 'raise' only once.
84498         * lib/fatal-signal.c: Include sigprocmask.h.
84499         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
84500         unblock_fatal_signals): Define always.
84501         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84502         sigprocmask.
84503
84504 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84505
84506         Sync from Automake.
84507         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
84508         which incorrectly sets the mode of an existing destination
84509         directory.  In some cases the unpatched install-sh could do the
84510         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
84511         system.  We hope this is rare in practice, but it's clearly worth
84512         fixing.  Problem reported by Alex Unleashed in
84513         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
84514         Also, don't bother to check for -m bugs unless we're using -m;
84515         suggested by Stepan Kasal.
84516
84517 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84518
84519         Sync from Automake.
84520         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
84521         `-c' flag, so they appear at the same position as in %FASTDEP%
84522         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
84523         which ignores unknown options only after the first non-option.
84524         Bug report against M4 by Nelson H. F. Beebe.
84525
84526 2006-10-13  Jim Meyering  <jim@meyering.net>
84527
84528         Fix a bug in yesterday's change.
84529         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
84530         p->fts_statp->st_dev would be used uninitialized.
84531         Ensures that we always call fts_stat on the very first entry.
84532         Miklos Szeredi reported that find -xdev stopped working.
84533
84534 2006-10-12  Bruno Haible  <bruno@clisp.org>
84535
84536         * gnulib-tool (func_get_automake_snippet): Append an automatically
84537         computed EXTRA_DIST augmentation.
84538         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
84539         * modules/alloca-opt (Makefile.am): Likewise.
84540         * modules/allocsa (Makefile.am): Likewise.
84541         * modules/arcfour (Makefile.am): Likewise.
84542         * modules/arctwo (Makefile.am): Likewise.
84543         * modules/argmatch (Makefile.am): Likewise.
84544         * modules/argz (Makefile.am): Likewise.
84545         * modules/atexit (Makefile.am): Likewise.
84546         * modules/backupfile (Makefile.am): Likewise.
84547         * modules/byteswap (Makefile.am): Likewise.
84548         * modules/c-strtod (Makefile.am): Likewise.
84549         * modules/c-strtold (Makefile.am): Likewise.
84550         * modules/calloc (Makefile.am): Likewise.
84551         * modules/canon-host (Makefile.am): Likewise.
84552         * modules/canonicalize (Makefile.am): Likewise.
84553         * modules/chdir-long (Makefile.am): Likewise.
84554         * modules/chdir-safer (Makefile.am): Likewise.
84555         * modules/check-version (Makefile.am): Likewise.
84556         * modules/chown (Makefile.am): Likewise.
84557         * modules/cloexec (Makefile.am): Likewise.
84558         * modules/close-stream (Makefile.am): Likewise.
84559         * modules/closeout (Makefile.am): Likewise.
84560         * modules/crc (Makefile.am): Likewise.
84561         * modules/csharpexec (Makefile.am): Likewise.
84562         * modules/cycle-check (Makefile.am): Likewise.
84563         * modules/des (Makefile.am): Likewise.
84564         * modules/dev-ino (Makefile.am): Likewise.
84565         * modules/dirfd (Makefile.am): Likewise.
84566         * modules/dirname (Makefile.am): Likewise.
84567         * modules/dup2 (Makefile.am): Likewise.
84568         * modules/eealloc (Makefile.am): Likewise.
84569         * modules/error (Makefile.am): Likewise.
84570         * modules/euidaccess (Makefile.am): Likewise.
84571         * modules/exclude (Makefile.am): Likewise.
84572         * modules/exitfail (Makefile.am): Likewise.
84573         * modules/fcntl-safer (Makefile.am): Likewise.
84574         * modules/fcntl (Makefile.am): Likewise.
84575         * modules/file-type (Makefile.am): Likewise.
84576         * modules/fileblocks (Makefile.am): Likewise.
84577         * modules/filemode (Makefile.am): Likewise.
84578         * modules/filenamecat (Makefile.am): Likewise.
84579         * modules/fnmatch (Makefile.am): Likewise.
84580         * modules/fopen-safer (Makefile.am): Likewise.
84581         * modules/fpending (Makefile.am): Likewise.
84582         * modules/fprintftime (Makefile.am): Likewise.
84583         * modules/free (Makefile.am): Likewise.
84584         * modules/fsusage (Makefile.am): Likewise.
84585         * modules/ftruncate (Makefile.am): Likewise.
84586         * modules/fts (Makefile.am): Likewise.
84587         * modules/gc-arcfour (Makefile.am): Likewise.
84588         * modules/gc-des (Makefile.am): Likewise.
84589         * modules/gc-hmac-md5 (Makefile.am): Likewise.
84590         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
84591         * modules/gc-md4 (Makefile.am): Likewise.
84592         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
84593         * modules/gc-sha1 (Makefile.am): Likewise.
84594         * modules/gc (Makefile.am): Likewise.
84595         * modules/getaddrinfo (Makefile.am): Likewise.
84596         * modules/getcwd (Makefile.am): Likewise.
84597         * modules/getdelim (Makefile.am): Likewise.
84598         * modules/getdomainname (Makefile.am): Likewise.
84599         * modules/getgroups (Makefile.am): Likewise.
84600         * modules/gethostname (Makefile.am): Likewise.
84601         * modules/gethrxtime (Makefile.am): Likewise.
84602         * modules/getline (Makefile.am): Likewise.
84603         * modules/getloadavg (Makefile.am): Likewise.
84604         * modules/getlogin_r (Makefile.am): Likewise.
84605         * modules/getndelim2 (Makefile.am): Likewise.
84606         * modules/getopt (Makefile.am): Likewise.
84607         * modules/getpagesize (Makefile.am): Likewise.
84608         * modules/getpass-gnu (Makefile.am): Likewise.
84609         * modules/getpass (Makefile.am): Likewise.
84610         * modules/getsubopt (Makefile.am): Likewise.
84611         * modules/gettime (Makefile.am): Likewise.
84612         * modules/gettimeofday (Makefile.am): Likewise.
84613         * modules/getugroups (Makefile.am): Likewise.
84614         * modules/getusershell (Makefile.am): Likewise.
84615         * modules/glob (Makefile.am): Likewise.
84616         * modules/group-member (Makefile.am): Likewise.
84617         * modules/hard-locale (Makefile.am): Likewise.
84618         * modules/hash (Makefile.am): Likewise.
84619         * modules/hmac-md5 (Makefile.am): Likewise.
84620         * modules/hmac-sha1 (Makefile.am): Likewise.
84621         * modules/human (Makefile.am): Likewise.
84622         * modules/idcache (Makefile.am): Likewise.
84623         * modules/imaxabs (Makefile.am): Likewise.
84624         * modules/imaxdiv (Makefile.am): Likewise.
84625         * modules/inet_ntop (Makefile.am): Likewise.
84626         * modules/inet_pton (Makefile.am): Likewise.
84627         * modules/intprops (Makefile.am): Likewise.
84628         * modules/inttostr (Makefile.am): Likewise.
84629         * modules/inttypes (Makefile.am): Likewise.
84630         * modules/isapipe (Makefile.am): Likewise.
84631         * modules/javaversion (Makefile.am): Likewise.
84632         * modules/lchmod (Makefile.am): Likewise.
84633         * modules/lchown (Makefile.am): Likewise.
84634         * modules/localcharset (Makefile.am): Likewise.
84635         * modules/long-options (Makefile.am): Likewise.
84636         * modules/lstat (Makefile.am): Likewise.
84637         * modules/malloc (Makefile.am): Likewise.
84638         * modules/mathl (Makefile.am): Likewise.
84639         * modules/mbchar (Makefile.am): Likewise.
84640         * modules/md2 (Makefile.am): Likewise.
84641         * modules/md4 (Makefile.am): Likewise.
84642         * modules/md5 (Makefile.am): Likewise.
84643         * modules/memcasecmp (Makefile.am): Likewise.
84644         * modules/memchr (Makefile.am): Likewise.
84645         * modules/memcmp (Makefile.am): Likewise.
84646         * modules/memcoll (Makefile.am): Likewise.
84647         * modules/memcpy (Makefile.am): Likewise.
84648         * modules/memmem (Makefile.am): Likewise.
84649         * modules/memmove (Makefile.am): Likewise.
84650         * modules/mempcpy (Makefile.am): Likewise.
84651         * modules/memrchr (Makefile.am): Likewise.
84652         * modules/memset (Makefile.am): Likewise.
84653         * modules/memxor (Makefile.am): Likewise.
84654         * modules/mkancesdirs (Makefile.am): Likewise.
84655         * modules/mkdir-p (Makefile.am): Likewise.
84656         * modules/mkdir (Makefile.am): Likewise.
84657         * modules/mkdtemp (Makefile.am): Likewise.
84658         * modules/mkstemp (Makefile.am): Likewise.
84659         * modules/mktime (Makefile.am): Likewise.
84660         * modules/modechange (Makefile.am): Likewise.
84661         * modules/mountlist (Makefile.am): Likewise.
84662         * modules/nanosleep (Makefile.am): Likewise.
84663         * modules/obstack (Makefile.am): Likewise.
84664         * modules/openat (Makefile.am): Likewise.
84665         * modules/pagealign_alloc (Makefile.am): Likewise.
84666         * modules/pathmax (Makefile.am): Likewise.
84667         * modules/physmem (Makefile.am): Likewise.
84668         * modules/poll (Makefile.am): Likewise.
84669         * modules/posixtm (Makefile.am): Likewise.
84670         * modules/posixver (Makefile.am): Likewise.
84671         * modules/putenv (Makefile.am): Likewise.
84672         * modules/quote (Makefile.am): Likewise.
84673         * modules/quotearg (Makefile.am): Likewise.
84674         * modules/raise (Makefile.am): Likewise.
84675         * modules/read-file (Makefile.am): Likewise.
84676         * modules/readline (Makefile.am): Likewise.
84677         * modules/readlink (Makefile.am): Likewise.
84678         * modules/readtokens (Makefile.am): Likewise.
84679         * modules/readutmp (Makefile.am): Likewise.
84680         * modules/realloc (Makefile.am): Likewise.
84681         * modules/regex (Makefile.am): Likewise.
84682         * modules/rename-dest-slash (Makefile.am): Likewise.
84683         * modules/rename (Makefile.am): Likewise.
84684         * modules/rijndael (Makefile.am): Likewise.
84685         * modules/rmdir (Makefile.am): Likewise.
84686         * modules/rpmatch (Makefile.am): Likewise.
84687         * modules/safe-read (Makefile.am): Likewise.
84688         * modules/safe-write (Makefile.am): Likewise.
84689         * modules/same-inode (Makefile.am): Likewise.
84690         * modules/same (Makefile.am): Likewise.
84691         * modules/save-cwd (Makefile.am): Likewise.
84692         * modules/savedir (Makefile.am): Likewise.
84693         * modules/setenv (Makefile.am): Likewise.
84694         * modules/settime (Makefile.am): Likewise.
84695         * modules/sha1 (Makefile.am): Likewise.
84696         * modules/sig2str (Makefile.am): Likewise.
84697         * modules/snprintf (Makefile.am): Likewise.
84698         * modules/stat-macros (Makefile.am): Likewise.
84699         * modules/stat-time (Makefile.am): Likewise.
84700         * modules/stdbool (Makefile.am): Likewise.
84701         * modules/stdint (Makefile.am): Likewise.
84702         * modules/stdlib-safer (Makefile.am): Likewise.
84703         * modules/stpcpy (Makefile.am): Likewise.
84704         * modules/stpncpy (Makefile.am): Likewise.
84705         * modules/strcase (Makefile.am): Likewise.
84706         * modules/strcasestr (Makefile.am): Likewise.
84707         * modules/strchrnul (Makefile.am): Likewise.
84708         * modules/strcspn (Makefile.am): Likewise.
84709         * modules/strdup (Makefile.am): Likewise.
84710         * modules/strerror (Makefile.am): Likewise.
84711         * modules/strftime (Makefile.am): Likewise.
84712         * modules/strndup (Makefile.am): Likewise.
84713         * modules/strnlen (Makefile.am): Likewise.
84714         * modules/strpbrk (Makefile.am): Likewise.
84715         * modules/strsep (Makefile.am): Likewise.
84716         * modules/strstr (Makefile.am): Likewise.
84717         * modules/strtod (Makefile.am): Likewise.
84718         * modules/strtoimax (Makefile.am): Likewise.
84719         * modules/strtok_r (Makefile.am): Likewise.
84720         * modules/strtol (Makefile.am): Likewise.
84721         * modules/strtoll (Makefile.am): Likewise.
84722         * modules/strtoul (Makefile.am): Likewise.
84723         * modules/strtoull (Makefile.am): Likewise.
84724         * modules/strtoumax (Makefile.am): Likewise.
84725         * modules/strverscmp (Makefile.am): Likewise.
84726         * modules/sys_socket (Makefile.am): Likewise.
84727         * modules/sys_stat (Makefile.am): Likewise.
84728         * modules/sysexits (Makefile.am): Likewise.
84729         * modules/time_r (Makefile.am): Likewise.
84730         * modules/timegm (Makefile.am): Likewise.
84731         * modules/timespec (Makefile.am): Likewise.
84732         * modules/tmpfile-safer (Makefile.am): Likewise.
84733         * modules/trim (Makefile.am): Likewise.
84734         * modules/unistd-safer (Makefile.am): Likewise.
84735         * modules/unlinkdir (Makefile.am): Likewise.
84736         * modules/unlocked-io (Makefile.am): Likewise.
84737         * modules/userspec (Makefile.am): Likewise.
84738         * modules/utime (Makefile.am): Likewise.
84739         * modules/utimecmp (Makefile.am): Likewise.
84740         * modules/utimens (Makefile.am): Likewise.
84741         * modules/vasnprintf (Makefile.am): Likewise.
84742         * modules/vasprintf (Makefile.am): Likewise.
84743         * modules/vsnprintf (Makefile.am): Likewise.
84744         * modules/xalloc (Makefile.am): Likewise.
84745         * modules/xgetcwd (Makefile.am): Likewise.
84746         * modules/xnanosleep (Makefile.am): Likewise.
84747         * modules/xreadlink (Makefile.am): Likewise.
84748         * modules/xstrtod (Makefile.am): Likewise.
84749         * modules/xstrtol (Makefile.am): Likewise.
84750         * modules/xstrtold (Makefile.am): Likewise.
84751         * modules/yesno (Makefile.am): Likewise.
84752         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
84753
84754 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
84755
84756         * modules/error (Makefile.am): Distribute files through
84757         EXTRA_DIST, not lib_SOURCES.
84758
84759 2006-10-12  Eric Blake  <ebb9@byu.net>
84760
84761         * modules/error (Makefile.am): Distribute files in /lib.
84762         * modules/obstack (Makefile.am): Likewise.
84763
84764 2006-10-12  Bruno Haible  <bruno@clisp.org>
84765
84766         * modules/acl (Makefile.am): Distribute all files in lib/ through
84767         EXTRA_DIST.
84768         * modules/arcfour (Makefile.am): Likewise.
84769         * modules/arctwo (Makefile.am): Likewise.
84770         * modules/argmatch (Makefile.am): Likewise.
84771         * modules/argz (Makefile.am): Likewise.
84772         * modules/atexit (Makefile.am): Likewise.
84773         * modules/backupfile (Makefile.am): Likewise.
84774         * modules/c-strtod (Makefile.am): Likewise.
84775         * modules/c-strtold (Makefile.am): Likewise.
84776         * modules/calloc (Makefile.am): Likewise.
84777         * modules/canon-host (Makefile.am): Likewise.
84778         * modules/canonicalize (Makefile.am): Likewise.
84779         * modules/chdir-long (Makefile.am): Likewise.
84780         * modules/chdir-safer (Makefile.am): Likewise.
84781         * modules/check-version (Makefile.am): Likewise.
84782         * modules/chown (Makefile.am): Likewise.
84783         * modules/cloexec (Makefile.am): Likewise.
84784         * modules/close-stream (Makefile.am): Likewise.
84785         * modules/closeout (Makefile.am): Likewise.
84786         * modules/crc (Makefile.am): Likewise.
84787         * modules/cycle-check (Makefile.am): Likewise.
84788         * modules/des (Makefile.am): Likewise.
84789         * modules/dirfd (Makefile.am): Likewise.
84790         * modules/dirname (Makefile.am): Likewise.
84791         * modules/dup2 (Makefile.am): Likewise.
84792         * modules/euidaccess (Makefile.am): Likewise.
84793         * modules/exclude (Makefile.am): Likewise.
84794         * modules/exitfail (Makefile.am): Likewise.
84795         * modules/fcntl-safer (Makefile.am): Likewise.
84796         * modules/file-type (Makefile.am): Likewise.
84797         * modules/fileblocks (Makefile.am): Likewise.
84798         * modules/filemode (Makefile.am): Likewise.
84799         * modules/filenamecat (Makefile.am): Likewise.
84800         * modules/fnmatch (Makefile.am): Likewise.
84801         * modules/fopen-safer (Makefile.am): Likewise.
84802         * modules/fpending (Makefile.am): Likewise.
84803         * modules/fprintftime (Makefile.am): Likewise.
84804         * modules/free (Makefile.am): Likewise.
84805         * modules/fsusage (Makefile.am): Likewise.
84806         * modules/ftruncate (Makefile.am): Likewise.
84807         * modules/fts (Makefile.am): Likewise.
84808         * modules/gc (Makefile.am): Likewise.
84809         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
84810         * modules/getaddrinfo (Makefile.am): Likewise.
84811         * modules/getcwd (Makefile.am): Likewise.
84812         * modules/getdelim (Makefile.am): Likewise.
84813         * modules/getdomainname (Makefile.am): Likewise.
84814         * modules/getgroups (Makefile.am): Likewise.
84815         * modules/gethostname (Makefile.am): Likewise.
84816         * modules/gethrxtime (Makefile.am): Likewise.
84817         * modules/getline (Makefile.am): Likewise.
84818         * modules/getloadavg (Makefile.am): Likewise.
84819         * modules/getlogin_r (Makefile.am): Likewise.
84820         * modules/getopt (Makefile.am): Likewise.
84821         * modules/getpass (Makefile.am): Likewise.
84822         * modules/getpass-gnu (Makefile.am): Likewise.
84823         * modules/getsubopt (Makefile.am): Likewise.
84824         * modules/gettime (Makefile.am): Likewise.
84825         * modules/gettimeofday (Makefile.am): Likewise.
84826         * modules/getugroups (Makefile.am): Likewise.
84827         * modules/getusershell (Makefile.am): Likewise.
84828         * modules/glob (Makefile.am): Likewise.
84829         * modules/group-member (Makefile.am): Likewise.
84830         * modules/hard-locale (Makefile.am): Likewise.
84831         * modules/hash (Makefile.am): Likewise.
84832         * modules/hmac-md5 (Makefile.am): Likewise.
84833         * modules/hmac-sha1 (Makefile.am): Likewise.
84834         * modules/human (Makefile.am): Likewise.
84835         * modules/idcache (Makefile.am): Likewise.
84836         * modules/imaxabs (Makefile.am): Likewise.
84837         * modules/imaxdiv (Makefile.am): Likewise.
84838         * modules/inet_ntop (Makefile.am): Likewise.
84839         * modules/inet_pton (Makefile.am): Likewise.
84840         * modules/inttostr (Makefile.am): Likewise.
84841         * modules/isapipe (Makefile.am): Likewise.
84842         * modules/lchown (Makefile.am): Likewise.
84843         * modules/long-options (Makefile.am): Likewise.
84844         * modules/lstat (Makefile.am): Likewise.
84845         * modules/malloc (Makefile.am): Likewise.
84846         * modules/mathl (Makefile.am): Likewise.
84847         * modules/mbchar (Makefile.am): Likewise.
84848         * modules/md2 (Makefile.am): Likewise.
84849         * modules/md4 (Makefile.am): Likewise.
84850         * modules/md5 (Makefile.am): Likewise.
84851         * modules/memcasecmp (Makefile.am): Likewise.
84852         * modules/memchr (Makefile.am): Likewise.
84853         * modules/memcmp (Makefile.am): Likewise.
84854         * modules/memcoll (Makefile.am): Likewise.
84855         * modules/memcpy (Makefile.am): Likewise.
84856         * modules/memmem (Makefile.am): Likewise.
84857         * modules/memmove (Makefile.am): Likewise.
84858         * modules/mempcpy (Makefile.am): Likewise.
84859         * modules/memrchr (Makefile.am): Likewise.
84860         * modules/memset (Makefile.am): Likewise.
84861         * modules/memxor (Makefile.am): Likewise.
84862         * modules/mkancesdirs (Makefile.am): Likewise.
84863         * modules/mkdir (Makefile.am): Likewise.
84864         * modules/mkdir-p (Makefile.am): Likewise.
84865         * modules/mkdtemp (Makefile.am): Likewise.
84866         * modules/mkstemp (Makefile.am): Likewise.
84867         * modules/mktime (Makefile.am): Likewise.
84868         * modules/modechange (Makefile.am): Likewise.
84869         * modules/mountlist (Makefile.am): Likewise.
84870         * modules/nanosleep (Makefile.am): Likewise.
84871         * modules/openat (Makefile.am): Likewise.
84872         * modules/pagealign_alloc (Makefile.am): Likewise.
84873         * modules/physmem (Makefile.am): Likewise.
84874         * modules/poll (Makefile.am): Likewise.
84875         * modules/posixtm (Makefile.am): Likewise.
84876         * modules/posixver (Makefile.am): Likewise.
84877         * modules/putenv (Makefile.am): Likewise.
84878         * modules/quote (Makefile.am): Likewise.
84879         * modules/quotearg (Makefile.am): Likewise.
84880         * modules/raise (Makefile.am): Likewise.
84881         * modules/read-file (Makefile.am): Likewise.
84882         * modules/readline (Makefile.am): Likewise.
84883         * modules/readlink (Makefile.am): Likewise.
84884         * modules/readtokens (Makefile.am): Likewise.
84885         * modules/readutmp (Makefile.am): Likewise.
84886         * modules/realloc (Makefile.am): Likewise.
84887         * modules/regex (Makefile.am): Likewise.
84888         * modules/rename (Makefile.am): Likewise.
84889         * modules/rename-dest-slash (Makefile.am): Likewise.
84890         * modules/rijndael (Makefile.am): Likewise.
84891         * modules/rmdir (Makefile.am): Likewise.
84892         * modules/rpmatch (Makefile.am): Likewise.
84893         * modules/safe-read (Makefile.am): Likewise.
84894         * modules/safe-write (Makefile.am): Likewise.
84895         * modules/same (Makefile.am): Likewise.
84896         * modules/save-cwd (Makefile.am): Likewise.
84897         * modules/savedir (Makefile.am): Likewise.
84898         * modules/setenv (Makefile.am): Likewise.
84899         * modules/settime (Makefile.am): Likewise.
84900         * modules/sha1 (Makefile.am): Likewise.
84901         * modules/sig2str (Makefile.am): Likewise.
84902         * modules/snprintf (Makefile.am): Likewise.
84903         * modules/stdlib-safer (Makefile.am): Likewise.
84904         * modules/stpcpy (Makefile.am): Likewise.
84905         * modules/stpncpy (Makefile.am): Likewise.
84906         * modules/strcase (Makefile.am): Likewise.
84907         * modules/strcasestr (Makefile.am): Likewise.
84908         * modules/strchrnul (Makefile.am): Likewise.
84909         * modules/strcspn (Makefile.am): Likewise.
84910         * modules/strdup (Makefile.am): Likewise.
84911         * modules/strerror (Makefile.am): Likewise.
84912         * modules/strftime (Makefile.am): Likewise.
84913         * modules/strndup (Makefile.am): Likewise.
84914         * modules/strnlen (Makefile.am): Likewise.
84915         * modules/strpbrk (Makefile.am): Likewise.
84916         * modules/strsep (Makefile.am): Likewise.
84917         * modules/strstr (Makefile.am): Likewise.
84918         * modules/strtod (Makefile.am): Likewise.
84919         * modules/strtoimax (Makefile.am): Likewise.
84920         * modules/strtok_r (Makefile.am): Likewise.
84921         * modules/strtol (Makefile.am): Likewise.
84922         * modules/strtoll (Makefile.am): Likewise.
84923         * modules/strtoul (Makefile.am): Likewise.
84924         * modules/strtoull (Makefile.am): Likewise.
84925         * modules/strtoumax (Makefile.am): Likewise.
84926         * modules/strverscmp (Makefile.am): Likewise.
84927         * modules/time_r (Makefile.am): Likewise.
84928         * modules/timegm (Makefile.am): Likewise.
84929         * modules/tmpfile-safer (Makefile.am): Likewise.
84930         * modules/unistd-safer (Makefile.am): Likewise.
84931         * modules/unlinkdir (Makefile.am): Likewise.
84932         * modules/userspec (Makefile.am): Likewise.
84933         * modules/utime (Makefile.am): Likewise.
84934         * modules/utimecmp (Makefile.am): Likewise.
84935         * modules/utimens (Makefile.am): Likewise.
84936         * modules/vasnprintf (Makefile.am): Likewise.
84937         * modules/vasprintf (Makefile.am): Likewise.
84938         * modules/vsnprintf (Makefile.am): Likewise.
84939         * modules/xalloc (Makefile.am): Likewise.
84940         * modules/xgetcwd (Makefile.am): Likewise.
84941         * modules/xnanosleep (Makefile.am): Likewise.
84942         * modules/xreadlink (Makefile.am): Likewise.
84943         * modules/xstrtod (Makefile.am): Likewise.
84944         * modules/xstrtol (Makefile.am): Likewise.
84945         * modules/xstrtold (Makefile.am): Likewise.
84946         * modules/yesno (Makefile.am): Likewise.
84947
84948 2006-10-12  Jim Meyering  <jim@meyering.net>
84949
84950         * m4/getloadavg.m4: Revert the change below.
84951
84952         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
84953         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
84954         fail with a symlink, which is what coreutils' ./bootstrap now
84955         creates by default.
84956
84957 2006-10-12  Bruno Haible  <bruno@clisp.org>
84958
84959         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
84960         mingw.
84961         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
84962         MSVC and mingw explicitly.
84963
84964 2006-10-11  Simon Josefsson  <jas@extundo.com>
84965             Bruno Haible  <bruno@clisp.org>
84966
84967         Add support for multiple gnulib-tool invocations in the scope of a
84968         single configure.ac file.
84969         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
84970         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
84971         with the same contents as the _LIBADD variable.
84972         (func_emit_initmacro_start, func_emit_initmacro_end,
84973         func_emit_initmacro_done): New functions.
84974         (func_import, func_create_testdir): Invoke them. Allow the identifiers
84975         gl_LIBOBJS and gl_LTLIBOBJS.
84976
84977 2006-10-11  Bruno Haible  <bruno@clisp.org>
84978
84979         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
84980         (func_create_testdir): Don't create po/Makefile.am, don't invoke
84981         autoreconf. Instead, invoke autopoint explicitly but move back the
84982         *.m4 files from gnulib.
84983
84984 2006-10-11  Bruno Haible  <bruno@clisp.org>
84985
84986         * gnulib-tool (func_usage): Make module names after --create-testdir
84987         optional.
84988         (func_create_testdir): If no module was specified, use nearly all
84989         modules.
84990
84991 2006-10-12  Jim Meyering  <jim@meyering.net>
84992
84993         Big performance improvement for fts-based tools that use FTS_NOSTAT.
84994         Avoid spurious inode-mismatch problems on non-POSIX file systems.
84995         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
84996         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
84997         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
84998         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
84999         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
85000         (fts_set_stat_required): New function.
85001         (fts_open): Defer the calls to fts_stat, if possible or requested.
85002         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
85003         into fts_stat itself.
85004         (fts_read): Perform any required (deferred) fts_stat call.
85005         (fts_build): Likewise, for the directory we're about to open and read.
85006         In the readdir loop, carefully decide whether each entry will require
85007         an eventual call to fts_stat, using dirent.d_type info if available.
85008         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
85009         a command line argument into this function.  Update all callers.
85010         Map a return value of FTS_DOT to FTS_D for a command line argument.
85011         * modules/fts (Depends-on): Add d-type.  Alphabetize.
85012         Thanks to Miklos Szeredi for his tenacity and for the initial
85013         bug report about "find" failing on a FUSE-based file system.
85014
85015         * lib/fts.c (fts_open): Use consistent indentation.
85016
85017 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
85018
85019         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
85020         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
85021         reported by Jim Meyering.  All uses of cache variables renamed
85022         to match Autoconf's.
85023         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
85024         the other one.
85025
85026         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
85027         Fix misspelling in diagnostic.
85028
85029 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
85030
85031         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
85032         defined.  Problem reported by Matthew Woehlke.
85033
85034         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
85035         Add support for Tandem NonStop R series.
85036         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
85037         Use new macro.
85038
85039         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
85040         (has_trailing_slash): Omit size arg; all callers changed.
85041         Omit 'inline', since it doesn't help performance and we'd
85042         need to configure it.
85043         Don't count //, ///, etc. as having a trailing slash.
85044         As a side effect, this removes a C99ism reported by Matthew Woehlke.
85045         (rpl_rename_dest_slash): On failure, use rename's errno rather
85046         than (in some cases) an incorrect or junk errno.
85047         Simplify code by removing need to compute length; this does
85048         cause it to make two passes instead of one over the file name,
85049         but it's worth it.
85050
85051         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
85052         change, since Autoconf's version may no longer be appropriate now
85053         that we are using CVS Autoconf's version.  Add support for Tandem.
85054
85055 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
85056             Bruno Haible  <bruno@clisp.org>
85057
85058         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
85059         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
85060         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
85061         gl_AC_TYPE_LONG_LONG.
85062
85063         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
85064         instead of HAVE_LONG_LONG.
85065         * lib/printf-args.c (printf_fetchargs): Likewise.
85066         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
85067         * lib/vasnprintf.c (VASNPRINTF): Likewise.
85068         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
85069         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
85070         gl_AC_TYPE_LONG_LONG.
85071
85072 2006-10-11  Bruno Haible  <bruno@clisp.org>
85073
85074         * m4/longlong.m4: Add comments.
85075         * m4/ulonglong.m4: Likewise.
85076
85077 2006-10-10  Bruno Haible  <bruno@clisp.org>
85078
85079         Make it possible to #define stpcpy, strdup to aliases.
85080         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
85081         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
85082
85083 2006-10-10  Bruno Haible  <bruno@clisp.org>
85084
85085         Make it possible to #define gcd to an alias.
85086         * lib/gcd.c: Include config.h.
85087
85088 2006-10-10  Bruno Haible  <bruno@clisp.org>
85089
85090         Make it possible to #define c_isascii to an alias.
85091         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
85092         defined. Undefine the macros before defining them, to avoid gcc
85093         warnings.
85094         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
85095         define NO_C_CTYPE_MACROS early.
85096
85097 2006-10-10  Bruno Haible  <bruno@clisp.org>
85098
85099         Make it possible to #define set_program_name to an alias.
85100         * lib/progname.c: Don't undefine set_program_name; instead, undefine
85101         ENABLE_RELOCATABLE early.
85102
85103 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
85104
85105         Port to Tandem NSK OSS, which has 64-bit signed int but at most
85106         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
85107         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
85108         More generally, don't assume that 64-bit signed int is available
85109         if unsigned int is, and vice versa.
85110         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
85111         unsigned symbols, not on their signed counterparts.
85112         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
85113         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
85114         (UINT64_C, UINTMAX_C):
85115         Likewise.
85116         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
85117         unsigned counterparts.
85118         (Have_long_long, Unsigned): New macros.
85119         (Int): Renamed from INT.
85120         (strtoimax): Use the new macros.
85121         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
85122         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
85123         * modules/inttypes (inttypes.h): Substitute
85124         HAVE_UNSIGNED_LONG_LONG_INT.
85125         * modules/stdint (stdint.h): Likewise.
85126         (Files): Add m4/ulonglong.m4.
85127
85128 2006-10-10  Bruno Haible  <bruno@clisp.org>
85129
85130         Fix a gcc -Wshadow warning.
85131         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
85132         to 'bucket'.
85133         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
85134         gl_linked_indexof_from_to): Likewise.
85135         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
85136         Likewise.
85137         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
85138         Likewise.
85139         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
85140         Reported by Eric Blake.
85141
85142 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
85143
85144         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
85145         for NetBSD.  Problem reported by Bruno Haible.
85146
85147 2006-10-09  Jim Meyering  <jim@meyering.net>
85148
85149         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
85150         Patch from Bruno Haible.
85151
85152 2006-10-09  Jim Meyering  <jim@meyering.net>
85153
85154         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
85155         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
85156         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
85157
85158 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
85159
85160         Don't include <config.h> twice; this doesn't work in some cases,
85161         e.g., when config.h has "#define intmax_t long long int" and
85162         we include <config.h>, <inttypes.h>, <config.h> in that order.
85163         Problem reported by Matthew Woehlke in:
85164         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
85165         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
85166         * lib/fts-cycle.c: Don't include config.h.
85167         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
85168         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
85169         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
85170         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
85171         inttypes.h.
85172         * lib/xstrtoumax.c: Likewise.
85173         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
85174         __strtol and the like, so that this module is more like its siblings.
85175         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
85176         Remove; no longer needed now that we assume gnulib inttypes.h.
85177
85178 2006-10-08  Bruno Haible  <bruno@clisp.org>
85179
85180         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
85181         option.
85182
85183 2006-10-07  Jim Meyering  <jim@meyering.net>
85184
85185         * modules/inttypes (inttypes.h): Revert what seems to have been
85186         an inadvertent part of today's change: use "|", not "/" in the
85187         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
85188
85189 2006-10-07  Bruno Haible  <bruno@clisp.org>
85190
85191         * modules/sublist: New file.
85192
85193 2006-10-07  Bruno Haible  <bruno@clisp.org>
85194
85195         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
85196         * modules/argz (argz.h): Likewise.
85197         * modules/arpa_inet (arpa/inet.h): Likewise.
85198         * modules/byteswap (byteswap.h): Likewise.
85199         * modules/configmake (configmake.h): Likewise.
85200         * modules/fcntl (fcntl.h): Likewise.
85201         * modules/fnmatch (fnmatch.h): Likewise.
85202         * modules/getopt (getopt.h): Likewise.
85203         * modules/glob (glob.h): Likewise.
85204         * modules/inttypes (inttypes.h): Likewise.
85205         * modules/netinet_in (netinet/in.h): Likewise.
85206         * modules/poll (poll.h): Likewise.
85207         * modules/stdbool (stdbool.h): Likewise.
85208         * modules/stdint (stdint.h): Likewise.
85209         * modules/sys_select (sys/select.h): Likewise.
85210         * modules/sys_socket (sys/socket.h): Likewise.
85211         * modules/sys_stat (sys/stat.h): Likewise.
85212         * modules/sysexits (sysexits.h): Likewise.
85213         * modules/unistd (unistd.h): Likewise.
85214         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
85215         Add a "DO NOT EDIT" comment to the generated file.
85216         (func_import): Likewise for gnulib-comp.m4.
85217
85218 2006-10-07  Bruno Haible  <bruno@clisp.org>
85219
85220         * lib/gl_sublist.h: New file.
85221         * lib/gl_sublist.c: New file.
85222
85223 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
85224
85225         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
85226         name (relative to the original working directory) and the file
85227         name component (relative to the temporary working directory).  All
85228         callers changed.
85229         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
85230         * lib/mkdir-p.c (make_dir_parents): Likewise.
85231         * lib/mkdir-p.h (make_dir_parents): Likewise.
85232
85233 2006-10-06  Eric Blake  <ebb9@byu.net>
85234
85235         Define several macros for use by the clean-temp module.
85236         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
85237         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
85238         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
85239
85240         * lib/clean-temp.h (close_stream_temp): New declaration.
85241         * lib/clean-temp.c (includes): Pull in headers according to what
85242         other modules are in use.
85243         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
85244
85245 2006-10-06  Bruno Haible  <bruno@clisp.org>
85246
85247         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
85248         instead of fopen, fwriteerror.
85249
85250 2006-10-06  Bruno Haible  <bruno@clisp.org>
85251
85252         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
85253         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
85254         int.
85255         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
85256         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
85257         Return an error indicator.
85258         Suggested by Eric Blake.
85259
85260 2006-10-06  Bruno Haible  <bruno@clisp.org>
85261
85262         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
85263         Reported by Eric Blake.
85264
85265 2006-10-06  Bruno Haible  <bruno@clisp.org>
85266
85267         * modules/closeout (Description): Mention stderr too.
85268
85269 2006-10-06  Bruno Haible  <bruno@clisp.org>
85270         and Paul Eggert  <eggert@cs.ucla.edu>
85271
85272         * lib/closeout.c (close_stdout): Also close stderr.
85273         * lib/closeout.h: Update comment.
85274
85275 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
85276
85277         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
85278         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
85279         * lib/dirchownmod.c: Include lchown.h.
85280         * lib/lchown.c: Don't include files that lchown.h now includes.
85281         Don't declare chown, since lchown.h now does that.
85282         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
85283         (lchown): Define to rpl_chown if lchown is declared but
85284         does not exist.  Declare using a prototype if lchown is not
85285         declared.  Add a copyright notice.
85286         * lib/mkstemp.h: Include <unistd.h>.
85287         * lib/openat.c: Include lchown.h.
85288
85289         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
85290         we now test for that separately.
85291         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
85292         rather than O_NOFOLLOW, when testing whether it's possible to
85293         avoid a race condition reliably.
85294         * lib/savewd.c (savewd_chdir): Likewise.
85295
85296         Remove macros that are no longer needed now that stdint.h is
85297         reliable.
85298         * lib/fsusage.c (UINTMAX_MAX): Remove.
85299         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
85300         * lib/utimecmp.c (SIZE_MAX): Remove.
85301
85302         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
85303
85304         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
85305         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
85306         O_NOATIME works.
85307
85308 2006-10-05  Bruno Haible  <bruno@clisp.org>
85309
85310         * lib/gl_list.h (gl_sortedlist_search_from_to,
85311         gl_sortedlist_indexof_from_to): New declarations.
85312         (gl_list_implementation): New fields sortedlist_search_from_to,
85313         sortedlist_indexof_from_to.
85314         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
85315         inline functions.
85316         * lib/gl_list.c (gl_sortedlist_search_from_to,
85317         gl_sortedlist_indexof_from_to): New functions.
85318         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
85319         function.
85320         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
85321         (gl_array_sortedlist_search_from_to): New function.
85322         (gl_array_list_implementation): Update.
85323         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
85324         function.
85325         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
85326         (gl_carray_sortedlist_search_from_to): New function.
85327         (gl_carray_list_implementation): Update.
85328         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
85329         gl_linked_sortedlist_indexof_from_to): New functions.
85330         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
85331         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
85332         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
85333         gl_tree_sortedlist_indexof_from_to): New functions.
85334         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
85335         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
85336         Update.
85337         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
85338         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
85339         Update.
85340
85341 2006-10-05  Bruno Haible  <bruno@clisp.org>
85342
85343         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
85344         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
85345         (struct gl_list_implementation): Add fields search_from_to,
85346         indexof_from_to. Remove fields search, indexof.
85347         (gl_list_search): Use the search_from_to method.
85348         (gl_list_search_from, gl_list_search_from_to): New functions.
85349         (gl_list_indexof): Use the indexof_from_to method.
85350         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
85351         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
85352         (gl_list_search_from, gl_list_search_from_to): New functions.
85353         (gl_list_indexof): Use the indexof_from_to method.
85354         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
85355         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
85356         gl_array_indexof. Add start_index, end_index arguments.
85357         (gl_array_search_from_to): Renamed from gl_array_search. Add
85358         start_index, end_index arguments.
85359         (gl_array_remove, gl_array_list_implementation): Update.
85360         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
85361         gl_carray_indexof. Add start_index, end_index arguments.
85362         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
85363         start_index, end_index arguments.
85364         (gl_carray_remove, gl_carray_list_implementation): Update.
85365         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
85366         gl_linked_search. Add start_index, end_index arguments.
85367         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
85368         start_index, end_index arguments.
85369         (gl_linked_remove): Update.
85370         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
85371         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
85372         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
85373         field to 'size_t'.
85374         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
85375         gl_tree_search. Add start_index, end_index arguments.
85376         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
85377         start_index, end_index arguments.
85378         (gl_tree_remove): Update.
85379         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
85380         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
85381         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
85382         function.
85383         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
85384         gl_tree_search. Add start_index, end_index arguments.
85385         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
85386         start_index, end_index arguments.
85387         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
85388         Update.
85389         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
85390
85391 2006-10-05  Bruno Haible  <bruno@clisp.org>
85392
85393         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
85394
85395         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
85396         fwriteerror_temp): New declarations.
85397         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
85398         (descriptors): New variable.
85399         (cleanup): First, close the descriptors.
85400         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
85401         fclose_temp, fwriteerror_temp): New functions.
85402
85403 2006-10-04  Jim Meyering  <jim@meyering.net>
85404
85405         * lib/fts.c (fts_open): Tiny comment change.
85406
85407 2006-10-04  Bruno Haible  <bruno@clisp.org>
85408
85409         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
85410         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
85411         gl_LOCK_BODY.
85412         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
85413         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
85414         gl_LOCK_EARLY_BODY.
85415         (gl_LOCK): Require gl_LOCK_BODY.
85416
85417 2006-10-04  Bruno Haible  <bruno@clisp.org>
85418
85419         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
85420         (gl_oset_search_atleast): New declaration.
85421         (struct gl_oset_implementation): Add field 'search_atleast'.
85422         (gl_oset_search_atleast): New inline function.
85423         * lib/gl_oset.c (gl_oset_search_atleast): New function.
85424         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
85425         (gl_array_oset_implementation): Update.
85426         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
85427         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
85428         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
85429
85430 2006-10-04  Bruno Haible  <bruno@clisp.org>
85431
85432         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
85433
85434 2006-10-03  Bruno Haible  <bruno@clisp.org>
85435
85436         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
85437         from gl_avltreehash_list_implementation.
85438
85439 2006-10-03  Bruno Haible  <bruno@clisp.org>
85440
85441         * lib/gl_oset.c (gl_oset_add): Fix return type.
85442
85443 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
85444
85445         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
85446
85447 2006-10-02  Eric Blake  <ebb9@byu.net>
85448
85449         * modules/strnlen (Depends-on): Add extensions.
85450
85451 2006-10-02  Eric Blake  <ebb9@byu.net>
85452
85453         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
85454         definition in 2.60+.
85455
85456 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
85457
85458         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
85459         checks.
85460
85461 2006-10-02  Bruno Haible  <bruno@clisp.org>
85462
85463         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
85464         to the AUTOMAKE_OPTIONS.
85465         Reported by Jim Meyering.
85466
85467 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
85468
85469         Work around bug in Solaris 10 /proc file system:
85470         /proc/self/fd/NNN/.. isn't the parent directory of
85471         the directory whose file descriptor is NNN.  This needs to
85472         be worked around at run time, not compile time, since a
85473         program might be built on Solaris 8, where things work, and
85474         run on Solaris 10.
85475         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
85476         to use the following interface instead:
85477         (OPENAT_BUFFER_SIZE): New macro.
85478         (openat_proc_name): New function.
85479         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
85480         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
85481         Likewise.
85482         * lib/openat-proc.c: New file.
85483         * modules/openat (Files): Add lib/openat-proc.c.
85484         (Depends-on): Add same-inode, stdbool.
85485         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
85486
85487 2006-09-29  Bruno Haible  <bruno@clisp.org>
85488
85489         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
85490         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
85491         argument. Set stdout_closed before testing for ferror, not after.
85492         (fwriteerror, fwriteerror_no_ebadf): New functions.
85493
85494 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85495
85496         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
85497
85498 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
85499
85500         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
85501         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
85502
85503 2006-09-28  Jim Meyering  <jim@meyering.net>
85504
85505         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
85506         Include <unistd.h>.
85507
85508 2006-09-28  Bruno Haible  <bruno@clisp.org>
85509
85510         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
85511         * modules/linkedhash-list (Depends-on): Likewise.
85512         * modules/rbtreehash-list (Depends-on): Likewise.
85513
85514 2006-09-28  Bruno Haible  <bruno@clisp.org>
85515
85516         * lib/strndup.h: Simplify the redefinition of strndup.
85517         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
85518         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
85519
85520 2006-09-28  Bruno Haible  <bruno@clisp.org>
85521
85522         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
85523         * lib/gl_linkedhash_list.c: Likewise.
85524         * lib/gl_rbtreehash_list.c: Likewise.
85525
85526 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
85527
85528         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
85529         getaddrinfo.
85530
85531         * lib/__fpending.h: Don't include <stdio_ext.h> unless
85532         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
85533         it causes <stdio_ext.h> to cause a compile-time error.
85534         Problem reported by Nelson H. F. Beebe.
85535         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
85536         of HAVE_DECL___PENDING.
85537
85538         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
85539         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
85540         declaration.
85541
85542 2006-09-27  Jim Meyering  <jim@meyering.net>
85543
85544         This file could end up with a definition for a function
85545         named __strndup, rather than rpl_strndup on a system with
85546         incomplete weak_alias support.
85547         * lib/strndup.c (strndup): Rename from __strndup.
85548         Remove #defines that used to map __strndup to strndup.
85549         Don't use K&R prototypes.
85550         Remove LIBC-related code, since this file is not sync'd with glibc.
85551         * lib/strndup.h: Revamp, accordingly.
85552         * m4/strndup.m4: Modernize.
85553
85554 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
85555
85556         * modules/savewd (Depends-on): Add 'raise'.
85557         * lib/savewd.c: Include <signal.h>, for 'raise'.
85558
85559 2006-09-26  Jim Meyering  <jim@meyering.net>
85560
85561         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
85562         when we detect Darwin 8.7.0's acl_get_file bug.
85563         Rearrange to perform the new (below) run-test while $LIBS
85564         contains any acl-related library.  Set USE_ACL at the end.
85565         (gl_ACL_GET_FILE): New function.
85566
85567 2006-09-26  Eric Blake  <ebb9@byu.net>
85568
85569         * lib/verror.c: Include <config.h> unconditionally.
85570
85571 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
85572
85573         * modules/clock-time (Maintainer): Add self.
85574         * modules/getlogin_r (Depends-on): Add extensions.
85575
85576 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85577
85578         * modules/clock-time: New module.
85579         * modules/nanosleep (Depends-on): Add clock-time.
85580         * modules/gethrxtime (Depends-on): Likewise.
85581         * modules/gettime (Depends-on): Likewise.
85582         * modules/settime (Depends-on): Likewise.
85583
85584         * modules/fts-lgpl: Depend on openat.
85585         * modules/mkancesdirs: Depend on savewd.
85586         * modules/mkdir-p: Likewise.
85587
85588 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85589
85590         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
85591
85592         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
85593         `gl_have_arbitrary_file_name_length_limit' to
85594         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
85595         actually works between configure runs.
85596
85597 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85598             Bruno Haible  <bruno@clisp.org>
85599
85600         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
85601
85602 2006-09-25  Jim Meyering  <jim@meyering.net>
85603
85604         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
85605         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
85606
85607 2006-09-25  Eric Blake  <ebb9@byu.net>
85608
85609         * gnulib-tool (func_import, func_create_testdir): Fix typos in
85610         exec's in 2006-09-18 patch when shuffling fds.
85611
85612 2006-09-25  Bruno Haible  <bruno@clisp.org>
85613
85614         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
85615         Reported by Jim Meyering.
85616
85617 2006-09-24  Jim Meyering  <jim@meyering.net>
85618
85619         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
85620         compare a pointer against a literal "0".  That caused failures with
85621         at least HP-UX's hpcc.
85622
85623 2006-09-22  Simon Josefsson  <jas@extundo.com>
85624
85625         * modules/gc-sha1:
85626         * modules/gc-md4:
85627         * modules/gc-hmac-sha1:
85628         * modules/gc-hmac-md5:
85629         * modules/gc-des:
85630         * modules/gc-arcfour: Distribute more files.
85631
85632 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85633
85634         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
85635         (gl_linked_iterator_from_to): Initialize struct completely.
85636         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
85637         (gl_tree_iterator_from_to): Likewise
85638         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
85639         * lib/gl_array_list.c [lint] (gl_array_iterator)
85640         (gl_array_iterator_from_to): Likewise.
85641         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
85642         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
85643         (gl_carray_iterator_from_to): Likewise.
85644
85645         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
85646         * lib/md4.c (md4_process_block): Remove unused variable.
85647         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
85648         parentheses for clarity.
85649
85650 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85651
85652         * modules/bison-i18n (Depends-on): Add gettext.
85653
85654 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85655
85656         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
85657         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
85658         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
85659         also add missing comma that caused broken test.
85660         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
85661         stdlib.h, for `abort'.
85662         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
85663         variables.
85664         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
85665         include unistd.h if present, for `rmdir'.
85666         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
85667         variables.
85668         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
85669         in the process include standard headers for prototypes.
85670         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
85671         gets declared on GNU/Linux.
85672         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
85673         unistd.h, for `rmdir'.
85674         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
85675
85676         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
85677         always true.
85678         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
85679
85680         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
85681
85682 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85683
85684         * gnulib-tool (func_version): Create output all at once.  This
85685         may help avoid triggering unnecessary SIGPIPEs, and at any
85686         rate it doesn't hurt.
85687
85688 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85689             Bruno Haible  <bruno@clisp.org>
85690
85691         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
85692         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
85693         * m4/signed.m4 (bh_C_SIGNED): Likewise.
85694
85695         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
85696         (gl_FUNC_VASPRINTF): Invoke it.
85697
85698 2006-09-22  Bruno Haible  <bruno@clisp.org>
85699
85700         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
85701         getloadavg.c as first argument.
85702
85703 2006-09-22  Bruno Haible  <bruno@clisp.org>
85704
85705         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
85706         at the beginning of the gl_INIT macro.
85707         * modules/getloadavg (configure.ac): Pass $gl_source_base to
85708         gl_GETLOADAVG.
85709
85710 2006-09-22  Bruno Haible  <bruno@clisp.org>
85711
85712         * gnulib-tool (func_create_megatestdir): Don't include the config-h
85713         module.
85714         Suggested by Ralf Wildenhues.
85715
85716 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85717
85718         Import this patch from libc:
85719
85720         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
85721
85722         * lib/regex_internal.c (re_string_reconstruct): Handle
85723         offset < pstr->valid_raw_len && pstr->offsets_needed case.
85724         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
85725         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
85726         re_string_context_at.
85727
85728         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
85729         now requires it.
85730         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
85731         gl_REGEX now does it for us.
85732         (gl_REGEX): Add test taken from
85733         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
85734
85735         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
85736         Check that large offsets work.  Modernize Autoconf usages.
85737         Prefer "yes" to mean a good thing rather than a bad.
85738         Don't put "#define mkstemp" in config.h, as this might interfere
85739         with standard system headers that "#define mkstemp mkstemp64".
85740
85741         * modules/mkstemp (Depends-on): Add extensions, so that
85742         mkstemp is visible on some platforms.
85743         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
85744         (Include): Change to "mkstemp.h" from <stdlib.h>.
85745         (Files): Add mkstemp.h.
85746
85747         * lib/mkstemp.h: New file, since some standard headers
85748         #define mkstemp.
85749         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
85750         Include "mkstemp.h".
85751         Make the _LIBC code resemble glibc original more,
85752         e.g., use K&R style.
85753         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
85754         (mkstemp): Remove, since mkstemp.h does this for us.
85755         * lib/stdlib--.h: Include mkstemp.h.
85756
85757         Import this patch from libc:
85758
85759         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
85760
85761         * lib/tempname.c (__gen_tempname): Change attempts_min
85762         into a macro.  Use preprocessor to decide how to initialize
85763         attempts [Coverity CID 67].
85764
85765 2006-09-20  Bruno Haible  <bruno@clisp.org>
85766
85767         * lib/mkdtemp.c: Import from libc.
85768         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
85769                 * sysdeps/posix/tempname.c (__gen_tempname): Change
85770                 attempts_min into a macro.  Use preprocessor to decide how to
85771                 initialize attempts [Coverity CID 67].
85772         2001-11-27  Paul Eggert  <eggert@twinsun.com>
85773                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
85774                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
85775
85776 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85777
85778         * gnulib-tool (func_exit): New function, to allow to pass the
85779         exit status portably through the trap.  Use everywhere.
85780         (--help, --version): Signal a write error.
85781         (trap): catch SIGPIPE, for write errors.
85782         Exit at the end of the trap, with the correct exit status.
85783
85784 2006-09-19  Karl Berry  <karl@gnu.org>
85785
85786         * doc/gnulib.texi: note about the license texinfo files.
85787
85788 2006-09-19  Eric Blake  <ebb9@byu.net>
85789
85790         * gnulib-tool: Avoid space-tab.
85791
85792 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
85793
85794         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
85795         that prevented coreutils 6.1 from building.  Problem reported
85796         by Petter Reinholdtsen.
85797
85798 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
85799
85800         * gnulib-tool (avoidlist): Fix typo that broke options like
85801         --avoid=lock that are used by coreutils bootstrap.
85802
85803 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
85804
85805         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
85806         more systematically.
85807
85808 2006-09-18  Jim Meyering  <jim@meyering.net>
85809
85810         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
85811
85812 2006-09-18  Bruno Haible  <bruno@clisp.org>
85813
85814         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
85815
85816 2006-09-18  Bruno Haible  <bruno@clisp.org>
85817
85818         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
85819         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
85820         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
85821         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
85822         * m4/gettext.m4: Require autoconf >= 2.52.
85823         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
85824         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
85825         of gl_cv_header_inttypes_h.
85826
85827 2006-09-18  Bruno Haible  <bruno@clisp.org>
85828
85829         * lib/javaversion.c: Include configmake.h.
85830
85831 2006-09-18  Bruno Haible  <bruno@clisp.org>
85832
85833         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
85834         avoid that the while loops be executed in a subshell.
85835
85836 2006-09-18  Bruno Haible  <bruno@clisp.org>
85837
85838         * MODULES.html.sh (func_module): Break long lines.
85839         Suggested by Bruce Korb <bkorb@gnu.org>.
85840
85841 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85842
85843         Speed up by a factor of 1.12.
85844         * gnulib-tool (nl): New variable.
85845         (func_import): Rewrite include directive extraction to only read each
85846         directive once.
85847
85848 2006-09-17  Bruno Haible  <bruno@clisp.org>
85849
85850         * modules/javaversion (Makefile.am): Remove DEFS setting.
85851         (Depends-on): Add configmake, for PKGDATADIR definition.
85852
85853 2006-09-17  Bruno Haible  <bruno@clisp.org>
85854
85855         * gnulib-tool (func_create_testdir): Rewrite all files at once.
85856
85857 2006-09-17  Bruno Haible  <bruno@clisp.org>
85858
85859         * gnulib-tool (func_append): New function, stolen from libtool.m4.
85860         (func_modules_transitive_closure, func_modules_add_dummy,
85861         func_modules_to_filelist, func_import, func_create_testdir,
85862         func_create_megatestdir, ...): Use it wherever possible.
85863         Suggested by Ralf Wildenhues.
85864
85865 2006-09-16  Karl Berry  <karl@gnu.org>
85866
85867         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
85868         to avoid sectioning errors.
85869         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
85870         [ifinfo]: blank line after @center-ed titles.
85871         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
85872         Spell FSF address consistently with others.
85873         (These changes approved by rms.)
85874
85875 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85876
85877         Speed up by a factor of 1.61.
85878         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
85879         already checked module names again.
85880
85881 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85882
85883         Speed up by a factor of 1.13.
85884         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
85885         for new_files, and the input to func_add_or_update.
85886
85887 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85888
85889         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
85890         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
85891
85892 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
85893
85894         * modules/mkancesdirs (Depends-on): Add fcntl.
85895         * modules/savewd: New file.
85896         * MODULES.html.sh (File system functions): Add savewd.
85897
85898         * modules/configmake (Makefile.am): Add support for the
85899         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
85900
85901 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
85902
85903         * m4/savewd.m4: New file.
85904
85905 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
85906
85907         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
85908         (dirchownmod): New arg FD.  All callers changed.
85909         Use FD rather than opening the directory ourself, as opening is
85910         now the caller's responsibility.
85911         * lib/dirchownmod.h: Likewise.
85912         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
85913         hosts that require <sys/types.h> before <sys/stat.h>.  Include
85914         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
85915         (test_dir): Remove.
85916         (mkancesdirs): Return length of prefix of FILE that has already
85917         been made, or -2 if there is a child doing the work.  Redo
85918         algorithm so that it is O(N) rather than O(N**2).  Optimize away
85919         ".", and treat ".." specially since it might stray back into
85920         already-created areas.  Use a subprocess if necessary.  New arg
85921         WD; all users changed.  MAKE_DIR function should now return 1
85922         if it creates a directory that is not readable.  Return -2 if
85923         a child process is spun off.
85924         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
85925         Adjust signature to match code.
85926         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
85927         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
85928         all users changed.
85929         * lib/savewd.c, lib/savewd.h: New files.
85930
85931 2006-09-15  Jim Meyering  <jim@meyering.net>
85932
85933         * modules/rename-dest-slash: New module.
85934         * MODULES.html.sh (posix_compat): Add it here.
85935
85936         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
85937
85938 2006-09-15  Jim Meyering  <jim@meyering.net>
85939
85940         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
85941         file.
85942
85943         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
85944
85945 2006-09-15  Jim Meyering  <jim@meyering.net>
85946
85947         * lib/rename-dest-slash.c (has_trailing_slash): Use
85948         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
85949         (rpl_rename_dest_slash): Perform the cheaper trailing slash
85950         test before testing whether SRC is a directory.
85951         Suggestions from Bruno Haible.
85952
85953         Avoid a warning about an unused variable.
85954         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
85955         into the #ifdef block where it's used.
85956
85957         * lib/rename-dest-slash.c: New file.
85958
85959 2006-09-14  Bruno Haible  <bruno@clisp.org>
85960
85961         * lib/allocsa.c: Include <config.h> unconditionally.
85962         * lib/asnprintf.c: Likewise.
85963         * lib/asprintf.c: Likewise.
85964         * lib/c-strcasecmp.c: Likewise.
85965         * lib/c-strcasestr.c: Likewise.
85966         * lib/c-strncasecmp.c: Likewise.
85967         * lib/c-strstr.c: Likewise.
85968         * lib/classpath.c: Likewise.
85969         * lib/clean-temp.c: Likewise.
85970         * lib/concatpath.c: Likewise.
85971         * lib/copy-file.c: Likewise.
85972         * lib/csharpcomp.c: Likewise.
85973         * lib/csharpexec.c: Likewise.
85974         * lib/execute.c: Likewise.
85975         * lib/fatal-signal.c: Likewise.
85976         * lib/findprog.c: Likewise.
85977         * lib/fwriteerror.c: Likewise.
85978         * lib/gl_array_list.c: Likewise.
85979         * lib/gl_array_oset.c: Likewise.
85980         * lib/gl_avltree_list.c: Likewise.
85981         * lib/gl_avltree_oset.c: Likewise.
85982         * lib/gl_avltreehash_list.c: Likewise.
85983         * lib/gl_carray_list.c: Likewise.
85984         * lib/gl_linked_list.c: Likewise.
85985         * lib/gl_linkedhash_list.c: Likewise.
85986         * lib/gl_list.c: Likewise.
85987         * lib/gl_oset.c: Likewise.
85988         * lib/gl_rbtree_list.c: Likewise.
85989         * lib/gl_rbtree_oset.c: Likewise.
85990         * lib/gl_rbtreehash_list.c: Likewise.
85991         * lib/imaxabs.c: Likewise.
85992         * lib/imaxdiv.c: Likewise.
85993         * lib/javacomp.c: Likewise.
85994         * lib/javaexec.c: Likewise.
85995         * lib/javaversion.c: Likewise.
85996         * lib/linebreak.c: Likewise.
85997         * lib/localcharset.c: Likewise.
85998         * lib/lock.c: Likewise.
85999         * lib/mbchar.c: Likewise.
86000         * lib/mbswidth.c: Likewise.
86001         * lib/mkdtemp.c: Likewise.
86002         * lib/pipe.c: Likewise.
86003         * lib/printf-args.c: Likewise.
86004         * lib/printf-parse.c: Likewise.
86005         * lib/progname.c: Likewise.
86006         * lib/progreloc.c: Likewise.
86007         * lib/readlink.c: Likewise.
86008         * lib/sh-quote.c: Likewise.
86009         * lib/stpcpy.c: Likewise.
86010         * lib/stpncpy.c: Likewise.
86011         * lib/strcasecmp.c: Likewise.
86012         * lib/strcasestr.c: Likewise.
86013         * lib/strcspn.c: Likewise.
86014         * lib/striconv.c: Likewise.
86015         * lib/strncasecmp.c: Likewise.
86016         * lib/strnlen1.c: Likewise.
86017         * lib/strstr.c: Likewise.
86018         * lib/strtok_r.c: Likewise.
86019         * lib/tls.c: Likewise.
86020         * lib/tmpdir.c: Likewise.
86021         * lib/unicodeio.c: Likewise.
86022         * lib/unsetenv.c: Likewise.
86023         * lib/vasnprintf.c: Likewise.
86024         * lib/vasprintf.c: Likewise.
86025         * lib/wait-process.c: Likewise.
86026         * lib/xallocsa.c: Likewise.
86027         * lib/xsetenv.c: Likewise.
86028         * lib/xstriconv.c: Likewise.
86029
86030 2006-09-13  Simon Josefsson  <jas@extundo.com>
86031
86032         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
86033         that internally, suggested by Ralf Wildenhues
86034         <Ralf.Wildenhues@gmx.de>.
86035
86036 2006-09-13  Simon Josefsson  <jas@extundo.com>
86037
86038         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
86039         @LIBOBJS@.
86040         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
86041
86042 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86043
86044         * lib/_fpending.c: Include <config.h> unconditionally, since we no
86045         longer worry about uses that don't define HAVE_CONFIG_H.
86046         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
86047         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
86048         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
86049         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
86050         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
86051         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
86052         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
86053         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
86054         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
86055         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
86056         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
86057         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
86058         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
86059         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
86060         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
86061         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
86062         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
86063         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
86064         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
86065         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
86066         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
86067         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
86068         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
86069         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
86070         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
86071         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
86072         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
86073         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
86074         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
86075         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
86076         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
86077         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
86078         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
86079         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
86080         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
86081         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
86082         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
86083         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
86084         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
86085         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
86086         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
86087         Likewise.
86088
86089 2006-09-13  Eric Blake  <ebb9@byu.net>
86090
86091         * lib/getopt.c: Fix typo in last commit.
86092
86093 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
86094
86095         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
86096         dgettext.
86097
86098 2006-09-12  Jim Meyering  <jim@meyering.net>
86099
86100         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
86101         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
86102         Reported by Nelson H. F. Beebe.
86103
86104 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
86105
86106         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
86107         program_invocation_name and program_invocation_short_name are
86108         initialized.
86109         * lib/argp-namefrob.h: Move declarations of program_invocation_name
86110         and program_invocation_short_name to argp.h, so they are visible
86111         to user programs.
86112         * lib/argp.h: Likewise
86113
86114 2006-09-10  Bruno Haible  <bruno@clisp.org>
86115
86116         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
86117         m4/inttypes_h.m4, m4/uintmax_t.m4.
86118
86119 2006-09-10  Bruno Haible  <bruno@clisp.org>
86120
86121         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
86122         gl_AC_TYPE_UINTMAX_T.
86123
86124 2006-09-10  Bruno Haible  <bruno@clisp.org>
86125
86126         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
86127
86128 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86129
86130         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
86131         convention.  Text proposed by Bruno Haible.
86132         (struct argp_option): Document the use of N_() wrappers.
86133
86134         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
86135         '\v', and translate the two parts separately, instead of feeding
86136         the whole string to gettext.  This allows to exclude
86137         '\v' from the strings visible to the translator by writing doc
86138         strings as N_("..") "\v" N_("..").
86139
86140 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
86141
86142         * config/srclist.txt: Undo latest change; the bug was fixed.
86143
86144 2006-09-09  Bruno Haible  <bruno@clisp.org>
86145
86146         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
86147         assignments if building a library without libtool.
86148         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
86149         in func_emit_lib_Makefile_am.
86150         (func_import): When building a static library libfoo.a, arrange to
86151         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
86152         (func_create_testdir): Likewise.
86153         * modules/gc (configure.ac, Makefile.am): If building statically,
86154         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
86155         * modules/iconvme (configure.ac, Makefile.am): Likewise.
86156         * modules/striconv (configure.ac, Makefile.am): Likewise.
86157         Based on a suggestion by Ralf Wildenhues.
86158
86159 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
86160
86161         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
86162         Check for unistd.h too, since Autoconf doesn't assume POSIX.
86163         Also:
86164
86165         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
86166         Add year_2050_test to catch glibc bug 2821
86167         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
86168
86169         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86170         Prefer #ifdef to #if.
86171
86172         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
86173         Return from 'main' instead of calling 'exit'.
86174
86175 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
86176
86177         * lib/mktime.c (guess_time_tm): Fix bug where mktime
86178         returned the maximum time_t value rather than (time_t) -1.
86179         Problem originally reported by William Bardwell
86180         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
86181
86182         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
86183         Moved to here ...
86184         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
86185         ... from here.
86186
86187 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
86188
86189         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
86190         2821 is fixed.
86191
86192 2006-09-08  Jim Meyering  <jim@meyering.net>
86193
86194         Don't make generated files read-only.  That would bother too many
86195         people.  However, do retain the ability to work when targets are
86196         read-only: remove the destination and temporary files before writing
86197         them (when generated via sed or echo), or by using the -f option for
86198         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
86199         * modules/alloca-opt, modules/argz, modules/arpa_inet:
86200         * modules/byteswap, modules/configmake, modules/fcntl:
86201         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
86202         * modules/localcharset, modules/netinet_in, modules/poll:
86203         * modules/stdbool, modules/stdint, modules/sys_select:
86204         * modules/sys_socket, modules/sys_stat, modules/sysexits:
86205
86206 2006-09-08  Jim Meyering  <jim@meyering.net>
86207
86208         Avoid new build failure on FreeBSD 6.0.
86209         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
86210         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
86211         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
86212
86213 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86214
86215         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
86216
86217 2006-09-07  Jim Meyering  <jim@meyering.net>
86218
86219         Fix global typo in last change: use chmod u-w, not chmod u-x.
86220         Spotted by Paul Eggert and Bruce Korb.
86221         * modules/alloca-opt, modules/argz, modules/arpa_inet:
86222         * modules/byteswap, modules/configmake, modules/fcntl:
86223         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
86224         * modules/localcharset, modules/netinet_in, modules/poll:
86225         * modules/stdbool, modules/stdint, modules/sys_select:
86226         * modules/sys_socket, modules/sys_stat, modules/sysexits:
86227
86228 2006-09-06  Jim Meyering  <jim@meyering.net>
86229
86230         Make generated files be read-only.
86231         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
86232         Ensure that each generated file is now read-only.
86233         * modules/argz: Likewise.
86234         * modules/arpa_inet: Likewise.
86235         * modules/byteswap: Likewise.
86236         * modules/configmake: Likewise.
86237         * modules/fcntl: Likewise.
86238         * modules/fnmatch: Likewise.
86239         * modules/getopt: Likewise.
86240         * modules/glob: Likewise.
86241         * modules/inttypes: Likewise.
86242         * modules/netinet_in: Likewise.
86243         * modules/poll: Likewise.
86244         * modules/stdbool: Likewise.
86245         * modules/stdint: Likewise.
86246         * modules/sys_select: Likewise.
86247         * modules/sys_socket: Likewise.
86248         * modules/sys_stat: Likewise.
86249         * modules/sysexits: Likewise.
86250         * modules/localcharset: Same as above, but continue using temporary
86251         file named "t-$@" (why different?) rather than the "$@-t" used
86252         everywhere else.
86253
86254         * modules/sysexits (Makefile.am): Replace literal occurrences
86255         of "sysexit.h" more readable, and more consistent, "$@".
86256
86257 2006-09-06  Bruno Haible  <bruno@clisp.org>
86258
86259         * modules/striconv: New file.
86260         * modules/xstriconv: New file.
86261         * MODULES.html.sh (Internationalization functions): Add striconv,
86262         xstriconv.
86263
86264 2006-09-06  Bruno Haible  <bruno@clisp.org>
86265
86266         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
86267         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
86268         not using libtool correctly.
86269
86270 2006-09-06  Bruno Haible  <bruno@clisp.org>
86271
86272         * lib/striconv.h: New file.
86273         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
86274         iconvstring.c.
86275         * lib/xstriconv.h: New file.
86276         * lib/xstriconv.c: New file.
86277
86278 2006-09-06  Bruno Haible  <bruno@clisp.org>
86279
86280         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
86281         lib_..._LDFLAGS.
86282
86283 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86284
86285         * lib/argz_.h: Sync from Libtool.
86286
86287         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
86288                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
86289
86290         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
86291
86292 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
86293
86294         * modules/trim: New file.
86295
86296 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
86297
86298         * lib/trim.h: New file.
86299         * lib/trim.c: New file.
86300
86301 2006-09-05  Bruno Haible  <bruno@clisp.org>
86302
86303         * MODULES.html.sh (String handling): Add trim.
86304
86305 2006-09-04  Karl Berry  <karl@gnu.org>
86306
86307         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
86308         until next release.
86309
86310 2006-09-03  Bruno Haible  <bruno@clisp.org>
86311
86312         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
86313         correctly.
86314
86315 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
86316
86317         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
86318         not gl_GETLOADAVG.  Omit unneeded semicolons.
86319         Problems reported by Ralf Wildenhues in
86320         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
86321         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
86322         at the end, which is the usual gnulib style.
86323
86324         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
86325         of doing all the work ourselves.
86326         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
86327         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
86328
86329 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
86330
86331         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
86332         Problem reported by Ralf Wildenhues in
86333         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
86334
86335         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
86336         HAVE_STRUCT_STATFS_F_FSTYPENAME.
86337
86338 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
86339
86340         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
86341         yesterday's patch by changing test -n to test -z.
86342
86343 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
86344
86345         * modules/getloadavg (Files): Add m4/getloadavg.m4.
86346         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
86347         the former is now obsolescent.
86348
86349         * modules/chdir-long (Depends-on): Add fcntl.
86350
86351 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
86352
86353         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
86354         obsolescent, and programs should use gnulib instead.
86355         * m4/getloadavg.m4: New file, with contents taken from Autoconf
86356         but with prefixes changed.
86357
86358 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
86359
86360         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
86361         or stdbool.h, because they might not exist while configuring.
86362
86363         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
86364         Don't include unistd.h or limits.h; not needed, since chdir-long.h
86365         does that for us.
86366         (O_DIRECTORY): Remove.
86367
86368 2006-08-31  Eric Blake  <ebb9@byu.net>
86369
86370         * gnulib-tool: Don't let emacs change spaces to TAB.
86371
86372 2006-08-31  Bruno Haible  <bruno@clisp.org>
86373
86374         * gnulib-tool: When calling func_import more than once, do it in a
86375         subshell.
86376         Reported by Eric Blake <ebb9@byu.net>.
86377
86378 2006-08-31  Bruno Haible  <bruno@clisp.org>
86379
86380         * gnulib-tool (nl): Remove variable.
86381         (sed_transform_lib_file): Use more robust test for config-h module.
86382         (func_import): Fix typo in 2006-08-25 patch.
86383
86384 2006-08-31  Bruno Haible  <bruno@clisp.org>
86385
86386         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
86387         specified, augment Makefile.am variables instead of assigning them.
86388
86389 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
86390
86391         Work around a bug in both the Linux and SunOS 64-bit kernels:
86392         nanosleep mishandles sleeps for longer than 2**31 seconds.
86393         Problem reported by Frank v Waveren in
86394         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
86395         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
86396         Check for nanosleep bug.
86397         (LIB_NANOSLEEP): Append clock_gettime library if needed.
86398
86399 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
86400
86401         Work around a bug in both the Linux and SunOS 64-bit kernels:
86402         nanosleep mishandles sleeps for longer than 2**31 seconds.
86403         Problem reported by Frank v Waveren in
86404         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
86405         * lib/nanosleep.c (BILLION): New constant.
86406         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
86407         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
86408         implementation.
86409
86410 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
86411
86412         * modules/nanosleep (Depends-on): Add gettime.
86413
86414 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
86415         and Simon Josefsson  <jas@extundo.com>
86416         and Oskar Liljeblad  <oskar@osk.mine.nu>
86417
86418         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
86419         * gnulib-tool (func_import): New license type 'unmodifiable license
86420         text'.
86421         * modules/fdl: Use it.  Longer description.
86422         * module/gpl, module/lgpl: New files.
86423
86424 2006-08-30  Jim Meyering  <jim@meyering.net>
86425
86426         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
86427         shadowing the parameter.
86428
86429 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86430
86431         Sync from Libtool:
86432
86433         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86434
86435         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
86436         sharing with gnulib.  Report by Eric Blake.
86437
86438 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
86439
86440         * modules/isapipe: New file.
86441         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
86442
86443 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
86444
86445         * modules/configmake (Makefile.am): Add a comment, and omit
86446         the CONFIGMAKE_ prefix from generated macro names.  Suggested
86447         by Bruno Haible.
86448
86449 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
86450
86451         * m4/isapipe.m4: New file.
86452
86453 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
86454
86455         * lib/isapipe.c, lib/isapipe.h: New files.
86456
86457 2006-08-29  Jim Meyering  <jim@meyering.net>
86458
86459         * modules/configmake (Makefile.am): Make configmake.h depend on
86460         Makefile.  Otherwise, a stale configmake.h could hang around.
86461
86462 2006-08-29  Eric Blake  <ebb9@byu.net>
86463
86464         * lib/error.c (error_at_line, print_errno_message): Match libc, after
86465         resolution of upstream bug 3044.
86466
86467 2006-08-29  Bruno Haible  <bruno@clisp.org>
86468
86469         * modules/localcharset (Depends-on): Add configmake.
86470         (Makefile.am): Remove setting of LIBDIR through DEFS.
86471
86472 2006-08-29  Bruno Haible  <bruno@clisp.org>
86473
86474         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
86475         defined.
86476
86477 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
86478
86479         * modules/fcntl: New file.
86480         * modules/chdir-safer (Depends-on): Add fcntl.
86481         * modules/fts: Likewise.
86482         * modules/mkdir-p: Likewise.
86483
86484         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
86485         This undoes the most recent change, since we're now addressing the
86486         problem in a different way.
86487
86488         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
86489         into output, since the output might be called Makefile.am even
86490         if $makefile_name is something different.
86491         (func_import): Use $makefile_am rather than
86492         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
86493         empty.
86494
86495         * modules/inttypes (Files): Add m4/inttypes-h.m4.
86496
86497 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
86498
86499         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
86500         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
86501         recent change to stdint.m4, since we're now addressing the problem in a
86502         different way.
86503
86504 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
86505
86506         * m4/fcntl_h.m4: New file.
86507
86508 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
86509
86510         * lib/fcntl_.h: New file.
86511         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
86512         the fcntl module.
86513         * lib/dirchownmod.c: Likewise.
86514         * lib/fts.c: Likewise.
86515
86516         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
86517         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
86518         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
86519         just before including <inttypes.h>, to avoid circular inclusion.
86520
86521 2006-08-28  Jim Meyering  <jim@meyering.net>
86522
86523         * doc/visibility.texi: Actually read and correct the grammar of the
86524         sentence affected by yesterday's change.
86525
86526 2006-08-28  Eric Blake  <ebb9@byu.net>
86527
86528         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
86529         needs wrapper.
86530
86531 2006-08-28  Eric Blake  <ebb9@byu.net>
86532
86533         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
86534
86535 2006-08-28  Eric Blake  <ebb9@byu.net>
86536
86537         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
86538
86539 2006-08-28  Bruno Haible  <bruno@clisp.org>
86540
86541         * modules/c-strstr: New file, from GNU gettext.
86542         * MODULES.html.sh (String handling): Add c-strstr.
86543
86544 2006-08-28  Bruno Haible  <bruno@clisp.org>
86545
86546         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
86547         macros.
86548         Reported by Eric Blake.
86549
86550 2006-08-28  Bruno Haible  <bruno@clisp.org>
86551
86552         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
86553         (VASNPRINTF): Return a string of length > INT_MAX without failing.
86554         * lib/vasprintf.c: Include errno.h, limits.h.
86555         (EOVERFLOW): New fallback definition.
86556         (vasprintf): Test here whether the string length is > INT_MAX.
86557         * lib/vsnprintf.c: Include errno.h, limits.h.
86558         (EOVERFLOW): New fallback definition.
86559         (vsnprintf): Fix bug when generated string was too long for the buffer.
86560         Test here whether the string length is > INT_MAX.
86561
86562 2006-08-28  Bruno Haible  <bruno@clisp.org>
86563
86564         * lib/inttypes_.h (SCNX*): Remove definitions.
86565         Reported by Eric Blake.
86566
86567 2006-08-28  Bruno Haible  <bruno@clisp.org>
86568
86569         * lib/c-strstr.h: New file, from GNU gettext.
86570         * lib/c-strstr.c: New file, from GNU gettext.
86571
86572 2006-08-28  Bruno Haible  <bruno@clisp.org>
86573
86574         * gnulib-tool: Reorder some statements.
86575
86576 2006-08-28  Bruno Haible  <bruno@clisp.org>
86577
86578         * gnulib-tool: New option --makefile-name.
86579         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
86580         $makefile_name.
86581         (func_import): Write $makefile_name to the cache file, and read it from
86582         there unless explicitly specified. Use $makefile_name as file name
86583         instead of Makefile.am. Adjust the recommendations accordingly.
86584
86585 2006-08-28  Bruno Haible  <bruno@clisp.org>
86586
86587         * gnulib-tool (func_verify_module): Check against misapplying patch.
86588
86589 2006-08-28  Bruno Haible  <bruno@clisp.org>
86590
86591         * gnulib-tool (func_relativize, func_relconcat): New functions.
86592         Give an error if --local-dir is given with --update.
86593         Remove trailing slashes from $local_gnulib_dir.
86594         (func_import): Store the relativized $local_gnulib_dir in
86595         gnulib-cache.m4, and read it from there if not specified explicitly.
86596
86597 2006-08-28  Bruno Haible  <bruno@clisp.org>
86598
86599         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
86600         is the current directory. Respect also $local_gnulib_dir.
86601
86602 2006-08-28  Bruno Haible  <bruno@clisp.org>
86603             Simon Josefsson  <jas@extundo.com>
86604
86605         BeOS portability.
86606         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
86607
86608 2006-08-27  Jim Meyering  <jim@meyering.net>
86609
86610         * doc/visibility.texi: Remove duplicate word: "pointer".
86611
86612 2006-08-26  Bruno Haible  <bruno@clisp.org>
86613
86614         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
86615         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
86616         (Makefile.am): Create inttypes.h from inttypes_.h.
86617         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
86618
86619         * modules/imaxabs: New file.
86620
86621         * modules/imaxdiv: New file.
86622
86623 2006-08-26  Bruno Haible  <bruno@clisp.org>
86624
86625         * m4/inttypes.m4: New file.
86626         * m4/_inttypes_h.m4: Remove file.
86627         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
86628         PRI_MACROS_BROKEN.
86629         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
86630
86631         * m4/imaxabs.m4: New file.
86632
86633         * m4/imaxdiv.m4: New file.
86634
86635 2006-08-26  Bruno Haible  <bruno@clisp.org>
86636
86637         * lib/inttypes_.h: New file.
86638         * lib/inttypes.h: Remove file.
86639         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
86640
86641         * lib/imaxabs.c: New file.
86642
86643         * lib/imaxdiv.c: New file.
86644
86645 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
86646
86647         New config-h module, so that "make" output needn't be cluttered
86648         by -DHAVE_CONFIG_H.
86649         * MODULES.html.sh (Support for building libraries and executables):
86650         Add config-h.
86651         * modules/config-h: New file.
86652         * gnulib-tool (nl, sed_transform_lib_file): New vars.
86653         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
86654         the config-h module is used.
86655
86656         New configmake module, so that "make" output needn't be cluttered
86657         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
86658         * MODULES.html.sh (Support for building libraries and executables):
86659         Add configmake.
86660         * modules/configmake: New file.
86661
86662 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
86663
86664         * m4/config-h.m4: New file.
86665
86666 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86667
86668         * config/srclist.txt: Add elisp-comp.
86669
86670 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86671
86672         * MODULES.html.sh (Support for building libraries and executables):
86673         Add elisp-comp.
86674         * build-aux/elisp-comp: New file.
86675         * modules/elisp-comp: New file.
86676
86677 2006-08-24  Bruno Haible  <bruno@clisp.org>
86678
86679         * gnulib-tool (func_create_testdir): Use non-default values of
86680         sourcebase and m4base.
86681
86682 2006-08-24  Bruno Haible  <bruno@clisp.org>
86683
86684         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
86685         HTML structure.
86686
86687 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86688
86689         * modules/openat (Depends-on): Add lchown.
86690
86691 2006-08-23  Bruno Haible  <bruno@clisp.org>
86692
86693         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
86694         of gl_LOCK_EARLY instead of gl_LOCK.
86695
86696 2006-08-23  Bruno Haible  <bruno@clisp.org>
86697
86698         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
86699         on OSF/1 to no.
86700         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
86701
86702 2006-08-23  Bruno Haible  <bruno@clisp.org>
86703
86704         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
86705         as unusable.
86706
86707         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
86708         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
86709         (gl_LOCK): New macro.
86710
86711 2006-08-22  Simon Josefsson  <jas@extundo.com>
86712
86713         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
86714         to md5 module.
86715
86716 2006-08-22  Simon Josefsson  <jas@extundo.com>
86717
86718         * MODULES.html.sh: Add "Support for maintaining and release
86719         projects".
86720
86721         * build-aux/gnupload: New file, from coreutils.
86722
86723 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
86724
86725         Avoid the need for AC_LIBSOURCES in m4 macros.
86726         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
86727         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
86728         * modules/check-version (EXTRA_DIST): Add check-version.h.
86729         * modules/crc (EXTRA_DIST): Add crc.h.
86730         * modules/des (EXTRA_DIST): Add des.h.
86731         * modules/gc (EXTRA_DIST): Add gc.h.
86732         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
86733         * modules/getline (EXTRA_DIST): Add getline.h.
86734         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
86735         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
86736         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
86737         * modules/md2 (EXTRA_DIST): Add md2.h.
86738         * modules/md4 (EXTRA_DIST): Add md4.h.
86739         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
86740         * modules/read-file (EXTRA_DIST): Add read-file.h.
86741         * modules/readline (EXTRA_DIST): Add readline.h.
86742         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
86743         rijndael-api-fst.h.
86744
86745 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
86746
86747         * m4/rijndael.m4 (gl_ARCFOUR):
86748         * m4/arctwo.m4 (gl_ARCTWO):
86749         * m4/check-version.m4 (gl_CHECK_VERSION):
86750         * m4/crc.m4 (gl_CRC):
86751         * m4/des.m4 (gl_DES):
86752         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
86753         * m4/gc.m4 (gl_GC):
86754         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
86755         * m4/getline.m4 (gl_FUNC_GETLINE):
86756         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
86757         * m4/hmac-md5.m4 (gl_HMAC_MD5):
86758         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
86759         * m4/md2.m4 (gl_MD2):
86760         * m4/md4.m4 (gl_MD4):
86761         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
86762         * m4/read-file.m4 (gl_FUNC_READ_FILE):
86763         * m4/readline.m4 (gl_FUNC_READLINE):
86764         * m4/rijndael.m4 (gl_RIJNDAEL):
86765         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
86766         to get the necessary .h files and whatnot.
86767
86768 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
86769
86770         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
86771         gnulib rather than the other way around.
86772         * config/srclistvars.sh (COREUTILS): Remove.
86773
86774 2006-08-22  Jim Meyering  <jim@meyering.net>
86775
86776         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
86777
86778         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
86779
86780 2006-08-22  Eric Blake  <ebb9@byu.net>
86781
86782         * modules/regexprops-generic: New file.
86783         * MODULES.html.sh (Support for building documentation): List it.
86784
86785 2006-08-22  Eric Blake  <ebb9@byu.net>
86786
86787         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
86788         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
86789         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
86790         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
86791
86792 2006-08-22  Bruno Haible  <bruno@clisp.org>
86793
86794         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
86795         and lib_LTLIBRARIES like the other lib_* variables.
86796
86797 2006-08-22  Bruno Haible  <bruno@clisp.org>
86798
86799         * build-aux/x-to-1.in: New file, from GNU gettext.
86800
86801 2006-08-22  Bruno Haible  <bruno@clisp.org>
86802
86803         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
86804         <utmpx.h> exists.
86805
86806 2006-08-22  Bruno Haible  <bruno@clisp.org>
86807
86808         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
86809         <utmpx.h> exists.
86810
86811 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
86812
86813         BeOS portability.
86814         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
86815         exist.
86816         Problem reported by Bruno Haible.
86817
86818 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
86819
86820         Avoid the need for AC_LIBSOURCES in m4 macros.
86821         * modules/acl (EXTRA_DIST): Add acl.h.
86822         * modules/argmatch (Files): Add m4/argmatch.m4.
86823         (configure.ac): Add gl_ARGMATCH.
86824         (EXTRA_DIST): Renamed from lib_SOURCES, for
86825         consistency with the other modules.  Remove argmatch.c.
86826         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
86827         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
86828         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
86829         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
86830         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
86831         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
86832         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
86833         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
86834         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
86835         * modules/closeout (EXTRA_DIST): Add closeout.h.
86836         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
86837         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
86838         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
86839         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
86840         dirname.h; remove basename.c and stripslash.c.
86841         * modules/exclude (EXTRA_DIST): Add exclude.h.
86842         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
86843         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
86844         * modules/file-type (EXTRA_DIST): Add file-type.h.
86845         * modules/filemode (EXTRA_DIST): Add filemode.h.
86846         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
86847         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
86848         * modules/fpending (EXTRA_DIST): Add __fpending.h.
86849         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
86850         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
86851         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
86852         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
86853         * modules/getdate (EXTRA_DIST): Add getdate.c.
86854         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
86855         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
86856         * modules/getpass (EXTRA_DIST): Add getpass.h.
86857         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
86858         * modules/group-member (EXTRA_DIST): Add group-member.h.
86859         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
86860         * modules/hash (EXTRA_DIST): Add hash.h.
86861         * modules/human (EXTRA_DIST): Add human.h.
86862         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
86863         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
86864         * modules/lchown (EXTRA_DIST): Add lchown.h.
86865         * modules/long-options (EXTRA_DIST): Add long-options.h.
86866         * modules/lstat (EXTRA_DIST): Add lstat.h.
86867         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
86868         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
86869         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
86870         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
86871         * modules/memxor (EXTRA_DIST): Add memxor.h.
86872         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
86873         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
86874         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
86875         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
86876         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
86877         * modules/physmem (EXTRA_DIST): Add physmem.h.
86878         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
86879         * modules/posixver (EXTRA_DIST): Add posixver.h.
86880         * modules/quote (EXTRA_DIST): Add quote.h.
86881         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
86882         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
86883         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
86884         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
86885         regex_internal.h regexec.c.
86886         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
86887         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
86888         * modules/same (EXTRA_DIST): Add same.h.
86889         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
86890         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
86891         * modules/savedir (EXTRA_DIST): Add savedir.h.
86892         * modules/sha1 (EXTRA_DIST): Add sha1.h.
86893         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
86894         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
86895         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
86896         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
86897         * modules/strdup (EXTRA_DIST): Add strdup.h.
86898         * modules/strftime (EXTRA_DIST): Add strftime.h.
86899         * modules/strndup (EXTRA_DIST): Add strndup.h.
86900         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
86901         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
86902         * modules/time_r (EXTRA_DIST): Add time_r.h.
86903         * modules/timespec (EXTRA_DIST): Add timespec.h.
86904         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
86905         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
86906         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
86907         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
86908         * modules/userspec (EXTRA_DIST): Add userspec.h.
86909         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
86910         * modules/utimens (EXTRA_DIST): Add utimens.h.
86911         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
86912         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
86913         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
86914         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
86915         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
86916         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
86917         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
86918         * modules/yesno (EXTRA_DIST): Add yesno.h.
86919
86920 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
86921
86922         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
86923
86924         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
86925         * m4/dev-ino.m4, same-inode.m4: Remove.
86926
86927         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
86928         * m4/acl.m4 (AC_FUNC_ACL):
86929         * m4/backupfile.m4 (gl_BACKUPFILE):
86930         * m4/c-strtod.m4 (gl_C99_STRTOLD):
86931         * m4/canon-host.m4 (gl_CANON_HOST):
86932         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
86933         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
86934         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
86935         * m4/cloexec.m4 (gl_CLOEXEC):
86936         * m4/close-stream.m4 (gl_CLOSE_STREAM):
86937         * m4/closeout.m4 (gl_CLOSEOUT):
86938         * m4/dirfd.m4 (gl_FUNC_DIRFD):
86939         * m4/dirname.m4 (gl_DIRNAME):
86940         * m4/exclude.m4 (gl_EXCLUDE):
86941         * m4/exitfail.m4 (gl_EXITFAIL):
86942         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
86943         * m4/file-type.m4 (gl_FILE_TYPE):
86944         * m4/filemode.m4 (gl_FILEMODE):
86945         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
86946         * m4/fpending.m4 (gl_FUNC_FPENDING):
86947         * m4/fprintftime.m4 (gl_FPRINTFTIME):
86948         * m4/fts.m4 (gl_FUNC_FTS):
86949         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
86950         * m4/getdate.m4 (gl_GETDATE):
86951         * m4/gethrxtime.m4 (gl_GETHRXTIME):
86952         * m4/getpagesize.m4 (gl_GETPAGESIZE):
86953         * m4/getpass.m4 (gl_FUNC_GETPASS):
86954         * m4/gettime.m4 (gl_GETTIME):
86955         * m4/getugroups.m4 (gl_GETUGROUPS):
86956         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
86957         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
86958         * m4/hard-locale.m4 (gl_HARD_LOCALE):
86959         * m4/hash.m4 (gl_HASH):
86960         * m4/idcache.m4 (gl_IDCACHE):
86961         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
86962         * m4/lchown.m4 (gl_FUNC_LCHOWN):
86963         * m4/long-options.m4 (gl_LONG_OPTIONS):
86964         * m4/lstat.m4 (gl_FUNC_LSTAT):
86965         * m4/md5.m4 (gl_MD5):
86966         * m4/memcasecmp.m4 (gl_MEMCASECMP):
86967         * m4/memcoll.m4 (gl_MEMCOLL):
86968         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
86969         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
86970         * m4/memxor.m4 (gl_MEMXOR):
86971         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
86972         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
86973         * m4/modechange.m4 (gl_MODECHANGE):
86974         * m4/mountlist.m4 (gl_MOUNTLIST):
86975         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
86976         * m4/openat.m4 (gl_FUNC_OPENAT):
86977         * m4/pathmax.m4 (gl_PATHMAX):
86978         * m4/physmem.m4 (gl_PHYSMEM):
86979         * m4/posixtm.m4 (gl_POSIXTM):
86980         * m4/posixver.m4 (gl_POSIXVER):
86981         * m4/quote.m4 (gl_QUOTE):
86982         * m4/quotearg.m4 (gl_QUOTEARG):
86983         * m4/readtokens.m4 (gl_READTOKENS):
86984         * m4/readutmp.m4 (gl_READUTMP):
86985         * m4/regex.m4 (gl_REGEX):
86986         * m4/safe-read.m4 (gl_SAFE_READ):
86987         * m4/safe-write.m4 (gl_SAFE_WRITE):
86988         * m4/same.m4 (gl_SAME):
86989         * m4/save-cwd.m4 (gl_SAVE_CWD):
86990         * m4/savedir.m4 (gl_SAVEDIR):
86991         * m4/settime.m4 (gl_SETTIME):
86992         * m4/sha1.m4 (gl_SHA1):
86993         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
86994         * m4/stat-macros.m4 (gl_STAT_MACROS):
86995         * m4/stat-time.m4 (gl_STAT_TIME):
86996         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
86997         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
86998         * m4/strdup.m4 (gl_FUNC_STRDUP):
86999         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
87000         * m4/strndup.m4 (gl_FUNC_STRNDUP):
87001         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
87002         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
87003         * m4/time_r.m4 (gl_TIME_R):
87004         * m4/timespec.m4 (gl_TIMESPEC):
87005         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
87006         * m4/unlinkdir.m4 (gl_UNLINKDIR):
87007         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
87008         * m4/userspec.m4 (gl_USERSPEC):
87009         * m4/utimecmp.m4 (gl_UTIMECMP):
87010         * m4/utimens.m4 (gl_UTIMENS):
87011         * m4/xalloc.m4 (gl_XALLOC):
87012         * m4/xgetcwd.m4 (gl_XGETCWD):
87013         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
87014         * m4/xreadlink.m4 (gl_XREADLINK):
87015         * m4/xstrtod.m4 (gl_XSTRTOD):
87016         * m4/yesno.m4 (gl_YESNO):
87017         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
87018         to get the necessary .h files and whatnot.
87019
87020 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
87021             Bruno Haible  <bruno@clisp.org>
87022
87023         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
87024         /bin/sh understanding of '!' conditional negation.
87025
87026 2006-08-21  Jim Meyering  <jim@meyering.net>
87027
87028         * modules/openat (Depends-on): Really alphabetize.
87029
87030         * modules/acl (Depends-on): Add error and quote.
87031
87032         * check-module (find_included_lib_files): Add at-func.c to the
87033         ok-to-include-more-than-once white list.
87034
87035         * modules/openat (Depends-on): Add lstat.  Alphabetize.
87036
87037 2006-08-21  Bruno Haible  <bruno@clisp.org>
87038
87039         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
87040         Emit a pkgdata_DATA variable only if some snippets add contents to it.
87041         Reported by Martin Lambers <marlam@marlam.de>.
87042
87043 2006-08-21  Bruno Haible  <bruno@clisp.org>
87044
87045         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
87046         specify an installation location, don't emit a noinst_LIBRARIES or
87047         noinst_LTLIBRARIES assignment.
87048
87049 2006-08-21  Bruno Haible  <bruno@clisp.org>
87050
87051         BeOS portability.
87052         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
87053         BeOS has mbrtowc() but no <wctype.h>.
87054
87055 2006-08-21  Bruno Haible  <bruno@clisp.org>
87056
87057         BeOS portability.
87058         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
87059         exist.
87060
87061 2006-08-21  Bruno Haible  <bruno@clisp.org>
87062
87063         BeOS portability.
87064         * lib/mbchar.h: Include <wctype.h> only if it exists.
87065
87066 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
87067
87068         Remove files that are no longer needed by their respective modules.
87069         * m4/obstack.m4: Remove.
87070         * m4/strerror_r.m4: Remove.
87071         * m4/uint32_t.m4: Remove.
87072         * m4/uintptr_t.m4: Remove.
87073         * m4/ullong_max.m4: Remove.
87074         * m4/xstrtoimax.m4: Remove.
87075         * m4/xstrtoumax.m4: Remove.
87076
87077         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
87078         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
87079         dependencies now capture this.
87080
87081         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
87082         Do not use AC_LIBSOURCES, since gnulib modules now do this.
87083         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
87084         * m4/human.m4 (gl_HUMAN): Likewise.
87085         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
87086         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
87087
87088         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
87089
87090         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
87091         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
87092         stdint.
87093         * m4/human.m4 (gl_HUMAN): Likewise.
87094         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
87095         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
87096         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
87097         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
87098         * m4/xstrtol (gl_XSTRTOL): Likewise.
87099
87100         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
87101         AC_TYPE_LONG_LONG_INT.
87102         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
87103         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
87104         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
87105         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
87106
87107         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
87108         on stdbool.
87109
87110         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
87111         (gl_PREREQ_XSTRTOUL): Remove.
87112
87113         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
87114
87115         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
87116         mode.
87117
87118 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
87119
87120         Add and change modules to make it easier for coreutils to use
87121         gnulib-tool.
87122         * modules/backupfile (Files): Remove m4/d-ino.m4.
87123         (Depends-on): Add d-ino.
87124         * modules/cycle-check (Depends-on): Add stdint.
87125         (lib_SOURCES): Add cycle-check.h.
87126         * modules/d-ino: New module.
87127         * modules/d-type: New module.
87128         * modules/error (Files): Remove m4/strerror_r.m4.
87129         * modules/filemode (Files): Add m4/st_dm_mode.m4.
87130         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
87131         m4/inttypes_h.m4, m4/uintmax_t.m4.
87132         (Depends-on): Add stdint.
87133         (lib_SOURCES): Add fsusage.h.
87134         * modules/getcwd (Files): Remove d-ino.m4.
87135         (Depends-on): Add d-ino.
87136         * modules/getndelim2 (Depends-on): Add stdint.
87137         * modules/glob (Files): Remove m4/d-type.m4.
87138         (Depends-on): Add d-type.
87139         * modules/host-os: New module.
87140         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
87141         m4/inttypes_h.m4, m4/uintmax_t.m4.
87142         * Depends-on: Add stdint.
87143         (lib_SOURCES): Add human.h.
87144         * modules/inttostr (Files): Remove m4/intmax_t.m4,
87145         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
87146         m4/uintmax_t.m4, m4/ulonglong.m4.
87147         (Depends-on): Add stdint.
87148         (EXTRA_DIST): Add inttostr.h.
87149         * modules/lchmod: New module.
87150         * modules/link-follow: New module.
87151         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
87152         (Depends-on): Add lchmod.
87153         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
87154         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
87155         (Depends-on): Add stdint.
87156         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
87157         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
87158         (Depends-on): Add stdint.
87159         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
87160         * modules/perl: New module.
87161         * modules/regex (Depends-on): Add stdint.
87162         * modules/rmdir-errno: New module.
87163         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
87164         m4/intmax_t.m4.
87165         (Depends-on): Add stdint.
87166         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
87167         m4/uintmax_t.m4.
87168         (Depends-on): Add stdint.
87169         * modules/unlink-busy: New module.
87170         * modules/utimecmp (Depends-on): Add stdint.
87171         * modules/uptime: New module.
87172         * modules/winsz-ioctl: New module.
87173         * modules/winsz-termios: New module.
87174         * modules/xnanosleep (Depends-on): Add nanosleep.
87175         * modules/ullong_max: Remove.
87176         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
87177         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
87178         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
87179         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
87180         (Depends-on): Add inttypes.
87181         (lib_SOURCES): Add xstrtol.h.
87182         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
87183         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
87184         * MODULES.html.sh: Move 'assert' into the assert section.
87185         Move 'dummy' into the linking section.
87186         Remove ullong_max.
87187         Add section for compatibility checks for POSIX:2001 functions,
87188         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
87189         winsz-ioctl, and winsz-termios into it.
87190         Add lchmod.
87191         Add top-level Misc section and put host-os, perl, and uptime
87192         into it.
87193
87194 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
87195
87196         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
87197         now assume the stdint module.  Do not include inttypes.h.
87198         * lib/fsusage.h: Likewise.
87199         * lib/getndelim2.c: Likewise.
87200         * lib/human.h: Likewise.
87201         * lib/inttostr.h: Likewise.
87202         * lib/obstack.c: Likewise.
87203         * lib/regex_internal.h: Likewise.
87204         * lib/tempname.c: Likewise.
87205         * lib/utimecmp.c: Likewise.
87206         * lib/xstrtol.h: Likewise.
87207
87208         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
87209
87210         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
87211         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
87212         * lib/xtime.h: Likewise.
87213
87214 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87215
87216         * modules/openat (Files): Add lib/fchmodat.c.
87217         Fixes problem reported by Jay Youngman.
87218
87219 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87220
87221         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
87222         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
87223
87224 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
87225             Bruno Haible  <bruno@clisp.org>
87226
87227         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
87228         and is a script that invokes bison. Tighten the code. Add comments.
87229
87230 2006-08-18  Jim Meyering  <jim@meyering.net>
87231
87232         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
87233         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
87234         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
87235         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
87236
87237 2006-08-18  Bruno Haible  <bruno@clisp.org>
87238
87239         * modules/bison-i18n: New file.
87240         * MODULES.html.sh (Internationalization functions): Add it.
87241
87242 2006-08-18  Bruno Haible  <bruno@clisp.org>
87243
87244         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
87245         sys/statvfs.h. When getmntinfo was found, check its declaration and
87246         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
87247
87248 2006-08-18  Bruno Haible  <bruno@clisp.org>
87249
87250         * m4/bison-i18n.m4: New file, from bison.
87251
87252 2006-08-18  Bruno Haible  <bruno@clisp.org>
87253
87254         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
87255         (ME_DUMMY): Treat "kernfs" as a dummy.
87256         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
87257
87258 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
87259
87260         Update from coreutils.
87261
87262         2006-08-15  Jim Meyering  <jim@meyering.net>
87263
87264         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
87265
87266         2006-01-17  Jim Meyering  <jim@meyering.net>
87267
87268         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
87269
87270         2006-01-11  Jim Meyering  <jim@meyering.net>
87271
87272         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
87273         Check for the lchmod function.
87274
87275 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
87276
87277         Update from coreutils.
87278
87279         * lib/__fpending.h: Add copyright notice.
87280         * lib/fprintftime.h: Likewise.
87281         * lib/savedir.c: Use (C) in copyright notice.
87282         * lib/savedir.h: Likewise.
87283
87284         2006-08-15  Jim Meyering  <jim@meyering.net>
87285
87286         * lib/at-func.c: New file, with the logic of all emulated at-functions.
87287         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
87288         in support of the EXPECTED_ERRNO macro.
87289         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
87290         definitions.  Instead, define the appropriate symbols and include
87291         "at-func.c".
87292         * lib/mkdirat.c (mkdirat): Likewise.
87293         * lib/fchmodat.c (fchmodat): Likewise.
87294         (ENOSYS): Remove definition.
87295         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
87296         it.  Don't include "unistd--.h" -- it wasn't ever used.
87297
87298         2006-01-17  Jim Meyering  <jim@meyering.net>
87299
87300         Rewrite fts.c not to change the current working directory,
87301         by using openat, fstatat, fdopendir, etc..
87302
87303         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
87304         (HAVE_OPENAT_SUPPORT): Define.
87305         [_LIBC] (fchdir): Don't undef or define; no longer used.
87306         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
87307         Now, this `function' always succeeds, and consumes its file descriptor
87308         parameter -- so callers must not close such FDs.  Update callers.
87309         (diropen_fd, opendirat, cwd_advance_fd): New functions.
87310         (diropen): Add parameter, SP.  Adjust all callers.
87311         Implement using diropen_fd, rather than open.
87312         (fts_open): Initialize new member, fts_cwd_fd.
87313         Remove fts_rft-setting code.
87314         (fts_close): Close fts_cwd_fd, if necessary.
87315         (__opendir2): Define in terms of opendir or opendirat,
87316         depending on whether the FST_NOCHDIR flag is set.
87317         (fts_build): Since fts_safe_changedir consumes its FD, and since
87318         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
87319         and close the dup'd file descriptor upon failure.
87320         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
87321         (fts_safe_changedir): Tweak semantics to reflect that this function
87322         now calls cwd_advance_fd and hence consumes its FD argument.
87323         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
87324         [struct FTS] (fts_rft): Remove now-unused member.
87325         [struct FTS] (fts_cycle.state): Improve comment.
87326
87327         * lib/openat.c (openat_needs_fchdir): New function.
87328         * lib/openat.h (openat_needs_fchdir): Declare it.
87329
87330 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
87331
87332         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
87333         Problem and fix reported by Pádraig Brady in
87334         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
87335
87336 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
87337
87338         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
87339
87340 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
87341
87342         * lib/memcoll.c (memcoll): Optimize for the common case where the
87343         arguments are bytewise equal.
87344
87345 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
87346
87347         * doc/regexprops-generic.texi: Add a copyright notice.
87348
87349 2006-08-15  Bruno Haible  <bruno@clisp.org>
87350
87351         * modules/tmpdir (License): Change to LGPL.
87352
87353 2006-08-15  Bruno Haible  <bruno@clisp.org>
87354
87355         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
87356         module.
87357
87358 2006-08-14  Simon Josefsson  <jas@extundo.com>
87359
87360         * config/srclist.txt: Add gnupload.
87361
87362 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
87363
87364         Change copyright notice from LGPL 2 to GPL 2, since that's the
87365         standard form used in the gnulib repository.
87366         * tests/test-lock.c: Likewise.
87367         * tests/test-stdint.c: Likewise.
87368         * tests/test-tls.c: Likewise.
87369
87370         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
87371         prelude-manager.  User shorter URLs for GNU projects, without '?'.
87372         Add copyright notice.
87373
87374         * check-module: Add copyright notice.  Output a copyright
87375         notice if "--version" is specified.
87376         * modules/COPYING: New file.
87377         * tests/test-getaddrinfo.c: Add copyright notice.
87378         * tests/test-verify.c: Likewise.
87379
87380 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
87381
87382         Change copyright notice from LGPL 2 to GPL 2, since that's the
87383         standard form used in the gnulib repository.
87384         * lib/lock.c: LGPL -> GPL.
87385         * lib/lock.h: Likewise.
87386         * lib/strnlen1.c: Likewise.
87387         * lib/strnlen1.h: Likewise.
87388         * lib/tls.c: Likewise.
87389         * lib/tls.h: Likewise.
87390         * lib/tmpdir.c: Likewise.
87391
87392         * lib/TODO: Remove; this belongs only in coreutils.
87393
87394 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
87395
87396         Add copyright notices to long-enough files that lack them, since
87397         otherwise the files aren't clearly free.  Use the same notice that
87398         getdate.texi already uses.
87399         * doc/alloca-opt.texi: Add copyright notice.
87400         * doc/alloca.texi: Likewise.
87401         * doc/ctime.texi: Likewise.
87402         * doc/functions.texi: Likewise.
87403         * doc/gcd.texi: Likewise.
87404         * doc/gnulib-tool.texi: Likewise.
87405         * doc/inet_ntoa.texi: Likewise.
87406         * doc/visibility.texi: Likewise.
87407
87408         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
87409         * doc/quote.texi: Add copyright notice.
87410
87411         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
87412         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
87413         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
87414         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
87415         is now obsolete, and give a pointer to the Sun list.
87416         Add copyright notice.
87417
87418 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
87419
87420         * config/srclistvars.sh: Add copyright notice.
87421
87422 2006-08-14  Eric Blake  <ebb9@byu.net>
87423
87424         Import the following change from libc:
87425
87426         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
87427
87428         Upstream bug 2997.
87429         * lib/misc/error.c: Add space between program name and message if file
87430         name is missing.
87431
87432 2006-08-12  Karl Berry  <karl@gnu.org>
87433
87434         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
87435         remove, these originate in gnulib now.
87436
87437 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87438
87439         * doc/Makefile (standards.info standards.html standards.dvi):
87440         Also depend on make-stds.texi.
87441
87442 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87443
87444         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
87445         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
87446
87447         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
87448         in wchar_t.  Problem reported by Eric Blake.
87449
87450         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
87451         LEN is smaller than SIZE.  Suggested by Bruno Haible.
87452         Also, help the compiler to keep LEN in a register.
87453
87454 2006-08-11  Eric Blake  <ebb9@byu.net>
87455
87456         * users.txt: Sort.  Add tar.
87457
87458 2006-08-11  Bruno Haible  <bruno@clisp.org>
87459
87460         * users.txt: New file.
87461
87462 2006-08-11  Bruno Haible  <bruno@clisp.org>
87463
87464         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
87465         before <wchar.h>. Needed for OSF/1 and BSD/OS.
87466
87467 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
87468
87469         * modules/snprintf (Depends-on): Remove minmax.
87470         (Maintainer): Add self and Bruno.
87471
87472 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
87473
87474         * lib/.cppi-disable: Add snprintf.h, socket_.h.
87475         * lib/snprintf.c: Include <errno.h> and <limits.h>.
87476         (EOVERFLOW): Define if the system does not.
87477         Do not include "minmax.h"; it wasn't used.
87478         (snprintf): Don't assume size_t promotes to an unsigned type.
87479         Fix bug when generated string was too long for the buffer: the
87480         buffer's contents are supposed to be the initial prefix of the
87481         output.  Don't assume vasnprintf returns EOVERFLOW if the size
87482         exceeds INT_MAX; do the check ourselves.
87483
87484         Import the following changes from libc:
87485
87486         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
87487
87488         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
87489         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
87490         set wc to the byte which couldn't be converted.
87491         (re_string_reconstruct): Don't clear valid_raw_len before calling
87492         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
87493         tip_context using re_string_context_at.
87494
87495         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
87496
87497         * lib/posix/regex.h: g++ still cannot handled [restrict].
87498
87499         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
87500
87501         * lib/posix/regex.h: Remove special handling for VMS.
87502
87503 2006-08-10  Jim Meyering  <jim@meyering.net>
87504
87505         * modules/same-inode: New module.
87506         * modules/dev-ino: New module.
87507         * modules/cycle-check: Depend on these modules, rather than simply
87508         including their .h files.
87509         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
87510         required via m4/cycle-check.m4.
87511         * modules/same: Depend on new same-inode module, rather than
87512         including same-inode.h.
87513         * modules/chdir-safer: New file.
87514
87515         * modules/chown (Depends-on): Add stat-macros.
87516
87517 2006-08-10  Jim Meyering  <jim@meyering.net>
87518
87519         * m4/cycle-check.m4: New file.
87520         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
87521         * m4/dev-ino.m4, m4/same-inode.m4: New files.
87522
87523 2006-08-10  Eric Blake  <ebb9@byu.net>
87524
87525         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
87526         in from original proposal.
87527
87528 2006-08-10  Eric Blake  <ebb9@byu.net>
87529         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
87530
87531         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
87532         namespace.
87533
87534 2006-08-10  Bruno Haible  <bruno@clisp.org>
87535
87536         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
87537         as well.
87538
87539 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87540
87541         Sync from coreutils.
87542
87543         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
87544
87545         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
87546         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
87547
87548 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87549
87550         * modules/restrict: Remove; no longer needed now that we assume
87551         Autoconf 2.59 or later.
87552         * MODULES.html.sh: Remove 'restrict'.
87553         * modules/argp (Depends-on): Remove 'restrict'.
87554         * modules/base64 (Depends-on): Likewise.
87555         * modules/gc (Depends-on): Likewise.
87556         * modules/getaddrinfo (Depends-on): Likewise.
87557         * modules/glob (Depends-on): Likewise.
87558         * modules/inet_ntop (Depends-on): Likewise.
87559         * modules/inet_pton (Depends-on): Likewise.
87560         * modules/memxor (Depends-on): Likewise.
87561         * modules/regex (Depends-on): Likewise.
87562         * modules/strtok_r (Depends-on): Likewise.
87563         * modules/time_r (Depends-on): Likewise.
87564
87565 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87566
87567         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
87568         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
87569         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
87570         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
87571         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
87572         * m4/memxor.m4 (gl_MEMXOR): Likewise.
87573         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
87574         gl_C_RESTRICT replaced by AC_C_RESTRICT.
87575
87576         Merge from coreutils.
87577         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
87578         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
87579         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
87580         * m4/time_r.m4 (gl_TIME_R): Likewise.
87581
87582 2006-08-09  Karl Berry  <karl@gnu.org>
87583
87584         * config/srclist.txt: no more gettext-tools, per Bruno.
87585
87586 2006-08-08  Eric Blake  <ebb9@byu.net>
87587
87588         * modules/verror: New module.
87589         * MODULES.html.sh: Document it.
87590
87591 2006-08-08  Eric Blake  <ebb9@byu.net>
87592
87593         * lib/verror.h, lib/verror.c: New files.
87594
87595 2006-08-08  Eric Blake  <ebb9@byu.net>
87596
87597         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
87598         verror_at_line output complies with GNU Coding Standards even when
87599         file is NULL.
87600
87601 2006-08-07  Bruno Haible  <bruno@clisp.org>
87602
87603         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
87604         versions of AIX.
87605         Reported by Ralf Wildenhues.
87606
87607 2006-08-07  Bruno Haible  <bruno@clisp.org>
87608
87609         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
87610         in an AC_DEFUN. Needed so that the autoconf snippets can use
87611         AC_REQUIRE.
87612
87613 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87614
87615         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
87616         Initialize pkgdata_DATA.
87617         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
87618         overriding it.
87619
87620 2006-08-06  Eric Blake  <ebb9@byu.net>
87621
87622         * lib/error.h: Fold in some upstream changes from glibc.
87623         * lib/error.c: Likewise.
87624
87625 2006-08-04  Bruno Haible  <bruno@clisp.org>
87626
87627         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
87628         Make the mostlyclean-local rule depend on mostlyclean-generic.
87629         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
87630
87631 2006-07-31  Bruno Haible  <bruno@clisp.org>
87632
87633         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
87634         <stdlib.h>, <string.h>.
87635
87636 2006-07-30  Bruno Haible  <bruno@clisp.org>
87637
87638         * modules/readlink (License): Change to LGPL.
87639
87640 2006-07-30  Bruno Haible  <bruno@clisp.org>
87641
87642         * modules/javaversion (Makefile.am): Distribute javaversion.java and
87643         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
87644         set PKGDATADIR to point to it.
87645
87646 2006-07-30  Bruno Haible  <bruno@clisp.org>
87647
87648         * modules/csharpexec (configure.ac): Comment out macro invocation.
87649         * modules/javaexec (configure.ac): Likewise.
87650         * modules/javacomp-script (configure.ac): Likewise.
87651
87652         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
87653
87654 2006-07-30  Bruno Haible  <bruno@clisp.org>
87655
87656         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
87657         linked-list.
87658
87659 2006-07-30  Bruno Haible  <bruno@clisp.org>
87660
87661         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
87662
87663 2006-07-30  Bruno Haible  <bruno@clisp.org>
87664
87665         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
87666         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
87667         get removed.
87668
87669 2006-07-29  Bruno Haible  <bruno@clisp.org>
87670
87671         Make it possible for gnulib-tool to work with locally modified or
87672         augmented gnulib repositories.
87673         * gnulib-tool (func_usage): Document --local-dir option.
87674         (local_gnulib_dir): New variable.
87675         Handle --local-dir option.
87676         (func_lookup_file): New function.
87677         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
87678         (func_get_description, func_get_filelist, func_get_description,
87679         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
87680         func_get_automake_snippet, func_get_include_directive,
87681         func_get_license, func_get_maintainer): Use func_lookup_file.
87682         (func_import, func_create_testdir): Use func_lookup_file.
87683
87684 2006-07-29  Bruno Haible  <bruno@clisp.org>
87685
87686         * modules/setenv (Depends-on): Add unistd.
87687
87688 2006-07-29  Bruno Haible  <bruno@clisp.org>
87689
87690         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
87691
87692 2006-07-29  Bruno Haible  <bruno@clisp.org>
87693
87694         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
87695
87696 2006-07-29  Bruno Haible  <bruno@clisp.org>
87697
87698         * gnulib-tool (import, update): If there is no Makefile.am, look at
87699         aclocal.m4, instead of bailing out.
87700
87701 2006-07-29  Bruno Haible  <bruno@clisp.org>
87702
87703         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
87704         Categorize the options by when they are useful.
87705
87706 2006-07-29  Bruno Haible  <bruno@clisp.org>
87707
87708         * gnulib-tool (func_usage): Document option --no-libtool.
87709         Handle option --no-libtool.
87710         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
87711         for changed semantics of $libtool variable.
87712         (func_import): Likewise. If libtool is not used, show this through
87713         an option --no-libtool.
87714         (func_create_testdir): Update.
87715
87716 2006-07-29  Bruno Haible  <bruno@clisp.org>
87717
87718         * gnulib-tool (func_import): Extend error message about missing
87719         --doc-base.
87720
87721 2006-07-29  Bruno Haible  <bruno@clisp.org>
87722
87723         * gnulib-tool (func_import): Don't create the $docbase directory if
87724         there is no file to store there.
87725
87726 2006-07-29  Bruno Haible  <bruno@clisp.org>
87727
87728         * gnulib-tool (autoconf_minversion): If a --dir option is given and
87729         relevant, look for configure.ac there, not in the current directory.
87730         Also use a simple search for AC_PREREQ, not "autoconf --trace".
87731
87732 2006-07-29  Bruno Haible  <bruno@clisp.org>
87733
87734         * gnulib-tool (SORT): New variable.
87735         (func_usage): Undocument --assume-autoconf option.
87736         Remove --assume-autoconf option handling.
87737         (autoconf_minversion): Determine from the contents of configure.ac.
87738         (func_import): Remove autoconf_minversion handling.
87739         Suggested by Eric Blake.
87740
87741 2006-07-29  Bruno Haible  <bruno@clisp.org>
87742
87743         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
87744
87745 2006-07-29  Bruno Haible  <bruno@clisp.org>
87746
87747         * config/srclist.txt (*setenv.[ch]): Remove rules.
87748
87749 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87750
87751         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
87752
87753 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87754
87755         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
87756         arpa/inet.h.
87757
87758 2006-07-28  Simon Josefsson  <jas@extundo.com>
87759
87760         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
87761         * modules/inet_pton (Depends-on): Likewise.
87762
87763 2006-07-28  Simon Josefsson  <jas@extundo.com>
87764
87765         * m4/netinet_in_h.m4: New file.
87766
87767 2006-07-28  Simon Josefsson  <jas@extundo.com>
87768
87769         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
87770         #include's.
87771
87772 2006-07-28  Simon Josefsson  <jas@extundo.com>
87773
87774         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
87775         #include's.
87776
87777 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
87778
87779         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
87780         setgid on directories only if they set these bits.
87781         * lib/modechange.h: Remove obsolete comment about masks.
87782
87783 2006-07-28  Eric Blake  <ebb9@byu.net>
87784
87785         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
87786         macro expansion.
87787
87788 2006-07-28  Bruno Haible  <bruno@clisp.org>
87789
87790         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
87791
87792 2006-07-28  Bruno Haible  <bruno@clisp.org>
87793
87794         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
87795
87796 2006-07-28  Bruno Haible  <bruno@clisp.org>
87797
87798         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
87799         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
87800         Define fallbacks.
87801         Avoids link error on FreeBSD 4.x.
87802         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87803
87804         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
87805         encoding.
87806         * lib/mbswidth.c (iswcntrl): Likewise.
87807
87808 2006-07-27  Bruno Haible  <bruno@clisp.org>
87809
87810         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
87811         test.
87812
87813 2006-07-27  Bruno Haible  <bruno@clisp.org>
87814
87815         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
87816         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
87817         defined.
87818
87819 2006-07-26  Eric Blake  <ebb9@byu.net>
87820
87821         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
87822
87823 2006-07-26  Eric Blake  <ebb9@byu.net>
87824
87825         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
87826         like mingw that lack mkstemp.
87827         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
87828         avoid compilation warning on mingw.
87829
87830 2006-07-26  Bruno Haible  <bruno@clisp.org>
87831
87832         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
87833         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
87834         INT_FAST*_MIN, INTPTR_MIN.
87835
87836 2006-07-25  Bruno Haible  <bruno@clisp.org>
87837
87838         * modules/version-etc (Depends-on): Add stdarg.
87839
87840 2006-07-25  Bruno Haible  <bruno@clisp.org>
87841
87842         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
87843         complex commands.
87844
87845 2006-07-25  Bruno Haible  <bruno@clisp.org>
87846
87847         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
87848         defined in <stdarg.h> or config.h.
87849
87850 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
87851
87852         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
87853         (gl_STDIO_SAFER): Remove.
87854
87855 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
87856
87857         * MODULES.html.sh (File stream based Input/Output):
87858         Add fopen-safer, tmpfile-safer; remove stdio-safer.
87859         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
87860         * modules/fopen-safer, modules/tmpfile-safer: New files.
87861         * modules/stdio-safer: Remove.
87862
87863 2006-07-24  Bruno Haible  <bruno@clisp.org>
87864
87865         * modules/tmpdir: New file.
87866         * MODULES.html.sh (File system functions): Add it.
87867
87868 2006-07-24  Bruno Haible  <bruno@clisp.org>
87869
87870         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
87871         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
87872
87873 2006-07-24  Bruno Haible  <bruno@clisp.org>
87874
87875         * modules/clean-temp: New file.
87876
87877 2006-07-24  Bruno Haible  <bruno@clisp.org>
87878
87879         * m4/tmpdir.m4: New file, from GNU gettext.
87880
87881 2006-07-24  Bruno Haible  <bruno@clisp.org>
87882
87883         * lib/tmpdir.h: New file, from GNU gettext.
87884         * lib/tmpdir.c: New file, from GNU gettext.
87885
87886 2006-07-24  Bruno Haible  <bruno@clisp.org>
87887
87888         * lib/clean-temp.h: New file, from GNU gettext.
87889         * lib/clean-temp.c: New file, from GNU gettext.
87890
87891 2006-07-23  Eric Blake  <ebb9@byu.net>
87892
87893         * modules/stdio-safer (Files): Add tmpfile-safer.c.
87894         (Depends-on): Add binary-io.
87895
87896 2006-07-23  Eric Blake  <ebb9@byu.net>
87897
87898         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
87899
87900 2006-07-23  Eric Blake  <ebb9@byu.net>
87901
87902         * lib/tmpfile-safer.c: New file.
87903         * lib/stdio-safer.h (fopen_safer): Add prototype.
87904         * lib/stdio--.h (tmpfile): Make safer.
87905
87906 2006-07-23  Bruno Haible  <bruno@clisp.org>
87907
87908         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
87909         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
87910         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
87911         gl_linked_remove_at): Use it.
87912
87913 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87914         and Simon Josefsson <jas@extundo.com>
87915
87916         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
87917
87918         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
87919
87920 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
87921
87922         * modules/close-stream: New file.
87923         * modules/closeout (Description): Make it clear that it exits
87924         with a diagnostic on error.
87925         (Depends-on): Add close-stream.  Remove fpending, stdbool.
87926         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
87927
87928 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
87929
87930         * m4/close-stream.m4: New file.
87931
87932 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
87933
87934         * lib/close-stream.c, lib/close-stream.h: New files.
87935
87936 2006-07-22  Bruno Haible  <bruno@clisp.org>
87937
87938         Merge from GNU gettext 0.15.
87939
87940         2006-05-01  Bruno Haible  <bruno@clisp.org>
87941
87942                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
87943
87944         2006-07-22  Bruno Haible  <bruno@clisp.org>
87945
87946                 * modules/javaversion: New file.
87947                 * MODULES.html.sh (Java): Add javaversion.
87948
87949         2006-03-12  Bruno Haible  <bruno@clisp.org>
87950
87951                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
87952
87953         2005-12-04  Bruno Haible  <bruno@clisp.org>
87954
87955                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
87956                 (untested).
87957
87958         2006-06-21  Bruno Haible  <bruno@clisp.org>
87959
87960                 Avoid warnings from recent versions of mcs.
87961                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
87962                 -o, -L, -r any more. Use options documented since mcs-1.0
87963                 instead. Similarly for -g.
87964
87965         2005-12-04  Bruno Haible  <bruno@clisp.org>
87966
87967                 * build-aux/csharpcomp.sh.in: Suffix for resources is
87968                 .resources, not .resource.
87969
87970         2005-07-09  Bruno Haible  <bruno@clisp.org>
87971
87972                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
87973                 add a .dll suffix.
87974                 Reported by Mark Junker <mjscod@gmx.de>.
87975
87976         2006-07-22  Bruno Haible  <bruno@clisp.org>
87977
87978                 * modules/gettext: Upgrade to gettext-0.15.
87979                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
87980                 m4/visibility.m4.
87981                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
87982
87983 2006-07-22  Bruno Haible  <bruno@clisp.org>
87984
87985         Merge from GNU gettext 0.15.
87986
87987         2006-03-25  Bruno Haible  <bruno@clisp.org>
87988
87989                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
87990
87991         2006-07-21  Bruno Haible  <bruno@clisp.org>
87992
87993                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
87994                 "1.1".
87995
87996         2006-05-09  Bruno Haible  <bruno@clisp.org>
87997
87998                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
87999                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
88000                 for the conftestver execution.
88001
88002         2006-05-01  Bruno Haible  <bruno@clisp.org>
88003
88004                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
88005                 optional target-version argument. Verify that the compiler
88006                 groks source of the specified source-version, or add -source
88007                 option as necessary. Verify that the compiler produces
88008                 bytecode in the specified target-version, or add -target and
88009                 -source options as necessary. Make the result of the test
88010                 available as variable CONF_JAVAC. Also log error output in
88011                 config.log.
88012
88013         2006-03-11  Bruno Haible  <bruno@clisp.org>
88014
88015                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
88016
88017         2006-05-09  Bruno Haible  <bruno@clisp.org>
88018
88019                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
88020                 CLASSPATH_SEPARATOR to a semicolon.
88021
88022         2006-03-12  Bruno Haible  <bruno@clisp.org>
88023
88024                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
88025                 available as variable CONF_JAVA, for subsequent autoconf
88026                 tests. Also log error output in config.log.
88027
88028         2006-07-19  Bruno Haible  <bruno@clisp.org>
88029
88030                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
88031                 that getline works on glibc2 systems. Needed to avoid trouble
88032                 in relocatable.c.
88033                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
88034
88035         2005-12-04  Bruno Haible  <bruno@clisp.org>
88036
88037                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
88038                 launcher (untested).
88039
88040         2005-12-04  Bruno Haible  <bruno@clisp.org>
88041
88042                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
88043
88044         2006-07-22  Bruno Haible  <bruno@clisp.org>
88045
88046                 * gettext.m4: Update from GNU gettext-0.15.
88047                 * nls.m4: Likewise.
88048                 * po.m4: Likewise.
88049                 * inttypes-pri.m4: Likewise.
88050                 * inttypes-h.m4: Renamed from inttypes.m4.
88051                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
88052
88053 2006-07-22  Bruno Haible  <bruno@clisp.org>
88054
88055         Merge from GNU gettext 0.15.
88056
88057         2005-07-05  Bruno Haible  <bruno@clisp.org>
88058
88059                 * printf-args.c (printf_fetchargs): Work around broken
88060                 definition of wint_t on mingw.
88061
88062         2005-02-12  Bruno Haible  <bruno@clisp.org>
88063
88064                 * xallocsa.h: Add extern "C" for C++.
88065
88066         2006-05-17  Bruno Haible  <bruno@clisp.org>
88067
88068                 Cygwin portability.
88069                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
88070
88071         2006-04-30  Bruno Haible  <bruno@clisp.org>
88072
88073                 * progreloc.c: Include <mach-o/dyld.h> if available.
88074                 (find_executable): Use _NSGetExecutablePath when possible.
88075
88076         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
88077
88078                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
88079                 function.
88080
88081         2005-12-29  Bruno Haible  <bruno@clisp.org>
88082
88083                 * progreloc.c (set_program_name_and_installdir): Fix
88084                 compilation error.
88085
88086         2005-12-04  Bruno Haible  <bruno@clisp.org>
88087
88088                 Cygwin portability.
88089                 * progreloc.c: Include <windows.h> also on Cygwin.
88090                 (find_executable): Add support for Cygwin.
88091                 (set_program_name_and_installdir): Handle also platforms with
88092                 nonempty EXEEXT.
88093
88094         2006-07-11  Bruno Haible  <bruno@clisp.org>
88095
88096                 * javacomp.c: Fix a comment.
88097                 Reported by Jim Meyering.
88098
88099         2006-04-30  Bruno Haible  <bruno@clisp.org>
88100
88101                 * javacomp.h (compile_java_class): Add source_version,
88102                 target_version arguments.
88103                 * javacomp.c: Rewritten to choose only a compiler that
88104                 respects the specified source_version and target_version.
88105
88106         2006-06-27  Bruno Haible  <bruno@clisp.org>
88107
88108                 Assume correct S_ISDIR macro.
88109                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
88110
88111         2006-07-22  Bruno Haible  <bruno@clisp.org>
88112
88113                 * javaversion.h: New file, from GNU gettext.
88114                 * javaversion.c: New file, from GNU gettext.
88115                 * javaversion.java: New file, from GNU gettext.
88116                 * javaversion.class: New file, from GNU gettext.
88117
88118         2006-05-17  Bruno Haible  <bruno@clisp.org>
88119
88120                 Cygwin portability.
88121                 * javaexec.c (execute_java_class): Test for jview program
88122                 also on Cygwin.
88123
88124         2006-04-09  Bruno Haible  <bruno@clisp.org>
88125
88126                 * fatal-signal.c: Don't include string.h.
88127                 (at_fatal_signal): Use a copying loop instead of memcpy.
88128
88129         2005-12-04  Bruno Haible  <bruno@clisp.org>
88130
88131                 * csharpexec.c: Add support for 'clix' launcher (untested).
88132                 (execute_csharp_using_sscli): New function.
88133                 (execute_csharp_program): Call it.
88134
88135         2006-06-21  Bruno Haible  <bruno@clisp.org>
88136
88137                 Avoid warnings from recent versions of mcs.
88138                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
88139                 -o, -L, -r any more. Use options documented since mcs-1.0
88140                 instead. Similarly for -g.
88141
88142         2005-07-09  Bruno Haible  <bruno@clisp.org>
88143
88144                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
88145                 add a .dll suffix.
88146                 Reported by Mark Junker <mjscod@gmx.de>.
88147
88148         2006-06-17  Bruno Haible  <bruno@clisp.org>
88149
88150                 * config.charset: Update for NetBSD 3.0.
88151
88152         2006-05-17  Bruno Haible  <bruno@clisp.org>
88153
88154                 Cygwin portability.
88155                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
88156
88157         2006-05-16  Bruno Haible  <bruno@clisp.org>
88158
88159                 * localcharset.c [CYGWIN]: Include <windows.h>.
88160                 (get_charset_aliases): For Cygwin, return the same CPxxx
88161                 aliases list as under WIN32.
88162                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
88163                 the environment variables. Fall back to GetACP().
88164
88165         2006-04-05  Bruno Haible  <bruno@clisp.org>
88166
88167                 * config.charset: Update Juan Manuel Guerrero's address.
88168
88169         2005-02-12  Bruno Haible  <bruno@clisp.org>
88170
88171                 * allocsa.h: Add extern "C" for C++.
88172
88173         2005-02-10  Bruno Haible  <bruno@clisp.org>
88174
88175                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
88176                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
88177
88178         2006-07-22  Bruno Haible  <bruno@clisp.org>
88179
88180                 * gettext.h: Update to GNU gettext-0.15.
88181
88182 2006-07-22  Bruno Haible  <bruno@clisp.org>
88183
88184         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
88185         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
88186         lib-prefix.m4, longdouble.m4, ssize_t.m4.
88187
88188 2006-07-21  Eric Blake  <ebb9@byu.net>
88189
88190         * modules/stdlib-safer: New file.
88191         * MODULES.html.sh (File stream based Input/Output): Add
88192         stdlib-safer.
88193
88194 2006-07-21  Eric Blake  <ebb9@byu.net>
88195
88196         * lib/stdlib-safer.h: New file from coreutils, required by
88197         stdlib--.h.
88198
88199 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
88200
88201         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
88202
88203 2006-07-20  Bruno Haible  <bruno@clisp.org>
88204
88205         * gnulib-tool: Recognize new option --assume-autoconf.
88206         (autoconf_minversion): New variable.
88207         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
88208
88209 2006-07-20  Bruno Haible  <bruno@clisp.org>
88210
88211         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
88212
88213 2006-07-19  Derek R. Price  <derek@ximbiot.com>
88214
88215         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
88216         Reindent and repaginate.
88217
88218 2006-07-19  Derek Price  <derek@ximbiot.com>
88219
88220         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
88221         Correct grammar.
88222
88223 2006-07-17  Bruno Haible  <bruno@clisp.org>
88224
88225         * modules/list: New file.
88226         * modules/array-list: New file.
88227         * modules/carray-list, modules/carray-list-tests: New files.
88228         * modules/linked-list, modules/linked-list-tests: New files.
88229         * modules/avltree-list, modules/avltree-list-tests: New files.
88230         * modules/rbtree-list, modules/rbtree-list-tests: New files.
88231         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
88232         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
88233         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
88234         * modules/oset: New file.
88235         * modules/array-oset: New file.
88236         * modules/avltree-oset, modules/avltree-oset-tests: New files.
88237         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
88238         * tests/test-carray_list.c: New file.
88239         * tests/test-linked_list.c: New file.
88240         * tests/test-avltree_list.c: New file.
88241         * tests/test-rbtree_list.c: New file.
88242         * tests/test-linkedhash_list.c: New file.
88243         * tests/test-avltreehash_list.c: New file.
88244         * tests/test-rbtreehash_list.c: New file.
88245         * tests/test-avltree_oset.c: New file.
88246         * tests/test-rbtree_oset.c: New file.
88247         * MODULES.html.sh (Container data structures): New section.
88248
88249 2006-07-17  Bruno Haible  <bruno@clisp.org>
88250
88251         * m4/gl_list.m4: New file.
88252
88253 2006-07-17  Bruno Haible  <bruno@clisp.org>
88254
88255         * lib/gl_list.h: New file.
88256         * lib/gl_list.c: New file.
88257         * lib/gl_array_list.h: New file.
88258         * lib/gl_array_list.c: New file.
88259         * lib/gl_carray_list.h: New file.
88260         * lib/gl_carray_list.c: New file.
88261         * lib/gl_linked_list.h: New file.
88262         * lib/gl_linked_list.c: New file.
88263         * lib/gl_anylinked_list1.h: New file.
88264         * lib/gl_anylinked_list2.h: New file.
88265         * lib/gl_avltree_list.h: New file.
88266         * lib/gl_avltree_list.c: New file.
88267         * lib/gl_anyavltree_list1.h: New file.
88268         * lib/gl_anyavltree_list2.h: New file.
88269         * lib/gl_rbtree_list.h: New file.
88270         * lib/gl_rbtree_list.c: New file.
88271         * lib/gl_anyrbtree_list1.h: New file.
88272         * lib/gl_anyrbtree_list2.h: New file.
88273         * lib/gl_anytree_list1.h: New file.
88274         * lib/gl_anytree_list2.h: New file.
88275         * lib/gl_linkedhash_list.h: New file.
88276         * lib/gl_linkedhash_list.c: New file.
88277         * lib/gl_anyhash_list1.h: New file.
88278         * lib/gl_anyhash_list2.h: New file.
88279         * lib/gl_avltreehash_list.h: New file.
88280         * lib/gl_avltreehash_list.c: New file.
88281         * lib/gl_rbtreehash_list.h: New file.
88282         * lib/gl_rbtreehash_list.c: New file.
88283         * lib/gl_anytreehash_list1.h: New file.
88284         * lib/gl_anytreehash_list2.h: New file.
88285
88286         * lib/gl_oset.h: New file.
88287         * lib/gl_oset.c: New file.
88288         * lib/gl_array_oset.h: New file.
88289         * lib/gl_array_oset.c: New file.
88290         * lib/gl_avltree_oset.h: New file.
88291         * lib/gl_avltree_oset.c: New file.
88292         * lib/gl_rbtree_oset.h: New file.
88293         * lib/gl_rbtree_oset.c: New file.
88294         * lib/gl_anytree_oset.h: New file.
88295
88296 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
88297
88298         * m4/mkancesdirs.m4: New file.
88299         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
88300         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
88301         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
88302         it.
88303
88304 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
88305
88306         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
88307         * lib/mkancesdirs.h: New files.
88308         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
88309         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
88310         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
88311         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
88312         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
88313         callers changed.  Revamp internals significantly, by not
88314         attempting to create directories that are temporarily more
88315         permissive than the final results.  Do not attempt to use
88316         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
88317         This removes some race conditions, fixes some bugs, and simplifies
88318         things.  Use new dirchownmod function to do owner and mode changes.
88319         * lib/mkdir-p.h: Likewise.
88320         * lib/modechange.c (octal_to_mode): New function.
88321         (struct mode_change): New member mentioned.
88322         (make_node_op_equals): New arg mentioned.  All callers changed.
88323         (mode_compile): Keep track of which mode bits the user has explicitly
88324         mentioned.
88325         (mode_adjust): New arg DIR, so that we implement the X op correctly.
88326         New arg PMODE_BITS, to keep track of which mode bits the user
88327         mentioned; it treats S_ISUID and S_ISGID speciall.
88328         All callers changed.
88329         * lib/modechange.h: Likewise.
88330
88331 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
88332
88333         * MODULES.html.sh: Add mkancestors.
88334         * modules/mkancesdirs: New module.
88335         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
88336         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
88337         The chdir-safer and afs files are now orphans; I'll remove them
88338         unless someone speaks up.
88339         Add lib/dirchownmod.c, lib/dirchownmod.h.
88340         (Depends-on): Remove alloca, chown, save-cwd, dirname.
88341         Add lchown, mkancesdirs.
88342         (Maintainer): Add self.
88343
88344 2006-07-15  Karl Berry  <karl@gnu.org>
88345
88346         * gnulib-tool: help message wording/arrangement.
88347
88348 2006-07-14  Simon Josefsson  <jas@extundo.com>
88349
88350         * doc/gnulib.texi (Libtool and Windows): New section.
88351
88352 2006-07-12  Simon Josefsson  <jas@extundo.com>
88353
88354         * modules/gendocs (License): Fix license, approved by Karl.
88355
88356 2006-07-12  Eric Blake  <ebb9@byu.net>
88357
88358         * MODULES.html.sh: Add gendocs.
88359
88360 2006-07-11  Eric Blake  <ebb9@byu.net>
88361
88362         * modules/fdl: New module, to install doc/fdl.texi.
88363         * MODULES.html.sh: Add new section for documentation modules.
88364         * gnulib-tool: Avoid space-tab.
88365         (--doc-base): New option, to manage files from doc.
88366
88367 2006-07-11  Eric Blake  <ebb9@byu.net>
88368
88369         * m4/absolute-header.m4: Fix comments to match recent change.
88370
88371 2006-07-11  Eric Blake  <ebb9@byu.net>
88372
88373         * gnulib-tool: List --doc-base before --tests-base.
88374
88375 2006-07-11  Derek R. Price  <derek@ximbiot.com>
88376
88377         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
88378
88379 2006-07-11  Bruno Haible  <bruno@clisp.org>
88380
88381         * README: Mention where to put documentation.
88382
88383 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88384
88385         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
88386
88387 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
88388
88389         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
88390         to stdint.m4.
88391
88392 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
88393
88394         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
88395         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
88396         "no/such/file/stdint.h" when there is no such file, so that
88397         the resulting C code can be parsed by dodgy compilers.
88398         Problems reported by Bob Proulx.
88399
88400 2006-07-10  Derek R. Price  <derek@ximbiot.com>
88401
88402         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
88403         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
88404         macros into the GNU _D_EXACT_NAMLEN.
88405         * lib/savedir.c:  Likewise.
88406         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
88407
88408 2006-07-10  Derek R. Price  <derek@ximbiot.com>
88409         and Paul Eggert  <eggert@cs.ucla.edu>
88410
88411         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
88412         * m4/savedir.m4:
88413         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
88414         macros into the GNU _D_EXACT_NAMLEN.
88415
88416 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
88417
88418         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
88419         around the absolute name, to work around a problem with the HP-UX
88420         11.23 native C compiler, reported by Bob Proulx.
88421
88422 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
88423
88424         * doc/maintain.texi, make-stds.texi: Sync from
88425         <http://savannah.gnu.org/projects/gnustandards>.
88426
88427 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
88428
88429         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
88430
88431 2006-07-09  Jim Meyering  <jim@meyering.net>
88432
88433         * m4/glob.m4: Remove a doubled word in a comment.
88434
88435 2006-07-09  Jim Meyering  <jim@meyering.net>
88436
88437         * lib/argp-pv.c: Remove a doubled word in a comment.
88438         * lib/check-version.c (check_version): Likewise.
88439         * lib/javacomp.c (compile_java_class): Likewise.
88440
88441 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
88442
88443         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
88444         for the benefit of people using Autoconf 2.60.  If you want to
88445         support older Autoconf versions you can copy m4/onceonly_2_57.m4
88446         (or m4/onceonly.m4, if pre-2.57) manually.
88447
88448 2006-07-08  Jim Meyering  <jim@meyering.net>
88449
88450         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
88451         comment.
88452         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
88453         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
88454         comment.
88455
88456 2006-07-08  Jim Meyering  <jim@meyering.net>
88457
88458         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
88459
88460 2006-07-07  Simon Josefsson  <jas@extundo.com>
88461
88462         * tests/test-crc.c: Change expected crc value, the test vector
88463         were probably computed using the old broken crc.c?
88464
88465 2006-07-06  Simon Josefsson  <jas@extundo.com>
88466
88467         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
88468         now the canonical place for the M4 file).
88469
88470         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
88471         from the sys_socket dependency now.
88472
88473         * modules/inet_pton (Files): Ditto.
88474
88475         * modules/inet_ntop (Files): Ditto.
88476
88477 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
88478
88479         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
88480         not gl_PREREQ_GETUSERSHELL.
88481
88482 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88483
88484         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
88485         with only one argument, for Autoconf 2.60.
88486         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
88487         expand to nothing, so add a shell command to avoid syntax error.
88488         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
88489
88490 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88491
88492         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
88493
88494 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
88495
88496         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
88497         no longer needed.  Check for isblank decl.
88498         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
88499         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
88500         of existence.
88501
88502 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
88503
88504         * lib/getloadavg.c: Use __VMS, not VMS.
88505         * lib/getopt.c: Likewise.
88506         * lib/getpagesize.h: Likewise.
88507         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
88508         and probably does not work.
88509
88510 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
88511
88512         * lib/.cppi-disable: Add wcwidth.
88513         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
88514         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
88515         (ISGRAPH): Remove.  All uses changed to isgraph.
88516         (FOLD) [!defined _LIBC]: Remove special case.
88517         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
88518         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
88519         HAVE_ISBLANK.
88520         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
88521         case.
88522
88523 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
88524
88525         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
88526         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
88527         brackets.  Other minor changes to suppress some compiler
88528         warnings.
88529
88530 2006-07-06  Derek R. Price  <derek@ximbiot.com>
88531         and Paul Eggert  <eggert@cs.ucla.edu>
88532
88533         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
88534         of invoking obsolescent AC_HEADER_DIRENT macro.
88535         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
88536         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
88537         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
88538         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
88539         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
88540         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
88541         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
88542         * m4/readdir.m4: Remove; no longer needed.
88543
88544 2006-07-06  Derek R. Price  <derek@ximbiot.com>
88545         and Paul Eggert  <eggert@cs.ucla.edu>
88546
88547         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
88548         Don't worry about this obsolete case any more.
88549         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
88550         directories.
88551         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
88552         worry about this obsolete case any more.
88553         * lib/fts.c: Likewise.
88554         * lib/getcwd.c: Likewise.
88555         * lib/glob.h: Likewise.
88556         * lib/savedir.c: Likewise.
88557
88558 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
88559
88560         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
88561         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
88562         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
88563         needed.
88564         All uses removed.
88565         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
88566         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
88567         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
88568         needed.
88569         * m4/getdate.m4 (gl_GETDATE): Likewise.
88570         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
88571         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
88572         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
88573         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
88574         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
88575         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88576         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
88577         needed.
88578
88579 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
88580
88581         * lib/memcasecmp.c: Include <limits.h>.
88582         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
88583         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
88584         Don't assume isdigit succeeds only on '0' through '9'.
88585
88586 2006-07-05  Eric Blake  <ebb9@byu.net>
88587
88588         * modules/getaddrinfo (Depends-on): Add snprintf.
88589
88590 2006-07-05  Eric Blake  <ebb9@byu.net>
88591
88592         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
88593         to avoid 'header present but could not be compiled' on cygwin.
88594
88595 2006-07-05  Eric Blake  <ebb9@byu.net>
88596
88597         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
88598         missing from netdb.h.
88599         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
88600
88601 2006-07-05  Derek R. Price  <derek@ximbiot.com>
88602
88603         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
88604         no longer needed.
88605         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
88606         * m4/getdate.m4 (gl_GETDATE): Likewise.
88607         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
88608         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
88609         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
88610         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
88611         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88612
88613 2006-07-05  Derek R. Price  <derek@ximbiot.com>
88614
88615         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
88616         All uses of is_space replaced by isspace.
88617         * lib/exit.h: Don't talk about STDC_HEADERS.
88618         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
88619         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
88620         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
88621         replaced by isprint etc.
88622         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
88623         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
88624         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
88625         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
88626         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
88627         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
88628
88629 2006-07-05  Bruno Haible  <bruno@clisp.org>
88630
88631         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
88632         the function exists, before testing against AIX.
88633         Reported by Martin Lambers <marlam@marlam.de>.
88634
88635 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
88636
88637         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
88638         From Mark D. Baushke.
88639
88640 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
88641
88642         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
88643         to the absolute name, not just one, to bypass Sun C 5.8's
88644         "warning: #include of /usr/include/... may be non-portable".
88645
88646 2006-07-04  Eric Blake  <ebb9@byu.net>
88647
88648         * modules/dirname-tests: New test module.
88649         * tests/test-dirname.c: New file, replacing dirname.c
88650         TEST_DIRNAME section that was recently deleted.
88651
88652 2006-07-04  Bruno Haible  <bruno@clisp.org>
88653
88654         Assume ANSI C header files and <ctype.h> functions.
88655         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
88656         (mbsnwidth): Use isprint, iscntrl instead.
88657
88658 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
88659
88660         Merge from coreutils.
88661         * MODULES.html.sh: Add xstrtold.
88662         * modules/xstrtold: New file.
88663         * modules/cycle-check (Files): Add lib/same-inode.h.
88664         * modules/dirname (Files): Add m4/double-slash-root.m4.
88665         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
88666         * modules/mkdir-p (Files): Add lib/same-inode.h.
88667         * modules/same (Files): Add lib/same-inode.h.
88668
88669 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
88670
88671         * m4/absolute-header.m4: Renamed from full-header-path.m4.
88672         This is to keep the terminology clean; POSIX talks about
88673         "absolute pathnames", not "full pathnames", but the GNU
88674         Coding Standards say to use "path" for something else;
88675         so use "absolute" to keep both sides happy.
88676         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
88677         Set gl_absolute_header, not gl_full_header_path.
88678         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
88679         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
88680         All uses changed.
88681
88682         Merge from coreutils.
88683
88684         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
88685
88686         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
88687         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
88688         want to require the building of c-strtod.o.
88689         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
88690         needs -lm directly.
88691         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
88692
88693         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
88694
88695         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
88696         --as-needed option if available.  Problem reported by Albert Chin in
88697         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
88698         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
88699         cc merely issues a bunch of annoying warnings for --as-needed
88700         (this problem was reported by Bob Proulx).  Also, try linking with
88701         -lm to detect a bug in binutils 2.16 (this problem was reported
88702         by Ralf Wildenhues).
88703
88704         2006-06-18  Jim Meyering  <jim@meyering.net>
88705
88706         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
88707         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
88708         macro.
88709         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
88710         also check for glibc-2.4's abort-inducing bug.
88711
88712         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
88713         Low-probability clean-up should be to use rmdir to get rid of
88714         the just-created directory, not unlink.
88715
88716         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
88717         configure fail, and request a bug report to inform us about it.
88718         Add a comment that, barring reports to the contrary, in 2007 we'll
88719         assume ftruncate is universally available.
88720
88721         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
88722
88723         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
88724
88725         2006-03-12  Jim Meyering  <jim@meyering.net>
88726
88727         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
88728         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
88729         * m4/same.m4 (gl_SAME): Likewise.
88730         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
88731
88732         2006-03-11  Eric Blake  <ebb9@byu.net>
88733
88734         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
88735         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
88736         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
88737         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
88738
88739 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
88740
88741         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
88742         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
88743         reported by Mark D. Baushke, one in
88744         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
88745
88746         Merge from coreutils.
88747
88748         * lib/.cppi-disable: Add stdint_.h.
88749         * lib/.cvsignore: Add stdint.h.
88750
88751         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
88752
88753         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
88754         both double and long double versions.
88755         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
88756         * lib/xstrtold.c: New file.
88757         * lib/xstrtod.h (xstrtold): New decl.
88758
88759         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
88760
88761         * lib/filemode.c (setst): Remove.
88762         (strmode): Rewrite to avoid setst.  This makes the code shorter,
88763         (arguably) clearer, and the generated code is a bit smaller on my
88764         Debian GNU/Linux stable x86 host.
88765
88766         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
88767
88768         * lib/filemode.c: Include "filemode.h" first, to test the interface.
88769         Assume that filemode.h includes sys/types.h and sys/stat.h.
88770         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
88771         (ftypelet): Reorder to put common cases first, for efficiency.
88772         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
88773         to do 'M'.
88774         (strmode): Renamed from mode_string, and now stores 12 bytes instead
88775         of 10, for compatibility with FreeBSD.  All callers changed.
88776         (filemodestring): Now stores 12 bytes instead of 10, and sets file
88777         types that can't be deduced solely from st_mode.  First arg is now a
88778         const pointer.
88779         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
88780         (strmode): Renamed from mode_string.
88781         (filemodestring): New decl.
88782         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
88783         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
88784         needed.
88785         (S_ISPORT, S_ISWHT): New macros, if not already defined.
88786
88787         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
88788
88789         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
88790         fsusage.h now does that.  Include fsusage.h first, to test interface.
88791         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
88792         at most one method (the old code could have generated decls that
88793         didn't conform to C89, not that this was ever exercised).
88794         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
88795
88796         2006-03-19  Jim Meyering  <jim@meyering.net>
88797
88798         Work even in a chroot where d_ino values for entries in "/"
88799         don't match the stat.st_ino values for the same names.
88800         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
88801         number, iterate through all entries again, using lstat instead.
88802         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
88803         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
88804
88805         * lib/getcwd.c (__getcwd): Clarify a comment.
88806         Use memcpy in place of a call to strcpy.
88807
88808         2006-03-12  Jim Meyering  <jim@meyering.net>
88809
88810         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
88811         matches that of the current directory (which we're about to chdir ".."
88812         out of), then save the dev-ino of the parent, instead.
88813
88814         * lib/same-inode.h (SAME_INODE): New file/macro.
88815         * lib/chdir-safer.c (SAME_INODE): Remove definition.
88816         Include "same-inode.h", instead.
88817         * lib/same.c: Likewise.
88818         * lib/cycle-check.h: Include "same-inode.h".
88819         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
88820         * lib/cycle-check.c (SAME_INODE): Remove definition.
88821         * lib/root-dev-ino.h: Include "same-inode.h".
88822
88823         2006-03-11  Eric Blake  <ebb9@byu.net>
88824
88825         * lib/same.c (same_name): s/base_name/last_component/
88826         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
88827         * lib/filenamecat.c (file_name_concat): Likewise.
88828
88829         2006-03-11  Eric Blake  <ebb9@byu.net>,
88830                     Paul Eggert  <eggert@cs.ucla.edu>
88831
88832         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
88833         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
88834         drive prefix.
88835         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
88836         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
88837         (last_component): New method.
88838         * lib/dirname.c (dir_len): Determine when drive letters need a
88839         subsequent slash.  Preserve // when it is special.
88840         (dir_name): Don't append dot when drive letter is absolute.
88841         [TEST_DIRNAME]: Move into a full-blown gnulib test.
88842         * lib/basename.c (base_name): New semantics - malloc the result.
88843         Preserve // when it is special.  Preserve relative files that look
88844         like drive letters.
88845         (base_len): Preserve // when it is special.
88846         (last_component): New method, similar to old base_name semantics.
88847         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
88848         base_name.  Strip redundant slashes from ///.
88849
88850 2006-07-03  Jim Meyering  <jim@meyering.net>
88851
88852         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
88853         macro is used before the first cycle_check call.
88854
88855 2006-07-03  Eric Blake  <ebb9@byu.net>
88856
88857         * modules/dirname (Depends-on): Add xstrndup.
88858
88859 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
88860
88861         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
88862         test cases, so that config.log is a bit easier to follow.
88863
88864 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
88865
88866         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
88867         both are 64 bits, since this seems to be the tradition, and this
88868         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
88869         we ever run into a host that prefers long long to long in this
88870         case, we'll need another configure-time test.  Problem reported by
88871         Jim Meyering.
88872
88873 2006-07-02  Eric Blake  <ebb9@byu.net>
88874
88875         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
88876
88877 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
88878
88879         * modules/inttypes (Depends-on): No longer depends on stdint.
88880         * modules/stdint (Description): Say more about assumptions.
88881         Say that the fast types might differ.  Say macros are used.
88882         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
88883         (Makefile.am): Revise list of substituted symbols to match
88884         new stdint.m4.
88885         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
88886         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
88887         * tests/test-stdint.c (verify_same_types)
88888         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
88889         the code conforms to C99/C89.
88890         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
88891         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
88892
88893 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
88894
88895         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
88896         but fix a bug, by requiring at least 64 bits.
88897         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
88898         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
88899         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
88900         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
88901
88902         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
88903         changes.  Make 2.59 a prerequisite.  Check and substitute for
88904         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
88905         inttypes.h.  Do not use special include files; just use the
88906         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
88907         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
88908         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
88909         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
88910         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
88911         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
88912         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
88913         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
88914         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
88915         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
88916         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
88917         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
88918         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
88919         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
88920         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
88921         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
88922         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
88923         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
88924         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
88925         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
88926         WINT_MAX.  Check for C99 conformance more strictly, by detecting
88927         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
88928         not check for things that C99 does not require, e.g., int8_t.  If
88929         a test isn't needed unless <stdint.h> isn't working, and is
88930         unlikely to be needed for any other reason, then don't do it
88931         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
88932         size_t, since we assume C89 freestanding at least.  Do not check
88933         for sig_atomic_t, wchar_t, or wint_t, since the code now does
88934         the right thing even if the types are not defined.  Instead use:
88935         (gl_STDINT_TYPE_PROPERTIES): New macro.
88936         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
88937         testing whether <sys/types.h> clashes, as Autoconf does this for
88938         us now.  All uses removed.
88939         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
88940         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
88941         (gl_CHECK_TYPE_SAME):
88942         Remove; no longer needed.
88943         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
88944         exists, since we'll return 0 anyway in that case.
88945         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
88946
88947 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
88948
88949         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
88950         possible collision with system files.
88951         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
88952         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
88953         WCHAR_MIN and WCHAR_MAX in this case.
88954         (<stddef.h>): Do not include; no longer needed.
88955         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
88956         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
88957         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
88958         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
88959         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
88960         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
88961         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
88962         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
88963         !defined(__c99))]: Include in this case too, since it's harmless
88964         now.
88965         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
88966         dangerous to do so.
88967         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
88968         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
88969         (_STDINT_MIN, _STDINT_MAX): New macros.
88970         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
88971         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
88972         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
88973         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
88974         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
88975         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
88976         macros, not typedefs; this simplifies things quite a bit.
88977         Use long int for all types narrower than int64_t.
88978         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
88979         Define in terms of long long int or int64_t or long int,
88980         not int64_t or int32_t.  This saves some compile-time testing.
88981         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
88982         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
88983         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
88984         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
88985         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
88986         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
88987         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
88988         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
88989         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
88990         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
88991         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
88992         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
88993         undef any previous version and define our own version, for
88994         simplicity and consistency with the new macros for types.
88995         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
88996         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
88997         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
88998         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
88999         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
89000         @WINT_T_SUFFIX@ to keep things simple here.
89001         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
89002         Simplify by assuming typical 8/16/32/64 host, since we're
89003         already doing that elsewhere anyway.
89004         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
89005         and assume long long int is 64 bits if available.  This
89006         speeds up 'configure'.
89007
89008 2006-07-01  Eric Blake  <ebb9@byu.net>
89009
89010         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
89011         Reported by Andreas Buening.
89012
89013 2006-07-01  Eric Blake  <ebb9@byu.net>
89014
89015         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
89016
89017 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
89018
89019         * lib/getaddrinfo.c: fixed typo
89020
89021 2006-06-29  Jim Meyering  <jim@meyering.net>
89022
89023         * modules/strftime (Maintainer): Add my name, since with the
89024         FPRINTFTIME changes strftime.c has forked from glibc.
89025
89026 2006-06-29  Eric Blake  <ebb9@byu.net>
89027
89028         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
89029
89030 2006-06-29  Eric Blake  <ebb9@byu.net>
89031
89032         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
89033
89034 2006-06-29  Eric Blake  <ebb9@byu.net>
89035
89036         * lib/stat_.h: New file.
89037
89038 2006-06-29  Eric Blake  <ebb9@byu.net>
89039
89040         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
89041         unused static function.
89042
89043 2006-06-29  Eric Blake  <ebb9@byu.net>
89044
89045         * doc/functions.texi (Function Portability): Document missing lstat
89046         on mingw.
89047
89048 2006-06-29  Eric Blake  <ebb9@byu.net>
89049
89050         * MODULES.html.sh: Add sys_stat.
89051         * modules/sys_stat: New module.
89052         * modules/mkstemp (Depends-on): Add sys_stat.
89053
89054 2006-06-29  Derek R. Price  <derek@ximbiot.com>
89055
89056         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
89057
89058 2006-06-29  Derek R. Price  <derek@ximbiot.com>
89059
89060         * m4/c-bs-a.m4: Removed.
89061
89062 2006-06-29  Derek R. Price  <derek@ximbiot.com>
89063
89064         * lib/strftime.c: Assume strftime() exists.
89065
89066 2006-06-29  Derek Price  <derek@ximbiot.com>
89067
89068         * modules/c-bs-a: Removed - \a is C89.
89069         * MODULES.html.sh: Remove c-bs-a.
89070
89071 2006-06-29  Bruno Haible  <bruno@clisp.org>
89072
89073         * modules/wcwidth (License): Change to LGPL.
89074
89075 2006-06-28  Simon Josefsson  <jas@extundo.com>
89076
89077         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
89078         on _WIN32.
89079
89080         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
89081         getnameinfo.
89082
89083 2006-06-28  Simon Josefsson  <jas@extundo.com>
89084
89085         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
89086
89087 2006-06-28  Simon Josefsson  <jas@extundo.com>
89088
89089         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
89090         functions there.  It will succeed on Windows XP, but on Windows
89091         2000 and (presumably) earlier, it will fail, and use the internal
89092         re-implementation.
89093         (use_win32_p): New function.
89094         (getaddrinfo): Use strtoul on servname, to support numeric ports.
89095         Support AI_NUMERICSERV to disable getservbyname.
89096         (getnameinfo): New function, only supports
89097         NI_NUMERICHOST|NI_NUMERICSERV for now.
89098
89099         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
89100         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
89101         getnameinfo.
89102
89103 2006-06-28  Eric Blake  <ebb9@byu.net>
89104
89105         * modules/wcwidth: New file.
89106         * modules/mbchar (Depends-on): Add wcwidth.
89107         * modules/mbswidth (Depends-on): Add wcwidth.
89108         * MODULES.html.sh: Add wcwidth.
89109
89110 2006-06-28  Eric Blake  <ebb9@byu.net>
89111
89112         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
89113         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
89114
89115 2006-06-28  Eric Blake  <ebb9@byu.net>
89116
89117         * lib/xvasprintf.h: Fix comments.
89118
89119 2006-06-28  Eric Blake  <ebb9@byu.net>
89120
89121         * lib/mbchar.h (wcwidth): Include wcwidth.h.
89122         * lib/mbswidth.c (wcwidth): Move from here...
89123         * lib/wcwidth.h: ...to this new file.
89124
89125 2006-06-28  Derek R. Price  <derek@ximbiot.com>
89126
89127         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
89128
89129         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
89130         it's obsolete.
89131         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
89132
89133 2006-06-28  Derek R. Price  <derek@ximbiot.com>
89134
89135         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
89136         Autoconf 2.60 says this stuff was obsolete.
89137
89138 2006-06-28  Bruno Haible  <bruno@clisp.org>
89139
89140         * modules/wcwidth (Files): Add m4/wchar_t.m4.
89141
89142 2006-06-28  Bruno Haible  <bruno@clisp.org>
89143
89144         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
89145         gt_TYPE_WCHAR_T.
89146
89147 2006-06-28  Bruno Haible  <bruno@clisp.org>
89148
89149         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
89150         declaration for wcwidth.
89151         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
89152
89153 2006-06-28  Bruno Haible  <bruno@clisp.org>
89154
89155         * lib/mkdtemp.c [MINGW]: Include <io.h>.
89156         (mkdir): Define using _mkdir.
89157
89158 2006-06-28  Bruno Haible  <bruno@clisp.org>
89159
89160         * lib/getaddrinfo.h: Fix POSIX URL.
89161         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
89162         _WIN32.
89163         (use_win32_p): Make static.
89164         (getaddrinfo): Reject service name if it is empty or does not consist
89165         solely of decimal digits, or if its value is > 65535.
89166         (getnameinfo): Remove useless casts.
89167
89168 2006-06-27  Simon Josefsson  <jas@extundo.com>
89169
89170         * modules/sys_select: New file, suggested by Bruno Haible, Paul
89171         Eggert and Martin Lambers.
89172
89173 2006-06-27  Simon Josefsson  <jas@extundo.com>
89174
89175         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
89176         Eggert and Martin Lambers.
89177
89178 2006-06-27  Bruno Haible  <bruno@clisp.org>
89179
89180         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
89181         result to 0, not to empty.
89182         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
89183
89184 2006-06-27  Bruno Haible  <bruno@clisp.org>
89185
89186         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
89187
89188 2006-06-26  Simon Josefsson  <jas@extundo.com>
89189
89190         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
89191         present.
89192
89193 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
89194
89195         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
89196         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
89197         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
89198
89199 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
89200
89201         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
89202
89203 2006-06-26  Bruno Haible  <bruno@clisp.org>
89204
89205         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
89206
89207 2006-06-26  Bruno Haible  <bruno@clisp.org>
89208
89209         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
89210
89211 2006-06-26  Bruno Haible  <bruno@clisp.org>
89212
89213         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
89214         SGI C compiler in pre-C99 mode.
89215         Suggested by Mark D. Baushke and Larry Jones.
89216
89217 2006-06-26  Bruno Haible  <bruno@clisp.org>
89218
89219         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
89220         WCHAR_MAX.
89221         Reported by Mark D. Baushke and Larry Jones.
89222
89223 2006-06-26  Bruno Haible  <bruno@clisp.org>
89224
89225         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
89226         in pre-C99 mode.
89227         Suggested by Mark D. Baushke and Larry Jones.
89228
89229 2006-06-23  Simon Josefsson  <jas@extundo.com>
89230             Bruno Haible  <bruno@clisp.org>
89231
89232         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
89233         Emit mostlyclean-local rule.
89234         (func_emit_tests_Makefile_am): Likewise.
89235         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
89236
89237 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
89238
89239         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
89240
89241 2006-06-23  Bruno Haible  <bruno@clisp.org>
89242
89243         * tests/test-stdint.c: Update to match ISO C 99 Technical
89244         Corrigendum 1.
89245
89246 2006-06-23  Bruno Haible  <bruno@clisp.org>
89247
89248         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
89249
89250 2006-06-23  Bruno Haible  <bruno@clisp.org>
89251
89252         * lib/stdint_.h: Treat IRIX like OpenBSD.
89253
89254 2006-06-23  Bruno Haible  <bruno@clisp.org>
89255
89256         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
89257         ISO C 99 Technical Corrigendum 1.
89258
89259 2006-06-22  Simon Josefsson  <jas@extundo.com>
89260
89261         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
89262         MinGW.
89263
89264 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89265
89266         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
89267         needed.  Some compiler complained about some of them.  Problem reported
89268         by Larry Jones in
89269         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
89270
89271 2006-06-21  Simon Josefsson  <jas@extundo.com>
89272
89273         * tests/test-getaddrinfo.c: New file.
89274
89275         * modules/getaddrinfo-tests: New file.
89276
89277         * MODULES.html.sh: Add inet_pton.
89278
89279         * modules/inet_pton: New file.
89280
89281 2006-06-21  Simon Josefsson  <jas@extundo.com>
89282
89283         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
89284         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
89285         of using the (limited) gnulib implementation on Windows XP.
89286
89287         * m4/inet_pton.m4: New file.
89288
89289 2006-06-21  Simon Josefsson  <jas@extundo.com>
89290
89291         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
89292         variable.
89293
89294         * lib/socket_.h: Don't define WINVER.
89295
89296         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
89297         slightly modified to work in gnulib.
89298
89299 2006-06-21  Simon Josefsson  <jas@extundo.com>
89300
89301         * doc/gnulib.texi (Windows sockets): Add.
89302
89303 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
89304
89305         * lib/read-file.c (fread_file): Start with buffer allocation of
89306         0 bytes rather than 1 byte; this simplifies the code.
89307         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
89308         code to free buffer and save/restore errno.
89309         (internal_read_file): Remove unused local.
89310
89311 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
89312
89313         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
89314         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
89315         Problem reported by Denis Excoffier in
89316         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
89317
89318 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
89319
89320         * modules/sys_socket, modules/socklen: Include sys/types since
89321         FreeBSD 4.x's sys/socket.h needs it.
89322
89323 2006-06-19  Simon Josefsson  <jas@extundo.com>
89324
89325         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
89326
89327 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
89328
89329         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
89330
89331 2006-06-19  Bruno Haible  <bruno@clisp.org>
89332
89333         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
89334         and FULL_PATH_INTTYPES_H in angle brackets.
89335         Reported by Mark D. Baushke <mdb@gnu.org>.
89336
89337 2006-06-17  Eric Blake  <ebb9@byu.net>
89338
89339         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
89340         errno.
89341
89342 2006-06-17  Bruno Haible  <bruno@clisp.org>
89343
89344         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
89345         <sys/inttypes.h>.
89346
89347 2006-06-17  Bruno Haible  <bruno@clisp.org>
89348
89349         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
89350         whether errno is declared. Assume <errno.h> declares errno.
89351
89352 2006-06-17  Bruno Haible  <bruno@clisp.org>
89353
89354         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
89355
89356 2006-06-17  Bruno Haible  <bruno@clisp.org>
89357
89358         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
89359         problem on Solaris 2.5.1.
89360
89361 2006-06-16  Eric Blake  <ebb9@byu.net>
89362
89363         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
89364         * lib/unicodeio.c [!defined errno]: Likewise.
89365         * lib/strtol.c [!defined errno]: Likewise.
89366         * lib/strtod.c [!defined errno]: Likewise.
89367
89368 2006-06-15  Eric Blake  <ebb9@byu.net>
89369
89370         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
89371
89372 2006-06-15  Eric Blake  <ebb9@byu.net>
89373
89374         * config/srclist.txt (ssize_t.m4): Lose sync.
89375
89376 2006-06-15  Bruno Haible  <bruno@clisp.org>
89377
89378         * modules/stdint (Files): Include m4/full-header-path.m4,
89379         m4/size_max.m4, m4/wchar_t.m4.
89380         (Makefile.am): Many more substitutions.
89381         * modules/stdint-tests: New file.
89382         * tests/test-stdint.c: New file.
89383
89384 2006-06-15  Bruno Haible  <bruno@clisp.org>
89385
89386         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
89387         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
89388         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
89389         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
89390         gl_CHECK_TYPE_SAME): New macros.
89391
89392 2006-06-15  Bruno Haible  <bruno@clisp.org>
89393
89394         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
89395
89396 2006-06-15  Bruno Haible  <bruno@clisp.org>
89397
89398         * lib/stdint_.h: Rewritten to be fully auto-configured.
89399         Fixes bug on HP-UX/IA64.
89400
89401 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
89402
89403         * lib/getdate.y (__attribute__): Don't define if already defined.
89404         Problem reported by Larry Jones.
89405         * lib/utimens.c (__attribute__): Likewise.
89406
89407 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
89408
89409         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
89410         reported by Andreas Schwab.
89411
89412 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89413             Bruno Haible  <bruno@clisp.org>
89414
89415         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
89416         check for the declaration of strnlen and a run test that exposes the
89417         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
89418         rpl_strndup.
89419
89420 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89421             Bruno Haible  <bruno@clisp.org>
89422
89423         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
89424
89425 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89426
89427         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
89428         compile test, for Tru64 4.0D.
89429
89430 2006-05-28  Karl Berry  <karl@gnu.org>
89431
89432         * config/srclist.txt (printf-args.c): lose sync.
89433
89434 2006-05-26  Martin Lambers  <marlam@marlam.de>
89435
89436         * lib/getpass.c: Updates the test for the native W32 API, and adds
89437         missing includes, thus fixing compilation warnings.
89438
89439 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
89440
89441         * lib/exclude.c (exclude_fnmatch): New function.
89442         (excluded_file_name): Call exclude_fnmatch.
89443         * lib/exclude.h (excluded_file_name): New prototype
89444
89445 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
89446
89447         * lib/tempname.c (small_open, large_open): New macros.
89448         (__open, __open64) [!_LIBC]: Remove.
89449         (__gen_tempname): Use small_open and large_open instead of __open
89450         and __open64.  This fixes a portability bug on HP-UX 11.11i
89451         reported by Simon Wing-Tang in
89452         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
89453
89454 2006-05-24  Bruno Haible  <bruno@clisp.org>
89455
89456         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
89457         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
89458         Reported by Thorsten Maerz <torte@netztorte.de> via
89459         Aaron Stone <aaron@serendipity.cx>.
89460
89461 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
89462
89463         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
89464         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
89465         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
89466         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
89467         not really conditional on the cache.
89468         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
89469
89470 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
89471
89472         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
89473         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
89474         (my_usleep): Don't mishandle maximum value.
89475
89476 2006-05-19  Jim Meyering  <jim@meyering.net>
89477
89478         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
89479
89480 2006-05-17  Bruno Haible  <bruno@clisp.org>
89481
89482         Cygwin portability.
89483         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
89484
89485 2006-05-17  Bruno Haible  <bruno@clisp.org>
89486
89487         * lib/stdint_.h: Fix recognition of Cygwin.
89488
89489 2006-05-15  Bruno Haible  <bruno@clisp.org>
89490
89491         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
89492         on libtool patch by Ralf Wildenhues.
89493
89494 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
89495
89496         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
89497         test for C99 conformance; (bool) 0.5 is an integer constant
89498         expression, but (bool) -0.5 is not.  Problem reported by Fedor
89499         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
89500
89501 2006-05-11  Simon Josefsson  <jas@extundo.com>
89502
89503         * m4/xvasprintf.m4: Fix obvious typo.
89504
89505 2006-05-11  Jim Meyering  <jim@meyering.net>
89506
89507         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
89508         James Lemley.
89509
89510 2006-05-10  Simon Josefsson  <jas@extundo.com>
89511
89512         * lib/md4.c: Typo fix, update copyright years.
89513         (K1, K2): Don't use L because it turn computations into 64-bit on
89514         64-bit platforms.
89515
89516 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
89517
89518         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
89519         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
89520         unwanted sign propagation, e.g., on hosts with 64-bit int.
89521         There still are some problems with reeelly weird theoretical hosts
89522         (e.g., 33-bit int) but it's not worth worrying about now.
89523         * lib/sha1.c (rol): Likewise.
89524         (K1, K2, K3, K4): Remove unnecessary L suffix.
89525
89526 2006-05-10  Bruno Haible  <bruno@clisp.org>
89527
89528         * lib/des.c: Cast to avoid warnings.
89529
89530 2006-05-09  Bruno Haible  <bruno@clisp.org>
89531
89532         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
89533         (Depends-on): Depend also on xsize, stdarg.
89534         (configure.ac): Add gl_XVASPRINTF.
89535
89536 2006-05-09  Bruno Haible  <bruno@clisp.org>
89537
89538         * m4/xvasprintf.m4: New file.
89539
89540 2006-05-09  Bruno Haible  <bruno@clisp.org>
89541
89542         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
89543         (EOVERFLOW): Define fallback value.
89544         (xstrcat): New function.
89545         (xvasprintf): Recognize the special case of a string concatenation.
89546
89547 2006-05-08  Eric Blake  <ebb9@byu.net>
89548
89549         * gnulib-tool (func_version): Base copyright year on CVS date.
89550         (func_emit_copyright_notice): New function.
89551         (func_emit_lib_Makefile_am): Use it.
89552         (func_emit_tests_Makefile_am): Likewise.
89553         (func_import): Likewise.
89554
89555 2006-05-08  Bruno Haible  <bruno@clisp.org>
89556
89557         * modules/stdarg: New file.
89558         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
89559
89560 2006-05-08  Bruno Haible  <bruno@clisp.org>
89561
89562         * m4/stdarg.m4: New file, from GNU gettext.
89563
89564 2006-05-08  Bruno Haible  <bruno@clisp.org>
89565
89566         * config/srclist.txt (build-aux/config.rpath): different from latest
89567         release.
89568
89569 2006-05-08  Bruno Haible  <bruno@clisp.org>
89570
89571         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
89572
89573 2006-05-05  Jim Meyering  <jim@meyering.net>
89574
89575         * m4/warning.m4: New file, derived from bison's file by the same name.
89576
89577 2006-05-03  Bruno Haible  <bruno@clisp.org>
89578
89579         * lib/stdint_.h: Shorter URL.
89580         * lib/inttypes.h: Likewise.
89581
89582 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
89583
89584         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
89585
89586 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
89587
89588         * lib/verify.h: Document the internals better.  Most of this change
89589         was written by Bruno Haible.
89590
89591 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
89592
89593         * doc/verify.texi: New file, partly based on a proposal by
89594         Bruno Haible.
89595
89596 2006-05-02  Bruno Haible  <bruno@clisp.org>
89597
89598         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
89599         test from here...
89600         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
89601
89602 2006-04-29  Bruno Haible  <bruno@clisp.org>
89603
89604         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
89605         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
89606
89607 2006-04-29  Bruno Haible  <bruno@clisp.org>
89608
89609         * gnulib-tool: Make --update option actually work.
89610
89611 2006-04-29  Bruno Haible  <bruno@clisp.org>
89612
89613         * doc/gcd.texi: New file.
89614         * doc/gnulib.texi: Include it.
89615
89616 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
89617
89618         * lib/getdate.y (get_date): When adding relative date, start with the
89619         initial time, not with the result of the first mktime call.
89620
89621 2006-04-25  Bruno Haible  <bruno@clisp.org>
89622
89623         * gnulib-tool (func_import): Output the include directives in three
89624         blocks, sorted separately.
89625         Reported by Ben Pfaff <blp@cs.stanford.edu>.
89626
89627 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
89628
89629         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
89630         to define main with arguments, for C++.  Reported by Eric Blake.
89631         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
89632         Prefer 'int main ()' to 'int main (void)', for C++.
89633         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
89634         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
89635         for 'main', for C99 and C++.
89636
89637 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
89638
89639         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
89640         Don't assume that exit status -1 is valid.
89641         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
89642         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
89643         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
89644         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
89645         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
89646         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
89647         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
89648         functions can be used without declaring them, or that you can
89649         exit with status -1.
89650         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
89651
89652 2006-04-24  Karl Berry  <karl@gnu.org>
89653
89654         * config/srclist.txt (longdouble.m4): sync lost.
89655
89656 2006-04-24  Eric Blake  <ebb9@byu.net>
89657
89658         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
89659
89660 2006-04-24  Bruno Haible  <bruno@clisp.org>
89661
89662         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
89663         poll() implementation in AIX.
89664         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
89665
89666 2006-04-24  Bruno Haible  <bruno@clisp.org>
89667
89668         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
89669         assigned exactly once.
89670
89671 2006-04-23  Claudio Fontana  <claudio@gnu.org>
89672             Bruno Haible  <bruno@clisp.org>
89673
89674         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
89675         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
89676         for AM_CPPFLAGS.
89677
89678 2006-04-23  Bruno Haible  <bruno@clisp.org>
89679
89680         * modules/copy-file: Depend on unistd.
89681         * modules/execute: Likewise.
89682         * modules/fatal-signal: Likewise.
89683         * modules/findprog: Likewise.
89684         * modules/mkdtemp : Likewise.
89685         * modules/pipe: Likewise.
89686         * modules/wait-process: Likewise.
89687
89688 2006-04-23  Bruno Haible  <bruno@clisp.org>
89689
89690         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
89691         condition was already detected.
89692         Reported by Ben Pfaff <blp@cs.stanford.edu>.
89693
89694 2006-04-23  Bruno Haible  <bruno@clisp.org>
89695
89696         * lib/copy-file.c: Include <unistd.h> unconditionally.
89697         * lib/execute.c: Likewise.
89698         * lib/fatal-signal.c: Likewise.
89699         * lib/findprog.c: Likewise.
89700         * lib/mkdtemp.c: Likewise.
89701         * lib/pipe.h: Likewise.
89702         * lib/pipe.c: Likewise.
89703         * lib/wait-process.h: Likewise.
89704
89705 2006-04-23  Bruno Haible  <bruno@clisp.org>
89706
89707         * gnulib-tool (func_usage): Fix --import description. Document
89708         --update.
89709         (func_import): Create temporary file in a temporary directory, if
89710         --dry-run is specified. Silence errors from 'grep' when there are no
89711         m4 files in $m4dir.
89712         (func_create_testdir): Silence errors from 'grep' when there are no
89713         m4 files in $m4dir.
89714         Reported by Karl Berry <karl@freefriends.org>.
89715
89716 2006-04-20  Bruno Haible  <bruno@clisp.org>
89717
89718         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
89719         one argument, so that the code will be portable to Autoconf 2.60.
89720         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
89721         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
89722         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
89723
89724 2006-04-19  Derek Price  <derek@ximbiot.com>
89725             Eric Blake  <ebb9@byu.net>
89726
89727         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
89728         rather than "/full/path.h".  Update comment to match.  Shorten &
89729         generalize m4_translit call via AS_TR_CPP.
89730
89731 2006-04-19  Derek Price  <derek@ximbiot.com>
89732             Eric Blake  <ebb9@byu.net>
89733
89734         * lib/inttypes.h: Correct grammar in comment.
89735
89736 2006-04-18  Derek Price  <derek@ximbiot.com>
89737             Paul Eggert  <eggert@cs.ucla.edu>
89738
89739         * modules/inttypes: New file.
89740         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
89741
89742 2006-04-18  Derek Price  <derek@ximbiot.com>
89743             Paul Eggert  <eggert@cs.ucla.edu>
89744
89745         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
89746         New files.
89747
89748 2006-04-18  Derek Price  <derek@ximbiot.com>
89749             Paul Eggert  <eggert@cs.ucla.edu>
89750
89751         * lib/inttypes.h: New file.
89752         * lib/strtoimax.c: Assume <inttypes.h>.
89753
89754 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
89755
89756         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
89757         isn't mounted.  Problem reported by Kir Kolyshkin.
89758
89759 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
89760
89761         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
89762         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
89763         Derek R. Price.
89764         * lib/regex.h (RE_DUP_MAX): Update comment to match current
89765         implementation.
89766
89767 2006-04-12  Eric Blake  <ebb9@byu.net>
89768
89769         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
89770         is now done automatically by the corresponding Autoconf macro.
89771
89772 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
89773
89774         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
89775         time_r.h.
89776
89777 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
89778
89779         Merge regex changes from libc, removing some of our
89780         POSIX-conformance changes that were rejected and redoing them in a
89781         less-intrusive way.
89782
89783         * lib/regcomp.c (re_compile_internal, init_dfa):
89784         Length arg is now size_t, not Idx.  All uses changed.
89785         (peek_token): Forward decl now says internal_function.
89786         (__re_error_msgid, __re_error_msgid_idx):
89787         Now static rather than extern with attribute_hidden.
89788         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
89789         For some reason libc prefers K&R style defns for external functions.
89790         (regerror) [!defined _LIBC]: Likewise.
89791         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
89792         (seek_collating_symbol_entry, lookup_collation_sequence_value):
89793         (build_range_exp, build_collating_symbol):
89794         Use K&R-style defn.
89795         (re_compile_fastmap): Use '\0' to memset, not 0.
89796         (utf8_sb_map): Make the calculations more obvious.
89797         (init_dfa, parse_bracket_exp, build_charclass_op):
89798         Call calloc and cast result, as glibc does.
89799         (init_word_char, fetch_token, peek_token, peek_token_bracket):
89800         (build_range_exp, build_collating_symbol):
89801         Now internal functions.
89802
89803         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
89804
89805         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
89806         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
89807         Don't depend on VMS; depend on __VMS instead, for POSIX
89808         namespace cleanness.
89809         (regoff_t): Define to ssize_t, not long int.
89810
89811         Remove the REG_ macros named below.  Instead, make the old names
89812         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
89813         __USE_GNU_REGEX.
89814         (REG_BACKSLASH_ESCAPE_IN_LISTS):
89815         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
89816         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
89817         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
89818         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
89819         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
89820         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
89821         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
89822         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
89823         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
89824         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
89825         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
89826         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
89827         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
89828         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
89829         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
89830         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
89831         (REG_NREGS):
89832         Remove.  All uses replaced by the old RE_* names.
89833         (RE_BACKSLASH_ESCAPE_IN_LISTS):
89834         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
89835         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
89836         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
89837         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
89838         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
89839         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
89840         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
89841         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
89842         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
89843         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
89844         Don't bother having these macros be independent of each others'
89845         values, since they no longer exist in the POSIX name space.
89846
89847         Rename the following member names back to their old names,
89848         unless !__USE_GNU_REGEX.  All uses changed back.
89849         (buffer): Renamed from re_buffer.
89850         (allocated): Renamed from re_allocated.
89851         (used): Renamed from re_used.
89852         (syntax): Renamed from re_syntax.
89853         (fastmap): Renamed from re_fastmap.
89854         (translate): Renamed from re_translate.
89855         (can_be_null): Renamed from re_can_be_null.
89856         (regs_allocated): Renamed from re_regs_allocated.
89857         (fastmap_accurate): Renamed from re_fastmap_accurate.
89858         (no_sub): Renamed from re_no_sub.
89859         (not_bol): Renamed from re_not_bol.
89860         (not_eol): Renamed from re_not_eol.
89861         (newline_anchor): Renamed from re_newline_anchor.
89862         (num_regs): Renamed from rm_num_regs.
89863         (start): Renamed from rm_start.
89864         (end): Renamed from rm_end.
89865
89866         (free_state): Move up a bit.
89867
89868         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
89869         #define to be empty.
89870         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
89871         when that is what is intended.
89872         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
89873         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
89874         (MAX): New macro.
89875         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
89876         All uses changed back to re_malloc, etc.  It's now the caller's
89877         responsibility to check for overflow; all callers changed.
89878         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
89879         (re_x2nrealloc): Remove.
89880         (free_state): Remove decl.
89881
89882         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
89883         (re_set_registers, re_exec):
89884         Use K&R-style defn.
89885
89886         2006-01-31  Roland McGrath  <roland@redhat.com>
89887
89888         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
89889         Reported by Mike Frysinger <vapier@gentoo.org>.
89890
89891         2006-01-15  Andreas Jaeger  <aj@suse.de>
89892
89893         [BZ #1950]
89894         * lib/regex_internal.c (re_string_reconstruct): Adjust for
89895         build_wcs_upper_buffer change.
89896         (build_wcs_upper_buffer): Change return type.
89897
89898         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
89899
89900         * lib/regex_internal.h: Include <stdint.h> if available.
89901
89902         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
89903
89904         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
89905
89906         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
89907
89908         * lib/regcomp.c: Adjust for changed secondary hash function.
89909
89910         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
89911
89912         * lib/regex.h: Pretty printing.
89913         Clean up namespace a bit.
89914
89915         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
89916
89917         * lib/regexec.c (update_cur_sifted_state, check_arrival,
89918         check_arrival_add_next_nodes): Avoid using uninitialized variable.
89919
89920         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
89921                     Ulrich Drepper  <drepper@redhat.com>
89922
89923         [BZ #1302]
89924         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
89925         changed.
89926         (bitset_word_t): Renamed from bitset_word.  All uses changed.
89927
89928         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
89929
89930         [BZ #281]
89931         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
89932         * lib/regcomp.c: Remove unnecessary uses of
89933         unsigned RE_TRANSLATE_TYPE.
89934         * lib/regex_internal.h: Likewise.
89935         * lib/regex_internal.c: Likewise.
89936         * lib/regexec.c: Likewise.
89937         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
89938
89939         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
89940
89941         * lib/regexec.c (find_recover_state): Remove unnecessary
89942         initialization.
89943         (transit_state_bkref): Make DFA a const pointer.
89944         (get_subexp): Likewise.
89945         (check_arrival): Likewise.
89946         (update_cur_sifted_state): Likewise.
89947         (re_search_internal): Likewise.
89948         (prune_impossible_nodes): Likewise.
89949         (acquire_init_state_context): Likewise.
89950         (proceed_next_node): Likewise.
89951         (set_regs): Likewise.
89952         (free_fail_stack_return): Likewise.
89953         (check_arrival_expand_ecl): Mark DFA parameter as const.
89954         (check_arrival_expand_ecl_sub): Likewise.
89955         (check_subexp_limits): Likewise.
89956         (sub_epsilon_src_nodes):  Likewise.
89957         (add_epsilon_src_nodes):  Likewise.
89958         (merge_state_array): Likewise.
89959         (update_regs): Likewise.
89960         (build_trtable): Likewise.
89961         (sift_states_backward): Mark MCTX parameter as const.
89962         (build_sifted_states): Likewise.
89963         (update_cur_sifted_state): Likewise.
89964         (sift_states_mkref): Likewise.
89965         (check_arrival_expand_ecl): Mark eclosure as const.
89966         (check_dst_limits_calc_pos_1): Likewise.
89967         * lib/regex_internal.h (re_match_context_t): Make dfa a const
89968         pointer.
89969
89970         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
89971
89972         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
89973         (transit_state_sb): Likewise.
89974         (transit_state_mb): Likewise.
89975         (sift_states_iter_mb): Likewise.
89976         (check_arrival_add_next_nodes): Likewise.
89977         (check_node_accept_bytes): Change first parameter to pointer-to-const.
89978         [_LIBC] (re_search_2_stub): Use mempcpy.
89979
89980         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
89981         mbrtowc for very simple UTF-8 case.
89982
89983         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
89984         a pointer-to-const.
89985         (re_acquire_state_context): Likewise.
89986         * lib/regex_internal.h: Adjust prototypes.
89987
89988         * lib/regex.c: Prevent using C++ compilers.
89989
89990         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
89991         (re_acquire_state_context): Likewise.
89992
89993 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
89994
89995         * modules/regex (Depends-on): Add ssize_t.
89996
89997 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
89998
89999         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
90000         translation table.
90001
90002 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
90003
90004         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
90005
90006 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
90007             Bruno Haible  <bruno@clisp.org>
90008
90009         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
90010         <sys/types.h> and <inttypes.h>.
90011
90012 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90013
90014         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
90015         `__error_t_defined', so argp.h will not typedef the former.
90016
90017 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
90018
90019         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
90020         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
90021         glibc names.  Even if glibc is changed to conform to POSIX, the
90022         traditional names will be available anyway, since regex depends on
90023         the extensions module.  Also, fix a longstanding typo in the
90024         implementation of Spencer ERE test #75 from grep 2.3.  Problems
90025         reported by Emanuele Giaquinta.  Also, change sense of cached
90026         variable, so that the message makes sense.
90027
90028 2006-03-24  Simon Josefsson  <jas@extundo.com>
90029
90030         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
90031         including some doc fixes.
90032         (base64_encode_alloc): Fix +1 bug on allocation failures.
90033
90034 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90035
90036         * lib/base64.c (base64_encode): Do not read past end of array with
90037         unsanitized input on systems with CHAR_BIT > 8.
90038
90039 2006-03-24  Eric Blake  <ebb9@byu.net>
90040
90041         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
90042
90043 2006-03-22  Karl Berry  <karl@gnu.org>
90044
90045         * config/srclist.txt (*setenv.[ch]): get from coreutils.
90046         * config/srclistvars.sh (COREUTILS): new var.
90047
90048 2006-03-17  Jim Meyering  <jim@meyering.net>
90049
90050         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
90051         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
90052
90053 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
90054
90055         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
90056         no longer needs it.  Instead, check that regoff_t is as least
90057         as wide as ptrdiff_t.
90058
90059         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
90060         so that our regex.h stays compatible with the installed regex.
90061         This is helpful for installers who configure --without-included-regex.
90062         Problem reported by Emanuele Giaquinta.
90063
90064 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
90065
90066         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
90067         Typedef to long int, not to off_, as POSIX will likely change
90068         in that direction.
90069
90070 2006-03-15  Eric Blake  <ebb9@byu.net>
90071
90072         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
90073
90074 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
90075
90076         * lib/argp-help.c (validate_uparams): Fix typo
90077         * lib/argp-parse.c (argp_default_options): Consistently begin help
90078         messages with a lowercase letter.
90079
90080 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
90081
90082         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
90083         overrun buffers and shouldn't be used (much as gets shouldn't be
90084         used).
90085         * lib/time_r.c (asctime_r, ctime_r): Likewise.
90086
90087 2006-03-08  Simon Josefsson  <jas@extundo.com>
90088
90089         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
90090         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90091
90092 2006-03-08  Simon Josefsson  <jas@extundo.com>
90093
90094         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
90095         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90096
90097 2006-03-08  Simon Josefsson  <jas@extundo.com>
90098
90099         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
90100         signal that configure disabled the device.
90101
90102 2006-03-08  Simon Josefsson  <jas@extundo.com>
90103
90104         * build-aux/maint.mk: Fix refresh-po, to handle no translated
90105         languages.
90106
90107 2006-03-07  Simon Josefsson  <jas@extundo.com>
90108
90109         * modules/getopt (Depends-on): Add unistd.
90110
90111         * modules/unistd: New file.
90112
90113 2006-03-07  Simon Josefsson  <jas@extundo.com>
90114
90115         * modules/gc-random: New file.
90116
90117 2006-03-07  Simon Josefsson  <jas@extundo.com>
90118
90119         * m4/unistd_h.m4: New file.
90120
90121 2006-03-07  Simon Josefsson  <jas@extundo.com>
90122
90123         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
90124         test to be side-effect free by storing the result in the cache
90125         variable gl_cv_lib_readline, and moving the assignment of
90126         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
90127         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90128
90129 2006-03-07  Simon Josefsson  <jas@extundo.com>
90130
90131         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
90132         error on missing devices (the functions will return an error).
90133
90134         * m4/gc.m4: Move random stuff to gc-random.m4
90135
90136 2006-03-07  Simon Josefsson  <jas@extundo.com>
90137
90138         * lib/unistd_.h: New file.
90139
90140 2006-03-07  Simon Josefsson  <jas@extundo.com>
90141
90142         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
90143
90144 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
90145
90146         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
90147         Problem reported by Juan Manuel Guerrero.
90148
90149 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
90150
90151         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
90152         the unistd module.
90153         * lib/getlogin_r.c: Likewise.
90154         * lib/getlogin_r.h: Likewise.
90155         * lib/glob.c: Likewise.
90156         * lib/pagealign_alloc.c: Likewise.
90157         * lib/unistd_.h: Remove; no longer needed.
90158
90159 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
90160
90161         * MODULES.html.sh (Support for systems lacking POSIX:2001):
90162         Add unistd.
90163         * modules/c-stack (Depends-on): Add unistd.
90164         * modules/getlogin_r: Likewise.
90165         * modules/glob: Likewise.
90166         * modules/pagealign_alloc: Likewise.
90167         * modules/unistd (Files): Remove lib/unistd_.h.
90168         (EXTRA_DIST): Remove.
90169         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
90170         need unistd_.h.
90171         (MOSTLYCLEANFILES): Remove unistd.h-t.
90172
90173 2006-03-03  Simon Josefsson  <jas@extundo.com>
90174
90175         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
90176
90177 2006-03-03  Simon Josefsson  <jas@extundo.com>
90178
90179         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
90180         libidn and bison.
90181
90182 2006-03-03  Simon Josefsson  <jas@extundo.com>
90183
90184         * build-aux/maint.mk: Add indent target.
90185
90186 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
90187
90188         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
90189         our replacement poll.h in any case, to avoid a differing
90190         declaration from a system header.  Seen on AIX.
90191
90192 2006-03-01  Simon Josefsson  <jas@extundo.com>
90193
90194         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
90195         <kasal@ucw.cz>.
90196
90197 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
90198
90199         * modules/gettime (Depends-on): Add extensions module.
90200         * modules/nanosleep (Depends-on): Likewise.
90201         * modules/settime (Depends-on): Likewise.
90202
90203 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
90204
90205         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
90206         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
90207         pedantically.
90208         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
90209         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
90210
90211         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
90212         not "==".  Reported by Ralf Wildenhues.
90213
90214 2006-03-01  Karl Berry  <karl@gnu.org>
90215
90216         * doc/Copyright/request-*: new files, synced from gnuorg.
90217
90218 2006-03-01  Karl Berry  <karl@gnu.org>
90219
90220         * config/srclist.txt (Copyright/*): new entries.
90221
90222 2006-02-28  Simon Josefsson  <jas@extundo.com>
90223
90224         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
90225
90226 2006-02-27  Simon Josefsson  <jas@extundo.com>
90227
90228         * lib/base64.h: Indent #define's.  From Jim Meyering
90229         <jim@meyering.net>.
90230
90231 2006-02-27  Jim Meyering  <jim@meyering.net>
90232
90233         Revert the change of 2006-02-24, so these files can continue
90234         to be sync'd from gettext.
90235         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
90236         of `config.h'.
90237
90238 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
90239
90240         * modules/intprops: New file.
90241         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
90242         Add intprops.
90243         * modules/getloadavg (Files): Remove lib/intprops.h.
90244         (Depends-on): Add intprops.
90245         * modules/human: Likewise.
90246         * modules/inttostr: Likewise.
90247         * modules/openat: Likewise.
90248         * modules/sig2str: Likewise.
90249         * modules/userspec: Likewise.
90250         * modules/utimecmp: Likewise.
90251         * modules/xnanosleep: Likewise.
90252         * modules/xstrtol: Likewise.
90253
90254 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
90255
90256         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
90257         * modules/lock-tests (TESTS): Use $(EXEEXT).
90258         * modules/tls-tests: Likewise.
90259         * modules/argp-tests: Likewise.
90260         (check_PROGRAMS): New var, replacing...
90261         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
90262
90263 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90264
90265         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
90266         `config.h'.
90267
90268 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
90269
90270         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
90271
90272 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90273
90274         Sync from coreutils.
90275         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
90276         gl_CHDIR_SAFER.
90277
90278 2006-02-22  Jim Meyering  <jim@meyering.net>
90279
90280         Sync from coreutils.
90281         * m4/chdir-safer.m4: New file.
90282
90283 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
90284
90285         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
90286         AT_FDCWD exceeds INT_MAX.
90287         * lib/openat.h (AT_FDCWD): Likewise.
90288
90289 2006-02-17  Eric Blake  <address@hidden>
90290
90291         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
90292
90293 2006-02-16  Simon Josefsson  <jas@extundo.com>
90294
90295         * modules/getaddrinfo (Depends-on): Add sys_socket.
90296
90297 2006-02-15  Simon Josefsson  <jas@extundo.com>
90298
90299         * build-aux/maint.mk: Add dsyntax-check rule.
90300
90301 2006-02-15  Eric Blake  <ebb9@byu.net>
90302
90303         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
90304         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
90305         'present but cannot compile' warnings on cygwin.
90306         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
90307         use ws2tcpip.h if sys/socket.h works.
90308         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
90309         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
90310
90311 2006-02-14  Simon Josefsson  <jas@extundo.com>
90312
90313         * modules/maintainer-makefile (Files): Rename.
90314
90315         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
90316         and (the local) Makefile.cfg to maint-cfg.mk.
90317
90318         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
90319         to the latter.
90320
90321         * modules/maintainer-makefile: New module.
90322
90323         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
90324         severaly stripped to make it possible to build it up from scratch
90325         with reliable tests.
90326
90327         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
90328         fixes to permit overriding the default actions when configure and
90329         makefile are not available.
90330
90331 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
90332
90333         Sync from coreutils.
90334         * modules/lstat (Depends-on): Don't depend on xalloc.
90335         (License): Change from GPL to LGPL, since this is now simply a
90336         replacement for a libc function.
90337
90338 2006-02-14  Jim Meyering  <jim@meyering.net>
90339
90340         Sync from coreutils.
90341
90342         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
90343         failure on deficient systems, and simplify gnulib lgpl dependencies.
90344         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
90345         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
90346
90347         * lib/xalloc-die.c: Remove unused definition of N_.
90348
90349 2006-02-14  Jim Meyering  <jim@meyering.net>
90350
90351         Sync from coreutils.
90352         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
90353         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
90354         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
90355         double-quote uses of that variable, to accommodate the rare case in
90356         which getmntent is available in none of the libraries checked.  This
90357         happens at least on FreeBSD 5.0.
90358
90359 2006-02-13  Simon Josefsson  <jas@extundo.com>
90360
90361         * gnulib-tool (Usage): Fix --import, from
90362         karl@freefriends.org (Karl Berry).
90363
90364 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
90365
90366         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
90367
90368 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
90369
90370         * lib/argp-namefrob.h: Restore changes accidentally lost during the
90371         "autoupdate" on 2005-12-12.
90372
90373 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
90374
90375         * modules/closeout (Depends-on): Remove atexit.
90376
90377 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
90378
90379         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
90380         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
90381
90382 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
90383
90384         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
90385         __EXTENSIONS__ if this causes compilation to fail.  Problem
90386         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
90387         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
90388
90389 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
90390
90391         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
90392         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
90393         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
90394         All uses changed.
90395
90396 2006-01-26  Simon Josefsson  <jas@extundo.com>
90397
90398         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
90399         prototype is visible on mingw32.
90400
90401         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
90402         for mingw32.
90403
90404         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
90405         mingw32).
90406
90407 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
90408
90409         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
90410         attempt to open for write; this always fails, at least on POSIX
90411         hosts.  This reinstates the 2006-01-09 change, which was
90412         inadvertently removed.
90413
90414 2006-01-26  Bruno Haible  <bruno@clisp.org>
90415
90416         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
90417         Reported by Paul Eggert.
90418
90419 2006-01-26  Bruno Haible  <bruno@clisp.org>
90420             Paul Eggert  <eggert@cs.ucla.edu>
90421
90422         * lib/stdbool_.h (_Bool)
90423         [(! (defined __cplusplus || defined __BEOS__)
90424           && !defined __GNUC__
90425           && !(defined __HP_cc || defined __xlc__
90426                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
90427                || defined __sgi))]:
90428         #define to signed char in these cases too; this simplifies
90429         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
90430         etc., separately) and makes it more conservative.
90431
90432 2006-01-25  Simon Josefsson  <jas@extundo.com>
90433
90434         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
90435         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
90436         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
90437
90438 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
90439
90440         * lib/argp-namefrob.h: Bugfix. Remove stray #
90441
90442 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
90443
90444         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
90445         so that we test the test.
90446         Check for yet another HP-UX cc bug involving *bool |= bool.
90447
90448 2006-01-25  Karl Berry  <karl@gnu.org>
90449
90450         * config/srclist.txt (vasnprintf.c): sync lost.
90451
90452 2006-01-25  Jim Meyering  <jim@meyering.net>
90453
90454         Sync from the stable (b5) branch of coreutils:
90455
90456         * lib/fts.c (fts_children): Don't let close() clobber errno from
90457         failed fchdir().
90458
90459         * lib/fts.c (fts_stat): When following a symlink-to-directory,
90460         don't necessarily interpret stat-fails+lstat-succeeds as indicating
90461         a dangling symlink.  That can also happen at least for ELOOP.
90462         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
90463         FYI, this bug predates the inclusion of fts.c in coreutils.
90464
90465         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
90466         in their own block, so pre-c99 compilers don't object.
90467
90468         Avoid the double-free (first in fts_read, second in fts_close) that
90469         would occur when an `active' directory is made inaccessible (e.g.,
90470         via chmod a-x) during a traversal.
90471         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
90472         before returning.  Reproduce this failure by
90473         mkdir -p a/b; cd a; chmod a-x . b
90474         Reported by Stavros Passas.
90475
90476 2006-01-25  Jim Meyering  <jim@meyering.net>
90477
90478         * lib/fileblocks.c: Remove more useless parentheses.
90479         * lib/readutmp.h: Likewise.
90480
90481 2006-01-25  Bruno Haible  <bruno@clisp.org>
90482
90483         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
90484         warnings.
90485         Reported by Paul Eggert.
90486
90487 2006-01-25  Bruno Haible  <bruno@clisp.org>
90488
90489         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
90490         rid of a trap command. For Solaris sh.
90491         Reported by Mark D. Baushke <mdb@gnu.org>.
90492
90493 2006-01-24  Simon Josefsson  <jas@extundo.com>
90494
90495         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
90496         Bruno.
90497
90498 2006-01-24  Karl Berry  <karl@gnu.org>
90499
90500         * config/srclist.txt (argp-namefrob.h): sync lost.
90501
90502 2006-01-24  Jim Meyering  <jim@meyering.net>
90503
90504         * modules/openat (Files): Add lib/intprops.h.
90505         From Mark D. Baushke.
90506
90507 2006-01-24  Jim Meyering  <jim@meyering.net>
90508
90509         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
90510         Reported by Mark D. Baushke.
90511
90512 2006-01-24  Jim Meyering  <jim@meyering.net>
90513
90514         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
90515
90516 2006-01-24  Bruno Haible  <bruno@clisp.org>
90517
90518         * modules/strnlen (Maintainer): Change from glibc to all.
90519
90520 2006-01-24  Bruno Haible  <bruno@clisp.org>
90521
90522         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
90523         Patch by Paul Eggert.
90524
90525 2006-01-24  Bruno Haible  <bruno@clisp.org>
90526
90527         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
90528         already has it.
90529         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
90530         2005-11-26.
90531
90532         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
90533         'signed char' to avoid problems with the built-in _Bool type.
90534         Reported by Paul Eggert on 2005-11-26.
90535
90536 2006-01-24  Bruno Haible  <bruno@clisp.org>
90537
90538         * gnulib-tool (func_import): Avoid constructing complicated sed
90539         expressions inside backquote.
90540         Report and solution by Mark D. Baushke <mdb@gnu.org>.
90541
90542 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
90543
90544         These changes imported from libc.
90545         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
90546         test and two separate function calls.
90547         * lib/strndup.c (__strndup): Add libc_hidden_def.
90548
90549 2006-01-23  Simon Josefsson  <jas@extundo.com>
90550
90551         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
90552         Remove the test_*_SOURCES variable: automake infers it by default.
90553         * modules/tls-tests: Likewise.
90554
90555 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
90556
90557         Work around porting bugs reported by Dieter in
90558         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
90559         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
90560         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
90561         Include "getopt.h" first, to check interface.
90562         (getenv): Declare only if defined HAVE_DECL_GETENV &&
90563         !HAVE_DECL_GETENV.
90564         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
90565         (__strndup): Revert to K&R-style function dfns, the glibc style.
90566         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
90567         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
90568         Include strnlen.h first, to get prototype properly.
90569         (strnlen): Renamed from __strnlen.
90570         Remove weak alias.
90571
90572 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
90573
90574         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
90575
90576 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
90577
90578         * config/srclist.txt: Adjust to reflect glibc reorganization.
90579         This affects only comments.
90580
90581 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
90582
90583          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
90584          Reported by Bruce Korb <bkorb@gnu.org>.
90585
90586 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
90587
90588         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
90589         to pacify gcc -Wswitch-default.
90590
90591 2006-01-22  Bruno Haible  <bruno@clisp.org>
90592
90593         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
90594         temporary buffer for sprintf, take into account the precision also
90595         for 'd', 'i', 'u', 'o', 'x', 'X'.
90596
90597 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
90598
90599         * modules/argp-tests: New module
90600         * tests/test-argp.c: New file
90601         * tests/test-argp-2.sh: New file
90602
90603 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
90604
90605         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
90606         (__argp_base_name): Removed
90607         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
90608         typo.
90609         (__argp_base_name): Provide macro definition or extern declaration
90610         depending on the configuration
90611
90612 2006-01-20  Simon Josefsson  <jas@extundo.com>
90613
90614         * modules/inet_ntop (Depends-on): Depend on sys_socket.
90615
90616 2006-01-20  Simon Josefsson  <jas@extundo.com>
90617
90618         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
90619
90620 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
90621
90622         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
90623         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
90624         Suggested by Bruno Haible.
90625
90626 2006-01-20  Karl Berry  <karl@gnu.org>
90627
90628         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
90629         until changes propagate, I guess.
90630
90631 2006-01-19  Simon Josefsson  <jas@extundo.com>
90632
90633         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
90634
90635 2006-01-19  Simon Josefsson  <jas@extundo.com>
90636
90637         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
90638
90639 2006-01-19  Simon Josefsson  <jas@extundo.com>
90640
90641         * gnulib-tool: Set check_PROGRAMS.
90642
90643         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
90644         modules/des-tests, modules/gc-arcfour-tests,
90645         modules/gc-arctwo-tests, modules/gc-des-tests,
90646         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
90647         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
90648         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
90649         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
90650         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
90651         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
90652         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
90653         test_*_SOURCES.
90654
90655 2006-01-18  Simon Josefsson  <jas@extundo.com>
90656
90657         * modules/socklen (Depends-on): Depend on sys_socket.
90658
90659 2006-01-18  Simon Josefsson  <jas@extundo.com>
90660
90661         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
90662         modules/des-tests, modules/gc-arcfour-tests,
90663         modules/gc-arctwo-tests, modules/gc-des-tests,
90664         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
90665         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
90666         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
90667         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
90668         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
90669         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
90670         $(EXEEXT) to automake TESTS variable, for mingw32.
90671
90672 2006-01-17  Simon Josefsson  <jas@extundo.com>
90673
90674         * modules/socklen (Include): Need sys/socket.h.
90675
90676 2006-01-17  Bruno Haible  <bruno@clisp.org>
90677
90678         * modules/ssize_t (Include): Add <sys/types.h>.
90679
90680 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
90681
90682         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
90683         it's not portable and it doesn't work with cross-compiles.
90684         Problem reported by Bruno Haible.  Fix missing-$ typo in
90685         'test "gl_cv_ignore_unused_libraries" ...' that prevented
90686         -zignore from being used with Sun's C compiler.
90687
90688 2006-01-12  Simon Josefsson  <jas@extundo.com>
90689
90690         * lib/base64.c: Fix warning, reported by Bruno Haible
90691         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
90692
90693 2006-01-12  Bruno Haible  <bruno@clisp.org>
90694
90695         * modules/ldd: New file.
90696         * build-aux/ldd.sh.in: New file.
90697         * MODULES.html.sh (Support for building libraries and executables): Add
90698         ldd.
90699
90700 2006-01-12  Bruno Haible  <bruno@clisp.org>
90701
90702         * m4/ldd.m4: New file.
90703
90704 2006-01-12  Bruno Haible  <bruno@clisp.org>
90705
90706         * gnulib-tool (func_import, func_create_testdir): Don't go into an
90707         endless loop while replacing $auxdir with build-aux.
90708
90709 2006-01-11  Simon Josefsson  <jas@extundo.com>
90710
90711         * lib/stdint_.h (SIZE_MAX): Add missing (.
90712
90713 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
90714
90715         Sync from coreutils.
90716         * lib/md5.c: Fix commentary typos.
90717         (alignof, UNALIGNED_P): No need for a GCC-specific version.
90718         * lib/md5.h (__attribute__): Remove; unused.
90719         * lib/sha1.c: Fix commentary to match md5 better.
90720         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
90721         so that we don't need to worry about alignment.  All uses changed.
90722         This merges the 2005-10-28 md5 change into sha1.
90723
90724 2006-01-11  Jim Meyering  <jim@meyering.net>
90725
90726         Sync from coreutils.
90727         * lib/md5.c (OP): Fix spacing.
90728
90729 2006-01-11  Bruno Haible  <bruno@clisp.org>
90730
90731         Ensure automatic ordering between gl_LOCK and gl_ARGP.
90732         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
90733         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
90734
90735 2006-01-11  Bruno Haible  <bruno@clisp.org>
90736
90737         Ensure automatic ordering between gl_LOCK and gl_ARGP.
90738         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
90739         the "early" section as well.
90740
90741 2006-01-11  Bruno Haible  <bruno@clisp.org>
90742
90743         Avoid "ar: no archive members specified" error on MacOS X.
90744         * gnulib-tool (func_modules_add_dummy): New function.
90745         (func_import, func_create_testdir): Invoke it.
90746
90747 2006-01-11  Bruno Haible  <bruno@clisp.org>
90748
90749         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
90750         with $auxdir in AC_CONFIG_FILES statements.
90751
90752 2006-01-11  Bruno Haible  <bruno@clisp.org>
90753
90754         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
90755         Initialize also noinst_HEADERS to empty.
90756
90757 2006-01-11  Bruno Haible  <bruno@clisp.org>
90758
90759         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
90760         variables.
90761         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
90762         autoreconf.
90763
90764 2006-01-11  Bruno Haible  <bruno@clisp.org>
90765
90766         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
90767         overridable by the user.
90768         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90769
90770 2006-01-10  Simon Josefsson  <jas@extundo.com>
90771
90772         * modules/sys_socket: New file.
90773
90774 2006-01-10  Simon Josefsson  <jas@extundo.com>
90775
90776         * m4/sys_socket_h.m4: New file.
90777
90778 2006-01-10  Simon Josefsson  <jas@extundo.com>
90779
90780         * lib/socket_.h: New file.
90781
90782 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
90783
90784         * modules/readutmp (Maintainer): Add myself.
90785
90786 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
90787
90788         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
90789         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
90790         People who are still concerned with buggy memcmp implementations
90791         can invoke gl_FUNC_MEMCMP themselves.
90792
90793 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
90794
90795         * lib/regex_internal.h (BITSET_WORD_BITS):
90796         Work around a bug in 64-bit PGC (before version 6.1-2), where the
90797         preprocessor mishandles large unsigned values as if they were signed.
90798         Problem reported by Claudio Fontana in
90799         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
90800
90801 2006-01-10  Jim Meyering  <jim@meyering.net>
90802
90803         Avoid the double-free (first in fts_read, second in fts_close) that
90804         would occur when an `active' directory is made inaccessible (e.g.,
90805         via chmod a-x) during a traversal.
90806         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
90807         before returning.  Reproduce this failure by
90808         mkdir -p a/b; cd a; chmod a-x . b
90809         Reported by Stavros Passas.
90810
90811         Sync from coreutils.
90812         * lib/sha1.c: Tweak grammar in a comment.
90813
90814 2006-01-10  Jim Meyering  <jim@meyering.net>
90815
90816         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
90817         Patch by Joerg Sonnenberger.
90818
90819 2006-01-10  Bruno Haible  <bruno@clisp.org>
90820
90821         * modules/readutmp: Depend on module free.
90822         * modules/strtok_r: Depend on module restrict.
90823
90824 2006-01-10  Bruno Haible  <bruno@clisp.org>
90825
90826         * modules/gettext (configure.ac): Add an invocation of
90827         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
90828
90829 2006-01-10  Bruno Haible  <bruno@clisp.org>
90830
90831         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
90832         Reported by Werner Lemberg <wl@gnu.org>.
90833
90834 2006-01-10  Bruno Haible  <bruno@clisp.org>
90835
90836         * lib/localcharset.c: Update from GNU gettext.
90837
90838 2006-01-10  Bruno Haible  <bruno@clisp.org>
90839
90840         * lib/argp.h (__const): Remove macro. Use const instead.
90841         * lib/argp-fmtstream.h (__const): Likewise.
90842         * lib/glob_.h (__const): Remove macro.
90843         * lib/glob-libc.h: Use const instead of __const.
90844
90845 2006-01-10  Bruno Haible  <bruno@clisp.org>
90846
90847         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
90848         variable.
90849         Needed to avoid an automake error regarding the 'gettext' module.
90850
90851 2006-01-09  Simon Josefsson  <jas@extundo.com>
90852
90853         * modules/inet_ntop (Depends-on): Add restrict.
90854
90855 2006-01-09  Simon Josefsson  <jas@extundo.com>
90856
90857         * modules/gc-rijndael-tests (License): Put under LGPL.
90858
90859         * modules/gc-des-tests (License): Likewise.
90860
90861         * modules/gc-arcfour-tests (License): Likewise.
90862
90863         * modules/gc-arctwo-tests (License): Likewise.
90864
90865         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
90866
90867         * modules/gc-hmac-sha1-tests (Files): Likewise.
90868
90869         * modules/gc-hmac-md5-tests (License): Likewise.
90870
90871         * modules/gc-sha1-tests (License): Likewise.
90872
90873         * modules/gc-md5-tests (License): Likewise.
90874
90875         * modules/gc-md4-tests (License): Likewise.
90876
90877         * modules/gc-md2-tests (License): Likewise.
90878
90879         * modules/gc-tests (License): Likewise.
90880
90881         * modules/des-tests (License): Likewise.
90882
90883         * modules/md4-tests (License): Likewise.
90884
90885         * modules/md2-tests (License): Likewise.
90886
90887 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
90888
90889         Sync from coreutils:
90890
90891         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
90892         * modules/lib-ignore: New file.
90893         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
90894         chdir-safer.m4, lchmod.m4.
90895         * modules/openat: Add mkdirat.c, openat-priv.h.
90896
90897 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
90898
90899         Sync from coreutils.
90900         * m4/lib-ignore.m4: New file.
90901         * m4/lchmod.m4: New file.
90902
90903 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
90904
90905         Sync from coreutils.
90906         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
90907         for write access: POSIX says that must fail.
90908         * lib/fts.c (diropen): Likewise.
90909         * lib/save-cwd.c (save_cwd): Likewise.
90910         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
90911         well, for minor improvements on hosts that lack O_DIRECTORY.
90912         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
90913         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
90914         Fall back on chown if open failed with EACCES.
90915
90916         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
90917         Report an error at compile-time if only a 1-second nominal clock
90918         resolution is found.
90919
90920         * lib/lchmod.h: New file.
90921         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
90922         (make_dir_parents): Use lchown rather than chown, and
90923         lchmod rather than chmod.
90924
90925         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
90926         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
90927         "proc" reported by n0dalus.
90928
90929         * lib/mountlist.c: Include <limits.h>.
90930         (dev_from_mount_options)
90931         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
90932         New function.  It no longer assumes "dev=" has the System V meaning
90933         on Linux (since it doesn't).  It also parses "dev=" more carefully.
90934         (read_file_system_list)
90935         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
90936         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
90937         dev= in that case.
90938
90939         * lib/posixtm.h (PDS_PRE_2000): New macro.
90940         * lib/posixtm.c (year): Arg is now syntax_bits rather than
90941         allow_century.  All usages changed.  Reject dates outside the range
90942         1969-1999 if PDS_PRE_2000 is used.
90943
90944 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
90945
90946         Sync from coreutils.
90947         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
90948         (Time of day items): Mention the possibility of leap seconds.
90949         Problem reported by Dr. David Alan Gilbert.
90950
90951 2006-01-09  Jim Meyering  <jim@meyering.net>
90952
90953         Sync from coreutils.
90954
90955         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
90956
90957         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
90958
90959         * lib/modechange.c (mode_compile): Reject an invalid mode string
90960         that starts with an octal digit.  From Andreas Gruenbacher.
90961
90962         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
90963         and dup to open_safer and dup_safer, respectively.
90964         (openat_permissive): Fix typo in comment.
90965
90966         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
90967         "gettext.h"; either no longer needed or are guaranteed by openat.h.
90968         (_): Remove; no longer needed.
90969         (openat): Renamed from rpl_openat; no need for rpl_openat
90970         since openat.h renames openat for us.
90971         Replace most of the body with a call to openat_permissive,
90972         to avoid duplicate code.
90973         Port to (probably hypothetical) environments were mode_t is
90974         wider than int.
90975         (openat_permissive): Require mode arg, so that we can check
90976         types better.  Put it just after flags.  Change cwd failure
90977         indicator from pointer-to-bool to pointer-to-errno-value.
90978         All callers changed.
90979         Invoke openat_save_fail and/or openat_restore_fail if
90980         cwd_errno is null, so that openat can call us.
90981         (openat_permissive, fdopendir, fstatat, unlinkat):
90982         Simplify errno handling to avoid some duplicate code,
90983         as it's OK to set errno on success.
90984         * lib/openat.h: Revamp code so that function macros depend on
90985         __OPENAT_PREFIX only, not also on AT_FDCWD.
90986         (openat_ro): Remove.  Caller changed to use openat_permissive.
90987         (openat_permissive): Now a macro, if not a function.
90988         (openat_restore_fail, openat_save_fail): Now always functions,
90989         since mkdirat needs them even if __OPENAT_PREFIX is defined.
90990
90991         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
90992         and openat.c.
90993         * lib/mkdirat.c: Include openat-priv.h.
90994         Remove definitions of macros defined therein.
90995         * lib/openat.c: Likewise.
90996
90997         * lib/mkdirat.c (mkdirat): New file and function.
90998         * lib/openat.h (mkdirat): Declare.
90999
91000         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
91001
91002         * lib/openat.h (openat_permissive): Declare.
91003         (openat_ro): Define.
91004
91005         * lib/openat.c (EXPECTED_ERRNO): New macro.
91006         (openat_permissive): New function -- used in remove.c rewrite.
91007         (all functions): Set errno just before returning, only if there
91008         was an actual failure.
91009         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
91010
91011         Emulate openat-family functions using Linux's procfs, if possible.
91012         Idea and some code based on Ulrich Drepper's glibc changes.
91013
91014         * lib/openat.c: (BUILD_PROC_NAME): New macro.
91015         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
91016         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
91017         before falling back on save_cwd and restore_cwd.
91018         (fdopendir, fstatat, unlinkat): Likewise.
91019
91020         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
91021         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
91022
91023         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
91024         as second argument to va_arg.  Otherwise, some versions of gcc
91025         warn that `if this code is reached, the program will abort'.
91026
91027 2006-01-09  Jim Meyering  <jim@meyering.net>
91028
91029         Sync from coreutils.
91030         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
91031         Require openat-priv.h.
91032
91033 2006-01-09  Bruno Haible  <bruno@clisp.org>
91034
91035         * modules/strnlen (Include): Use strnlen.h.
91036
91037 2006-01-09  Bruno Haible  <bruno@clisp.org>
91038
91039         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
91040
91041 2006-01-09  Bruno Haible  <bruno@clisp.org>
91042
91043         * lib/sysexit_.h (EX_OK): New macro.
91044         Suggested by Martin Lambers <marlam@marlam.de>.
91045
91046 2006-01-09  Bruno Haible  <bruno@clisp.org>
91047
91048         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
91049         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
91050
91051 2006-01-09  Bruno Haible  <bruno@clisp.org>
91052
91053         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
91054         numbers.
91055
91056 2006-01-09  Bruno Haible  <bruno@clisp.org>
91057
91058         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
91059         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
91060         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
91061         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
91062
91063 2006-01-09  Bruno Haible  <bruno@clisp.org>
91064
91065         * build-aux/javacomp.sh.in: New file, moved from lib/.
91066         * modules/javacomp-script (Files): Update.
91067         (configure.ac): Add AC_CONFIG_FILES invocation.
91068         (EXTRA_DIST): Remove variable.
91069
91070         * build-aux/javaexec.sh.in: New file, moved from lib/.
91071         * modules/javaexec (Files): Update.
91072         (configure.ac): Add AC_CONFIG_FILES invocation.
91073         (EXTRA_DIST): Remove javaexec.sh.in.
91074
91075         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
91076         * modules/csharpcomp-script (Files): Update.
91077         (configure.ac): Add AC_CONFIG_FILES invocation.
91078         (EXTRA_DIST): Remove variable.
91079
91080         * build-aux/csharpexec.sh.in: New file, moved from lib/.
91081         * modules/csharpexec (Files): Update.
91082         (configure.ac): Add AC_CONFIG_FILES invocation.
91083         (EXTRA_DIST): Remove csharpexec.sh.in.
91084
91085 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
91086
91087         Sync from coreutils.
91088
91089         Add POSIX ACL support
91090         * lib/acl.h (copy_acl, set_acl): Add declarations.
91091         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
91092         systems other than Linux.
91093         (chmod_or_fchmod): New function: use fchmod when possible,
91094         and chmod otherwise.
91095         (file_has_acl): Add a POSIX ACL implementation, with a
91096         Linux-specific subcase.
91097         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
91098         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
91099         acls are unsupported.
91100         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
91101         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
91102         are unsupported.
91103
91104 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
91105
91106         Sync from coreutils.
91107         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
91108
91109 2006-01-07  Bruno Haible  <bruno@clisp.org>
91110
91111         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
91112         gl_EARLY.
91113
91114 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
91115
91116         * lib/strftime.c (tzname): Don't declare if it is already #defined.
91117         Problem reported for Mingw by Mark Junker.
91118
91119 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
91120
91121         * README: Gnulib normally doesn't generate a tarball.
91122
91123 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
91124
91125         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
91126         long int, not int, for nanosecond counts, so that people who are
91127         used to POSIX struct timespec won't be surprised.  Reported by Jim
91128         Meyering.
91129
91130 2005-12-28  Bruno Haible  <bruno@clisp.org>
91131
91132         * build-aux/config.rpath: Update from GNU gettext.
91133
91134 2005-12-16  Jim Meyering  <jim@meyering.net>
91135
91136         * modules/fprintftime: New module.
91137         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
91138
91139 2005-12-16  Jim Meyering  <jim@meyering.net>
91140
91141         * m4/fprintftime.m4: New file.
91142
91143 2005-12-16  Jim Meyering  <jim@meyering.net>
91144
91145         * lib/fprintftime.c, lib/fprintftime.h: New files.
91146
91147 2005-12-15  Simon Josefsson  <jas@extundo.com>
91148
91149         * modules/socklen (configure.ac): Fix M4 macro name, to align with
91150         new m4/socklen.m4.
91151
91152 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
91153
91154         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
91155         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
91156
91157 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
91158
91159         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
91160         * lib/argp-help.c (fill_in_uparams): Check if the constructed
91161         struct uparams is valid. Fall back to the default values if it is
91162         not.
91163
91164 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
91165
91166         * modules/argp (Files): Add argp-pin.c
91167         (Depends-on): dirname
91168         (lib_SOURCES): Add argp-pin.c
91169
91170 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
91171
91172         * m4/argp.m4:  Check if program_invocation_name and
91173         program_invocation_short_name are declared and define appropriate
91174         macros if they are not.
91175
91176 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
91177
91178         * lib/argp-help.c (__argp_base_name): New function
91179         (__argp_short_program_name): Rewrite using __argp_base_name
91180         * lib/argp-namefrob.h: Define program_invocation_name and
91181         program_invocation_short_name if requested
91182         (__argp_base_name): Add prototype
91183         * lib/argp-parse.c (argp_def): Use gettext wrappers
91184         (argp_default_parser): Use __argp_base_name
91185         * lib/argp-pin.c: New file. Defines program_invocation_name and
91186         program_invocation_short_name on systems that lack them.
91187
91188 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
91189
91190         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
91191         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
91192         porting problem reported by Georg Schwarz in
91193         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
91194
91195 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
91196
91197         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
91198         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
91199         porting problem reported by Georg Schwarz in
91200         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
91201
91202 2005-12-05  Bruno Haible  <bruno@clisp.org>
91203
91204         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
91205         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
91206         Reported by Mark Junker <mjscod@gmx.de>.
91207
91208 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
91209
91210         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
91211         Use implementation from Albert Chin, with some
91212         comments/corrections by Stepan Kasal and myself.
91213
91214 2005-12-02  Bruno Haible  <bruno@clisp.org>
91215
91216         * gnulib-tool (func_import): Accept GPLed build tool modules when
91217         --lgpl is given.
91218         * modules/csharpcomp-script: New file.
91219         * modules/csharpcomp: Depend on it.
91220         * modules/javacomp-script: New file.
91221         * modules/javacomp: Depend on it.
91222         Suggested by Simon Josefsson.
91223
91224 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
91225
91226         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
91227         statement, to work around an HP-UX 10.20 compiler bug reported by
91228         Peter O'Gorman.
91229
91230 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
91231
91232         * modules/savedir (Depends-on): Add openat.
91233
91234 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
91235
91236         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
91237         (uintmax_t) [defined uintmax_t]: Do not declare.
91238         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
91239         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
91240         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
91241         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
91242         sake of portability to weird hosts that C allows (though we don't
91243         know of any practical examples).
91244
91245         * lib/savedir.h (fdsavedir): New decl.
91246         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
91247         contains most of the former guts of savedir.
91248         (savedir): Use savedirstream.
91249         Include "openat.h".
91250
91251 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
91252
91253         * modules/obstack (Files): Add m4/ulonglong.m4.
91254         Problem reported by Davide Angelocola.
91255
91256 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
91257
91258         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
91259         coreutils no longer futzes with rounding modes.
91260
91261 2005-11-14  Jim Meyering  <jim@meyering.net>
91262
91263         * lib/mkstemp-safer.c: Include <config.h>, required for possible
91264         replacement of mkstemp.
91265
91266 2005-11-10  Simon Josefsson  <jas@extundo.com>
91267
91268         * lib/readline.c: Remove EOL.
91269
91270 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
91271
91272         * modules/gethrxtime (Depends-on): Add gettime.
91273
91274 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
91275
91276         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
91277         or gettimeofday; no longer needed.
91278
91279 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
91280
91281         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
91282         time business.
91283         (gethrxtime) [! (HAVE_NANOUPTIME
91284         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
91285         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
91286         our own approximation.
91287
91288 2005-11-08  Eric Blake  <ebb9@byu.net>
91289
91290         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
91291
91292 2005-11-08  Eric Blake  <ebb9@byu.net>
91293
91294         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
91295
91296 2005-11-04  Bruno Haible  <bruno@clisp.org>
91297
91298         * gnulib-tool: Implement --update mode.
91299
91300 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91301
91302         Fix porting problem reported by Theodoros V. Kalamatianos.
91303         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
91304         Don't assume that futimes failing means we must fail.
91305
91306 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91307
91308         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
91309         variables to suggest the intended function of the PATH_MAX check.
91310
91311 2005-10-30  Kean Johnston  <jkj@sco.com>
91312
91313         Trivial changes to support SCO systems.
91314         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
91315         as PATH_MAX.
91316         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
91317         where __ptr is null when no I/O is pending.
91318
91319 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
91320
91321         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
91322         leave errno alone.  Problem reported by Dmitry V. Levin.
91323
91324 2005-10-28  Simon Josefsson  <jas@extundo.com>
91325
91326         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
91327         Test more.
91328
91329         * tests/test-gc-md2.c, tests/test-md2.c: New files.
91330
91331         * modules/md2, modules/md2-tests: New files.
91332
91333 2005-10-28  Simon Josefsson  <jas@extundo.com>
91334
91335         * m4/inet_ntop.m4: More tests.
91336
91337         * m4/gc-md2.m4, md2.m4: New file.
91338
91339 2005-10-28  Simon Josefsson  <jas@extundo.com>
91340
91341         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
91342         "restrict" keywords, as per POSIX.  Protect the function
91343         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
91344         Don't use K&R prototypes.  Check the sprintf return values.
91345         Re-define EAFNOSUPPORT if not present.  Indent.
91346
91347         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
91348         suggested by Bruno Haible <bruno@clisp.org>.
91349
91350         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
91351
91352         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
91353
91354         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
91355         libgcrypt).
91356
91357         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
91358
91359         * lib/md2.h, lib/md2.c: New files.
91360
91361 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
91362
91363         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
91364         errno alone.  Problem reported by Frederic Jolliton.
91365
91366 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
91367
91368         * modules/verify (License): Change from GPL to LGPL.  This is a
91369         tiny module and there are apparently near-equivalents that are
91370         under the BSD license.
91371
91372 2005-10-24  Simon Josefsson  <jas@extundo.com>
91373
91374         * modules/sha1: Relicense to LGPL.
91375
91376 2005-10-24  Simon Josefsson  <jas@extundo.com>
91377
91378         * lib/md4.h: Shrink buffer size, now that we changed the type.
91379
91380 2005-10-23  Simon Josefsson  <jas@extundo.com>
91381
91382         * gnulib-tool (func_import): Fix --tests-base.
91383
91384 2005-10-22  Simon Josefsson  <jas@extundo.com>
91385
91386         * modules/arcfour (Depends-on): Need stdint.
91387
91388 2005-10-22  Simon Josefsson  <jas@extundo.com>
91389
91390         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
91391         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
91392
91393 2005-10-22  Simon Josefsson  <jas@extundo.com>
91394
91395         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
91396         suggested by Bruno Haible <bruno@clisp.org>.
91397
91398 2005-10-22  Simon Josefsson  <jas@extundo.com>
91399
91400         * lib/crc.h: Include stddef.h, for size_t.
91401
91402 2005-10-22  Simon Josefsson  <jas@extundo.com>
91403
91404         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
91405         arcfour_context struct (simplify test vector testing in GNU
91406         Shishi).
91407
91408 2005-10-21  Simon Josefsson  <jas@extundo.com>
91409
91410         * modules/des, modules/des-tests: New files.
91411
91412         * modules/gc-des, modules/gc-des-tests: New files.
91413
91414         * tests/test-des.c, tests/test-gc-des.c: New file.
91415
91416 2005-10-21  Simon Josefsson  <jas@extundo.com>
91417
91418         * modules/arctwo, modules/arctwo-tests: New files.
91419
91420         * tests/test-arctwo.c: New file.
91421
91422         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
91423
91424         * tests/test-gc-arctwo.c: New file.
91425
91426 2005-10-21  Simon Josefsson  <jas@extundo.com>
91427
91428         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
91429         Bruno Haible <bruno@clisp.org>.
91430
91431         * m4/gc-des.m4: New file.
91432
91433 2005-10-21  Simon Josefsson  <jas@extundo.com>
91434
91435         * m4/arctwo.m4: New file.
91436
91437         * m4/gc-arctwo.m4: New file.
91438
91439 2005-10-21  Simon Josefsson  <jas@extundo.com>
91440
91441         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
91442         block.
91443
91444 2005-10-21  Simon Josefsson  <jas@extundo.com>
91445
91446         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
91447         <bruno@clisp.org>.
91448
91449         * lib/hmac-sha1.c (hmac_sha1): Likewise.
91450
91451         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
91452         Bruno Haible <bruno@clisp.org>.
91453
91454         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
91455         <bruno@clisp.org>.
91456
91457 2005-10-21  Simon Josefsson  <jas@extundo.com>
91458
91459         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
91460
91461 2005-10-21  Simon Josefsson  <jas@extundo.com>
91462
91463         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
91464
91465 2005-10-21  Simon Josefsson  <jas@extundo.com>
91466
91467         * lib/des.h, lib/des.c: New files.
91468
91469         * lib/gc-gnulib.c: Support DES.c
91470
91471 2005-10-21  Simon Josefsson  <jas@extundo.com>
91472
91473         * lib/arctwo.h, lib/arctwo.c: New files.
91474
91475         * lib/gc-gnulib.c: Support ARCTWO.
91476
91477 2005-10-21  Simon Josefsson  <jas@extundo.com>
91478
91479         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
91480         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91481
91482 2005-10-21  Simon Josefsson  <jas@extundo.com>
91483
91484         * gnulib-tool (func_import, func_create_testdir): Define automake
91485         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
91486         Makefile.am snippet),
91487         suggested by Bruno Haible <bruno@clisp.org>.
91488
91489         * modules/gc (Makefile.am): Use it.
91490
91491 2005-10-21  Bruno Haible  <bruno@clisp.org>
91492
91493         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
91494         patch.
91495
91496 2005-10-19  Simon Josefsson  <jas@extundo.com>
91497
91498         * tests/test-gc-rijndael.c: New file.
91499
91500         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
91501
91502 2005-10-19  Simon Josefsson  <jas@extundo.com>
91503
91504         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
91505         interface too.
91506
91507 2005-10-19  Simon Josefsson  <jas@extundo.com>
91508
91509         * tests/test-gc-arcfour.c: New file.
91510
91511         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
91512
91513 2005-10-19  Simon Josefsson  <jas@extundo.com>
91514
91515         * modules/gc-md4, modules/gc-md4-tests: New file.
91516
91517         * tests/test-gc-md4.c: New file.
91518
91519 2005-10-19  Simon Josefsson  <jas@extundo.com>
91520
91521         * m4/gc-md4.m4: New file.
91522
91523 2005-10-19  Simon Josefsson  <jas@extundo.com>
91524
91525         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
91526         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
91527         <kasal@ucw.cz>.
91528
91529 2005-10-19  Simon Josefsson  <jas@extundo.com>
91530
91531         * m4/gc-arcfour.m4: New file.
91532
91533         * m4/gc-rijndael.m4: New file.
91534
91535 2005-10-19  Simon Josefsson  <jas@extundo.com>
91536
91537         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
91538
91539 2005-10-19  Simon Josefsson  <jas@extundo.com>
91540
91541         * lib/gc-gnulib.c: Support ARCFOUR.
91542
91543 2005-10-19  Simon Josefsson  <jas@extundo.com>
91544
91545         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
91546         support.
91547
91548         * lib/gc.h: Add ECB enum type.
91549
91550         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
91551
91552 2005-10-18  Simon Josefsson  <jas@extundo.com>
91553
91554         * tests/test-md5.c: New file.
91555
91556         * modules/md5-tests: New file.
91557
91558 2005-10-18  Simon Josefsson  <jas@extundo.com>
91559
91560         * tests/test-md4.c: New file.
91561
91562         * modules/md4, modules/md4-tests: New files.
91563
91564 2005-10-18  Simon Josefsson  <jas@extundo.com>
91565
91566         * m4/md4.m4: New file.
91567
91568 2005-10-18  Simon Josefsson  <jas@extundo.com>
91569
91570         * lib/md4.h, lib/md4.c: New files, based on md5.?.
91571
91572 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
91573
91574         * gnulib-tool (func_create_testdir): Omit the second check whether
91575         BUILT_SOURCES in nonempty.
91576
91577 2005-10-17  Simon Josefsson  <jas@extundo.com>
91578
91579         * tests/test-rijndael.c: New file.
91580
91581 2005-10-17  Simon Josefsson  <jas@extundo.com>
91582
91583         * modules/sha1: Depend on stdint instead of md5.
91584
91585         * modules/md5: Depend on stdint, remove uint32_t.
91586
91587 2005-10-17  Simon Josefsson  <jas@extundo.com>
91588
91589         * modules/gc-sha1-tests: New file.
91590
91591         * tests/test-gc-sha1.c: New file.
91592
91593 2005-10-17  Simon Josefsson  <jas@extundo.com>
91594
91595         * m4/md5.m4: Remove call to uint32_t.m4.
91596
91597 2005-10-17  Simon Josefsson  <jas@extundo.com>
91598
91599         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
91600
91601         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
91602         md5.h.
91603
91604         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
91605
91606         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
91607
91608 2005-10-17  Simon Josefsson  <jas@extundo.com>
91609
91610         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
91611
91612 2005-10-17  Simon Josefsson  <jas@extundo.com>
91613
91614         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
91615
91616 2005-10-17  Simon Josefsson  <jas@extundo.com>
91617
91618         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
91619
91620         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
91621
91622 2005-10-17  Bruno Haible  <bruno@clisp.org>
91623
91624         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
91625         that it can also be used in a test.
91626
91627 2005-10-16  Bruno Haible  <bruno@clisp.org>
91628
91629         * gnulib-tool (func_emit_tests_Makefile_am): Also define
91630         TESTS_ENVIRONMENT, so that individual tests can augment it.
91631
91632         * gnulib-tool (func_create_testdir): Use an intermediate target for
91633         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
91634         macros, like $(ALLOCA_H), which cannot be passed through the command
91635         line.
91636
91637 2005-10-15  Simon Josefsson  <jas@extundo.com>
91638
91639         * modules/rijndael-tests: New file.
91640
91641         * modules/rijndael: New file.
91642
91643 2005-10-15  Simon Josefsson  <jas@extundo.com>
91644
91645         * m4/rijndael.m4: New file.
91646
91647 2005-10-15  Simon Josefsson  <jas@extundo.com>
91648
91649         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
91650
91651         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
91652
91653 2005-10-14  Simon Josefsson  <jas@extundo.com>
91654
91655         * tests/test-arcfour.c: New file.
91656
91657         * modules/arcfour, modules/arcfour-tests: New files.
91658
91659 2005-10-14  Simon Josefsson  <jas@extundo.com>
91660
91661         * m4/arcfour.m4: New file.
91662
91663 2005-10-14  Simon Josefsson  <jas@extundo.com>
91664
91665         * lib/arcfour.h, lib/arcfour.c: New files.
91666
91667 2005-10-14  Roland McGrath  <roland@redhat.com>
91668
91669         Import from libc.  [BZ #1331]
91670         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
91671         macro argument.
91672         Reported by Matej Vela <vela@debian.org>.
91673
91674 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
91675
91676         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
91677         include <wchar.h>; no longer needed.
91678
91679 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
91680
91681         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
91682
91683 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
91684         and  Ulrich Drepper  <drepper@redhat.com>
91685
91686         Import from libc.
91687         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
91688         instead of inline stream orientation test and two separate
91689         function calls.  Pay no attention to USE_IN_LIBIO.
91690
91691 2005-10-13  Simon Josefsson  <jas@extundo.com>
91692
91693         * modules/gc-hmac-md5-tests: New file.
91694
91695         * tests/test-gc-hmac-sha1.c: New file.
91696
91697         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
91698
91699         * modules/gc-hmac-md5-tests: New file.
91700
91701         * tests/test-gc-md5.c: New file.
91702
91703         * modules/gc-md5-tests: New file.
91704
91705 2005-10-13  Simon Josefsson  <jas@extundo.com>
91706
91707         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
91708         Move memory allocation outside of loop.
91709
91710 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
91711
91712         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
91713         intermediate directory is in a read-only file system.  Problem
91714         reported by Eric Blake.
91715
91716 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
91717
91718         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
91719
91720 2005-10-12  Simon Josefsson  <jas@extundo.com>
91721
91722         * tests/test-hmac-sha1.c: New file.
91723
91724         * modules/hmac-sha1-tests: New file.
91725
91726         * modules/hmac-sha1: New file.
91727
91728 2005-10-12  Simon Josefsson  <jas@extundo.com>
91729
91730         * modules/gc-sha1: New file.
91731
91732 2005-10-12  Simon Josefsson  <jas@extundo.com>
91733
91734         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
91735
91736         * tests/test-gc-pbkdf2-sha1.c: New file.
91737
91738 2005-10-12  Simon Josefsson  <jas@extundo.com>
91739
91740         * modules/gc-md5, modules/gc-hmac-md5: New files.
91741
91742         * modules/gc (Files): Remove md5, memxor and hmac files.
91743
91744 2005-10-12  Simon Josefsson  <jas@extundo.com>
91745
91746         * m4/gc-pbkdf2-sha1.m4: New file.
91747
91748         * m4/gc-hmac-sha1.m4: New file.
91749
91750         * m4/gc-sha1: New file.
91751
91752         * m4/hmac-sha1.m4: New file.
91753
91754 2005-10-12  Simon Josefsson  <jas@extundo.com>
91755
91756         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
91757
91758         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
91759
91760 2005-10-12  Simon Josefsson  <jas@extundo.com>
91761
91762         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
91763         suggested by Bruno Haible <bruno@clisp.org>.
91764
91765 2005-10-12  Simon Josefsson  <jas@extundo.com>
91766
91767         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
91768
91769 2005-10-12  Simon Josefsson  <jas@extundo.com>
91770
91771         * lib/gc-pbkdf2-sha1.c: New file.
91772
91773         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
91774
91775 2005-10-12  Simon Josefsson  <jas@extundo.com>
91776
91777         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
91778
91779         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
91780
91781 2005-10-12  Simon Josefsson  <jas@extundo.com>
91782
91783         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
91784         GC_USE_HMAC_MD5, respectively.
91785
91786         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
91787         (gc_md5): Fix typo.
91788
91789         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
91790
91791         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
91792
91793         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
91794
91795 2005-10-12  Bruno Haible  <bruno@clisp.org>
91796
91797         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
91798         Reported by Stepan Kasal <kasal@ucw.cz>.
91799
91800 2005-10-11  Simon Josefsson  <jas@extundo.com>
91801
91802         * tests/test-crc.c: New file.
91803
91804         * modules/crc, modules/crc-tests: New files.
91805
91806 2005-10-11  Simon Josefsson  <jas@extundo.com>
91807
91808         * m4/crc.m4: New file.
91809
91810 2005-10-11  Simon Josefsson  <jas@extundo.com>
91811
91812         * lib/gc.h: Add gc_hash and gc_hash_buffer.
91813
91814         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
91815
91816         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
91817
91818 2005-10-11  Simon Josefsson  <jas@extundo.com>
91819
91820         * lib/crc.h, lib/crc.c: New files.
91821
91822         * lib/gc.h (gc_hash_buffer): Add doc.
91823
91824 2005-10-11  Bruno Haible  <bruno@clisp.org>
91825
91826         * modules/c-strcasestr: New file.
91827         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
91828
91829 2005-10-11  Bruno Haible  <bruno@clisp.org>
91830
91831         * modules/c-strcase: New file.
91832         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
91833
91834 2005-10-11  Bruno Haible  <bruno@clisp.org>
91835
91836         * lib/strcasecmp.c: Include limits.h.
91837         (strcasecmp): Avoid integer overflow on exotic platforms.
91838         * lib/strncasecmp.c: Include limits.h.
91839         (strncasecmp): Avoid integer overflow on exotic platforms.
91840         Reported by Paul Eggert.
91841
91842 2005-10-11  Bruno Haible  <bruno@clisp.org>
91843
91844         * lib/c-strcasestr.h: New file, from GNU gettext.
91845         * lib/c-strcasestr.c: New file, from GNU gettext.
91846
91847 2005-10-11  Bruno Haible  <bruno@clisp.org>
91848
91849         * lib/c-strcase.h: New file, from GNU gettext.
91850         * lib/c-strcasecmp.c: New file, from GNU gettext.
91851         * lib/c-strncasecmp.c: New file, from GNU gettext.
91852
91853 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
91854
91855         * modules/mempcpy (License): GPL -> LGPL.
91856         * modules/strchrnul (License): Likewise.
91857         * modules/sysexits (License): Likewise.
91858
91859 2005-10-08  Simon Josefsson  <jas@extundo.com>
91860
91861         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
91862
91863 2005-10-07  Simon Josefsson  <jas@extundo.com>
91864
91865         * m4/memxor.m4: Remove gl_C_RESTRICT call.
91866
91867 2005-10-06  Simon Josefsson  <jas@extundo.com>
91868
91869         * tests/test-hmac-md5.c: New file.
91870
91871         * modules/hmac-md5-tests: New file.
91872
91873         * modules/hmac-md5: New file.
91874
91875 2005-10-06  Simon Josefsson  <jas@extundo.com>
91876
91877         * m4/hmac-md5.m4: New file.
91878
91879         * m4/memxor.m4: Require gl_C_RESTRICT.
91880
91881 2005-10-06  Simon Josefsson  <jas@extundo.com>
91882
91883         * lib/memxor.c (memxor): Avoid casts and warnings.
91884
91885 2005-10-06  Simon Josefsson  <jas@extundo.com>
91886
91887         * lib/hmac-md5.c: New file.
91888
91889         * lib/hmac.h: New file.
91890
91891 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
91892
91893         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
91894         promotes to int, not unsigned int, to catch the AIX 5.3
91895         compiler bug.
91896
91897 2005-10-05  Simon Josefsson  <jas@extundo.com>
91898
91899         * modules/memxor: New file.
91900
91901         * modules/iconv (Files): Move config.rpath to havelib, it is used
91902         there.
91903
91904         * modules/havelib (Files): Add config.rpath.
91905
91906 2005-10-05  Simon Josefsson  <jas@extundo.com>
91907
91908         * m4/memxor.m4: New file.
91909
91910 2005-10-05  Simon Josefsson  <jas@extundo.com>
91911
91912         * lib/memxor.c (memxor): Fix compiler error.
91913
91914         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
91915         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
91916
91917         * lib/memxor.h, lib/memxor.c: New files.
91918
91919         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
91920         we assume all systems have it, suggested by Jim Meyering
91921         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
91922         any systems lack sys/socket.h; mingw32 is known to lack it, but we
91923         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
91924         same reasons.
91925
91926 2005-10-05  Simon Josefsson  <jas@extundo.com>
91927
91928         * config/srclist.txt: Add glibc bug 1423 for md5.h.
91929
91930 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
91931
91932         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
91933         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
91934         needed, since the source code now assumes these .h files.
91935
91936 2005-10-05  Derek Price  <derek@ximbiot.com>
91937
91938         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
91939
91940 2005-10-05  Bruno Haible  <bruno@clisp.org>
91941
91942         * modules/stdint (License): Change to LGPL.
91943
91944 2005-10-04  Simon Josefsson  <jas@extundo.com>
91945
91946         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
91947         D. Baushke" <mdb@gnu.org>.
91948
91949 2005-10-04  Bruno Haible  <bruno@clisp.org>
91950
91951         * lib/verify.h (verify_true): Provide alternative definition for C++.
91952
91953 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
91954
91955         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
91956         (SSIZE_MAX): New macro, if not already defined.
91957         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
91958         than 2 GiB.
91959
91960 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
91961
91962         Sync from coreutils.
91963         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
91964         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
91965         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
91966         ULLONG_MAX doesn't work with 2.7.2.1.
91967
91968 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
91969
91970         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
91971         From Ben Pfaff.
91972
91973         * modules/exclude (Depends-on): Depend on verify.
91974         * modules/strtoimax (Depends-on): Likewise.
91975         * modules/utimecmp (Depends-on): Likewise.
91976
91977 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
91978
91979         * lib/exclude.c: Include verify.h.
91980         (verify): Remove.  All callers changed to use verify.h's version.
91981         * lib/strtoimax.c: Likewise.
91982         * lib/utimecmp.c: Likewis.e
91983
91984         Sync from coreutils.
91985         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
91986         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
91987         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
91988         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
91989         bother returning ENOSYS if settimeofday or stime fails; just let
91990         them return whatever errno they want to return.
91991         * lib/utimens.c: Include unistd.h, for dup2.
91992         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
91993         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
91994
91995 2005-10-02  Jim Meyering  <jim@meyering.net>
91996
91997         Sync from coreutils.
91998         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
91999         from glibc-2.2.5 that fails for read-only files.
92000
92001 2005-10-02  Jim Meyering  <jim@meyering.net>
92002
92003         Sync from coreutils.
92004         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
92005         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
92006         `#if HAVE_CONFIG_H'.
92007         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
92008         Remove AT_FDCWD test.
92009         Do not consume the fd unless successful.
92010         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
92011         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
92012         block, so that we don't even try to compile it if settimeofday is
92013         available.  This works around a compilation failure on OSF1 V5.1,
92014         due to stime requiring a `long int*' while tv_sec is `int'.
92015
92016 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
92017
92018         Sync from coreutils.
92019         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
92020         against `yes', rather than just testing for nonempty.
92021
92022 2005-10-01  Simon Josefsson  <jas@extundo.com>
92023
92024         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
92025         and Darwin.
92026
92027         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
92028         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
92029         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
92030         freeaddrinfo and gai_strerror are declared by the POSIX headers.
92031         Check if struct addrinfo is declared.
92032
92033 2005-10-01  Simon Josefsson  <jas@extundo.com>
92034
92035         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
92036         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
92037         AI_* and EAI_* definitions.  Protect function declarations.
92038
92039 2005-10-01  Jim Meyering  <jim@meyering.net>
92040
92041         Sync from coreutils.
92042
92043         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
92044         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
92045         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
92046         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
92047         in the inet and nsl libraries.  Required on Solaris 5.7.
92048
92049 2005-10-01  Jim Meyering  <jim@meyering.net>
92050
92051         Sync from coreutils.
92052         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
92053         in the inet and nsl libraries.  Required on Solaris 5.7.
92054
92055 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
92056
92057         * lib/getdelim.c (getdelim): Remove unused variables.
92058
92059 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
92060
92061         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
92062         so that the code works even with ancient cpp.  Portability problem
92063         with GCC 2.7.2.1 reported by Thomas M.Ott.
92064
92065 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
92066
92067         * modules/regex (Depends-on): Add strcase.
92068
92069         * modules/gethostname (Licence): Change from GPL to LGPL, since
92070         gethostname.c is a trivial implementation of a standard library
92071         function.
92072         * modules/poll (License): Change from GPL to LGPL, since it's
92073         derived from LGPL code.
92074
92075 2005-09-27  Jim Meyering  <jim@meyering.net>
92076
92077         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
92078         HAVE_CONFIG_H.
92079
92080         * lib/intprops.h (signed_type_or_expr__): Define.
92081         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
92082         for unsigned types.
92083
92084 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
92085
92086         * lib/verify.h (verify_expr): Remove, replacing with:
92087         (verify_true): New macro that returns true instead of void.
92088         (verify_type__): Remove.
92089         (verify): Use verify_true rather than verify_type__.
92090
92091 2005-09-26  Bruno Haible  <bruno@clisp.org>
92092
92093         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
92094         is necessary.
92095         (lib_SOURCES): Remove mbchar.c.
92096         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
92097         (Files): Add m4/mbrtowc.m4.
92098         * modules/mbiter: Likewise.
92099         * modules/mbuiter: Likewise.
92100
92101 2005-09-26  Bruno Haible  <bruno@clisp.org>
92102
92103         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
92104         compile mbchar.c if they are not both present.
92105         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
92106         * m4/mbiter.m4 (gl_MBITER): Likewise.
92107         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
92108         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
92109         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
92110
92111 2005-09-25  Jim Meyering  <jim@meyering.net>
92112
92113         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
92114         also uses socklen_t.
92115
92116 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
92117
92118         * lib/utimens.c (ENOSYS): Define if not already defined.
92119         (futimens): Support having a null PATH if the file descriptor
92120         is nonnegative.
92121
92122         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
92123         Remove.
92124         (__attribute): Define to empty unless GCC 3.1 or later.
92125         This works around a core dump on OpenBSD 3.4, which has GCC
92126         2.95.3, which dumps core when given __attribute__(()).  It also
92127         simplifies other tests, since we really don't want to bother with
92128         worrying about which ancient version of GCC supported what.
92129         Original problem reported by Yoann Vandoorselaere, with part of
92130         the fix suggested by Derek Price.
92131
92132 2005-09-24  Jim Meyering  <jim@meyering.net>
92133
92134         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
92135         so we can once again use a positive bitfield width of 1 -- now we
92136         don't have to explain why we were using a bitfield width of 2.
92137
92138 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
92139
92140         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
92141         and similarly for the other external symbols.  Problem reported
92142         by James Gallager.
92143
92144         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
92145         bug reported by Jim Meyering.
92146
92147         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
92148         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
92149         not needed, since socklen is a prerequisite module.
92150
92151 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
92152
92153         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
92154         Problem reported by Eric Blake.
92155         (getaddrinfo): Initialize se so that it's not garbage.
92156         Redo internal storage allocation so that it doesn't make unportable
92157         assumptions about alignment.
92158         Fix a memory leak.
92159
92160         * lib/utimens.c (futimens): Use futimesat if available.
92161         Prefer it to futimes since it doesn't have the futimes bug.
92162
92163         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
92164         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
92165         Instead, declare a function that returns a pointer to an array,
92166         and use verify_type__ to declare the size of the array.
92167         Problem and germ of a solution reported by Bruno Haible.
92168         (verify_type__): Use 2, not 1, for bitfield size, to avoid
92169         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
92170
92171 2005-09-23  Jim Meyering  <jim@meyering.net>
92172
92173         Sync from coreutils.
92174         Correct build failure (socklen_t not defined) on at least
92175         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
92176         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
92177
92178 2005-09-23  Jim Meyering  <jim@meyering.net>
92179
92180         * modules/getaddrinfo (Depends-on): Add socklen.
92181
92182 2005-09-23  Bruno Haible  <bruno@clisp.org>
92183
92184         * tests/test-verify.c: New file.
92185
92186 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
92187
92188         Sync from coreutils.
92189
92190         * modules/argmatch (Depends-on): Add verify.
92191         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
92192         unistd-safer.
92193         * modules/save-cwd (Depends-on): Likewise.
92194
92195         * modules/openat (Files): Add lib/openat-die.c.
92196         (Depends-on): Remove error, exitfail.
92197         Add dirname.
92198
92199         * modules/verify: New file.
92200         * MODULES.html.sh (Diagnostics <assert.h>): New section,
92201         with "verify" module.
92202
92203 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
92204
92205         Sync from coreutils.
92206
92207         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
92208         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
92209         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
92210         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
92211         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
92212         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
92213         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
92214         Don't bother checking for string.h, stdlib.h, unistd.h.
92215         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
92216         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
92217         module's job.
92218         * m4/jm-macros.m4 (gl_MACROS): Likewise.
92219         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
92220
92221         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
92222         (gl_GETDATE): Use it.
92223
92224         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
92225
92226 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
92227
92228         Sync from coreutils.
92229
92230         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
92231         stat-time.h.
92232         * lib/argmatch.h: Include verify.h
92233         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
92234         (ARGMATCH_ASSERT): Remove; unused.
92235         * lib/canonicalize.c: Assume STDC_HEADERS.
92236         * lib/exclude.c: Include "strcase.h".
92237         * lib/regex_internal.h [!defined _LIBC]: Likewise.
92238         * lib/getusershell.c: Include stdio--.h rather than stdio.h
92239         and stdio-safer.h.
92240         (getusershell): Call fopen, not fopen_safer.
92241         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
92242         Do not include unistd-safer.h.
92243         (save_cwd): Don't call fd_safer; no longer needed
92244         now that we include fcntl--.h.
92245
92246         * lib/getdate.y (relative_time): New type.
92247         (RELATIVE_TIME_0): New constant.
92248         (parser_control): Use relative_time instead of doing it ourselves.
92249         (%union): Add new relative_time rel member.
92250         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
92251         Now typeless.
92252         (relunit, relunit_snumber): Now of type rel.
92253         (zone, rel, relunit, get_date): Adjust to above changes.
92254
92255         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
92256         Do not include unistd-safer.h.
92257         (getloadavg): Don't call fd_safer; no longer needed
92258         now that we include fcntl--.h.
92259
92260         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
92261         (make_dir_parents): Treat ENOSYS like EEXIST.
92262
92263         Improve quality of diagnostics on restore_cwd failure.
92264         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
92265         (make_dir_parents): Last arg is now int * (for errno), not bool *.
92266         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
92267         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
92268         each time through the loop.  Do not diagnose restore_cwd failure;
92269         that is the caller's job (and perhaps the caller does not care).
92270
92271         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
92272         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
92273         If the file already exists but is not a directory, don't bother
92274         to try to make its parents.
92275         Close potential file descriptor leak if we can't chdir("/") (!).
92276         Don't always return true if chdir($PWD) fails; return true only
92277         if the requested action was done successfully (except for the
92278         chdir($PWD)).
92279         Don't log final directory unless we actually made it.
92280         Refactor to avoid duplicate code to fix up permissions.
92281         Don't attempt to fix up parent permissions if chdir($PWD) fails.
92282
92283         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
92284         to make it a bit faster and (I hope) clearer.
92285         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
92286         Fix bug in formats like %2N.
92287
92288         * lib/verify.h: New file.
92289
92290 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
92291
92292         Sync from coreutils.
92293         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
92294
92295 2005-09-22  Jim Meyering  <jim@meyering.net>
92296
92297         Sync from coreutils.
92298
92299         * m4/lstat.m4 (gl_FUNC_LSTAT):
92300         Use AC_LIBSOURCES to require lstat.c and lstat.h.
92301         Remove obsolete comment.
92302         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
92303         * m4/xstrtod.m4: Likewise.
92304
92305         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
92306
92307 2005-09-22  Jim Meyering  <jim@meyering.net>
92308
92309         Sync from coreutils.
92310
92311         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
92312
92313         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
92314         the .tm_year member, since otherwise gcc-4.0 would now warn about
92315         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
92316
92317         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
92318         order to avoid an unsuppressible warning from gcc on 64-bit systems.
92319
92320         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
92321         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
92322         when run in a time zone for which daylight savings time is in effect
92323         for the starting date.
92324
92325         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
92326         stop us from restricting permissions of just-created absolute-named
92327         directories.
92328         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
92329         to restore initial working directory.
92330         * lib/mkdir-p.c (make_dir_parents): New parameter:
92331         different_working_dir, to tell caller if/when we change the working
92332         directory and are unable to return to the initial one.
92333         * lib/mkdir-p.h (make_dir_parents): Update prototype.
92334         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
92335         `return false'.  This fixes a bug introduced on 2004-07-30.
92336
92337         * lib/openat.c (fdopendir): Be sure to close the supplied
92338         file descriptor before returning.  This makes our replacement
92339         implementation a little closer to Solaris's, where fdopendir
92340         ties the file descriptor to the returned DIR* pointer.
92341         * lib/openat.c (unlinkat): New function.
92342         * lib/openat.h (unlinkat): Add prototype.
92343         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
92344         (openat_restore_fail): Rename from openat_restore_die.
92345         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
92346
92347         Provide an alternative to exiting immediately upon save_cwd or
92348         restore_cwd failure.  Now, an application can arrange e.g.,
92349         to perform a longjump in that case.
92350         * lib/openat.c: Include dirname.h.
92351         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
92352         (rpl_openat, fdopendir, fstatat): Call openat_save_die
92353         and openat_restore_die rather than calling error directly.
92354         Don't include "error.h" or "exitfail.h"; they're no longer needed.
92355
92356         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
92357         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
92358         define.
92359
92360         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
92361         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
92362                             int utc, int nanoseconds);
92363         Background:
92364         date should not have to allocate a megabyte of virtual memory to
92365         handle a format argument like +%1048575T.  When implemented with
92366         strftime, it must allocate such a buffer, use strftime to fill it
92367         in, print it, then free it.
92368         With fprintftime, it simply prints everything and exits.
92369         With no need for memory allocation, that's one fewer way to fail.
92370         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
92371         optional field width, not before, so we accept %9:z, not %:9z.
92372         (my_strftime): Be sure to use L_('x') for literals.
92373
92374         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
92375         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
92376         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
92377         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
92378         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
92379         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
92380         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
92381         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
92382         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
92383         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
92384         * lib/xgethostname.c, lib/xreadlink.c:
92385         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
92386
92387         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
92388         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
92389         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
92390         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
92391         and don't include <sys/file.h>).
92392
92393 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
92394
92395         Sync from coreutils.
92396
92397         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
92398         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
92399         [!LDAV_DONE]: Avoid unused variable warning.
92400
92401 2005-09-21  Bruno Haible  <bruno@clisp.org>
92402
92403         * lib/unicodeio.h (unicode_to_mb): New declaration.
92404
92405 2005-09-20  Derek Price  <derek@ximbiot.com>
92406
92407         * lib/getaddrinfo.c: Don't include <netdb.h> included from
92408         getaddrinfo.h.
92409
92410 2005-09-20  Bruno Haible  <bruno@clisp.org>
92411
92412         * gnulib-tool: Remove trailing slashes from the values specified for
92413         --source-base, --m4-base, --tests-base, --aux-dir.
92414         Suggested by Simon Josefsson <jas@extundo.com>.
92415
92416 2005-09-20  Bruno Haible  <bruno@clisp.org>
92417
92418         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
92419         func_modules_to_filelist, func_import, func_create_testdir): Make all
92420         sorting results locale-independent, so that gnulib-cache.m4 doesn't
92421         change when gnulib-tool is invoked in a different locale.
92422
92423 2005-09-19  Simon Josefsson  <jas@extundo.com>
92424
92425         * m4/socklen.m4: Fix typo.
92426
92427 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92428
92429         Use a consistent style for including <config.h>.
92430         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
92431         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
92432         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
92433         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
92434         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
92435         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
92436         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
92437         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
92438         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
92439         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
92440         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
92441         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
92442         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
92443         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
92444         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
92445         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
92446         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
92447         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
92448         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
92449         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
92450         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
92451         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
92452         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
92453         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
92454         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
92455         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
92456         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
92457         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
92458         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
92459         lib/xstrtoumax.c, lib/yesno.c:
92460         Standardize inclusion of config.h.
92461         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
92462         lib/inttostr.h:  Removed inclusion of config.h from header files.
92463         * lib/inttostr.c:  Adjusted in-tree users.
92464         * lib/timespec.h: Remove superfluous warning to include config.h.
92465         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
92466         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
92467         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
92468         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
92469         config.h with HAVE_CONFIG_H.
92470
92471 2005-09-19  Jim Meyering  <jim@meyering.net>
92472
92473         * modules/pathmax (License): Change to LGPL.
92474
92475 2005-09-19  Derek Price  <derek@ximbiot.com>
92476
92477         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
92478
92479 2005-09-19  Bruno Haible  <bruno@clisp.org>
92480
92481         * gnulib-tool (import): Provide default for --tests-base.
92482
92483 2005-09-19  Bruno Haible  <bruno@clisp.org>
92484
92485         * doc/quote.texi: New file, extracted from gnulib.texi.
92486         * doc/ctime.texi: New file, extracted from gnulib.texi.
92487         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
92488         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
92489         * doc/gnulib.texi: Include them.
92490
92491 2005-09-18  Bruno Haible  <bruno@clisp.org>
92492
92493         Portability fix.
92494         * gnulib-tool (func_readlink): New function.
92495         (func_ln_if_changed): Use it.
92496
92497 2005-09-18  Bruno Haible  <bruno@clisp.org>
92498
92499         * gnulib-tool: Support --with-tests also with --import.
92500         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
92501         (func_import): Use variables $testsbase and $inctests. Emit a
92502         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
92503         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
92504         SUBDIRS += $testsdir.
92505         (func_create_testdir): Update.
92506
92507 2005-09-18  Bruno Haible  <bruno@clisp.org>
92508
92509         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
92510         instead of $dry_run.
92511         (func_cp_if_changed, func_mv_if_changed): Remove functions.
92512         (func_ln_if_changed): Don't handle dry-run here.
92513         (func_import): In dry-run mode, detect more precisely which actions
92514         would be performed, and don't use "...ing" verbs.
92515
92516 2005-09-18  Bruno Haible  <bruno@clisp.org>
92517
92518         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
92519         (func_import): Use join on two temporary files instead of three nested
92520         loops, in order to determine which files are new or old.
92521
92522 2005-09-18  Bruno Haible  <bruno@clisp.org>
92523
92524         * gnulib-tool (func_import): Comment out code that spits out the
92525         new files with --dry-run.
92526
92527 2005-09-18  Bruno Haible  <bruno@clisp.org>
92528
92529         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
92530
92531 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
92532
92533         * lib/stat-time.h: New file.
92534         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
92535         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
92536         in a different way.
92537         (timespec_cmp): New function.
92538         * lib/utimecmp.c: Include stat-time.h.
92539         (SYSCALL_RESOLUTION): Depend on whether various struct stat
92540         members exist, not on the obsolescent ST_MTIM_NSEC.
92541         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
92542
92543 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
92544
92545         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
92546
92547 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
92548
92549         * MODULES.html.sh (File system functions): Add stat-time.
92550         * modules/stat-time: New file.
92551         * modules/timespec (Files): Remove m4/st_mtim.m4; this
92552         is now done in a different way, by the stat-time module.
92553         * modules/utimecmp (Depends-on): Add stat-time.
92554
92555 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
92556
92557         * m4/st_mtim.m4: Remove.  Superseded by...
92558         * m4/stat-time.m4: New file.
92559         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
92560         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
92561
92562 2005-09-15  Derek Price  <derek@ximbiot.com>
92563
92564         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
92565
92566 2005-09-15  Derek Price  <derek@ximbiot.com>
92567
92568         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
92569         * lib/regex_internal.c: Ditto, using this...
92570         (__GNUC_PREREQ): ...new macro.
92571         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
92572         using...
92573         (__GNUC_PREREQ): ...this new macro.
92574
92575         * lib/strstr.h: Include string.h. Define strstr as a macro here.
92576
92577 2005-09-15  Derek Price  <derek@ximbiot.com>
92578             Paul Eggert  <eggert@cs.ucla.edu>
92579
92580         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
92581         changes, consolidating in...
92582         * lib/regex_internal.h: ...this file.
92583
92584 2005-09-13  Jim Meyering  <jim@meyering.net>
92585
92586         * lib/canon-host.c: Filter through gnu indent and reword comments
92587         slightly.
92588         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
92589
92590 2005-09-13  Derek Price  <derek@ximbiot.com>
92591
92592         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
92593         failure.
92594         Reported by Jim Meyering  <jim@meyering.net>.
92595
92596 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
92597
92598         * lib/base64.c: Typo.
92599         (base64_encode): Put b64str in initialized data section.
92600
92601 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
92602
92603         Merge glibc and coreutils changes into gnulib, plus a few
92604         extra fixes.
92605         * lib/md5.c: Use #error rather than a string.
92606         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
92607         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
92608         (__attribute__): Define to empty for non recent-GCC.
92609         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
92610         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
92611         Renamed from their non-__ counterparts, with new macros replacing
92612         them if not _LIBC.  Add __THROW attribute.
92613         (rol): Remove.
92614         (struct md5_ctx): Align buffer if using GCC.
92615         * lib/sha1.h (struct sha1_ctx): Likewise.
92616         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
92617         The old name was backwards.
92618         (NOTSWAP): Remove; not used.
92619         (rol): New macro, moved here from md5.h.
92620         (sha1_process_block): Remove a FIXME that doesn't make sense.
92621
92622 2005-09-12  Derek Price  <derek@ximbiot.com>
92623
92624         Return usable errors from canon-host.
92625         * lib/canon-host.h: New file.
92626         * lib/canon-host.c (canon_host): Wrap...
92627         (canon_host_r): ...this new function, which now relies exclusively on
92628         getaddrinfo.
92629         (ch_strerror): New function.
92630         (last_cherror): New global.
92631         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
92632         interface.
92633         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
92634         void *.
92635         (freeaddrinfo): Free ai->ai_canonname when set.
92636
92637 2005-09-12  Derek Price  <derek@ximbiot.com>
92638
92639         Make canon-host require getaddrinfo.
92640         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
92641         AC_LIBSOURCE canon-host.h.  Call...
92642         (gl_PREREQ_CANON_HOST): ...this new function, which requires
92643         gl_GETADDRINFO.
92644         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
92645
92646 2005-09-12  Derek Price  <derek@ximbiot.com>
92647
92648         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
92649         LGPL.
92650         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
92651
92652 2005-09-12  Derek Price  <derek@ximbiot.com>
92653
92654         * lib/gai_strerror.c: Include config.h when available.  Include
92655         getaddrinfo.h before other headers to test interface.
92656         Reported by Larry Jones <lawrence.jones@ugs.com>.
92657
92658 2005-09-12  Derek Price  <derek@ximbiot.com>
92659             Paul Eggert  <eggert@cs.ucla.edu>
92660
92661         * modules/glob (Files): Add glob-libc.h.
92662
92663 2005-09-12  Derek Price  <derek@ximbiot.com>
92664             Paul Eggert  <eggert@cs.ucla.edu>
92665
92666         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
92667         glob_.h, glob-libc.h.
92668         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
92669
92670 2005-09-12  Derek Price  <derek@ximbiot.com>
92671             Paul Eggert  <eggert@cs.ucla.edu>
92672
92673         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
92674         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
92675         protecting things that should be done only in gnulib contexts.
92676         * lib/glob_.h: New file, containing only the glob things needed for
92677         gnulib.
92678         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
92679         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
92680         (glob, globfree, glob_pattern_p): Now defined simply in terms of
92681         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
92682         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
92683         and to respect the namespace rules better.
92684
92685 2005-09-08  Simon Josefsson  <jas@extundo.com>
92686
92687         * modules/socklen: New file.
92688
92689 2005-09-08  Simon Josefsson  <jas@extundo.com>
92690
92691         * m4/socklen.m4: New file.
92692
92693 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
92694
92695         * modules/utimens (Files): Add m4/utimbuf.m4, since
92696         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
92697         Reported by Sergey Poznyakoff.
92698
92699 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
92700
92701         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
92702         definitions, since that's the preferred style in glibc.
92703         Fix a minor spacing issue, and update copyright notice to match
92704         glibc's.
92705
92706 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
92707
92708         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
92709
92710 2005-09-06  Simon Josefsson  <jas@extundo.com>
92711
92712         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
92713         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
92714
92715 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
92716
92717         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
92718         warning.
92719
92720 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
92721
92722         * config/srclist.txt: Add glibc bug 1302.
92723
92724 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
92725
92726         Change bitset word type from unsigned int to unsigned long int,
92727         as this has better performance on typical 64-bit hosts.
92728         Port bitset code to hosts with unusual word sizes.
92729         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
92730         (build_collating_symbol):
92731         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
92732         argument is a bitset.  This is merely a style issue, but it makes
92733         it clearer that an entire array is expected.
92734         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
92735         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
92736         Port to the case where bitset_word is not the same as unsigned int.
92737         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
92738         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
92739         Likewise.
92740         * lib/regexec.c (check_dst_limits_calc_pos_1,
92741         check_subexp_matching_top):
92742         (build_trtable, group_nodes_into_DFAstates):
92743         Likewise.
92744         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
92745         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
92746         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
92747         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
92748         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
92749         * lib/regcomp.c (optimize_subexps, lower_subexp):
92750         Work even if bitset_word has holes in its bitwise representation.
92751         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
92752         * lib/regexec.c (check_dst_limits_calc_pos_1,
92753         check_subexp_matching_top):
92754         Likewise.
92755         * lib/regex_internal.c (re_string_reconstruct):
92756         Don't assume UCHAR_MAX == 255.
92757         * lib/regex_internal.h (bitset_set_all): Likewise.
92758         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
92759         All uses changed.
92760         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
92761         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
92762         All uses changed.
92763         (BITSET_WORD_MAX): New macro.
92764         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
92765         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
92766         (bitset_empty, bitset_copy):
92767         Prefer sizeof (bitset) to multiplying it out ourselves.
92768         (bitset_not_merge): Remove; unused.
92769         (bitset_contain): Return bool, not unsigned int with one bit on.
92770         All callers changed.
92771         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
92772         alignment than re_node_set; do this by defining a new internal
92773         type struct dests_alloc and using it to allocate memory.
92774
92775 2005-09-05  Bruno Haible  <bruno@clisp.org>
92776
92777         * gnulib-tool (func_import): Fix comparison in handling of symbolic
92778         links.
92779
92780 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
92781
92782         * modules/size_max (Makefile.am): Add size_max.h
92783
92784 2005-09-04  Derek Price  <derek@ximbiot.com>
92785
92786         * gnulib-tool (func_import): Fix reversed $symbolic logic.
92787
92788 2005-09-03  Simon Josefsson  <jas@extundo.com>
92789
92790         * gnulib-tool: Fix typo.
92791
92792 2005-09-03  Simon Josefsson  <jas@extundo.com>
92793
92794         * config/srclist.txt: Add glibc bug 1293.
92795
92796 2005-09-03  Derek Price  <derek@ximbiot.com>
92797
92798         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
92799         From Larry Jones <lawrence.jones@ugs.com>.
92800
92801 2005-09-02  Simon Josefsson  <jas@extundo.com>
92802
92803         * modules/socklen: New file.
92804
92805 2005-09-02  Simon Josefsson  <jas@extundo.com>
92806
92807         * modules/havelib: New module.
92808
92809         * modules/gettext, modules/iconv, modules/lock, modules/readline:
92810         Use havelib.
92811
92812 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
92813
92814         Check for arithmetic overflow when calculating sizes, to prevent
92815         some buffer-overflow issues.  These patches are conservative, in the
92816         sense that when I couldn't determine whether an overflow was possible,
92817         I inserted a run-time check.
92818         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
92819         macros.
92820         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
92821         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
92822         (re_xnrealloc, re_x2nrealloc): New inline functions.
92823         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
92824         parse_bracket_exp):
92825         (build_equiv_class, build_charclass): Check for arithmetic overflow
92826         in size expression calculations.
92827         * lib/regex_internal.c (re_string_realloc_buffers):
92828         (build_wcs_upper_buffer, re_node_set_add_intersect):
92829         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
92830         (re_dfa_add_node, register_state): Likewise.
92831         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
92832         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
92833         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
92834         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
92835
92836 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
92837
92838         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
92839         m4/ulonglong.m4.  Problem reported by Martin Lambers.
92840
92841 2005-09-02  Bruno Haible  <bruno@clisp.org>
92842
92843         Support for lib vs. lib64 distinction on biarch platforms.
92844         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
92845         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
92846         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
92847
92848 2005-09-02  Bruno Haible  <bruno@clisp.org>
92849
92850         * gnulib-tool (import): In the other first-use case, provide defaults
92851         as well.
92852
92853 2005-09-02  Bruno Haible  <bruno@clisp.org>
92854
92855         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
92856         patches not yet found in the latest gettext release.
92857
92858 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
92859
92860         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
92861         to avoid a collision with bits/local_lim.h in glibc.
92862         All uses changed.  Problem reported by Dmitry V. Levin in
92863         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
92864
92865         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
92866         bugs in int versus size_t comparisons.
92867         (re_string_context_at): Fix bug where the code assumed that
92868         Idx is signed.
92869
92870         Use bool where appropriate.
92871         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
92872         All callers changed.
92873         (calc_eclosure_iter): Likewise, for ROOT arg.
92874         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
92875         (build_charclass_op): Likewise, for NON_MATCH arg.
92876         * lib/regex_internal.c (re_string_allocate, re_string_construct):
92877         (re_string_construct_common): Likewise, for ICASE arg.
92878         * lib/regexec.c (re_search_2_stub, re_search_stub):
92879         Likewise, for RET_LEN arg.
92880         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
92881         (set_regs): Likewise, for FL_BACKTRACK arg.
92882         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
92883         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
92884         (calc_eclosure_iter, parse_bracket_exp):
92885         Use bool for internal variables that are booleans.
92886         * lib/regexec.c (re_search_internal, check_matching,
92887         proceed_next_node):
92888         (set_regs, build_sifted_states, sift_states_bkref):
92889         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
92890         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
92891         (find_collation_sequence_value):
92892         Likewise.
92893         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
92894         (re_node_set_compare):
92895         Return bool, not int. All callers changed.
92896         * lib/regexec.c (check_halt_node_context, check_dst_limits):
92897         (build_trtable, check_node_accept): Likewise.
92898         * lib/regex_internal.h: Include stdbool.h.
92899
92900         Fix bugs uncovered when converting to bool.
92901         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
92902         failure instead of charging ahead blindly.
92903         * lib/regex_internal.c (register_state): Likewise.
92904         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
92905         for freeing internal storage.
92906         (group_nodes_into_DFA_states): Use unsigned int, not int, for
92907         bitset pieces used as boolean, to avoid undefined behavior
92908         on hosts that do int overflow checking.
92909
92910 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
92911
92912         * config/srclist.txt: Add glibc bugs 1285-1287.
92913
92914 2005-09-01  Jim Meyering  <jim@meyering.net>
92915
92916         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
92917         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
92918         Require gl_STAT_MACROS, too.
92919
92920 2005-09-01  Bruno Haible  <bruno@clisp.org>
92921
92922         * gnulib-tool (import): In the first-use case, provide defaults.
92923
92924 2005-09-01  Bruno Haible  <bruno@clisp.org>
92925
92926         * gnulib-tool (func_import): Remove the .tmp files.
92927
92928 2005-09-01  Bruno Haible  <bruno@clisp.org>
92929
92930         * gnulib-tool (func_import): Fix handling of symbolic links.
92931
92932 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
92933
92934         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
92935         old glibc regex code mishandles strings longer than 2**31 bytes.
92936         This patch fixes this when the regex code is used in gnulib
92937         (i.e., outside glibc).
92938
92939         This patch should not affect the use of the regex code inside
92940         glibc.  No doubt this problem also needs to be handled for glibc
92941         as well, but the result will be an incompatible change to the
92942         glibc ABI, and the old ABI will have to be supported too.  That
92943         can be the the subject for another patch.
92944
92945         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
92946         governing whether the rest of this patch is active.  By default,
92947         the macro is disabled and the patch has no effect.
92948         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
92949         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
92950         (struct re_pattern_buffer, re_search, re_search_2, re_match):
92951         (re_match_2, re_set_registers): Use the new types.
92952         * lib/regex_internal.h (Idx, re_hashval_t): New types.
92953         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
92954         New macros.
92955         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
92956         (re_string_context_at, bin_tree_t, re_dfastate_t):
92957         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
92958         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
92959         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
92960         (re_string_char_size_at, re_string_wchar_at):
92961         (re_string_elem_size_at):
92962         Use the new types and macros to port to 64-bit hosts.
92963         Use unsigned types for internal values, so that the code
92964         mostly works even for arrays larger than SSIZE_MAX.
92965         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
92966         (search_duplicated_node, calc_eclosure_iter, fetch_number):
92967         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
92968         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
92969         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
92970         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
92971         (calc_inveclosure, parse_dup_op, build_range_exp):
92972         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
92973         (fetch_number, create_token_tree, mark_opt_subexp):
92974         Likewise.
92975         * lib/regex_internal.c (re_string_construct_common,
92976         create_ci_newstate):
92977         (create_cd_newstate, re_string_allocate, re_string_construct):
92978         (re_string_realloc_buffers, build_wcs_upper_buffer):
92979         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
92980         (re_string_reconstruct, re_string_peek_byte_case):
92981         (re_string_fetch_byte_case, re_string_context_at):
92982         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
92983         (re_node_set_init_copy, re_node_set_add_intersect):
92984         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
92985         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
92986         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
92987         (re_acquire_state, re_acquire_state_context, register_state):
92988         Likewise.
92989         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
92990         search_cur_bkref_entry):
92991         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
92992         (re_search_internal, re_search_2_stub, re_search_stub)
92993         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
92994         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
92995         (update_cur_sifted_state, check_dst_limits):
92996         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
92997         (check_subexp_limits, sift_states_bkref, merge_state_array):
92998         (check_subexp_matching_top, get_subexp, get_subexp_sub):
92999         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
93000         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
93001         (expand_bkref_cache, check_node_accept_bytes):
93002         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
93003         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
93004         (acquire_init_state_context, check_halt_node_context):
93005         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
93006         (sift_states_backward, clean_state_log_if_needed):
93007         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
93008         (find_recover_state, transit_state_sb, transit_state_mb):
93009         (transit_state_bkref, build_trtable, match_ctx_clean):
93010         Likewise.
93011         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
93012         to work around an assumption that REG_MISSING is negative.
93013
93014         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
93015         (seek_collating_symbol_entry) [defined _LIBC]:
93016         (lookup_collation_sequence_value) [defined _LIBC]:
93017         (build_range_exp, build_collating_symbol) [defined _LIBC]:
93018         Use prototypes rather than old-style function definitions.
93019         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
93020         (transit_state_sb) [0]:
93021         (find_collation_sequence_value) [defined _LIBC]: Likewise.
93022
93023         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
93024         rm_eo.
93025
93026         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
93027         (optimize_subexps, lower_subexp):
93028         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
93029         since the signed shift might overflow.  Use 1u<<31 instead.
93030         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
93031         Likewise.
93032         * lib/regexec.c (check_dst_limits_calc_pos_1,
93033         check_subexp_matching_top): Likewise.
93034
93035         * lib/regcomp.c (optimize_subexps, lower_subexp):
93036         Use CHAR_BIT rather than 8, for clarity.
93037         * lib/regexec.c (check_dst_limits_calc_pos_1):
93038         (check_subexp_matching_top): Likewise.
93039         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
93040         have to worry about portability issues when shifting it left.
93041         Remove no-longer-needed test for table_size > 0.
93042         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
93043         in a word, as the resulting behavior is undefined.
93044         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
93045         in one case, a <= should have been an <, and in another case the
93046         whole test was missing.
93047         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
93048         the standard name CHAR_BIT.
93049         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
93050         this is not true on one's complement and signed-magnitude hosts.
93051
93052         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
93053         next_last_offset.
93054         (struct re_dfa_t): Remove unused member states_alloc.
93055         * lib/regcomp.c (init_dfa): Don't initialize unused members.
93056
93057 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
93058
93059         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
93060         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
93061         and large-file glibc and in 32-bit large-file Solaris.
93062
93063 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
93064
93065         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
93066         lengths fit in regoff_t; this isn't true if regoff_t is the same
93067         width as size_t.
93068         * lib/regex.c (re_search_internal): 5th arg is LAST_START
93069         (= START + RANGE) instead of RANGE.  This avoids overflow
93070         problems when regoff_t is the same width as size_t.
93071         All callers changed.
93072         (re_search_2_stub): Check for overflow when adding the
93073         sizes of the two strings.
93074         (re_search_stub): Check for overflow when adding START
93075         to RANGE; if it occurs, substitute the extreme value.
93076
93077 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
93078
93079         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
93080
93081 2005-08-31  Jim Meyering  <jim@meyering.net>
93082
93083         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
93084         a pointer-to-const.
93085         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
93086         (register_state): Likewise.
93087         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
93088         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
93089         (group_nodes_into_DFAstates): Likewise.
93090
93091 2005-08-31  Jim Meyering  <jim@meyering.net>
93092
93093         * check-module: Add a FIXME comment.
93094
93095 2005-08-31  Eric Blake  <ebb9@byu.net>
93096
93097         * modules/unistd-safer (Files): Add unistd--.h.
93098         * modules/stdio-safer (Files): Add stdio--.h.
93099
93100 2005-08-31  Derek Price  <derek@ximbiot.com>
93101
93102         * lib/getdelim.c (getdelim): Return EOF on EOF.
93103         Reported by Larry Jones <lawrence.jones@ugs.com>.
93104
93105 2005-08-31  Bruno Haible  <bruno@clisp.org>
93106
93107         Avoid unnecessary diffs in the generated lib/Makefile.am.
93108         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
93109         the generated files.
93110         (func_import): Don't set cmd.
93111
93112 2005-08-31  Bruno Haible  <bruno@clisp.org>
93113
93114         * lib/strstr.c: Include <stddef.h>, for NULL.
93115         * lib/strcasestr.c: Likewise.
93116         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
93117
93118 2005-08-31  Bruno Haible  <bruno@clisp.org>
93119
93120         * gnulib-tool: New option --macro-prefix.
93121         (func_import): Use macro_prefix.
93122         (import): Handle option --macro-prefix.
93123
93124 2005-08-31  Bruno Haible  <bruno@clisp.org>
93125
93126         * gnulib-tool (import): Rename most ac_* variables to cached_*.
93127         Also use new variables cached_lgpl, cached_libtool.
93128
93129 2005-08-31  Bruno Haible  <bruno@clisp.org>
93130
93131         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
93132         always instantiating them.
93133
93134 2005-08-31  Bruno Haible  <bruno@clisp.org>
93135
93136         * gnulib-tool (func_import): Read the previous cached settings
93137         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
93138         earlier added by gnulib but are now dropped. Warn when a gnulib file
93139         overwrites a non-gnulib file.
93140
93141 2005-08-31  Bruno Haible  <bruno@clisp.org>
93142
93143         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
93144         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
93145         projects that don't keep autogenerated files in CVS. Put into
93146         actioncmd only the specified modules, not the transitive closure.
93147
93148 2005-08-31  Bruno Haible  <bruno@clisp.org>
93149
93150         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
93151         Create directories that shall be filled.
93152         (import): Don't look for gl_* macros in configure.ac. Recurse across
93153         all directories containing a gnulib-cache.m4 files, if meaningful.
93154
93155 2005-08-31  Bruno Haible  <bruno@clisp.org>
93156
93157         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
93158         (import): Set seen_libtool when we see gl_LIBTOOL.
93159
93160 2005-08-31  Bruno Haible  <bruno@clisp.org>
93161
93162         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
93163         declaration macro definitions from generated gnulib.m4.
93164
93165 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
93166
93167         * lib/iconvme.h: Add prototype for iconv_alloc.
93168
93169 2005-08-29  Simon Josefsson  <jas@extundo.com>
93170
93171         * lib/iconvme.c: Fix errno.
93172
93173 2005-08-29  Bruno Haible  <bruno@clisp.org>
93174
93175         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
93176         that it works when the directory contains spaces.
93177
93178 2005-08-29  Bruno Haible  <bruno@clisp.org>
93179
93180         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
93181
93182 2005-08-29  Bruno Haible  <bruno@clisp.org>
93183
93184         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
93185         Emit more advice.
93186
93187 2005-08-29  Bruno Haible  <bruno@clisp.org>
93188         and Stepan Kasal  <kasal@ucw.cz>
93189
93190         * check-module: If more parameters are given, check each of them
93191         separately; add more exceptions, as noted by Jim Meyering.
93192         (check_module): New procedure.
93193         (%exempt_header): Now contains all exceptions.
93194
93195 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
93196
93197         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
93198
93199 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
93200
93201         * lib/iconvme.c: Split iconv_string into iconv_alloc.
93202
93203 2005-08-28  Bruno Haible  <bruno@clisp.org>
93204
93205         * m4/gnulib-tool.m4: New file.
93206
93207 2005-08-27  Jim Meyering  <jim@meyering.net>
93208
93209         * modules/unistd-safer (Files): Add pipe-safer.c.
93210         * modules/fcntl-safer (Files): Add creat-safer.c.
93211
93212 2005-08-27  Jim Meyering  <jim@meyering.net>
93213
93214         * m4/stdlib-safer.m4: New file.  From coreutils.
93215         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
93216         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
93217         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
93218         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
93219         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
93220
93221 2005-08-27  Jim Meyering  <jim@meyering.net>
93222
93223         * lib/fopen-safer.c: Merge minor changes from coreutils.
93224         * lib/dup-safer.c: Likewise.
93225         * lib/fd-safer.c: Likewise.
93226
93227         Merge from coreutils.
93228         * lib/stdio--.h: New file.
93229         * lib/stdlib--.h: New file.
93230         * lib/mkstemp-safer.c: New file.
93231
93232         GNU tar needs these.
93233         * lib/pipe-safer.c: New file.
93234         * lib/creat-safer.c: New file.
93235         * lib/fcntl--.h (creat): Define to creat_safer.
93236         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
93237         * lib/unistd--.h (pipe): Define to pipe_safer.
93238         * lib/unistd-safer.h: Declare pipe_safer.
93239
93240 2005-08-26  Simon Josefsson  <jas@extundo.com>
93241
93242         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
93243         Haible <bruno@clisp.org>.
93244
93245 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
93246
93247         * lib/regex_internal.h: Remove all references to
93248         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
93249         or better.
93250         (bitset_not, bitset_merge, bitset_not_merge):
93251         (bitset_mask, re_string_allocate, re_string_construct):
93252         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
93253         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
93254         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
93255         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
93256         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
93257         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
93258         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
93259         (re_acquire_state_context):
93260         Remove unnecessary forward decls.
93261         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
93262         Put __attribute at function definition,
93263         now that the function decl has been removed.
93264         * lib/regex_internal.c (re_string_peek_byte_case):
93265         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
93266         Likewise.
93267
93268 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
93269
93270         * m4/regex.m4: Add AC_PREREQ(2.50).
93271         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
93272
93273 2005-08-25  Simon Josefsson  <jas@extundo.com>
93274
93275         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
93276         __fsetlocking.
93277
93278 2005-08-25  Simon Josefsson  <jas@extundo.com>
93279
93280         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
93281         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
93282         GLIBC specific code.
93283
93284 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
93285
93286         Make regex safe for g++.  This fixes one real bug (an "err"
93287         that should have been "*err").  g++ problem reported by
93288         Sam Steingold.
93289         * lib/regex_internal.h (re_calloc): New macro, consistent with
93290         re_malloc etc.  All callers of calloc changed to use re_calloc.
93291         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
93292         not int.  All callers changed.
93293         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
93294         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
93295         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
93296         (find_recover_state): Change "err" to "*err"; this fixes what
93297         appears to be a real bug.
93298         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
93299         versus int.
93300
93301 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
93302
93303         * modules/regex (Depends-on): Add malloc, since the code
93304         assumes that !malloc(0) means failure.
93305
93306 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
93307
93308         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
93309
93310         alloca modernization/simplification for regex.
93311         * lib/regex.c: Remove portability cruft for alloca.  This no longer
93312         needs to be at the start of the file, and can be moved into
93313         regex_internal.h and simplified.
93314         * lib/regex_internal.h: Include <alloca.h>.
93315         (__libc_use_alloca) [!defined _LIBC]: New macro.
93316         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
93317         now works outside glibc.
93318
93319 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
93320
93321         * config/srclist.txt: Add glibc bugs 1241, 1245.
93322
93323 2005-08-25  Jim Meyering  <jim@meyering.net>
93324
93325         * lib/open-safer.c: Include <config.h>.
93326         Otherwise, we'd lose LARGEFILE support in any file using
93327         e.g. "fcntl--.h"
93328
93329 2005-08-25  Bruno Haible  <bruno@clisp.org>
93330
93331         * m4/minmax.m4: Require autoconf 2.52.
93332         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
93333         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
93334         alternatives of translit over the alphabet.
93335         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
93336
93337 2005-08-24  Simon Josefsson  <jas@extundo.com>
93338
93339         * tests/test-getpass.c: New file.
93340
93341 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
93342
93343         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
93344         for GNU regex features.
93345
93346 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
93347
93348         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
93349         * lib/regex.h (regerror): Likewise.
93350
93351         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
93352         requires this.  (The code never needed it.)
93353
93354         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
93355         All uses of recently-renamed identifiers changed to use the new,
93356         POSIX-compliant names.  The code will build and run just fine
93357         without these changes, but it's better to eat our own dog food
93358         and use the standard-conforming names.
93359
93360         * lib/regex.h: Fix a multitude of POSIX name space violations.
93361         These changes have an effect only for programs that define
93362         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
93363         do not change anything for programs compiled in the normal way.
93364         Also, there is no effect on the ABI.
93365
93366         (_REGEX_SOURCE): New macro.
93367         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
93368         defined and _GNU_SOURCE is not; this fixes a name space violation.
93369
93370         Rename the following macros to obey POSIX requirements.
93371         The old names are still visible as macros if _REGEX_SOURCE is defined.
93372         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
93373         RE_BACKSLASH_ESCAPE_IN_LISTS.
93374         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
93375         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
93376         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
93377         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
93378         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
93379         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
93380         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
93381         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
93382         (REG_INTERVALS): renamed from RE_INTERVALS.
93383         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
93384         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
93385         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
93386         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
93387         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
93388         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
93389         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
93390         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
93391         RE_UNMATCHED_RIGHT_PAREN_ORD.
93392         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
93393         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
93394         (REG_DEBUG): renamed from RE_DEBUG.
93395         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
93396         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
93397         unusual, since we can't clash with the POSIX REG_ICASE.
93398         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
93399         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
93400         (REG_NO_SUB): renamed from RE_NO_SUB.
93401         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
93402         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
93403         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
93404         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
93405         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
93406         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
93407         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
93408         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
93409         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
93410         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
93411         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
93412         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
93413         RE_SYNTAX_POSIX_MINIMAL_BASIC.
93414         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
93415         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
93416         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
93417         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
93418         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
93419         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
93420         (REG_FIXED): Renamed from REGS_FIXED.
93421         (REG_NREGS): Renamed from RE_NREGS.
93422
93423         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
93424         of other REG_* macros, since POSIX says the user is allowed to
93425         #undef these macros selectively.
93426
93427         (reg_errcode_t): Update comment stating what other tables need
93428         to be consistent.
93429
93430         Rename the following enum values to obey POSIX requirements.
93431         The old names are still visible as macros.
93432         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
93433         is not defined, since GNU is supposed to be a superset of POSIX as
93434         much as possible, and since we want reg_errcode_t to be a signed
93435         type for implementation consistency.
93436         (_REG_NOERROR): Renamed from REG_NOERROR.
93437         (_REG_NOMATCH): Renamed from REG_NOMATCH.
93438         (_REG_BADPAT): Renamed from REG_BADPAT.
93439         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
93440         (_REG_ECTYPE): Renamed from REG_ECTYPE.
93441         (_REG_EESCAPE): Renamed from REG_EESCAPE.
93442         (_REG_ESUBREG): Renamed from REG_ESUBREG.
93443         (_REG_EBRACK): Renamed from REG_EBRACK.
93444         (_REG_EPAREN): Renamed from REG_EPAREN.
93445         (_REG_EBRACE): Renamed from REG_EBRACE.
93446         (_REG_BADBR): Renamed from REG_BADBR.
93447         (_REG_ERANGE): Renamed from REG_ERANGE.
93448         (_REG_ESPACE): Renamed from REG_ESPACE.
93449         (_REG_BADRPT): Renamed from REG_BADRPT.
93450         (_REG_EEND): Renamed from REG_EEND.
93451         (_REG_ESIZE): Renamed from REG_ESIZE.
93452         (_REG_ERPAREN): Renamed from REG_ERPAREN.
93453         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
93454         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
93455         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
93456         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
93457
93458         (_REG_RE_NAME, _REG_RM_NAME): New macros.
93459         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
93460         changed.  But support the old name if the new one is not defined
93461         and if _REGEX_SOURCE.
93462
93463         Change the following member names in struct re_pattern_buffer.
93464         The old names are still supported if !_REGEX_SOURCE.
93465         The new names are always supported, regardless of _REGEX_SOURCE.
93466         (re_buffer): Renamed from buffer.
93467         (re_allocated): Renamed from allocated.
93468         (re_used): Renamed from used.
93469         (re_syntax): Renamed from syntax.
93470         (re_fastmap): Renamed from fastmap.
93471         (re_translate): Renamed from translate.
93472         (re_can_be_null): Renamed from can_be_null.
93473         (re_regs_allocated): Renamed from regs_allocated.
93474         (re_fastmap_accurate): Renamed from fastmap_accurate.
93475         (re_no_sub): Renamed from no_sub.
93476         (re_not_bol): Renamed from not_bol.
93477         (re_not_eol): Renamed from not_eol.
93478         (re_newline_anchor): Renamed from newline_anchor.
93479
93480         Change the following member names in struct re_registers.
93481         The old names are still supported if !_REGEX_SOURCE.
93482         The new names are always supported, regardless of _REGEX_SOURCE.
93483         (rm_num_regs): Renamed from num_regs.
93484         (rm_start): Renamed from start.
93485         (rm_end): Renamed from end.
93486
93487         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
93488         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
93489         Prepend __ to parameter names.
93490
93491         Undo yesterday's changes.
93492
93493 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
93494
93495         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
93496         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
93497         lib/regex.c.
93498
93499 2005-08-24  Jim Meyering  <jim@meyering.net>
93500
93501         Sync from coreutils.
93502         * m4/fcntl-safer.m4: New file.
93503
93504         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
93505         and object files for this module.
93506
93507 2005-08-24  Jim Meyering  <jim@meyering.net>
93508
93509         Sync from coreutils.
93510         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
93511
93512 2005-08-24  Jim Meyering  <jim@meyering.net>
93513
93514         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
93515         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
93516
93517 2005-08-24  Jim Meyering  <jim@meyering.net>
93518
93519         * modules/fcntl-safer: New module.
93520         * modules/fts (Depends-on): Add fcntl-safer.
93521         * MODULES.html.sh (File descriptor based Input/Output):
93522         Add fcntl-safer.
93523
93524 2005-08-24  Bruno Haible  <bruno@clisp.org>
93525
93526         Support for unit test modules.
93527         * modules/README: Mention tests modules.
93528         * modules/TEMPLATE-TESTS: New file.
93529         * gnulib-tool: New options --extract-tests-module, --with-tests and
93530         --tests-base (unused for the moment).
93531         (testsbase, inctests): New variables.
93532         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
93533         (func_verify_module): Exclude TEMPLATE-TESTS.
93534         (func_verify_nontests_module, func_verify_tests_module): New functions.
93535         (func_get_dependencies): Add implicit dependency for tests modules.
93536         (func_get_tests_module): New function.
93537         (func_modules_transitive_closure): When --with-tests was specified,
93538         include the unit tests as well, unless explicitly avoided.
93539         (func_emit_lib_Makefile_am): Ignore the tests modules here.
93540         (func_emit_tests_Makefile_am): New function.
93541         (func_create_testdir): When --with-tests was specified, emit a
93542         tests/ directory.
93543         * MODULES.html.sh (Future developments): Update.
93544
93545 2005-08-24  Bruno Haible  <bruno@clisp.org>
93546
93547         * modules/tls-tests: New file.
93548         * tests/test-tls.c: New file, from GNU gettext.
93549
93550 2005-08-24  Bruno Haible  <bruno@clisp.org>
93551
93552         * modules/lock-tests: New file.
93553         * tests/test-lock.c: New file, from GNU gettext.
93554
93555 2005-08-24  Bruno Haible  <bruno@clisp.org>
93556
93557         * lib/lock.h: Add multiple inclusion guard.
93558         * lib/tls.h: Add multiple inclusion guard.
93559
93560 2005-08-24  Bruno Haible  <bruno@clisp.org>
93561
93562         * gnulib-tool: Add support for the --aux-dir option to
93563         --create-testdir, --create-megatestdir, --test, --megatest.
93564         (func_create_testdir, func_create_megatestdir): Optionally emit a
93565         AC_CONFIG_AUX_DIR directive.
93566         (create-testdir, create-megatestdir, test, megatest): Provide a
93567         default value for $auxdir.
93568
93569 2005-08-24  Bruno Haible  <bruno@clisp.org>
93570
93571         * gnulib-tool (import): Use compound statement instead of subshell
93572         where possible.
93573
93574 2005-08-24  Bruno Haible  <bruno@clisp.org>
93575
93576         * gnulib-tool (import): Change --aux-dir default to "build-aux".
93577
93578 2005-08-24  Bruno Haible  <bruno@clisp.org>
93579
93580         * gnulib-tool (func_version): Update.
93581
93582 2005-08-24  Bruno Haible  <bruno@clisp.org>
93583
93584         * gnulib-tool (func_import, func_create_testdir,
93585         func_create_megatestdir): Quote all autoconf macro arguments.
93586
93587 2005-08-24  Bruno Haible  <bruno@clisp.org>
93588
93589         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
93590         option --force, because --force causes the aclocal.m4 of each
93591         subdirectory to be newer than the corresponding config.h.in.
93592
93593 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
93594
93595         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
93596         All contents moved to gl_REGEX.
93597         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
93598         assume that it does.
93599
93600 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
93601
93602         * lib/regex.h (REG_NOSYS)
93603         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
93604         Define, since POSIX requires it as of 2001.
93605         (_REG_ENOSYS)
93606         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
93607         New private symbol, used to keep the enum signed in all cases.
93608         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
93609         Youngman in
93610         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
93611
93612         * lib/regex_internal.c (re_string_skip_chars, register_state):
93613         (calc_state_hash):
93614         Remove forward decls; no longer needed now that we use prototypes.
93615         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
93616         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
93617         (clean_state_log_if_needed): Likewise.
93618
93619 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
93620
93621         * config/srclist.txt: Add glibc bugs 1231-1233.
93622
93623 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
93624
93625         Fix problems reported by Sam Steingold in
93626         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
93627         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
93628         assumed that reg_errcode_t is a signed type, which is not
93629         necessarily true if _XOPEN_SOURCE is not defined.
93630         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
93631         since some compilers warn about it otherwise.
93632
93633 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
93634
93635         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
93636         (init_word_char, create_initial_state, duplicate_node_closure):
93637         (fetch_token, peek_token_bracket, build_range_exp):
93638         (build_collating_symbol): Remove forward decls; no longer needed
93639         now that we use prototypes.
93640
93641         * lib/regcomp.c:
93642         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
93643         (re_compile_fastmap_iter, regcomp, regerror, regfree):
93644         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
93645         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
93646         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
93647         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
93648         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
93649         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
93650         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
93651         (build_range_exp, build_collating_symbol, parse_bracket_exp):
93652         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
93653         (build_charclass, build_charclass_op, fetch_number, create_tree):
93654         (create_token_tree, mark_opt_subexp, duplicate_tree):
93655         Use prototypes rather than old-style definitions.
93656
93657         * lib/regex_internal.c:
93658         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
93659         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
93660         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
93661         (re_string_reconstruct, re_string_peek_byte_case):
93662         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
93663         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
93664         (re_node_set_init_copy, re_node_set_add_intersect):
93665         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
93666         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
93667         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
93668         (re_acquire_state, re_acquire_state_context, register_state):
93669         (create_ci_newstate, create_cd_newstate, free_state):
93670         Likewise.
93671         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
93672         re_search_2):
93673         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
93674         (re_search_internal, prune_impossible_nodes):
93675         (acquire_init_state_context, check_matching, static):
93676         (check_halt_node_context, check_halt_state_context, proceed_next_node):
93677         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
93678         (update_regs, sift_states_backward, build_sifted_states):
93679         (clean_state_log_if_needed, merge_state_array):
93680         (update_cur_sifted_state, add_epsilon_src_nodes):
93681         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
93682         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
93683         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
93684         (find_recover_state, check_subexp_matching_top, transit_state_mb):
93685         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
93686         (check_arrival, check_arrival_add_next_nodes):
93687         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
93688         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
93689         (check_node_accept_bytes, check_node_accept, extend_buffers):
93690         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
93691         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
93692         (sift_ctx_init):
93693         Likewise.
93694
93695         * lib/regex_internal.h:
93696         (re_string_allocate, re_string_construct, re_string_reconstruct):
93697         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
93698         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
93699         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
93700         (re_string_context_at, re_string_peek_byte_case):
93701         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
93702         is defined, since we now use prototypes always.
93703
93704         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
93705         C89 or better.  All uses removed.
93706
93707 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
93708
93709         * config/srclist.txt: Add glibc bugs 1220-1227.
93710
93711 2005-08-20  Jim Meyering  <jim@meyering.net>
93712
93713         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
93714         of unused local, dfa.
93715
93716 2005-08-20  Bruno Haible  <bruno@clisp.org>
93717
93718         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
93719
93720 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
93721
93722         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
93723         (re_node_set_insert_last, re_dfa_add_node):
93724         Rename local variables to avoid GCC shadowing warnings.
93725
93726 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
93727
93728         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
93729         [defined lint]: Suppress bogus uninitialized-variable warnings.
93730
93731         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
93732         and let the caller return REG_ESPACE if out of space.  This
93733         removes an uninitialied-variable warning with GCC 4.0.1, and also
93734         avoids taking the address of a local variable.  All callers
93735         changed.
93736
93737 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
93738
93739         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
93740         $LIBCSRC/posix/regexec.c.
93741         Add glibc bug 1217 for regcomp.c.
93742
93743 2005-08-19  Jim Meyering  <jim@meyering.net>
93744
93745         * lib/regexec.c (proceed_next_node): Redo local variables to
93746         avoid GCC shadowing warnings.
93747
93748 2005-08-18  Bruno Haible  <bruno@clisp.org>
93749
93750         * lib/strstr.c (strstr): Fix return value in multibyte case.
93751         * lib/strcasestr.c (strcasestr): Likewise.
93752
93753 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
93754
93755         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
93756
93757 2005-08-17  Jim Meyering  <jim@meyering.net>
93758
93759         Make the %s format (seconds since the epoch) work for a negative
93760         number and when used with a zero-padded field width, e.g. %015s.
93761
93762         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
93763         label so that it precedes the code to set `digits'.  Otherwise,
93764         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
93765         print `00-22'.  Now, it prints `-0022', as it should.
93766
93767 2005-08-17  Bruno Haible  <bruno@clisp.org>
93768
93769         * modules/strstr (Files): Add m4/mbrtowc.m4.
93770         (Depends-on): Add mbuiter.
93771
93772 2005-08-17  Bruno Haible  <bruno@clisp.org>
93773
93774         * modules/strcasestr: New file.
93775         * MODULES.html.sh (String handling, based on ANSI C 89): Add
93776         strcasestr.
93777
93778 2005-08-17  Bruno Haible  <bruno@clisp.org>
93779
93780         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
93781
93782 2005-08-17  Bruno Haible  <bruno@clisp.org>
93783
93784         * modules/mbuiter: New file.
93785         * MODULES.html.sh (Extended multibyte and wide character utilities):
93786         Add mbuiter.
93787
93788 2005-08-17  Bruno Haible  <bruno@clisp.org>
93789
93790         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
93791         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
93792
93793 2005-08-17  Bruno Haible  <bruno@clisp.org>
93794
93795         * m4/strcasestr.m4: New file.
93796
93797 2005-08-17  Bruno Haible  <bruno@clisp.org>
93798
93799         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
93800         * lib/strstr.c: Completely rewritten, with multibyte locale support.
93801
93802 2005-08-17  Bruno Haible  <bruno@clisp.org>
93803
93804         * lib/strcasestr.h: New file.
93805         * lib/strcasestr.c: New file.
93806
93807 2005-08-17  Bruno Haible  <bruno@clisp.org>
93808
93809         * lib/strcasecmp.c: Use mbuiter.h.
93810
93811 2005-08-17  Bruno Haible  <bruno@clisp.org>
93812
93813         * lib/mbuiter.h: New file.
93814
93815 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
93816
93817         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
93818         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
93819         and gl_GETOPT are both invoked via different paths (as happens
93820         with GNU tar CVS because it uses both argp and getopt), the former
93821         wins.
93822
93823 2005-08-16  Bruno Haible  <bruno@clisp.org>
93824
93825         * modules/tls: New file.
93826         * MODULES.html.sh (Multithreading): Add tls.
93827
93828 2005-08-16  Bruno Haible  <bruno@clisp.org>
93829
93830         * modules/strnlen1: New file.
93831         * MODULES.html.sh (String handling): Add strnlen1.
93832
93833 2005-08-16  Bruno Haible  <bruno@clisp.org>
93834
93835         * modules/strcase (Files): Add m4/mbrtowc.m4.
93836         (Depends-on): Add strnlen1, mbchar.
93837
93838 2005-08-16  Bruno Haible  <bruno@clisp.org>
93839
93840         * modules/mbiter: New file.
93841         * MODULES.html.sh (Extended multibyte and wide character utilities):
93842         Add mbiter.
93843
93844 2005-08-16  Bruno Haible  <bruno@clisp.org>
93845
93846         * modules/mbfile: New file.
93847         * MODULES.html.sh (Extended multibyte and wide character utilities):
93848         Add mbfile.
93849
93850 2005-08-16  Bruno Haible  <bruno@clisp.org>
93851
93852         * modules/mbchar: New file.
93853         * MODULES.html.sh (Extended multibyte and wide character utilities):
93854         New section.
93855
93856 2005-08-16  Bruno Haible  <bruno@clisp.org>
93857
93858         * m4/tls.m4: New file, from GNU gettext.
93859
93860 2005-08-16  Bruno Haible  <bruno@clisp.org>
93861
93862         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
93863         always.
93864         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
93865
93866 2005-08-16  Bruno Haible  <bruno@clisp.org>
93867
93868         * m4/mbiter.m4: New file.
93869
93870 2005-08-16  Bruno Haible  <bruno@clisp.org>
93871
93872         * m4/mbfile.m4: New file.
93873
93874 2005-08-16  Bruno Haible  <bruno@clisp.org>
93875
93876         * m4/mbchar.m4: New file.
93877
93878 2005-08-16  Bruno Haible  <bruno@clisp.org>
93879
93880         * lib/tls.h: New file, from GNU gettext.
93881         * lib/tls.c: New file, from GNU gettext.
93882
93883 2005-08-16  Bruno Haible  <bruno@clisp.org>
93884
93885         * lib/strnlen1.h: New file.
93886         * lib/strnlen1.c: New file.
93887
93888 2005-08-16  Bruno Haible  <bruno@clisp.org>
93889
93890         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
93891         (mbi_init): Update.
93892         (mbi_avail, mbi_advance): Let the iteration end before the terminating
93893         NUL byte, not after it.
93894
93895 2005-08-16  Bruno Haible  <bruno@clisp.org>
93896
93897         * lib/strcase.h (strcasecmp): Add note in comments.
93898         * lib/strncasecmp.c: Use code from strcasecmp.c.
93899         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
93900         (strcasecmp): Work correctly in multibyte locales.
93901
93902 2005-08-16  Bruno Haible  <bruno@clisp.org>
93903
93904         * lib/mbiter.h: New file.
93905
93906 2005-08-16  Bruno Haible  <bruno@clisp.org>
93907
93908         * lib/mbfile.h: New file.
93909
93910 2005-08-16  Bruno Haible  <bruno@clisp.org>
93911
93912         * lib/mbchar.h: New file.
93913         * lib/mbchar.c: New file.
93914
93915 2005-08-16  Bruno Haible  <bruno@clisp.org>
93916
93917         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
93918         the valid ones. Makes the comparison operations transitive:
93919         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
93920         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
93921
93922 2005-08-15  Simon Josefsson  <jas@extundo.com>
93923
93924         * modules/ssize_t (License): Change to 'unlimited'.
93925
93926         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
93927
93928 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
93929
93930         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
93931         Add comments for each pending glibc patch.
93932
93933 2005-08-15  Bruno Haible  <bruno@clisp.org>
93934
93935         * lib/regex.h (__restrict_arr): Don't define to __restrict if
93936         __cplusplus is defined.
93937
93938 2005-08-14  Jim Meyering  <jim@meyering.net>
93939
93940         Sync from coreutils.
93941
93942         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
93943         Use the hash-table-based cycle-detection code not just when
93944         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
93945         Reported by James Youngman in
93946         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
93947         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
93948         FTS_TIGHT_CYCLE_CHECK.
93949         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
93950         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
93951         once again.
93952         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
93953         * lib/fts.c (fd_safer): Remove decl.
93954         Include fcntl--.h rather than unistd-safer.h
93955         (fts_safe_changedir): Don't call fd_safer; no longer needed
93956         now that we include fcntl--.h.
93957
93958 2005-08-12  Simon Josefsson  <jas@extundo.com>
93959
93960         * modules/getndelim2: Use ssize_t module.
93961         * modules/getnline: Likewise.
93962         * modules/safe-read: Likewise.
93963         * modules/xreadlink: Likewise.
93964
93965         * modules/ssize_t: New file.
93966
93967 2005-08-12  Simon Josefsson  <jas@extundo.com>
93968
93969         * m4/readline.m4: Look for termcap, curses or ncurses if required.
93970
93971 2005-08-12  Simon Josefsson  <jas@extundo.com>
93972
93973         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
93974         ssize_t.
93975
93976 2005-08-12  Simon Josefsson  <jas@extundo.com>
93977
93978         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
93979         readline, getdelim and check_version.
93980         (Support for systems lacking ISO C 99: Sizes of integer types):
93981         Add size_max.
93982
93983 2005-08-12  Bruno Haible  <bruno@clisp.org>
93984
93985         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
93986
93987 2005-08-11  Simon Josefsson  <jas@extundo.com>
93988
93989         * modules/readline: New file.
93990
93991         * modules/strnlen (Files): Add strnlen.h.
93992
93993 2005-08-11  Simon Josefsson  <jas@extundo.com>
93994
93995         * m4/readline.m4: New file.
93996
93997 2005-08-11  Simon Josefsson  <jas@extundo.com>
93998
93999         * lib/readline.h, readline.c: New file.
94000
94001 2005-08-11  Simon Josefsson  <jas@extundo.com>
94002
94003         * doc/gnulib.texi (Initial import, Finishing touches): Mention
94004         gl_AVOID.
94005
94006 2005-08-11  Bruno Haible  <bruno@clisp.org>
94007
94008         * lib/strnlen.h (strnlen): Change parameter name to match comment.
94009
94010 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
94011
94012         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
94013
94014 2005-08-10  Simon Josefsson  <jas@extundo.com>
94015
94016         * tests/test-iconvme.c: New file.
94017
94018 2005-08-10  Simon Josefsson  <jas@extundo.com>
94019
94020         * m4/strnlen.m4: New file.
94021
94022         * m4/strndup.m4: Don't check for strnlen declaration, done in
94023         strnlen.m4.
94024
94025 2005-08-10  Simon Josefsson  <jas@extundo.com>
94026
94027         * lib/strndup.c: Use strnlen.h.
94028
94029         * lib/strnlen.h: New file.
94030
94031 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
94032
94033         * README: Typos.
94034
94035 2005-08-02  Simon Josefsson  <jas@extundo.com>
94036
94037         * modules/readline: New file.
94038
94039 2005-08-02  Simon Josefsson  <jas@extundo.com>
94040
94041         * modules/getdelim: New file.
94042
94043         * modules/getline: Rewrite, don't use getndelim2.
94044
94045 2005-08-02  Simon Josefsson  <jas@extundo.com>
94046
94047         * m4/getline.m4: Separate out getdelim stuff into separate module.
94048
94049         * m4/getdelim.m4: New file.
94050
94051 2005-08-02  Simon Josefsson  <jas@extundo.com>
94052
94053         * lib/getline.h, getline.c: Rewrite.
94054
94055         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
94056
94057 2005-07-31  Bruno Haible  <bruno@clisp.org>
94058
94059         * lib/lock.h (gl_lock_initializer): New macro.
94060         (gl_lock_define_initialized): Use it.
94061         (gl_rwlock_initializer): New macro.
94062         (gl_rwlock_define_initialized): Use it.
94063         (gl_recursive_lock_initializer): New macro.
94064         (gl_recursive_lock_define_initialized): Use it.
94065
94066 2005-07-30  Karl Berry  <karl@gnu.org>
94067
94068         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
94069         Report from Ben Pfaff, regarding getopt.
94070
94071 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
94072
94073         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
94074         normal way.
94075         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
94076         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
94077         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
94078         (gl_GETOPT): Use the new macros.  Most of the implementation
94079         is moved to the new macros.  This is for programs like Emacs
94080         that don't want all the functionality of gl_GETOPT.
94081
94082 2005-07-26  Bruno Haible  <bruno@clisp.org>
94083
94084         * m4/lock.m4: Update from GNU gettext.
94085
94086 2005-07-26  Bruno Haible  <bruno@clisp.org>
94087
94088         * lib/lock.h: Update from GNU gettext.
94089         * lib/lock.c: Update from GNU gettext.
94090
94091 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
94092
94093         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
94094         obsolescent AC_TRY_RUN.  Include the default includes files, for
94095         'exit'.
94096
94097 2005-07-24  Bruno Haible  <bruno@clisp.org>
94098
94099         * modules/visibility: New file.
94100         * MODULES.html.sh (Misc): Add visibility.
94101
94102 2005-07-24  Bruno Haible  <bruno@clisp.org>
94103
94104         * m4/visibility.m4: New file.
94105
94106 2005-07-24  Bruno Haible  <bruno@clisp.org>
94107
94108         * doc/visibility.texi: New file.
94109
94110 2005-07-22  Bruno Haible  <bruno@clisp.org>
94111
94112         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
94113         $(ALLOCA_H), redundant through BUILT_SOURCES.
94114         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
94115         redundant through BUILT_SOURCES.
94116         * modules/byteswap (Makefile.am): Remove explicit dependency on
94117         $(BYTESWAP_H), redundant through BUILT_SOURCES.
94118         * modules/fnmatch (Makefile.am): Remove explicit dependency on
94119         $(FNMATCH_H), redundant through BUILT_SOURCES.
94120         * modules/getopt (Makefile.am): Remove explicit dependency on
94121         $(GETOPT_H), redundant through BUILT_SOURCES.
94122         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
94123         redundant through BUILT_SOURCES.
94124         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
94125         redundant through BUILT_SOURCES.
94126         * modules/stdbool (Makefile.am): Remove explicit dependency on
94127         $(STDBOOL_H), redundant through BUILT_SOURCES.
94128         * modules/stdint (Makefile.am): Remove explicit dependency on
94129         $(STDINT_H), redundant through BUILT_SOURCES.
94130         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
94131         Remove explicit dependency on $(SYSEXITS_H).
94132         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
94133
94134 2005-07-18  Simon Josefsson  <jas@extundo.com>
94135
94136         * lib/check-version.c (check_version): Accept identical versions too.
94137
94138 2005-07-18  Bruno Haible  <bruno@clisp.org>
94139
94140         * modules/lock: New file.
94141         * MODULES.html.sh (Multithreading): New section.
94142
94143 2005-07-18  Bruno Haible  <bruno@clisp.org>
94144
94145         * m4/lock.m4: New file, from GNU gettext.
94146
94147 2005-07-18  Bruno Haible  <bruno@clisp.org>
94148
94149         * lib/lock.h: New file, from GNU gettext.
94150         * lib/lock.c: New file, from GNU gettext.
94151
94152 2005-07-18  Bruno Haible  <bruno@clisp.org>
94153
94154         * lib/lock.h (gl_once_t): New type.
94155         (gl_once_define, gl_once): New macros.
94156         * lib/lock.c (fresh_once): New variable.
94157         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
94158         functions.
94159
94160 2005-07-16  Simon Josefsson  <jas@extundo.com>
94161
94162         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
94163         workaround, suggested by Bruno.
94164
94165 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
94166
94167         * modules/xalloc (Depends-on): Add xalloc-die.
94168         * modules/xvasprintf (Depends-on): Add xalloc-die.
94169
94170 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
94171
94172         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
94173         with a minor change.
94174
94175 2005-07-15  Bruno Haible  <bruno@clisp.org>
94176
94177         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
94178         When using lib/poll.c, define poll as rpl_poll.
94179
94180 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
94181
94182         * modules/argp (Depends-on): Remove unlocked-io.
94183
94184 2005-07-14  Derek Price  <derek@ximbiot.com>
94185
94186         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
94187         for glob symlink bug.
94188
94189 2005-07-14  Bruno Haible  <bruno@clisp.org>
94190
94191         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
94192         Instead, test for *_unlocked function declarations directly.
94193
94194 2005-07-11  Simon Josefsson  <jas@extundo.com>
94195
94196         * modules/size_max: New file.
94197
94198         * modules/xsize: Depend on size_max module for size_max.m4.
94199
94200 2005-07-11  Simon Josefsson  <jas@extundo.com>
94201
94202         * lib/size_max.h: New file.
94203
94204 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
94205
94206         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
94207         copyright symbol and the year.
94208         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
94209         (version_etc_va): Use parameterized copyright notice.
94210         Reword to conform to the current GNU coding standards.
94211
94212 2005-07-11  Karl Berry  <karl@gnu.org>
94213
94214         * doc/gnulib.texi (Quoting): new node.
94215         (Initial import): more info, from Patrice.
94216
94217 2005-07-11  Bruno Haible  <bruno@clisp.org>
94218
94219         * gnulib-tool (func_usage): Document option --avoid.
94220         (Command line options): Handle --avoid.
94221         (func_acceptable): New function.
94222         (func_modules_transitive_closure): Use it.
94223
94224 2005-07-11  Bruno Haible  <bruno@clisp.org>
94225
94226         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
94227         Reported by Jim Meyering.
94228
94229 2005-07-10  Bruno Haible  <bruno@clisp.org>
94230
94231         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
94232         Needed when size_t is smaller than 'unsigned int'.
94233         Reported by Paul Eggert.
94234
94235 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
94236
94237         * modules/argp (Depends-on): Add unlocked-io
94238
94239 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
94240
94241         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
94242         block of defines.
94243
94244 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
94245
94246         * config/srclist.txt: Comment out regcomp.c, since we have a porting
94247         fix now.
94248
94249 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
94250         and Paul Eggert  <eggert@cs.ucla.edu>
94251
94252         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
94253         in wint_t, not wchar_t.  Remove now-unnecessary cast.
94254
94255 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
94256
94257         * modules/regex (Files): Add lib/regex_internal.c,
94258         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
94259         (Depends-on): Add extensions.
94260         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
94261
94262 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
94263
94264         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
94265         pathconf.
94266         * m4/same.m4 (gl_SAME): Likewise.
94267         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
94268
94269         * m4/regex.m4: Adjust to new libc regex implementation.
94270         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
94271         all the .c and .h parts of (the new) regex.
94272         Quote the m4 stuff better.
94273         Check for RE_ICASE bug of old gnulib.
94274         Check for REG_STARTEND of recent libc.
94275         Rename local variables from jm_* to gl_*.
94276         Quote operand of "test -f".
94277         Say "recent enough" version of libc, not "version 2".
94278         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
94279         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
94280         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
94281         Remove check for btowc, isascii.
94282         Require AM_LANGINFO_CODESET.
94283
94284 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
94285
94286         * lib/regex.c, regex.h: Sync from libc.
94287         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
94288         * lib/regexec.c:
94289         New files, synced from libc, except that regex_internal.h
94290         currently has a small porting fix.
94291
94292 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
94293
94294         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
94295         regex_internal.c, regexec.c.
94296         Add regex_internal.h too, but as a comment, since the libc version
94297         is currently broken in gnulib mode.
94298
94299 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
94300
94301         Support programs like Emacs that use gnulib but not gettext.
94302         * MODULES.html.sh (Internationalization functions): Add gettext-h.
94303         * modules/gettext-h: New file.
94304         * modules/gettext (Files): Remove lib/gettext.h.
94305         (Depends-on): Add gettext-h.
94306         (Makefile.am): Remove lib_SOURCES.
94307         * modules/argmatch, modules/c-stack, modules/closeout:
94308         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
94309         * modules/execute, modules/file-type, modules/getaddrinfo:
94310         * modules/getopt, modules/human, modules/javacomp:
94311         * modules/javaexec, modules/mkdir-p, modules/obstack:
94312         * modules/openat, modules/pagealign_alloc, modules/pipe:
94313         * modules/quotearg, modules/regex, modules/rpmatch:
94314         * modules/unicodeio, modules/userspec, modules/version-etc:
94315         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
94316         * modules/xsetenv:
94317         Depend on gettext-h, not gettext.
94318
94319 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
94320
94321         * gnulib-tool (func_import): Add support for 'public domain' license.
94322         * modules/alloca, modules/atexit, modules/memmove:
94323         Now public domain, not GPL.
94324         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
94325         * modules/realloc, modules/strerror, modules/strtod:
94326         Now LGPL, not GPL.
94327
94328 2005-07-05  Bruno Haible  <bruno@clisp.org>
94329
94330         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
94331         autoconf CVS. Needed for mingw.
94332
94333 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
94334
94335         Remove the dependency of the strftime module on the tzset module.
94336         * modules/strftime (Depends-on): Remove dependency on tzset.
94337
94338 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
94339
94340         Remove the dependency of the strftime module on the tzset module.
94341         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
94342         gl_FUNC_TZSET_CLOBBER.
94343
94344 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
94345
94346         Remove the dependency of the strftime module on the tzset module.
94347         * lib/strftime.c (my_strftime)
94348         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
94349         Copy the input structure, to work around some of the bug with
94350         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
94351         Solaris releases, you should also use the tzset module, but we won't
94352         require it as a dependency any more since we don't want LGPLed code
94353         to depend on GPLed code.
94354
94355 2005-07-02  Jim Meyering  <jim@meyering.net>
94356
94357         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
94358         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
94359         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
94360         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
94361
94362 2005-07-02  Jim Meyering  <jim@meyering.net>
94363
94364         * lib/backupfile.c (backup_args): Change a `0' to NULL.
94365
94366 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
94367
94368         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
94369         declares only 'struct timespec;' (!).
94370
94371 2005-07-01  Jim Meyering  <jim@meyering.net>
94372
94373         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
94374         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
94375         * lib/save-cwd.c, tempname.c:
94376         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
94377         and don't include <sys/file.h>).
94378
94379 2005-06-29  Jim Meyering  <jim@meyering.net>
94380
94381         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
94382         type name.  Use the variable name instead.
94383         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
94384         Likewise.
94385
94386 2005-06-28  Simon Josefsson  <jas@extundo.com>
94387
94388         * modules/check-version (Files): Add check-version.m4.
94389
94390 2005-06-28  Simon Josefsson  <jas@extundo.com>
94391
94392         * m4/check-version.m4: New file, suggested by Jim Meyering
94393         <jim@meyering.net>.
94394
94395 2005-06-28  Simon Josefsson  <jas@extundo.com>
94396
94397         * lib/check-version.h, lib/check-version.c: New files.
94398
94399 2005-06-28  Simon Josefsson  <jas@extundo.com>
94400
94401         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
94402         collision with global variable.  Better indentation.  Don't
94403         increment buffer pointer beyond buffer end.  Based on comments
94404         from Paul Eggert <eggert@cs.ucla.edu>.
94405
94406         * lib/base64.h: Indent.
94407
94408 2005-06-28  Simon Josefsson  <jas@extundo.com>
94409
94410         * doc/gnulib.texi (Library version handling): New section.
94411
94412 2005-06-28  Jim Meyering  <jim@meyering.net>
94413
94414         * check-module (find_included_lib_files): Hard-code another
94415         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
94416         but modules/fts-lgpl (correctly) does not list those files.
94417
94418         * modules/canonicalize (Files): Add lib/pathmax.h.
94419
94420 2005-06-25  Simon Josefsson  <jas@extundo.com>
94421
94422         * modules/check-version: New file.
94423
94424 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
94425
94426         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
94427         initializer of struct addrinfo, as an indication that we don't
94428         care how many members the structure has.
94429
94430 2005-06-24  Derek Price  <derek@ximbiot.com>
94431         and Bruno Haible  <bruno@clisp.org>
94432
94433         Remove stat module & update lstat.
94434         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
94435         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94436         * m4/stat.m4: Remove this file.
94437
94438 2005-06-24  Derek Price  <derek@ximbiot.com>
94439         and Bruno Haible  <bruno@clisp.org>
94440
94441         Remove stat module & update lstat.
94442         * lib/stat.c: Remove this file...
94443         (slash_aware_lstat): ...moving this content and its support...
94444         * lib/lstat.c (rpl_lstat): ...into here.
94445         * lib/lstat.h: New file.
94446
94447 2005-06-24  Derek Price  <derek@ximbiot.com>
94448         and Bruno Haible  <bruno@clisp.org>
94449
94450         Remove stat module & update lstat.
94451         * config/srclist.txt (libc sources): Remove stat.
94452
94453 2005-06-24  Derek Price  <derek@ximbiot.com>
94454         and Bruno Haible  <bruno@clisp.org>
94455
94456         Remove stat module & update lstat.
94457         * MODULES.html.sh (stat): Remove.
94458         * MODULES.html: Regenerated.
94459         * modules/lstat (Description): Correct function name.
94460         (Files): Add "lstat.h".
94461         (Depends-on): Remove stat, add xalloc, stat-macros.
94462         * modules/stat: Remove this file.
94463         (Include): Add "lstat.h", remove <sys/stat.h>.
94464
94465 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
94466
94467         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
94468         (ranged_convert): Don't save conversion in a temporary struct.
94469         This causes a warning with GCC 4.0.0, and anyway in the typical
94470         case it's not worth the extra 100 bytes or so of code.
94471         (ranged_convert, __mktime_internal): When calling a function via a
94472         pointer P, use P () rather than (*P) (), as we now assume C89 or
94473         better.
94474
94475 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
94476
94477         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
94478         "who -r" failed to give output.  Problem reported by Tim Waugh.
94479
94480         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
94481         (xcalloc): Use it to avoid needless tests.
94482         Problem reported by Jim Meyering.
94483
94484 2005-06-20  Derek Price  <derek@ximbiot.com>
94485
94486         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
94487         unnecessary for Autoconfs > 2.59c.
94488
94489 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
94490
94491         * lib/argp.h (__option_is_short): Check upper limit of
94492         __key. Isprint() requires its argument to have the value
94493         of an unsigned char or EOF.
94494
94495 2005-06-16  Jim Meyering  <jim@meyering.net>
94496
94497         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
94498         when either N or S is zero.
94499
94500 2005-06-16  Derek Price  <derek@ximbiot.com>
94501
94502         * m4/bison.m4: Declare YACC & YFLAGS precious.
94503
94504 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
94505
94506         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
94507         multibyte string or pattern, fall back on unibyte matching.
94508         Problem reported by James Youngman.
94509
94510 2005-06-08  Bruno Haible  <bruno@clisp.org>
94511
94512         * modules/csharpcomp: New file.
94513         * MODULES.html.sh (C#): Add csharpcomp.
94514
94515 2005-06-08  Bruno Haible  <bruno@clisp.org>
94516
94517         * m4/csharpcomp.m4: New file, from GNU gettext.
94518
94519 2005-06-08  Bruno Haible  <bruno@clisp.org>
94520
94521         * lib/csharpcomp.h: New file, from GNU gettext.
94522         * lib/csharpcomp.c: New file, from GNU gettext.
94523         * lib/csharpcomp.sh.in: New file, from GNU gettext.
94524
94525 2005-06-08  Bruno Haible  <bruno@clisp.org>
94526
94527         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
94528         warning on mingw.
94529
94530 2005-06-07  Derek Price  <derek@ximbiot.com>
94531
94532         Sync from CVS.
94533         * lib/glob_.h: Indent nested #ifdef.
94534
94535 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
94536
94537         Sync from coreutils.
94538         Use "file name" when talking about file names, instead of "filename"
94539         or "path", as per the GNU coding standards.
94540         * lib/mkdir-p.c: Renamed from makepath.c.
94541         (make_dir_parents): Renamed from make_path.  All callers changed.
94542         * lib/mkdir-p.h: Likewise.  All includers changed.
94543         * lib/filenamecat.c: Renamed from path-concat.c.
94544         (file_name_concat): Renamed from path_concat.  All callers changed.
94545         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
94546         * lib/filenamecat.h: Likewise.  All includers changed.
94547         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
94548         in comments or local variable names.
94549         * lib/basename.c: Likewise.
94550         * lib/canonicalize.c, canonicalize.h: Likewise.
94551         * lib/dirname.c, dirname.h: Likewise.
94552         * lib/euidaccess.c: Likewise.
94553         * lib/exclude.c: Likewise
94554         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
94555         * lib/fsusage.c, fsuage.h: Likewise.
94556         * lib/fts.c, fts_.h: Likewise.
94557         * lib/getcwd.c: Likewise.
94558         * lib/getloadavg.c: Likewise.
94559         * lib/mkstemp.c: Likewise.
94560         * lib/mountlist.c, mountlist.h: Likewise.
94561         * lib/openat.c, openat.h: Likewise.
94562         * lib/readlink-stub.c: Likewise.
94563         * lib/readutmp.c, readutmp.h: Likewise.
94564         * lib/rename.c: Likewise.
94565         * lib/rmdir.c: Likewise.
94566         * lib/same.c: Likewise.
94567         * lib/savedir.c: Likewise.
94568         * lib/stripslash.c: Likewise.
94569         * lib/tempname.c: Likewise.
94570         * lib/xreadlink.c: Likewise.
94571         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
94572         All uses changed.
94573         * lib/exclude.h: Likewise.
94574
94575         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
94576         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
94577         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
94578         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
94579         * lib/pathmax.h: Include <limits.h> unconditionally, since other
94580         files have been getting away with it for years (MORE/BSD 4.3
94581         is extinct now).
94582         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
94583         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
94584
94585         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
94586         Define to 256, not 255, as per modern POSIX.
94587
94588 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
94589
94590         Sync from coreutils.
94591         Use "file name" when talking about file names, instead of "filename"
94592         or "path", as per the GNU coding standards.
94593         * MODULES.html.sh: mkdir-p renamed from makepath.
94594         filenamecat renamed from path-concat.
94595         * modules/filenamecat: Renamed from modules/path-concat.
94596         (Files): filenamecat.h and filenamecat.c renamed from
94597         path-concat.h and path-concat.c.
94598         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
94599         (Include): filenamecat.h, not path-concat.h.
94600         * modules/mkdir-p: Renamed from modules/makepath.
94601         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
94602         makepath.c.
94603         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
94604         (Include): mkdir-p.h, not makepath.h.
94605
94606 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
94607
94608         Sync from coreutils.
94609         * m4/mkdir-p.m4: Renamed from makepath.m4.
94610         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
94611         Rename files from makepath.c to mkdir-p.c, and from
94612         makepath.h to mkdir-p.h.
94613         * m4/filenamecat.m4: Renamed from path-concat.m4.
94614         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
94615         Rename files from path-concat.c to filenamecat.c,
94616         and from path-concat.h to filenamecat.h.
94617         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
94618         "file name" in local variables or comments.
94619         * m4/rename.m4: Likewise.
94620
94621 2005-06-01  Bruno Haible  <bruno@clisp.org>
94622
94623         * modules/csharpexec: New file.
94624         * MODULES.html.sh (C#): New section.
94625
94626 2005-06-01  Bruno Haible  <bruno@clisp.org>
94627
94628         * m4/csharp.m4: New file, from GNU gettext.
94629         * m4/csharpexec.m4: New file, from GNU gettext.
94630
94631 2005-06-01  Bruno Haible  <bruno@clisp.org>
94632
94633         * lib/csharpexec.h: New file, from GNU gettext.
94634         * lib/csharpexec.c: New file, from GNU gettext.
94635         * lib/csharpexec.sh.in: New file, from GNU gettext.
94636
94637 2005-05-31  Derek Price  <derek@ximbiot.com>
94638             Paul Eggert  <eggert@cs.ucla.edu>
94639
94640         Sync from cvs.
94641         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
94642
94643 2005-05-31  Derek Price  <derek@ximbiot.com>
94644             Paul Eggert  <eggert@cs.ucla.edu>
94645
94646         Sync from cvs.
94647         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
94648
94649 2005-05-29  Derek Price  <derek@ximbiot.com>
94650
94651         * config/srclist.txt (glob_.h, glob.c): Add these files.
94652
94653 2005-05-29  Derek Price  <derek@ximbiot.com>
94654
94655         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
94656         * modules/glob: New file.
94657         * modules/getlogin_r: Add link to POSIX spec in description.
94658
94659 2005-05-29  Derek Price  <derek@ximbiot.com>
94660             Paul Eggert  <eggert@cs.ucla.edu>
94661
94662         * m4/glob.m4: New file.
94663
94664 2005-05-29  Derek Price  <derek@ximbiot.com>
94665             Paul Eggert  <eggert@cs.ucla.edu>
94666
94667         * lib/glob_.h, lib/glob.c: New files.
94668
94669 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
94670
94671         * modules/fts (Files): Remove m4/inttypes-pri.m4.
94672         * modules/fts-lgpl (Depends-on): Remove gettext.
94673
94674 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
94675
94676         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
94677         and don't require gt_INTTYPES_PRI.
94678
94679 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
94680
94681         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
94682
94683         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
94684         the configuration hassle isn't worth it.
94685         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
94686         (LONGEST_MODIFIER, PRIuMAX): Remove.
94687
94688 2005-05-27  Bruno Haible  <bruno@clisp.org>
94689
94690         * lib/getlogin_r.h: Remove second include of <stddef.h>.
94691
94692 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
94693
94694         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
94695         _POSIX_PTHREAD_SEMANTICS for Solaris.
94696
94697 2005-05-25  Derek Price  <derek@ximbiot.com>
94698
94699         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
94700
94701 2005-05-25  Derek Price  <derek@ximbiot.com>
94702             Paul Eggert  <eggert@cs.ucla.edu>
94703
94704         * modules/getlogin_r, m4/getlogin_r.m4: New files.
94705         * lib/getlogin_r.c, getlogin_r.h: New files.
94706
94707 2005-05-25  Bruno Haible  <bruno@clisp.org>
94708             Derek Price  <derek@ximbiot.com>
94709
94710         * lib/getlogin_r.h: Simplify API documentation.
94711
94712 2005-05-23  Derek Price  <derek@ximbiot.com>
94713
94714         * modules/minmax (Files): Add m4/minmax.m4.
94715         (configure.ac): Add gl_MINMAX.
94716
94717 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
94718
94719         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
94720         so that unistd-safer.h (GPL'ed code) need not be included.
94721
94722 2005-05-22  Bruno Haible  <bruno@clisp.org>
94723
94724         * m4/minmax.m4: New file.
94725         Based on a patch by Derek Price <derek@ximbiot.com>.
94726
94727 2005-05-22  Bruno Haible  <bruno@clisp.org>
94728
94729         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
94730         (INT64_MIN): Fix definition.
94731         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
94732
94733         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
94734         NEED_SIGNED_INT_TYPES.
94735
94736         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
94737         HAVE_SYSTEM_INTTYPES.
94738
94739 2005-05-22  Bruno Haible  <bruno@clisp.org>
94740
94741         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
94742         Also include <sys/param.h> if it defines MIN, MAX.
94743         Based on a patch by Derek Price <derek@ximbiot.com>.
94744
94745 2005-05-21  Jim Meyering  <jim@meyering.net>
94746
94747         * modules/fts (Files): Add m4/inttypes-pri.m4.
94748         (Depends-on): Add lstat and remove gettext.  Alphabetize.
94749
94750 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
94751
94752         New fts module.
94753         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
94754         (setup_dir, free_dir): New functions.
94755         (enter_dir, leave_dir): Define trivial
94756         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
94757         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
94758         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
94759         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
94760         Move to fts-cycle.c.
94761         (fts_open): Use setup_dir.
94762         (fts_close): Use free_dir.
94763         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
94764         This adds a label and some gotos, but the alternatives were messier.
94765         Check for memory allocation failure when entering a dir.
94766         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
94767         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
94768         (FTS): New member fts_cycle, that is a union that contains the
94769         old active_dir_ht and cycle_state.  All uses changed to mention
94770         fts_cycle.ht and fts_cycle.state.
94771         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
94772         fts.c, with the following changes:
94773         (setup_dir, free_dir): New functions.
94774         (enter_dir): Now returns bool.  Return true if successful, false
94775         if memory exhausted.  All callers changed.
94776         Do not bother partly cleaning up on
94777         memory allocation failure; that is free_dir's job.
94778         However, free ad if hash_insert fails, to avoid memory leak.
94779         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
94780         fts->fts_options to see which union member to use.
94781
94782 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
94783
94784         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
94785         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
94786
94787 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
94788
94789         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
94790
94791 2005-05-20  Jim Meyering  <jim@meyering.net>
94792
94793         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
94794         Now a macro, to pacify GCC.
94795
94796 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
94797
94798         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
94799         of -1.
94800
94801 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
94802
94803         * lib/chown.c (rpl_chown): Return -1 on failure.
94804
94805 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
94806
94807         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
94808         Don't check for stddef.h.
94809         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
94810         don't use its results.
94811         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
94812         since we include them unconditionally.  Don't require
94813         AM_STDBOOL_H, since stdbool is a prerequisite.
94814         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
94815         since we assume C89 or better.
94816         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
94817         as we don't use their results.
94818         Don't check for fchdir, memmove, memset, strrchr, as we use
94819         them unconditionally.
94820         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
94821         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
94822
94823 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
94824
94825         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
94826         Include <stddef.h> unconditionally, since we assume C89 now.
94827         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
94828         * lib/fts.c: Include fts_.h first, to check interface.
94829         Do not include intprops.h; no longer needed.
94830         Include cycle-check.h and hash.h, since fts_.h no longer does.
94831         Remove unnecessary casts of closedir to void.
94832         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
94833         decide whether to decrement nlinks.
94834         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
94835         (FTS): Use struct hash_table * instead of Hash_table, so that
94836         we no longer need to include hash.h here.
94837
94838 2005-05-18  Jim Meyering  <jim@meyering.net>
94839
94840         * modules/dirfd (License): Change to LGPL.  Most of the code
94841         is already in the public domain.
94842
94843 2005-05-18  Jim Meyering  <jim@meyering.net>
94844
94845         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
94846         Reported by Yoann Vandoorselaere.
94847
94848 2005-05-17  Jim Meyering  <jim@meyering.net>
94849
94850         * m4/fts.m4: New file, from coreutils.
94851
94852 2005-05-17  Jim Meyering  <jim@meyering.net>
94853
94854         * lib/fts.c, lib/fts_.h: New files, from coreutils.
94855
94856 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
94857
94858         Sync from coreutils.
94859         * m4/unlinkdir.m4: New file.
94860
94861 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
94862
94863         Sync from coreutils.
94864         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
94865         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
94866         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
94867         White space changes only.
94868         * lib/makepath.c (make_path): Port to hosts where leading "//" is
94869         special.
94870         * lib/yesno.c: Include getline.h, not ctype.h.
94871         (yesno): Don't remove leading white space; POSIX doesn't allow it.
94872         Use getline to remove arbitrary restriction on response length.
94873
94874 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
94875
94876         * config/srclist-update: Spell out "Street" in FSF postal
94877         mail address; this is the style the FSF seems to prefer.
94878
94879         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
94880         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
94881         this updates FSF postal mail address.
94882
94883         Sync from coreutils.
94884         * modules/unlinkdir: New file.
94885         * modules/yesno (Depends-on): Add getline.
94886         * MODULES.html.sh (File system functions): Add unlinkdir.
94887
94888 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
94889
94890         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
94891         lib/strsep.h:
94892         Change the initial comment to refer to GPL, not LGPL.
94893         gnulib-tool will change it to LGPL as needed.
94894
94895         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
94896         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
94897         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
94898         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
94899         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
94900         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
94901         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
94902         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
94903         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
94904         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
94905         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
94906         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
94907         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
94908         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
94909         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
94910         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
94911         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
94912         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
94913         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
94914         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
94915         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
94916         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
94917         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
94918         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
94919         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
94920         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
94921         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
94922         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
94923         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
94924         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
94925         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
94926         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
94927         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
94928         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
94929         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
94930         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
94931         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
94932         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
94933         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
94934         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
94935         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
94936         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
94937         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
94938         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
94939         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
94940         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
94941         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
94942         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
94943         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
94944         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
94945         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
94946         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
94947         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
94948         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
94949         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
94950         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
94951         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
94952         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
94953         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
94954         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
94955         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
94956         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
94957         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
94958         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
94959         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
94960         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
94961         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
94962         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
94963         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
94964         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
94965         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
94966         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
94967         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
94968         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
94969         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
94970         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
94971         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
94972         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
94973         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
94974         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
94975         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
94976         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
94977         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
94978         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
94979         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
94980         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
94981         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
94982         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
94983         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
94984         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
94985         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
94986         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
94987         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
94988         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
94989         lib/yesno.c, lib/yesno.h:
94990         Update FSF postal mail address.
94991
94992 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
94993
94994         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
94995         tests/test-memmem.c, tests/test-stpncpy.c:
94996         Update FSF postal mail address.
94997
94998 2005-05-13  Bruno Haible  <bruno@clisp.org>
94999
95000         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
95001         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
95002         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
95003         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
95004         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
95005         Add support for 64-bit integers in the MSVC compiler.
95006
95007 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
95008
95009         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
95010
95011 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
95012
95013         * gnulib-tool (func_import): Sort and uniquify recommended includes.
95014
95015 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
95016
95017         * doc/getdate.texi (General date syntax): Don't say that date
95018         date --iso-8601=ns generates acceptable dates; it doesn't yet.
95019         Problem reported by Nic Ferrier.
95020
95021 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
95022
95023         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
95024         specified in ai_socktype. Fix invalid ai_protocol
95025         check. ai_protocol is usually set to 0 or depending on
95026         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
95027         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
95028         ai_socktype / ai_protocol in the returned addrinfo structure.
95029
95030 2005-05-10  Simon Josefsson  <jas@extundo.com>
95031
95032         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
95033         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
95034
95035 2005-05-10  Karl Berry  <karl@gnu.org>
95036
95037         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
95038         (from http://www.gnu.org/licenses).
95039         * doc/COPYING.LIB: also rename to COPYING.LESSER.
95040         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
95041         fdl.texi suffices.
95042
95043 2005-05-10  Karl Berry  <karl@gnu.org>
95044
95045         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
95046         (COPYING.DOC): remove.
95047
95048         * config/srclist-update: new FSF address.
95049
95050 2005-05-10  Derek Price  <derek@ximbiot.com>
95051
95052         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
95053         possible.
95054
95055 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
95056             Bruno Haible  <bruno@clisp.org>
95057
95058         * modules/inet_ntop: New file.
95059         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
95060         inet_ntop.
95061
95062 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
95063             Bruno Haible  <bruno@clisp.org>
95064
95065         * m4/inet_ntop.m4: New file.
95066
95067 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
95068             Bruno Haible  <bruno@clisp.org>
95069
95070         * lib/inet_ntop.h: New file.
95071         * lib/inet_ntop.c: New file, from glibc with modifications.
95072
95073 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
95074
95075         * modules/time_r (License): Change to LGPL.
95076         * modules/extensions (License): Change to LGPL.  Actually,
95077         the license is more permissive than that, but currently gnulib-tool
95078         doesn't know how to handle more-permissive licenses.
95079
95080         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
95081         Problem reported by Dave Love.
95082
95083 2005-05-08  Jim Meyering  <jim@meyering.net>
95084
95085         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
95086         blank.
95087
95088 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
95089
95090         * modules/argmatch (Depends-on): Add stdbool.
95091         * modules/backupfile (Depends-on): Likewise.
95092         * modules/chdir-long (Depends-on): Likewise.
95093         * modules/closeout (Depends-on): Likewise.
95094         * modules/cycle-check (Depends-on): Likewise.
95095         * modules/dirname (Depends-on): Likewise.
95096         * modules/fnmatch (Depends-on): Likewise.
95097         * modules/fsusage (Depends-on): Likewise.
95098         * modules/fwriteerror (Depends-on): Likewise.
95099         * modules/getcwd (Depends-on): Likewise.
95100         * modules/getloadavg (Depends-on): Likewise.
95101         * modules/hard-locale (Depends-on): Likewise.
95102         * modules/makepath (Depends-on): Likewise.
95103         * modules/mountlist (Depends-on): Likewise.
95104         * modules/nanosleep (Depends-on): Likewise.
95105         * modules/posixtm (Depends-on): Likewise.
95106         * modules/quotearg (Depends-on): Likewise.
95107         * modules/readtokens (Depends-on): Likewise.
95108         * modules/readtokens0 (Depends-on): Likewise.
95109         * modules/readutmp (Depends-on): Likewise.
95110         * modules/save-cwd (Depends-on): Likewise.
95111         * modules/strftime (Depends-on): Likewise.
95112         * modules/userspec (Depends-on): Likewise.
95113         * modules/utimecmp (Depends-on): Likewise.
95114         * modules/xgetcwd (Depends-on): Likewise.
95115         * modules/xnanosleep (Depends-on): Likewise.
95116         * modules/xstrtod (Depends-on): Likewise.
95117         * modules/yesno (Depends-on): Likewise.
95118
95119 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
95120
95121         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
95122         needless checks.
95123
95124 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
95125
95126         Merge from coreutils.  Among other things,
95127         add bulletproofing for cases where stdin, stdout, or stderr are closed.
95128         * lib/fd-safer.c: New file.
95129         * lib/fcntl-safer.h, open-safer.c: Remove.
95130         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
95131         * lib/dup-safer.c: Include unistd-safer.h first.
95132         Don't include errno.h.
95133         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
95134         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
95135         * lib/file-type.c: Rely on file-type.h change.
95136         * lib/getloadavg.c: Include unistd-safer.h.
95137         (getloadavg): Use safer open.
95138         * lib/getusershell.c: Include "stdio-safer.h".
95139         (getusershell): Use safer fopen.
95140         * lib/long-options.c (long_options): Use NULL rather than 0.
95141         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
95142         'free'.
95143         * lib/modechange.c: Likewise.
95144         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
95145         (MODE_DONE): New constant.
95146         (struct mode_change): Remove 'next' member.
95147         (make_node_op_equals): New function; like the old one of the
95148         same name, except it allocates an array.
95149         (mode_compile, mode_create_from_ref): Use it.
95150         (mode_compile): Allocate result as an array, not a linked list.
95151         Parse octal string ourself, so that we catch mistakes like "+0".
95152         (mode_adjust): Arg is an array, not a linked list.
95153         * lib/modechange.c: Include stat-macros.h, xalloc.h.
95154         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
95155         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
95156         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
95157         Remove.  This is now stat-macros.h's job.
95158         (talloc): Remove.  All callers replaced by xalloc, so that
95159         our invokers don't have to worry about reporting memory failures.
95160         (make_node_op_equals): Remove.
95161         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
95162         New constants.
95163         (struct mode_change): Moved here from modechange.h.
95164         (mode_append_entry): Remove.
95165         (mode_compile): Remove MASKED_OPS arg, since it encouraged
95166         apps to have incorrect behavior.  Use simpler algorithm for head
95167         and tail.  Don't futz with umask; that's now the job of mode_adjust.
95168         Detect more invalid usages rather than having somewhat-random behavior.
95169         Don't insert an "a=" action, as that leads to incorrect behavior.
95170         (mode_compile, mode_create_from_ref): Return NULL on error instead
95171         of an enum, since now there's only one way to have an error.  All
95172         callers changed.
95173         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
95174         at the correct time.  Simplify calculation of "+u" and its ilk.
95175         Don't mishandle "+X".
95176         (mode_free): Remove "register" and localize decls.
95177         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
95178         (struct mode_change): Move to modechange.c; callers don't
95179         need to see this stuff.
95180         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
95181         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
95182         (mode_change, mode_adjust): Reflect the new signatures noted above.
95183         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
95184         that might redefine system include files.
95185         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
95186         (my_usleep): Use NULL rather than (void *) 0.
95187         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
95188         Use siginterrupt to specify that system calls should be interrupted.
95189         (rpl_nanosleep): Move initialization of suspended closer to call of
95190         my_usleep.
95191         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
95192         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
95193         (desirable_utmp_entry): New function.
95194         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
95195         using x2nrealloc, to simplify logic.
95196         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
95197         size calculation.  Do not assume utmp file is a regular file.
95198         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
95199         (READ_UTMP_CHECK_PIDS): New constant.
95200         * lib/save-cwd.c: Include unistd-safer.h.
95201         (save_cwd): Use fd_safer.
95202         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
95203         [!_LIBC] Include "stat-macros.h" instead.
95204         * lib/unistd-safer.h (fd_safer): New decl.
95205
95206 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
95207
95208         * modules/getloadavg (Depends-on): Add unistd-safer.
95209         * modules/getusershell (Depends-on): Add stdio-safer.
95210         * modules/lstat (Depends-on): Remove xalloc.
95211         * modules/mkstemp (Depends-on): Add stat-macros.
95212         * modules/modechange (Depends-on): Remove xstrtol.
95213         Add stat-macros, xalloc.
95214         * modules/save-cwd (Depends-on): Add unistd-safer.
95215         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
95216         * modules/unistd-safer (Files): Add lib/fd-safer.c
95217         (Makefile.am): Remove lib_SOURCES.
95218
95219         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
95220         Remove fcntl-safer; unistd-safer supersedes it.
95221
95222 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
95223
95224         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
95225         AC_HEADER_STAT.
95226         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
95227         (gl_PREREQ_CHOWN): Remove.
95228         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
95229         it.  Don't require AC_HEADER_STAT.
95230         (gl_PREREQ_LSTAT): Remove.
95231         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
95232         Don't require AC_HEADER_STAT.
95233         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
95234         (gl_PREREQ_RMDIR): Remove.
95235         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
95236         mention stat-macros.h or AC_HEADER_STAT, since we'll make
95237         the stat-macros module a prerequisite.
95238         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
95239         * m4/filemode.m4 (gl_FILEMODE): Likewise.
95240         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
95241         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
95242         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
95243         variable names.
95244         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
95245         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
95246         variable prefixes.
95247         * m4/fcntl-safer.m4: Remove.
95248         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
95249         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
95250         Invoke gl_PREREQ_FD_SAFER.
95251         (gl_PREREQ_FD_SAFER): New macro.
95252         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
95253         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
95254         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
95255         Remove duplicate call to AC_LIBOBJ(readutmp).
95256         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
95257
95258         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
95259         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
95260
95261 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
95262
95263         * MODULES.html.sh (Misc): Add byteswap.
95264
95265 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
95266
95267         * modules/getcwd (Depends-on): Add extensions.
95268         * modules/openat (Depends-on): Likewise.
95269
95270 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
95271
95272         * modules/byteswap: New file.
95273
95274 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
95275
95276         * m4/byteswap.m4: New file.
95277
95278 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
95279
95280         * lib/byteswap_.h: New file.
95281
95282 2005-04-25  Karl Berry  <karl@gnu.org>
95283
95284         * m4/gettext.m4: Update from GNU gettext 0.14.4.
95285
95286 2005-04-25  Albert Chin  <china@thewrittenword.com>
95287
95288         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
95289         Toolkit C bug.
95290
95291 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
95292
95293         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
95294         (func_ln_if_changed): Remove forcibly for no error message
95295         in case file does not exist.
95296
95297 2005-04-19  Simon Josefsson  <jas@extundo.com>
95298
95299         * gnulib-tool (Options): Make --symlink mean --symbolic.
95300
95301 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
95302
95303         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
95304
95305 2005-04-16  Simon Josefsson  <jas@extundo.com>
95306
95307         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
95308
95309 2005-04-15  Simon Josefsson  <jas@extundo.com>
95310
95311         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
95312
95313 2005-04-15  Simon Josefsson  <jas@extundo.com>
95314
95315         * gnulib-tool: Rename --symlink to --symbolic.
95316
95317 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
95318
95319         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
95320         symbolic links to files instead of copying/moving.  Add --aux-dir,
95321         specifying directory relative --dir where auxiliary build tools
95322         are placed.
95323
95324 2005-04-14  Bruno Haible  <bruno@clisp.org>
95325
95326         * modules/allocsa (License): Change to LGPL.
95327         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
95328
95329 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
95330
95331         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
95332         that "UTC +1 second" continues to work.  Problem reported
95333         by Dmitry V. Levin.
95334         (relunit_snumber): New rule.
95335         (relunit): Use it.
95336
95337 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
95338
95339         * lib/getdate.y (universal_time_zone_table): New constant.
95340         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
95341         universal_time_zone_table.
95342         (lookup_zone): Prefer universal_time_zone_table to
95343         local_time_zone_table, so that "GMT" time stamps are allowed in
95344         London during the summer.  Problem reported by Ian Abbott.
95345
95346 2005-04-12  Jim Meyering  <jim@meyering.net>
95347
95348         * lib/human.c (humblock): Set *options even when returning due to
95349         xstrtoumax conversion failure.  Thanks to a used-uninitialized
95350         warning from gcc-4.
95351
95352 2005-04-09  Jim Meyering  <jim@meyering.net>
95353
95354         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
95355         -Wuninitialized: initialize tm0.tm_year.
95356
95357 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
95358
95359         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
95360         count, since there's no maximum.  All uses changed.
95361         Add member dsts_seen.
95362         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
95363         not being INT_MAX.
95364         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
95365         Use pc_rels_seen to decide whether a date is absolute.
95366
95367         * lib/getdate.y (number): Don't overwrite year.
95368         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
95369         check.
95370
95371 2005-04-02  Simon Josefsson  <jas@extundo.com>
95372
95373         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
95374         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
95375
95376 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
95377
95378         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
95379         where no absolute path name can be longer than PATH_MAX.
95380
95381 2005-03-27  Jim Meyering  <jim@meyering.net>
95382
95383         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
95384
95385 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
95386
95387         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
95388         "one's complement" -> "ones' complement" in comment, as per Knuth.
95389         "value of type" -> "type or expression" in comment.
95390         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
95391
95392 2005-03-26  Jim Meyering  <jim@meyering.net>
95393
95394         Comment nits.
95395         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
95396         Correct typos: s/or/of/.
95397
95398 2005-03-26  Jim Meyering  <jim@meyering.net>
95399
95400         * modules/check-include-files: Move to ../ and rename to...
95401         * check-module: ...this.
95402
95403 2005-03-25  Jim Meyering  <jim@meyering.net>
95404
95405         * modules/xvasprintf (Files): Add xalloc.h.
95406
95407 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
95408
95409         * modules/gettext (Files): config/config.rpath ->
95410         build-aux/config.rpath
95411         * modules/iconv (Files): Likewise.
95412         Problem reported by Oskar Liljeblad.
95413
95414 2005-03-23  Jim Meyering  <jim@meyering.net>
95415
95416         * modules/check-include-files: New script to check for
95417         missing dependencies, multiple includes, etc.
95418
95419         * modules/c-strtold (Depends-on): Add xalloc.
95420         * modules/c-strtod (Depends-on): Add xalloc.
95421         * modules/hash (Depends-on): Add xalloc.
95422         (Files): Remove lib/xalloc.h.
95423
95424         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
95425         * modules/userspec (Files): Add lib/inttostr.h.
95426
95427 2005-03-23  Jim Meyering  <jim@meyering.net>
95428
95429         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
95430
95431 2005-03-22  Jim Meyering  <jim@meyering.net>
95432
95433         * modules/stat-macros: New module.
95434         * modules/canonicalize, modules/euidaccess, modules/file-type,
95435         * modules/filemode, modules/lchown, modules/makepath,
95436         * modules/rmdir, modules/stat: Depend on new stat-macros module
95437         rather than listing lib/stat-macros.h manually.
95438         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
95439
95440 2005-03-22  Jim Meyering  <jim@meyering.net>
95441
95442         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
95443
95444 2005-03-22  Bruno Haible  <bruno@clisp.org>
95445
95446         * config/srclist.txt: Replace target directory 'config' with
95447         'build-aux'.
95448         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
95449         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
95450         ../build-aux/.
95451
95452 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
95453
95454         * modules/chdir-long (Depends-on): Add mempcpy.
95455
95456         * modules/acl, modules/backupfile, modules/c-strtod,
95457         modules/c-strtold, modules/canon-host, modules/canonicalize,
95458         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
95459         modules/exclude, modules/exitfail, modules/file-type,
95460         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
95461         modules/getdate, modules/getline, modules/getpagesize,
95462         modules/getpass, modules/getugroups, modules/group-member,
95463         modules/hard-locale, modules/hash, modules/human, modules/idcache,
95464         modules/inttostr, modules/long-options, modules/makepath,
95465         modules/md5, modules/memcasecmp, modules/memcoll,
95466         modules/modechange, modules/mountlist, modules/path-concat,
95467         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
95468         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
95469         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
95470         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
95471         modules/strftime, modules/strndup, modules/strverscmp,
95472         modules/timespec, modules/unlocked-io, modules/userspec,
95473         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
95474         modules/yesno:
95475         Remove lib_SOURCES line from Makefile.am section, as this is now
95476         done automatically by the corresponding Autoconf macro.
95477
95478 2005-03-21  Jim Meyering  <jim@meyering.net>
95479
95480         Changes imported from coreutils.
95481
95482         * lib/cycle-check.c: Don't include xalloc.h.
95483
95484         * lib/path-concat.c: Don't include assert.h.
95485         (path_concat): Remove assertion that would have triggered
95486         for ABASE starting with more than one slash.
95487         Reported by Andreas Schwab.
95488
95489         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
95490         properly when ABASE is an absolute file name.
95491         Correct the description of this function.
95492         Include <assert.h>.
95493         Add an assertion and a test driver.
95494         This fixes a bug introduced on 2004-07-02.
95495         Andreas Schwab reported the resulting failure of cp --parents:
95496         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
95497
95498 2005-03-21  Jim Meyering  <jim@meyering.net>
95499
95500         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
95501         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
95502
95503 2005-03-21  Jim Meyering  <jim@meyering.net>
95504         and  Paul Eggert  <eggert@cs.ucla.edu>
95505
95506         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
95507         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
95508         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
95509         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
95510         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
95511         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
95512         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
95513         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
95514         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
95515         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
95516         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
95517         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
95518         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
95519         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
95520         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
95521         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
95522         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
95523         for these modules.
95524
95525 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
95526
95527         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
95528         (which shouldn't happen), generate nothing instead of returning 0
95529         immediately, so that nstrftime (NULL, ...) doesn't return 0.
95530
95531 2005-03-16  Bruno Haible  <bruno@clisp.org>
95532
95533         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
95534         HAVE_LONGLONG_64BIT.
95535
95536 2005-03-16  Bruno Haible  <bruno@clisp.org>
95537
95538         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
95539         HAVE_LONGLONG_64BIT.
95540
95541 2005-03-16  Bruno Haible  <bruno@clisp.org>
95542
95543         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
95544         HAVE_LONGLONG_64BIT.
95545
95546 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
95547
95548         * lib/strftime.c (my_strftime): Prepend space to format so that we can
95549         reliably distinguish strftime failure from empty output on POSIX
95550         hosts.
95551
95552 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
95553
95554         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
95555         (iconv_string): Don't guess a size-zero buffer, as that might cause
95556         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
95557         result would be 'too large', where 'too large' is (heuristically)
95558         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
95559         overflow concerns.  This will prevent some unwanted malloc failures
95560         when the inputs are very large.
95561
95562 2005-03-15  Karl Berry  <karl@gnu.org>
95563
95564         * config/srclist.txt (config.rpath): from gettext.
95565         * config/config.rpath: update.
95566
95567 2005-03-15  Bruno Haible  <bruno@clisp.org>
95568
95569         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
95570         to 'negate'.
95571
95572         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
95573         variable.
95574
95575         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
95576         results.
95577
95578 2005-03-14  Simon Josefsson  <jas@extundo.com>
95579
95580         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
95581         <fx@gnu.org>.
95582
95583 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
95584
95585         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
95586         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
95587         intprops.h.
95588         * lib/strtol.c: Likewise.
95589
95590 2005-03-14  Jim Meyering  <jim@meyering.net>
95591
95592         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
95593         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
95594         to be nonzero so that we (and caller) can detect the difference
95595         between a valid zero-length expansion and an error return, even
95596         when the underlying strftime fails before writing anything into
95597         that location.
95598
95599 2005-03-14  Bruno Haible  <bruno@clisp.org>
95600
95601         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
95602         Update from GNU gettext 0.14.3.
95603
95604 2005-03-10  Jim Meyering  <jim@meyering.net>
95605
95606         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
95607
95608 2005-03-10  Jim Meyering  <jim@meyering.net>
95609
95610         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
95611         so that this module works on systems without fchdir.
95612
95613 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
95614
95615         Factor int-properties macros into a single file, except for
95616         glibc-related files.
95617         * lib/intprops.h: New file.
95618         * lib/getloadavg.c: Include it instead of limits.h.
95619         (INT_STRLEN_BOUND): Remove.
95620         * lib/human.c: Include intprops.h.
95621         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
95622         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
95623         302/1000.
95624         * lib/inttostr.h: Include intprops.h instead of limits.h.
95625         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
95626         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
95627         for consistency with intprops.h.
95628         (time_t_is_integer, twos_complement_arithmetic): Use them.
95629         * lib/sig2str.h: Include <signal.h>, intprops.h.
95630         (INT_STRLEN_BOUND): Remove.
95631         * lib/strftime.c (TYPE_SIGNED): Remove.
95632         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
95633         * lib/strtol.c: Adjust comments to match intprops.h.
95634         * lib/userspec.c: Include intprops.h.
95635         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
95636         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
95637         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
95638         instead of rolling our own expressions.
95639         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
95640
95641         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
95642         instead of int.
95643         (my_strftime): Do not mishandle years close to INT_MAX, by doing
95644         the right thing even if adding 1900 would overflow.  Similarly
95645         for tm_mon + 1 and tm_yday + 1.
95646         Make %Y always equivalent to %C%y, and similarly for %G and %g.
95647         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
95648         (DO_SIGNED_NUMBER): New macro.
95649         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
95650
95651 2005-03-07  Bruno Haible  <bruno@clisp.org>
95652
95653         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
95654
95655 2005-03-07  Bruno Haible  <bruno@clisp.org>
95656
95657         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
95658
95659 2005-03-04  Derek R. Price  <derek@ximbiot.com>
95660
95661         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
95662         (func_import): Only replace files via --import when they have actually
95663         changed.
95664
95665 2005-03-03  Derek R. Price  <derek@ximbiot.com>
95666
95667         * m4/mmap-anon.m4: New file.
95668         * m4/pagealign_alloc.m4: New file.
95669
95670 2005-03-03  Derek R. Price  <derek@ximbiot.com>
95671             Bruno Haible  <bruno@clisp.org>
95672
95673         * modules/pagealign_alloc: New file.
95674         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
95675
95676 2005-03-03  Derek R. Price  <derek@ximbiot.com>
95677             Bruno Haible  <bruno@clisp.org>
95678
95679         * lib/pagealign_alloc.h: New file.
95680         * lib/pagealign_alloc.c: New file.
95681
95682 2005-03-03  Bruno Haible  <bruno@clisp.org>
95683
95684         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
95685         Use an all-permissive copyright notice, recommended by RMS.
95686
95687 2005-03-02  Bruno Haible  <bruno@clisp.org>
95688
95689         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
95690         of AIX, the replacement has to be done only after <string.h> is
95691         included, therefore not in config.h. stpncpy.h does the replacement,
95692         and stpncpy.c uses it.
95693
95694 2005-03-02  Bruno Haible  <bruno@clisp.org>
95695
95696         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
95697         stpncpy.c uses it.
95698
95699 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
95700
95701         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
95702         The workaround isn't strictly needed for POSIX conformance, and
95703         it's too much of a pain to configure and maintain.  We'll ask
95704         people to fix their kernels instead.
95705         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
95706         (NANOSLEEP_BUG_WORKAROUND): Remove.
95707         (xnanosleep): Remove the workaround.
95708
95709 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
95710
95711         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
95712         Reported by Derek Price.
95713         (Include): Add "timespec.h".
95714
95715         * modules/xnanosleep (Depends-on): Remove gethrxtime.
95716
95717 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
95718
95719         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
95720         to detect nanosleep bug.
95721
95722 2005-03-01  Bruno Haible  <bruno@clisp.org>
95723
95724         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
95725
95726 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
95727
95728         * modules/gethrxtime: New file.
95729         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
95730         (Depends-on): Add gethrxtime.
95731         (configure.ac): Add gl_XNANOSLEEP.
95732         (Makefile.am): Remove lib_SOURCES line.
95733
95734 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
95735
95736         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
95737         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
95738
95739 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
95740
95741         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
95742         * lib/timespec.h (gettime): Return void, since it always
95743         succeeds now.  All uses changed.
95744         * lib/gettime.c (gettime): Likewise.
95745         [HAVE_NANOTIME]: Prefer nanotime.
95746         Assume gettimeofday succeeds, as POSIX requires.
95747         Assime time () succeeds, since other code already does.
95748         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
95749         (timespec_subtract): Remove.
95750         (NANOSLEEP_BUG_WORKAROUND): New constant.
95751         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
95752         things considerably.  Use it only on GNU/Linux hosts, since the
95753         workaround shouldn't be needed elsewhere.
95754
95755 2005-02-24  Bruno Haible  <bruno@clisp.org>
95756
95757         * modules/gettext (Files): Add m4/glibc2.m4.
95758
95759 2005-02-24  Bruno Haible  <bruno@clisp.org>
95760
95761         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
95762         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
95763         * m4/progtest.m4:
95764         Update from GNU gettext 0.14.2.
95765         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
95766
95767 2005-02-24  Bruno Haible  <bruno@clisp.org>
95768
95769         * lib/localcharset.c: Update from GNU gettext 0.14.2.
95770         * lib/config.charset: Update from GNU gettext 0.14.2.
95771
95772 2005-02-24  Bruno Haible  <bruno@clisp.org>
95773
95774         * lib/gettext.h: Update from GNU gettext 0.14.2.
95775
95776 2005-02-23  Simon Josefsson  <jas@extundo.com>
95777
95778         * m4/iconvme.m4: New file.
95779
95780 2005-02-23  Jim Meyering  <jim@meyering.net>
95781
95782         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
95783         change.
95784         Thanks to Bruno Haible for catching it.
95785
95786 2005-02-22  Simon Josefsson  <jas@extundo.com>
95787
95788         * modules/iconvme: New file.
95789
95790         * MODULES.html.sh: Add iconvme.
95791
95792 2005-02-22  Simon Josefsson  <jas@extundo.com>
95793
95794         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
95795
95796 2005-02-22  Simon Josefsson  <jas@extundo.com>
95797
95798         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
95799
95800 2005-02-22  Jim Meyering  <jim@meyering.net>
95801
95802         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
95803         s/ifndef/ifdef/.
95804
95805 2005-02-20  Neil Conway  <neilc@samurai.com>
95806
95807         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
95808         returned by OSX/Darwin if the specified buffer is not large
95809         enough for the hostname.
95810
95811 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
95812
95813         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
95814         pass it to _help, otherwise the latter coredumps trying to
95815         dereference state.root_argp.
95816
95817 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
95818
95819         * modules/chdir-long (Depends-on): Add memrchr.
95820         * modules/memrchr (Files): Add lib/memrchr.h.
95821         (Include): "memrchr.h".
95822
95823 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
95824
95825         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
95826
95827 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
95828
95829         * lib/memrchr.h: New file.
95830         * lib/chdir-long.c: Include it.
95831         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
95832         Don't bother including stddef.h.
95833
95834 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
95835
95836         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
95837         inclusion.
95838         Include <sys/types.h>, for dev_t.
95839         (ME_DUMMY, ME_REMOTE): Move from here....
95840         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
95841         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
95842         Dmitry V. Levin.
95843         Include mountlist.h first, to test the interface.
95844
95845 2005-01-29  Bruno Haible  <bruno@clisp.org>
95846
95847         * lib/progname.c (program_name): Initialize.
95848         Needed when linking statically on MacOS X.
95849
95850 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
95851
95852         Sync from coreutils.
95853         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
95854         (Depends-on): Add c-strtod.
95855         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
95856
95857 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
95858
95859         Sync from coreutils.
95860         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
95861
95862         Remove files that are specific to coreutils.
95863         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
95864
95865 2005-01-28  Bruno Haible  <bruno@clisp.org>
95866
95867         * modules/javacomp: New file.
95868         * MODULES.html.sh (Java): Add javacomp.
95869
95870 2005-01-28  Bruno Haible  <bruno@clisp.org>
95871
95872         * m4/javacomp.m4: New file, from GNU gettext.
95873
95874 2005-01-28  Bruno Haible  <bruno@clisp.org>
95875
95876         * lib/javacomp.sh.in: New file, from GNU gettext.
95877         * lib/javacomp.h: New file, from GNU gettext.
95878         * lib/javacomp.c: New file, from GNU gettext.
95879
95880 2005-01-26  Simon Josefsson  <jas@extundo.com>
95881
95882         * lib/gai_strerror.c: Use GPL in header.
95883
95884 2005-01-26  Bruno Haible  <bruno@clisp.org>
95885
95886         * modules/javaexec: New file.
95887         * MODULES.html.sh (Java): Add javaexec.
95888
95889 2005-01-26  Bruno Haible  <bruno@clisp.org>
95890
95891         * m4/javaexec.m4: New file, from GNU gettext.
95892
95893 2005-01-26  Bruno Haible  <bruno@clisp.org>
95894
95895         * lib/javaexec.sh.in: New file, from GNU gettext.
95896         * lib/javaexec.h: New file, from GNU gettext.
95897         * lib/javaexec.c: New file, from GNU gettext.
95898
95899 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
95900
95901         * modules/lchown (Depends-on): Remove lchown.h
95902
95903 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
95904
95905         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
95906         must be defined if the header file was not found, in order
95907         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
95908
95909 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
95910
95911         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
95912         initializers for struct pentry_state.
95913         (__argp_error): Check return value of __asprintf
95914         (__argp_failure): Translate error message
95915
95916         * lib/argp-parse.c: Removed braces around the expansion of N_()
95917
95918 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
95919
95920         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
95921         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
95922         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
95923         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
95924         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
95925         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
95926         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
95927         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
95928         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
95929         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
95930         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
95931         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
95932         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
95933         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
95934         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
95935         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
95936         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
95937         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
95938         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
95939         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
95940         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
95941         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
95942         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
95943         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
95944         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
95945         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
95946         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
95947         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
95948         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
95949         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
95950         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
95951         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
95952         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
95953         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
95954         xstrtol.m4, xstrtoumax.m4, yesno.m4:
95955         Use an all-permissive copyright notice, recommended by RMS.
95956
95957 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
95958
95959         * modules/chdir-long (Depends-on): Remove mempcpy.
95960
95961 2005-01-21  Jim Meyering  <jim@meyering.net>
95962
95963         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
95964         same value as for Solaris 9.
95965
95966         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
95967         component length.  This included changing the parameter to be
95968         of type `char *' rather than `char const *'.
95969         * lib/chdir-long.h (chdir_long): Update prototype.
95970
95971         * lib/openat.c (fdopendir, fstatat): New functions.
95972         * lib/openat.h: Include headers required for use of DIR and struct
95973         stat.
95974         [AT_SYMLINK_NOFOLLOW]: Define.
95975         (fdopendir, fstatat): Add prototypes.
95976
95977 2005-01-21  Bruno Haible  <bruno@clisp.org>
95978
95979         * modules/classpath: New file.
95980         * MODULES.html.sh (Java): Add classpath.
95981
95982 2005-01-21  Bruno Haible  <bruno@clisp.org>
95983
95984         * lib/classpath.h: New file, from GNU gettext.
95985         * lib/classpath.c: New file, from GNU gettext.
95986
95987 2005-01-20  Simon Josefsson  <jas@extundo.com>
95988
95989         * modules/version-etc-fsf: New file.
95990
95991 2005-01-20  Simon Josefsson  <jas@extundo.com>
95992
95993         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
95994         * lib/version-etc.c: Remove version_etc_copyright.
95995         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
95996         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
95997
95998 2005-01-20  Simon Josefsson  <jas@extundo.com>
95999
96000         * lib/base64.h (isbase64): Add.
96001
96002         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
96003         using a unsigned prototype, don't inline.
96004         (base64_decode): Use it.
96005
96006 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
96007
96008         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
96009         it.
96010
96011 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
96012
96013         * lib/save-cwd.c (save_cwd): Remove code to support the case
96014         where fchdir is missing or flaky.
96015
96016 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
96017
96018         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
96019
96020 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
96021
96022         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
96023         AC_LIBSOURCES now does this.
96024         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
96025         with new ullong_max module.
96026
96027 2005-01-19  Bruno Haible  <bruno@clisp.org>
96028
96029         * modules/sh-quote: New file.
96030         * MODULES.html.sh (Executing programs): Add sh-quote.
96031
96032 2005-01-19  Bruno Haible  <bruno@clisp.org>
96033
96034         * lib/sh-quote.h: New file, from GNU gettext.
96035         * lib/sh-quote.c: New file, from GNU gettext.
96036
96037 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
96038
96039         Merge from coreutils.
96040         * m4/ullong_max.m4: New file.
96041         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
96042         (gl_MACROS): Assume localeconv exists.
96043
96044 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
96045
96046         Merge changes from coreutils, as described below in several
96047         changelogs dated today.
96048
96049         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
96050         (O_DIRECTORY): Remove; not needed here, since "." must be
96051         a directory.  All uses removed.
96052         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
96053         universal on Suns, and we also need to test for IRIX.
96054         Revamp code to use 'if' rather than '#if'.
96055         Avoid unnecessary comparison of cwd->desc to 0.
96056
96057         * lib/utimens.c (futimens): Robustify the previous patch, by checking
96058         for known valid error numbers rather than observed invalid ones.
96059
96060 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
96061
96062         * modules/ullong_max: New file.
96063
96064         * modules/chdir-long, modules/openat: New files.
96065         * modules/save-cwd (Depends-on): Depend on chdir-long.
96066         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
96067
96068 2005-01-18  Jim Meyering  <jim@meyering.net>
96069
96070         Merge from coreutils.
96071         * m4/chdir-long.m4, m4/openat.m4: New files.
96072         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
96073         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
96074         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
96075         is sane and DOES follow symlinks.  Besides, testing 20 different
96076         systems found no broken chown implementations.
96077         Prompted by a change in rsync's copy of this macro.
96078         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
96079
96080         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
96081
96082         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
96083         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
96084         NULL-means-set-to-current-time semantics.
96085         Remove temporary file immediately, rather than waiting
96086         for configure's at-exit trap code to do it.
96087
96088 2005-01-18  Jim Meyering  <jim@meyering.net>
96089
96090         * lib/version-etc.c (version_etc_copyright): Update copyright date.
96091
96092         * lib/utimens.c (futimens): Account for the fact that futimes
96093         can also fail with errno == ENOSYS or errno == ENOENT.
96094         Patch from Dmitry V. Levin.
96095
96096         Change the name of the robust chdir function from chdir to chdir_long.
96097         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
96098         (restore_cwd): Use chdir_long, not chdir.
96099         * lib/chdir-long.c: Renamed from chdir.c.
96100         * lib/chdir-long.h: Renamed from chdir.h.
96101         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
96102         Hurd.
96103
96104 2005-01-18  Bruno Haible  <bruno@clisp.org>
96105
96106         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
96107         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
96108         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
96109         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
96110         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
96111         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
96112         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
96113         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
96114         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
96115         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
96116         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
96117         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
96118         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
96119         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
96120         Use an all-permissive copyright notice, recommended by RMS.
96121
96122 2005-01-18  Bob Proulx  <bob@proulx.com>
96123
96124         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
96125         simplify offsetof() macro construct to avoid compile failure with
96126         native HP-UX 11.0 ANSI C compiler.
96127
96128 2005-01-17  Bruno Haible  <bruno@clisp.org>
96129
96130         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
96131         redundant because stpncpy.m4 takes care of it.
96132
96133 2005-01-17  Bruno Haible  <bruno@clisp.org>
96134
96135         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
96136
96137 2005-01-17  Bruno Haible  <bruno@clisp.org>
96138
96139         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
96140         used.
96141
96142 2005-01-17  Bruno Haible  <bruno@clisp.org>
96143
96144         * lib/fwriteerror.h (fwriteerror): Change specification to include
96145         fclose.
96146         * lib/fwriteerror.c: Include <stdbool.h>.
96147         (fwriteerror): At the end, close the file stream. Record whether
96148         stdout was already closed.
96149
96150 2005-01-17  Bruno Haible  <bruno@clisp.org>
96151
96152         * lib/execute.c (environ): Declare if needed.
96153         * lib/pipe.c (environ): Likewise.
96154         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
96155
96156 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
96157
96158         * modules/argp: Depend on vsnprintf
96159
96160 2005-01-10  Jim Meyering  <jim@meyering.net>
96161
96162         * modules/closeout (Depends-on): Add atexit.
96163
96164 2005-01-06  Bruno Haible  <bruno@clisp.org>
96165
96166         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
96167
96168 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
96169
96170         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
96171         definitions to be after all include files, to avoid collisions.
96172         Problem reported by Bob Proulx.
96173
96174 2005-01-04  Jim Meyering  <jim@meyering.net>
96175
96176         Changes imported from coreutils.
96177         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
96178         as the mkstemp template, use a temporary directory and an
96179         8.3-friendly template to avoid trouble on systems like DJGPP.
96180         Reported by Juan M. Guerrero via Stepan Kasal.
96181         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
96182         close. Remove the temporary directory right away, rather than waiting
96183         for configure's at-exit trap code to do it.
96184         Suggestion from Stepan Kasal.
96185
96186 2005-01-01  Simon Josefsson  <jas@extundo.com>
96187
96188         * gnulib-tool: Print #include directives when --import'ing.
96189
96190 2004-12-28  Simon Josefsson  <jas@extundo.com>
96191
96192         * tests/test-base64.c: Include required header files.  Remove
96193         unused variables.
96194
96195 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
96196
96197         * modules/error (Depends-on): Remove gettext.
96198
96199 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
96200
96201         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
96202         not needed.  This removes a dependency on the gettext module.
96203         [defined _LIBC]: Do not include <libintl.h>; not needed.
96204
96205 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
96206
96207         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
96208         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
96209
96210 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
96211
96212         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
96213         HAVE_DECL_STRTOLD.
96214
96215 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
96216
96217         * modules/getdate (Depends-on): Remove alloca-opt.
96218
96219 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
96220
96221         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
96222
96223 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
96224
96225         * lib/argp-parse.c: Include <stddef.h>.
96226         (alignof, alignto): New macros.
96227         (parser_init): Don't assume that void * is aligned sufficiently
96228         for struct option.
96229
96230         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
96231         need to extend the stack.
96232         (YYINITDEPTH): New macro, so that the initial stack isn't overly
96233         large.
96234
96235 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
96236
96237         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
96238
96239 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
96240
96241         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
96242         (2004-10-24) change.  Apparently this was a false alarm.
96243
96244         * modules/getdate: Depend on alloca-opt, not alloca.
96245
96246 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
96247
96248         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
96249         Remove now-obsolete comment about AIX.
96250         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
96251         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
96252         (YYMAXDEPTH): New macro.
96253
96254 2004-12-18  Simon Josefsson  <jas@extundo.com>
96255
96256         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
96257
96258 2004-12-18  Bruno Haible  <bruno@clisp.org>
96259
96260         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
96261
96262 2004-12-18  Bruno Haible  <bruno@clisp.org>
96263
96264         * lib/fatal-signal.c (fatal_signals): Make non-const.
96265         (init_fatal_signals): New function.
96266         (uninstall_handlers, install_handlers): Ignore signals that were set to
96267         SIG_IGN.
96268         (at_fatal_signal): Call init_fatal_signals.
96269         (init_fatal_signal_set): Likewise. Ignore signals that were set to
96270         SIG_IGN.
96271         Reported by Paul Eggert.
96272
96273 2004-12-18  Bruno Haible  <bruno@clisp.org>
96274
96275         * doc/alloca.texi: New file.
96276         * doc/alloca-opt.texi: New file.
96277
96278 2004-12-17  Jim Meyering  <jim@meyering.net>
96279
96280         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
96281         Otherwise, install-sh could exit with improper exit status when
96282         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
96283
96284 2004-12-16  Simon Josefsson  <jas@extundo.com>
96285
96286         * tests/test-base64.c: Add license.
96287
96288 2004-12-15  Stepan Kasal  <address@hidden>
96289
96290         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
96291
96292 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
96293
96294         * modules/getcwd (Files): Add m4/d-ino.m4.
96295         Suggested by Mark D. Baushke.
96296
96297 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
96298
96299         * lib/getdate.y (textint): New member "negative".
96300         (time_zone_hhmm): New function.
96301         Expect 14 shift-reduce conflicts, not 13.
96302         (o_colon_minutes): New rule.
96303         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
96304         (yylex): Set the "negative" member of signed numbers.
96305
96306 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
96307
96308         * doc/getdate.texi (Time of day items, Time zone items):
96309         Describe new formats +00:00, UTC+00:00.
96310
96311 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
96312
96313         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
96314         spurious "-l"s.  Problem reported by Stepan Kasal.
96315
96316 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
96317
96318         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
96319         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
96320
96321 2004-12-04  Simon Josefsson  <jas@extundo.com>
96322
96323         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
96324         Vandoorselaere <yoann@prelude-ids.org>.
96325
96326 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
96327
96328         Changes imported from coreutils.
96329         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
96330         exist.
96331         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
96332
96333 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
96334
96335         Changes imported from coreutils.
96336         * lib/hard-locale.c: Assume <locale.h> exists.
96337         Include "strdup.h".
96338         (GLIBC_VERSION): New macro.
96339         (hard_locale): Assume setlocale exists.
96340         Rewrite to avoid #ifdef.
96341         Use strdup rather than malloc + strcpy.
96342         * lib/human.c: Assume <locale.h> exists.
96343         (human_readable): Assume localeconv exists.
96344
96345 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
96346
96347         * modules/hard-locale (Depends-on): Add strdup.
96348
96349 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
96350
96351         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
96352         convert T2, not T.  (Imported from libc.)
96353
96354 2004-11-30  Simon Josefsson  <jas@extundo.com>
96355
96356         * modules/restrict (License): Change to LGPL.
96357
96358 2004-11-30  Simon Josefsson  <jas@extundo.com>
96359
96360         * m4/restrict.m4: Add copyright and copying conditions.
96361
96362 2004-11-30  Simon Josefsson  <jas@extundo.com>
96363
96364         * m4/base64.m4: New file.
96365
96366 2004-11-30  Simon Josefsson  <jas@extundo.com>
96367
96368         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
96369         base64.
96370
96371         * tests/test-base64.c: New file.
96372
96373         * modules/base64: New file.
96374
96375 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
96376
96377         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
96378         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
96379
96380         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
96381
96382 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
96383
96384         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
96385         (__getcwd.c): Don't restore errno; glibc doesn't.
96386         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
96387         first, falling back to our code only if its results look suspicious.
96388         Ensure that the resulting buffer is only as large as necessary.
96389
96390         * lib/readutmp.c: Include readutmp.h first.
96391         Include <errno.h>, since readutmp.h no longer does that.
96392         * lib/readutmp.h: Don't include <errno.h>,
96393         <sys/param.h>, <time.h>; not needed to establish interface.
96394         (errno): Remove decl.
96395         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
96396         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
96397         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
96398
96399 2004-11-28  Simon Josefsson  <jas@extundo.com>
96400
96401         * lib/base64.h, base64.c: New file.
96402
96403 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
96404
96405         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
96406
96407 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
96408
96409         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
96410         (Depends-on): Remove pathmax, same.  Add mempcpy.
96411         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
96412         (Makefile.am): Append getcwd.h to lib_SOURCES.
96413         (Include): Add getcwd.h.
96414         (Maintainer): Change from Jim Meyering to "all, glibc",
96415         since getdate now uses intended-for-glibc code.
96416         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
96417         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
96418
96419 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
96420
96421         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
96422         HP's ANSI C compiler.
96423         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
96424         Declaring int functions causes warnings on some modern systems and
96425         shouldn't be needed to compile on ancient ones.
96426         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
96427         defined.
96428
96429         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
96430         with the following changes.
96431         (__set_errno): Parenthesize properly.
96432         Include <stdbool.h>.
96433         (MIN, MAX, MATCHING_INO): New macros.
96434         (__getcwd): Define with prototype, not K&R form.
96435         Use heuristics to allocate default buffer on stack if possible.
96436         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
96437         behavior, and to avoid the PATH_MAX limit when computing
96438         ../../../../...
96439         Use MATCHING_INO to compare inode number to file.
96440         Check for arithmetic overflow in size calculations.
96441         Fix bug in reallocation of dot array that caused getcwd to fail
96442         on directories nested deeper than 75.
96443         Be more careful about saving errno on error.
96444         Do not use realloc; use only free+malloc, as this is a bit
96445         more flexible and avoids a needless copy operation.
96446         Do not inspect st_dev and st_ino for symbolic links; POSIX
96447         doesn't specify the latter.
96448         Check for closedir errors.
96449         Avoid needless casts.
96450         Use "#ifdef weak_alias" around weak_alias, to be like other
96451         glibc code.
96452         The following changes to getcwd.c have effect only when used in
96453         gnulib; they have no effect inside glibc proper.
96454         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
96455         as alloca isn't used.
96456         (alloca, __alloca): Likewise.
96457         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
96458         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
96459         unconditionally, as gnulib assumes C89 or better.
96460         Do not include <sys/param.h>.
96461         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
96462         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
96463         better.
96464         (NULL) [!defined NULL]: Remove; we assume C89 or better.
96465         Include <dirent.h> in a way that is compatible with modern Autoconf.
96466         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
96467         New macros, if not already defined.
96468         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
96469         Use "_LIBC", not "defined _LIBC", for consistency.
96470         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
96471         a mempcpy module.
96472         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
96473         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
96474         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
96475         credit only to Jim Meyering and adjust the copyright dates.
96476         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
96477         <stdlib.h>, <unistd.h>, "pathmax.h".
96478         Instead, include "xgetcwd.h" (first) and "getcwd.h".
96479         (INITIAL_BUFFER_SIZE): Remove.
96480         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
96481
96482 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
96483
96484         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
96485         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
96486         Use the _ONCE methods, for efficiency.
96487         Check for fcntl.h.  In test program, include <errno.h>
96488         and <fcntl.h> if available.  Remove old K&R cruft from
96489         test program.  Check for common errors in GNU/Linux,
96490         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
96491         don't do AC_LIBOBJ, as that's getcwd.m4's job.
96492         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
96493         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
96494         name accordingly.
96495         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
96496         accommodate new getcwd.c.
96497         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
96498         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
96499         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
96500         that's all we need now.
96501
96502 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
96503
96504         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
96505         argp-parse.c depends on getopt internals, that means we should
96506         always use our getopt, to be on the safe side.
96507         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
96508         order not to spoil the result of an eventual previous invocation
96509         of gl_GETOPT_SUBSTITUTE.
96510
96511 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
96512
96513         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
96514         redefinition warnings. To avoid them, include the defines
96515         in `#if !defined __need_getopt ... #endif'. The only place
96516         where __getopt_argv_const is used is in definitions
96517         of getopt_long and getopt_long_only below, which are as well
96518         protected by `#ifndef __need_getopt'.
96519         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
96520         __need_getopt after including <stdio.h> and <unistd.h> These
96521         headers might have defined it.
96522
96523 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
96524
96525         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
96526
96527 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
96528
96529         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
96530         (futimens): New function, which uses futimes if available.
96531         (futimens, utimens): Support timespec==NULL, with same semantics
96532         as utime and utimens.
96533         * lib/utimens.h (futimens): New decl.
96534
96535 2004-11-23  Jim Meyering  <jim@meyering.net>
96536
96537         * lib/getopt_.h: Remove trailing blanks.
96538
96539 2004-11-23  Jim Meyering  <jim@meyering.net>
96540
96541         * lib/__fpending.c: Add comment.
96542
96543 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
96544
96545         * modules/canonicalize (Depends-on): Add xreadlink.
96546         Problem reported by James Youngman.
96547
96548 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
96549
96550         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
96551         New macros.
96552         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
96553         optopt): Use them instead of invoking ## directly; otherwise, the
96554         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
96555
96556 2004-11-19  Bruno Haible  <bruno@clisp.org>
96557
96558         * lib/strtok_r.c: Move comments from here...
96559         * lib/strtok_r.h: ... to here.
96560
96561 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
96562
96563         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
96564         implementations that mishandle size_t overflow.
96565
96566 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
96567
96568         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
96569         might fail.  Problem reported by Yoann Vandoorselaere.
96570         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
96571         implementations that mishandle size_t overflow.
96572
96573 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
96574
96575         * modules/canon-host (Depends-on): Add strdup.
96576
96577 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
96578
96579         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
96580
96581 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
96582
96583         * lib/canon-host.c: Include "strdup.h".
96584         (canon_host): Use getaddrinfo if available, so that IPv6 works.
96585         Use strdup instead of malloc/strcpy to duplicate strings.
96586
96587         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
96588         (human_space_before_unit): New constant.
96589         * lib/human.c (human_readable): Support it.
96590
96591         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
96592         (xgetcwd): Set errno correctly when failing.
96593         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
96594         the failure is actually due to a PATH_MAX problem.
96595
96596         Further getopt changes to make it more likely that glibc will
96597         buy the changes back.
96598         * lib/getopt.c (POSIXLY_CORRECT): New constant.
96599         (getopt): Use it, so to preserve glibc semantic
96600         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
96601         when compiling for libc.
96602         * lib/getopt_.h (__getopt_argv_const): Bring it back.
96603         (getopt_long, getopt_long_only): Use it.
96604
96605         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
96606         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
96607         (getopt): Argv is now char * const *, as per standard.
96608         (_getopt_internal_r, _getopt_internal): Argv is now char **,
96609         not char *__getopt_argv_const *.
96610         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
96611         _getopt_long_only_r): Likewise.
96612         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
96613         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
96614         _getopt_long_r, _getopt_long_only_r): Likewise.
96615         * lib/getopt_.h (__getopt_argv_const): Remove.
96616         (getopt): Argv is now char * const *, as per standard.
96617
96618         * lib/getdate.y (tORDINAL): New token.
96619         (day, relunit): Allow it for relative times.
96620         (relative_time_table): Use tORDINAL for ordinals.
96621
96622 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
96623
96624         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
96625         Document that "second" isn't allowed as an ordinal number.
96626
96627 2004-11-16  Jim Meyering  <jim@meyering.net>
96628
96629         * modules/closeout (Depends-on): Add fpending.
96630
96631 2004-11-15  Jim Meyering  <jim@meyering.net>
96632
96633         * lib/closeout.c: Include "__fpending.h" once again.
96634         Include <stdbool.h>.
96635         (close_stdout): Don't fail just because stdout was closed initially,
96636         since some programs don't write to stdout in the normal course of
96637         operation (other than --version and --help), and we don't want this
96638         function to make e.g. `touch file >&-' fail.
96639         But do fail if it was closed and someone has tried to write to it.
96640         E.g., `printf foo >&-' must fail.
96641
96642 2004-11-13  Jim Meyering  <jim@meyering.net>
96643
96644         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
96645
96646 2004-11-12  Simon Josefsson  <jas@extundo.com>
96647
96648         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
96649         small doc fix is still pending.
96650
96651 2004-11-11  Simon Josefsson  <jas@extundo.com>
96652
96653         * modules/strtok_r: New file.
96654
96655         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
96656         strtok_r.
96657
96658 2004-11-11  Simon Josefsson  <jas@extundo.com>
96659
96660         * m4/strtok_r.m4: New file.
96661
96662         * m4/getopt.m4: Replace opterr.
96663
96664 2004-11-11  Simon Josefsson  <jas@extundo.com>
96665
96666         * lib/strtok_r.h, strtok_r.c: New file.
96667
96668 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
96669
96670         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
96671         of replacing opterr, getopt, etc.  This should handle the
96672         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
96673
96674 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
96675
96676         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
96677         we can stop lying to compilers about the constness of argv when we
96678         are compiled outside glibc.
96679         (getopt, getopt_long, getopt_long_only): Use it.
96680         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
96681         _getopt_internal, getopt): Likewise.
96682         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
96683         _getopt_long_only_r): Likewise.
96684         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
96685         _getopt_long_r, _getopt_long_only_r): Likewise.
96686
96687         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
96688         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
96689         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
96690         the other external symbols.
96691         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
96692         declaration, since the above renaming now works around collisions.
96693
96694 2004-11-11  Jim Meyering  <jim@meyering.net>
96695
96696         * lib/linebreak.c: Remove trailing blanks.
96697         * lib/alloca_.h: Likewise.
96698         * lib/acosl.c: Likewise.
96699         * lib/euidaccess.c: Likewise.
96700         * lib/allocsa.h: Likewise.
96701
96702 2004-11-10  Simon Josefsson  <jas@extundo.com>
96703
96704         * m4/getaddrinfo.m4: New file.
96705
96706 2004-11-10  Simon Josefsson  <jas@extundo.com>
96707
96708         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
96709
96710 2004-11-10  Simon Josefsson  <jas@extundo.com>
96711
96712         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
96713         getaddrinfo.
96714
96715         * modules/getaddrinfo: New file.
96716
96717 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
96718
96719         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
96720
96721 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
96722
96723         * lib/mktime.c (SHR): New macro, which is a portable
96724         substitute for >> that should work even on Crays.
96725         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
96726         Problem reported by Mark D. Baushke in
96727         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
96728         * lib/getdate.y (SHR): Likewise.
96729         (tm_diff): Use it.
96730         * lib/strftime.c (SHR): Likewise.
96731         (tm_diff): Use it.
96732         * lib/quotearg.c (struct quoting_options): Use unsigned int for
96733         quote_these_too, so that right shifts are well defined.  All uses
96734         changed.
96735
96736 2004-11-10  Jim Meyering  <jim@meyering.net>
96737
96738         Ensure that no close failure goes unreported.
96739         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
96740         return early when it seems there's nothing to flush.
96741         Don't include __fpending.h.
96742
96743 2004-11-10  Jim Meyering  <jim@meyering.net>
96744
96745         * modules/closeout (Depends-on): Remove fpending.
96746
96747 2004-11-10  Jim Meyering  <jim@meyering.net>
96748
96749         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
96750
96751 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
96752
96753         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
96754         gl_FUNC_STRFTIME.
96755         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
96756         and AC_REQUIRE when possible, to avoid duplicate checks.
96757         Check for <wchar.h>.
96758
96759 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
96760
96761         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
96762
96763 2004-11-09  Bruno Haible  <bruno@clisp.org>
96764
96765         * m4/sockpfaf.m4: New file.
96766
96767 2004-11-05  Bruno Haible  <bruno@clisp.org>
96768
96769         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
96770         Reported by Mark D. Baushke <mdb@cvshome.org>.
96771
96772 2004-11-04  Bruno Haible  <bruno@clisp.org>
96773
96774         2004-09-11  Bruno Haible  <bruno@clisp.org>
96775                 * allocsa.valgrind: New file.
96776         2004-02-06  Bruno Haible  <bruno@clisp.org>
96777                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
96778                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
96779                 Reported by Christopher Seip <chris.seip@hp.com>.
96780
96781 2004-11-04  Bruno Haible  <bruno@clisp.org>
96782
96783         * modules/allocsa (Files): Add lib/allocsa.valgrind.
96784         (Makefile.am): Distribute it.
96785
96786 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
96787
96788         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
96789         with errno == ERANGE if the buffer is too small.
96790         Problem reported by Mark D. Baushke.
96791
96792 2004-11-03  Albert Chin  <china@thewrittenword.com>
96793             Paul Eggert  <eggert@cs.ucla.edu>
96794
96795         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
96796         equivalent, substitute $ac_type for equivalent type rather than
96797         blindly using uint32_t *always* which won't work if uint32_t is not
96798         available.  Define _UINT32_T to work around typedef of uint32_t if
96799         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
96800         2.5.1.
96801
96802 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
96803
96804         * m4/jm-macros.m4: Sync from coreutils.
96805         (gl_MACROS): Check for mbrlen, for pathchk.
96806         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
96807
96808 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
96809
96810         * lib/xreadlink.c (MAXSIZE): New macro.
96811         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
96812         size does not exceed MAXSIZE.  Avoid cast.
96813         As suggested by Mark D. Baushke in
96814         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
96815         if readlink fails with buffer size just under MAXSIZE, try again
96816         with MAXSIZE.
96817
96818 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
96819
96820         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
96821
96822 2004-11-02  Derek R. Price  <derek@ximbiot.com>
96823         and  Paul Eggert  <eggert@cs.ucla.edu>
96824
96825         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
96826         (get_date): Overparenthesize to avoid GCC warning.
96827
96828 2004-11-02  Bruno Haible  <bruno@clisp.org>
96829
96830         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
96831         returns void.
96832
96833 2004-11-02  Bruno Haible  <bruno@clisp.org>
96834
96835         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
96836         function returns void.
96837
96838 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
96839
96840         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
96841         fflush_unlocked, flockfile, funlockfile, funlockfile,
96842         fputs_unlocked, putc_unlocked.
96843
96844 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
96845
96846         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
96847         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
96848         already declared.
96849
96850 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
96851
96852         * modules/getdate (Files): Add doc/getdate.texi.
96853         (Depends-on): Add setenv, xalloc.
96854
96855 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
96856
96857         * lib/getdate.y: Add support for TZ="foo" within a date string.
96858         Fix some bugs near time_t boundaries.  Reject dates with
96859         out-of-range components, e.g., "Sept 31".
96860         Include <stdlib.h>, "setenv.h", "xalloc.h".
96861         (ISDIGIT_LOCALE): Remove; unused.
96862         Note that the TZ and time functions used here are not reentrant.
96863         (mktime_ok, get_tz): New functions.
96864         (TZBUFSIZE): New constant.
96865         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
96866         This requires that we sometimes generate our own TZ="XXX..." setting.
96867
96868 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
96869
96870         * doc/getdate.texi: New file, from coreutils with modifications for
96871         the new TZ parsing.
96872
96873 2004-10-27  Derek R. Price  <derek@ximbiot.com>
96874
96875         * lib/mktime.c (not_equal_tm): Remove redundant check.
96876
96877 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
96878
96879         * modules/regex (lib_SOURCES): Add regex.c.
96880         Reported by James Youngman in
96881         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
96882
96883 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
96884
96885         * lib/getdate.y: Use Bison 1.875 features, and some minor
96886         code cleanups.  This change does not affect semantics.
96887         Don't include <stdlib.h>; no longer needed.
96888         Don't include unlocked-io.h; only the "#if TEST" code uses
96889         stdio, and performance isn't crucial there.
96890         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
96891         Bison 1.875 features as described below.
96892         All uses of "PC." replaced by "pc->".
96893         (YYSTYPE): Add a forward declaration.
96894         (yylex, yyerror): Use full prototypes in forward decls.
96895         Use "%pure-parser" rather than obsolescent "%pure_parser".
96896         Use %parse-param and %lex-param instead of obsolescent
96897         YYPARSE_PARAM and YYLEX_PARAM.
96898         (meridian_table, month_and_day_table, time_units_table,
96899         relative_time_table, time_zone_table, military_table,
96900         lookup_zone, lookup_word, get_date):
96901         Use NULL instead of 0 where appropriate.
96902         (to_hour): Avoid abort (), to avoid a dependency on
96903         stdlib.h.
96904         (yyerror, yylex): Now accepts parser_control * arg.
96905         (main) [TEST]: Use '\0' rather than 0 for char.
96906
96907 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
96908
96909         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
96910
96911 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
96912
96913         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
96914         It's now the caller's responsibility to handle the case where
96915         !HAVE_GETPAGESIZE && !defined getpagesize.
96916
96917         * lib/mktime.c (leapyear): Arg is long int, not int.
96918
96919 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
96920
96921         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
96922
96923 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
96924
96925         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
96926         missing.  Problem reported by James Youngman.
96927
96928 2004-10-16  Simon Josefsson  <jas@extundo.com>
96929
96930         * gnulib-tool: Fix comments.  Fix parse problem.
96931         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
96932
96933 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
96934
96935         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
96936         implementation of getopt_long.  Problem reported by Alexander Taler in:
96937         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
96938
96939 2004-10-15  Bruno Haible  <bruno@clisp.org>
96940
96941         * gnulib-tool: Untabify. Initialize supplied_libname.
96942         (func_usage): More homogenous output.
96943         (func_modules_transitive_closure, func_modules_to_filelist,
96944         func_emit_lib_Makefile_am): New functions.
96945         (func_import): New function, extracted from big case statement. Use
96946         func_get_license, func_modules_transitive_closure,
96947         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
96948         opt_lgpl. Don't use test -a, as it's not portable.
96949         (func_create_testdir): Use func_modules_transitive_closure,
96950         func_modules_to_filelist, func_emit_lib_Makefile_am.
96951
96952 2004-10-15  Bruno Haible  <bruno@clisp.org>
96953
96954         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
96955
96956 2004-10-15  Bruno Haible  <bruno@clisp.org>
96957
96958         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
96959         the portions belonging to each module.
96960         Suggested by Derek Robert Price <derek@ximbiot.com>.
96961
96962 2004-10-12  Simon Josefsson  <jas@extundo.com>
96963
96964         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
96965         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
96966         to real functions.
96967
96968 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
96969
96970         * modules/vsnprintf: New file.
96971
96972 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
96973
96974         * m4/vsnprintf.m4: New file.
96975
96976 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
96977
96978         * lib/vsnprintf.h: New file.
96979         * lib/vsnprintf.c: New file.
96980
96981 2004-10-11  Bruno Haible  <bruno@clisp.org>
96982
96983         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
96984         vsnprintf.
96985
96986 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
96987
96988         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
96989
96990 2004-10-07  Bruno Haible  <bruno@clisp.org>
96991
96992         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
96993         fits into the provided buffer.
96994
96995 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
96996
96997         * lib/diacrit.c, diacrit.h: Add GPL notice.
96998
96999         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
97000         notice.
97001         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
97002         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
97003         This avoids a potential constant-folding bug.
97004
97005 2004-10-05  Bruno Haible  <bruno@clisp.org>
97006
97007         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
97008         for the declaration of strsep.
97009
97010 2004-10-05  Bruno Haible  <bruno@clisp.org>
97011
97012         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
97013
97014 2004-10-04  Simon Josefsson  <jas@extundo.com>
97015
97016         * modules/memmem: New file.
97017         * tests/test-memmem.c: New file.
97018         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
97019
97020 2004-10-04  Simon Josefsson  <jas@extundo.com>
97021
97022         * m4/memmem.m4: New file.
97023
97024 2004-10-04  Simon Josefsson  <jas@extundo.com>
97025
97026         * lib/memmem.h: New file.
97027         * lib/memmem.c: New file, taken from glibc.
97028
97029 2004-10-04  Simon Josefsson  <jas@extundo.com>
97030
97031         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
97032         '#ifdef USE_UNLOCKED_IO'.
97033
97034 2004-10-04  Simon Josefsson  <jas@extundo.com>
97035
97036         * config/srclist.txt: Add memmem from glibc.
97037
97038 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
97039
97040         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
97041
97042         * modules/argmatch, modules/argp, modules/closeout, modules/error,
97043         modules/exclude, modules/getdate, modules/getline,
97044         modules/getndelim2, modules/getpass, modules/getpass-gnu,
97045         modules/getusershell, modules/linebuffer, modules/md5,
97046         modules/mountlist, modules/posixtm, modules/readtokens,
97047         modules/readutmp, modules/regex, modules/sha1,
97048         modules/version-etc, modules/yesno:
97049         Remove dependency on unlocked-io.
97050
97051 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
97052
97053         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
97054
97055         * m4/unlocked-io.m4: Add copyright notice.
97056         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
97057
97058 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
97059
97060         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
97061         * lib/xmalloc.c (xmemdup): Likewise.
97062         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
97063         XFREE): Remove these long-obsolescent macros.
97064         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
97065         * lib/xstrdup.c: Remove.
97066
97067         * lib/regex.c (re_comp): Cast gettext return value to char *,
97068         Problem reported by Martin Neitzel via Mark D. Baushke.
97069
97070 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
97071
97072         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
97073         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
97074         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
97075         regex.c, sha1.c, version-etc.c, yesno.c:
97076         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
97077         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
97078         the includer's responsibility.
97079
97080         Sync from coreutils.
97081
97082         * lib/modechange.c (mode_compile): Don't decrement a pointer that
97083         points to the start of a string, as the C Standard says the
97084         resulting behavior is undefined.
97085
97086         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
97087         simple -> simple_backups, numbered_existing ->
97088         numbered_existing_backups, numbered -> numbered_backups
97089         to avoid shadowing problems.  All uses changed.
97090         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
97091         * lib/backupfile.c (check_extension, numbered_backup):
97092         Rename locals to avoid shadowing 'basename'.
97093         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
97094         once.
97095
97096         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
97097         * lib/.cvsignore: Add getopt.h.
97098
97099 2004-10-04  Bruno Haible  <bruno@clisp.org>
97100
97101         * modules/README: New file.
97102         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
97103         not a module.
97104
97105 2004-10-02  Jim Meyering  <jim@meyering.net>
97106
97107         * lib/dirfd.h, getpagesize.h: Add copyright notice.
97108
97109 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
97110
97111         * modules/strsep: New file.
97112
97113 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
97114
97115         * m4/strsep.m4: New file.
97116
97117 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
97118
97119         * lib/strsep.h: New file.
97120         * lib/strsep.c: New file.
97121
97122 2004-10-01  Simon Josefsson  <jas@extundo.com>
97123
97124         * lib/snprintf.c (snprintf): Handle size==0.
97125
97126 2004-10-01  Simon Josefsson  <jas@extundo.com>
97127             Bruno Haible  <bruno@clisp.org>
97128
97129         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
97130         (snprintf): Declare 'args'.
97131
97132 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
97133
97134         * lib/snprintf.c: Remove comments as to why each header is needed.
97135
97136 2004-10-01  Bruno Haible  <bruno@clisp.org>
97137
97138         * MODULES.html.sh: Add strsep.
97139
97140 2004-09-30  Simon Josefsson  <jas@extundo.com>
97141
97142         * modules/snprintf: New file.
97143
97144 2004-09-30  Simon Josefsson  <jas@extundo.com>
97145
97146         * m4/snprintf.m4: New file.
97147
97148 2004-09-30  Simon Josefsson  <jas@extundo.com>
97149
97150         * lib/snprintf.h, lib/snprintf.c: New files.
97151
97152 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
97153
97154         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
97155         (hol_entry_help): Never translate an empty string.
97156         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
97157         * lib/argp.h (OPTION_NO_TRANS): New option.
97158
97159 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
97160
97161         * modules/argp (Maintainer): Replace Simon Josefsson
97162         by Sergey Poznyakoff.
97163
97164 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
97165
97166         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
97167         changes merged back into glibc.
97168
97169 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
97170
97171         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
97172
97173 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
97174
97175         * lib/xvasprintf.c: Include xalloc.h.
97176         (xvasprintf): Use xalloc_die, not xmalloc_die.
97177
97178 2004-09-29  Bruno Haible  <bruno@clisp.org>
97179
97180         * modules/alloca-opt: New file, derived from modules/alloca.
97181         * modules/allocsa: Depend on alloca-opt instead of alloca.
97182         * modules/setenv: Likewise.
97183         * modules/vasnprintf: Likewise.
97184         * MODULES.html.sh: Add alloca-opt.
97185
97186 2004-09-28  Simon Josefsson  <jas@extundo.com>
97187
97188         * gnulib-tool: New parameter --lgpl, to asseert that modules are
97189         LGPL, and to replace license template from GPL to LGPL.
97190
97191 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
97192
97193         * modules/dummy: Change license to LGPL.
97194
97195 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
97196
97197         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
97198
97199 2004-09-24  Simon Josefsson  <jas@extundo.com>
97200
97201         * modules/minmax (License): Change from GPL to LGPL.
97202
97203 2004-09-23  Simon Josefsson  <jas@extundo.com>
97204
97205         * gnulib-tool (--import): Typo.
97206
97207 2004-09-23  Simon Josefsson  <jas@extundo.com>
97208
97209         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
97210
97211 2004-09-22  Bruno Haible  <bruno@clisp.org>
97212
97213         * modules/*: Add 'License' field.
97214         * gnulib-tool: Accept --extract-license option.
97215         (func_get_license): New function.
97216
97217 2004-09-21  Bruno Haible  <bruno@clisp.org>
97218
97219         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
97220         Reported by Simon Josefsson.
97221
97222 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
97223
97224         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
97225         gl_AC_TYPE_LONG_LONG.
97226
97227 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
97228
97229         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
97230
97231 2004-09-18  Simon Josefsson  <jas@extundo.com>
97232         and  Paul Eggert  <eggert@cs.ucla.edu>
97233
97234         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
97235         calls with autoreconf.  Define GL_LIB.
97236
97237 2004-09-14  Karl Berry  <karl@gnu.org>
97238
97239         * config/srclist.txt: unsync setenv.c, sigh.
97240
97241 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
97242
97243         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
97244         Problem reported by Bruno Haible in:
97245         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
97246
97247 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
97248
97249         * config/srclist.txt: Comment out argp-pvh.c.
97250
97251 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
97252
97253         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
97254         in case some system header has #define'd it.  Problem reported by
97255         Soeren D. Schulze in
97256         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
97257
97258 2004-09-09  Karl Berry  <karl@gnu.org>
97259
97260         * regex.[ch]: delete from the root.  These were supposed to be
97261                 synced with emacs cvs, but this has not happened for about
97262                 a year, and anyway nothing else uses emacs regex.[ch].
97263                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
97264                 lib/regex[.ch] is untouched.
97265
97266 2004-09-09  Bruno Haible  <bruno@clisp.org>
97267
97268         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
97269
97270 2004-09-09  Bruno Haible  <bruno@clisp.org>
97271
97272         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
97273         modifications.
97274         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
97275
97276 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
97277
97278         * modules/xvasprintf: New file.
97279         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
97280
97281 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
97282
97283         * lib/xvasprintf.h: New file.
97284         * lib/xvasprintf.c: New file.
97285         * lib/xasprintf.c: New file.
97286
97287 2004-09-08  Bruno Haible  <bruno@clisp.org>
97288
97289         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
97290
97291 2004-09-08  Bruno Haible  <bruno@clisp.org>
97292
97293         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
97294         length is > INT_MAX.
97295         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
97296         more.
97297
97298 2004-09-08  Bruno Haible  <bruno@clisp.org>
97299
97300         * lib/stdint_.h: New file, taken from GNU clisp.
97301
97302 2004-09-08  Bruno Haible  <bruno@clisp.org>
97303             Oskar Liljeblad  <oskar@osk.mine.nu>
97304
97305         * modules/stdint: New file.
97306         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
97307
97308 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97309
97310         Import from coreutils.
97311         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
97312         strings on unbounded length.  alloca's performance benefits aren't
97313         that important here.
97314         (V_STRDUP): Remove.
97315         (parse_with_separator): New function, with most of the internals
97316         of the old parse_user_spec.  Allow user to omit both user and group,
97317         for compatibility with FreeBSD.
97318         Clone only the user name, not the entire spec.
97319         Do not set *uid, *gid unless entirely successful.
97320         Avoid memory leak in some failing cases.
97321         Fix regression for USER.GROUP reported by Dmitry V. Levin in
97322         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
97323         (parse_user_spec): Rewrite to use parse_with_separator.
97324
97325 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97326
97327         * modules/userspec: Don't depend on alloca.
97328
97329 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97330
97331         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
97332
97333 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97334
97335         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
97336         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
97337         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
97338
97339 2004-08-16  Simon Josefsson  <jas@extundo.com>
97340
97341         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
97342         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
97343         Add --dry-run for --import.
97344         Let user provided command line parameters override configure.ac
97345         settings.
97346
97347 2004-08-12  Simon Josefsson  <jas@extundo.com>
97348
97349         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
97350         as discussed with Paul Eggert in threads rooted at
97351         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
97352         and
97353         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
97354         Before, the test was empty, and relied on ELIDE_CODE in source
97355         code.)
97356         (gl_PREREQ_GETOPT): New macro.
97357         (gl_GETOPT): Use them.
97358
97359 2004-08-12  Simon Josefsson  <jas@extundo.com>
97360
97361         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
97362         * lib/getopt_.h: Renamed from getopt.h.
97363
97364 2004-08-12  Simon Josefsson  <jas@extundo.com>
97365
97366         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
97367         Change default library name from libfoo to libgnu.
97368         Now, if you have a configure.ac that says:
97369                 gl_SOURCE_BASE(gl)
97370                 gl_M4_BASE(gl/m4)
97371                 gl_MODULES(error getopt etcetera)
97372                 gl_INIT
97373         you can import all you need by running:
97374                 ../gnulib/gnulib-tool --import
97375
97376         * modules/getopt (Files): Rename getopt.h to getopt_.h.
97377         (Makefile.am): Rewrite, use logic from argz.
97378         (Include): Use <getopt.h> instead of "getopt.h".
97379
97380 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
97381
97382         * modules/argp (Files): Add m4/unlocked-io.m4.
97383         (Depends-on): Add extensions.
97384
97385 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
97386
97387         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
97388         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
97389         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
97390         Check for program_invocation_name, program_invocation_short_name,
97391         flockfile, funlockfile, features.h, _getopt_long_only_r.
97392
97393 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
97394
97395         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
97396         its complicated substitute.
97397         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
97398         and program_invocation_name.
97399         (__argp_basename) [!_LIBC]: Remove; the only use was
97400         replaced by its body.
97401         (__argp_short_program_name): Change condition from
97402         !defined __argp_short_program_name to
97403         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
97404         to match argp-namefrob.h.
97405         (__argp_failure): Don't assume strerror_r returns char *.
97406         * lib/argp-parse.c (N_): Define unconditionally.
97407         (argp_default_options): Fill out initializers with 0 to avoid
97408         gcc warnings.
97409
97410 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
97411
97412         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
97413         getopt1.c.
97414
97415 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97416
97417         Merge from coreutils.
97418
97419         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
97420
97421         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
97422         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
97423
97424 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97425
97426         Merge from coreutils.
97427
97428         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
97429         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
97430         for Reliant Unix 5.43.
97431
97432         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
97433         (union fooround): Use uintmax_t, not long int.
97434         The rest is a merge from libc:
97435         [defined _LIBC]: Include <shlib-compat.h>.
97436         (_obstack) [defined _LIBC]: Remove after 2.3.4.
97437
97438         * lib/settime.c (settime): Recode to avoid warning with
97439         Sun Forte C 6U2.
97440
97441         * lib/strverscmp.c: Convert to UTF-8.
97442
97443 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97444
97445         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
97446         m4/uintmax_t.m4.
97447
97448 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97449
97450         * modules/xalloc-die: New file.
97451         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
97452
97453         * modules/md5 (Files): Add m4/uint32_t.m4.
97454         * modules/sha1: Renamed from modules/sha.
97455         (Files):
97456         Rename lib/sha.h to lib/sha1.h.
97457         Rename lib/sha.c to lib/sha1.c.
97458         Rename m4/sha.m4 to m4/sha1.m4.
97459         (lib_SOURCES): Likewise.
97460         (configure.ac): Rename gl_SHA to gl_SHA1.
97461         (Include): sha.h -> sha1.h.
97462
97463 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97464
97465         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
97466         * m4/sha1.m4: Renamed from sha.m4.
97467         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
97468
97469 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97470
97471         * lib/obstack.h (obstack_empty_p):
97472         Don't assume that chunk->contents is suitably aligned.
97473         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
97474         Likewise. Problem reported by Benno in
97475         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
97476
97477         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
97478         readable.  This could be improved further but it'd take some work.
97479
97480 2004-08-08  Simon Josefsson  <jas@extundo.com>
97481
97482         * modules/xgethostname (Depends-on): Remove exit and error (not
97483         used).
97484
97485         * modules/getpass-gnu: Add getpass.h.
97486         (Depends-on): Add stdbool.
97487         * modules/getpass: Add getpass.h.
97488
97489 2004-08-08  Simon Josefsson  <jas@extundo.com>
97490
97491         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
97492         Check getpass declaration.
97493
97494 2004-08-08  Simon Josefsson  <jas@extundo.com>
97495
97496         * lib/xgethostname.c: Don't include error.h (not used).
97497
97498         * lib/getpass.h: Add.
97499         * lib/getpass.c: Include getpass.h first.
97500
97501 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
97502
97503         * lib/xalloc-die.c: New file.
97504         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
97505         All uses removed.
97506         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
97507         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
97508         xalloc-die.c.
97509         (_, N_, xalloc_die): Move to xalloc-die.c.
97510         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
97511         so that we needn't mess with xalloc_msg_memory_exhausted.
97512
97513         * lib/sha1.h: Renamed from sha.h.
97514         (SHA1_H): Renamed from _SHA_H.
97515         (sha1_ctx): Renamed from sha_ctx.
97516         (sha1_init_ctx): Renamed from sha_init_ctx.
97517         (sha1_process_block): Renamed from sha_process_block.
97518         (sha1_process_bytes): Renamed from sha_process_bytes.
97519         (sha1_finish_ctx): Renamed from sha_finish_ctx.
97520         (sha1_read_ctx): Renamed from sha_read_ctx.
97521         (sha1_stream): Renamed from sha_stream.
97522         (sha1_buffer): Renamed from sha_buffer.
97523         * lib/sha1.c: Likewise; renamed from sha.c.
97524         Do not include <sys/types.h>.
97525         Include <stddef.h> rather than <stdlib.h>.
97526
97527 2004-08-08  Bruno Haible  <bruno@clisp.org>
97528
97529         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
97530         FILESYSTEM_PREFIX_LEN.
97531         * lib/progreloc.c: Likewise.
97532         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
97533
97534 2004-08-06  Simon Josefsson  <jas@extundo.com>
97535
97536         * modules/progname (Depends-on): Don't depend on stdbool.
97537
97538 2004-08-06  Simon Josefsson  <jas@extundo.com>
97539
97540         * modules/getsubopt: New file.
97541         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
97542         getsubopt.
97543
97544 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
97545
97546         More merge from coreutils.
97547
97548         * m4/utimens.m4, m4/utimecmp.m4: New files.
97549         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
97550         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
97551         prereq.m4, sha.m4: Import changes from coreutils.
97552
97553 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
97554
97555         More merge from coreutils.
97556         * modules/raise, modules/readtokens0, modules/utimens:
97557         * modules/utimecmp, module/xnanosleep: New files.
97558         * modules/strftime: Add lib/strftime.h.
97559         Change include from <time.h> to "strftime.h".
97560         * modules/yesno: Add lib/yesno.h.
97561         * modules/backupfile: Remove lib/addext.c.
97562         * modules/euidaccess: Add stat-macros.h.
97563         * modules/canonicalize, modules/euidaccess,
97564         modules/filemode, modules/lchown, modules/makepath,
97565         modules/rmdir, modules/stat: Likewise.
97566
97567 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
97568
97569         Merge from tar.
97570         * lib/argp-help.c (make_hol, hol_append): Don't assume that
97571         SIZE_MAX is a valid preprocessor constant.
97572         (__argp_basename): Change from "#ifndef _LIBC"
97573         to "#ifndef __argp_short_program_name", so that
97574         we don't compile these functions for tar.
97575
97576         More merges from coreutils.
97577         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
97578         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
97579         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
97580         * lib/addext.c: Remove; no longer needed.
97581         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
97582         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
97583         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
97584         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
97585         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
97586         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
97587         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
97588         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
97589         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
97590         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
97591         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
97592         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
97593         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
97594         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
97595         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
97596         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
97597         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
97598         Import changes from coreutils.
97599
97600 2004-08-05  Simon Josefsson  <jas@extundo.com>
97601
97602         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
97603
97604 2004-08-05  Simon Josefsson  <jas@extundo.com>
97605
97606         * m4/getsubopt.m4: New file.
97607
97608 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
97609
97610         Merge from coreutils.
97611
97612         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
97613         * m4/getcwd-path-max.m4: New files.
97614
97615         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
97616         FILESYSTEM_PREFIX_LEN ->
97617         FILE_SYSTEM_PREFIX_LEN.
97618         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
97619         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
97620         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
97621         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
97622
97623         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
97624         prerequisite modules now handle the DOS stuff.
97625         Don't check for unistd.h.
97626
97627 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
97628
97629         Merge from coreutils.
97630
97631         * lib/.gdb-history: Remove; this doesn't belong here.
97632
97633         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
97634         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
97635         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
97636         * lib/getcwd.c: New files.
97637
97638         * lib/dirname.h: Include <stdbool.h>.
97639         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
97640         for consistency with POSIX terminology.  All uses changed.
97641         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
97642         (strip_trailing_slashes): Use bool for booleans.
97643         * lib/stripslash.c (strip_trailing_slashes): Likewise.
97644
97645         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
97646         sometimes returns a positive errno value even when it succeeds.
97647         (print_errno_message) [!LIBC]: Fall back on strerror if
97648         __strerror_r fails.
97649
97650         * lib/path-concat.c (mempcpy): Don't define if a system header defines
97651         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
97652         (longest_relative_suffix): New function.
97653         (path_concat): Use it.  Assume first argument is not NULL.
97654         Port to DOS.  Omit redundant separators.
97655         Report an error instead of returning NULL.
97656         Use mempcpy instead of memcpy.
97657         (xpath_concat): Remove: not declared or used.
97658
97659         * lib/same.h: Include <stdbool.h>
97660         (same_name): Return bool, not int.
97661         * lib/same.c (same_name): Likewise.
97662         (errno): Don't declare; we assume C89 or better now.
97663
97664         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
97665         if not already defined.
97666
97667         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
97668         * lib/dup-safer.c (errno): Likewise.
97669
97670 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
97671
97672         Merge from coreutils.
97673         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
97674         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
97675         * modules/path-concat: Don't depend on strdup.
97676
97677 2004-08-03  Simon Josefsson  <jas@extundo.com>
97678
97679         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
97680         * lib/progname.h: Don't include stdbool.h.
97681
97682 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
97683
97684         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
97685         * MODULES.html.sh (func_all_modules): Remove fatal.
97686
97687 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
97688
97689         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
97690
97691 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
97692
97693         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
97694         working.
97695
97696 2004-08-02  Simon Josefsson  <jas@extundo.com>
97697
97698         * lib/getsubopt.h: New file, with comments from Bruno Haible.
97699         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
97700         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
97701
97702 2004-08-01  Simon Josefsson  <jas@extundo.com>
97703
97704         * lib/xgetdomainname.c: Include stdlib.h, for free().
97705
97706 2004-07-19  Bruno Haible  <bruno@clisp.org>
97707
97708         * MODULES.html.sh (func_all_modules): Add dummy.
97709
97710 2004-07-16  Simon Josefsson  <jas@extundo.com>
97711
97712         * modules/dummy: New file.
97713
97714 2004-07-16  Simon Josefsson  <jas@extundo.com>
97715
97716         * lib/dummy.c: New file.
97717
97718 2004-07-16  Bruno Haible  <bruno@clisp.org>
97719
97720         * lib/backupfile.h: Add extern "C" for C++.
97721         * lib/closeout.h: Likewise.
97722         * lib/copy-file.h: Likewise.
97723         * lib/findprog.h: Likewise.
97724         * lib/full-write.h: Likewise.
97725         * lib/pathname.h: Likewise.
97726         * lib/progname.h: Likewise.
97727         * lib/stpcpy.h: Likewise.
97728         * lib/stpncpy.h: Likewise.
97729         * lib/strcase.h: Likewise.
97730         * lib/strstr.h: Likewise.
97731         * lib/xalloc.h: Likewise.
97732
97733         * lib/mbswidth.h: Add extern "C" for C++.
97734         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
97735
97736 2004-07-13  Robert Millan  <robertmh@gnu.org>
97737
97738         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
97739
97740 2004-07-09  Simon Josefsson  <jas@extundo.com>
97741
97742         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
97743         failed without this.)
97744
97745 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
97746
97747         * modules/chown (Files): Add lib/fchown-stub.c, since
97748         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
97749
97750 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
97751
97752         * lib/fchown-stub.c: New file.
97753
97754 2004-06-24  Jim Meyering  <jim@meyering.net>
97755
97756         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
97757
97758 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
97759
97760         * modules/argz: Omit "#include".
97761
97762         * MODULES.html.sh (func_all_modules): Add calloc, to match
97763         2004-06-01 addition of calloc module.
97764
97765 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
97766
97767         * m4/argz.m4: New file, which is autoupdated from libtool.
97768
97769 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
97770
97771         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
97772         libtool.
97773
97774 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
97775
97776         * config/srclist-update: Don't insist on "USA." before the
97777         close-comment, as libtool omits the period and puts the */ on a
97778         separate line.
97779         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
97780         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
97781
97782 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
97783
97784         * modules/argz: New file.
97785         * MODULES.html.sh (func_all_modules): Add argz.
97786
97787 2004-06-12  Jim Meyering  <jim@meyering.net>
97788         and  Paul Eggert  <eggert@cs.ucla.edu>
97789
97790         * modules/hash (Files): Add lib/xalloc.h.
97791         * modules/pipe (Depends-on): Add wait-process.
97792         * modules/stat (Depends-on): Add xalloc.
97793         * modules/userspec (Files): Add lib/userspec.h.
97794         * modules/xstrto
97795
97796         Upgrade from gettext-0.13.
97797         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
97798         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
97799         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
97800
97801 2004-06-10  Jim Meyering  <jim@meyering.net>
97802
97803         * lib/calloc.c: New file.
97804
97805 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
97806
97807         * lib/getdate.y (yylex): Allow space between sign and number.
97808         Problem reported by Dan Jacobson.
97809
97810 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
97811
97812         Merge from coreutils CVS.
97813
97814         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
97815         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
97816         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
97817         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
97818         xstrtol.m4: Fix copyright date and/or serial number.
97819
97820         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
97821         See if we need an fchown replacement.
97822         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
97823         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
97824         and use the replacement function if we detect either defect.
97825
97826         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
97827         gl_UTIMECMP.
97828
97829 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
97830         and  Jim Meyering  <jim@meyering.net>
97831
97832         Merge from coreutils CVS.
97833
97834         * lib/stat-macros.h: New file, with contents from file-type.h
97835         and coreutils' system.h.
97836         * lib/file-type.c: Include "stat-macros.h".
97837         * lib/file-type.h (file_type): Move all macro definitions to new file,
97838         stat-macros.h.
97839
97840         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
97841         Wrap old code with this conditional.
97842         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
97843         function that does not dereference symlinks.
97844         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
97845
97846         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
97847         dependency problems.
97848         (xreadlink): Accept new arg SIZE, for efficiency.
97849         All decls and uses changed.
97850         * lib/xreadlink.h: Include <stddef.h>, for size_t.
97851
97852         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
97853         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
97854
97855         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
97856         sysexits.h.
97857
97858 2004-06-01  Jim Meyering  <jim@meyering.net>
97859
97860         * m4/calloc.m4: New file.
97861
97862 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
97863
97864         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
97865         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
97866         Also, fix a typo in a diagnostic.
97867
97868 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
97869
97870         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
97871         or AC_FUNC_REALLOC.
97872
97873 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
97874
97875         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
97876         macros to be defined.
97877         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
97878         the allocator returns NULL because the requested size is zero.
97879
97880 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
97881
97882         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
97883         var.  Add comment explaining why libc still defines it.  This
97884         merges the following patch from glibc:
97885         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
97886
97887 2004-05-20  Andreas Schwab  <schwab@suse.de>
97888
97889         * m4/free.m4: Replace free if it not known to work, not the other
97890         way round.
97891
97892 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
97893
97894         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
97895         present in glibc since revision 1.1 of this file.
97896         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
97897         obstack_alignment_mask, obstack_alloc, obstack_base,
97898         obstack_blank, obstack_blank_fast, obstack_chunk_size,
97899         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
97900         obstack_grow0, obstack_init, obstack_int_grow,
97901         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
97902         obstack_next_free, obstack_object_size, obstack_ptr_grow,
97903         obstack_ptr_grow_fast, obstack_room): Remove declarations of
97904         nonexistent functions.
97905
97906 2004-05-18  Karl Berry  <karl@gnu.org>
97907
97908         * config/srclist.txt: break link for vasnprintf.c.
97909
97910 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
97911
97912         Port obstack to the AS/400, where pointers are 16 bytes wide and
97913         you cannot cast an integer to a valid pointer.  This patch is
97914         currently waiting to be integrated into glibc; see
97915         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
97916
97917         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
97918         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
97919         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
97920         (struct obstack): temp member is now a union of a pointer and
97921         an integer, instead of an integer.  All integer uses changed.
97922         This does not affect the physical layout of struct obstack,
97923         except on hosts (like the AS/400) where the size or alignment of
97924         void * is greater than that of ptrdiff_t.
97925         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
97926         __STDC__)]: Store temporary in pointer member of union, not
97927         integer member.
97928         * lib/obstack.c: Include <stddef.h>, for offsetof.
97929         (struct fooalign): Remove; it doesn't need a name.
97930         (union fooround): Change double to long double, and add void *.
97931         (DEFAULT_ALIGNMENT): Use offsetof to compute.
97932         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
97933         not a macro.  Hence the values are always int; so remove all
97934         casts-to-int in uses.
97935
97936 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
97937
97938         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
97939         we can get this patch merged into glibc.
97940
97941 2004-05-17  Derek R. Price  <derek@ximbiot.com>
97942             Paul Eggert  <eggert@cs.ucla.edu>
97943
97944         * m4/argp: Depend on alloca.
97945
97946 2004-05-17  Derek R. Price  <derek@ximbiot.com>
97947             Paul Eggert  <eggert@cs.ucla.edu>
97948
97949         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
97950         freecoding.
97951
97952 2004-05-17  Bruno Haible  <bruno@clisp.org>
97953
97954         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
97955         precision that consists of a '.' followed by an empty digit string.
97956         Patch by Tor Lillqvist <tml@iki.fi>.
97957
97958 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
97959
97960         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
97961         for backward compatibility with older code.  We need our own
97962         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
97963         it under some other name, and our alloca.h will define it.
97964
97965 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
97966             Derek Price  <derek@ximbiot.com>
97967
97968         * lib/alloca.c: Include <alloca.h>, to get our interface.
97969         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
97970         include <alloca.h> first.  Use C89 prototype for alloca; this
97971         requires including <stddef.h> for size_t.  Use extern "C" if C++.
97972         Use #elif for simplicity, since we can assume C89 now.
97973         Don't try to source the system alloca.h since it will not be found
97974         and to prevent recursively including its replacement.
97975         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
97976         * lib/regex.c: Likewise.
97977
97978 2004-05-16  Derek Price  <derek@ximbiot.com>
97979             Paul Eggert  <eggert@cs.ucla.edu>
97980
97981         getline cleanup.  This changes the getndelim2 API: both order of
97982         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
97983         no delimiter).
97984
97985         * lib/getline.c: Don't include stddef.h or stdio.h, since our
97986         interface does that.
97987         (getline): Always use getdelim, so that we don't have two
97988         copies of this code.
97989         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
97990         if available.
97991         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
97992         (GETNDELIM2_MAXIMUM): New macro.
97993         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
97994         instead of the old practice of delim2==0.  All callers changed.
97995         Return -1 on overflow, instead of returning junk.
97996         Do not set *linesize unless allocation succeeds.
97997         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
97998         that we include sys/types.h.
97999         * lib/getnline.h: Likewise.
98000         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
98001         (getndelim2): Reorder arguments.
98002         * lib/getnline.c (getnline, getndelim):
98003         Don't discard the NMAX argument.
98004         (getnline): Invoke getndelim, to avoid code duplication.
98005         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
98006         of (size_t) -1 by callers of the getnline family.
98007
98008 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
98009
98010         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
98011         Check for gettimeofday.
98012         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
98013         Check for settimeofday, stime.
98014
98015 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
98016
98017         * lib/nanosleep.c (suspended): Change its type from int to
98018         sig_atomic_t volatile.
98019         (first_call): Make it private to rpl_nanosleep, and have it
98020         be zero initially as that's a bit faster.
98021         (my_usleep): Round up fractional times instead of truncating them,
98022         as this is the usual meaning for 'sleep'.
98023
98024         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
98025         doesn't work.
98026         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
98027         (ENOSYS): Define if not defined.
98028         (settime): Fall back on stime if it exists and settimeofday fails.
98029         But don't bother with fallbacks if a method fails with errno == EPERM.
98030
98031 2004-05-11  Jim Meyering  <jim@meyering.net>
98032
98033         Prior to this change, the save_cwd caller required read access to the
98034         current directory on most systems (ones with the fchdir function).
98035
98036         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
98037         fails, try write-only, and finally, resort to using xgetcwd.
98038
98039 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
98040
98041         * lib/obstack.c, obstack.h: Import changes from libc.
98042
98043 2004-04-28  Bruno Haible  <bruno@clisp.org>
98044
98045         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
98046         also implicitly appends .exe to executables.
98047         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
98048         accepts Windows pathnames.
98049         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
98050         Treat Cygwin like Windows, since it now accepts Windows pathnames.
98051         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
98052         Treat Cygwin like Windows, since it now accepts Windows pathnames.
98053         Reported by Derek Robert Price <derek@ximbiot.com>.
98054
98055 2004-04-21  Karl Berry  <karl@gnu.org>
98056
98057         * config/srclist.txt (localcharset.c): break sync.
98058
98059 2004-04-20  Paul Eggert  <eggert@twinsun.com>
98060
98061         * m4/host-os.m4: Add a copyright notice.
98062
98063 2004-04-20  Jim Meyering  <jim@meyering.net>
98064
98065         Change UTILS_ to gl_ in AC_DEFINE'd names.
98066         Change utils_- and jm_-prefixed variables, too.
98067         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
98068         UTILS_FUNC_MKDIR_TRAILING_SLASH.
98069         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
98070
98071         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
98072         Don't emit trailing blanks.
98073         Also rename jm_-prefixed variables to have gl_ prefix.
98074
98075         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
98076         Also rename jm_-prefixed variables to have gl_ prefix.
98077
98078         * m4/jm-macros.m4: Reflect the renamings.
98079         * m4/prereq.m4: Likewise.
98080
98081 2004-04-20  Jim Meyering  <jim@meyering.net>
98082
98083         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
98084         memory.
98085
98086 2004-04-20  Jim Meyering  <jim@meyering.net>
98087             Bruno Haible  <bruno@clisp.org>
98088
98089         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
98090         memory when realloc fails.
98091
98092 2004-04-19  Jim Meyering  <jim@meyering.net>
98093
98094         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
98095         now that readutmp.c may call `free (0)'.
98096
98097 2004-04-19  Bruno Haible  <bruno@clisp.org>
98098
98099         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
98100         * m4/inttypes_h.m4: Likewise.
98101         * m4/stdint_h.m4: Likewise.
98102         * m4/intmax_t.m4: Likewise.
98103         * m4/uintmax_t.m4: Likewise.
98104
98105 2004-04-18  Jim Meyering  <jim@meyering.net>
98106
98107         * m4/prereq.m4: Don't forbid jm_ prefix.
98108
98109         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
98110         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
98111         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
98112         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
98113         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
98114         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
98115         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
98116         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
98117         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
98118         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
98119         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
98120         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
98121         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
98122         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
98123         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
98124         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
98125         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
98126         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
98127         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
98128
98129 2004-04-18  Jim Meyering  <jim@meyering.net>
98130
98131         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
98132         failure, don't leak memory and do call END_UTMP_ENT.
98133
98134 2004-04-16  Jim Meyering  <jim@meyering.net>
98135
98136         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
98137         coreutils' stat program.
98138         (gl_PREREQ): Don't require jm_PREREQ_STAT.
98139
98140 2004-04-11  Paul Eggert  <eggert@twinsun.com>
98141
98142         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
98143         C89.
98144         (CHAR_BIT): Remove, since we assume C89.
98145         Include <stdint.h> if available, as per current Autoconf CVS advice.
98146
98147 2004-03-31  Jim Meyering  <jim@meyering.net>
98148
98149         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
98150         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
98151         * m4/xalloc.m4: Likewise.
98152
98153 2004-03-30  Paul Eggert  <eggert@twinsun.com>
98154
98155         Merge from coreutils.
98156
98157         * m4/inttostr.m4: New file.
98158         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
98159         Require AM_STDBOOL_H and gl_TIMESPEC instead.
98160         Require gl_CLOCK_TIME.
98161         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
98162
98163 2004-03-30  Paul Eggert  <eggert@twinsun.com>
98164
98165         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
98166         not bool, to be more consistent with Unix conventions.
98167         Suggested by Bruno Haible.
98168
98169         Merge from coreutils.
98170
98171         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
98172         * lib/umaxtostr.c: New files.
98173
98174         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
98175         the usual <time.h> dance.
98176         (get_date): Change signature to support fractional time stamps.
98177         All callers changed.
98178         * lib/getdate.y: Include "getdate.h" first, as we can now
98179         assume C89 and don't need to worry about 'const'.
98180         Similarly, include "unlocked-io.h" near start, not in middle.
98181         Include <limits.h>.
98182         (textint.value): Use long int rather than int.
98183         (textint.digits): Use size_t rather than int.
98184         (BILLION, LOG10_BILLION): New constants.
98185         (parser_control): New member rel_ns.  Members day_ordinal,
98186         time_zone, month, day, hour, minutes, rel_year, rel_month,
98187         rel_day, rel_hour, rel_minutes, rel_seconds
98188         are now long int, not int.  Member seconds is now struct timespec,
98189         not int.  New member timespec_seen.  Members dates_seen, days_seen,
98190         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
98191         not int.
98192         (%union.intval): Now long int, not int.
98193         New member timespec.
98194         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
98195         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
98196         (spec): Now is a timespec or an item list.
98197         (timespec, items): New nonterminals.
98198         (time, rel, relunit, number, get_date):
98199         Add support for fractional seconds.
98200         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
98201         (gmtime, localtime, mktime): Remove decls; not needed with C89.
98202         (to_hour): First arg is now long int, not int.
98203         (to_year): Returns long int, not int.
98204         Don't treat year -70 like 70.
98205         (tm_diff): Returns long int, not int.
98206         (lookup_word): Use bool instead of int when appropriate.
98207         (yylex): Use size_t for count, not int.
98208         Detect overflow when parsing large integer constants.
98209         Add support for fractions.
98210         (get_date): Make pointers 'const' if possible.
98211         Use more-portable code to detect integer overflow.
98212         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
98213         Don't use ctime; it's not reliable if the year has >4 digits.
98214
98215         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
98216         This is for compatibility with BSD.
98217
98218         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
98219         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
98220         From coreutils' system.h.
98221
98222         * lib/userspec.c: Don't include "posixver.h".
98223         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
98224         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
98225         compatible extension.  Simplify code by removing a boolean int
98226         that was always nonzero if a string was nonnull.
98227
98228 2004-03-30  Jim Meyering  <jim@meyering.net>
98229
98230         Merge from coreutils.
98231
98232         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
98233         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
98234         on some systems one must include <grp.h> before it.
98235         Reported by Christian Krackowizer.
98236
98237 2004-03-30  Jim Meyering  <jim@meyering.net>
98238
98239         Merge from coreutils.
98240
98241         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
98242
98243         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
98244         an empty input stream.
98245
98246         * lib/readtokens.c: Include <stdbool.h>.
98247         (readtoken): Use `size_t' rather than int/long.
98248         All callers adjusted.
98249         Use `bool' rather than `int' where appropriate.
98250         Use memset rather than an explicit loop.
98251         Use x2nrealloc rather than xrealloc.
98252         Allow the use of `\0' as a delimiter.
98253         (readtokens): Likewise.
98254         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
98255
98256 2004-03-30  Jim Meyering  <jim@meyering.net>
98257
98258         * m4/realloc.m4: Remove file, since now it does no more than
98259         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
98260         the `configure.ac' section of module/realloc.
98261         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
98262
98263 2004-03-30  Bruno Haible  <bruno@clisp.org>
98264
98265         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
98266         nonnull.
98267
98268 2004-03-29  Paul Eggert  <eggert@twinsun.com>
98269
98270         Merge changes to getloadavg.c from coreutils and Emacs.
98271
98272         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
98273         Define to an expression, not to the empty string.
98274         Include cloexec.h and xalloc.h.
98275         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
98276         Use set_cloexec_flag rather than rolling our own.
98277         * lib/cloexec.c, lib/cloexec.h: New files.
98278
98279 2004-03-29  Paul Eggert  <eggert@twinsun.com>
98280
98281         * m4/cloexec.m4: New file.
98282
98283 2004-03-18  Paul Eggert  <eggert@twinsun.com>
98284
98285         * lib/getopt.h: Sync with libc CVS.
98286
98287 2004-03-18  Paul Eggert  <eggert@twinsun.com>
98288             Bruno Haible  <bruno@clisp.org>
98289
98290         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
98291         mbswidth.
98292
98293 2004-03-18  Paul Eggert  <eggert@twinsun.com>
98294             Bruno Haible  <bruno@clisp.org>
98295
98296         * lib/mbswidth.h: Include <wchar.h> only if
98297         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
98298         <wchar.h>.
98299         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
98300
98301 2004-03-09  Paul Eggert  <eggert@twinsun.com>
98302
98303         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
98304         Sync with libc CVS.
98305         * lib/getopt_int.h: New file, also synced from libc.
98306
98307 2004-03-09  Paul Eggert  <eggert@twinsun.com>
98308
98309         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
98310         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
98311         Bring back getopt.c, getopt.h, getopt1.c.
98312
98313 2004-03-07  Paul Eggert  <eggert@twinsun.com>
98314
98315         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
98316         All uses changed.  Check for sa_sigaction member; this fixes
98317         a bug first reported by Jason Andrade in
98318         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
98319
98320 2004-03-07  Paul Eggert  <eggert@twinsun.com>
98321
98322         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
98323         '#if' expressions.  Unlike the code it replaces, it does not
98324         depend on (defined _SC_PAGESIZE).  However, it does depend on
98325         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
98326         first reported by Jason Andrade in
98327         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
98328
98329 2004-02-25  Simon Josefsson  <jas@extundo.com>
98330
98331         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
98332
98333 2004-02-25  Simon Josefsson  <jas@extundo.com>
98334
98335         * lib/strdup.h: New file.
98336         * lib/strdup.c: Include it.
98337         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
98338         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
98339
98340 2004-02-23  Karl Berry  <karl@gnu.org>
98341
98342         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
98343         (from fencepost.gnu.org:/gd/gnuorg).
98344
98345 2004-02-23  Karl Berry  <karl@gnu.org>
98346
98347         * config/srclistvars.sh (GNUORG) [karl]: redefine.
98348         * config/srclist.txt: add maintain/standards documents.
98349
98350 2004-02-18  Bruno Haible  <bruno@clisp.org>
98351
98352         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
98353         Reported by Derek Robert Price <derek@ximbiot.com>.
98354
98355 2004-02-16  Karl Berry  <karl@gnu.org>
98356
98357         * config/mkinstalldirs, install-sh: update from automake.
98358
98359 2004-02-06  Karl Berry  <karl@gnu.org>
98360
98361         * m4/po.m4: update from gettext 0.14.1.
98362
98363 2004-02-06  Karl Berry  <karl@gnu.org>
98364
98365         * lib/config.charset: update from gettext 0.14.1.
98366
98367 2004-02-05  Paul Eggert  <eggert@twinsun.com>
98368
98369         Add comments and code, prompted by suggestions from Bruno Haible
98370         for sh-quote.
98371         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
98372         describing the enum quoting_style values.
98373         * lib/quotearg.c (quotearg_alloc): New function.
98374         (quotearg_buffer_restyled): Treat lone { and } as special.
98375         Treat = as special.  Work around bug with older shells
98376         that "see" a '\' that is really the 2nd byte of a multibyte char.
98377         Quote empty string with shell_quoting_style.
98378
98379 2004-02-03  Bruno Haible  <bruno@clisp.org>
98380
98381         * m4/pipe.m4: New file, from GNU gettext.
98382
98383 2004-02-03  Bruno Haible  <bruno@clisp.org>
98384
98385         * lib/pipe.h: New file, from GNU gettext.
98386         * lib/pipe.c: New file, from GNU gettext.
98387
98388 2004-01-27  Bruno Haible  <bruno@clisp.org>
98389
98390         * m4/execute.m4: New file, from GNU gettext.
98391
98392 2004-01-27  Bruno Haible  <bruno@clisp.org>
98393
98394         * lib/execute.h: New file, from GNU gettext.
98395         * lib/execute.c: New file, from GNU gettext.
98396         * lib/w32spawn.h: New file, from GNU gettext.
98397
98398 2004-01-24  Paul Eggert  <eggert@twinsun.com>
98399
98400         Merge from diffutils.
98401
98402         * lib/file-type.c (file_type): Add typed memory objects.
98403         * lib/file-type.h (S_TYPEISTMO): New macro.
98404
98405         * lib/c-stack.h (c_stack_action): Remove argv argument.
98406         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
98407         (die): Don't calculate message unless segv_action returns.
98408         (get_stack_location, min_address_from_argv, max_address_from_argv,
98409         volatile stack_base, volatile_stack_size): Remove.
98410         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
98411         that every segmentation violation is a stack overflow.  (Ouch!)
98412         See Debian bug 136249 (still outstanding) for more info about why
98413         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
98414
98415 2004-01-24  Paul Eggert  <eggert@twinsun.com>
98416
98417         Exit-status fix from coreutils.
98418
98419         Use exit_failure consistently in place of EXIT_FAILURE,
98420         so that program exit statuses are consistent on failure.
98421
98422         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
98423         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
98424         * lib/argmatch.h: Comment fix to match the above.
98425         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
98426         Now a macro referring to exit_failure, instead of a separate
98427         variable.  Include "exitfail.h" to get it.
98428         * lib/xstrtol.h: Include "exitfail.h".
98429         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
98430
98431         * lib/long-options.c (parse_long_options): Use prototype
98432         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
98433         for clarity.
98434
98435 2004-01-21  Jim Meyering  <jim@meyering.net>
98436
98437         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
98438         so as not to conflict with a different-sized __mktime_internal
98439         function in GNU libc.
98440         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
98441         Problem building statically-linked `ls' reported by Michael Brunnbauer.
98442
98443 2004-01-20  Karl Berry  <karl@gnu.org>
98444
98445         * config/config.guess: update from config.
98446
98447         * config/srclistvars.sh: GNUWWWLICENSES for karl.
98448
98449 2004-01-20  Bruno Haible  <bruno@clisp.org>
98450
98451         Safer stack allocation.
98452         * lib/setenv.c: Include allocsa.h.
98453         (alloca): Remove fallback definition.
98454         (freea): Remove macro.
98455         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
98456         instead of freea.
98457
98458 2004-01-20  Bruno Haible  <bruno@clisp.org>
98459
98460         * m4/eealloc.m4: New file, from GNU gettext.
98461
98462 2004-01-20  Bruno Haible  <bruno@clisp.org>
98463
98464         * m4/allocsa.m4: New file, from GNU gettext.
98465
98466 2004-01-20  Bruno Haible  <bruno@clisp.org>
98467
98468         * lib/xallocsa.h: New file, from GNU gettext.
98469         * lib/xallocsa.c: New file, from GNU gettext.
98470
98471 2004-01-20  Bruno Haible  <bruno@clisp.org>
98472
98473         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
98474
98475 2004-01-20  Bruno Haible  <bruno@clisp.org>
98476
98477         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
98478         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
98479         specially.
98480
98481 2004-01-20  Bruno Haible  <bruno@clisp.org>
98482
98483         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
98484         patch.
98485
98486 2004-01-20  Bruno Haible  <bruno@clisp.org>
98487
98488         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
98489
98490 2004-01-20  Bruno Haible  <bruno@clisp.org>
98491
98492         * lib/eealloc.h: New file.
98493
98494 2004-01-20  Bruno Haible  <bruno@clisp.org>
98495
98496         * lib/binary-io.h: Avoid warnings on Cygwin.
98497
98498 2004-01-20  Bruno Haible  <bruno@clisp.org>
98499
98500         * lib/allocsa.h: New file, from GNU gettext.
98501         * lib/allocsa.c: New file, from GNU gettext.
98502
98503 2004-01-18  Karl Berry  <karl@gnu.org>
98504
98505         * doc/gpl.texi, doc/lgpl.texi: new files.
98506
98507 2004-01-18  Karl Berry  <karl@gnu.org>
98508
98509         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
98510         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
98511
98512 2004-01-15  Paul Eggert  <eggert@twinsun.com>
98513
98514         Merge from coreutils.
98515
98516         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
98517         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
98518         (gl_DEFAULT_POSIX2_VERSION): Move
98519         the documentation from 'configure' into 'config.hin',
98520         so that 'configure --help' isn't burdened by it and
98521         we don't have to worry about its formatting there.
98522         Reword the documentation so that it's more succinct
98523         and can be run together into a single paragraph.
98524         * m4/same.m4 (gl_SAME): Check for pathconf.
98525
98526 2004-01-15  Paul Eggert  <eggert@twinsun.com>
98527
98528         Merge from coreutils.
98529
98530         * lib/posixver.c: Include posixver.h.
98531
98532         * lib/same.c: Include <stdbool.h>, <limits.h>.
98533         (_POSIX_NAME_MAX): Define if not defined.
98534         (MIN): New macro.
98535         (same_name): If file names are silently truncated, report
98536         that the file names are the same if they are the same after
98537         the silent truncation.
98538
98539         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
98540         conversion function.
98541         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
98542         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
98543         longer needed.
98544
98545 2004-01-15  Jim Meyering  <jim@meyering.net>
98546
98547         Merge from coreutils.
98548
98549         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
98550         if no library is required.
98551         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
98552         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
98553         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
98554         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
98555         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
98556         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
98557         value, $ac_cv_search_crypt, if it's "none required".
98558         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
98559         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
98560         not gl_FUNC_GETLOADAVG.
98561         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
98562         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
98563
98564 2004-01-15  Jim Meyering  <jim@meyering.net>
98565
98566         Merge from coreutils.
98567
98568         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
98569         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
98570         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
98571
98572         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
98573         optional configure-time default.
98574
98575         * lib/version-etc.c (version_etc_copyright): Update copyright date.
98576
98577         * lib/xreadlink.c (xreadlink): Correct outdated comment.
98578
98579 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
98580
98581         Merge from coreutils.
98582
98583         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
98584         value, $ac_cv_search_nanosleep, if it's "none required".
98585
98586 2004-01-14  Paul Eggert  <eggert@twinsun.com>
98587
98588         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
98589         with like-named macro in fnmatch.c.
98590         (EXT): Use an internal constant instead.
98591
98592         Merge fnmatch patches from glibc.
98593         * lib/fnmatch.c (mbsinit): Remove define.
98594         Add libc_hidden_ver (__fnmatch, fnmatch).
98595         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
98596         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
98597
98598 2004-01-14  Karl Berry  <karl@gnu.org>
98599
98600         * config/install-sh: update from automake.
98601
98602 2004-01-13  Karl Berry  <karl@gnu.org>
98603
98604         * config/install-sh: update from automake.
98605
98606 2004-01-09  Karl Berry  <karl@gnu.org>
98607
98608         * config/install-sh: update from automake.
98609
98610 2004-01-05  Karl Berry  <karl@gnu.org>
98611
98612         * config/config.{sub,guess}: update from config.
98613
98614 2003-12-31  Karl Berry  <karl@gnu.org>
98615
98616         * config/depcomp: update from automake.
98617
98618 2003-12-14  Karl Berry  <karl@gnu.org>
98619
98620         * lib/config.charset: update from gettext-runtime.
98621
98622 2003-12-03  Paul Eggert  <eggert@twinsun.com>
98623
98624         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
98625         Bug reported by Alfred M. Szmidt.
98626
98627 2003-12-03  Bruno Haible  <bruno@clisp.org>
98628
98629         * m4/gettext.m4: Upgrade from gettext-0.13.
98630         * m4/po.m4: Upgrade from gettext-0.13.
98631         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
98632         * m4/intmax.m4: New file, from gettext-0.13.
98633         * m4/printf-posix.m4: New file, from gettext-0.13.
98634
98635 2003-11-29  Karl Berry  <karl@gnu.org>
98636
98637         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
98638
98639 2003-11-25  Paul Eggert  <eggert@twinsun.com>
98640             Bruno Haible  <bruno@clisp.org>
98641
98642         * lib/printf-parse.h: Don't include sys/types.h.
98643         (ARG_NONE): New macro.
98644         (char_directive): Change type of *arg_index fields to size_t.
98645         * lib/printf-parse.c: Don't include sys/types.h.
98646         (SSIZE_MAX): Remove macro.
98647         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
98648         Remove unnecessary overflow check.
98649         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
98650         fields.
98651
98652 2003-11-25  Bruno Haible  <bruno@clisp.org>
98653
98654         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
98655
98656 2003-11-25  Bruno Haible  <bruno@clisp.org>
98657
98658         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
98659         gt_TYPE_SSIZE_T.
98660
98661 2003-11-24  Paul Eggert  <eggert@twinsun.com>
98662
98663         * modules/alloca: Remove dependency on xalloc.
98664
98665 2003-11-24  Paul Eggert  <eggert@twinsun.com>
98666
98667         * lib/alloca.c: Remove dependency on xalloc module.
98668         (xalloc_die): Remove.
98669         (memory_full) [!defined emacs]: New macro.
98670         [!defined emacs]: Don't include xalloc.h.
98671         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
98672         address arithmetic overflows.  Change datatypes a bit to avoid
98673         unnecessary casts.
98674
98675 2003-11-22  Jim Meyering  <jim@meyering.net>
98676
98677         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
98678         s/size/size_t/.
98679
98680 2003-11-21  Karl Berry  <karl@gnu.org>
98681
98682         * config/config.{sub,guess}: update from config.
98683
98684 2003-11-18  Karl Berry  <karl@gnu.org>
98685
98686         * config/config.{sub,guess}: update from config.
98687
98688         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
98689
98690 2003-11-17  Paul Eggert  <eggert@twinsun.com>
98691
98692         * README: Mention that S+T cannot overflow if S is the size of
98693         an existing object and T is sufficiently small.
98694
98695 2003-11-17  Jim Meyering  <jim@meyering.net>
98696
98697         On systems without utime and without a utimes function capable of
98698         dealing with a NULL struct utimbuf* argument, this utime replacement
98699         could -- in unusual circumstances -- leak a file descriptor.
98700         * lib/utime.c: Include <unistd.h> and <errno.h>.
98701         (utime_null): Be sure to close `fd' and to preserve errno.
98702         Reported by Geoff Collyer via Arnold Robbins.
98703
98704 2003-11-17  Bruno Haible  <bruno@clisp.org>
98705
98706         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
98707         (Depends-on): Add xsize.
98708
98709 2003-11-17  Bruno Haible  <bruno@clisp.org>
98710
98711         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
98712
98713 2003-11-17  Bruno Haible  <bruno@clisp.org>
98714
98715         * lib/vasnprintf.c (alloca): Remove fallback definition.
98716         (freea): Remove definition.
98717         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
98718         Reported by Paul Eggert.
98719
98720 2003-11-16  Paul Eggert  <eggert@twinsun.com>
98721             Bruno Haible  <bruno@clisp.org>
98722
98723         Protect against address arithmetic overflow.
98724         * lib/printf-args.h: Include stddef.h.
98725         (arguments): Change type of field 'count' to size_t.
98726         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
98727         'unsigned int' where appropriate.
98728         * lib/printf-parse.h: Include sys/types.h.
98729         (char_directive): Change type of *arg_index fields to ssize_t.
98730         (char_directives): Change type of fields 'count', max_*_length to
98731         size_t.
98732         * lib/printf-parse.c: Include sys/types.h and xsize.h.
98733         (SSIZE_MAX): Define fallback value.
98734         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
98735         instead of 'int' where appropriate. Check a_allocated, d_allocated
98736         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
98737         * lib/vasnprintf.c: Include xsize.h.
98738         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
98739         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
98740         overflow. Avoid wraparound when converting a width or precision from
98741         decimal to binary.
98742
98743 2003-11-16  Bruno Haible  <bruno@clisp.org>
98744
98745         Update from GNU gettext.
98746         * lib/printf-parse.c: Generalize to it can be compiled for wide
98747         strings.
98748         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
98749         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
98750         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
98751         SNPRINTF): New macros.
98752         Don't include <alloca.h> if the file is used inside libintl.
98753         (local_wcslen): New function, for Solaris 2.5.1.
98754         (VASNPRINTF): Use it instead of wcslen.
98755
98756 2003-11-16  Bruno Haible  <bruno@clisp.org>
98757
98758         * lib/xsize.h (xmax): New function.
98759         (xsum, xsum3, xsum4): Declare as "pure" functions.
98760
98761 2003-11-12  Paul Eggert  <eggert@twinsun.com>
98762
98763         * modules/xalloc (Files): Undo latest change, since xalloc.h
98764         no longer needs SIZE_MAX or PTRDIFF_MAX.
98765
98766 2003-11-12  Paul Eggert  <eggert@twinsun.com>
98767
98768         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
98769         gl_PTRDIFF_MAX.
98770
98771 2003-11-12  Paul Eggert  <eggert@twinsun.com>
98772
98773         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
98774         "return", to pacify some unknown compiler.  Problem reported
98775         by Joerg Schilling.
98776
98777 2003-11-12  Paul Eggert  <eggert@twinsun.com>
98778
98779         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
98780         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
98781         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
98782         heuristic is just as accurate as far as we know, and it removes a
98783         dependency on size_max.m4 and ptrdiff_max.m4.
98784
98785 2003-11-11  Bruno Haible  <bruno@clisp.org>
98786
98787         * modules/xsize (Files): Add m4/size_max.m4.
98788         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
98789
98790 2003-11-11  Bruno Haible  <bruno@clisp.org>
98791
98792         * m4/size_max.m4: New file.
98793         * m4/ptrdiff_max.m4: New file.
98794         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
98795         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
98796         (gl_XALLOC): Invoke it.
98797
98798 2003-11-11  Bruno Haible  <bruno@clisp.org>
98799
98800         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
98801         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
98802         defined.
98803
98804 2003-11-10  Paul Eggert  <eggert@twinsun.com>
98805
98806         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
98807         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
98808         rejected some allocations of exactly SIZE_MAX - 2 bytes.
98809         From Bruno Haible.
98810         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
98811         not (size_t) -1, since it's defined here.
98812
98813 2003-11-09  Karl Berry  <karl@gnu.org>
98814
98815         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
98816
98817 2003-11-06  Paul Eggert  <eggert@twinsun.com>
98818
98819         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
98820         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
98821         Reject sizes of exactly SIZE_MAX bytes.
98822         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
98823         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
98824
98825 2003-11-05  Bruno Haible  <bruno@clisp.org>
98826
98827         * lib/xsize.h: Include limits.h, to avoid a possible collision with
98828         SIZE_MAX defined in <limits.h> on Solaris.
98829
98830 2003-11-04  Jim Meyering  <jim@meyering.net>
98831
98832         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
98833         variable names, rather than @VAR@.
98834         * modules/poll: Likewise.
98835
98836 2003-11-04  Bruno Haible  <bruno@clisp.org>
98837
98838         * modules/xsize: New file.
98839         * modules/linebreak: Depend on xsize.
98840         * MODULES.html.sh (func_all_modules): Add xsize.
98841
98842 2003-11-04  Bruno Haible  <bruno@clisp.org>
98843
98844         * m4/xsize.m4: New file.
98845
98846 2003-11-04  Bruno Haible  <bruno@clisp.org>
98847
98848         * lib/xsize.h: New file.
98849         * lib/linebreak.c: Include xsize.h.
98850         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
98851         argument for overflow.
98852         Suggested by Paul Eggert.
98853
98854 2003-11-03  Karl Berry  <karl@gnu.org>
98855
98856         * config/config.{guess,sub}: update from config.
98857
98858 2003-11-03  Jim Meyering  <jim@meyering.net>
98859
98860         * modules/userspec (lib_SOURCES): Add userspec.h.
98861         (Include): Add "userspec.h".
98862         Improve description.
98863
98864 2003-11-03  Jim Meyering  <jim@meyering.net>
98865
98866         * lib/userspec.c: Include "userspec.h".
98867         * lib/userspec.h: New file.
98868
98869 2003-11-03  Bruno Haible  <bruno@clisp.org>
98870
98871         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
98872
98873 2003-11-03  Bruno Haible  <bruno@clisp.org>
98874
98875         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
98876         available, to avoid (extremely rare) race condition.
98877         Suggested by Paul Eggert.
98878
98879 2003-11-02  Karl Berry  <karl@gnu.org>
98880
98881         * config/srclist.txt (vasprintf.c): sync broken, sigh.
98882
98883 2003-10-31  Paul Eggert  <eggert@twinsun.com>
98884
98885         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
98886         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
98887         (read_filesystem_list): Set and use me_type_malloced.
98888         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
98889         whatever the type happens to be), for brevity and consistency.
98890         Check for size calculation overflow on Alphas running OSF/1.
98891
98892 2003-10-31  Jim Meyering  <jim@meyering.net>
98893
98894         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
98895
98896         * lib/linebuffer.c: Include <string.h> for declaration of memset.
98897
98898 2003-10-30  Paul Eggert  <eggert@twinsun.com>
98899             Bruno Haible  <bruno@clisp.org>
98900
98901         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
98902         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
98903
98904 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
98905
98906         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
98907         netbsd*-gnu*.  Suggested by Robert Millan.
98908
98909 2003-10-29  Paul Eggert  <eggert@twinsun.com>
98910
98911         * modules/group-member: Depend on stdbool.
98912
98913 2003-10-29  Paul Eggert  <eggert@twinsun.com>
98914
98915         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
98916
98917 2003-10-29  Paul Eggert  <eggert@twinsun.com>
98918
98919         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
98920         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
98921         after the 'gnu' in these cases.  This fixes some bugs in the
98922         previous change, and is based on suggestions by Robert Millan.
98923
98924 2003-10-29  Paul Eggert  <eggert@twinsun.com>
98925
98926         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
98927         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
98928         no longer needed.
98929         * lib/quotearg.c (quotearg_n_options): Use it.
98930         * lib/group-member.c: Include <stdbool.h>.
98931         (free_group_info): Arg is now const *; don't free arg.
98932         (get_group_info): Now returns bool and accepts struct group_info *,
98933         rather than returning a malloc'ed struct group_info *.
98934         All uses changed.  Check for overflow in internal size calculation.
98935
98936         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
98937         rather than xmalloc/xrealloc.
98938         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
98939         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
98940         conformance bug: the old code used a pointer after freeing the
98941         storage that it addressed.
98942         * lib/hash.c (hash_initialize): Simplify the code by using
98943         xalloc_oversized rather than doing it by hand.
98944         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
98945         the buffer preserved.  Use free and xmalloc instead.
98946         * lib/quotearg.c (quotearg_n_options): Likewise.
98947         Use a simpler test for size overflow.  Don't use xalloc_oversized
98948         because unsigned int might be wider than size_t (!); this suggests
98949         that we should switch from unsigned int to size_t for slot numbers.
98950
98951 2003-10-28  Paul Eggert  <eggert@twinsun.com>
98952
98953         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
98954         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
98955         NetBSD kernels.  Requested by Richard Stallman.
98956
98957 2003-10-27  Paul Eggert  <eggert@twinsun.com>
98958
98959         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
98960         to allocate the returned structure.  Do not allocate a subarray,
98961         as x2nrealloc will do that.
98962         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
98963         instead of xnrealloc.
98964         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
98965
98966 2003-10-27  Bruno Haible  <bruno@clisp.org>
98967
98968         * lib/stdbool_.h: Better support for BeOS.
98969
98970 2003-10-26  Paul Eggert  <eggert@twinsun.com>
98971
98972         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
98973         now uses inline.
98974
98975 2003-10-26  Paul Eggert  <eggert@twinsun.com>
98976
98977         * lib/xalloc.h (xalloc_oversized): New static inline function, for
98978         callers that want to do their own size-overflow checking.  Include
98979         <stdbool.h>, since xalloc_oversized returns bool.
98980         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
98981         to use xalloc_oversized.
98982
98983         Add two functions x2realloc, x2nrealloc, for programs that grow
98984         arrays dynamically by doubling their sizes.
98985         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
98986         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
98987         New functions.
98988
98989         Port to C99 semantics for 'inline' of external functions.
98990         Bug reported by Bruno Haible.
98991         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
98992         with the old contents of xnmalloc.
98993         (xnmalloc, xmalloc): Use it.
98994         (xnrealloc_inline): New static inline function,
98995         with the old contents of xnrealloc.
98996         (xnrealloc, xrealloc): Use it.
98997
98998         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
98999         that.
99000
99001 2003-10-26  Karl Berry  <karl@gnu.org>
99002
99003         * config/srclist.txt (COPYING.DOC): no longer available from
99004         /gd/gnuorg; don't know where the ultimate source is.
99005
99006 2003-10-25  Paul Eggert  <eggert@twinsun.com>
99007
99008         Fix several address-calculation bugs in the hash modules,
99009         plus some minor code cleanup.
99010
99011         * lib/hash.h: Include <stdbool.h>, for bool.
99012         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
99013         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
99014         hash_get_n_entries, hash_get_max_bucket_length,
99015         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
99016         hash_rehash): Use size_t rather than unsigned.
99017         * lib/hash.c (struct hash_table, hash_get_n_buckets,
99018         hash_get_n_buckets_used, hash_get_n_entries,
99019         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
99020         hash_get_entries, hash_do_for_each, hash_string, is_prime,
99021         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
99022         Likewise.
99023         (SIZE_MAX): Define if not defined.
99024         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
99025         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
99026         hash_print):
99027         Use const * when possible.
99028         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
99029         (check_tuning): Fix bug: if tuning parameters were very close to
99030         0 or 1, rounding errors could have caused subscript violations.
99031         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
99032         (hash_initialize): Add 'fail:' label
99033         to free table and return NULL, and use it to simplify code.
99034         Use calloc rather than clearing the storage ourself.
99035         (hash_initialize, hash_rehash): Check for arithmetic overflow in
99036         buffer size calculations.
99037         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
99038         Include <stddef.h>, for size_t.
99039         * lib/hash-pjw.c (hash_pjw): Likewise.
99040         Switch to method described by Bruno Haible.
99041         Include <limits.h>, for CHAR_BIT.
99042         (SIZE_BITS): New macro.
99043
99044 2003-10-23  Paul Eggert  <eggert@twinsun.com>
99045
99046         * m4/getline.m4 (AM_FUNC_GETLINE):
99047         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
99048         hosts.  Problem reported by Derek Robert Price in
99049         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
99050         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
99051         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
99052
99053 2003-10-21  Paul Eggert  <eggert@twinsun.com>
99054
99055         * lib/getndelim2.c (getndelim2): When size calculation overflows,
99056         ceiling the allocation at NMAX bytes rather than silently
99057         discarding input bytes before NMAX is reached.  This makes
99058         a difference only if NMAX exceeds SIZE_MAX / 2.
99059
99060         * lib/obstack.c: Merge from glibc.
99061         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
99062         Add libc_hidden_def (_obstack_newchunk).
99063         (_obstack_free) [! defined _LIBC]: Remove.
99064         [defined _LIBC]: Make a strong alias from obstack_free, rather than
99065         a clone of the function body.
99066         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
99067         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
99068
99069         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
99070         glibc.
99071         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
99072         arg to memcpy.
99073
99074         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
99075         (obstack_ptr_grow_fast, obstack_int_grow_fast):
99076         Don't use lvalue casts, as GCC plans to remove support for them
99077         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
99078         was also present in the non-GCC version, indicating that this
99079         code had always been buggy and had never been widely used.
99080         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
99081         Use the fast variant of each macro, rather than copying the
99082         definiens of the fast variant; that way, we'll be more likely to
99083         catch future bugs in the fast variants.
99084
99085 2003-10-20  Bruno Haible  <bruno@clisp.org>
99086
99087         * modules/wait-process: New file.
99088         * MODULES.html.sh (func_all_modules): Add wait-process.
99089
99090 2003-10-20  Bruno Haible  <bruno@clisp.org>
99091
99092         * m4/wait-process.m4: New file.
99093
99094 2003-10-20  Bruno Haible  <bruno@clisp.org>
99095
99096         * lib/wait-process.h: New file, from GNU gettext.
99097         * lib/wait-process.c: New file, from GNU gettext.
99098
99099 2003-10-19  Jim Meyering  <jim@meyering.net>
99100
99101         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
99102         HPUX 10.20.
99103
99104 2003-10-18  Karl Berry  <karl@gnu.org>
99105
99106         * config/config.guess: update from config.
99107
99108 2003-10-16  Paul Eggert  <eggert@twinsun.com>
99109
99110         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
99111         (getgroups): First arg is int, not size_t.
99112         Don't let 'free' mangle errno.
99113
99114 2003-10-16  Paul Eggert  <eggert@twinsun.com>
99115
99116         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
99117
99118 2003-10-16  Karl Berry  <karl@gnu.org>
99119
99120         * config/config.{guess,sub}: update from config.
99121
99122 2003-10-16  Jim Meyering  <jim@meyering.net>
99123
99124         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
99125         memcpy.
99126
99127 2003-10-15  Paul Eggert  <eggert@twinsun.com>
99128
99129         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
99130         (SIZE_MAX): Remove.
99131         (new_exclude, add_exclude_file): Initial size no longer needs to
99132         be a power of 2.
99133         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
99134         our own address arithmetic overflow checking.
99135
99136         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
99137         (fnmatch): Do not alloca more than 2000 wide characters;
99138         instead, use malloc for large buffers.
99139         Check for address arithmetic overflow, and return -1
99140         with errno set to ENOMEM in that case.
99141         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
99142         (NEW_PATTERN): Do not alloca more than 8000 bytes;
99143         instead, return -1.  Check for address arithmetic overflow.
99144
99145 2003-10-14  Paul Eggert  <eggert@twinsun.com>
99146
99147         Handle invalid suffixes and overflow independently, so that
99148         callers can treat them independently as needed.  Fix some bugs in
99149         suffix handling, e.g., "100k@" was not diagnosed as an invalid
99150         suffix for a human-readable blocksize.  The major caller-visible
99151         change is the addition of a new
99152         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
99153         that both overflow and suffix chars were found.
99154
99155         * lib/human.c (humblock): Don't check separately for invalid suffix
99156         char; that is xstrtoumax's job (now that its bug is fixed).
99157         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
99158         INTMAX_MAX]: New macros.
99159         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
99160         TYPE_MAXIMUM): New macros.
99161         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
99162         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
99163         if overflow occurs, as it's what __strtol does and it's more useful
99164         in practice.
99165         (__xstrtol): If __strtol reports some error other than ERANGE,
99166         reflect it to the caller as LONGINT_INVALID.  If it reports
99167         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
99168         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
99169         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
99170         value.
99171         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
99172         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
99173         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
99174         [defined UINTMAX_MAX]: New macros.
99175
99176 2003-10-14  Bruno Haible  <bruno@clisp.org>
99177
99178         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
99179
99180 2003-10-14  Bruno Haible  <bruno@clisp.org>
99181
99182         * m4/sig_atomic_t: New file, from GNU gettext.
99183         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
99184
99185 2003-10-14  Bruno Haible  <bruno@clisp.org>
99186
99187         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
99188         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
99189         Also use volatile where needed.
99190
99191 2003-10-12  Paul Eggert  <eggert@twinsun.com>
99192
99193         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
99194         Change maintainer from Bruno Haible to 'all'.
99195
99196 2003-10-12  Paul Eggert  <eggert@twinsun.com>
99197
99198         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
99199
99200 2003-10-12  Paul Eggert  <eggert@twinsun.com>
99201
99202         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
99203         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
99204         and define in terms of the other primitives.
99205         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
99206         (SIZE_MAX): Define if not already defined.
99207         (array_size_overflow): New function.
99208         (xalloc_die): Abort instead of exiting if 'error' returns.
99209         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
99210         (xmalloc, xrealloc): Use them.
99211         (xcalloc): Check for address arithmetic overflow.
99212         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
99213         a bit faster than strcpy.
99214
99215 2003-10-10  Simon Josefsson  <jas@extundo.com>
99216
99217         * modules/argp (Depends-on): Add restrict and strcase.
99218
99219 2003-10-10  Simon Josefsson  <jas@extundo.com>
99220
99221         * m4/argp.m4: Add AC_C_INLINE.
99222
99223 2003-10-08  Paul Eggert  <eggert@twinsun.com>
99224
99225         Merge getpass from libc, plus a few fixes.
99226
99227         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
99228         Include <stdbool.h>.
99229         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
99230         __fsetlocking to empty.
99231         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
99232         do include <bits/libc-lock.h>.
99233         Do not include <fcntl.h>; not needed.
99234         [_LIBC]: Include <wchar.h>.
99235         (NOTCANCEL_MODE): New macro.
99236         (flockfile, funlockfile) [_LIBC]: New macros.
99237         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
99238         [!_LIBC]: New macros.
99239         (call_fclose): New function.
99240         (getpass): Use it.  Save tty stream separately; this simplifies the
99241         code and makes it more reliable if stdin happens to equal stdout.
99242         Invoke __fsetlocking on tty.
99243         Handle thread cancellation if needed.
99244         Namespace cleanup (use __tcgetattr, __getline).
99245         Use bool for Booleans.
99246         [USE_IN_LIBIO]: Handle wide streams.
99247         [!_LIBC]: Unconditionally do the fseek, since we don't know what
99248         stream might go where.
99249
99250         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
99251         doesn't have to include <stdio.h> before us.
99252         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
99253         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
99254         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
99255         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
99256         if not declared, so that we can use getpass.c code from libc without
99257         rewriting it.
99258         (flockfile, ftrylockfile, funlockfile): New macros.
99259
99260 2003-10-08  Paul Eggert  <eggert@twinsun.com>
99261
99262         * modules/getpass: Depend on stdbool.
99263
99264 2003-10-08  Paul Eggert  <eggert@twinsun.com>
99265
99266         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
99267
99268 2003-10-07  Karl Berry  <karl@gnu.org>
99269
99270         * config/config.{guess,sub}: update from config.
99271
99272 2003-10-06  Jim Meyering  <jim@meyering.net>
99273             Bruno Haible  <bruno@clisp.org>
99274
99275         This lets translators provide better translations for the
99276         "Written by ..." part of --version output.
99277         * lib/version-etc.h: Include stdarg.h.
99278         (version_etc_copyright): Declare as readonly.
99279         (version_etc): Make this function variadic with a NULL-terminated list
99280         of author name strings.
99281         (version_etc_va): New declaration.
99282         * lib/version-etc.c: Include stdarg.h, stdlib.h.
99283         (version_etc_copyright): Declare as readonly.
99284         (version_etc_va): New function. Provide a different translatable string
99285         for each possible number of authors < 10. Abbreviate when there are 10
99286         authors or more.
99287         (version_etc): Make this function variadic. Call version_etc_va.
99288         Suggestion from Gary V. Vaughan.
99289
99290         * lib/long-options.h (parse_long_options): Change prototype: the
99291         authors string is moved to the end and becomes variadic.
99292         * lib/long-options.c: Include stdarg.h.
99293         (parse_long_options): Make this function variadic, too.
99294         Call version_etc_va, not version_etc.
99295
99296 2003-10-06  Bruno Haible  <bruno@clisp.org>
99297
99298         * modules/version-etc-2: Remove file.
99299         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
99300
99301 2003-10-06  Bruno Haible  <bruno@clisp.org>
99302
99303         * modules/fatal-signal: New file.
99304         * MODULES.html.sh (func_all_modules): Add fatal-signal.
99305
99306 2003-10-06  Bruno Haible  <bruno@clisp.org>
99307
99308         * m4/fatal-signal.m4: New file.
99309         * m4/signalblocking.m4: New file, from GNU gettext.
99310
99311 2003-10-06  Bruno Haible  <bruno@clisp.org>
99312
99313         * lib/version-etc-2.h: Remove file.
99314         * lib/version-etc-2.c: Remove file.
99315
99316 2003-10-06  Bruno Haible  <bruno@clisp.org>
99317
99318         * lib/fatal-signal.h: New file, from GNU gettext.
99319         * lib/fatal-signal.c: New file, from GNU gettext.
99320
99321 2003-10-05  Paul Eggert  <eggert@twinsun.com>
99322
99323         * README: Rework advice for preventing empty .o files.
99324         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
99325         not <sys/types.h>.
99326
99327 2003-10-04  Karl Berry  <karl@gnu.org>
99328
99329         * lib/argp*: update from libc.
99330
99331 2003-10-04  Karl Berry  <karl@gnu.org>
99332
99333         * config/config.{guess,sub}: update from config.
99334
99335 2003-10-02  Bruno Haible  <bruno@clisp.org>
99336
99337         * modules/lchown (Include): Add lchown.h.
99338         * modules/time_r (Include): Use "..." syntax.
99339         * modules/xgetdomainname (Include): Add xgetdomainname.h.
99340
99341 2003-10-01  Simon Josefsson  <jas@extundo.com>
99342
99343         * MODULES.html.sh (func_all_modules): Move gethostname from section
99344         'based on' to section 'lacking' POSIX:2001.
99345
99346 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
99347
99348         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
99349         to output mode on the same stream.
99350
99351 2003-09-29  Paul Eggert  <eggert@twinsun.com>
99352
99353         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
99354         Fix arg typo in previous patch.
99355
99356 2003-09-28  Jim Meyering  <jim@meyering.net>
99357
99358         * lib/error.c: Correct cpp indentation.
99359
99360 2003-09-27  Paul Eggert  <eggert@twinsun.com>
99361
99362         * modules/free: New file.
99363
99364 2003-09-27  Paul Eggert  <eggert@twinsun.com>
99365
99366         * m4/free.m4: New file.
99367
99368 2003-09-27  Paul Eggert  <eggert@twinsun.com>
99369
99370         * lib/minmax.h (MIN, MAX)
99371         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
99372         Omit the special code that used __typeof__, since we worry that
99373         it could be more trouble than it's worth.  See:
99374         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
99375         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
99376
99377         * lib/free.c: New file.
99378
99379 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
99380
99381         Trivial fixes to Makefile.am parts of module listings.
99382         * modules/strstr: Append strstr.h to lib_SOURCES.
99383         * modules/strcase: Likewise, for strcase.h.
99384
99385 2003-09-27  Karl Berry  <karl@gnu.org>
99386
99387         * config/mkinstalldirs: update from automake.
99388
99389 2003-09-26  Paul Eggert  <eggert@twinsun.com>
99390
99391         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
99392         (error_tail): Do not loop, reallocating temporary buffer, since
99393         the output cannot contain more wide characters than the input
99394         contains bytes, the size must be big enough already.  This avoids
99395         one potential size overflow calculation.  Check for size overflow
99396         when calculating temporary buffer size.  Free temporary buffer
99397         when done, if it was allocated with malloc; this plugs a memory
99398         leak.  Remove casts from void * to pointers, that are no longer
99399         needed now that we're assuming C89 or better.
99400
99401         Merge error changes from glibc.
99402
99403         * lib/error.c, error.h: Update copyright notice header to match glibc.
99404         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
99405         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
99406         Disable cancellation while printing error.
99407         * lib/error.h: Prepend __ to parameter names.
99408
99409 2003-09-26  Jim Meyering  <jim@meyering.net>
99410
99411         * lib/error.c (error_tail): Move some declarations
99412         into inner scope where the local variables are used.
99413
99414 2003-09-26  Bruno Haible  <bruno@clisp.org>
99415
99416         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
99417         stpncpy().
99418         Don't define stpncpy through config.h; it's now done through stpncpy.h.
99419
99420 2003-09-26  Bruno Haible  <bruno@clisp.org>
99421
99422         * lib/stpncpy.h (gnu_stpncpy): New declaration.
99423         (stpncpy): Define as alias for gnu_stpncpy.
99424         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
99425
99426 2003-09-25  Simon Josefsson  <jas@extundo.com>
99427
99428         * lib/xgetdomainname.h: New file.
99429         * lib/xgetdomainname.c: New file.
99430
99431 2003-09-25  Simon Josefsson  <jas@extundo.com>
99432             Bruno Haible  <bruno@clisp.org>
99433
99434         * modules/getdomainname: New file.
99435         * modules/xgetdomainname: New file.
99436         * MODULES.html.sh (func_all_modules): Add getdomainname,
99437         xgetdomainname.
99438
99439 2003-09-25  Simon Josefsson  <jas@extundo.com>
99440             Bruno Haible  <bruno@clisp.org>
99441
99442         * m4/getdomainname.m4: New file.
99443
99444 2003-09-25  Simon Josefsson  <jas@extundo.com>
99445             Bruno Haible  <bruno@clisp.org>
99446
99447         * lib/getdomainname.h: New file.
99448         * lib/getdomainname.c: New file.
99449
99450 2003-09-25  Karl Berry  <karl@gnu.org>
99451
99452         * lib/argp-fmtstream.c, argp-help.c: update from libc.
99453
99454 2003-09-25  Karl Berry  <karl@gnu.org>
99455
99456         * config/install-sh: update from automake.
99457
99458 2003-09-25  Bruno Haible  <bruno@clisp.org>
99459
99460         * modules/version-etc-2: New file, from modules/version-etc with
99461         modifications.
99462         * MODULES.html.sh (func_all_modules): Add version-etc-2.
99463
99464 2003-09-25  Bruno Haible  <bruno@clisp.org>
99465
99466         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
99467         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
99468
99469 2003-09-24  Simon Josefsson  <jas@extundo.com>
99470
99471         * modules/xgethostname: Add xgethostname.h.
99472
99473 2003-09-24  Paul Eggert  <eggert@twinsun.com>
99474
99475         * lib/linebuffer.c (freebuffer): Don't free the argument, just
99476         the buffer associated with the argument.  Bug reported by
99477         Simon Josefsson.
99478
99479 2003-09-24  Paul Eggert  <eggert@twinsun.com>
99480
99481         * README: Document assumptions that 'int' is at least 32 bits
99482         wide, that integer arithmetic is 2's complement without overflow,
99483         that there are no holes in integer values, that adding sizes of
99484         two nonoverlapping objects can't overflow, and that all-bits-zero
99485         yields scalar zero.  Fix spelling and capitalization typos.
99486
99487 2003-09-19  Karl Berry  <karl@gnu.org>
99488
99489         * lib/argp.h: update from libc.
99490
99491 2003-09-17  Paul Eggert  <eggert@twinsun.com>
99492
99493         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
99494         to avoid spurious warnings like "AC_RUN_IFELSE was called before
99495         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
99496
99497 2003-09-17  Paul Eggert  <eggert@twinsun.com>
99498
99499         * gnulib-tool: Use "test -h", not "test -L", for portability
99500         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
99501         (tags_regexp): Remove, since \| doesn't conform to POSIX.
99502         (sed_extract_prog): Issue s commands one-by-one, rather than
99503         using \| in one s command.
99504
99505 2003-09-16  Paul Eggert  <eggert@twinsun.com>
99506
99507         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
99508         input error, instead of returning NULL the next time we are called
99509         (and therefore losing track of errno).
99510
99511 2003-09-16  Bruno Haible  <bruno@clisp.org>
99512
99513         * gnulib-tool (func_create_testdir): Warn about duplicated
99514         dependencies.
99515
99516 2003-09-15  Paul Eggert  <eggert@twinsun.com>
99517
99518         * modules/argmatch, modules/fatal, modules/obstack,
99519         modules/xalloc, modules/xgethostname: Sort dependencies by
99520         importance, not alphabetically.
99521
99522 2003-09-15  Paul Eggert  <eggert@twinsun.com>
99523
99524         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
99525         fails, so that the caller gets the proper errno.
99526
99527         * lib/readutmp.c (read_utmp): Likewise.
99528         Check for fstat error.  Close stream and free storage
99529         when failing.
99530
99531 2003-09-14  Karl Berry  <karl@gnu.org>
99532
99533         * config/srclist.txt (strdup.c): disable for c89 changes.
99534
99535 2003-09-14  Jim Meyering  <jim@meyering.net>
99536
99537         * lib/getloadavg.c: Correct cpp indentation.
99538         * lib/strdup.c: Likewise.
99539         * lib/vasnprintf.c: Likewise.
99540
99541 2003-09-14  Bruno Haible  <bruno@clisp.org>
99542
99543         * modules/fwriteerror: New file.
99544         * MODULES.html.sh (func_all_modules): Add fwriteerror.
99545
99546 2003-09-14  Bruno Haible  <bruno@clisp.org>
99547
99548         * lib/fwriteerror.h: New file.
99549         * lib/fwriteerror.c: New file.
99550
99551 2003-09-12  Paul Eggert  <eggert@twinsun.com>
99552
99553         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
99554         modules/xgethostname, modules/xalloc: Depend on exit.
99555
99556 2003-09-12  Paul Eggert  <eggert@twinsun.com>
99557
99558         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
99559
99560         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
99561         and AC_MINIX, too, so that their extensions are available.
99562
99563         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
99564         This macro has been superseded by gl_BACKUPFILE.
99565
99566         More patches to assume C89 or better.
99567
99568         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
99569
99570         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
99571         unconditionally.
99572         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
99573         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
99574         Include <string.h>, <stdlib.h> unconditionally.
99575         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
99576         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
99577         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
99578         headers or for string.h.
99579         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
99580         or strtoul.
99581
99582         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
99583         headers.
99584         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
99585         * m4/userspec.m4 (gl_USERSPEC): Likewise.
99586         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
99587         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
99588         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99589         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
99590         memcpy, memset.
99591         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
99592         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
99593         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
99594         strtol.
99595         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
99596         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
99597         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
99598         strtoul.
99599
99600 2003-09-12  Paul Eggert  <eggert@twinsun.com>
99601
99602         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
99603         * lib/obstack.c [!defined _LIBC]: Likewise.
99604         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
99605         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
99606         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
99607
99608         More changes to assume C89 or better.
99609
99610         * lib/error.c (error_tail): Assume vprintf.
99611
99612         * lib/argmatch.c (getenv): Remove decl.
99613         * lib/progreloc.c (get_full_program_name): Define via prototype.
99614         * lib/setenv.c (clearenv): Likewise.
99615         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
99616         needed.
99617         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
99618         (malloc, memcpy): Remove decls.
99619         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
99620         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
99621         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
99622         (memcpy): Remove macro.
99623         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
99624         (__P): Remove.  All uses removed.
99625         (PTR): Remove.  All uses changed to void *.
99626         (CHAR_BIT, NULL): Remove.
99627         (spaces, zeros, memset_space, memset_zero)
99628         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
99629         Remove.
99630         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
99631         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
99632         Define with prototype.
99633         Remove now-unnecessary prototype decl.
99634         (extra_args_spec): Assume ANSI C.  All uses changed.
99635         (extra_args_spec_iso): Remove.
99636         (my_strftime, emacs_strftimeu): Define via prototype.
99637         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
99638         unconditionally.
99639         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
99640         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
99641         (strtoul, strtol): Remove decls.
99642         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
99643         LONG_MAX): Remove.
99644         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
99645         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
99646         (LOCALE_PARAM_PROTO): New macro.
99647         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
99648         (INTERNAL (strtol), strtol): Define with a prototype.
99649         (PARAMS): Remove.  All uses removed.
99650         * lib/tempname.c: Include <string.h> unconditionally.
99651         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
99652         * lib/xgethostname.c (main): Define with a prototype.
99653         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
99654         Include <stdlib.h> unconditionally.
99655         (calloc, malloc, realloc, free): Remove decls.
99656         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
99657         Include <stdlib.h> unconditionally.  Sort include file names.
99658         (strtod): Remove.
99659         (xstrtod): Define with a prototype.
99660         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
99661         (strtol, strtoul): Remove decls.
99662
99663 2003-09-11  Paul Eggert  <eggert@twinsun.com>
99664
99665         More patches to assume C89 or better.
99666         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
99667         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
99668         string.h, memchr, STDC_HEADERS.
99669
99670 2003-09-11  Paul Eggert  <eggert@twinsun.com>
99671
99672         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
99673         Include <stdlib.h>, <string.h> unconditionally.
99674         Remove now-unnecessary cast to char *.
99675         * lib/strnlen.c: Include <string.h> unconditionally.
99676         * lib/yesno.c (yesno): Define with a prototype.
99677
99678 2003-09-11  Bruno Haible  <bruno@clisp.org>
99679
99680         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
99681
99682 2003-09-10  Jim Meyering  <jim@meyering.net>
99683
99684         * lib/error.c: Correct indentation of cpp directives.
99685
99686 2003-09-10  Bruno Haible  <bruno@clisp.org>
99687
99688         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
99689         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
99690         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
99691         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
99692         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
99693         <stdlib.h> and <string.h> checks.
99694         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
99695         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
99696
99697 2003-09-10  Bruno Haible  <bruno@clisp.org>
99698
99699         * lib/strcspn.c: Include <string.h> unconditionally.
99700         * lib/strpbrk.c: Include <string.h> unconditionally.
99701         * lib/strstr.c: Include <string.h> unconditionally.
99702         * lib/unicodeio.c: Include <string.h> unconditionally.
99703         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
99704         * lib/unsetenv.c: Likewise.
99705         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
99706         * lib/yesno.c: Include <stdlib.h> unconditionally.
99707         (rpmatch): Add prototype.
99708
99709 2003-09-09  Paul Eggert  <eggert@twinsun.com>
99710
99711         More patches to assume C89 or better.
99712         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
99713         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
99714         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
99715         or for string.h.
99716         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
99717         stdlib.h.
99718         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
99719         C headers.
99720         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
99721         string.h.
99722         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
99723         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
99724         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
99725         or for string.h.
99726         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
99727         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
99728         C headers.
99729         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
99730         memcpy.
99731         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
99732         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
99733         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
99734         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
99735         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
99736         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
99737         string.h, free.
99738         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
99739         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
99740         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
99741         C headers, or for string.h.
99742         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
99743         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
99744         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
99745         headers, memory.h, stdlib.h, string.h, strings.h.
99746         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
99747         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
99748         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
99749         strchr.
99750         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
99751         headers, memory.h, string.h.
99752         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
99753         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
99754         free.
99755         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
99756         headers.
99757         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
99758         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
99759         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
99760         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
99761         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
99762
99763 2003-09-09  Paul Eggert  <eggert@twinsun.com>
99764
99765         More K&R removal.
99766
99767         * lib/acosl.c (main): Use a prototype.
99768         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
99769         tanl.c: Likewise.
99770
99771         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
99772
99773         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
99774         (getopt, etopt_long, getopt_long_only, _getopt_internal)
99775         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
99776         with a prototype.
99777         * lib/getopt.c (const): Remove macro.
99778         Include <string.h> unconditionally.
99779         (my_index): Remove; all uses changed to strchr.
99780         (strlen): Remove decl.
99781         (exchange): Remove forward decl; no longer needed.
99782         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
99783         Define with prototype.
99784         * lib/getopt1.c (const): Remove macro.
99785         (getopt_long, getopt_long_only, main): Define with prototype.
99786
99787         * lib/getugroups.c: Include <string.h> unconditionally.
99788
99789         * lib/getusershell.c: Include <stdlib.h> unconditionally.
99790         (getusershell, setusershell, endusershell, readname, main):
99791         Define with prototypes.
99792
99793         * lib/group-member.c: Include group-member.h first.
99794         Include <stdlib.h> unconditionally.
99795
99796         * lib/hard-locale.c: Include hard-locale.h first.
99797         Include <stdlib.h>, <string.h> unconditionally.
99798
99799         * lib/hash.c (free, malloc): Remove decls.
99800         Include <stdlib.h> unconditionally.
99801
99802         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
99803         (getenv): Do not declare.
99804
99805         * lib/idcache.c: Include <string.h> unconditionally.
99806
99807         * lib/long-options.c: Include long-options.h first, to test interface.
99808         Include <stdlib.h> unconditionally.
99809
99810         * lib/makepath.c: Include makepath.h first, to test interface.
99811         Include <stdlib.h> and <string.h> unconditionally.
99812
99813         * lib/linebuffer.c: Include <stdlib.h>.
99814         (free): Remove decl.
99815
99816         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
99817         stddef.h. rpl_malloc returns void *, not char *.
99818         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
99819         prototype.
99820
99821         * lib/md5.h: Include <limits.h> unconditionally.
99822         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
99823         (__P): Remove; all uses removed.
99824         * lib/md5.c: Include "md5.h" first.
99825         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
99826         md5_buffer, md5_process_bytes, md5_process_block):
99827         Define with prototypes.
99828         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
99829         * lib/sha.c: Include "sha.h" first.
99830         Include <stdlib.h>, <string.h> unconditionally.
99831
99832         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
99833         * lib/memcmp.c (__ptr_t): Likewise.
99834         * lib/memrchr.c (__ptr_t): Likewise.
99835         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
99836         Include <string.h> unconditionally.
99837         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
99838         * lib/memchr.c: Include <stdlib.h> unconditionally.
99839         * lib/memchr.c (LONG_MAX): Remove.
99840         * lib/memrchr.c (LONG_MAX): Likewise.
99841         * lib/memchr.c (__memchr): Define via a prototype.
99842         * lib/memrchr.c (__memrchr): Likewise.
99843         * lib/memcmp.c (__P): Remove, and remove all uses.
99844         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
99845         Remove forward decls; no longer needed.
99846         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
99847         Use types required by C89 in prototype.
99848
99849         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
99850         * lib/savedir.c: Likewise.
99851         * lib/mkdir.c (free): Remove decl.
99852         * lib/rmdir.c (rmdir): Define with a prototype.
99853         * lib/savedir.c: Include savedir.h first, to test interface.
99854
99855         * lib/mktime.c (STDC_HEADERS): Remove.
99856         Include <stdlib.h>, <string.h> unconditionally.
99857
99858         * lib/modechange.c: Include <stdlib.h> unconditionally.
99859         (malloc): Remove decl.
99860
99861         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
99862         (free): Remove decl.
99863
99864         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
99865         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
99866         (This type really should be intptr_t, but that's a C99ism.)
99867         (_obstack_memcpy): Remove: all uses changed to memcpy.
99868         Include <string.h> unconditionally.
99869         (struct obstack): Assume __STDC__ for types of members
99870         chunkfun, freefun, extra_arg.
99871         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
99872         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
99873         obstack_begin, obstack_specify_allocation,
99874         obstack_specify_allocation_with_arg, obstack_chunkfun,
99875         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
99876         Remove unprototyped decls and the macros that use them.
99877         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
99878         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
99879         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
99880         (defined __STDC__ && __STDC__)]:
99881         Remove nonprototyped code.
99882         Include <stdlib.h> unconditionally.
99883         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
99884         _obstack_allocated_p, _obstack_free, obstack_free,
99885         _obstack_memory_used, print_and_abort):
99886         Define using prototypes.
99887         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
99888         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
99889         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
99890         obstack_next_free, obstack_object_size, obstack_room) [0]:
99891         Remove unused, unprototyped code.
99892
99893         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
99894
99895         * lib/physmem.c (physmem_total, physmem_available, main): Define
99896         with prototypes.
99897
99898         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
99899         (main): Define with a prototype.
99900
99901         * lib/posixver.c (getenv): Remove decl.
99902
99903         * lib/putenv.c (malloc): Returns void *, not char *.
99904         Include <string.h> unconditionally.
99905         (strchr, memcpy, NULL): Do not define.
99906
99907         * lib/readtokens.c: Include readtokens.h first, to test interface.
99908         Include <stdlib.h>, <string.h> unconditionally.
99909         (init_tokenbuffer): Define with a prototype.
99910
99911         * lib/regex.c (PARAMS): Remove.  All uses removed.
99912         All uses of _RE_ARGS removed, too.
99913         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
99914         unconditionally.
99915         (bzero): Assume memset exists.
99916         (memcmp, memcpy, NULL): Remove.
99917         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
99918         char, or assignments to local vars of type signed char.
99919         (init_syntax_once, PREFIX(extract_number_and_incr),
99920         PREFIX(print_partial_compiled_pattern),
99921         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
99922         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
99923         PREFIX(regex_grow_registers), PREFIX(regex_compile),
99924         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
99925         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
99926         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
99927         wcs_compile_range, byte_compile_range, truncate_wchar,
99928         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
99929         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
99930         count_mbs_length, wcs_re_match_2_internal,
99931         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
99932         PREFIX(alt_match_null_string_p),
99933         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
99934         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
99935         regfree, PREFIX(extract_number)): Define with prototype.  Remove
99936         now-unnecessary declaration, if any.
99937         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
99938         regcomp, regexec):
99939         Remove now-unnecessary casts among pointer types.
99940         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
99941
99942         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
99943         (free): Remove decl.
99944
99945         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
99946
99947         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
99948         (free): Remove decl.
99949
99950         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
99951         * lib/xgetcwd.c: Likewise.
99952
99953         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
99954         (free): Remove decl.
99955
99956         * lib/strchrnul.c (strchrnul): Define with a prototype.
99957         Fix bug: c_in was not converted to char before searching.
99958
99959         The following changes are not K&R related:
99960
99961         * lib/group-member.h: Include <sys/types.h>, so that this file is
99962         self-contained.
99963         * lib/makepath.h: Likewise.
99964
99965         * lib/getusershell.c (readname, default_index, line_size, readname):
99966         Use size_t, not int, for sizes.
99967         (readname): If the size overflows, report an error instead of
99968         looping forever.
99969
99970 2003-09-09  Paul Eggert  <eggert@twinsun.com>
99971
99972         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
99973         libc.
99974
99975 2003-09-09  Paul Eggert  <eggert@twinsun.com>
99976
99977         * README: New section: portability guidelines.
99978
99979 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
99980
99981         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
99982         C89 spec.
99983
99984 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
99985
99986         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
99987
99988 2003-09-08  Paul Eggert  <eggert@twinsun.com>
99989
99990         Assume C89 or better; remove K&R cruft.
99991         A few of these changes were first proposed by Derek Robert Price
99992         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
99993
99994         * lib/addext.c: Include <string.h> unconditionally.
99995         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
99996         Don't declare getenv or malloc.
99997
99998         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
99999         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
100000         (NULL): Remove.
100001         (find_stack_direction, alloca): Use prototypes.
100002
100003         * lib/atexit.c (atexit): Define using a prototype.
100004
100005         * lib/basename.c, dirname.c, stripslash.c:
100006         Include <string.h> unconditionally.
100007
100008         * lib/bcopy.c: Include <stddef.h>.
100009         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
100010
100011         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
100012
100013         * lib/error.h (error, error_at_line, error_print_progname)
100014         [! (defined (__STDC__) && __STDC__)]: Remove decls.
100015         * lib/error.c: Include error.h first, to check interface.
100016         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
100017         (VA_START): Remove; all uses changeed to va_start.
100018         (exit, strerror): Remove decls.
100019         (error_print_progname): Prototype uncondionally.
100020         Don't include <errno.h>; no longer needed.
100021         (private_strerror): Remove.
100022         (error_tail): Always define.
100023         (error, error_at_line): Assume C89 or better; always use prototypes.
100024         * lib/fatal.c: Include "fatal.h" first, to test interface.
100025         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
100026         (VA_START): Remove; all uses changed to va_start.
100027         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
100028         this case.
100029         (exit): Remove decl.
100030         (fatal): Prototype unconditionally.  Assume va_start works.
100031         Abort at end, to pacify gcc.
100032
100033         * lib/euidaccess.c (main): Define with a prototype.
100034
100035         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
100036
100037         * lib/exitfail.c: Include <stdlib.h> unconditionally.
100038
100039         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
100040         prototypes.
100041         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
100042         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
100043         (getenv): Remove decl.
100044         (fnmatch): Define using a prototype.
100045         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
100046         (FCT): Define using a prototype.
100047
100048         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
100049
100050         * lib/gethostname.c: Include <stddef.h>.
100051         (gethostname): Define with prototype.  Length is size_t, not int.
100052
100053 2003-09-08  Paul Eggert  <eggert@twinsun.com>
100054
100055         Assume C89 or better; remove K&R cruft.
100056         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
100057         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
100058         string.h, getenv, malloc.
100059         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
100060         headers.
100061         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
100062         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
100063         do not check for strerror.
100064         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
100065         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
100066         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
100067         do not check for doprnt or vprintf.
100068         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
100069         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
100070
100071 2003-09-08  Paul Eggert  <eggert@twinsun.com>
100072
100073         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
100074         getversion.c should have been removed then, but was accidentally
100075         preserved.
100076
100077         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
100078         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
100079
100080 2003-09-08  Karl Berry  <karl@gnu.org>
100081
100082         * config/config.sub, config.guess, srclistvars.sh: update from savannah
100083                 config, forget about prep.
100084
100085         * config/depcomp, missing: update from automake.
100086
100087 2003-09-07  Paul Eggert  <eggert@twinsun.com>
100088
100089         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
100090         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
100091
100092 2003-09-07  Paul Eggert  <eggert@twinsun.com>
100093
100094         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
100095         copy_tm_result.  Bug reported by Simon Josefsson in
100096         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
100097
100098 2003-09-06  Paul Eggert  <eggert@twinsun.com>
100099
100100         * m4/time_r.m4: New file.
100101         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
100102         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
100103         is. Check for timegm declaration.
100104         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
100105         Do not check for gmtime_r.
100106         Replace mktime if __mktime_internal does not exist and if mktime
100107         hasn't been replaced already.
100108
100109 2003-09-06  Paul Eggert  <eggert@twinsun.com>
100110
100111         * lib/time_r.c, lib/time_r.h: New files.
100112
100113         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
100114         __localtime_r.
100115         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
100116         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
100117
100118         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
100119         __gmtime_r.
100120         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
100121         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
100122         Include <time_r.h>.
100123
100124         * lib/timegm.c: Switch to glibc implementation, with the following
100125         changes:
100126         [defined HAVE_CONFIG_H]: Include <config.h>.
100127         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
100128         (__mktime_internal) [!defined _LIBC]: New decl.
100129         (__gmtime_r) [!defined _LIBC]: New macro and function.
100130         (timegm): Use a prototype, since gnulib assumes C89.
100131         Do not bother declaring tmp to be const, as it's not really usefu.
100132         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
100133         (timegm): Declare only if HAVE_DECL_TIMEGM.
100134
100135 2003-09-06  Paul Eggert  <eggert@twinsun.com>
100136
100137         * MODULES.html.sh (func_all_modules): Add time_r.
100138         * modules/time_r: New file.
100139         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
100140         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
100141
100142 2003-09-03  Paul Eggert  <eggert@twinsun.com>
100143
100144         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
100145         Bug reported by Lute Kamstra in
100146         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
100147
100148         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
100149         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
100150         course with correspondingly smaller numbers for tomorrow and
100151         yesterday.  From Tadayoshi Funaba.  Originally installed into
100152         sh-utils on 1999-08-07, but the patch got lost (I guess during the
100153         coreutils merge?).
100154
100155 2003-08-31  Simon Josefsson  <jas@extundo.com>
100156
100157         * modules/timegm: New file.
100158         * MODULES.html.sh (func_all_modules): Add timegm.
100159
100160 2003-08-31  Simon Josefsson  <jas@extundo.com>
100161
100162         * m4/timegm.m4: New file.
100163
100164 2003-08-31  Simon Josefsson  <jas@extundo.com>
100165
100166         * lib/timegm.h: New file.
100167         * lib/timegm.c: New file.  Based on
100168         wget-1.8.2/src/http.c:mktime_from_utc.
100169
100170 2003-08-31  Karl Berry  <karl@gnu.org>
100171
100172         * lib/argp.h: update from libc.
100173
100174 2003-08-28  Bruno Haible  <bruno@clisp.org>
100175
100176         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
100177         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
100178         followed by '#define fnmatch fnmatch_posix' gives an error.
100179
100180 2003-08-28  Bruno Haible  <bruno@clisp.org>
100181
100182         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
100183         warning on QNX, which defines O_BINARY to 000000.
100184
100185 2003-08-27  Jim Meyering  <jim@meyering.net>
100186
100187         * m4/mkstemp.m4: Require that the system mkstemp be able to create
100188         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
100189         would fail after 32.  Reported by Danny Levinson.  Details here:
100190         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
100191
100192 2003-08-24  Bruno Haible  <bruno@clisp.org>
100193
100194         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
100195         MSVC7 <stdio.h> is included later.
100196
100197 2003-08-22  Simon Josefsson  <jas@extundo.com>
100198
100199         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
100200
100201 2003-08-20  Karl Berry  <karl@gnu.org>
100202
100203         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
100204
100205 2003-08-20  Bruno Haible  <bruno@clisp.org>
100206
100207         * modules/progname: New file.
100208         * MODULES.html.sh (func_all_modules): Add progname.
100209
100210 2003-08-20  Bruno Haible  <bruno@clisp.org>
100211
100212         * lib/progname.h: New file, from GNU gettext.
100213         * lib/progname.c: New file, from GNU gettext.
100214         * lib/progreloc.c: New file, from GNU gettext.
100215
100216 2003-08-19  Jim Meyering  <jim@meyering.net>
100217
100218         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
100219         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
100220
100221 2003-08-19  Bruno Haible  <bruno@clisp.org>
100222
100223         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
100224         more.
100225
100226 2003-08-19  Bruno Haible  <bruno@clisp.org>
100227
100228         * lib/xstrdup.c: Assume <string.h> exists.
100229
100230 2003-08-18  Paul Eggert  <eggert@twinsun.com>
100231
100232         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
100233         in makefile rules.
100234
100235 2003-08-18  Jim Meyering  <jim@meyering.net>
100236
100237         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
100238         * m4/lib-ld.m4: Likewise.
100239
100240 2003-08-18  Jim Meyering  <jim@meyering.net>
100241
100242         * lib/setenv.h: Indent nested cpp directive.
100243         * lib/vasnprintf.c: Remove trailing blanks.
100244
100245 2003-08-17  Simon Josefsson  <jas@extundo.com>
100246
100247         * modules/xstrndup: New file.
100248         * MODULES.html.sh (func_all_modules): Add xstrndup.
100249
100250 2003-08-17  Simon Josefsson  <jas@extundo.com>
100251
100252         * modules/argp: Fix autoconf macro name. Add more dependencies.
100253
100254 2003-08-17  Simon Josefsson  <jas@extundo.com>
100255
100256         * m4/xstrndup.m4: New file.
100257
100258 2003-08-17  Simon Josefsson  <jas@extundo.com>
100259
100260         * m4/argp.m4: New file.
100261
100262 2003-08-17  Simon Josefsson  <jas@extundo.com>
100263             Bruno Haible  <bruno@clisp.org>
100264
100265         * lib/xstrndup.h: New file.
100266         * lib/xstrndup.c: New file.
100267
100268 2003-08-17  Bruno Haible  <bruno@clisp.org>
100269
100270         * modules/strndup (Files, Include): Add lib/strndup.h.
100271
100272 2003-08-17  Bruno Haible  <bruno@clisp.org>
100273
100274         * modules/euidaccess (Files): Add lib/euidaccess.h.
100275
100276 2003-08-17  Bruno Haible  <bruno@clisp.org>
100277
100278         * lib/strndup.h: New file.
100279
100280 2003-08-17  Bruno Haible  <bruno@clisp.org>
100281
100282         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
100283         like AC_GNU_SOURCE.
100284         * modules/extensions (configure.ac): Comment out the invocation of
100285         gl_USE_SYSTEM_EXTENSIONS.
100286
100287 2003-08-16  Paul Eggert  <eggert@twinsun.com>
100288
100289         Merges from coreutils, etc.
100290         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
100291         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
100292         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
100293         fixing a typo.
100294         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
100295         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
100296
100297 2003-08-16  Paul Eggert  <eggert@twinsun.com>
100298
100299         Document merge from coreutils.
100300         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
100301         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
100302         * modules/utime: Add m4/utimes-null.m4.
100303
100304 2003-08-16  Paul Eggert  <eggert@twinsun.com>
100305
100306         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
100307         space, undoing this 2003-08-12 change:
100308         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
100309
100310 2003-08-16  Paul Eggert  <eggert@twinsun.com>
100311
100312         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
100313         strtoul.c from libc, undoing this 2003-08-12 change:
100314         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
100315
100316 2003-08-16  Jim Meyering  <jim@meyering.net>
100317
100318         Merges from coreutils.
100319         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
100320         prefix.  Adjust cache variables similarly.  Create 500 rather than
100321         just 300 files, to exercise bug on Darwin6.5, too.
100322         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
100323         $missing_dir.
100324         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
100325         AM_SYS_POSIX_TERMIOS.
100326         Reported by mkc@mathdogs.com.
100327         Also change use of $am_cv_sys_posix_termios
100328         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
100329         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
100330         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
100331         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
100332         in /proc/mounts until it finds one with matching device number.  This
100333         is unnecessary when the FILE argument *is* a mount point.  No stat call
100334         is necessary in that case.  So, disable the statvfs-testing code on
100335         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
100336         as RedHat bug# 84846.
100337         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
100338         to 1MB, so as not to render systems with no stack size limit (e.g.,
100339         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
100340         Include <unistd.h>.  On some systems,
100341         it is required for the definition of _SC_PAGESIZE.
100342
100343 2003-08-16  Jim Meyering  <jim@meyering.net>
100344
100345         Merge from coreutils.
100346         * lib/xstrtoimax.c: #else #if -> #elif.
100347         * lib/xstrtoumax.c: Likewise.
100348
100349 2003-08-16  Jim Meyering  <jim@meyering.net>
100350
100351         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
100352         * m4/utimes.m4: Removed.
100353         * m4/utimes-null.m4: Renamed from utimes.m4.
100354
100355         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
100356         to 1MB, so as not to render systems with no stack size limit (e.g.,
100357         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
100358         Include <unistd.h>.  On some systems,
100359         it is required for the definition of _SC_PAGESIZE.
100360
100361 2003-08-16  Jim Meyering  <jim@meyering.net>
100362         and Paul Eggert  <eggert@cs.ucla.edu>
100363
100364         Merges from coreutils, etc.
100365
100366         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
100367         using the latest version from cvs.  This avoids problems with #line
100368         directives using a vendor (Sun) compiler.
100369         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
100370         Don't set GETGROUPS_LIB here; now it's
100371         done via getgroups.m4's wrapper function.
100372         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
100373         rather than just in sh-util/configure.in, so that the
100374         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
100375         same.
100376         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
100377         AC_FUNC_GETLOADAVG where to find getloadavg.c.
100378         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
100379         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
100380         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
100381         Remove code that is now done by the newly-required macros.
100382         Append $(EXEEXT) to DF_PROG.
100383         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
100384         Do not invoke or require the following here,
100385         since prereq.m4 or some gnulib .m4 now does this for us:
100386         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
100387         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
100388         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
100389         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
100390         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
100391         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
100392         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
100393         AC_FUNC_OBSTACK.
100394         Do not replace the following functions, as this is now the job
100395         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
100396         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
100397         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
100398         atexit getpass, strdup, getpagesize.
100399         Replace 'raise'.
100400         Do not check for the following functions, as this is now the job
100401         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
100402         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
100403         setregid.
100404         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
100405         Check for sys/sysctl.h.
100406         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
100407         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
100408         of checking for ssize_t ourselves.
100409
100410         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
100411         Require every macro that gnulib/modules/* suggests for us.
100412         (jm_PREREQ_ADDEXT): New macro.
100413         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
100414         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
100415
100416         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
100417         (gl_PHYSMEM): Use it.
100418         Also check for `table' function.
100419         Check for new headers and functions.
100420         Add check for sys/sysmp.h.
100421         With suggestions from Kaveh Ghazi.
100422         Ignore headers that are present but cannot be compiled.  This
100423         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
100424         C 5.4.
100425
100426 2003-08-15  Paul Eggert  <eggert@twinsun.com>
100427
100428         Document merge from coreutils.
100429         * modules/userspec: Depend on posixver.
100430         * modules/strftime: Depend on tzset.
100431
100432 2003-08-15  Paul Eggert  <eggert@twinsun.com>
100433
100434         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
100435         rather than tab, after '#' in shell-script copyright notices.
100436         Suggested by Bruno Haible.
100437
100438 2003-08-15  Paul Eggert  <eggert@twinsun.com>
100439
100440         * config/srclist-update: Use three spaces, rather than tab, after '#'
100441         in shell-script copyright notices.  Suggested by Bruno Haible.
100442         Remove unnecessary parenthesization in regular expression.
100443
100444 2003-08-15  Jim Meyering  <jim@meyering.net>
100445
100446         Merge from coreutils.
100447         * lib/xgethostname.c: Include <stdlib.h>.
100448         (xghostname): Don't exit for anything other than memory-related
100449         failure; just return NULL.
100450         * lib/userspec.c: Include "posixver.h".
100451         (parse_user_spec): Accept `.' as a separator only
100452         in pre-POSIX-200112 mode.
100453         * lib/strtoimax.c: Use #elif rather than #else #if.
100454         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
100455         Remove function, now that we can rely on a working tzset function.
100456         [!_LIBC]: Ensure that the required autoconf test has been run.
100457         [!defined _NL_CURRENT && HAVE_STRFTIME]:
100458         Use underlying_strftime for %r.
100459         * lib/sha.c: Merge in some clean-up and optimization changes from
100460         glibc.
100461         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
100462         Ensure that it is a multiple of 64.
100463         Rearrange loop exit tests so as to avoid performing an
100464         additional fread after encountering an error or EOF.
100465         * lib/realloc.c: Update copyright date.
100466
100467 2003-08-15  Jim Meyering  <jim@meyering.net>
100468         and Paul Eggert  <eggert@twinsun.com>
100469
100470         Merge from coreutils.
100471         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
100472         member but strut utmpx does not.  Needed for AIX 4.3.3.
100473         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
100474
100475 2003-08-15  Jim Meyering  <jim@meyering.net>
100476         and Paul Eggert  <eggert@cs.ucla.edu>
100477
100478         Merges from coreutils, etc.
100479         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
100480         Require gl_FUNC_TZSET_CLOBBER.
100481         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
100482         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
100483         members.
100484
100485 2003-08-14  Paul Eggert  <eggert@twinsun.com>
100486
100487         Help the merge from coreutils.
100488         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
100489         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
100490         * m4/tzset.m4: Use it too.
100491
100492 2003-08-14  Paul Eggert  <eggert@twinsun.com>
100493
100494         * modules/tzset: New file.
100495
100496 2003-08-14  Jim Meyering  <jim@meyering.net>
100497
100498         Merges from coreutils.
100499         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
100500         variable names, rather than @FNMATCH_H@.
100501         * modules/alloca: Likewise for $(ALLOCA_H).
100502
100503         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
100504         the three copies of the literal target, `fnmatch.h'.
100505         * modules/alloca (alloca.h): Likewise.
100506
100507 2003-08-14  Jim Meyering  <jim@meyering.net>
100508
100509         Merge from coreutils.
100510         * m4/tzset.m4: New file.
100511         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
100512         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
100513         otherwise, AIX 5.1 systems would end up using the latter.
100514         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
100515         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
100516         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
100517         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
100518
100519 2003-08-14  Jim Meyering  <jim@meyering.net>
100520
100521         Merge from coreutils.
100522         * lib/obstack.h: Whitespace changes.
100523         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
100524         and xcalloc return values.
100525         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
100526         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
100527         hang on OSF/1 5.1 for DIR on both local and remote file systems.
100528         Reported by (and fix confirmed by) Nelson H. F. Beebe.
100529         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
100530         error from mntctl.
100531         Use mntctl's return value to drive the entry-processing loop, since
100532         we can't rely on the value of the vmt_length member in the last
100533         entry.  On some systems doing so could result in exhausting
100534         virtual memory.  Based in part on a patch from Mike Jetzer.
100535
100536 2003-08-14  Jim Meyering  <jim@meyering.net>
100537         and Paul Eggert  <eggert@twinsun.com>
100538
100539         Merges from coreutils, plus other fixes.
100540         * lib/physmem.c: Merge in portability changes from gcc/libiberty
100541         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
100542         for credits and details.  Thanks to Kaveh Ghazi for helping
100543         to keep these files in sync.
100544         (ARRAY_SIZE): Define it.
100545         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
100546         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
100547         (memcasecmp): Don't assume size_t fits in unsigned int.
100548         Remove casts and duplicate code.
100549         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
100550         (memcpy): Remove definition.
100551         Merge in some clean-up and optimization changes from glibc.
100552         [BLOCKSIZE]: Move definition to top of file.
100553         Ensure that it is a multiple of 64.
100554         Rearrange loop exit tests so as to avoid performing an
100555         additional fread after encountering an error or EOF.
100556         * lib/md5.h (md5_uintptr): Define.
100557         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
100558         return to the initial working directory.  Preserve errno
100559         for caller.
100560         * lib/idcache.c: Include "xalloc.h".
100561         (xmalloc, xrealloc): Remove decls.
100562         (getuser): Remove casts no longer required in C89.
100563         * lib/human.c: Include stdio.h, for sprintf.
100564         * lib/group-member.c: Include "xalloc.h".
100565         (xmalloc, xrealloc): Remove decls.
100566         (get_group_info): Remove casts no longer required in C89.
100567         * lib/getusershell.c (readname): Remove casts no longer required in
100568         C89.
100569         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
100570         * lib/getline.c: Whitespace fix, from coreutils.
100571
100572 2003-08-13  Paul Eggert  <eggert@twinsun.com>
100573
100574         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
100575         Check for isascii.
100576
100577         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
100578         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
100579         Undo previous (whitespace-only) change.
100580
100581 2003-08-13  Paul Eggert  <eggert@twinsun.com>
100582
100583         * lib/exclude.c: Include <ctype.h>
100584         (IN_CTYPE_DOMAIN): New macro.
100585         (is_space): New fn.
100586         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
100587         and empty lines.
100588
100589         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
100590         Undo previous (whitespace-only) change.
100591
100592 2003-08-13  Paul Eggert  <eggert@twinsun.com>
100593
100594         * config/srclist-update: Change update back to the old behavior,
100595         leaving whitespace alone.  Use one 'sed' command rather than a
100596         pipeline.
100597         (fixlicense): Now a variable, not a function.
100598         (remove_trailing_blanks): Remove.
100599         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
100600         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
100601         Undo previous (whitespace-only) change.
100602
100603 2003-08-12  Paul Eggert  <eggert@twinsun.com>
100604
100605         Merge from coreutils.
100606         * modules/euidaccess: Add lib_SOURCES, include for new
100607         file euidaccess.h
100608
100609 2003-08-12  Paul Eggert  <eggert@twinsun.com>
100610
100611         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
100612         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
100613         Normalize leading white space and remove trailing white space.
100614
100615         Merge from coreutils
100616         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
100617
100618         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
100619         0.12.1.  These files are now being upgraded automatically by
100620         ../config/srclist-update.
100621
100622 2003-08-12  Paul Eggert  <eggert@twinsun.com>
100623
100624         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
100625         Normalize leading white space and remove trailing white space.
100626         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
100627         notice, as per ../config/srclist-update.
100628
100629         Merge from coreutils.
100630         * lib/euidaccess.h: New file.
100631         * lib/euidaccess.c: Include it.
100632         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
100633         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
100634         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
100635
100636 2003-08-12  Paul Eggert  <eggert@twinsun.com>
100637
100638         * config/srclist-update: Add copyright notice.
100639         (remove_id_lines, remove_trailing_blanks): New constants.
100640         (fixfile): Use them to normalize spacing a bit in copied files.
100641         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
100642         Normalize leading white space and remove trailing white space.
100643
100644         * config/texinfo.tex: Sync with texinfo.
100645
100646         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
100647         strtoul.c from libc, to merge coreutils whitespace changes.
100648
100649         * config/srclist.txt: Get the following m4 files from gettext:
100650         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
100651         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
100652         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
100653         wint_t.m4.
100654
100655 2003-08-12  Karl Berry  <karl@gnu.org>
100656
100657         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
100658         been made.
100659
100660 2003-08-11  Paul Eggert  <eggert@twinsun.com>
100661
100662         * modules/gnu-source, m4/gnu-source.m4:
100663         Remove; we're assuming Autoconf 2.54 or later now.
100664         Suggested by Bruno Haible.
100665         * MODULES.html.sh (func_all_modules): Remove gnu-source.
100666
100667 2003-08-11  Bruno Haible  <bruno@clisp.org>
100668
100669         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
100670
100671 2003-08-11  Bruno Haible  <bruno@clisp.org>
100672
100673         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
100674         (vasnprintf): Use it instead of wcslen.
100675
100676 2003-08-11  Bruno Haible  <bruno@clisp.org>
100677
100678         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
100679         value to ensure that _Bool promotes to int. Use #define for _Bool when
100680         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
100681
100682 2003-08-10  Karl Berry  <karl@gnu.org>
100683
100684         * lib/regex.h: update from libc (whitespace fix).
100685
100686 2003-08-09  Paul Eggert  <eggert@twinsun.com>
100687
100688         Merge some files from coreutils.  These changes were
100689         originally made by Jim Meyering.
100690         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
100691         many older Unixes require this.
100692         * lib/alloca.c (alloca): Remove cast to argument of free;
100693         no longer needed in C89.
100694         * lib/alloca_.h, regex.h: Fix white space to match
100695         what GNU indent does.
100696
100697 2003-08-09  Paul Eggert  <eggert@twinsun.com>
100698
100699         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
100700         apparently Emacs's Unicode mode got confused before my 2003-08-05
100701         checkin.
100702
100703 2003-08-08  Paul Eggert  <eggert@twinsun.com>
100704
100705         * m4/extensions.m4: New file.
100706         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
100707         Require gl_USE_SYSTEM_EXTENSIONS.
100708         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
100709         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
100710
100711 2003-08-08  Paul Eggert  <eggert@twinsun.com>
100712
100713         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
100714         * modules/extensions, modules/gnu-source: New files.
100715         * modules/timespec, modules/unlocked-io: Depend on extensions.
100716
100717 2003-08-07  Paul Eggert  <eggert@twinsun.com>
100718
100719         * modules/restrict: New file.
100720         * MODULES.html.sh (func_all_modules): Add restrict.
100721         * modules/regex: Depend on restrict.
100722
100723 2003-08-07  Paul Eggert  <eggert@twinsun.com>
100724
100725         * m4/restrict.m4: New file.
100726         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
100727
100728 2003-08-07  Bruno Haible  <bruno@clisp.org>
100729
100730         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
100731         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
100732
100733 2003-08-07  Bruno Haible  <bruno@clisp.org>
100734
100735         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
100736         makes the module 'getndelim2' compatible with the module 'getline'.
100737
100738 2003-08-05  Paul Eggert  <eggert@twinsun.com>
100739
100740         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
100741         byte with "\201" to avoid glitches when editing that source file
100742         with multi-gnome-terminal.
100743
100744 2003-08-05  Paul Eggert  <eggert@twinsun.com>
100745
100746         * lib/bumpalloc.h: Remove.
100747
100748 2003-08-05  Paul Eggert  <eggert@twinsun.com>
100749
100750         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
100751         * modules/bumpalloc: Remove.
100752
100753 2003-08-04  Paul Eggert  <eggert@twinsun.com>
100754
100755         * lib/getloadavg.c: Change copyright notice and spacing to conform to
100756         GNU coding style.
100757
100758         Merge from coreutils.
100759         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
100760         1. From glibc.
100761         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
100762         from Karl Berry, implemented by Jim Meyering.
100763         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
100764         from Dmitry V. Levin.
100765         Remove anachronistic cast of xrealloc.
100766         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
100767         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
100768         type. Otherwise, it wouldn't compile with at least /bin/cc on
100769         ymp-cray-unicos9.0.2.X.
100770         Combine two mostly-identical uses of alloca into one.
100771         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
100772
100773 2003-08-04  Dave Love  <d.love@dl.ac.uk>
100774
100775         [From Emacs.]
100776
100777         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
100778         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
100779         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
100780         obsolete NLIST_NAME_UNION.
100781         [__GNU__]: Undef BSD and FSCALE.
100782         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
100783
100784 2003-08-03  Paul Eggert  <eggert@twinsun.com>
100785
100786         * lib/stdbool_.h (_Bool): Make it signed char, instead of
100787         an enum type, so that it's guaranteed to promote to int.  See:
100788         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
100789
100790 2003-08-03  Karl Berry  <karl@gnu.org>
100791
100792         * config/depcomp: update from automake.
100793
100794 2003-07-31  Paul Eggert  <eggert@twinsun.com>
100795
100796         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
100797         (strerror): Don't assume that a printable int fits in 14 bytes.
100798
100799 2003-07-31  Bruno Haible  <bruno@clisp.org>
100800
100801         * modules/getpass-gnu: New file.
100802         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
100803
100804 2003-07-31  Bruno Haible  <bruno@clisp.org>
100805
100806         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
100807
100808 2003-07-24  Karl Berry  <karl@gnu.org>
100809
100810         * config/missing: update from automake.
100811
100812 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
100813             Bruno Haible  <bruno@clisp.org>
100814
100815         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
100816         * lib/getline.c (getline, getdelim): Likewise.
100817         Remove _GNU_SOURCE define; now it's defined in config.h through
100818         m4/getline.m4.
100819
100820 2003-07-23  Karl Berry  <karl@gnu.org>
100821
100822         * config/config.sub: update from prep.
100823
100824 2003-07-22  Paul Eggert  <eggert@twinsun.com>
100825
100826         * modules/xalloc (Depends-on): Add exitfail.
100827         * modules/xmemcoll: Likewise.
100828
100829 2003-07-22  Paul Eggert  <eggert@twinsun.com>
100830
100831         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
100832         over-parenthesization in macros.
100833
100834         Sync with coreutils.
100835
100836         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
100837         required by C99.
100838
100839         Use `exit_failure' for xalloc and xmemcoll instead of their own
100840         private exit-failure variables.
100841         * lib/xalloc.h (xalloc_exit_failure): Remove.
100842         * lib/xmalloc.c: Likewise.  Include exitfail.h.
100843         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
100844         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
100845         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
100846         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
100847
100848 2003-07-20  Jim Meyering  <jim@meyering.net>
100849
100850         * modules/closeout (Depends-on): Add exitfail.
100851         Suggestion from Bruno Haible.
100852
100853 2003-07-19  Karl Berry  <karl@gnu.org>
100854
100855         * config/config.sub: update from prep.
100856
100857 2003-07-18  Paul Eggert  <eggert@twinsun.com>
100858
100859         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
100860         Remove.
100861         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
100862         to test that it can stand by itself.  Include "exitfail.h".
100863         Clients should set exit_failure instead.
100864         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
100865
100866 2003-07-18  Bruno Haible  <bruno@clisp.org>
100867
100868         * modules/getndelim2: New file.
100869         * modules/getline: Share files with module getndelim2.
100870         * modules/getnline: Depend on getndelim2 instead of sharing files with
100871         it. Add getnline.c to lib_SOURCES.
100872         * MODULES.html.sh (func_all_modules): Add getndelim2.
100873
100874 2003-07-18  Bruno Haible  <bruno@clisp.org>
100875
100876         * m4/getndelim2.m4: New file.
100877         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
100878         invoke gl_PREREQ_GETNDELIM2.
100879         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
100880         gl_PREREQ_GETNDELIM2.
100881         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
100882         gl_GETNDELIM2.
100883
100884 2003-07-18  Bruno Haible  <bruno@clisp.org>
100885
100886         * lib/getndelim2.h: New file.
100887         * lib/getndelim2.c: Make into a module of its own. Include config.h,
100888         getndelim2.h.
100889         (getndelim2): Make non-static. Change return type to ssize_t.
100890         * lib/getline.h: Change argument names.
100891         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
100892         * lib/getnline.c: Include getndelim2.h.
100893
100894 2003-07-18  Andreas Schwab  <schwab@suse.de>
100895
100896         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
100897
100898 2003-07-17  Karl Berry  <karl@gnu.org>
100899
100900         * config/config.sub: update from prep.
100901
100902 2003-07-17  Bruno Haible  <bruno@clisp.org>
100903
100904         * modules/getnline: New file.
100905         * modules/getline: Add lib/getndelim2.c to source file list.
100906         * MODULES.html.sh (func_all_modules): Add getnline.
100907
100908 2003-07-17  Bruno Haible  <bruno@clisp.org>
100909
100910         * m4/getnline.m4: New file.
100911
100912 2003-07-17  Bruno Haible  <bruno@clisp.org>
100913
100914         * m4/Makefile.am.in: Remove file.
100915         * m4/Makefile.am: Remove file.
100916         * m4/Makefile.in: Remove file.
100917
100918 2003-07-17  Bruno Haible  <bruno@clisp.org>
100919
100920         * lib/getnline.h: New file.
100921         * lib/getnline.c: New file.
100922         * lib/getndelim2.c: New file, extracted from getline.c.
100923         (getndelim2): Renamed from getdelim2, with added nmax argument.
100924         * lib/getline.c: Include getndelim2.c.
100925         (getdelim2): Moved out to getndelim2.c.
100926         (getline, getdelim): Update.
100927
100928 2003-07-17  Bruno Haible  <bruno@clisp.org>
100929
100930         * lib/Makefile.am: Remove file.
100931         * lib/Makefile.in: Remove file.
100932
100933 2003-07-17  Bruno Haible  <bruno@clisp.org>
100934
100935         * configure.in: Remove file.
100936         * Makefile.in: Remove file.
100937
100938 2003-07-17  Bruno Haible  <bruno@clisp.org>
100939
100940         * MODULES.html.sh: Put the </BODY> right before </HTML>.
100941
100942 2003-07-16  Karl Berry  <karl@gnu.org>
100943
100944         * config/srclist-update: was running fixlicense twice, which caused
100945                 texinfo.tex to be nullified for some reason.  Simplify,
100946                 $gplsrc is no longer needed as far as I can see?
100947
100948 2003-07-16  Jim Meyering  <jim@meyering.net>
100949
100950         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
100951
100952 2003-07-15  Paul Eggert  <eggert@twinsun.com>
100953
100954         * config/srclist.txt: Get the following files from gettext-runtime/intl
100955         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
100956         ref-del.sin.  From Bruno Haible.
100957         * config/srclist-update (fixfile): Change grep pattern again, since the
100958         previous fix didn't work (there was another trailing $).  Use
100959         '[$]' to escape the $s.
100960
100961 2003-07-15  Karl Berry  <karl@gnu.org>
100962
100963         * lib/vasnprintf.c: update from gettext.
100964
100965 2003-07-15  Karl Berry  <karl@gnu.org>
100966
100967         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
100968         gets expanded when surrounded by '$'.
100969
100970 2003-07-15  Jim Meyering  <jim@meyering.net>
100971
100972         * modules/save-cwd: Don't depend on error.  From Derek Price.
100973
100974 2003-07-15  Jim Meyering  <jim@meyering.net>
100975
100976         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
100977
100978 2003-07-14  Simon Josefsson  <jas@extundo.com>
100979
100980         * modules/mempcpy: New file.
100981         * MODULES.html.sh (func_all_modules): Add mempcpy.
100982
100983 2003-07-14  Simon Josefsson  <jas@extundo.com>
100984
100985         * m4/mempcpy.m4: New file.
100986
100987 2003-07-14  Simon Josefsson  <jas@extundo.com>
100988
100989         * lib/mempcpy.h: New file.
100990         * lib/mempcpy.c: New file.
100991
100992 2003-07-14  Paul Eggert  <eggert@twinsun.com>
100993
100994         * modules/getdate, modules/posixtm: Depend on mktime.
100995
100996 2003-07-14  Paul Eggert  <eggert@twinsun.com>
100997
100998         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
100999         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
101000         unicodeio.c, unicodeio.h, unlocked-io.h:
101001         Switch from LGPL to GPL.
101002
101003 2003-07-14  Paul Eggert  <eggert@twinsun.com>
101004
101005         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
101006         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
101007         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
101008         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
101009         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
101010         updated automatically by ../config/srclist-update.  This changes
101011         their license from LPGL to GPL.
101012
101013 2003-07-14  Paul Eggert  <eggert@twinsun.com>
101014
101015         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
101016         assumed to refer to the root of the most recent stable gettext version.
101017         * config/srclistvars.sh: Add defaults for eggert.
101018         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
101019         Match "This program" as well as "The program".  This is needed
101020         for gettext.
101021
101022 2003-07-14  Jim Meyering  <jim@meyering.net>
101023
101024         Don't emit diagnostics.  Let callers do that.
101025         * lib/save-cwd.c: Don't include "error.h".
101026         (save_cwd): Don't call error.  Ensure that errno is valid
101027         when returning nonzero.
101028
101029         * lib/save-cwd.h (restore_cwd): Update prototype.
101030         * lib/save-cwd.c (restore_cwd): Remove two parameters.
101031         Simplify.  Don't call error upon failure.  Let callers do that.
101032         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
101033         when auditing is enabled.  But don't bother updating the #if.
101034
101035 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
101036
101037         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
101038         it breaks C++ compilation.
101039         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
101040
101041 2003-07-10  Simon Josefsson  <jas@extundo.com>
101042
101043         * modules/strchrnul (Makefile.am): Add strchrnul.h.
101044
101045 2003-07-10  Jim Meyering  <jim@meyering.net>
101046
101047         * m4/clock_time.m4: Remove trailing blank.
101048         * m4/intmax_t.m4: Likewise.
101049
101050 2003-07-10  Jim Meyering  <jim@meyering.net>
101051
101052         * lib/vasnprintf.c: Remove trailing blanks.
101053         Make cpp indentation consistent.
101054
101055 2003-07-09  Paul Eggert  <eggert@twinsun.com>
101056
101057         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
101058         posixver.c, strftime.c, strnlen.c, strverscmp.c:
101059         Switch from LGPL to GPL.
101060
101061 2003-07-09  Paul Eggert  <eggert@twinsun.com>
101062
101063         * config/srclist.txt: Sort sublists.  Add
101064         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
101065         that differ from gnulib for one reason or another; we'd like this list
101066         to be smaller but for now let's document what we have.
101067
101068 2003-07-08  Paul Eggert  <eggert@twinsun.com>
101069
101070         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
101071         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
101072         and sweeter "eval x=$x".
101073         * config/srclist.txt: Get lib/argp* from glibc.
101074
101075 2003-07-07  Paul Eggert  <eggert@twinsun.com>
101076
101077         * lib/mktime.c: Fix some boundary cases and remove need for floating
101078         point.
101079
101080         Issue a compile-time diagnostic if time_t is floating point, or if
101081         two's complement arithmetic is not in effect, or if arithmetic
101082         right shift does not propagate the sign.  These assumptions were
101083         all in the original code but they weren't checked.
101084
101085         (TIME_T_MIDPOINT, verify): New macros.
101086         (__isleap): Remove; it has integer overflow problems.
101087         (leapyear): New function, without those problems.
101088         (ydhms_tm_diff): Remove; splitting into two parts.
101089         (ydhms_diff): New function, containing the arithmetic part of
101090         the old ydhms_tm_diff function.  Issue a compile-time
101091         diagnostic if we are not using C99 integer division.
101092         Avoid casts when possible.
101093         (guess_time_tm): New function, containing the checking part of
101094         the old ydhms_tm_diff function.  Return the new value, rather than
101095         the difference between it and the old.  Accept a new argument T
101096         so that *T specifies the old value.  Check for overflow in the result.
101097
101098         (__mktime_internal): Use a time_t offset, not a long int offset.
101099         This undoes the 2003-06-04 change, which is no longer needed now
101100         that we have better overflow checking.
101101         (localtime_offset): Likewise.
101102
101103         (__mktime_internal): Avoid harmful overflow on hosts where time_t
101104         and long are 64-bit but int is only 32-bit.
101105         (ydhms_diff): Use long int to store year1 and yday1.
101106         Issue a compile-time diagnostic if long int is not wide enough.
101107
101108         (__mktime_internal): Use long int to store adjusted year and yday.
101109         Use plain C rather than preprocessor commands, if that doesn't
101110         affect efficiency.
101111         Check for overflow (and try to repair) after each probe
101112         rather than checking only at the very end.  This avoids some bugs
101113         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
101114         does not equal GMT offset at maximum time).
101115         Use integer to check for overflow rather than floating point; this
101116         is more portable to non-IEEE hosts, and is a tad faster.
101117         When we detect that we are oscillating between two values,
101118         don't check whether tm_isdst has the requested value, since
101119         we already know the answer.  When tm_isdst has the wrong value,
101120         use a different heuristic to find the right one, based on the
101121         extreme values actually observed in practice in tz2003a,
101122         rather than the (overly optimistic) "previous 3 calendar quarters".
101123
101124         (not_equal_tm, print_tm, check_result): Use "const T" rather than
101125         "T const" to accommodate glibc style.
101126         (check_result): Use less-confusing report format.  "long" -> "long int.
101127         (main): Likewise.
101128         Don't loop if the iteration overflows time_t.
101129         Allow a negative step in the iteration.
101130
101131 2003-07-06  Karl Berry  <karl@gnu.org>
101132
101133         * config/depcomp: update from automake.
101134         * config/config.sub: update from prep.
101135
101136 2003-07-03  Karl Berry  <karl@gnu.org>
101137
101138         * config/config.guess: update from prep.
101139
101140 2003-07-01  Paul Eggert  <eggert@twinsun.com>
101141
101142         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
101143         xreadlink.c now includes it unconditionally.
101144
101145 2003-07-01  Paul Eggert  <eggert@twinsun.com>
101146
101147         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
101148         having it depend on HAVE_SYS_TYPES_H.
101149
101150 2003-07-01  Bruno Haible  <bruno@clisp.org>
101151
101152         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
101153         <sys/types.h> should be sufficient.
101154         Reported by Paul Eggert.
101155
101156 2003-06-26  Karl Berry  <karl@gnu.org>
101157
101158         * config/depcomp: update from automake.
101159
101160 2003-06-26  Bruno Haible  <bruno@clisp.org>
101161
101162         * modules/human: Depend on module stdbool.
101163
101164 2003-06-25  Bruno Haible  <bruno@clisp.org>
101165
101166         * modules/readlink: New file.
101167         * modules/xreadlink: Depend on it.
101168         * MODULES.html.sh (func_all_modules): Add readlink.
101169
101170 2003-06-25  Bruno Haible  <bruno@clisp.org>
101171
101172         * m4/readlink.m4: New file.
101173
101174 2003-06-25  Bruno Haible  <bruno@clisp.org>
101175
101176         * lib/readlink.c: New file.
101177
101178 2003-06-22  Karl Berry  <karl@gnu.org>
101179
101180         * config/srclist.txt: update mkinstalldirs from automake.
101181         * config/mkinstalldirs: update.
101182
101183 2003-06-22  Bruno Haible  <bruno@clisp.org>
101184
101185         Portability to mingw32.
101186         * m4/ssize_t.m4: New file, from GNU gettext.
101187         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
101188         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
101189
101190 2003-06-22  Bruno Haible  <bruno@clisp.org>
101191
101192         * modules/safe-read: Add m4/ssize_t.m4.
101193         * modules/xreadlink: Add m4/ssize_t.m4.
101194
101195 2003-06-20  Bruno Haible  <bruno@clisp.org>
101196
101197         Assume C89, so PARAMS isn't needed.
101198         * lib/unicodeio.h (PARAMS): Remove.
101199         * lib/unicodeio.c: Don't use PARAMS.
101200
101201 2003-06-18  Karl Berry  <karl@gnu.org>
101202
101203         * config/config.{guess,sub}: update from prep.
101204
101205 2003-06-18  Jim Meyering  <jim@meyering.net>
101206
101207         Merge changes from coreutils.
101208         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
101209         Remove explicit declarations of xmalloc and realloc.
101210         Include xalloc.h.
101211         (read_utmp): Remove anachronistic cast of xmalloc.
101212
101213 2003-06-17  Paul Eggert  <eggert@twinsun.com>
101214
101215         Assume C89, so PARAMS isn't needed.
101216         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
101217         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
101218         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
101219         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
101220         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
101221         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
101222         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
101223         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
101224         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
101225         lib/xstrtod.h, lib/xstrtol.h: Likewise.
101226         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
101227         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
101228         no longer needed. Anyway, config.h should always be included before any
101229         other file.
101230
101231 2003-06-11  Simon Josefsson  <jas@extundo.com>
101232
101233         * modules/sysexits: New file.
101234         * MODULES.html.sh (func_all_modules): Add sysexits.
101235
101236 2003-06-11  Simon Josefsson  <jas@extundo.com>
101237
101238         * lib/sysexit_.h: New file.
101239
101240 2003-06-11  Derek Price  <derek@ximbiot.com>
101241
101242         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
101243         necessary.
101244
101245 2003-06-11  Bruno Haible  <bruno@clisp.org>
101246
101247         * m4/sysexits.m4: New file.
101248
101249 2003-06-10  Simon Josefsson  <jas@extundo.com>
101250
101251         * lib/argp.h: New file, from glibc.
101252         * lib/argp-ba.c: New file, from glibc.
101253         * lib/argp-eexst.c: New file, from glibc.
101254         * lib/argp-fmtstream.c: New file, from glibc.
101255         * lib/argp-fmtstream.h: New file, from glibc.
101256         * lib/argp-fs-xinl.c: New file, from glibc.
101257         * lib/argp-help.c: New file, from glibc.
101258         * lib/argp-namefrob.h: New file, from glibc.
101259         * lib/argp-parse.c: New file, from glibc.
101260         * lib/argp-pv.c: New file, from glibc.
101261         * lib/argp-pvh.c: New file, from glibc.
101262         * lib/argp-xinl.c: New file, from glibc.
101263
101264 2003-06-10  Simon Josefsson  <jas@extundo.com>
101265
101266         * modules/strchrnul: New file.
101267
101268 2003-06-10  Simon Josefsson  <jas@extundo.com>
101269
101270         * modules/argp: New file.
101271
101272 2003-06-10  Simon Josefsson  <jas@extundo.com>
101273
101274         * m4/strchrnul.m4: New file.
101275
101276 2003-06-10  Simon Josefsson  <jas@extundo.com>
101277
101278         * lib/strchrnul.h: New file.
101279         * lib/strchrnul.c: New file.
101280
101281 2003-06-10  Bruno Haible  <bruno@clisp.org>
101282
101283         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
101284
101285 2003-06-07  Karl Berry  <karl@gnu.org>
101286
101287         * config/config.{guess,sub}: update from prep.
101288
101289 2003-06-07  Jim Meyering  <jim@meyering.net>
101290
101291         * modules/strtod: Use $(...) notation, not @...@ for
101292         AC_REPLACE'd variables.
101293         * modules/localcharset: Likewise.
101294
101295 2003-06-07  Jim Meyering  <jim@meyering.net>
101296
101297         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
101298         in place of my name in the copyright comment.
101299         Remove definition and uses of __P.
101300
101301         From coreutils.
101302         * lib/stat.c: Don't declare xmalloc explicitly.
101303         Instead, include "xalloc.h".
101304         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
101305         xrealloc, and xcalloc return values.
101306         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
101307         Improve comment.
101308         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
101309
101310 2003-06-07  Bruno Haible  <bruno@clisp.org>
101311
101312         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
101313         avoid AC_CONFIG_LINKS.
101314         * modules/fnmatch (Makefile.am): Use explicit creation rule for
101315         fnmatch.h, to avoid AC_CONFIG_LINKS.
101316         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
101317
101318 2003-06-07  Bruno Haible  <bruno@clisp.org>
101319
101320         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
101321         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
101322         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
101323         directory.
101324         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
101325         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
101326         directory.
101327
101328 2003-06-06  Jim Meyering  <jim@meyering.net>
101329
101330         Merge from coreutils.
101331         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
101332         Consolidate declarations and initializations of *_base* locals.
101333
101334         Merge from coreutils.
101335         This avoids a core dump on systems without GNU putenv,
101336         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
101337         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
101338         (unsetenv): New static function, from GNU libc.
101339         (rpl_putenv): Use it.
101340
101341         * lib/modechange.c: Remove trailing blanks.
101342
101343         Merge from coreutils.
101344         * lib/fsusage.c: Remove declaration of statfs.
101345         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
101346
101347         * lib/posixtm.c: Include <stdbool.h> unconditionally.
101348
101349 2003-06-06  Jim Meyering  <jim@meyering.net>
101350
101351         * lib/stdbool_.h: Renamed from stdbool.h.in.
101352
101353 2003-06-06  Jim Meyering  <jim@meyering.net>
101354             Bruno Haible  <bruno@clisp.org>
101355
101356         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
101357         Adjust Makefile.am snippet not to redirect directly to target.
101358         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
101359
101360 2003-06-05  Paul Eggert  <eggert@twinsun.com>
101361
101362         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
101363         mismatch, look in future quarters as well as past.  This fixes a
101364         bug when processing fall-backwards gaps immediately after a long
101365         period of daylight-saving time.
101366
101367         * lib/mktime.c: Assume freestanding C89 or better.
101368         (HAVE_LIMITS_H): Remove.  Assume it's 1.
101369         (__P): Remove; not used.
101370         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
101371         (mktime, not_equal_tm, print_tm, check_result,
101372         main): Use prototypes.  Use const * where appropriate.
101373         (main): Fix typo in testing code that uncovered by above changes.
101374         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
101375
101376 2003-06-04  Paul Eggert  <eggert@twinsun.com>
101377
101378         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
101379         locale.h, localeconv.  This merges changes from coreutils.
101380
101381         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
101382         It can be removed after the next Autoconf is released.
101383         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
101384         needed.
101385
101386 2003-06-04  Paul Eggert  <eggert@twinsun.com>
101387
101388         * lib/mktime.c: Fix Debian bug 177940
101389         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
101390         (localtime_offset): Now long int, not time_t, because we want it
101391         to be guaranteed to be signed.  All uses changed.
101392         (__mktime_internal): If overflow would occur when adding offset,
101393         don't add it.
101394
101395         Merge 'human' changes from coreutils.  Rewrite to support
101396         locale-specific notations like thousands separators.
101397         * lib/human.c: Simplify authorship notice.
101398         Include human.h immediately after config.h.
101399         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
101400         <limits.h>: Do not include, since human.h does.
101401         (SIZE_MAX, UINTMAX_MAX): New macros.
101402         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
101403         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
101404         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
101405         (power_letter): Renamed from suffixes.
101406         (generate_suffix_backwards): Remove.
101407         (adjust_value): Now takes int style (because of human.h changes)
101408         and long double value (for greater precision on some platforms).
101409         (group_number): New function.
101410         (human_readable): Use it.  Use integer options, not enum.
101411         Put the options before the sizes in the arg list.
101412         Support all the new options.
101413         The old human_readable function has been removed;
101414         use inttostr.h instead.
101415         (human_readable, default_block_size, humblock):
101416         Use uintmax_t, not int, for block sizes.
101417         (human_readable_inexact, block_size_types): Remove.
101418         (block_size_opts): New constant.
101419         (human_options): Renamed from human_block_size, with new signature
101420         that allows block sizes up to UINTMAX_MAX.  All callers changed.
101421         * lib/human.h: Add copyright and authorship notice.
101422         Include <limits.h> and <stdbool.h> unconditionally.
101423         (PARAMS): Remove.  All uses removed.
101424         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
101425         (enum human_inexact_style): Remove tag; now a nameless enum.
101426         (human_floor, human_ceiling, human_round_to_even): Now have
101427         values 2, 0, 1 rather than -1, 1, 0.
101428         (human_group_digits, human_suppress_point_zero, human_autoscale,
101429         human_base_1024, human_SI, human_B): New constants.
101430         (human_readable_inexact, human_block_size): Remove.
101431         (human_readable): Size args are now uintmax_t, not int.
101432         (human_options): New decl.
101433
101434         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
101435         unnecessary now that we assume C89 or better.  This change
101436         imported from coreutils.
101437
101438         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
101439         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
101440         in the 2003-05-30 sync from glibc.
101441
101442         .h files should stand alone, but we shouldn't include <sys/types.h>
101443         if we can get away with just <stddef.h>.
101444
101445         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
101446         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
101447         rather than <sys/types.h>, as we merely need size_t.
101448         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
101449         to get size_t.
101450         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
101451         Include <stdio.h>, to get FILE.
101452         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
101453         memcasecmp.h has included <stddef.h> and all we need is size_t.
101454         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
101455         our interface, instead of including <sys/types.h>
101456
101457 2003-06-04  Paul Eggert  <eggert@twinsun.com>
101458
101459         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
101460         now, as glibc mktime is buggy on non-glibc systems.
101461
101462 2003-06-03  Karl Berry  <karl@gnu.org>
101463
101464         * config/config.sub: update from prep.
101465
101466 2003-06-02  Paul Eggert  <eggert@twinsun.com>
101467
101468         [from coreutils]
101469         Fix some minor time-related bugs with POSIX time arguments.
101470         Some valid time stamps were being rejected (notably -1, and
101471         time stamps before 1900 on 64-bit hosts).  And some invalid
101472         time stamps were being accepted, e.g. September 31.
101473
101474         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
101475         that we can return (time_t) -1 successfully.
101476         * lib/posixtm.c: Likewise.
101477         [HAVE_STDBOOL_H]: Include <stdbool.h>.
101478         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
101479         (t): Remove static var.
101480         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
101481         of static var.  All uses changed.
101482         (year): Do not reject years before 1900; they can occur with
101483         64-bit time_t.
101484         (posix_time_parse): Do not check for out-of-range components;
101485         that is now the caller's responsibility, since our checks were
101486         only approximations.
101487         (posixtime): Use mktime to check for out-of-range components,
101488         since it knows them exactly.
101489         If mktime returns (time_t) -1, check whether an error actually occurred
101490         by invoking localtime on -1.
101491         (main) [TEST_POSIXTIME]: Check for input data errors, and report
101492         posixtime failures better.
101493         Improve the test data (in comments only).
101494
101495 2003-06-02  Karl Berry  <karl@gnu.org>
101496
101497         * config/mkinstalldirs (version): new variable.
101498         (--version): new option.
101499         (usage): improve message.
101500
101501 2003-05-30  Karl Berry  <karl@gnu.org>
101502
101503         * lib/mktime.c: update from libc.
101504
101505 2003-05-30  Bruno Haible  <bruno@clisp.org>
101506
101507         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
101508         * config/config.rpath: Upgrade to gettext-0.12.1.
101509
101510 2003-05-30  Bruno Haible  <bruno@clisp.org>
101511
101512         * m4/gettext.m4: Upgrade to gettext-0.12.1.
101513         * m4/nls.m4: New file, from gettext-0.12.1.
101514         * m4/po.m4: New file, from gettext-0.12.1.
101515         * m4/progtest.m4: Upgrade to gettext-0.12.1.
101516
101517 2003-05-30  Bruno Haible  <bruno@clisp.org>
101518
101519         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
101520         * lib/localcharset.h: Likewise.
101521         * lib/localcharset.c: Likewise.
101522
101523 2003-05-29  Karl Berry  <karl@gnu.org>
101524
101525         * config/config.rpath: update from gettext.
101526
101527 2003-05-28  Paul Eggert  <eggert@twinsun.com>
101528
101529         Assume the headers required for C89 freestanding compilers.
101530         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
101531         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
101532         * m4/human.m4 (gl_HUMAN): Likewise.
101533         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
101534         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
101535         * m4/userspec.m4 (gl_USERSPEC): Likewise.
101536         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
101537         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
101538         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
101539
101540 2003-05-28  Paul Eggert  <eggert@twinsun.com>
101541
101542         Assume the headers required for C89 freestanding compilers.
101543         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
101544         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
101545         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
101546         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
101547         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
101548         define, since <limits.h> is guaranteed to do that.
101549         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
101550         * lib/exclude.c: Include <stdbool.h> unconditionally.
101551         * lib/tempname.c: Include <stddef.h> unconditionally.
101552         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
101553         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
101554         <stddef.h> does that.
101555         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
101556         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
101557         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
101558         needed.
101559         * lib/xstrtol.c: Likewise.
101560         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
101561         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
101562
101563         * lib/addext.c (addext): Use assignment rather than cast, to avoid
101564         warnings on some platforms.
101565
101566         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
101567         arbitrarily.
101568
101569 2003-05-26  Jim Meyering  <jim@meyering.net>
101570
101571         Merge in a change from coreutils:
101572         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
101573         that is guaranteed to be `no'.  Use `no_such_member' to indicate
101574         that condition, rather than `-1' which is slightly misleading.
101575         Change the name of the cache variable to have the gl_ prefix.
101576         Prompted by a patch from Richard Dawe for DJGPP.
101577
101578 2003-05-24  Karl Berry  <karl@gnu.org>
101579
101580         * config/config.guess: update from prep.
101581
101582 2003-05-22  Karl Berry  <karl@gnu.org>
101583
101584         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
101585
101586 2003-05-20  Karl Berry  <karl@gnu.org>
101587
101588         * config/config.guess: update from prep.
101589
101590 2003-05-18  Karl Berry  <karl@gnu.org>
101591
101592         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
101593         might actually be set by the user.
101594
101595         * config/depcomp, install-sh, mdate-sh: update from automake.
101596
101597 2003-05-17  Bruno Haible  <bruno@clisp.org>
101598
101599         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
101600         invalid expansion for AC_EGREP_CPP.
101601         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
101602         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
101603         Suggested by Akim Demaille <akim@epita.fr> in
101604         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
101605
101606 2003-05-12  Jim Meyering  <jim@meyering.net>
101607
101608         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
101609         the space-padded-by-default conversion specifiers, %e, %k, %l.
101610
101611 2003-05-12  Bruno Haible  <bruno@clisp.org>
101612
101613         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
101614         the string is longer than 4 KB.
101615
101616 2003-05-11  Karl Berry  <karl@gnu.org>
101617
101618         * config/config.{guess,sub}: update from prep.
101619
101620 2003-05-09  Bruno Haible  <bruno@clisp.org>
101621
101622         * modules/error: Add m4/strerror_r.m4 to file list.
101623
101624 2003-05-03  Bruno Haible  <bruno@clisp.org>
101625
101626         Upgrade to Unicode-4.0.
101627         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
101628         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
101629         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
101630         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
101631         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
101632         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
101633         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
101634         Change width of U+E0100..U+E01EF from 1 to 0.
101635
101636 2003-04-25  Jim Meyering  <jim@meyering.net>
101637
101638         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
101639         of type size_t, not int.
101640
101641 2003-04-25  Bruno Haible  <bruno@clisp.org>
101642
101643         * lib/copy-file.c: Include <stddef.h>, for size_t.
101644
101645 2003-04-21  Paul Eggert  <eggert@twinsun.com>
101646
101647         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
101648         code which expansion is under static control.  Patch imported from
101649         Akim Demaille's patch to Bison; see
101650         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
101651
101652 2003-04-14  Bruno Haible  <bruno@clisp.org>
101653
101654         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
101655
101656 2003-04-11  Jim Meyering  <jim@meyering.net>
101657
101658         Merge changes from Coreutils.
101659
101660         2003-03-22  Jim Meyering  <jim@meyering.net>
101661
101662         * lib/strftime.c (widen): Cast alloca return value to proper type.
101663
101664         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
101665
101666         From GNU libc.
101667         * lib/strftime.c (my_strftime): Handle very large width
101668         specifications for numeric values correctly.  Improve checks for
101669         overflow.
101670
101671         2003-01-19  Jim Meyering  <jim@meyering.net>
101672
101673         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
101674         definitions.
101675         (nl_get_alt_digit) [! defined my_strftime]: Define.
101676         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
101677         _nl_get_alt_digit and _nl_get_walt_digit.
101678
101679         * lib/strftime.c (my_strftime): Merge in locale-related changes from
101680         libc. These changes have no effect outside of _LIBC.
101681
101682 2003-04-10  Bruno Haible  <bruno@clisp.org>
101683
101684         * modules/findprog: New file.
101685         * MODULES.html.sh (func_all_modules): Add it.
101686
101687 2003-04-10  Bruno Haible  <bruno@clisp.org>
101688
101689         * m4/findprog.m4: New file.
101690         * m4/eaccess.m4: New file.
101691
101692 2003-04-10  Bruno Haible  <bruno@clisp.org>
101693
101694         * lib/findprog.h: New file, from GNU gettext.
101695         * lib/findprog.c: New file, from GNU gettext.
101696
101697 2003-04-05  Jim Meyering  <jim@meyering.net>
101698
101699         Merge changes from Coreutils.
101700
101701         * lib/exclude.h (PARAMS): Remove definition and uses.
101702         * lib/exclude.c: Remove uses of `PARAMS'.
101703
101704         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
101705         Add test-cases for DOS filenames. Declare program_name.
101706         (main): Set up program_name.  Patch by Rich Dawe.
101707
101708         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
101709         error from mntctl.
101710         Use mntctl's return value to drive the entry-processing loop, since
101711         we can't rely on the value of the vmt_length member in the last
101712         entry.  On some systems doing so could result in exhausting
101713         virtual memory.  Based in part on a patch from Mike Jetzer.
101714
101715 2003-04-04  Bruno Haible  <bruno@clisp.org>
101716
101717         * modules/linebreak: New file.
101718         * MODULES.html.sh (func_all_modules): Add it.
101719
101720 2003-04-04  Bruno Haible  <bruno@clisp.org>
101721
101722         * m4/linebreak.m4: New file.
101723
101724 2003-04-04  Bruno Haible  <bruno@clisp.org>
101725
101726         * lib/linebreak.h: New file, from GNU gettext.
101727         * lib/linebreak.c: New file, from GNU gettext with slight
101728         modifications.
101729         * lib/lbrkprop.h: New file, from GNU gettext.
101730
101731 2003-04-03  Bruno Haible  <bruno@clisp.org>
101732
101733         * modules/utf8-ucs4: New file.
101734         * modules/utf16-ucs4: New file.
101735         * modules/ucs4-utf8: New file.
101736         * modules/ucs4-utf16: New file.
101737         * MODULES.html.sh (func_all_modules): Add them.
101738
101739 2003-04-03  Bruno Haible  <bruno@clisp.org>
101740
101741         * m4/utf-ucs4.m4: New file.
101742         * m4/ucs4-utf.m4: New file.
101743
101744 2003-04-03  Bruno Haible  <bruno@clisp.org>
101745
101746         * lib/utf8-ucs4.h: New file, from GNU gettext.
101747         * lib/utf16-ucs4.h: New file, from GNU gettext.
101748         * lib/ucs4-utf8.h: New file, from GNU gettext.
101749         * lib/ucs4-utf16.h: New file, from GNU gettext.
101750
101751 2003-04-02  Bruno Haible  <bruno@clisp.org>
101752
101753         * modules/binary-io: New file.
101754         * MODULES.html.sh (func_all_modules): Add it.
101755
101756 2003-04-02  Bruno Haible  <bruno@clisp.org>
101757
101758         * lib/binary-io.h: New file, from GNU gettext.
101759
101760 2003-04-01  Bruno Haible  <bruno@clisp.org>
101761
101762         * modules/pathname: New file.
101763         * MODULES.html.sh (func_all_modules): Add it.
101764
101765 2003-04-01  Bruno Haible  <bruno@clisp.org>
101766
101767         * lib/pathname.h: New file, from GNU gettext.
101768         * lib/concatpath.c: New file, from GNU gettext.
101769
101770 2003-03-30  Bruno Haible  <bruno@clisp.org>
101771
101772         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
101773
101774 2003-03-30  Bruno Haible  <bruno@clisp.org>
101775
101776         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
101777         function chown() doesn't exist.
101778
101779 2003-03-28  Bruno Haible  <bruno@clisp.org>
101780
101781         * modules/copy-file: New file.
101782         * MODULES.html.sh (func_all_modules): Add it.
101783
101784 2003-03-28  Bruno Haible  <bruno@clisp.org>
101785
101786         * m4/copy-file.m4: New file.
101787
101788 2003-03-28  Bruno Haible  <bruno@clisp.org>
101789
101790         * lib/copy-file.h: New file, from GNU gettext.
101791         * lib/copy-file.c: New file, from GNU gettext.
101792
101793 2003-03-18  Jim Meyering  <jim@meyering.net>
101794
101795         * lib/quote.c (quote_n): Fix typo in comment.
101796
101797 2003-03-18  Bruno Haible  <bruno@clisp.org>
101798
101799         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
101800         checking.
101801         * m4/onceonly_2_57.m4: Likewise.
101802
101803 2003-03-17  Bruno Haible  <bruno@clisp.org>
101804
101805         * m4/onceonly.m4: Require autoconf 2.54 or newer.
101806         (m4_quote): Remove macro.
101807         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
101808
101809 2003-03-14  Jim Meyering  <jim@meyering.net>
101810
101811         Merge changes from Coreutils.
101812         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
101813         to be const, in order to avoid warnings.
101814         (obstack_room): Likewise.
101815         (obstack_empty_p): Likewise.
101816
101817 2003-03-14  Bruno Haible  <bruno@clisp.org>
101818
101819         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
101820         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
101821
101822 2003-03-13  Paul Eggert  <eggert@twinsun.com>
101823
101824         Merge changes from Bison.
101825         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
101826         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
101827         when compiling Bison 1.875's `bitset bset = obstack_alloc
101828         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
101829         * lib/hash.c: Include <stdbool.h> unconditionally.
101830
101831 2003-03-13  Paul Eggert  <eggert@twinsun.com>
101832
101833         * m4/onceonly.m4 (m4_quote): New macro.
101834         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
101835         Quote AC_FOREACH variable-expansions properly.
101836
101837 2003-03-13  Paul Eggert  <eggert@twinsun.com>
101838
101839         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
101840
101841 2003-03-09  Paul Eggert  <eggert@twinsun.com>
101842
101843         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
101844         Reported by Bruce Becker; see:
101845         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
101846
101847 2003-03-03  Paul Eggert  <eggert@twinsun.com>
101848             Bruno Haible  <bruno@clisp.org>
101849
101850         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
101851         Reported by John Hughes, see
101852         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
101853
101854 2003-02-20  Bruno Haible  <bruno@clisp.org>
101855
101856         * MODULES.html.sh (func_all_modules): Add poll.
101857
101858 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
101859
101860         * modules/poll: New file.
101861
101862 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
101863
101864         * lib/poll_.h: New file.
101865         * lib/poll.c: New file.
101866
101867 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
101868
101869         * m4/poll.m4: New file.
101870
101871 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
101872
101873         * modules/mathl: New file.
101874
101875 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
101876
101877         * lib/mathl.h: New file.
101878         * lib/acosl.c: New file.
101879         * lib/asinl.c: New file.
101880         * lib/atanl.c: New file.
101881         * lib/ceill.c: New file.
101882         * lib/cosl.c: New file.
101883         * lib/expl.c: New file.
101884         * lib/floorl.c: New file.
101885         * lib/frexpl.c: New file.
101886         * lib/ldexpl.c: New file.
101887         * lib/logl.c: New file.
101888         * lib/sincosl.c: New file.
101889         * lib/sinl.c: New file.
101890         * lib/sqrtl.c: New file.
101891         * lib/tanl.c: New file.
101892         * lib/trigl.c: New file.
101893         * lib/trigl.h: New file.
101894
101895 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
101896
101897         * m4/mathl.m4: New file.
101898
101899 2003-02-18  Bruno Haible  <bruno@clisp.org>
101900
101901         * MODULES.html.sh (func_all_modules): Add mathl.
101902
101903 2003-02-17  Bruno Haible  <bruno@clisp.org>
101904
101905         * modules/mkdtemp: New module.
101906         * MODULES.html.sh (func_all_modules): Add it.
101907
101908 2003-02-17  Bruno Haible  <bruno@clisp.org>
101909
101910         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
101911
101912 2003-02-17  Bruno Haible  <bruno@clisp.org>
101913
101914         * lib/mkdtemp.h: New file, from GNU gettext.
101915         * lib/mkdtemp.c: New file, from GNU gettext.
101916
101917 2003-02-02  Jim Meyering  <jim@meyering.net>
101918
101919         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
101920         e.g. glibc-2.2.93.
101921
101922 2003-01-31  Bruno Haible  <bruno@clisp.org>
101923
101924         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
101925         'rpl_rename'.
101926         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
101927         'rpl_strnlen'.
101928         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
101929         'rpl_strtod'.
101930         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
101931         'rpl_utime'.
101932
101933 2003-01-31  Bruno Haible  <bruno@clisp.org>
101934
101935         * lib/rename.c: #undef rename before defining rpl_rename.
101936         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
101937
101938 2003-01-30  Bruno Haible  <bruno@clisp.org>
101939
101940         * modules/vasnprintf, modules/vasprintf: New modules.
101941         * MODULES.html.sh (func_all_modules): Add them.
101942
101943 2003-01-30  Bruno Haible  <bruno@clisp.org>
101944
101945         * m4/signed.m4: New file, from GNU gettext.
101946         * m4/longdouble.m4: New file, from GNU gettext.
101947         * m4/wchar_t.m4: New file, from GNU gettext.
101948         * m4/wint_t.m4: New file, from GNU gettext.
101949         * m4/vasnprintf.m4: New file.
101950         * m4/vasprintf.m4: New file.
101951
101952 2003-01-30  Bruno Haible  <bruno@clisp.org>
101953
101954         * lib/printf-args.h: New file, from GNU gettext.
101955         * lib/printf-args.c: New file, from GNU gettext.
101956         * lib/printf-parse.h: New file, from GNU gettext.
101957         * lib/printf-parse.c: New file, from GNU gettext.
101958         * lib/vasnprintf.h: New file, from GNU gettext.
101959         * lib/vasnprintf.c: New file, from GNU gettext.
101960         * lib/asnprintf.c: New file, from GNU gettext.
101961         * lib/vasprintf.h: New file, from GNU gettext with modifications.
101962         * lib/vasprintf.c: New file, from GNU gettext.
101963         * lib/asprintf.c: New file, from GNU gettext.
101964
101965 2003-01-29  Bruno Haible  <bruno@clisp.org>
101966
101967         * modules/stpncpy: New module.
101968         * MODULES.html.sh (func_all_modules): Add it.
101969
101970 2003-01-29  Bruno Haible  <bruno@clisp.org>
101971
101972         * m4/stpncpy.m4: New file.
101973
101974 2003-01-29  Bruno Haible  <bruno@clisp.org>
101975
101976         * lib/stpncpy.h: New file, from GNU gettext with modifications.
101977         * lib/stpncpy.c: New file, from GNU gettext with modifications.
101978
101979 2003-01-28  Bruno Haible  <bruno@clisp.org>
101980
101981         * modules/c-ctype: New module.
101982         * MODULES.html.sh (func_all_modules): Add it.
101983
101984 2003-01-28  Bruno Haible  <bruno@clisp.org>
101985
101986         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
101987         Paul Eggert.
101988         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
101989         Paul Eggert.
101990
101991 2003-01-27  Bruno Haible  <bruno@clisp.org>
101992
101993         * modules/xsetenv: New module.
101994         * MODULES.html.sh (func_all_modules): Add it.
101995
101996 2003-01-27  Bruno Haible  <bruno@clisp.org>
101997
101998         * lib/xsetenv.h: New file, from GNU gettext.
101999         * lib/xsetenv.c: New file, from GNU gettext.
102000
102001 2003-01-23  Jim Meyering  <jim@meyering.net>
102002
102003         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
102004         from working on systems without dirfd (at least Irix and OSF1/Tru64).
102005
102006 2003-01-23  Bruno Haible  <bruno@clisp.org>
102007
102008         * modules/minmax: New module.
102009         * MODULES.html.sh (func_all_modules): Add it.
102010
102011 2003-01-23  Bruno Haible  <bruno@clisp.org>
102012
102013         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
102014         Eggert.
102015
102016 2003-01-22  Bruno Haible  <bruno@clisp.org>
102017
102018         * modules/exit: New module.
102019         * MODULES.html.sh (func_all_modules): Add it.
102020
102021 2003-01-22  Bruno Haible  <bruno@clisp.org>
102022
102023         * lib/exit.h: New file, from GNU gettext.
102024
102025 2003-01-19  Bruno Haible  <bruno@clisp.org>
102026
102027         * gnulib-tool: Recognize option --extract-maintainer.
102028         (func_get_maintainer): New function.
102029         * modules/*: Add Maintainer entry.
102030
102031 2003-01-16  Jim Meyering  <jim@meyering.net>
102032
102033         * m4/regex.m4: The `regex' struct is both input and output.
102034         Initialize it before each use.  Patch by Tim Waugh.
102035
102036 2003-01-16  Bruno Haible  <bruno@clisp.org>
102037
102038         * MODULES.html.sh: Add a table of contents. Add the module name as
102039         leftmost column. Add hyperlinks.
102040
102041 2003-01-15  Bruno Haible  <bruno@clisp.org>
102042
102043         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
102044
102045 2003-01-15  Bruno Haible  <bruno@clisp.org>
102046
102047         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
102048         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
102049         suffix.
102050
102051 2003-01-15  Bruno Haible  <bruno@clisp.org>
102052
102053         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
102054
102055 2003-01-15  Bruno Haible  <bruno@clisp.org>
102056
102057         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
102058         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
102059
102060 2003-01-14  Jim Meyering  <jim@meyering.net>
102061
102062         * lib/same.c (same_name): Tweak a comment.
102063
102064 2003-01-14  Bruno Haible  <bruno@clisp.org>
102065
102066         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
102067         when a string comparison is sufficient.
102068
102069 2003-01-14  Bruno Haible  <bruno@clisp.org>
102070
102071         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
102072         'unsigned int'.
102073
102074 2003-01-14  Bruno Haible  <bruno@clisp.org>
102075
102076         * lib/hash-pjw.c: Add comment about low quality of this function.
102077
102078 2003-01-13  Bruno Haible  <bruno@clisp.org>
102079
102080         * modules/stpcpy: Distribute lib/stpcpy.h.
102081         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
102082
102083 2003-01-13  Bruno Haible  <bruno@clisp.org>
102084
102085         * modules/*: Add a description.
102086         * modules/strpbrk: Fix Makefile.am snippet.
102087         * modules/strtoimax: Fix dependencies.
102088         * modules/strtoumax: Likewise.
102089
102090 2003-01-13  Bruno Haible  <bruno@clisp.org>
102091
102092         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
102093         * modules/alloca (Makefile.am): All object files depend on alloca.h.
102094         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
102095
102096 2003-01-13  Bruno Haible  <bruno@clisp.org>
102097
102098         * gnulib-tool (func_create_testdir): Store config/* files in the main
102099         directory.
102100         * config.rpath: Move to ...
102101         * config/config.rpath: ... here.
102102         * modules/gettext: Contains config/config.rpath, not config.rpath.
102103         * modules/iconv: Likewise.
102104
102105 2003-01-12  Paul Eggert  <eggert@twinsun.com>
102106
102107         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
102108         to avoid collisions with libcurses and libreadline.
102109
102110         * m4/getstr.m4: Remove.
102111         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
102112
102113 2003-01-12  Paul Eggert  <eggert@twinsun.com>
102114
102115         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
102116         to avoid collisions with libcurses and libreadline.
102117
102118         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
102119         * lib/getstr.h, getstr.c: Remove.
102120         * lib/getline.c: Include "getline.h", to check interface.
102121         Move body of old getstr.c here: this defines MIN_CHUNK and
102122         declares getdelim2, which is renamed from getstr.
102123         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
102124
102125         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
102126         All uses changed.
102127         * lib/linebuffer.h: Likewise.
102128         (readline): Remove backward-compatibility macro.
102129
102130 2003-01-12  Paul Eggert  <eggert@twinsun.com>
102131
102132         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
102133         to avoid collisions with libcurses and libreadline.
102134         * getstr: Remove.
102135         * MODULES.html.sh: Remove getstr.
102136         * modules/getline: Depend on unlocked-io, not getstr.
102137
102138 2003-01-12  Jim Meyering  <jim@meyering.net>
102139
102140         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
102141
102142 2003-01-10  Bruno Haible  <bruno@clisp.org>
102143
102144         * modules/alloca: Change Makefile.am requirements. Simplify Include
102145         requirements. Add lib/alloca_.h to file list.
102146
102147 2003-01-10  Bruno Haible  <bruno@clisp.org>
102148
102149         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
102150
102151 2003-01-10  Bruno Haible  <bruno@clisp.org>
102152
102153         * lib/alloca_.h: New file.
102154         * lib/getdate.y: Unconditionally include alloca.h.
102155         * lib/makepath.c: Likewise.
102156         * lib/setenv.c: Likewise.
102157         * lib/userspec.c: Likewise.
102158
102159 2003-01-09  Karl Berry  <karl@gnu.org>
102160
102161         * MODULES.html.sh: include `dirname $0` in PATH, to find
102162         gnulib-tool.
102163
102164 2003-01-09  Bruno Haible  <bruno@clisp.org>
102165
102166         * modules/stdbool: Change configure.ac, Makefile.am requirements.
102167         Simplify Include requirements. Add lib/stdbool.h.in to file list.
102168
102169 2003-01-09  Bruno Haible  <bruno@clisp.org>
102170
102171         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
102172
102173 2003-01-09  Bruno Haible  <bruno@clisp.org>
102174
102175         * lib/stdbool.h.in: New file.
102176
102177 2003-01-09  Bruno Haible  <bruno@clisp.org>
102178
102179         * gnulib-tool (func_all_modules): Ignore files ending in ~.
102180         * MODULES.html.sh: Likewise.
102181
102182 2003-01-08  Jim Meyering  <jim@meyering.net>
102183
102184         * lib/full-write.c: Undefine and define-away `const' after inclusion
102185         of errno.h, not before.  Suggestion from Bruno Haible.
102186
102187 2003-01-08  Bruno Haible  <bruno@clisp.org>
102188
102189         * modules/full-read: Depend on full-write.
102190
102191 2003-01-08  Bruno Haible  <bruno@clisp.org>
102192
102193         * lib/safe-read.c: Include specification header first, to ensure its
102194         selfcontainedness.
102195         * lib/full-write.c: Likewise.
102196
102197 2003-01-07  Jim Meyering  <jim@meyering.net>
102198
102199         * lib/full-write.c: Rework so that it may serve to define full_read,
102200         too.
102201         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
102202
102203 2003-01-07  Bruno Haible  <bruno@clisp.org>
102204
102205         * lib/strtoimax.c: Include <stdint.h> as an alternative to
102206         <inttypes.h>.
102207         * lib/xstrtol.h: Likewise.
102208         * lib/xstrtoimax.c: Likewise.
102209         * lib/xstrtoumax.c: Likewise.
102210         * lib/human.h: Likewise.
102211
102212         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
102213         on systems that have <inttypes.h> but not <stdint.h>.
102214
102215 2003-01-07  Bruno Haible  <bruno@clisp.org>
102216
102217         * MODULES.html.sh: Add copyright notice.
102218         (missed_files): Omit CVS directory entries.
102219         (func_module): Make it work with sed-3.02.
102220         * MODULES.txt: Remove file.
102221
102222 2003-01-06  Jim Meyering  <jim@meyering.net>
102223
102224         * lib/version-etc.c: Update year in translatable copyright string.
102225
102226 2003-01-03  Karl Berry  <karl@gnu.org>
102227
102228         * config/config.{guess,sub}: update from prep.
102229
102230 2003-01-02  Karl Berry  <karl@gnu.org>
102231
102232         * doc/COPYING.DOC: belatedly updated to 1.2.
102233
102234 2003-01-01  Karl Berry  <karl@gnu.org>
102235
102236         * gnulib-tool (func_verify_module): report module name $module in
102237         error message, not $1.
102238         * gnulib-tool (create-testdir): don't complain if destdir couldn't
102239         be created, only if it doesn't exist.
102240         * gnulib-tool (last_checkin_date): don't expand the $Date here.
102241
102242 2002-12-31  Paul Eggert  <eggert@twinsun.com>
102243
102244         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
102245
102246 2002-12-31  Paul Eggert  <eggert@twinsun.com>
102247
102248         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
102249         memcmp if strcoll doesn't work.
102250
102251 2002-12-31  Bruno Haible  <bruno@clisp.org>
102252
102253         * lib/utime.c (utime_null): No need to call ftruncate if the file was
102254         nonempty.
102255
102256 2002-12-31  Bruno Haible  <bruno@clisp.org>
102257
102258         * lib/memcoll.c (STRCOLL): New macro.
102259         (memcoll): Use it.
102260
102261 2002-12-31  Bruno Haible  <bruno@clisp.org>
102262
102263         * lib/localcharset.h: New file.
102264         * lib/localcharset.c: Include it.
102265         * lib/unicodeio.c: Likewise.
102266
102267 2002-12-31  Bruno Haible  <bruno@clisp.org>
102268
102269         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
102270         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
102271
102272 2002-12-31  Bruno Haible  <bruno@clisp.org>
102273
102274         * lib/getline.h: Include <stddef.h>, for size_t.
102275
102276         * lib/unicodeio.h: Include <stddef.h>, for size_t.
102277         * lib/unicodeio.c: Don't include <stddef.h>.
102278
102279 2002-12-31  Bruno Haible  <bruno@clisp.org>
102280
102281         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
102282         HAVE_TM_ZONE.
102283
102284 2002-12-24  Karl Berry  <karl@gnu.org>
102285
102286         * config/config.guess: update from prep.
102287
102288 2002-12-24  Bruno Haible  <bruno@clisp.org>
102289
102290         General infrasructure.
102291         * m4/README: Rewritten.
102292         * m4/onceonly.m4: New file.
102293         * m4/onceonly_2_57.m4: New file.
102294
102295         Module atexit.
102296         * m4/atexit.m4: New file.
102297
102298         Module strtod.
102299         * m4/strtod.m4: New file.
102300
102301         Module strtol.
102302         * m4/strtol.m4: New file.
102303
102304         Module strtoul.
102305         * m4/strtoul.m4: New file.
102306
102307         Module memchr.
102308         * m4/memchr.m4: New file.
102309
102310         Module memcmp.
102311         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
102312         (jm_FUNC_MEMCMP): Invoke it.
102313
102314         Module memcpy.
102315         * m4/memcpy.m4: New file.
102316
102317         Module memmove.
102318         * m4/memmove.m4: New file.
102319
102320         Module memset.
102321         * m4/memset.m4: New file.
102322
102323         Module strcspn.
102324         * m4/strcspn.m4: New file.
102325
102326         Module strpbrk.
102327         * m4/strpbrk.m4: New file.
102328
102329         Module strstr.
102330         * m4/strstr.m4: New file.
102331
102332         Module strerror.
102333         * m4/strerror.m4: New file.
102334
102335         Module mktime.
102336         * m4/mktime.m4: Renamed from jm-mktime.m4.
102337         (gl_PREREQ_MKTIME): New macro.
102338         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
102339
102340         Module malloc.
102341         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
102342         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
102343         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
102344
102345         Module realloc.
102346         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
102347         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
102348         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
102349
102350         Module strftime.
102351         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
102352         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
102353         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
102354         gl_TM_GMTOFF.
102355         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
102356
102357         Module xalloc.
102358         * m4/xalloc.m4: New file.
102359
102360         Module alloca.
102361         * m4/alloca.m4: New file.
102362
102363         Module putenv.
102364         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
102365         (jm_FUNC_PUTENV): Invoke it.
102366
102367         Module setenv.
102368         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
102369         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
102370         when invoked twice.
102371         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
102372         gt_FUNC_SETENV.
102373
102374         Module memrchr.
102375         * m4/memrchr.m4: New file.
102376
102377         Module stpcpy.
102378         * m4/stpcpy.m4: New file.
102379
102380         Module strcase.
102381         * m4/strcase.m4: New file.
102382
102383         Module strdup.
102384         * m4/strdup.m4: New file.
102385
102386         Module strnlen.
102387         * m4/strnlen.m4: New file.
102388
102389         Module strndup.
102390         * m4/strndup.m4: New file.
102391
102392         Module xstrtod.
102393         * m4/xstrtod.m4: New file.
102394
102395         Module xstrtol.
102396         * m4/xstrtol.m4: New file.
102397
102398         Module getdate.
102399         * m4/getdate.m4: New file.
102400
102401         Module unlocked-io.
102402         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
102403         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
102404         * m4/jm-glibc-io.m4n: Remove file.
102405
102406         Module long-options.
102407         * m4/long-options.m4: New file.
102408
102409         Module md5.
102410         * m4/md5.m4: New file.
102411
102412         Module sha.
102413         * m4/sha.m4: New file.
102414
102415         Module getstr.
102416         * m4/getstr.m4: New file.
102417
102418         Module getline.
102419         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
102420         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
102421         <sys/types.h>, for size_t. Use the function name gnu_getline, not
102422         simply getline. Infoke gl_PREREQ_GETLINE.
102423
102424         Module obstack.
102425         * m4/obstack.m4: New file.
102426
102427         Module hash.
102428         * m4/hash.m4: New file.
102429
102430         Module readtokens.
102431         * m4/readtokens.m4: New file.
102432
102433         Module strverscmp.
102434         * m4/strverscmp.m4: New file.
102435
102436         Module stdbool.
102437         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
102438         OSF/1.
102439
102440         Module strtoll.
102441         * m4/strtoll.m4: New file.
102442
102443         Module strtoull.
102444         * m4/strtoull.m4: New file.
102445
102446         Module strtoimax.
102447         * m4/strtoimax.m4: New file.
102448
102449         Module strtoumax.
102450         * m4/strtoumax.m4: New file.
102451
102452         Module xstrtoimax.
102453         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
102454         jm_AC_PREREQ_XSTRTOIMAX.
102455         Moved the strtol prerequisites to strtol.m4.
102456         Moved the strtoll prerequisites to strtoll.m4.
102457         Moved the strtoimax prerequisites to strtoimax.m4.
102458
102459         Module xstrtoumax.
102460         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
102461         jm_AC_PREREQ_XSTRTOUMAX.
102462         Moved the strtoul prerequisites to strtoul.m4.
102463         Moved the strtoull prerequisites to strtoull.m4.
102464         Moved the strtoumax prerequisites to strtoumax.m4.
102465
102466         Module chown.
102467         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
102468         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
102469
102470         Module dup2.
102471         * m4/dup2.m4: New file.
102472
102473         Module ftruncate.
102474         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
102475         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
102476
102477         Module getgroups.
102478         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
102479         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
102480
102481         Module gettimeofday.
102482         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
102483         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
102484         gl_PREREQ_GETTIMEOFDAY.
102485
102486         Module mkdir.
102487         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
102488         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
102489
102490         Module mkstemp.
102491         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
102492         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
102493         jm_AC_TYPE_UINTMAX_T.
102494         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
102495
102496         Module stat.
102497         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
102498         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
102499
102500         Module lstat.
102501         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
102502         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
102503
102504         Module timespec.
102505         * m4/timespec.m4 (gl_TIMESPEC): New macro.
102506         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
102507         * m4/st_mtim.m4: Indentation.
102508
102509         Module nanosleep.
102510         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
102511         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
102512         gl_PREREQ_NANOSLEEP.
102513
102514         Module regex.
102515         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
102516         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
102517         (gl_REGEX): New macro.
102518
102519         Module rename.
102520         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
102521         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
102522
102523         Module rmdir.
102524         * m4/rmdir.m4: New file.
102525
102526         Module utime.
102527         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
102528         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
102529         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
102530
102531         Module dirname.
102532         * m4/dirname.m4: New file.
102533
102534         Module getopt.
102535         * m4/getopt.m4: New file.
102536
102537         Module unistd-safer.
102538         * m4/unistd-safer.m4: New file.
102539
102540         Module fnmatch.
102541         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
102542         declaration.
102543         (gl_PREREQ_FNMATCH_EXTRA): New macro.
102544         (gl_FUNC_FNMATCH_POSIX): New macro.
102545         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
102546         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
102547         simply fnmatch.
102548
102549         Module exclude.
102550         * m4/exclude.m4: New file.
102551
102552         Module human.
102553         * m4/human.m4: New file.
102554
102555         Module acl.
102556         * m4/acl.m4: Nop.
102557
102558         Module backupfile.
102559         * m4/backupfile.m4: New file.
102560         * m4/d-ino.m4: Indentation.
102561
102562         Module fsusage.
102563         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
102564         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
102565         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
102566
102567         Module dirfd.
102568         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
102569         requirements.
102570
102571         Module euidaccess.
102572         * m4/euidaccess.m4: New file.
102573
102574         Module file-type.
102575         * m4/file-type.m4: New file.
102576
102577         Module fileblocks.
102578         * m4/fileblocks.m4: New file.
102579
102580         Module filemode.
102581         * m4/filemode.m4: New file.
102582
102583         Module isdir.
102584         * m4/isdir.m4: New file.
102585
102586         Module lchown.
102587         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
102588         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
102589
102590         Module makepath.
102591         * m4/makepath.m4: New file.
102592
102593         Module modechange.
102594         * m4/modechange.m4: New file.
102595
102596         Module mountlist.
102597         * m4/mountlist.m4: New file.
102598         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
102599         Indentation.
102600
102601         Module path-concat.
102602         * m4/path-concat.m4: New file.
102603
102604         Module pathmax.
102605         * m4/pathmax.m4: New file.
102606
102607         Module same.
102608         * m4/same.m4: New file.
102609
102610         Module save-cwd.
102611         * m4/save-cwd.m4: New file.
102612
102613         Module savedir.
102614         * m4/savedir.m4: New file.
102615
102616         Module xgetcwd.
102617         * m4/xgetcwd.m4: New file.
102618         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
102619
102620         Module xreadlink.
102621         * m4/xreadlink.m4: New file.
102622
102623         Module safe-read.
102624         * m4/safe-read.m4: New file.
102625
102626         Module safe-write.
102627         * m4/safe-write.m4: New file.
102628
102629         Module closeout.
102630         * m4/closeout.m4: New file.
102631
102632         Module stdio-safer.
102633         * m4/stdio-safer.m4: New file.
102634
102635         Module getpass.
102636         * m4/getpass.m4: New file.
102637
102638         Module getugroups.
102639         * m4/getugroups.m4: New file.
102640
102641         Module group-member.
102642         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
102643         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
102644
102645         Module idcache.
102646         * m4/idcache.m4: New file.
102647
102648         Module userspec.
102649         * m4/userspec.m4: New file.
102650
102651         Module gettime.
102652         * m4/clock_time.m4: New file.
102653         * m4/gettime.m4: New file.
102654
102655         Module settime.
102656         * m4/settime.m4: New file.
102657
102658         Module posixtm.
102659         * m4/posixtm.m4: New file.
102660
102661         Module gethostname.
102662         * m4/gethostname.m4: New file.
102663
102664         Module canon-host.
102665         * m4/canon-host.m4: New file.
102666
102667         Module gettext.
102668         * m4/codeset.m4: New file, from gettext-0.11.5.
102669         * m4/gettext.m4: New file, from gettext-0.11.5.
102670         * m4/glibc21.m4: New file, from gettext-0.11.5.
102671         * m4/iconv.m4: New file, from gettext-0.11.5.
102672         * m4/intdiv0.m4: New file, from gettext-0.11.5.
102673         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
102674         * m4/inttypes.m4: New file, from gettext-0.11.5.
102675         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
102676         * m4/isc-posix.m4: New file, from gettext-0.11.5.
102677         * m4/lcmessage.m4: New file, from gettext-0.11.5.
102678         * m4/lib-ld.m4: New file, from gettext-0.11.5.
102679         * m4/lib-link.m4: New file, from gettext-0.11.5.
102680         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
102681         * m4/progtest.m4: New file, from gettext-0.11.5.
102682         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
102683         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
102684         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
102685
102686         Module localcharset.
102687         * m4/localcharset.m4: New file.
102688
102689         Module hard-locale.
102690         * m4/hard-locale.m4: New file.
102691
102692         Module mbswidth.
102693         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
102694         onceonly macros.
102695         * m4/mbrtowc.m4: Add comment.
102696
102697         Module memcasecmp.
102698         * m4/memcasecmp.m4: New file.
102699
102700         Module memcoll.
102701         * m4/memcoll.m4: New file.
102702
102703         Module unicodeio.
102704         * m4/unicodeio.m4: New file.
102705
102706         Module rpmatch.
102707         * m4/rpmatch.m4: New file.
102708
102709         Module yesno.
102710         * m4/yesno.m4: New file.
102711
102712         Module exitfail.
102713         * m4/exitfail.m4: New file.
102714
102715         Module c-stack.
102716         * m4/c-stack.m4 (gl_C_STACK): New macro.
102717         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
102718
102719         Module error.
102720         * m4/error.m4 (gl_ERROR): New macro.
102721         (jm_PREREQ_ERROR): Use onceonly macros.
102722
102723         Module fatal.
102724         * m4/fatal.m4: New file.
102725
102726         Module getloadavg.
102727         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
102728         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
102729
102730         Module getpagesize.
102731         * m4/getpagesize.m4: New file.
102732
102733         Module getusershell.
102734         * m4/getusershell.m4: New file.
102735
102736         Module physmem.
102737         * m4/physmem.m4: New file.
102738
102739         Module posixver.
102740         * m4/posixver.m4: New file.
102741
102742         Module quotearg.
102743         * m4/quotearg.m4: New file.
102744
102745         Module quote.
102746         * m4/quote.m4: New file.
102747
102748         Module readutmp.
102749         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
102750
102751         Module sig2str.
102752         * m4/sig2str.m4: New file.
102753
102754         Other.
102755         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
102756         ulonglong.m4.
102757         * m4/intmax_t.m4: New file.
102758         * m4/d-type.m4: Indentation.
102759         * m4/jm-macros.m4: Update.
102760         * m4/prereq.m4 (jm_PREREQ): Update.
102761         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
102762         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
102763         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
102764         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
102765         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
102766         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
102767         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
102768         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
102769         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
102770         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
102771         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
102772         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
102773         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
102774         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
102775         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
102776         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
102777         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
102778         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
102779         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
102780
102781 2002-12-24  Bruno Haible  <bruno@clisp.org>
102782
102783         * MODULES.txt: Update according to m4/ changes.
102784
102785         Module gettext.
102786         * config.rpath: New file, from gettext-0.11.5.
102787
102788         * modules/*: New module descriptions.
102789         * gnulib-tool: New file.
102790         * MODULES.html.sh: New file.
102791
102792 2002-12-21  Karl Berry  <karl@gnu.org>
102793
102794         * doc/fdl.texi: update to version 1.2.
102795
102796 2002-12-19  Karl Berry  <karl@gnu.org>
102797
102798         * config/config.guess: update from prep.
102799
102800 2002-12-18  Bruno Haible  <bruno@clisp.org>
102801
102802         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
102803         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
102804
102805 2002-12-17  Bruno Haible  <bruno@clisp.org>
102806
102807         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
102808         stdlib.h, string.h.
102809
102810 2002-12-17  Bruno Haible  <bruno@clisp.org>
102811
102812         * lib/canon-host.c (strdup): Remove unused declaration.
102813
102814         * lib/fsusage.c: Include full_read.h.
102815         (get_fs_usage): Use full_read instead of safe_read.
102816
102817         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
102818
102819 2002-12-12  Karl Berry  <karl@gnu.org>
102820
102821         * config/config.guess: update from prep.
102822
102823 2002-12-11  Bruno Haible  <bruno@clisp.org>
102824
102825         * m4/setenv.m4: New file, from gettext-0.11.5.
102826
102827 2002-12-11  Bruno Haible  <bruno@clisp.org>
102828
102829         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
102830         not unsetenv().
102831         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
102832         modifications:
102833
102834         2002-12-11  Bruno Haible  <bruno@clisp.org>
102835
102836                 * setenv.c (alloca): Fall back to malloc.
102837                 (freea): New macro.
102838                 (setenv): Use freea() to free memory allocated with alloca().
102839
102840         2002-11-13  Bruno Haible  <bruno@clisp.org>
102841
102842                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
102843                 function declarations.
102844                 * unsetenv.c (unsetenv): Likewise.
102845
102846         2002-03-04  Bruno Haible  <bruno@clisp.org>
102847
102848                 Portability to AIX 4.3.3.
102849                 * unsetenv.c: New file, extracted from setenv.c.
102850                 * setenv.c: Move the unsetenv() function to unsetenv.c.
102851
102852         2001-12-20  Bruno Haible  <bruno@clisp.org>
102853
102854                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
102855                 use malloc instead. For SunOS 4.
102856
102857         2001-12-11  Bruno Haible  <bruno@clisp.org>
102858
102859                 * setenv.c: Declare alloca.
102860                 (compar_fn_t): New typedef.
102861                 (KNOWN_VALUE, STORE_VALUE): Use it.
102862
102863         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
102864         setenv.h.
102865
102866 2002-12-10  Paul Eggert  <eggert@twinsun.com>
102867
102868         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
102869         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
102870         Choose values that are less likely to collide with system fnmatch
102871         options.
102872         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
102873         defined (e.g., a pure POSIX system).
102874         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
102875         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
102876
102877 2002-12-06  Paul Eggert  <eggert@twinsun.com>
102878
102879         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
102880         a pain in practice to deal with generated m4 files.  This change
102881         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
102882
102883         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
102884         and jm-glibc-io.m4, as they are no longer a special case.
102885         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
102886         kludge and the auto-generation stuff.  Check only whether the
102887         functions are declared, not whether they exist, since older hosts
102888         that don't declare the functions can't use the optimization anyway.
102889
102890 2002-12-06  Jim Meyering  <jim@meyering.net>
102891
102892         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
102893
102894         Merge in changes from libc's misc/error.c, in preparation
102895         for the merge of gnulib's changes back into libc.
102896
102897         * lib/error.c (_): Define only if not already defined.
102898         Move definition to follow all #include directives.
102899         Include unlocked-io.h only if !_LIBC.
102900         [_LIBC]: Include <libio/libioP.h>.
102901         [USE_IN_LIBIO]: Include <libio/iolibio.h>
102902         (fflush): Tweak definition to use INTUSE.
102903         (putc): Define.
102904
102905 2002-12-05  Paul Eggert  <eggert@twinsun.com>
102906
102907         * lib/alloca.c [defined emacs]: Include "lisp.h".
102908         (xalloc_die) [defined emacs]: New macro.
102909         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
102910         [! defined emacs]: Include <xalloc.h>.
102911         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
102912         (pointer): Typedef to POINTER_TYPE *.
102913         (malloc): Remove decl; we now always use xmalloc.
102914         (alloca): Use old-style definition, since Emacs needs this.
102915         Check for arithmetic overflow when computing combined size.
102916
102917 2002-12-04  Paul Eggert  <eggert@twinsun.com>
102918
102919         Do not generate unlocked-io.h automatically, since it's easier to
102920         maintain it by hand.
102921
102922         * lib/unlocked-io.h: New file, from GNU diffutils,
102923         but with proper copyright notice and attribution.
102924         * lib/gen-uio: Remove.
102925         * lib/Makefile.am: Add copyright notice.
102926         (libfetish_a_SOURCES): Add unlocked-io.h.
102927         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
102928         (DISTCLEANFILES, io_functions): Remove macros.
102929         (EXTRA_DIST): Remove gen_uio.
102930         (unlocked-io.h): Remove rule.
102931
102932 2002-12-04  Jim Meyering  <jim@meyering.net>
102933
102934         Reflect the fact that stat.c and lstat.c are no longer generated.
102935         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
102936         (DISTCLEANFILES): Likewise.
102937         (EXTRA_DIST): Likewise.
102938         (all_local): Don't depend on stat.c or lstat.c.
102939         (stat.c, lstat.c): Remove rules.
102940         (EXTRA_DIST): Remove xstat.in.
102941
102942         * lib/xstat.in: Remove file.  Contents moved into stat.c.
102943         * lib/stat.c: New file.  Contents mostly from xstat.in.
102944         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
102945         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
102946
102947         * lib/safe-read.c: Rework so that it may serve to define safe_write,
102948         too.
102949         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
102950
102951 2002-12-03  Jim Meyering  <jim@meyering.net>
102952
102953         * lib/safe-read.c, safe-write.c: Change variable names and comments,
102954         but not semantics, to minimize the differences between these two files.
102955         (safe_read): Change comment to mention SAFE_READ_ERROR.
102956
102957         * lib/safe-read.c (IS_EINTR): Define.
102958         (safe_read): Use IS_EINTR in place of in-function cpp directives.
102959
102960 2002-12-02  Jim Meyering  <jim@meyering.net>
102961
102962         * lib/safe-read.c (EINTR): Define.
102963         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
102964         (INT_MAX): Provide fallback.
102965         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
102966
102967         * lib/safe-read.h (SAFE_READ_ERROR): Define.
102968
102969 2002-12-02  Bruno Haible  <bruno@clisp.org>
102970
102971         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
102972         Define, taken from safe-read.c.
102973         (INT_MAX): Provide fallback.
102974         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
102975         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
102976
102977         * lib/safe-read.c (EINTR): Remove definition.
102978         (safe_read): Don't use EINTR if it is absent.
102979
102980 2002-12-01  Jim Meyering  <jim@meyering.net>
102981
102982         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
102983         zero.
102984         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
102985
102986 2002-11-27  Paul Eggert  <eggert@twinsun.com>
102987
102988         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
102989         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
102990         with `if (! (value < limit)) abort ();', for readability.
102991
102992 2002-11-26  Karl Berry  <karl@gnu.org>
102993
102994         * lib/strdup.c: copy from libc again, with jim's ok.
102995         * lib/.cppi-disable: re-add strdup.c
102996
102997 2002-11-25  Karl Berry  <karl@gnu.org>
102998
102999         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
103000         instead of "strtol.c".
103001
103002 2002-11-25  Karl Berry  <karl@gnu.org>
103003
103004         * config/install-sh: update from automake for variable quoting, $0 in
103005         error msgs, etc.
103006
103007         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
103008         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
103009         entry.
103010
103011 2002-11-25  Jim Meyering  <jim@meyering.net>
103012
103013         * lib/mktime.c: Sync from libc, now that it has the latest fix.
103014
103015 2002-11-24  Karl Berry  <karl@gnu.org>
103016
103017         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
103018         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
103019
103020 2002-11-24  Jim Meyering  <jim@meyering.net>
103021
103022         Update from coreutils:
103023
103024         * lib/mktime.c: Merge in changes from libc.
103025
103026         Avoid a link-time failure on some Linux systems.
103027         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
103028         (otherwise).
103029         (__mon_yday): Declare with the STATIC attribute.
103030         (__mktime_internal): Likewise.
103031         Based on a report from Greg Schafer.
103032
103033 2002-11-23  Jim Meyering  <jim@meyering.net>
103034
103035         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
103036         Use `unsigned', not `int', as type of index.
103037
103038         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
103039
103040         * lib/fsusage.c: Remove unneeded parentheses around operands of
103041         `defined'.
103042
103043 2002-11-22  Paul Eggert  <eggert@twinsun.com>
103044
103045         * lib/quotearg.h: Allow multiple inclusion by surrounding with
103046         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
103047         so that we can be included first.
103048         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
103049         * lib/quotearg.c: Include quotearg.h immediately after config.h.
103050         No need to include stddef.h or sys/types.h any more.
103051         Surround local include files with "", not "<>".
103052         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
103053         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
103054         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
103055         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
103056         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
103057         (ISPRINT): Remove; no longer needed now that we assume C89.
103058
103059         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
103060         Preserve errno.
103061
103062         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
103063         quotearg_char): Use SIZE_MAX rather than
103064         (size_t) -1 when we are talking about "infinity".
103065
103066         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
103067
103068 2002-11-22  Paul Eggert  <eggert@twinsun.com>
103069
103070         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
103071         hint that one should use `if (! x) abort ();' rather than `assert
103072         (x);', and anyway it's one less thing to worry about configuring.
103073         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
103074         hash_rehash, hash_insert): Use abort rather than assert.
103075
103076 2002-11-22  Bruno Haible  <bruno@clisp.org>
103077
103078         * lib/safe-read.h: Assume C89. Add comments.
103079         (safe_read): Change return type to size_t.
103080         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
103081         byte counts > SSIZE_MAX correctly.
103082         * lib/safe-write.h: New file.
103083         * lib/safe-write.c: New file.
103084         * lib/full-read.h: New file.
103085         * lib/full-read.c: New file.
103086         * lib/full-write.h: Assume C89. Add comments.
103087         * lib/full-write.c: Include safe-write.h.
103088         (full_write): Rewritten to use safe_write.
103089         Suggested by Jim Meyering and Paul Eggert.
103090
103091 2002-11-21  Jim Meyering  <jim@meyering.net>
103092
103093         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
103094
103095         Merge in changes from the coreutils.
103096
103097         2002-09-25  Paul Eggert  <eggert@twinsun.com>
103098         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
103099         <stdint.h>.
103100         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
103101         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
103102         int.  Work more efficiently if X is the same width as uintmax_t.
103103         Do not compare X to -1, to avoid bogus compiler warning.
103104         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
103105         Don't assume that f_frsize and f_bsize are the same type.
103106
103107         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
103108         warning on FreeBSD.
103109
103110         * lib/makepath.c (make_path): Restore umask *before* creating the final
103111         component.
103112         (make_path): Minor reformatting.
103113
103114         * lib/xmalloc.c: Adjust to work with new autoconf macros,
103115         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
103116         HAVE_MALLOC/HAVE_REALLOC.
103117
103118         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
103119         dummy ones.  At least on GNU/Linux systems, `auto' means something
103120         else.
103121         From Michael Stone.
103122
103123 2002-11-21  Bruno Haible  <bruno@clisp.org>
103124
103125         Remove case insensitive option matching.
103126         * lib/argmatch.h (argcasematch): Remove declaration.
103127         (ARGCASEMATCH): Remove macro.
103128         (__xargmatch_internal): Remove case_sensitive argument.
103129         (XARGMATCH): Update.
103130         (XARGCASEMATCH): Remove macro.
103131         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
103132         case_sensitive argument.
103133         (argcasematch): Remove function.
103134         (__xargmatch_internal): Remove case_sensitive argument.
103135         (main): Use XARGMATCH instead of XARGCASEMATCH.
103136
103137         * lib/xmalloc.c: Change compile-time error message. Add comment about
103138         required autoconf version.
103139
103140 2002-11-20  Paul Eggert  <eggert@twinsun.com>
103141
103142         Merge argmatch cleanups from Bison.  Assume C89.
103143
103144         * lib/argmatch.c: Include config.h here, not in argmatch.h.
103145         Include stdlib.h, for EXIT_FAILURE.
103146         Always include <string.h>, since we assume C89.
103147         (EXIT_FAILURE): Remove pre-C89 bug workaround.
103148         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
103149         Include <stddef.h> instead, since it's all we need for size_t.
103150         (PARAMS): Remove.  All uses removed.
103151         (ARRAY_CARDINALITY): Do not bother to #undef.
103152         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
103153         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
103154         Remove unnecessary parentheses.
103155         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
103156         Insert necessary parentheses.
103157         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
103158         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
103159
103160 2002-11-19  Bruno Haible  <bruno@clisp.org>
103161
103162         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
103163         * lib/mbswidth.h: Include <stddef.h>, for size_t.
103164
103165         * lib/mbswidth.h (PARAMS): Remove macro.
103166         (mbswidth, mbsnwidth): Use ANSI C function declarations.
103167         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
103168
103169         * lib/gcd.h (PARAMS): Remove macro.
103170         (gcd): Use ANSI C function declarations.
103171         * lib/gcd.c (gcd): Likewise.
103172
103173 2002-11-15  Bruno Haible  <bruno@clisp.org>
103174
103175         * lib/strcspn.c: Include <stddef.h>.
103176         (strcspn): Use ANSI C function declaration. Change return type to
103177         size_t. Use NULL.
103178         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
103179         (strpbrk): Use NULL.
103180         * lib/strpbrk.h (PARAMS): Remove macro.
103181         (strpbrk): Use ANSI C function declaration.
103182         * lib/strstr.c: Don't include <sys/types.h>.
103183         * lib/strstr.h (PARAMS): Remove macro.
103184         (strstr): Use ANSI C function declarations.
103185
103186 2002-11-14  Karl Berry  <karl@gnu.org>
103187
103188         * config/mkinstalldirs: `do' on separate line, instead of
103189         `for var; do'.
103190
103191 2002-11-06  Bruno Haible  <bruno@clisp.org>
103192
103193         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
103194         * lib/gcd.c (gcd): Likewise.
103195
103196 2002-11-05  Bruno Haible  <bruno@clisp.org>
103197
103198         * lib/gcd.h: New file, from gettext-0.11.5.
103199         * lib/gcd.c: New file, from gettext-0.11.5.
103200
103201 2002-11-05  Bruno Haible  <bruno@clisp.org>
103202
103203         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
103204         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
103205         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
103206         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
103207
103208         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
103209         <libintl.h>.
103210         * lib/makepath.c: Include gettext.h instead of <locale.h> and
103211         <libintl.h>.
103212
103213         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
103214         * lib/human.c: Include gettext.h instead of <libintl.h>.
103215         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
103216         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
103217         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
103218         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
103219         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
103220         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
103221         (textdomain): Remove definition.
103222         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
103223
103224         * lib/long-options.c: Remove include of <libintl.h> and definition of
103225         _.
103226         * lib/same.c: Remove include of <libintl.h> and definition of _.
103227
103228 2002-11-04  Owen Taylor  <otaylor@redhat.com>
103229
103230         * lib/config.charset: A few additions for Solaris.
103231
103232 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
103233
103234         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
103235         * lib/localcharset.c (locale_charset): Declare as extern "C".
103236
103237 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
103238
103239         * lib/config.charset: msdos in uk_UA uses CP1125.
103240
103241 2002-11-04  Bruno Haible  <bruno@clisp.org>
103242
103243         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
103244         * lib/strcase.h: New file, from GNU gettext-0.11.5.
103245         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
103246         * lib/strstr.h: New file, from GNU gettext-0.11.5.
103247         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
103248
103249 2002-11-04  Bruno Haible  <bruno@clisp.org>
103250
103251         * lib/localcharset.c (locale_charset): Don't return an empty string.
103252
103253 2002-11-04  Bruno Haible  <bruno@clisp.org>
103254
103255         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
103256         aliases.
103257
103258 2002-11-04  Bruno Haible  <bruno@clisp.org>
103259
103260         * lib/config.charset: Update for newest glibc. Add canonical names
103261         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
103262
103263 2002-11-04  Bruno Haible  <bruno@clisp.org>
103264
103265         * lib/config.charset: Add support for NetBSD.
103266
103267 2002-11-04  Bruno Haible  <bruno@clisp.org>
103268
103269         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
103270
103271 2002-11-01  Bruno Haible  <bruno@clisp.org>
103272
103273         * configure.in: Add AC_CONFIG_AUX_DIR call.
103274         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
103275         test/Makefile.
103276         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
103277
103278 2002-09-28  Karl Berry  <karl@gnu.org>
103279
103280         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
103281         installed automake until the next release, since changes have been
103282         made.
103283
103284 2002-09-25  Karl Berry  <karl@gnu.org>
103285
103286         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
103287         * lib/getopt*: copy from libc/posix.
103288         * lib/gettext.h: copy from gettext.
103289         * lib/.cppi-disable: add strdup.c, gettext.h.
103290
103291 2002-09-25  Karl Berry  <karl@gnu.org>
103292
103293         * config/srclist.txt: enable gettext.h check.
103294         * config/config.{guess,sub}: update from prep.
103295         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
103296                 from automake 1.6.3.
103297         See srclist*.
103298
103299 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
103300
103301         * regex.c (PATFETCH): Remove the translating fetch.
103302         (PATFETCH_RAW): Rename to PATFETCH.
103303         (set_image_of_range): New fun.
103304         (SET_RANGE_TABLE_WORK_AREA): Use it.
103305         (regex_compile): Don't translate the pattern chars so eagerly.
103306         Only do it when inserting an `exactn' bytecode or when handling
103307         a char-range.
103308         (mutually_exclusive_p): Avoid empty statement.
103309
103310 2002-07-06  Jim Meyering  <meyering@lucent.com>
103311
103312         * m4/README: Don't mention Makefile.am.in.
103313         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
103314
103315 2002-07-01  Jim Meyering  <meyering@lucent.com>
103316
103317         * lib/c-stack.c: Include sys/time.h.
103318         From Volker Borchert.
103319
103320 2002-06-26  Paul Eggert  <eggert@twinsun.com>
103321
103322         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
103323
103324 2002-06-26  Paul Eggert  <eggert@twinsun.com>
103325
103326         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
103327         New macro.  Use it uniformly instead of
103328         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
103329         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
103330         reported by Vin Shelton.
103331
103332 2002-06-22  Paul Eggert  <eggert@twinsun.com>
103333
103334         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
103335         Do not assume SA_SIGINFO behavior.
103336         Bug reported by Jim Meyering on NetBSD 1.5.2.
103337
103338 2002-06-22  Jim Meyering  <meyering@lucent.com>
103339
103340         * m4/c-stack.m4: New file, from diffutils-2.8.2.
103341         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
103342
103343         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
103344         now that configure.ac uses AC_GNU_SOURCE.
103345         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
103346         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
103347
103348         Update to latest tools.  Suggestions from Paul Eggert.
103349         * m4/stdbool.m4: New file, from diffutils-2.8.2.
103350         * m4/gnu-source.m4: Update from diffutils-2.8.2.
103351         * m4/fnmatch.m4: Likewise.
103352         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
103353         to AC_HEADER_STDBOOL
103354
103355 2002-06-22  Jim Meyering  <meyering@lucent.com>
103356
103357         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
103358         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
103359
103360 2002-06-22  Jim Meyering  <meyering@lucent.com>
103361
103362         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
103363
103364         * lib/exitfail.c, exitfail.h: Likewise.
103365         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
103366
103367         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
103368         of fnmatch.h.
103369         (EXTRA_DIST): Add fnmatch_loop.c.
103370         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
103371
103372         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
103373         * lib/fnmatch.c: Update from diffutils-2.8.2.
103374         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
103375         * lib/fnmatch.h: Remove file.
103376
103377 2002-06-21  Jim Meyering  <meyering@lucent.com>
103378
103379         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
103380         * m4/mbrtowc.m4: Likewise.
103381
103382         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
103383         * m4/mbswidth.m4: Reflect name change:
103384         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
103385         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
103386
103387         * m4/lib-link.m4: Update from gettext-0.11.2.
103388         * m4/gettext.m4: Likewise.
103389
103390         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
103391         From Alfred M. Szmidt.
103392
103393 2002-06-18  Paul Eggert  <eggert@twinsun.com>
103394
103395         * lib/file-type.h: Report an error if neither S_ISREG nor
103396         S_IFREG is defined, instead of using a test specific to glibc
103397         2.2.  This should be safe, since POSIX requires S_ISREG and
103398         Unix Version 7 had S_IFREG.  We don't need to check for
103399         <sys/types.h> since we don't use any symbols that it defines.
103400
103401 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
103402
103403         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
103404         $@-t, so that each temporary file name is unique and valid in the first
103405         8 characters, for operation under DOS.
103406
103407 2002-06-15  Paul Eggert  <eggert@twinsun.com>
103408
103409         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
103410
103411 2002-06-15  Jim Meyering  <meyering@lucent.com>
103412
103413         Work even with DJGPP 2.03, which lacks support for symlinks.
103414         From Richard Dawe.
103415         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
103416         is defined.
103417         * lib/lchown.c (S_ISLNK): Likewise.
103418
103419 2002-06-15  Jim Meyering  <meyering@lucent.com>
103420
103421         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
103422         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
103423         have been included before this file.
103424
103425 2002-06-14  Jim Meyering  <meyering@lucent.com>
103426
103427         * lib/file-type.h: Use the version from diffutils-2.8.2.
103428         * lib/file-type.c: Likewise.
103429
103430 2002-06-07  Jim Meyering  <meyering@lucent.com>
103431
103432         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
103433         They're needed at least for NetBSD 1.5.2.
103434         ($statxfs_includes): Include those same headers.
103435         ($statxfs_includes): Include sys/vfs.h if available.
103436         ($statxfs_includes): Likewise for sys/statvfs.h.
103437         Check for the following members in both structs statfs and statvfs:
103438         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
103439
103440 2002-06-01  Jim Meyering  <meyering@lucent.com>
103441
103442         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
103443         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
103444
103445 2002-05-28  Jim Meyering  <meyering@lucent.com>
103446
103447         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
103448         Reported by Volker Borchert.
103449
103450 2002-05-27  Jim Meyering  <meyering@lucent.com>
103451
103452         Fix a problem seen only on nonconforming systems whereby ls.c's
103453         use of localtime, and then of gettimeofday would cause trouble:
103454         the localtime call used to initialize rpl_gettimeofday's save
103455         mechanism would clobber ls's current local time information so
103456         that in any long listing the first file would always be listed
103457         with date 1970-01-01.  Analysis by Volker Borchert.
103458
103459         * lib/gettimeofday.c (localtime): Undefine.
103460         (rpl_localtime): New function.
103461
103462 2002-05-27  Jim Meyering  <meyering@lucent.com>
103463
103464         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
103465         localtime.
103466
103467         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
103468         use the replacement function; it wouldn't resolve at link time.
103469         Reported by Volker Borchert.
103470
103471 2002-05-22  Jim Meyering  <meyering@lucent.com>
103472
103473         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
103474         file-type.h.
103475         * lib/file-type.h: New file.
103476         * lib/file-type.c (file_type): New file/function.  Extracted from
103477         diffutils.
103478
103479 2002-04-30  Jim Meyering  <meyering@lucent.com>
103480
103481         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
103482
103483 2002-04-29  Paul Eggert  <eggert@twinsun.com>
103484
103485         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
103486
103487 2002-04-29  Paul Eggert  <eggert@twinsun.com>
103488
103489         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
103490         Do not check for alloca.h (no longer used) or stdbool.h (was never
103491         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
103492
103493 2002-04-29  Paul Eggert  <eggert@twinsun.com>
103494
103495         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
103496
103497 2002-04-29  Jim Meyering  <meyering@lucent.com>
103498
103499         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
103500         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
103501         Use AC_FUNC_STRNLEN here instead.
103502
103503         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
103504         With autoconf-2.53a, it's part of AC_PROG_CC.
103505
103506 2002-04-28  Paul Eggert  <eggert@twinsun.com>
103507
103508         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
103509         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
103510
103511 2002-04-28  Paul Eggert  <eggert@twinsun.com>
103512
103513         * lib/sig2str.h, lib/sig2str.c: New files.
103514         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
103515
103516 2002-04-28  Paul Eggert  <eggert@twinsun.com>
103517
103518         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
103519         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
103520         of 127, since 64 is the largest conceivable number for ancient
103521         nonstandard hosts.
103522         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
103523
103524 2002-04-28  Jim Meyering  <meyering@lucent.com>
103525
103526         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
103527
103528 2002-04-24  Jim Meyering  <meyering@lucent.com>
103529
103530         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
103531         (jm_PREREQ): Use it.
103532
103533         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
103534         mach/mach.h fcntl.h.
103535         Check for this function: setlocale.
103536
103537 2002-04-24  Jim Meyering  <meyering@lucent.com>
103538
103539         * lib/gettext.h: New file, from Gettext.
103540         * lib/Makefile.am (INCLUDES): Remove -I../intl.
103541         (libfetish_a_SOURCES): Add gettext.h.
103542
103543 2002-04-16  Jim Meyering  <meyering@lucent.com>
103544
103545         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
103546         ut_pid, ut_id, ut_exit.
103547
103548 2002-04-16  Jim Meyering  <meyering@lucent.com>
103549
103550         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
103551         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
103552         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
103553
103554 2002-04-12  Jim Meyering  <meyering@lucent.com>
103555
103556         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
103557         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
103558         existence of the getmntinfo function.  Needed for Darwin 5.3.
103559
103560         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
103561         This is necessary at least on Darwin 5.3.
103562
103563         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
103564         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
103565         strnlen.o in the library, and that makes some versions of ranlib
103566         object.
103567
103568 2002-04-12  Jim Meyering  <meyering@lucent.com>
103569
103570         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
103571
103572 2002-04-09  Jim Meyering  <meyering@lucent.com>
103573
103574         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
103575         to be more precise.  Rather than saying we're checking whether the
103576         function `works', say what we're testing.
103577         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
103578         Reported by Bruno Haible.
103579
103580 2002-03-10  Jim Meyering  <meyering@lucent.com>
103581
103582         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
103583         Suggestion from Santiago Vila.
103584
103585 2002-03-08  Jim Meyering  <meyering@lucent.com>
103586
103587         * lib/rename.c: Mention that this wrapper is needed also on
103588         mips-dec-ultrix4.4 systems.
103589
103590 2002-03-02  Jim Meyering  <meyering@lucent.com>
103591
103592         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
103593         not HAVE_CLOCK_SETTIME.
103594
103595 2002-02-27  Paul Eggert  <eggert@twinsun.com>
103596
103597         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
103598         Check for clock_settime.
103599
103600 2002-02-27  Paul Eggert  <eggert@twinsun.com>
103601
103602         * lib/nanosleep.h: Rename to....
103603         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
103604
103605         * lib/gettime.c: New file.
103606         * lib/settime.c: New file.
103607         * lib/stime.c: Remove.
103608
103609         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
103610         timespec.h.  Remove nanosleep.h.
103611
103612 2002-02-25  Paul Eggert  <eggert@twinsun.com>
103613
103614         * m4/acl.m4: New file.
103615         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
103616         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
103617
103618 2002-02-25  Paul Eggert  <eggert@twinsun.com>
103619
103620         * lib/acl.c, lib/acl.h: New files.
103621         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
103622
103623 2002-02-24  Jim Meyering  <meyering@lucent.com>
103624
103625         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
103626         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
103627         cause trouble.  Reported by Nelson Beebe.
103628
103629 2002-02-23  Paul Eggert  <eggert@twinsun.com>
103630
103631         * lib/path-concat.c (xpath_concat): Reorder code to pacify
103632         compilers that don't know that xalloc_die never returns.
103633
103634 2002-02-20  Jim Meyering  <meyering@lucent.com>
103635
103636         * lib/getdate.c: Regenerate using bison-1.33.
103637
103638 2002-02-17  Jim Meyering  <meyering@lucent.com>
103639
103640         * config/config.guess (main): Don't use `head -1'; it's no longer
103641         portable. Use `sed 1q' instead.
103642
103643 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
103644
103645         * m4/codeset.m4: Upgrade to gettext-0.11.
103646         * m4/gettext.m4: Upgrade to gettext-0.11.
103647         * m4/glibc21.m4: Upgrade to gettext-0.11.
103648         * m4/iconv.m4: Upgrade to gettext-0.11.
103649         * m4/isc-posix.m4: Upgrade to gettext-0.11.
103650         * m4/lcmessage.m4: Upgrade to gettext-0.11.
103651         * m4/lib-ld.m4: New file, from gettext-0.11.
103652         * m4/lib-link.m4: New file, from gettext-0.11.
103653         * m4/lib-prefix.m4: New file, from gettext-0.11.
103654         * m4/progtest.m4: Upgrade to gettext-0.11.
103655
103656 2002-02-15  Paul Eggert  <eggert@twinsun.com>
103657
103658         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
103659         (jm_PREREQ): Use it.
103660
103661 2002-02-15  Paul Eggert  <eggert@twinsun.com>
103662
103663         * lib/posixver.c, lib/posixver.h: New files.
103664         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
103665
103666 2002-02-02  Paul Eggert  <eggert@twinsun.com>
103667             Bruno Haible  <bruno@clisp.org>
103668
103669         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
103670         (fwrite_success_callback): New declaration.
103671         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
103672         print_unicode_char. Call failure callback instead of error.
103673         (fwrite_success_callback): New function.
103674         (exit_failure_callback): New function.
103675         (fallback_failure_callback): New function.
103676         (print_unicode_char): Call unicode_to_mb.
103677
103678 2002-01-26  Jim Meyering  <meyering@lucent.com>
103679
103680         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
103681         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
103682
103683 2002-01-26  Jim Meyering  <meyering@lucent.com>
103684
103685         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
103686
103687 2002-01-22  Paul Eggert  <eggert@twinsun.com>
103688
103689         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
103690
103691 2002-01-22  Jim Meyering  <meyering@lucent.com>
103692
103693         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
103694         Otherwise, some versions of automake would omit the rule that makes
103695         Makefile from Makefile.in.
103696
103697 2002-01-21  Paul Eggert  <eggert@twinsun.com>
103698
103699         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
103700         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
103701         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
103702         (memcoll): Set errno to zero if there is no error.
103703
103704         * lib/quotearg.c (quotearg_buffer_restyled):
103705         Fix bug with quoting buffers containing NUL when backslashing escapes.
103706         This bug was exposed by the other changes in this patch.
103707         (quotearg_n_options): New arg ARGSIZE.
103708         All callers changed.
103709         (quoting_options_from_style): New function.
103710         (quotearg_n_style): Use it.
103711         (quotearg_n_style_mem): New function.
103712
103713         * lib/quotearg.h (quotearg_n_style_mem): New function.
103714
103715 2002-01-19  Jim Meyering  <meyering@lucent.com>
103716
103717         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
103718         Remove useless quotes: DF_PROG="df".
103719         * m4/strnlen.m4: New file.
103720
103721 2002-01-16  Paul Eggert  <eggert@twinsun.com>
103722
103723         * lib/backupfile.c (ISDIGIT): Comment fix.
103724         * lib/getdate.y (ISDIGIT): Likewise.
103725         * lib/posixtm.c (ISDIGIT, year): Likewise.
103726         * lib/strverscmp.c (ISDIGIT): Likewise.
103727         * lib/userspec.c (ISDIGIT): Likewise.
103728
103729 2002-01-16  Jim Meyering  <meyering@lucent.com>
103730
103731         * lib/getdate.y: Add three semicolons, each just before a closing
103732         brace. Bison (as of version 1.31) no longer papers over that mistake.
103733
103734 2002-01-05  Jim Meyering  <meyering@lucent.com>
103735
103736         * lib/version-etc.c (version_etc_copyright): Update copyright year.
103737
103738 2001-12-19  Paul Eggert  <eggert@twinsun.com>
103739
103740         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
103741         not silently exit merely because the output buffer happens to
103742         have nothing pending.
103743
103744 2001-12-18  Paul Eggert  <eggert@twinsun.com>
103745
103746         See the big note in ../ChangeLog.
103747         * lib/human.c (suffixes): Prefer K to k for 1024.
103748         (generate_suffix_backwards): New function.
103749         (human_readable_inexact): Use it.
103750         * lib/xstrtol.c (__xstrtol): If there is no number but there
103751         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
103752         Accept 'K' as well as 'k'.
103753
103754 2001-12-15  Jim Meyering  <meyering@lucent.com>
103755
103756         * lib/regex.h (__restrict_arr): Update from libc.
103757
103758         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
103759         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
103760         (STREQ): Define.
103761
103762 2001-12-14  Jim Meyering  <meyering@lucent.com>
103763
103764         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
103765         Suggestion from Bruno Haible.
103766
103767 2001-12-10  Jim Meyering  <meyering@lucent.com>
103768
103769         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
103770         xrealloc, Instead, include "xalloc.h".
103771         (initbuffer): Don't cast xmalloc return value to char*.
103772         (readline): Reword comment.
103773         Don't cast xrealloc return value to char*
103774         Return NULL, not 0.
103775
103776 2001-12-09  Jim Meyering  <meyering@lucent.com>
103777
103778         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
103779         about `signed and unsigned type in conditional expression'.
103780         * lib/posixtm.c (posix_time_parse): Likewise.
103781
103782         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
103783
103784         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
103785         to avoid a pedantic warning.
103786
103787         * lib/getstr.c: Don't include assert.h.
103788         (getstr): Remove warning-evoking assertions.
103789         Return -1 if offset parameter is out of bounds.
103790         Change the type of a local from int to size_t.
103791
103792         * lib/strftime.c (my_strftime_localtime_r): Include this function
103793         definition in the `#if ! HAVE_TM_GMTOFF' block.
103794
103795         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
103796         Include xalloc.h instead.
103797
103798 2001-12-02  Jim Meyering  <meyering@lucent.com>
103799
103800         * lib/tempname.c: Don't declare getenv, thus reverting the change of
103801         2001-11-18.  It's no longer necessary, now that stdlib.h is always
103802         included.
103803
103804         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
103805         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
103806
103807 2001-11-30  Akim Demaille  <akim@epita.fr>
103808
103809         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
103810         before being defined.
103811
103812 2001-11-27  Paul Eggert  <eggert@twinsun.com>
103813
103814         * lib/quotearg.h (quotearg_n, quotearg_n_style):
103815         First arg is int, not unsigned.
103816         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
103817         (SIZE_MAX, UINT_MAX): New macros.
103818         (quotearg_n_options): Abort if N is negative.
103819         Avoid overflow check on hosts where size_t is 64 bits and int
103820         is 32 bits, as overflow is impossible there.
103821         Fix off-by-one typo that caused unnecessary reallocation.
103822
103823 2001-11-27  Jim Meyering  <meyering@lucent.com>
103824
103825         * lib/tempname.c: Merge with version from libc.
103826         * lib/regex.c: Likewise.
103827
103828         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
103829         systems for which STDC_HEADERS is 0, it was not included, resulting in
103830         a warning about an integer-to-pointer conversion problem with getenv.
103831         Reported by Volker Borchert.
103832
103833 2001-11-26  Jim Meyering  <meyering@lucent.com>
103834
103835         * lib/gtod.h: Remove file.
103836         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
103837         * lib/gettimeofday.c: Don't include gtod.h.
103838         (GTOD_init): Remove function.
103839         (rpl_gettimeofday): Do its job here instead, rather than aborting.
103840         Suggestion from Volker Borchert.
103841
103842 2001-11-23  Jim Meyering  <meyering@lucent.com>
103843
103844         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
103845         it.
103846         * lib/hash.c (struct hash_table): Define it here instead.
103847
103848 2001-11-22  Jim Meyering  <meyering@lucent.com>
103849
103850         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
103851
103852 2001-11-20  Jim Meyering  <meyering@lucent.com>
103853
103854         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
103855         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
103856
103857 2001-11-19  Jim Meyering  <meyering@lucent.com>
103858
103859         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
103860         directory.  Use "conftestXXXXXX" as the template.
103861         Suggestion from Paul Eggert.
103862
103863         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
103864         immediately, so the test doesn't mistakenly hit the max-open-files
103865         limit.
103866
103867 2001-11-18  Paul Eggert  <eggert@twinsun.com>
103868
103869         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
103870         (TEMPORARIES): New macro.
103871         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
103872         removes an artificial limitation (e.g. HP-UX 10.20, where
103873         TMP_MAX is 17576).
103874
103875 2001-11-18  Jim Meyering  <meyering@lucent.com>
103876
103877         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
103878
103879 2001-11-18  Jim Meyering  <meyering@lucent.com>
103880
103881         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
103882         on SunOS 4.
103883
103884         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
103885         files will be created before anything else.
103886
103887 2001-11-17  Paul Eggert  <eggert@twinsun.com>
103888
103889         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
103890         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
103891
103892 2001-11-17  Jim Meyering  <meyering@lucent.com>
103893
103894         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
103895         Prompted by a report from Bob Proulx.
103896
103897         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
103898         Instead, require UTILS_FUNC_MKSTEMP.
103899
103900 2001-11-17  Jim Meyering  <meyering@lucent.com>
103901
103902         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
103903         Now, that's done as part of AC_FUNC_STRTOD.
103904
103905 2001-11-17  Jim Meyering  <meyering@lucent.com>
103906
103907         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
103908         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
103909         rather than group writable.  Patch by Juan F. Codagnone.
103910
103911         * lib/readtokens.c: Remove explicit declarations of xmalloc and
103912         xrealloc, Instead, include "xalloc.h".
103913
103914         * lib/mountlist.c: Include unlocked-io.h after all system headers.
103915         Remove explicit declarations of xmalloc, xrealloc,
103916         and xstrdup.  Instead, include "xalloc.h".
103917
103918         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
103919         unlocked-io.h.
103920         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
103921         Likewise.
103922         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
103923
103924         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
103925         Reported by Padraig Brady.
103926
103927         * lib/mkstemp.c: #undef mkstemp.
103928         Include config.h.
103929         (rpl_mkstemp): Rename from mkstemp.
103930         Protoize.
103931
103932 2001-11-16  Jim Meyering  <meyering@lucent.com>
103933
103934         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
103935         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
103936         determine the amount of total physical memory, use pstat_getstatic.
103937         HPUX-11 doesn't define _SC_PHYS_PAGES.
103938         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
103939         If sysconf couldn't be used to determine the amount of available
103940         physical memory, use both pstat_getstatic and pstat_getdynamic.
103941         Based on a patch from Bob Proulx.
103942
103943 2001-11-10  Jim Meyering  <meyering@lucent.com>
103944
103945         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
103946         (jm_PREREQ): Use it.
103947
103948 2001-11-09  Jim Meyering  <meyering@lucent.com>
103949
103950         * m4/jm-macros.m4: Require autoconf-2.52f.
103951         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
103952         Use these AC_-prefixed names, not the AM_-prefixed ones.
103953
103954         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
103955
103956 2001-11-05  Jim Meyering  <meyering@lucent.com>
103957
103958         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
103959
103960 2001-11-04  Jim Meyering  <meyering@lucent.com>
103961
103962         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
103963         $DEFS.
103964
103965 2001-11-03  Jim Meyering  <meyering@lucent.com>
103966
103967         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
103968         of AC_DEFUN.
103969
103970         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
103971         know the name of the variable in the macro definition.
103972
103973 2001-11-03  Jim Meyering  <meyering@lucent.com>
103974
103975         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
103976         in argmatch_to_argument call.
103977
103978         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
103979         argument.
103980
103981         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
103982         e.g., a fault due to an attempt to free a NULL pointer.
103983
103984 2001-11-01  Jim Meyering  <meyering@lucent.com>
103985
103986         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
103987         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
103988
103989 2001-11-01  Jim Meyering  <meyering@lucent.com>
103990
103991         * lib/dirfd.c, lib/dirfd.h: New files.
103992         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
103993
103994         * lib/hash.c (hash_print) [TESTING]: Clean up.
103995
103996 2001-10-22  Paul Eggert  <eggert@twinsun.com>
103997
103998         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
103999         to avoid a warning if -Wall.
104000
104001 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
104002
104003         * README: New file
104004         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
104005         (per RMS's instructions, this is now the canonical source)
104006         * lgpl/, gpl/: New directories.
104007
104008 2001-10-21  Paul Eggert  <eggert@twinsun.com>
104009
104010         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
104011
104012 2001-10-21  Jim Meyering  <meyering@lucent.com>
104013
104014         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
104015         this code would end up calling gettext even in packages built
104016         with --disable-nls.
104017         * lib/getopt.c (_): Likewise.
104018         * lib/regex.c (_): Likewise.
104019
104020 2001-10-20  Paul Eggert  <eggert@twinsun.com>
104021
104022         * m4/error.m4 (jm_PREREQ_ERROR):
104023         Do not invoke AC_CHECK_FUNCS with strerror_r, as
104024         AC_FUNC_STRERROR_R does that.
104025         Check for strerror declaration.
104026
104027         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
104028         are supposed to have them these days.
104029         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
104030         Merge changes from latest Autoconf CVS.
104031         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
104032         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
104033         POSIX decided to standardize on the int flavor of strerror_r.
104034
104035 2001-10-20  Paul Eggert  <eggert@twinsun.com>
104036
104037         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
104038         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
104039         Use strerror_r that is only a macro, even if it is not a function.
104040         (strerror): Check for HAVE_DECL_STRERROR before declaring.
104041         (private_strerror): Use prototypes, not old-style function definition.
104042         (print_errno_message): New function.
104043         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
104044         char*-flavored one.
104045         (error_tail, error, error_at_line): Use it.
104046
104047 2001-10-11  Jim Meyering  <meyering@lucent.com>
104048
104049         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
104050         and quote_n (1, ... to avoid clobbering a buffer.
104051
104052 2001-10-05  Jim Meyering  <meyering@lucent.com>
104053
104054         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
104055         hash-pjw.h.
104056         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
104057         * lib/hash-pjw.h: New file.
104058
104059 2001-09-30  Jim Meyering  <meyering@lucent.com>
104060
104061         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
104062         `struct fsstat' has the `f_fstypename' member.
104063         Use that to define FS_TYPE, which is now used to make
104064         the getfsstat link test tighter.
104065
104066 2001-09-30  Jim Meyering  <meyering@lucent.com>
104067
104068         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
104069         Include <sys/ucred.h>, for Apple Darwin.
104070         Include sys/mount.h and sys/fs_types.h only if available.
104071         (FS_TYPE): Define.
104072         (read_filesystem_list): Use FS_TYPE.
104073
104074 2001-09-29  Paul Eggert  <eggert@twinsun.com>
104075
104076         * lib/exclude.c (excluded_filename): 0 -> false, since it's
104077         a boolean context.
104078
104079 2001-09-29  Jim Meyering  <meyering@lucent.com>
104080
104081         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
104082         [one-argument getmntent function]): Include stdio.h before mntent.h.
104083         SunOS 4.1.x needs it for the declaration of `FILE'.
104084         Patch by Volker Borchert.
104085
104086         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
104087         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
104088         sys/fs_types.h, and make the link-test for getfsstat guard #include
104089         directives with appropriate #if HAVE_*_H tests so that we can
104090         detect getfsstat on Apple Darwin1.3.7 systems.
104091         Reported by Nelson Beebe.
104092         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
104093
104094 2001-09-28  Paul Eggert  <eggert@twinsun.com>
104095
104096         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
104097         #defines strtoimax.  Also treat the other strto* functions
104098         like strtoimax.
104099
104100         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
104101         Check for strtoul and strtoumax,
104102         as those declarations are made even in the signed case.
104103         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
104104         Likewise, for strtol and strtoimax.
104105
104106 2001-09-28  Paul Eggert  <eggert@twinsun.com>
104107
104108         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
104109         #defines strtoimax.  Also treat the other strto* functions
104110         like strtoimax.
104111
104112         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
104113         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
104114         (strtoimax, strtoumax): Do not declare if already defined as a macro.
104115
104116 2001-09-26  Jim Meyering  <meyering@lucent.com>
104117
104118         Most macros in unlocked-io.h had the wrong number of arguments.
104119         * lib/gen-uio: New script.
104120         (USE_UNLOCKED_IO): Define to 1 if not already defined.
104121         * lib/unlocked-io.hin: Remove file.
104122         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
104123         rather than trying to embed it here.
104124         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
104125         Reported by Padraig Brady.
104126
104127 2001-09-25  Volker Borchert  <bt@teknon.de>
104128
104129         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
104130         `result'.
104131
104132 2001-09-24  Jim Meyering  <meyering@lucent.com>
104133
104134         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
104135
104136 2001-09-23  Jim Meyering  <meyering@lucent.com>
104137
104138         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
104139         instead of the mere test for existence of mntent.h.  The latter
104140         would get a false-positive on AIX 3.4 systems.
104141         In the outer getmntent if-block, don't die if neither of the getmntent
104142         tests succeeds.  Instead, just fall through and continue with the
104143         remaining tests.
104144
104145 2001-09-23  Jim Meyering  <meyering@lucent.com>
104146
104147         * lib/mountlist.c: Remove useless parentheses in #if directives.
104148         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
104149         the deprecated MOUNTED symbol is no longer defined in mntent.h.
104150
104151 2001-09-22  Jim Meyering  <meyering@lucent.com>
104152
104153         * m4/gettext.m4: New file.  From gettext.
104154         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
104155         * m4/progtest.m4: Likewise
104156         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
104157         * m4/glibc21.m4: Likewise.
104158
104159         * m4/libintl.m4: Remove.  No longer used.
104160
104161 2001-09-22  Jim Meyering  <meyering@lucent.com>
104162
104163         * lib/localcharset.c: Update from latest gettext.
104164         * lib/config.charset: Likewise.
104165
104166 2001-09-20  Jim Meyering  <meyering@lucent.com>
104167
104168         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
104169         strtoimax.
104170         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
104171         strtoumax.
104172
104173 2001-09-20  Jim Meyering  <meyering@lucent.com>
104174
104175         * lib/xstrtol.c (strtoimax): Guard declaration with
104176         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
104177         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
104178         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
104179         (strtoumax): Likewise, for completeness (it wasn't necessary).
104180
104181 2001-09-17  Paul Eggert  <eggert@twinsun.com>
104182
104183         * lib/strtoimax.c (HAVE_LONG_LONG):
104184         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
104185         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
104186         to work around bug in IBM C compiler.
104187
104188 2001-09-17  Jim Meyering  <meyering@lucent.com>
104189
104190         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
104191         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
104192         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
104193         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
104194         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
104195         whenever the right hand side need not be expanded by the shell.
104196
104197 2001-09-16  Paul Eggert  <eggert@twinsun.com>
104198
104199         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
104200         library.  It's not correct, as some older glibcs are buggy.
104201         fnmatch wasn't fixed until glibc 2.2.
104202
104203         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
104204         special shell magic here.
104205
104206 2001-09-16  Jim Meyering  <meyering@lucent.com>
104207
104208         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
104209         * m4/jm-macros.m4: Require it.
104210
104211 2001-09-16  Jim Meyering  <meyering@lucent.com>
104212
104213         * lib/mkdir.c: New file.
104214
104215 2001-09-15  Jim Meyering  <meyering@lucent.com>
104216
104217         * m4/jm-macros.m4: Check for help2man.
104218
104219 2001-09-11  Jim Meyering  <meyering@lucent.com>
104220
104221         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
104222         The body, by Paul Eggert, was moved here from configure.in.
104223         * m4/jm-macros.m4: Require UTILS_HOST_OS.
104224
104225 2001-09-04  Paul Eggert  <eggert@twinsun.com>
104226
104227         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
104228         (jm_PREREQ): Use it.
104229
104230 2001-09-04  Paul Eggert  <eggert@twinsun.com>
104231
104232         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
104233         Use ssize_t, not int, to store result of readlink.
104234         Check for ssize_t overflow as well as size_t overflow,
104235         as POSIX says the result of readlink is implementation-defined
104236         when ssize_t overflows.
104237         Remove unnecessary cast to char*.
104238         Use free+malloc instead of realloc, as the storage doesn't need
104239         to be preserved and it's clearer and can be more efficient that way.
104240         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
104241         * lib/xreadlink.h (xreadlink): Update prototype.
104242
104243 2001-09-04  Paul Eggert  <eggert@twinsun.com>
104244
104245         * lib/xgetcwd.c: Revert some of the previous change; intead,
104246         fix the HAVE_GETCWD_NULL code to behave more like the
104247         !HAVE_GETCWD_NULL code used to.
104248
104249         Include "xalloc.h".
104250         (xgetcwd): Do not return NULL when memory is exhausted; instead,
104251         invoke xalloc_die.
104252
104253 2001-09-03  Paul Eggert  <eggert@twinsun.com>
104254
104255         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
104256         sys/param.h, as pathmax.h includes them.
104257
104258 2001-09-03  Paul Eggert  <eggert@twinsun.com>
104259
104260         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
104261         (jm_PREREQ_XGETCWD): New macro.
104262
104263         * m4/getcwd.m4: New file.
104264
104265 2001-09-03  Paul Eggert  <eggert@twinsun.com>
104266
104267         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
104268         like the HAVE_GETCWD_NULL code.
104269         Include pathmax.h if not HAVE_GETCWD.
104270         Do not include xalloc.h.
104271         (INITIAL_BUFFER_SIZE): New symbol.
104272         Do not use xmalloc / xrealloc, since the caller is responsible for
104273         handling errors.  Preserve errno around `free' during failure.
104274         Do not overrun buffer when using getwd.
104275
104276 2001-09-03  Paul Eggert  <eggert@twinsun.com>
104277
104278         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
104279         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
104280         getcwd (NULL, 0).
104281
104282 2001-09-03  Paul Eggert  <eggert@twinsun.com>
104283
104284         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
104285         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
104286         spotted by Jim Meyering.
104287
104288 2001-09-03  Jim Meyering  <meyering@lucent.com>
104289
104290         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
104291         failure.
104292
104293 2001-09-02  Jim Meyering  <meyering@lucent.com>
104294
104295         * lib/error.c: Update from GNU libc.
104296
104297 2001-09-01  Jim Meyering  <meyering@lucent.com>
104298
104299         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
104300         Used by df.
104301
104302 2001-09-01  Jim Meyering  <meyering@lucent.com>
104303
104304         * lib/xreadlink.c: New file.
104305         * lib/xreadlink.h: New file.
104306         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
104307         xreadlink.h.
104308
104309         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
104310         doesn't conflict with sparc Solaris 7's definition in
104311         /usr/include/sys/int_types.h.
104312
104313         * lib/exclude.c: Use `""', not `<>' to #include non-system header
104314         files.
104315         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
104316         and strncasecmp as r-values.  Unixware didn't have declarations.
104317
104318 2001-08-31  Paul Eggert  <eggert@twinsun.com>
104319
104320         * lib/xstrtol.h: Add copyright notice.
104321         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
104322         LONGINT_INVALID_SUFFIX_CHAR.
104323
104324 2001-08-31  Paul Eggert  <eggert@twinsun.com>
104325
104326         * lib/xstrtol.c (strtoimax): New decl.
104327
104328 2001-08-31  Paul Eggert  <eggert@twinsun.com>
104329
104330         * lib/xgetcwd.c: Don't include pathmax.h.
104331         Include stdlib.h and unistd.h if available.
104332         Include xalloc.h.
104333         (xmalloc, xstrdup, free): Remove decls.
104334         (xgetcwd): Don't assume sizes fit in unsigned.
104335         Check for overflow when computing sizes.
104336         Simplify reallocation code.
104337
104338 2001-08-31  Paul Eggert  <eggert@twinsun.com>
104339
104340         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
104341         a directory's st_size can have an arbitrary value, so the old
104342         usage could waste an arbitrary amount of memory.  All uses
104343         changed.
104344         * lib/savedir.h: Update prototype.
104345
104346 2001-08-31  Paul Eggert  <eggert@twinsun.com>
104347
104348         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
104349
104350         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
104351         old strtoimax.c.
104352
104353         Also, make the following further changes to make this file's
104354         configuration more similar to that of strtol.c:
104355         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
104356         (strtoumax, uintmax_t, strtoull, strtol): Remove.
104357         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
104358         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
104359         changed to signed values.
104360
104361         And make the following changes as well:
104362         Fix copyright notice, as 1999 was missing.
104363         (verify): New macro.
104364         (strtoimax): Check sizes at compile-time, not run-time.
104365         Prefer strtol to strtoll if both work.
104366         (main): Remove; it was not that useful and was a pain to maintain.
104367
104368         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
104369
104370 2001-08-31  Jim Meyering  <meyering@lucent.com>
104371
104372         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
104373         Use an initial, malloc'd, buffer of length 128 rather than
104374         a statically allocated one of length 1024.
104375
104376 2001-08-30  Paul Eggert  <eggert@twinsun.com>
104377
104378         Simplify code, partly by assuming autoconf 2.52 semantics.
104379
104380         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
104381
104382         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
104383         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
104384         All uses removed.
104385         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
104386         Move AC_REQUIRE to next-to-top level, to avoid confusion.
104387         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
104388         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
104389         jm_AC_HEADER_INTTYPES_H.
104390         * m4/jm-macros.m4 (jm_MACROS): Likewise.
104391
104392         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
104393
104394         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
104395         Quote first arg of AC_DEFUN.
104396         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
104397         since they are needed to parse the include file even if we need
104398         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
104399         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
104400         but with opposite signedness.
104401
104402 2001-08-30  Paul Eggert  <eggert@twinsun.com>
104403
104404         Merge 'exclude' changes from tar 1.13.22.
104405         This fixes one or two unlikely storage allocation overflow bugs,
104406         but doesn't change user-visible behavior otherwise.
104407
104408 2001-08-30  Paul Eggert  <eggert@twinsun.com>
104409
104410         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
104411         (jm_PREREQ_EXCLUDE): New macro.
104412
104413 2001-08-30  Paul Eggert  <eggert@twinsun.com>
104414
104415         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
104416         tm to be declared.
104417
104418 2001-08-30  Paul Eggert  <eggert@twinsun.com>
104419
104420         * lib/hash.c: Remove '2001' from copyright notice.
104421
104422 2001-08-30  Paul Eggert  <eggert@twinsun.com>
104423
104424         * lib/full-write.h: New file.
104425         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
104426         * lib/full-write.c: Correct credits, as cccp.c no longer
104427         exists and anyway it was so heavily changed from the old cccp
104428         code as to be unrecognizable.  Include full-write.h.
104429         (full_write): Return size_t, with short writes meaning failure.
104430         All callers changed.  This fixes a bug with large buffers
104431         on 64-bit hosts.
104432         * lib/utime.c: Include full-write.h.
104433
104434 2001-08-30  Paul Eggert  <eggert@twinsun.com>
104435
104436         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
104437         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
104438         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
104439         Include if available.
104440         (<xalloc.h>): Include
104441         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
104442         (verify): New macro.  Use it to verify that EXCLUDE macros do not
104443         collide with FNM macros.
104444         (struct patopts): New struct.
104445         (struct exclude): Use it, as exclude patterns now come with options.
104446         (new_exclude): Support above changes.
104447         (new_exclude, add_exclude_file):
104448         Initial size must now be a power of two to simplify overflow checking.
104449         (free_exclude, fnmatch_no_wildcards): New function.
104450         (excluded_filename): No longer requires options arg, as the options
104451         are determined by add_exclude.  Now returns bool, not int.
104452         (excluded_filename, add_exclude):
104453         Add support for the fancy new exclusion options.
104454         (add_exclude, add_exclude_file): Now takes int options arg.
104455         Check for arithmetic overflow when computing sizes.
104456         (add_exclude_file): xrealloc might modify errno, so don't
104457         realloc until after errno might be used.
104458
104459         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
104460         New macros.
104461         (free_exclude): New decl.
104462         (add_exclude, add_exclude_file): Now takes int options arg.
104463         (excluded_filename): No longer requires options arg, as the options
104464         are determined by add_exclude.  Now returns bool, not int.
104465
104466 2001-08-30  Paul Eggert  <eggert@twinsun.com>
104467
104468         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
104469
104470 2001-08-27  Jim Meyering  <meyering@lucent.com>
104471
104472         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
104473
104474         * lib/version-etc.c (N_): Remove definition.
104475         Revert most of last change.
104476         Instead, simply don't mark the `Copyright...' string for translation.
104477         Based on advice from Paul Eggert.
104478
104479         * lib/strtoxmax.c: Tweak comment.
104480
104481 2001-08-26  Jim Meyering  <meyering@lucent.com>
104482
104483         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
104484
104485         * m4/xstrtoimax.m4: New file.
104486         * m4/xstrtoumax.m4: Add comments explaining why we
104487         AC_REPLACE_FUNCS(strtol).
104488
104489 2001-08-26  Jim Meyering  <meyering@lucent.com>
104490
104491         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
104492         of copyright with `%s' so translators don't get an untranslated
104493         message in 2002.
104494         (COPYRIGHT_YEAR): Define.
104495         (version_etc): Use fprintf rather than fputs.
104496         Suggestion from Ulrich Drepper.
104497
104498         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
104499
104500         * lib/strtoll.c: New file, from GNU libc.
104501         * lib/xstrtoimax.c: New file.
104502
104503         * lib/xstrtol.h: Add xstrtoimax.
104504         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
104505         * lib/strtoimax.c: New file.  Likewise, but first define
104506         STRTOUXMAX_SIGNED.
104507
104508         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
104509         ...
104510         * lib/strtoxmax.c: ... then renamed to this.
104511
104512 2001-08-18  Paul Eggert  <eggert@twinsun.com>
104513
104514         * m4/inttypes.m4: Add AC_PREREQ(2.13).
104515         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
104516         (jm_AC_TYPE_INTMAX_T): New macro.
104517         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
104518
104519         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
104520
104521         * m4/longlong.m4: Renamed from ulonglong.m4.
104522         * m4/inttypes.m4: Renamed from inttypes_h.m4.
104523         * m4/uintmax_t.m4: Removed.
104524
104525 2001-08-13  Paul Eggert  <eggert@twinsun.com>
104526
104527         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
104528         Port to Solaris 8, where 'sed' requires a space after the 'r'
104529         command, and where sh dislikes "$/".  Clean up the spacing a bit.
104530         Redirect output to $tmp just once.
104531
104532 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
104533
104534         * lib/addext.c (<errno.h>): Include.
104535         (errno): Declare if not defined.
104536         (addext): Work correctly when pathconf returns -1 and leaves
104537         errno alone because there is no limit.  Also, work even if
104538         pathconf returns a value greater than SIZE_MAX.
104539
104540 2001-08-12  Jim Meyering  <meyering@lucent.com>
104541
104542         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
104543         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
104544         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
104545         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
104546         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
104547         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
104548         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
104549         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
104550         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
104551         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
104552         utime.m4, utimes.m4, xstrtoumax.m4:
104553         Quote the first argument in each use of AC_DEFUN.
104554
104555 2001-08-12  Jim Meyering  <meyering@lucent.com>
104556
104557         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
104558         Simply `return getcwd (NULL, 0);'.
104559         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
104560         Use 1300 as initial value for length, not PATH_MAX.
104561
104562         * lib/pathmax.h: Clean up cpp syntax.
104563
104564 2001-08-12  Jim Meyering  <meyering@lucent.com>
104565
104566         * lib/gettimeofday.c: New file.
104567         * lib/gtod.h: New file.
104568         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
104569
104570 2001-08-05  Jim Meyering  <meyering@lucent.com>
104571
104572         * m4/jm-macros.m4: Require autoconf-2.52.
104573
104574 2001-08-04  Jim Meyering  <meyering@lucent.com>
104575
104576         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
104577         stmt, to get in sync with glibc.
104578
104579 2001-08-03  Paul Eggert  <eggert@twinsun.com>
104580
104581         The following changes are from gettext 0.10.39 as maintained by
104582         Bruno Haible.
104583
104584         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
104585         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
104586         with inverted sense.  All uses changed.
104587
104588         * lib/mbswidth.c: Don't include <limits.h>.
104589         Include <stdlib.h> and <string.h> unconditionally.
104590         (iswcntrl, mbsinit, ISCNTRL): New macros.
104591         (mbsnwidth): Use K&R style function declarations.
104592         Don't bother checking for MB_LEN_MAX == 1, since the compiler
104593         can optimize it when MB_CUR_MAX == 1.
104594         The width of control characters is zero, not 1.
104595
104596 2001-08-03  Paul Eggert  <eggert@twinsun.com>
104597
104598         The following changes are from gettext 0.10.39 as maintained by
104599         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
104600
104601         * m4/codeset.m4: Upgrade to serial AM1.
104602         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
104603         all uses changed.  Quote first arg of AC_DEFUN.
104604         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
104605
104606         * m4/iconv.m4: Upgrade to serial AM2.
104607         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
104608         Add --with-libconv-prefix.
104609         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
104610         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
104611         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
104612         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
104613         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
104614
104615         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
104616         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
104617         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
104618         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
104619         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
104620         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
104621         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
104622         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
104623         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
104624
104625         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
104626         string.h any more.
104627
104628         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
104629         not the default value.
104630
104631         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
104632         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
104633         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
104634         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
104635         Also check for iswcntrl, used for wcwidth fallback.
104636         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
104637         to Autoconf 2.13.
104638
104639 2001-08-03  Jim Meyering  <meyering@lucent.com>
104640
104641         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
104642         as it was in the original.  Reported by Paul Eggert.
104643
104644 2001-07-16  Jim Meyering  <meyering@lucent.com>
104645
104646         * m4/gettimeofday.m4: New file.
104647         Prompted by a report from Bernhard Baehr.
104648
104649 2001-07-15  Jim Meyering  <meyering@lucent.com>
104650
104651         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
104652         stuff. Now it's in ../Makefile.cfg.
104653
104654 2001-07-15  Jim Meyering  <meyering@lucent.com>
104655
104656         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
104657         (BUILT_SOURCES): Add unlocked-io.h.
104658         (io_functions): Define.
104659         (unlocked-io.h): New rule.
104660         (DISTCLEANFILES): Add unlocked-io.h.
104661         (all-local): Depend on unlocked-io.h, to ensure it is created.
104662
104663         * lib/unlocked-io.hin: New file
104664
104665         * lib/regex.c: Update from glibc.
104666
104667 2001-07-05  Jim Meyering  <meyering@lucent.com>
104668
104669         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
104670         recommendation.
104671         (libfetish_a_SOURCES): Put all .h files here instead.
104672         Remove a thus-exposed (better checks in automake) duplicate and
104673         two unnecessary .h files.
104674
104675 2001-07-04  Jim Meyering  <meyering@lucent.com>
104676
104677         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
104678         that generates jm-glibc-io.m4 so that it doesn't trigger any make
104679         distcheck failure.
104680
104681 2001-07-02  Jim Meyering  <meyering@lucent.com>
104682
104683         The following changes were prompted by suggestions from Bruno Haible.
104684
104685         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
104686         is now generated.
104687         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
104688         definition of EXTRA_DIST.
104689         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
104690         ensure that the generated file is created/updated whenever the list
104691         of $(unlocked_functions) is changed.
104692         (jm-glibc-io.m4): New rule.
104693         (unlocked-io.h): New rule -- currently unused.
104694
104695 2001-06-24  Jim Meyering  <meyering@lucent.com>
104696
104697         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
104698         unmatched right bracket, rather than kludging it with an extra,
104699         falsely-matching quote in a comment.  Patch by Akim Demaille.
104700
104701 2001-06-11  Jim Meyering  <meyering@lucent.com>
104702
104703         * lib/regex.c: Update from GNU libc.
104704
104705 2001-05-27  Jim Meyering  <meyering@lucent.com>
104706
104707         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
104708         Check for ut_type in struct utmp.
104709
104710 2001-05-27  Jim Meyering  <meyering@lucent.com>
104711
104712         * lib/readutmp.h (UT_TYPE): Define.
104713
104714 2001-05-24  Jim Meyering  <meyering@lucent.com>
104715
104716         * lib/argmatch.c: Include "quote.h".
104717         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
104718         quote function.  Reported by Göran Uddeborg.
104719
104720 2001-05-22  Jim Meyering  <meyering@lucent.com>
104721
104722         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
104723         now that we use the package-supplied version unconditionally.
104724         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
104725
104726 2001-05-21  Jim Meyering  <meyering@lucent.com>
104727
104728         * m4/regex.m4: Change a couple backticks to single quotes to avoid
104729         shell syntax errors.
104730
104731 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
104732
104733         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
104734
104735 2001-05-20  Paul Eggert  <eggert@twinsun.com>
104736
104737         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
104738         Don't bother to check library strftime, since
104739         we'll be using our own my_strftime function anyway.
104740         Define my_strftime instead of strftime.
104741
104742 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
104743
104744         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
104745         which is not yet declared.
104746
104747 2001-05-15  Jim Meyering  <meyering@lucent.com>
104748
104749         * m4/regex.m4: Use proper quoting so brackets appear in the test
104750         program.
104751         Reported by, and with help from, Bruno Haible.
104752
104753 2001-05-13  Jim Meyering  <meyering@lucent.com>
104754
104755         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
104756         undefined.
104757
104758 2001-05-11  Paul Eggert  <eggert@twinsun.com>
104759
104760         dirname code cleanup.  base_name now behaves more compatibly
104761         with POSIX basename when given file names that have trailing
104762         slashes, and similarly for dir_name.  Add new primitives
104763         base_len and dir_len.  Put the directory-name-related decls
104764         into dirname.h.
104765
104766         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
104767         * lib/backupfile.c (base_name): Likewise.
104768         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
104769         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
104770         * lib/makepath.c (strip_trailing_slashes): Likewise.
104771         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
104772         ISSLASH): Likewise.
104773         * lib/rename.c (strip_trailing_slashes): Likewise.
104774         * lib/same.c (base_name): Likewise.
104775         * lib/stripslash.c (ISSLASH): Likewise.
104776
104777         * lib/addext.c: Include <dirname.h> after size_t is defined.
104778         * lib/backupfile.c: Likewise.
104779
104780         * lib/addext.c (addext): Use base_len to trim redundant
104781         trailing slashes instead of doing it ourselves.
104782         But do not trim the last slash if it is not redundant.
104783
104784         * lib/backupfile.c (find_backup_file_name,
104785         max_backup_version): Use base_len instead of rolling it ourselves.
104786         Handle the case of "" and (on DOS) "C:" correctly.
104787
104788         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
104789         needed. Include <string.h>, <dirname.h>.
104790         (base_name): Allow file names ending in slashes, other than names
104791         that are all slashes.  In this case, return the basename followed
104792         by the slashes.  This is more general, and can be used in places
104793         where the original base_name purposely had an assertion failure.
104794         (base_len): New function.
104795
104796         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
104797         Do not include <assert.h>; no longer needed.
104798         Include xalloc.h.
104799         (memrchr): Remove decl.
104800         (dir_name_r): Remove.
104801         (dir_len): Renamed from dirlen.  All callers changed.
104802         Rewrite in terms of base_name, for simplicity and consistency.
104803         (dir_name): Never return NULL.  All callers changed.
104804         Do not include <stdlib.h> in test program; no longer needed.
104805         return 0; is fine for test program.
104806
104807         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
104808         New macros.
104809         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
104810
104811         * lib/path-concat.c (path_concat): Use base_len to compute
104812         base length, not strlen; this means we cannot rely on memcpy
104813         to null-terminate.
104814
104815         * lib/same.c (STREQ): Remove.
104816         (same_name): Handle the case where the basename ends in trailing '/'.
104817
104818         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
104819         a slash was stripped.  Do not strip the last slash after a
104820         file system prefix.
104821
104822 2001-05-11  Paul Eggert  <eggert@twinsun.com>
104823
104824         * lib/Makefile.am (libfetish_a_SOURCES):
104825         Add strftime.c, since we now compile it on all hosts.
104826
104827         * lib/strftime.c (my_strftime):
104828         Define to nstrftime if emacs, but only if my_strftime is not defined.
104829         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
104830         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
104831         Add one more extra argument: a nanoseconds value.
104832         All uses changed.
104833         (ns): New macro.
104834         (my_strftime function): Add %N format.
104835         (emacs_strftimeu): Renamed from emacs_strftime,
104836         with extra ut argument.
104837
104838 2001-05-09  Paul Eggert  <eggert@twinsun.com>
104839
104840         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
104841
104842 2001-04-21  Jim Meyering  <meyering@lucent.com>
104843
104844         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
104845         doesn't interfere.
104846
104847 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
104848
104849         * m4/ftruncate.m4: Check for chsize.
104850         Link with ftruncate.o unconditionally if ftruncate is missing.
104851         This was required when cross-compiling to i586-mingw32msvc.
104852
104853 2001-04-08  Jim Meyering  <meyering@lucent.com>
104854
104855         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
104856         recomputed; that's necessary when the offset spans a DST transition.
104857         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
104858
104859 2001-04-02  Jim Meyering  <meyering@lucent.com>
104860
104861         * lib/regex.h, regex.c: Update from GNU libc.
104862
104863 2001-03-24  Jim Meyering  <meyering@lucent.com>
104864
104865         * m4/jm-macros.m4: Require autoconf-2.49d.
104866
104867 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
104868
104869         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
104870
104871 2001-03-19  Paul Eggert  <eggert@twinsun.com>
104872
104873         * lib/version-etc.c (version_etc_copyright): Update to 2001.
104874
104875 2001-03-17  Jim Meyering  <meyering@lucent.com>
104876
104877         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
104878         now that the version in autoconf is equivalent.
104879         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
104880
104881         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
104882         Suggestion from Akim Demaille.
104883
104884         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
104885         (jm_PREREQ_TEMPNAME): New function.
104886
104887 2001-03-16  Paul Eggert  <eggert@twinsun.com>
104888
104889         * lib/tempname.c (uint64_t): Define to uintmax_t if
104890         not defined, and if UINT64_MAX is not defined.
104891         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
104892         Reported by John David Anglin.
104893
104894 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
104895
104896         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
104897         resolve alias if codeset is empty.
104898         * lib/config.charset (BeOS): Use wildcard syntax.
104899
104900 2001-03-13  Jim Meyering  <meyering@lucent.com>
104901
104902         * lib/path-concat.c (path_concat)
104903         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
104904         concatenating e.g., `C:' and `foo'.
104905         From Bruno Haible.
104906
104907 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
104908
104909         * lib/localcharset.c (locale_charset): Don't use
104910         setlocale(LC_CTYPE,NULL). Don't return NULL.
104911         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
104912
104913 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
104914
104915         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
104916         support for DOS/DJGPP.
104917
104918 2001-03-01  Paul Eggert  <eggert@twinsun.com>
104919
104920         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
104921         lacks mkstemp.  Compile our own tempname.c if we compile our own
104922         mkstemp.c, as mkstemp relies on tempname.
104923
104924 2001-03-01  Jim Meyering  <meyering@lucent.com>
104925
104926         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
104927         AH_VERBATIM really does output its argument verbatim.
104928
104929 2001-02-28  Paul Eggert  <eggert@twinsun.com>
104930
104931         * lib/Makefile.am (libfetish_a_SOURCES):
104932         Add dup-safer.c, fopen-safer.c.
104933         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
104934
104935         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
104936         * lib/unistd-safer.h: New files.
104937
104938 2001-02-25  Paul Eggert  <eggert@twinsun.com>
104939
104940         The mkstemp replacement is taken from glibc 2.2.2, with some
104941         portability fixes for use outside glibc, as follows:
104942
104943         * lib/tempname.c (struct_stat64): New macro.
104944         (direxists, __gen_tempname): Use it.
104945         This avoids a portability problem with Solaris 8.
104946
104947         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
104948         (<stddef.h>, <stdint.h>, <string.h>):
104949         Include only if STDC_HEADERS || _LIBC.
104950         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
104951         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
104952         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
104953         (__set_errno): Define this macro if <errno.h> doesn't.
104954         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
104955         Define these macros if <stdio.h> doesn't.
104956         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
104957         Define these macros if <sys/stat.h>
104958         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
104959         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
104960         __xstat64): Define if not _LIBC.
104961         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
104962         (__gen_tempname): Invoke gettimeofday only if
104963         HAVE_GETTIMEOFDAY || _LIBC;
104964         otherwise, fall back on plain "time".
104965         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
104966
104967         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
104968
104969         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
104970
104971 2001-02-18  Paul Eggert  <eggert@twinsun.com>
104972
104973         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
104974
104975 2001-02-17  Paul Eggert  <eggert@twinsun.com>
104976
104977         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
104978         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
104979         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
104980         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
104981
104982 2001-02-17  Paul Eggert  <eggert@twinsun.com>
104983
104984         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
104985         Remove workaround macros for hosts that have mbrtowc but not
104986         mbstate_t, as we now insist on proper declarations for both
104987         before using mbrtowc.
104988
104989 2001-02-17  Jim Meyering  <meyering@lucent.com>
104990
104991         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
104992         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
104993         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
104994         UnixWare 7.1.1.
104995
104996         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
104997         rather than AC_CACHE_VAL.
104998
104999 2001-02-17  Jim Meyering  <meyering@lucent.com>
105000
105001         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
105002         around included file name.
105003
105004         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
105005
105006         * lib/strftime.c: Update from GNU libc (the only changes were to
105007         comments).
105008
105009 2001-02-17  Jim Meyering  <meyering@lucent.com>
105010
105011         * lib/regex.c: Update from libc.
105012
105013 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
105014
105015         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
105016         clash.
105017
105018 2001-02-16  Paul Eggert  <eggert@twinsun.com>
105019
105020         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
105021         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
105022         Reported by Mark Hounschell via Paul Eggert.
105023
105024 2001-02-07  Jim Meyering  <meyering@lucent.com>
105025
105026         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
105027
105028 2001-02-05  Jim Meyering  <meyering@lucent.com>
105029
105030         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
105031         it includes the patch required for `large file' support with at least
105032         HP-UX's 10.20 /bin/cc.
105033
105034 2001-02-03  Jim Meyering  <meyering@lucent.com>
105035
105036         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
105037         AS_IF, now that it works once again (mysteriously).
105038         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
105039
105040 2001-01-30  Jim Meyering  <meyering@lucent.com>
105041
105042         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
105043         * m4/chown.m4: Rename conftestchown to conftest.chown.
105044         * m4/rename.m4: s/conftestdir/conftest.d1/ and
105045         s/conftestdir2/conftest.d2/.
105046         * m4/utimes.m4: s/conftestdata/conftest.data/
105047         Inspired by Pavel Roskin's change in autoconf.
105048
105049 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
105050
105051         * lib/config.charset: Update for FreeBSD 4.2.
105052
105053 2001-01-27  Jim Meyering  <meyering@lucent.com>
105054
105055         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
105056         a use of AS_IF.
105057         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
105058
105059 2001-01-26  Jim Meyering  <meyering@lucent.com>
105060
105061         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
105062         quotearg.c includes it.
105063
105064 2001-01-26  Jim Meyering  <meyering@lucent.com>
105065
105066         * lib/quotearg.c: Include stddef.h.
105067         * lib/quote.c: Include stddef.h.
105068         Reported by Axel Kittenberger.
105069
105070         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
105071         line in double quotes so that it evokes a better diagnostic.
105072         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
105073         Reported by Axel Kittenberger.
105074
105075 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
105076
105077         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
105078         as if it was a `charset'.
105079
105080 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
105081
105082         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
105083         has const.
105084
105085 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
105086
105087         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
105088         to avoid a warning.  Add back 'const' to inptr.
105089
105090 2001-01-20  Jim Meyering  <meyering@lucent.com>
105091
105092         Be sure that headers are checked before used in code compiled
105093         for the type checks.
105094         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
105095         In place of that, invoke jm_CHECK_ALL_TYPES.
105096         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
105097         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
105098         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
105099         The check for ssize_t was mistakenly run before the test for unistd.h.
105100
105101         The configure-time check for stdbool.h was missing.
105102         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
105103         (jm_PREREQ_HASH): New function.
105104
105105 2001-01-17  Jim Meyering  <meyering@lucent.com>
105106
105107         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
105108         for autoconf-2.49c.
105109         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
105110
105111 2001-01-16  Jim Meyering  <meyering@lucent.com>
105112
105113         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
105114         From Bruno Haible.
105115
105116 2001-01-14  Jim Meyering  <meyering@lucent.com>
105117
105118         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
105119         foo and bar.  Create conftestdir/ in the script, not in the C code.
105120         Remove directories in the script, not in the C code.
105121         Remove conftestdir{,2} before trying to create the directory.
105122         Make the entire configure script fail if the mkdir fails.
105123
105124 2001-01-14  Jim Meyering  <meyering@lucent.com>
105125
105126         * lib/rename.c: New file.  From Volker Borchert.
105127         Include stdlib.h, string.h or strings.h, and xalloc.h.
105128         Use strip_trailing_slashes rather than open-coding it.
105129
105130 2001-01-03  Paul Eggert  <eggert@twinsun.com>
105131
105132         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
105133
105134 2001-01-03  Jim Meyering  <meyering@lucent.com>
105135
105136         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
105137         of local `inptr' to avoid warning with some system declarations of
105138         iconv.
105139
105140 2001-01-02  Volker Borchert  <bt@teknon.de>
105141
105142         * m4/rename.m4: New file.
105143         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
105144
105145 2001-01-01  Jim Meyering  <meyering@lucent.com>
105146
105147         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
105148         even on systems with utmpx.h.  It's necessary for the declaration of
105149         utmp's ut_user member.  Reported by Andreas Jaeger.
105150
105151         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
105152         available. They are required for the declarations of getgrgid and
105153         getpwuid resp.
105154         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
105155         Reported by Andreas Jaeger.
105156
105157 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
105158
105159         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
105160         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
105161         so `make install' also works in VPATH builds.
105162
105163 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
105164
105165         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
105166         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
105167         can be used in subdirectories.
105168
105169 2000-12-29  Paul Eggert  <eggert@twinsun.com>
105170
105171         * lib/modechange.c: Do not assume that mode_t uses the
105172         traditional octal encoding.  E.g. "chmod 1 FOO" should set
105173         the other-execute bit of FOO even if S_IXOTH != 1.
105174
105175         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
105176         WOTH, XOTH, ALLM): New macros.
105177         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
105178          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
105179         Use them.
105180         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
105181         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
105182         (mode_compile):
105183         No need to use uintmax_t; unsigned long is long enough.
105184         Don't bother to get suffix since we don't use it.
105185
105186 2000-12-26  Jim Meyering  <meyering@lucent.com>
105187
105188         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
105189         better with autoheader.
105190
105191 2000-12-24  Jim Meyering  <meyering@lucent.com>
105192
105193         * lib/hash.c (is_prime): Return explicit boolean values.
105194         (hash_get_first): Return NULL to appease Irix5.6's 89.
105195         Reported by Nelson Beebe.
105196
105197 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
105198
105199         * lib/localcharset.c (locale_charset): Add support for Win32.
105200
105201 2000-12-18  Paul Eggert  <eggert@twinsun.com>
105202
105203         * lib/physmem.h, lib/physmem.c: New files.
105204
105205         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
105206         (noinst_HEADERS): Add physmem.h.
105207
105208         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
105209         't' for compatibility with Solaris 8 sort.
105210
105211 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
105212
105213         * lib/config.charset: Add support for BeOS.
105214
105215 2000-12-17  Jim Meyering  <meyering@lucent.com>
105216
105217         * m4/dos.m4 (jm_AC_DOS): New file and macro.
105218         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
105219
105220 2000-12-16  Jim Meyering  <meyering@lucent.com>
105221
105222         This bug had a serious impact on chown: `chown N:M FILE' (for integer
105223         N and M) would have treated it like `chown N:N FILE'.
105224
105225         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
105226
105227 2000-12-16  Jim Meyering  <meyering@lucent.com>
105228
105229         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
105230         SHELLS_FILE to a file name that's useful on djgpp systems.
105231         Include stdlib.h.
105232         (ADDITIONAL_DEFAULT_SHELLS): Define.
105233         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
105234         Based mostly on a patch from Prashant TR.
105235
105236 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
105237
105238         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
105239         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
105240         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
105241
105242 2000-12-08  Andreas Schwab  <schwab@suse.de>
105243
105244         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
105245         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
105246
105247 2000-12-07  Jim Meyering  <meyering@lucent.com>
105248
105249         * lib/stripslash.c (ISSLASH): Define.
105250         (strip_trailing_slashes): Use ISSLASH rather than comparing against
105251         `/'.
105252         From Prashant TR.
105253
105254         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
105255         (dir_name_r): Declare this function as static.
105256         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
105257         manifest itself on a name containing a mix of slashes and
105258         backslashes.
105259         Make this function work with names starting with a DOS-style
105260         drive letter and colon prefix.
105261         (dir_name): Append `.' if necessary.
105262         Based mostly on patches from Prashant TR and Eli Zaretskii.
105263
105264         * lib/dirname.h (dir_name_r): Remove prototype.
105265
105266 2000-12-06  Paul Eggert  <eggert@twinsun.com>
105267
105268         * m4/off_t-format.m4: Remove this file.
105269         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
105270
105271 2000-12-06  Jim Meyering  <meyering@lucent.com>
105272
105273         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
105274         replacement strtoull, we may well need the replacement strtoul, too.
105275         Check for declarations of strtoul and strtoull.
105276         Check for strtol.  Mainly as a cue to cause automake to include
105277         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
105278         Check for limits.h -- strtol.c needs it.
105279
105280 2000-12-05  Jim Meyering  <meyering@lucent.com>
105281
105282         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
105283
105284 2000-12-04  Jim Meyering  <meyering@lucent.com>
105285
105286         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
105287         Also include memory.h, stdlib.h, unistd.h if appropriate.
105288         Reported by Andreas Jaeger (conflicting declaration of malloc).
105289
105290 2000-12-02  Jim Meyering  <meyering@lucent.com>
105291
105292         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
105293         * m4/jm-macros.m4 (jm_MACROS): require it.
105294
105295 2000-12-02  Jim Meyering  <meyering@lucent.com>
105296
105297         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
105298
105299 2000-12-01  Paul Eggert  <eggert@twinsun.com>
105300
105301         * lib/memrchr.c: Include <config.h> before any system include file.
105302
105303 2000-11-30  Jim Meyering  <meyering@lucent.com>
105304
105305         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
105306
105307 2000-11-30  Jim Meyering  <meyering@lucent.com>
105308
105309         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
105310
105311 2000-11-29  Paul Eggert  <eggert@twinsun.com>
105312
105313         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
105314
105315 2000-11-26  Jim Meyering  <meyering@lucent.com>
105316
105317         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
105318
105319 2000-11-22  Paul Eggert  <eggert@twinsun.com>
105320
105321         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
105322         size of (size_t) -1; it's not portable.
105323
105324 2000-11-17  Jim Meyering  <meyering@lucent.com>
105325
105326         * lib/strstr.c: Update from GNU libc.
105327
105328 2000-11-17  Akim Demaille  <akim@epita.fr>
105329
105330         * lib/obstack.h: Formatting changes.
105331         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
105332         prevent type checking.
105333         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
105334         cast the value to (void *): assigning a `foo *' to a `void *'
105335         variable is valid.
105336         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
105337
105338 2000-11-16  Jim Meyering  <meyering@lucent.com>
105339
105340         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
105341
105342 2000-11-11  Jim Meyering  <meyering@lucent.com>
105343
105344         * lib/error.c: Add a couple #includes, merging from GNU libc version.
105345
105346 2000-11-10  Jim Meyering  <meyering@lucent.com>
105347
105348         * lib/obstack.h: Update from GNU libc.
105349         * lib/obstack.c: Likewise.
105350
105351 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
105352
105353         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
105354
105355 2000-11-06  Paul Eggert  <eggert@twinsun.com>
105356
105357         * lib/getusershell.c (setusershell): Use rewind rather than
105358         fseek/fseeko, to avoid configuration hassles with fseeko.
105359         Don't bother opening SHELLS_FILE if shellstream is NULL;
105360         it's not necessary.
105361
105362 2000-11-05  Jim Meyering  <meyering@lucent.com>
105363
105364         * lib/makepath.h (make_dir): Declare.
105365         * lib/makepath.c (make_dir): Remove `static' attribute.
105366         Tweak a comment.
105367
105368 2000-11-04  Jim Meyering  <meyering@lucent.com>
105369
105370         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
105371
105372 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
105373
105374         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
105375         last one in a bucket, advance to the next bucket.
105376
105377 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
105378
105379         * lib/fnmatch.c: Do not comment out all the code if we are using
105380         the GNU C library, because in some cases we are replacing buggy
105381         code in the GNU C library itself.
105382
105383 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
105384
105385         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
105386         (regex_compile): Catch bogus \(\1\).
105387
105388 2000-10-30  Paul Eggert  <eggert@twinsun.com>
105389
105390         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
105391         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
105392         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
105393
105394 2000-10-30  Paul Eggert  <eggert@twinsun.com>
105395
105396         * lib/error.h, getline.h, modechange.h:
105397         Remove "2000" from Copyright line, as the file hasn't been
105398         changed this year other than in the copyright notice.
105399
105400         * lib/xalloc.h: Add "2000" to Copyright line, as this file
105401         was changed this year.
105402
105403 2000-10-29  Jim Meyering  <meyering@lucent.com>
105404
105405         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
105406         renaming.
105407         * m4/ls-mntd-fs.m4: Likewise
105408
105409 2000-10-29  Jim Meyering  <meyering@lucent.com>
105410
105411         * lib/xstat.in: Fix grammar in comment.
105412
105413 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
105414
105415         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
105416         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
105417         doesn't define __restrict_arr.
105418
105419 2000-10-28  Jim Meyering  <meyering@lucent.com>
105420
105421         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
105422         (jm_PREREQ_MEMCHR): New function.
105423
105424 2000-10-28  Jim Meyering  <meyering@lucent.com>
105425
105426         * lib/memchr.c: Update from libc.
105427         Adjust for portability:
105428         [HAVE_STDLIB_H]: Include stdlib.h.
105429         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
105430         Undef __memchr, too.
105431         [!weak_alias]: Define __memchr to memchr.
105432
105433         * lib/regex.c: Update from libc.
105434         * lib/regex.h: Likewise.
105435         * lib/getopt1.c: Likewise.
105436         * lib/memcmp.c: Likewise.
105437
105438         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
105439         Avoid using fseek, when possible -- it's broken by design.
105440         Patch by Ulrich Drepper.
105441
105442 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
105443
105444         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
105445         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
105446         Giving in to popular pressure to shut up the compiler with casts.
105447
105448 2000-10-26  Jim Meyering  <meyering@lucent.com>
105449
105450         * lib/strftime.c: Update from libc.
105451
105452 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
105453
105454         * regex.c: More `unsigned char' -> `re_char' changes.
105455         Also change several `int' into `re_wchar_t'.
105456         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
105457         (PUSH_FAILURE_POINTER): Don't cast any more.
105458         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
105459         We want GCC to complain, since this piece of code makes
105460         re_match non-reentrant, which *should* be fixed.
105461         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
105462         (EXTEND_BUFFER): Use RETALLOC.
105463         (SET_LIST_BIT): Don't cast.
105464         (re_wchar_t): New type.
105465         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
105466         that those two functions will always properly return.
105467         (IMMEDIATE_QUIT_CHECK): Cast to void.
105468         (analyse_first): Use recursion rather than an explicit stack.
105469         (re_compile_fastmap): Can't fail anymore.
105470         (re_search_2): Don't check re_compile_fastmap for failure.
105471         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
105472         Now also sets the new value (passed in a new argument).
105473         (re_match_2_internal): Use it.
105474         Also, use a new var `reg' of type size_t when looping through regs
105475         rather than reuse the inappropriate `mcnt'.
105476
105477 2000-10-25  Jim Meyering  <meyering@lucent.com>
105478
105479         * lib/obstack.c: Update from libc.
105480
105481 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
105482
105483         * regex.c (regex_compile): Change the way of handling a range from
105484         a char less than 256 to a char not less than 256.
105485
105486 2000-10-24  Andrew Innes  <andrewi@gnu.org>
105487
105488         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
105489         NT-Emacs only.
105490         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
105491         so that re_search functions only quit when callers expect them to.
105492
105493 2000-10-23  Jim Meyering  <meyering@lucent.com>
105494
105495         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
105496         wrong.  That set_locale call must not have any side effects.
105497         From Paul Eggert.
105498
105499 2000-10-22  Jim Meyering  <meyering@lucent.com>
105500
105501         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
105502         [CYCLIC]: Remove now-unused definition.
105503
105504         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
105505         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
105506         Suggestion from Ulrich Drepper.
105507
105508 2000-10-21  Jim Meyering  <meyering@lucent.com>
105509
105510         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
105511         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
105512         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
105513
105514 2000-10-21  Jim Meyering  <meyering@lucent.com>
105515
105516         * lib/dirname.c (memrchr): Declare if necessary.
105517         (dir_name): Remove the restriction that there be no
105518         trailing slashes.  Now, this code skips past them, effectively
105519         ignoring them.
105520         [TEST_DIRNAME] (main): New unit tests.
105521
105522         * lib/memrchr.c: New file from GNU libc.
105523         Undef __memrchr, too.
105524         [!weak_alias]: Define __memrchr to memrchr.
105525         Guard weak_alias use with `#ifdef weak_alias'.
105526
105527 2000-10-21  Jim Meyering  <meyering@lucent.com>
105528
105529         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
105530         (dir_name): Use dir_name_r.
105531         * lib/dirname.h (dir_name_r): Declare it.
105532
105533 2000-10-17  Jim Meyering  <meyering@lucent.com>
105534
105535         * lib/quote.h (PARAMS): Define and use.
105536         Reported by Akim Demaille.
105537
105538         * lib/getopt.c: Update from libc.
105539
105540 2000-10-16  Jim Meyering  <meyering@lucent.com>
105541
105542         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
105543         setlocale.
105544         From Jan Fedak.
105545
105546 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
105547
105548         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
105549
105550 2000-09-25  Jim Meyering  <meyering@lucent.com>
105551
105552         * lib/md5.h (rol): Define (from GnuPG).
105553
105554         * lib/sha.c: Give credit (GnuPG) where due.
105555         (M): Use rol rather than open-coding it.
105556         Add a FIXME comment.
105557
105558 2000-09-21  Jim Meyering  <meyering@lucent.com>
105559
105560         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
105561         Reported by Michael Stone.
105562
105563 2000-09-20  Jim Meyering  <meyering@lucent.com>
105564
105565         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
105566         (noinst_HEADERS): Add sha.h.
105567         Based on code from Scott G. Miller and from GnuPG.
105568
105569 2000-09-18  Jim Meyering  <meyering@lucent.com>
105570
105571         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
105572         LIBS. Otherwise, everyone ends up linking with -lelf for some
105573         configurations.
105574         Reported by Mike Stone.
105575
105576 2000-09-15  Jim Meyering  <meyering@lucent.com>
105577
105578         * lib/regex.c: Update from libc.
105579
105580 2000-09-10  Jim Meyering  <meyering@lucent.com>
105581
105582         * lib/getopt.c (_getopt_internal): Update from glibc.
105583
105584 2000-09-09  Jim Meyering  <meyering@lucent.com>
105585
105586         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
105587         think it should be used as a general replacement for isascii.
105588         * lib/fnmatch.c: Likewise.
105589         * lib/mbswidth.c: Likewise
105590         * lib/regex.c: Likewise.
105591
105592         Don't use atoi.
105593         * lib/userspec.c: Include sys/param.h and limits.h.
105594         Include xstrtol.h.
105595         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
105596         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
105597         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
105598         UID, GID.  Check range.
105599
105600 2000-09-06  Jim Meyering  <meyering@lucent.com>
105601
105602         * lib/getopt.c (_getopt_internal): Update from glibc.
105603
105604 2000-08-30  Jim Meyering  <meyering@lucent.com>
105605
105606         * lib/strftime.c: Merge in changes from GNU libc.
105607
105608 2000-08-26  Jim Meyering  <meyering@lucent.com>
105609
105610         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
105611         * m4/fpending.m4: New file.
105612
105613 2000-08-26  Jim Meyering  <meyering@lucent.com>
105614
105615         * lib/closeout.c: Include "__fpending.h".
105616         (close_stdout_status): Return right away if there's nothing to flush.
105617
105618         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
105619         * lib/__fpending.c: New file.
105620         * lib/__fpending.h: New file.
105621
105622 2000-08-20  Jim Meyering  <meyering@lucent.com>
105623
105624         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
105625         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
105626         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
105627
105628 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
105629
105630         Improve fileutils installation on systems where running
105631         programs (like install) can't be unlinked.
105632         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
105633         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
105634
105635 2000-08-07  Paul Eggert  <eggert@twinsun.com>
105636
105637         Standardize on "memory exhausted" instead of "Memory exhausted"
105638         or "virtual memory exhausted".
105639         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
105640         "virtual memory exhausted".
105641         * lib/same.c (same_name): Invoke xalloc_die instead of printing
105642         our own message.
105643         * lib/userspec.c (parse_user_spec): Likewise.
105644         * lib/bumpalloc.h: comment fix
105645         * lib/same.c, userspec.c: Include xalloc.h.
105646
105647         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
105648         not char *const and pointing to a constant array.
105649         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
105650         (xrealloc): Comment fix.
105651
105652         * lib/userspec.c (parse_user_spec):
105653         Don't translate a message until just before returning,
105654         to avoid unnecessary translation.
105655
105656 2000-08-07  Jim Meyering  <meyering@lucent.com>
105657
105658         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
105659         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
105660         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
105661         getgroups.c, gethostname.c, getopt.h, group-member.c,
105662         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
105663         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
105664         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
105665         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
105666         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
105667         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
105668         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
105669         yesno.c: Back out Copyright date changes for each file with no change
105670         this year.  This eases coordination with other programs using the same
105671         source code modules.  From Paul Eggert.
105672
105673 2000-08-06  Paul Eggert  <eggert@twinsun.com>
105674
105675         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
105676         not char, for compatibility with glibc 2.1.3 strftime.c.
105677
105678 2000-08-03  Greg McGary  <greg@mcgary.org>
105679
105680         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
105681         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
105682         (EXTEND_BUFFER): Use them.
105683
105684 2000-08-01  Jim Meyering  <meyering@lucent.com>
105685
105686         * lib/dirname.c (ISSLASH): Define.
105687         (BACKSLASH_IS_PATH_SEPARATOR): Define.
105688         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
105689         both `\' and `/' may be use as path separators.
105690         Based on a patch from Prashant TR.
105691
105692 2000-07-31  Paul Eggert  <eggert@twinsun.com>
105693
105694         * lib/quotearg.c (quotearg_n_options): Don't make the initial
105695         slot vector a constant, since it might get modified.
105696
105697 2000-07-31  Jim Meyering  <meyering@lucent.com>
105698
105699         * lib/xmalloc.c: Use `virtual memory exhausted', not
105700         `Memory exhausted'.
105701         * lib/obstack.c (print_and_abort): Likewise.
105702
105703 2000-07-30  Paul Eggert  <eggert@twinsun.com>
105704
105705         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
105706         buffer, so that the caller can always quote one small
105707         component of a "memory exhausted" message in slot 0.
105708         From a suggestion by Jim Meyering.
105709
105710 2000-07-30  Jim Meyering  <meyering@lucent.com>
105711
105712         * lib/makepath.c (make_path): Quote the other instance, too.
105713
105714         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
105715         (STATIC_BUF_SIZE): Define.
105716         (quotearg_n_options): Use only statically allocated storage when
105717         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
105718         than STATIC_BUF_SIZE.
105719
105720 2000-07-29  Jim Meyering  <meyering@lucent.com>
105721
105722         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
105723         * lib/dirname.c (dir_name): Likewise.
105724
105725         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
105726         `/'.
105727
105728         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
105729         (dir_name): Assert that there are no trailing slashes.
105730
105731 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
105732
105733         * lib/mbswidth.h (mbswidth): Add a flags argument.
105734         (mbswidth): New declaration.
105735         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
105736         * lib/mbswidth.c (mbswidth): Add a flags argument.
105737         (mbsnwidth): New function.
105738
105739 2000-07-24  Jim Meyering  <meyering@lucent.com>
105740
105741         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
105742
105743 2000-07-23  Paul Eggert  <eggert@twinsun.com>
105744
105745         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
105746
105747 2000-07-23  Paul Eggert  <eggert@twinsun.com>
105748
105749         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
105750         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
105751         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
105752         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
105753         invoke multibyte primitives.
105754
105755 2000-07-23  Paul Eggert  <eggert@twinsun.com>
105756
105757         * lib/quotearg.c:
105758         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
105759         so that mbstate_t is always defined.
105760
105761         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
105762         be 1 in at least one GCC installation, and this configuration
105763         error is likely to be common.  Ignoring MB_LEN_MAX hurts
105764         performance on hosts that have mbrtowc but have only unibyte
105765         locales, but I assume these hosts are rare.
105766
105767 2000-07-23  Paul Eggert  <eggert@twinsun.com>
105768
105769         * lib/mbswidth.c (_XOPEN_SOURCE):
105770         Don't define; this causes problems on Solaris 7.
105771         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
105772
105773 2000-07-23  Jim Meyering  <meyering@lucent.com>
105774
105775         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
105776         too: getgrgid, getpwuid, getuid.
105777
105778 2000-07-23  Jim Meyering  <meyering@lucent.com>
105779
105780         * lib/basename.c (base_name): Add an assertion.
105781
105782 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
105783
105784         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
105785         shadow its mbsinit function.
105786
105787 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
105788
105789         * lib/mbswidth.h: New file.
105790         * lib/mbswidth.c: New file.
105791         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
105792         (noinst_HEADERS): Add mbswidth.h.
105793
105794 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
105795
105796         * lib/config.charset: Add support for FreeBSD. Improve support for
105797         HP-UX and IRIX 6.
105798
105799 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
105800
105801         * m4/mbswidth.m4: New file.
105802         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
105803
105804 2000-07-15  Jim Meyering  <meyering@lucent.com>
105805
105806         * lib/makepath.c: Include quote.h.
105807         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
105808         corresponding argument in a `quote (...)' call.
105809         Give better diagnostics.
105810
105811         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
105812         (noinst_HEADERS): Add quote.h.
105813
105814         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
105815         from tar's src/misc.c.
105816         * lib/quote.h: New file.  Prototypes for same.
105817
105818 2000-07-14  Paul Eggert  <eggert@twinsun.com>
105819
105820         From a suggestion by Bruno Haible.
105821         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
105822         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
105823         to decide whether to define the BeOS workaround macro;
105824         this adjusts to the change to AC_MBSTATE_T.
105825
105826 2000-07-14  Jim Meyering  <meyering@lucent.com>
105827
105828         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
105829         jm_AC_TYPE_UINTMAX_T.
105830
105831 2000-07-13  Paul Eggert  <eggert@twinsun.com>
105832
105833         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
105834
105835         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
105836         quotearg_buffer_restyled): Add support for
105837         clocale_quoting_style.  Undo previous change to
105838         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
105839         and "{RIGHT QUOTATION MARK}" msgids.
105840
105841 2000-07-10  Paul Eggert  <eggert@twinsun.com>
105842
105843         From a suggestion by Bruno Haible.
105844         * m4/mbstate_t.m4 (AC_MBSTATE_T):
105845         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
105846         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
105847         and mbstate_t, to a single-part test that simply defines mbstate_t.
105848         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
105849         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
105850
105851 2000-07-10  Jim Meyering  <meyering@lucent.com>
105852
105853         * m4/strerror_r.m4: Mirror the correction made in autoconf.
105854
105855         * m4/gnu-source.m4: Output to confdefs.h directly.
105856         Suggestion from Akim Demaille.
105857
105858 2000-07-09  Paul Eggert  <eggert@twinsun.com>
105859
105860         The old behavior of quoting `like this' doesn't look good with
105861         newer, ISO-style fonts.  See:
105862         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
105863
105864         Instead, quote "like this" by default.  Let the translator
105865         tailor the locale-specific quoting behavior by providing
105866         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
105867
105868         * lib/quotearg.c (N_): New macro.
105869         (gettext_default): New function.
105870         (quotearg_buffer_restyled): Use
105871         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
105872         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
105873
105874 2000-07-09  Jim Meyering  <meyering@lucent.com>
105875
105876         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
105877         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
105878
105879         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
105880         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
105881
105882 2000-07-09  Jim Meyering  <meyering@lucent.com>
105883
105884         * lib/Most files: Update copyright dates to include 2000.
105885
105886 2000-07-08  Jim Meyering  <meyering@lucent.com>
105887
105888         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
105889         if not defined.
105890         (xgethostname): Remove now-unnecessary #ifdef.
105891         Move declaration of `err' into loop where it's used.
105892
105893 2000-07-05  Paul Eggert  <eggert@twinsun.com>
105894         and Bruno Haible  <haible@clisp.cons.org>
105895
105896         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
105897         only if the test for an object-type mbstate_t fails.  This
105898         prevents us from mistakenly reporting that mbstate_t is a
105899         system object type after we "#define mbstate_t int" to work
105900         around its lack.
105901
105902 2000-07-05  Paul Eggert  <eggert@twinsun.com>
105903         and Bruno Haible  <haible@clisp.cons.org>
105904
105905         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
105906
105907 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
105908
105909         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
105910         to strerror_r.
105911         Include <ctype.h> for use of isalpha.
105912
105913 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
105914
105915         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
105916         by allocating a larger buffer. Test the gethostname return value for
105917         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
105918         returns an error and ENAMETOOLONG isn't defined.
105919
105920 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
105921
105922         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
105923         dimension.
105924
105925 2000-07-04  Jim Meyering  <meyering@lucent.com>
105926
105927         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
105928         of the deprecated AC_CHECKING.
105929
105930 2000-07-04  Jim Meyering  <meyering@lucent.com>
105931
105932         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
105933         Reported by Bruno Haible.
105934
105935 2000-07-04  Jim Meyering  <meyering@lucent.com>
105936
105937         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
105938         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
105939         lacks mbrtowc.
105940
105941 2000-07-03  Paul Eggert  <eggert@twinsun.com>
105942
105943         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
105944         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
105945
105946 2000-07-03  Paul Eggert  <eggert@twinsun.com>
105947         and Bruno Haible  <haible@clisp.cons.org>
105948
105949         * lib/quotearg.c (mbrtowc):
105950         Assign to *pwc, and return 1 only if result is nonzero.
105951         (iswprint): Use ISPRINT when substituting our own mbrtowc.
105952
105953 2000-07-03  Jim Meyering  <meyering@lucent.com>
105954
105955         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
105956
105957 2000-07-03  Jim Meyering  <meyering@lucent.com>
105958
105959         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
105960         This is necessary to get a definition of e.g., UTMP_FILE on
105961         HP-UX 10.20.
105962         From Bob Proulx.
105963
105964 2000-07-02  Jim Meyering  <meyering@lucent.com>
105965
105966         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
105967
105968         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
105969         AC_LIBOBJ(function_name).
105970         * m4/chown.m4: Likewise.
105971         * m4/fnmatch.m4: Likewise.
105972         * m4/ftruncate.m4: Likewise.
105973         * m4/getgroups.m4: Likewise.
105974         * m4/getline.m4: Likewise.
105975         * m4/group-member.m4: Likewise.
105976         * m4/jm-macros.m4: Likewise.
105977         * m4/lstat.m4: Likewise.
105978         * m4/malloc.m4: Likewise.
105979         * m4/memcmp.m4: Likewise.
105980         * m4/nanosleep.m4: Likewise.
105981         * m4/putenv.m4: Likewise.
105982         * m4/realloc.m4: Likewise.
105983         * m4/regex.m4: Likewise.
105984         * m4/stat.m4: Likewise.
105985         * m4/strftime.m4: Likewise.
105986
105987 2000-07-02  Jim Meyering  <meyering@lucent.com>
105988
105989         * lib/quotearg.c (mbstate_t): Don't define here.
105990
105991 2000-07-02  Jim Meyering  <meyering@lucent.com>
105992
105993         * lib/nanosleep.c (SIGCONT): Define if not already defined.
105994
105995 2000-07-01  Jim Meyering  <meyering@lucent.com>
105996
105997         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
105998
105999 2000-07-01  Jim Meyering  <meyering@lucent.com>
106000
106001         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
106002         problem.
106003
106004 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
106005
106006         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
106007         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
106008
106009 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
106010
106011         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
106012         per change in ../m4/ls-mntd-fs.m4.
106013         (read_filesystem_list): Ignore symbolic links.
106014
106015 2000-06-29  Jim Meyering  <meyering@lucent.com>
106016
106017         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
106018         for declaration of strcmp.
106019
106020         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
106021
106022         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
106023         Avoid warning by casting result to `char *' to remove `const'.
106024
106025 2000-06-28  Jim Meyering  <meyering@lucent.com>
106026
106027         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
106028         included by quotearg.c, for which we perform this test.  From
106029         Bruno Haible.
106030
106031 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
106032
106033         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
106034         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
106035         <utmpx.h> exists, put readutmp.o into LIBOBJS.
106036
106037 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
106038
106039         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
106040
106041 2000-06-26  Paul Eggert  <eggert@twinsun.com>
106042
106043         savedir now sets errno on failure and invokes xmalloc to get memory.
106044         Fix a couple of other minor bugs while we're at it.
106045
106046         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
106047         (NAMLEN): Remove macro.
106048         (malloc, realloc): Remove decls.
106049         (stpcpy): Likewise.
106050         ("xalloc.h"): Include.
106051         (NAME_SIZE_DEFAULT): New macro.
106052         (savedir): Use xmalloc / xrealloc to allocate memory.
106053         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
106054         Skip "" directory entries.
106055         Use strlen to calculate directory entry length, since the old method
106056         is rarely used these days and isn't worth supporting.
106057         Don't use a pointer after freeing it.
106058         Check for integer overflow when calculating allocation size.
106059         Use memcpy to copy entries, instead of stpcpy.
106060         Set errno properly when returning NULL.
106061         Check for readdir error.
106062
106063 2000-06-26  Jim Meyering  <meyering@lucent.com>
106064
106065         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
106066
106067 2000-06-25  Jim Meyering  <meyering@lucent.com>
106068
106069         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
106070         Linux header bug when _XOPEN_SOURCE is defined to 500.
106071
106072 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
106073
106074         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
106075         deficiency.
106076
106077 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
106078
106079         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
106080         Include xalloc.h.
106081         Don't include <stdlib.h>.  Don't declare malloc, realloc.
106082
106083 2000-06-24  Jim Meyering  <meyering@lucent.com>
106084
106085         * m4/strerror_r.m4: Revive this file -- to try out an experimental
106086         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
106087         for which strerror does return char*, but which lacks a conveniently
106088         accessible declaration of the function.  If the compile-test says
106089         strerror_r doesn't work, then resort to a `run'-test that works on
106090         BeOS and segfaults on DEC Unix.
106091
106092 2000-06-24  Jim Meyering  <meyering@lucent.com>
106093
106094         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
106095
106096 2000-06-23  Paul Eggert  <eggert@twinsun.com>
106097
106098         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
106099         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
106100
106101 2000-06-23  Paul Eggert  <eggert@twinsun.com>
106102
106103         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
106104         (mbrtowc, mbstate_t): Define substitutes if
106105         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
106106         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
106107         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
106108
106109 2000-06-23  Jim Meyering  <meyering@lucent.com>
106110
106111         * m4/afs.m4: Add missing AC_MSG_RESULT.
106112         Reported by Bruno Haible.
106113
106114         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
106115         Suggestion from Bruno Haible.
106116
106117 2000-06-23  Jim Meyering  <meyering@lucent.com>
106118
106119         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
106120
106121 2000-06-21  Jim Meyering  <meyering@lucent.com>
106122
106123         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
106124
106125 2000-06-21  Jim Meyering  <meyering@lucent.com>
106126
106127         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
106128         (noinst_HEADERS): Add getstr.h.
106129
106130         * lib/getline.c (getstr): Move into a separate file.
106131         * lib/getstr.c (getstr): New file, extracted from getline.c, with
106132         the following changes: new parameter, delim2; both delim[12]
106133         parameters have type `int', not `char'.  The latter would lose
106134         with 8-bit delimiters.
106135         * lib/getstr.h: New file.
106136
106137 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
106138
106139         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
106140         than 1024, return a memory chunk of least possible size, instead
106141         of size PATH_MAX + 2. In the loop, increment the size proportionally.
106142         Use free/xmalloc instead of xrealloc to avoid copying for very long
106143         paths.
106144
106145 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
106146
106147         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
106148         the empty string.
106149
106150 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
106151
106152         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
106153         address, not strdup.  Include <stdlib.h> and don't declare free().
106154
106155 2000-06-19  Jim Meyering  <meyering@lucent.com>
106156
106157         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
106158
106159 2000-06-18  Jim Meyering  <meyering@lucent.com>
106160
106161         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
106162
106163         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
106164         `checking whether...' message to be consistent with that of the
106165         lstat test.
106166
106167 2000-06-18  Jim Meyering  <meyering@lucent.com>
106168
106169         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
106170         Besides, these days every porting target provides a mkdir function.
106171
106172         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
106173         needed. (this snippet comes from src/system.h).
106174
106175 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
106176
106177         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
106178
106179 2000-06-15  Paul Eggert  <eggert@twinsun.com>
106180
106181         * lib/human.c (adjust_value): New function.
106182         (human_readable_inexact): Apply rounding style even when
106183         printing approximate values.
106184
106185 2000-06-14  Paul Eggert  <eggert@twinsun.com>
106186
106187         * lib/human.c (human_readable_inexact): Allow an input block
106188         size that is not a multiple of the output block size, and vice versa.
106189         Reported by Piergiorgio Sartor.
106190
106191 2000-06-14  Paul Eggert  <eggert@twinsun.com>
106192
106193         * lib/getdate.y (get_date): Apply relative times after time
106194         zone indicator, not before.  Reported by Todd A. Jacobs.
106195
106196 2000-06-13  Jim Meyering  <meyering@lucent.com>
106197
106198         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
106199
106200         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
106201
106202 2000-06-12  Paul Eggert  <eggert@twinsun.com>
106203
106204         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
106205
106206 2000-06-12  Jim Meyering  <meyering@lucent.com>
106207
106208         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
106209         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
106210         optional argument.
106211         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
106212         the optional argument, `lib'.
106213
106214 2000-06-08  Jim Meyering  <meyering@lucent.com>
106215
106216         * m4/largefile.m4: Remove file (now that it's part of autoconf).
106217
106218 2000-06-04  Paul Eggert  <eggert@twinsun.com>
106219
106220         Rewrite largefile configuration so that we don't need to run
106221         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
106222         AC_CANONICAL_HOST in configure.in -- jmm]
106223
106224         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
106225         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
106226         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
106227         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
106228         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
106229         All uses changed.
106230         Instead of inspecting the output of getconf, try to compile the
106231         test program without and with the macro definition.
106232         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
106233         for getconf.  Instead, check for the needed flags by compiling
106234         test programs.
106235
106236 2000-06-04  Paul Eggert  <eggert@twinsun.com>
106237
106238         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
106239
106240 2000-06-04  Jim Meyering  <meyering@lucent.com>
106241
106242         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
106243         SunOS 4.1.4 for which gid_t is an unsigned type.
106244
106245 2000-06-03  Jim Meyering  <meyering@lucent.com>
106246
106247         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
106248         now that autoconf requires that.
106249
106250         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
106251         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
106252         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
106253
106254 2000-06-03  Jim Meyering  <meyering@lucent.com>
106255
106256         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
106257
106258 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
106259
106260         * m4/glibc21.m4: New file.
106261         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
106262
106263 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
106264
106265         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
106266         newer, don't install charset.alias.
106267         * lib/config.charset: Change the Linux/glibc rules so they become empty
106268         on glibc-2.1 or newer.
106269
106270 2000-06-02  Jim Meyering  <meyering@lucent.com>
106271
106272         * lib/mountlist.c: Back out last change.  Instead, do this...
106273         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
106274         me_dummy member using the same `ignore'-testing code.
106275         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
106276         fs_type strings.
106277         From Mark D. Roth.
106278
106279 2000-05-29  Jim Meyering  <meyering@lucent.com>
106280
106281         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
106282         mounts with the `ignore' attribute.  Based on a patch from
106283         Mark D. Roth.
106284
106285 2000-05-28  Jim Meyering  <meyering@lucent.com>
106286
106287         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
106288         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
106289         * m4/stat.m4: Likewise.
106290         * m4/lstat.m4: Likewise.
106291         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
106292
106293         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
106294         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
106295
106296 2000-05-26  Jim Meyering  <meyering@lucent.com>
106297
106298         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
106299
106300 2000-05-24  Jim Meyering  <meyering@lucent.com>
106301
106302         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
106303         autoconf requires that.
106304         * m4/lib-check.m4: Likewise.
106305         * m4/jm-macros.m4: Likewise.
106306         * m4/strftime.m4: Likewise.
106307
106308         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
106309         AC_CHECK_DECLS, now that autoconf requires that.
106310
106311 2000-05-22  Jim Meyering  <meyering@lucent.com>
106312
106313         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
106314         * m4/lstat.m4: Likewise.
106315
106316 2000-05-22  Jim Meyering  <meyering@lucent.com>
106317
106318         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
106319
106320 2000-05-20  Jim Meyering  <meyering@lucent.com>
106321
106322         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
106323         (jm_PREREQ): Use it.
106324
106325 2000-05-18  Jim Meyering  <meyering@lucent.com>
106326
106327         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
106328         back, too, since it may have been modified by allocate_entry.
106329         (hash_delete): Rewrite to use neither the assignment operator
106330         nor the comma operator in an if-expression.
106331
106332 2000-05-15  Paul Eggert  <eggert@twinsun.com>
106333
106334         * lib/closeout.c:
106335         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
106336         Remove; no longer needed.
106337         "quotearg.h": Add include.
106338         (file_name): Do not bother to explicitly initialize to NULL; it's less
106339         efficient on some hosts.
106340         (close_stdout_status): Remove test as to whether stdout was already
106341         closed; it breaks for the case "echo x | sort >&-".
106342         Quote file name colons.
106343         Do not assume that _("write error") lacks format strings.
106344
106345 2000-05-15  Jim Meyering  <meyering@lucent.com>
106346
106347         * lib/version-etc.c (version_etc_copyright): Update the copyright
106348         string used in all --version output.
106349
106350 2000-05-14  Jim Meyering  <meyering@lucent.com>
106351
106352         * lib/closeout.c (close_stdout_set_file_name): New function.
106353         (close_stdout_status): Use new file-scoped global.
106354         Return right away if fstat says the stdout file descriptor is invalid.
106355         * lib/closeout.h (close_stdout_set_file_name): Declare.
106356
106357 2000-05-10  Jim Meyering  <meyering@lucent.com>
106358
106359         * lib/closeout.c [default_exit_status]: New file-scoped variable.
106360         (close_stdout_set_status): New function.
106361         * lib/closeout.h (close_stdout_set_status): Declare.
106362
106363 2000-05-09  Jim Meyering  <meyering@lucent.com>
106364
106365         * m4/gettext.m4: Rename this...
106366         * m4/libintl.m4: ...to this.
106367
106368 2000-05-08  Jim Meyering  <meyering@lucent.com>
106369
106370         * lib/long-options.c: Don't include closeout.h.
106371         (parse_long_options): Don't call close_stdout for --version.
106372
106373 2000-05-06  Paul Eggert  <eggert@twinsun.com>
106374
106375         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
106376         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
106377         2.1.3 bug.  This avoids a clash when files like regex.c define
106378         _GNU_SOURCE.
106379
106380 2000-05-06  Jim Meyering  <meyering@lucent.com>
106381
106382         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
106383         (AC_REPLACE_FUNCS): Add strnlen.
106384
106385         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
106386         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
106387
106388         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
106389         AC_SEARCH_LIBS call for nanosleep.
106390         (LIB_NANOSLEEP): Set and AC_SUBST.
106391
106392 2000-05-06  Jim Meyering  <meyering@lucent.com>
106393
106394         * lib/strnlen.c: Undefine __strnlen and strnlen.
106395         [!weak_alias]: Define __strnlen to strnlen.
106396
106397         * lib/atexit.c: New file, from libiberty.
106398
106399 2000-05-06  Jim Meyering  <meyering@lucent.com>
106400
106401         * lib/closeout.c (close_stdout_status): Also check for errors on the
106402         stderr stream.
106403
106404 2000-05-05  Jim Meyering  <meyering@lucent.com>
106405
106406         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
106407         AC_SEARCH_LIBS call for clock_gettime.
106408         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
106409
106410         * m4/search-libs.m4: Update from autoconf.
106411
106412         su doesn't work on Solaris 2.6.
106413         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
106414         <shadow.h>.  Reported by Dragos Harabor.
106415
106416 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
106417
106418         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
106419         memcpy instead of xmalloc, xrealloc, path_concat.
106420         (locale_charset): Treat empty environment variables as absent.
106421         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
106422
106423 2000-05-04  Jim Meyering  <meyering@lucent.com>
106424
106425         * lib/getopt.c: Update from glibc.
106426         * lib/obstack.c: Likewise.
106427         * lib/obstack.h: Likewise.
106428         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
106429         file
106430
106431         * lib/regex.h: Likewise.
106432         * lib/strndup.c: Likewise.
106433         * lib/strnlen.c: New file, from glibc.
106434
106435 2000-05-03  Jim Meyering  <meyering@lucent.com>
106436
106437         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
106438
106439 2000-05-02  Paul Eggert  <eggert@twinsun.com>
106440
106441         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
106442         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
106443         compile-time test, rather than inspecting host and OS, to
106444         decide whether to define _LARGEFILE_SOURCE.
106445
106446 2000-05-01  Jim Meyering  <meyering@lucent.com>
106447
106448         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
106449
106450         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
106451         Based on a patch from Bruno Haible.
106452
106453 2000-05-01  Jim Meyering  <meyering@lucent.com>
106454
106455         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
106456
106457 2000-04-29  Jim Meyering  <meyering@lucent.com>
106458
106459         * lib/path-concat.c: Declare strdup only if it's not defined.
106460         * lib/canon-host.c: Likewise.
106461
106462 2000-04-28  Jim Meyering  <meyering@lucent.com>
106463
106464         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
106465         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
106466         is included first, then limits.h is included by locale.h by libintl.h.
106467         From John David Anglin.
106468
106469 2000-04-25  Jim Meyering  <meyering@lucent.com>
106470
106471         * lib/makepath.c (S_IRWXUGO): Define.
106472         (make_path): Always perform explicit chmod if MODE specifies any
106473         of the `special' permission bits.  Prompted by a bug report against
106474         install from Mate Wierdl and Joost van Baal.
106475
106476 2000-04-18  Jim Meyering  <meyering@lucent.com>
106477
106478         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
106479         (jm_PREREQ): Use it.
106480
106481 2000-04-18  Jim Meyering  <meyering@lucent.com>
106482
106483         * lib/README: New file.
106484
106485         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
106486         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
106487
106488 2000-04-17  Jim Meyering  <meyering@lucent.com>
106489
106490         Get it right :-)
106491         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
106492         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
106493         Suggestion from Akim Demaille.
106494
106495 2000-04-17  Jim Meyering  <meyering@lucent.com>
106496
106497         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
106498         the definition of it to rpl_strftime also defined-away the system's
106499         declaration.
106500
106501 2000-04-15  Jim Meyering  <meyering@lucent.com>
106502
106503         Use `C' to denote so-called `contiguous' files, the same way
106504         that tar does.
106505         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
106506         (ftypelet): Use S_ISCTG.
106507         From Michael Deutschmann.
106508
106509 2000-04-14  Jim Meyering  <meyering@lucent.com>
106510
106511         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
106512         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
106513         clobbered.
106514
106515 2000-04-14  Jim Meyering  <meyering@lucent.com>
106516
106517         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
106518
106519 2000-04-13  Jim Meyering  <meyering@lucent.com>
106520
106521         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
106522         AH_VERBATIM to insert required #ifndef into config.h.in.
106523         Suggestion from Akim Demaille.
106524
106525 2000-04-12  Jim Meyering  <meyering@lucent.com>
106526
106527         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
106528         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
106529         Christian Krackowizer.
106530
106531         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
106532         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
106533         (AC_SYS_LARGEFILE): Require.
106534         (AM_C_PROTOTYPES): Require.
106535
106536 2000-04-08  Jim Meyering  <meyering@lucent.com>
106537
106538         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
106539         names don't conflict.  Reported by Eli Zaretskii.
106540
106541 2000-04-07  Jim Meyering  <meyering@lucent.com>
106542
106543         * lib/putenv.c: Move inclusion of errno.h so it follows that of
106544         sys/types.h, to work around system header problems on AIX 3.2.5.
106545         From Bruno Haible.
106546
106547 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
106548
106549         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
106550         bug.  Deal with the different error behavior of Irix iconv.
106551
106552 2000-04-05  Paul Eggert  <eggert@twinsun.com>
106553
106554         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
106555         IRIX if the installer said otherwise.
106556
106557 2000-04-05  Jim Meyering  <meyering@lucent.com>
106558
106559         Portability tweaks required for ultrix4.3.
106560         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
106561         (jm_CHECK_DECLS): Add getutent to the list of functions.
106562         (_jm_DECL_HEADERS): Add utmpx.h.
106563         From John David Anglin.
106564
106565         * m4/strftime.m4: Back out the 2000-04-02 change.
106566         Instead of that change, simply undefine putenv in the test program.
106567
106568 2000-04-05  Jim Meyering  <meyering@lucent.com>
106569
106570         Portability tweaks required for ultrix4.3.
106571         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
106572         getutent.
106573         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
106574         * lib/canon-host.c: Declare strdup.
106575         * lib/path-concat.c: Likewise.
106576         From John David Anglin.
106577
106578 2000-04-04  Jim Meyering  <meyering@lucent.com>
106579
106580         Be more DOS 8.3-friendly.
106581         * lib/ref-add.sin: Renamed from ref-add.sed.in.
106582         * lib/ref-del.sin: Renamed from ref-del.sed.in.
106583         * lib/Makefile.am: Reflect renaming.
106584         Reported by Eli Zaretskii.
106585
106586         Use a temporary file name that won't clash with `charset.alias'
106587         in the DOS 8.3 name space.
106588         * lib/Makefile.am (charset_tmp): Define.
106589         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
106590         (uninstall-local): Likewise.
106591         Reported by Eli Zaretskii.
106592
106593 2000-04-03  Jim Meyering  <meyering@lucent.com>
106594
106595         * m4/gettext.m4: Fix typo in comment.
106596
106597         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
106598         textutils/configure.in).  Suggestion from Paul Eggert.
106599         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
106600
106601 2000-04-02  Paul Eggert  <eggert@twinsun.com>
106602
106603         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
106604         variable in the shell rather than using putenv, which isn't
106605         portable.  This avoids the configure-time inter-test dependency
106606         on the potentially-renamed putenv function.
106607
106608 2000-03-30  Paul Eggert  <eggert@twinsun.com>
106609
106610         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
106611         before checking struct stat.st_blksize, so that
106612         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
106613
106614 2000-03-29  Paul Eggert  <eggert@twinsun.com>
106615
106616         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
106617         since strftime.c uses HAVE_STRFTIME to decide whether to use
106618         the underlying strftime.
106619
106620 2000-03-29  Paul Eggert  <eggert@twinsun.com>
106621
106622         * lib/time/strftime.c (my_strftime): Make sure we call the system
106623         strftime, not ourselves, when invoking the underlying strftime.
106624
106625 2000-03-24  Jim Meyering  <meyering@lucent.com>
106626
106627         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
106628         (charset_alias): Define.
106629         (install-exec-local): Factor out common code.
106630         (uninstall-local): Split lines longer than 80.
106631         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
106632         (SUFFIXES): Define.
106633         (.sed.in.sed): New rule.  Don't redirect directly to $@.
106634         (CLEANFILES): Add ref-add.sed and ref-del.sed.
106635
106636 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
106637
106638         * lib/config.charset: Output a line containing "Packages using this
106639         file".
106640         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
106641         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
106642         ref-del.sed): New rules.
106643
106644 2000-03-17  Jim Meyering  <meyering@lucent.com>
106645
106646         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
106647         Otherwise, include <strings.h>
106648
106649 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
106650
106651         * lib/unicodeio.c (utf8_wctomb): New function.
106652         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
106653         format instead of in UCS-4 with platform dependent endianness.
106654
106655 2000-03-10  Jim Meyering  <meyering@lucent.com>
106656
106657         * m4/lib-check.m4: Look for getspnam in -lgen, too.
106658         From Marco Franzen.
106659
106660 2000-03-07  Paul Eggert  <eggert@twinsun.com>
106661
106662         * lib/savedir.c (savedir): Work even if directory size is
106663         negative; this can happen with some screwy NFS configurations.
106664
106665 2000-03-06  Jim Meyering  <meyering@lucent.com>
106666
106667         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
106668         if it's NULL (because we ran out of memory).  From Bruno Haible.
106669
106670 2000-03-05  Jim Meyering  <meyering@lucent.com>
106671
106672         * lib/localcharset.c ("path-concat.h"): Include.
106673         (get_charset_aliases): Use path_concat instead of ANSI string
106674         concatenation.
106675
106676         * lib/unicodeio.h (PARAMS): Define.
106677         Use it to guard prototype.
106678
106679 2000-03-04  Jim Meyering  <meyering@lucent.com>
106680
106681         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
106682         for lib/localcharset.c.
106683
106684 2000-03-04  Jim Meyering  <meyering@lucent.com>
106685
106686         * lib/Makefile.am (install-exec-local): Create $(libdir) before
106687         installing into it.
106688         (uninstall-local): Uncomment this rule so `make distcheck' works
106689         once again.
106690
106691         * lib/unicodeio.c (<errno.h>): Include it.
106692         (errno): Declare if not defined.
106693
106694         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
106695
106696         * lib/config.charset: New version, incorporating remarks from a linux
106697         i18n mailing list.  From Bruno Haible.
106698
106699 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
106700
106701         * m4/codeset.m4: New file.
106702         * m4/iconv.m4: New file.
106703         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
106704
106705 2000-03-03  Jim Meyering  <meyering@lucent.com>
106706
106707         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
106708
106709 2000-03-02  Jim Meyering  <meyering@lucent.com>
106710
106711         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
106712         the messages come out on separate lines.
106713
106714         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
106715         rather than jm_CHECK_DECLARATIONS.
106716         * m4/decl.m4: Remove now-unused file.
106717
106718         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
106719         geteuid.
106720
106721 2000-03-02  Jim Meyering  <meyering@lucent.com>
106722
106723         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
106724
106725 2000-03-01  Jim Meyering  <meyering@lucent.com>
106726
106727         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
106728         * lib/unicodeio.c: Likewise.
106729
106730 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
106731
106732         * lib/config.charset: New file.
106733         * lib/localcharset.c: New file.
106734         * lib/unicodeio.h, lib/unicodeio.c: New files.
106735         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
106736         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
106737         (noinst_HEADERS): Add unicodeio.h.
106738         (all-local, install-exec-local, charset.alias): New targets.
106739
106740 2000-02-28  Paul Eggert  <eggert@twinsun.com>
106741
106742         * lib/quotearg.c (ALERT_CHAR): New macro.
106743         (quotearg_buffer_restyled): Use it.
106744
106745 2000-02-27  Jim Meyering  <meyering@lucent.com>
106746
106747         * m4/check-decl.m4: Add getenv to the list.
106748
106749 2000-02-27  Jim Meyering  <meyering@lucent.com>
106750
106751         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
106752         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
106753
106754         * lib/backupfile.c: Guard inclusion of stdlib.h with
106755         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
106756         Declare malloc if needed.
106757
106758         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
106759         `#ifndef HAVE_DECL..'
106760         now that autoconf always defines the HAVE_DECL_ symbols.
106761         * lib/human.c: Likewise.
106762         * lib/same.c: Likewise.
106763         * lib/strtoumax.c: Likewise.
106764
106765         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
106766         declaration check was not run.
106767         * lib/hash.c: Likewise.
106768         * lib/human.c: Likewise.
106769         * lib/same.c: Likewise.
106770         * lib/strtoumax.c: Likewise.
106771
106772         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
106773         `.', then first look up the entire `.'-containing string as a login
106774         name.
106775
106776 2000-02-23  Jim Meyering  <meyering@lucent.com>
106777
106778         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
106779         in place of my hack.
106780
106781 2000-02-18  Paul Eggert  <eggert@twinsun.com>
106782
106783         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
106784         (textint): New typedef.
106785         (parser_control): Member year changed from int to textint.
106786         All uses changed.
106787         (YYSTYPE): Removed; replaced by %union with int and textint members.
106788         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
106789         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
106790         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
106791         (tSNUMBER, tUNUMBER): Now of type <textintval>.
106792         (date, number, to_year): Use width of number in digits, not its value,
106793         to determine whether it's a 2-digit year, or a 2-digit time.
106794         (yylex): Store number of digits of numeric tokens.
106795         Reported by John Kendall.
106796
106797         (parser_control): Changed from struct parser_control to typedef (for
106798         consistency).  All uses changed.
106799
106800         (tID): Removed; not used.
106801         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
106802
106803 2000-02-14  Paul Eggert  <eggert@twinsun.com>
106804
106805         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
106806         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
106807
106808 2000-02-12  Jim Meyering  <meyering@lucent.com>
106809
106810         * lib/userspec.c (ISDIGIT): Define it.
106811         (isdigit): Remove definition.
106812         (is_number): Use ISDIGIT, not isdigit.
106813         <libintl.h>: Include.
106814         (_ and N_): Define.
106815         (parse_user_spec): Mark translatable strings.
106816
106817 2000-02-10  Jim Meyering  <meyering@lucent.com>
106818
106819         With these changes, nanosleep.[ch] are finally enough like the other
106820         lib/* replacement files to compile on a few more losing systems.
106821
106822         * lib/nanosleep.h: Don't include config.h.
106823         Remove prototype from declaration of nanosleep.
106824         (PARAMS): Remove now-unneeded definition.
106825         * lib/nanosleep.c: #undef nanosleep.
106826         (rpl_nanosleep): Rename from nanosleep.
106827
106828 2000-02-10  Jim Meyering  <meyering@lucent.com>
106829
106830         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
106831         gnu_nanosleep to rpl_nanosleep.
106832
106833 2000-02-09  Jim Meyering  <meyering@lucent.com>
106834
106835         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
106836         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
106837
106838 2000-02-08  Akim Demaille  <akim@epita.fr>
106839
106840         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
106841         `[' and `]' and remove uses of `changequote'.
106842         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
106843         (AC_SYS_LARGEFILE): Likewise.
106844         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
106845         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
106846         of changequote.
106847         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
106848         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
106849         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
106850         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
106851
106852 2000-02-05  Jim Meyering  <meyering@lucent.com>
106853
106854         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
106855         Remove explicit use of AC_HEADER_TIME.  It is required by
106856         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
106857         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
106858         in autoconf whereby the expansion of the latter ended up preceding
106859         the expansion of its prerequisite, AC_HEADER_TIME.
106860         Reported by Volker Borchert.
106861
106862 2000-02-03  Jim Meyering  <meyering@lucent.com>
106863
106864         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
106865
106866 2000-02-03  Jim Meyering  <meyering@lucent.com>
106867
106868         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
106869         rather than with `#if HAVE_UTMPNAME'.
106870
106871 2000-02-02  Jim Meyering  <meyering@lucent.com>
106872
106873         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
106874         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
106875         Reported by Eli Zaretskii.
106876
106877 2000-02-01  Jim Meyering  <meyering@lucent.com>
106878
106879         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
106880
106881 2000-01-31  Jim Meyering  <meyering@lucent.com>
106882
106883         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
106884         functions.  Add the time.h and sys/time.h headers along with the
106885         AC_REQUIRE'ment of AC_HEADER_TIME.
106886
106887 2000-01-31  Jim Meyering  <meyering@lucent.com>
106888
106889         * lib/nanosleep.h (nanosleep): Guard declaration with
106890         `#if ! HAVE_DECL_NANOSLEEP'.
106891         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
106892         the declaration in that vendor's sys/timers.h.
106893         Reported by Christian Krackowizer.
106894
106895         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
106896         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
106897         (ISPRINT): Likewise.
106898         Reported by Tom Tromey.
106899
106900 2000-01-30  Jim Meyering  <meyering@lucent.com>
106901
106902         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
106903
106904         * m4/prereq.m4 (utmp_includes): Define.
106905         Check for ut_user and ut_name members in both struct utmpx
106906         and struct utmp.
106907
106908 2000-01-30  Jim Meyering  <meyering@lucent.com>
106909
106910         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
106911         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
106912         header files where only utmpx.ut_user is declared.
106913
106914         * lib/readutmp.h (UT_USER): Define.
106915
106916 2000-01-29  Jim Meyering  <meyering@lucent.com>
106917
106918         * m4/lib-check.m4: New file containing library-related checks from
106919         fileutils and sh-utils (textutils had none).
106920
106921 2000-01-28  Jim Meyering  <meyering@lucent.com>
106922
106923         * m4/perl.m4: Change format of warning message to look more like that
106924         from the missing script.  Suggestion from François Pinard.
106925
106926 2000-01-25  Jim Meyering  <meyering@lucent.com>
106927
106928         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
106929         well as time.h in the compile check.
106930         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
106931         Fix typo in cross-compiling case: s/yes/no/.
106932
106933 2000-01-23  Jim Meyering  <meyering@lucent.com>
106934
106935         * m4/jm-macros.m4: Move df-related tests here from
106936         fileutils/configure.in
106937
106938         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
106939         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
106940
106941         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
106942         s/space/ac_fsusage_space/.
106943         (jm_FILE_SYSTEM_USAGE): Take two parameters.
106944
106945         * m4/ftruncate.m4: New file (derived from part of
106946         fileutils/configure.in).
106947         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
106948         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
106949
106950         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
106951         AC_SUBST these here, rather than just in sh-util/configure.in, so
106952         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
106953         all the same.
106954         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
106955         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
106956         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
106957         (AC_SUBST(POW_LIBM)): Likewise.
106958         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
106959
106960 2000-01-23  Jim Meyering  <meyering@lucent.com>
106961
106962         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
106963         obstack.c.
106964
106965 2000-01-22  Jim Meyering  <meyering@lucent.com>
106966
106967         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
106968
106969         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
106970
106971         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
106972         configure.in
106973         (AC_CHECK_HEADERS): Likewise for sh-utils.
106974         (AC_CHECK_HEADERS): Likewise for textutils.
106975         Merge the three lists of headers.
106976
106977         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
106978         from fileutils' configure.in.
106979
106980         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
106981         code. Moved tests into their own function (_jm_DECL_HEADERS) in
106982         check-decl.m4.
106983
106984         * m4/check-decl.m4: Use #if rather than #ifdef.
106985         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
106986         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
106987         (_jm_DECL_HEADERS): Define new function.
106988         (jm_CHECK_DECLARATIONS): Require it.
106989
106990 2000-01-22  Jim Meyering  <meyering@lucent.com>
106991
106992         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
106993         [! HAVE_DECL_STRTOULL]: Declare strtoull.
106994         Required for some AIX systems.  Reported by Christian Krackowizer.
106995         [TESTING] (main): New function.
106996
106997         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
106998         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
106999         letters.
107000
107001         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
107002         iswprint.
107003
107004         * lib/strverscmp.c (ISDIGIT): Define.
107005         (strverscmp): Use ISDIGIT, not isdigit.
107006
107007 2000-01-19  Jim Meyering  <meyering@lucent.com>
107008
107009         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
107010         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
107011         defines `struct timespec' in <sys/time.h>
107012
107013         * m4/c-bs-a.m4: Remove uses of changequote altogether.
107014         Thanks to Akim for explaining.
107015
107016 2000-01-17  Paul Eggert  <eggert@twinsun.com>
107017
107018         * lib/nanosleep.c (nanosleep):
107019         Don't use SA_INTERRUPT to decide whether to call sigaction, as
107020         POSIX.1 doesn't require SA_INTERRUPT and some systems
107021         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
107022         it's been part of POSIX.1 since day 1 (in 1988).
107023
107024 2000-01-17  Jim Meyering  <meyering@lucent.com>
107025
107026         * lib/interlock: Remove unused file.  Reported by François Pinard.
107027
107028 2000-01-16  Paul Eggert  <eggert@twinsun.com>
107029
107030         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
107031         alert, backslash, formfeed, and vertical tab unnecessarily in
107032         shell quoting style.
107033
107034 2000-01-16  Jim Meyering  <meyering@lucent.com>
107035
107036         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
107037         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
107038         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
107039         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
107040
107041 2000-01-16  Jim Meyering  <meyering@lucent.com>
107042
107043         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
107044         because the latter didn't work.
107045
107046 2000-01-15  Jim Meyering  <meyering@lucent.com>
107047
107048         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
107049         (AC_REPLACE_FUNCS): Add memcpy and memset.
107050         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
107051         Add strpbrk.
107052         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
107053
107054 2000-01-12  Jim Meyering  <meyering@lucent.com>
107055
107056         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
107057         (jm_PREREQ): Use it.
107058         (jm_PREREQ_READUTMP): New macro.
107059         (jm_PREREQ): Use it.
107060
107061 2000-01-11  Paul Eggert  <eggert@twinsun.com>
107062
107063         Quote multibyte characters correctly.
107064         * m4/c-bs-a.m4: New file.
107065         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
107066         (jm_PREREQ): Use it.
107067
107068 2000-01-11  Paul Eggert  <eggert@twinsun.com>
107069
107070         * m4/uintmax_t.m4: Port to autoconf 2.13.
107071
107072 2000-01-08  Jim Meyering  <meyering@ascend.com>
107073
107074         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
107075         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
107076
107077 2000-01-04  Jim Meyering  <meyering@ascend.com>
107078
107079         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
107080         jm_STRUCT_DIRENT_D_TYPE.
107081         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
107082         jm_STRUCT_DIRENT_D_INO.
107083         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
107084         jm_STRUCT_UTIMBUF.
107085         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
107086         renamings.
107087         * m4/utime.m4: Likewise.
107088
107089         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
107090         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
107091
107092 2000-01-03  Paul Eggert  <eggert@twinsun.com>
107093
107094         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
107095         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
107096
107097 2000-01-02  Jim Meyering  <meyering@ascend.com>
107098
107099         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
107100         remember if this is necessary.
107101
107102 1999-12-26  Jim Meyering  <meyering@ascend.com>
107103
107104         * m4/jm-macros.m4: Use it here.
107105         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
107106
107107 1999-12-23  Jim Meyering  <meyering@ascend.com>
107108
107109         * m4/jm-macros.m4: Check for clock_gettime (moved from
107110         fileutils/configure.in)
107111         Check for gettimeofday.
107112
107113 1999-12-20  Jim Meyering  <meyering@ascend.com>
107114
107115         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
107116         autoconf-2.14a-1999-12-20.
107117
107118 1999-12-19  Jim Meyering  <meyering@ascend.com>
107119
107120         * m4/lstat-slash.m4: New file.
107121         * m4/jm-macros.m4: Use the new macro:
107122         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
107123
107124 1999-12-07  Jim Meyering  <meyering@ascend.com>
107125
107126         * m4/perl.m4: Require that File::Compare be available, too.
107127         Too many systems seem to lack it.
107128
107129         * m4/strftime.m4: Add checks for most of the cpp macros tested in
107130         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
107131
107132 1999-11-18  Paul Eggert  <eggert@twinsun.com>
107133
107134         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
107135         problem with the QNX 4.25 shell, which doesn't propagate exit
107136         status of failed commands inside shell assignments.
107137
107138 1999-11-17  Jim Meyering  <meyering@ascend.com>
107139
107140         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
107141
107142 1999-11-07  Jim Meyering  <meyering@ascend.com>
107143
107144         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
107145
107146 1999-11-06  Jim Meyering  <meyering@ascend.com>
107147
107148         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
107149         * m4/jm-macros.m4 (jm_MACROS): Use it here.
107150
107151 1999-11-05  Jim Meyering  <meyering@ascend.com>
107152
107153         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
107154         configure.in of textutils, fileutils, and sh-utils into this one
107155         (shared between those packages) file.
107156         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
107157         AC_STRUCT_ST_BLKSIZE.
107158
107159 1999-11-03  Jim Meyering  <meyering@ascend.com>
107160
107161         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
107162         of AC_CHECK_TYPE checks includes unistd.h.
107163         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
107164         Suggestion from Akim Demaille.
107165
107166 1999-10-30  Jim Meyering  <meyering@ascend.com>
107167
107168         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
107169         m4-quoted string.
107170         * m4/ls-mntd-fs.m4: Likewise.
107171         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
107172         * m4/jm-winsz1.m4: Likewise.
107173
107174         * m4/const.m4: Remove file, since the fix made it into the experimental
107175         version of autoconf.
107176         * m4/mktime.m4: Likewise.
107177
107178         * m4/check-type.m4: Remove file, now that the latest version of
107179         AC_CHECK_TYPE takes a third arg to specify additional #includes.
107180
107181         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
107182         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
107183         AC_CHECK_TYPE.
107184
107185 1999-10-04  Jim Meyering  <meyering@ascend.com>
107186
107187         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
107188
107189 1999-09-22  Paul Eggert  <eggert@twinsun.com>
107190
107191         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
107192         2.95.1 bug with HP-UX 10.20.
107193
107194 1999-09-17  Jim Meyering  <meyering@ascend.com>
107195
107196         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
107197         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
107198         due to missing strdup (against sh-utils-2.0).
107199
107200 1999-08-29  Jim Meyering  <meyering@ascend.com>
107201
107202         * m4/jm-macros.m4: Require jm_BISON.
107203         * m4/bison.m4: New file.
107204
107205 1999-08-17  Paul Eggert  <eggert@twinsun.com>
107206
107207         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
107208         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
107209
107210 1999-08-05  Jim Meyering  <meyering@ascend.com>
107211
107212         * m4/getline.m4: Rename test file from conftestdata to conftest.data
107213         to avoid conflicts with `conftest' on 8+3 filesystems.
107214         Suggestion from Eli Zaretskii.
107215
107216 1999-08-04  Jim Meyering  <meyering@ascend.com>
107217
107218         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
107219         fileutils and sh-utils (textutils's getline test was inadequate).
107220         (AM_FUNC_GETLINE): Run this test.
107221         (AC_CHECK_FUNCS): Check for getdelim.
107222         Reported by Bob Proulx.
107223
107224 1999-08-02  Jim Meyering  <meyering@ascend.com>
107225
107226         * m4/jm-macros.m4: Add a comment.
107227
107228 1999-08-01  Paul Eggert  <eggert@twinsun.com>
107229
107230         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
107231         <inttypes.h> defines strtoumax as a macro (and not as a
107232         function).
107233
107234 1999-08-01  Paul Eggert  <eggert@twinsun.com>
107235
107236         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
107237         that we can shift, multiply and divide unsigned long long
107238         values; Ultrix cc can't do it.
107239
107240 1999-08-01  Paul Eggert  <eggert@twinsun.com>
107241
107242         * m4/mktime.m4: New file, which is a preview of what should appear
107243         in the next public autoconf release.
107244
107245 1999-08-01  Paul Eggert  <eggert@twinsun.com>
107246
107247         * m4/lfs.m4: Remove this file.
107248         * m4/largefile.m4: New file.  It contains the old contents of
107249         lfs.m4, except that all names with prefix AC_LFS have been
107250         changed to use the prefix AC_SYS_LARGEFILE instead, to be
107251         compatible with future autoconf versions.  Also, some minor m4
107252         quoting problems have been fixed.
107253
107254 1999-08-01  Paul Eggert  <eggert@twinsun.com>
107255
107256         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
107257         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
107258         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
107259         and simplify the shell code.
107260
107261 1999-08-01  Jim Meyering  <meyering@ascend.com>
107262
107263         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
107264         m4.
107265
107266 1999-07-20  Jim Meyering  <meyering@ascend.com>
107267
107268         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
107269
107270 1999-07-15  Jim Meyering  <meyering@ascend.com>
107271
107272         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
107273
107274 1999-05-22  Jim Meyering  <meyering@ascend.com>
107275
107276         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
107277
107278 1999-05-20  Jim Meyering  <meyering@ascend.com>
107279
107280         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
107281         Add a colon after each `then' in case $4 is empty.
107282
107283 1999-05-16  Jim Meyering  <meyering@ascend.com>
107284
107285         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
107286
107287 1999-05-10  Jim Meyering  <meyering@ascend.com>
107288
107289         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
107290
107291         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
107292         AC_FUNC_MKTIME.
107293
107294 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
107295
107296         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
107297
107298 1999-05-04  Paul Eggert  <eggert@twinsun.com>
107299
107300         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
107301         not CPPFLAGS, so that linking works correctly in IRIX.
107302
107303 1999-04-30  Paul Eggert  <eggert@twinsun.com>
107304
107305         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
107306
107307 1999-04-20  Paul Eggert  <eggert@twinsun.com>
107308
107309         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
107310         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
107311         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
107312         jm_AC_TYPE_UNSIGNED_LONG_LONG.
107313         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
107314
107315         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
107316
107317 1999-04-20  Jim Meyering  <meyering@ascend.com>
107318
107319         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
107320         AC_REPLACE xstroull if necessary.  From Paul Eggert.
107321         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
107322
107323 1999-04-18  Jim Meyering  <meyering@ascend.com>
107324
107325         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
107326         * m4/jm-macros.m4: Use it.
107327
107328 1999-04-06  Jim Meyering  <meyering@ascend.com>
107329
107330         * m4/strftime.m4: Remove test for %f.
107331
107332 1999-03-29  Jim Meyering  <meyering@ascend.com>
107333
107334         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
107335         superset of the AC_TYPE_* checks in the textutils, fileutils,
107336         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
107337         AC_TYPE_PID_T.
107338
107339 1999-03-28  Jim Meyering  <meyering@ascend.com>
107340
107341         * m4/jm-macros.m4: Define GNU_PACKAGE here.
107342         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
107343         replaced e.g., in the *.sh files of the sh-utils.
107344
107345 1999-03-20  Jim Meyering  <meyering@ascend.com>
107346
107347         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
107348         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
107349         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
107350
107351 1999-03-19  Jim Meyering  <meyering@ascend.com>
107352
107353         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
107354
107355 1999-03-12  Jim Meyering  <meyering@ascend.com>
107356
107357         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
107358
107359 1999-03-07  Jim Meyering  <meyering@ascend.com>
107360
107361         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
107362         declared.
107363
107364 1999-02-17  Jim Meyering  <meyering@ascend.com>
107365
107366         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
107367         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
107368
107369 1999-02-07  Jim Meyering  <meyering@ascend.com>
107370
107371         * m4/group-member.m4: New file -- extracted from sh-utils'
107372         configure.in.
107373
107374         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
107375         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
107376
107377 1999-02-06  Jim Meyering  <meyering@ascend.com>
107378
107379         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
107380         * m4/fnmatch.m4: Likewise.
107381         * m4/getgroups.m4: Likewise.
107382         * m4/lstat.m4: Likewise.
107383         * m4/malloc.m4: Likewise.
107384         * m4/putenv.m4: Likewise.
107385         * m4/realloc.m4: Likewise.
107386         * m4/regex.m4: Likewise.
107387         * m4/stat.m4: Likewise.
107388         * m4/strftime.m4: Likewise.
107389         Suggestion from Alain Magloire.
107390
107391         * m4/chown.m4: Use `.$ac_objext', not `.o'.
107392         * m4/fnmatch.m4: Likewise.
107393         * m4/getgroups.m4: Likewise.
107394         * m4/getline.m4: Likewise.
107395         * m4/lstat.m4: Likewise.
107396         * m4/malloc.m4: Likewise.
107397         * m4/memcmp.m4: Likewise.
107398         * m4/putenv.m4: Likewise.
107399         * m4/realloc.m4: Likewise.
107400         * m4/regex.m4: Likewise.
107401         * m4/stat.m4: Likewise.
107402         * m4/strftime.m4: Likewise.
107403         Suggestion from Alain Magloire.
107404
107405         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
107406         an argument.
107407
107408         * m4/regex.m4: Add a run-time Test for proper operation of
107409         re_compile_pattern.
107410
107411 1999-01-31  Jim Meyering  <meyering@ascend.com>
107412
107413         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
107414
107415 1999-01-30  Jim Meyering  <meyering@ascend.com>
107416
107417         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
107418
107419         * m4/jm-mktime.m4: Make this a wrapper around the official
107420         AM_FUNC_MKTIME rather than my private copy, now that the official one
107421         is up to date.
107422         * m4/mktime.m4: Remove file.
107423
107424         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
107425         * m4/uptime.m4: Likewise.
107426         * m4/uintmax_t.m4: Likewise.
107427
107428 1999-01-28  Jim Meyering  <meyering@ascend.com>
107429
107430         * m4/jm-macros.m4: Use jm_AFS.
107431         * m4/afs.m4: New file (from fileutils' configure.in).
107432
107433         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
107434         * m4/chown.m4: Likewise.
107435         * m4/d-ino.m4: Likewise.
107436         * m4/d-type.m4: Likewise.
107437         * m4/fnmatch.m4: Likewise.
107438         * m4/getgroups.m4: Likewise.
107439         * m4/gettext.m4: Likewise.
107440         * m4/jm-mktime.m4: Likewise.
107441         * m4/jm-winsz2.m4: Likewise.
107442         * m4/lcmessage.m4: Likewise.
107443         * m4/ls-mntd-fs.m4: Likewise.
107444         * m4/malloc.m4: Likewise.
107445         * m4/memcmp.m4: Likewise.
107446         * m4/putenv.m4: Likewise.
107447         * m4/realloc.m4: Likewise.
107448         * m4/st_mtim.m4: Likewise.
107449         * m4/strftime.m4: Likewise.
107450
107451 1999-01-16  Jim Meyering  <meyering@ascend.com>
107452
107453         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
107454         (ARGMATCH_DIE_DECL): Define.
107455
107456 1999-01-12  Jim Meyering  <meyering@ascend.com>
107457
107458         * m4/Makefile.am.in: Rewrite to avoid using fmt.
107459         Reported by Lars Hecking.
107460
107461 1999-01-10  Jim Meyering  <meyering@ascend.com>
107462
107463         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
107464         gross kludge.
107465         * m4/inttypes_h.m4: Likewise.
107466         * m4/lstat.m4: Likewise.
107467         * m4/malloc.m4: Likewise.
107468         * m4/readdir.m4: Likewise.
107469         * m4/realloc.m4: Likewise.
107470         * m4/st_dm_mode.m4: Likewise.
107471         * m4/stat.m4: Likewise.
107472         * m4/utimbuf.m4: Likewise.
107473         * m4/utimes.m4: Likewise.
107474
107475         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
107476         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
107477         comments in config.h.in are meaningful.
107478
107479         * m4/jm-macros.m4: Require autoconf-2.13 here.
107480
107481         * m4/regex.m4: By default, don't use the included regex.c on systems
107482         with glibc 2.  Suggestion from Uli Drepper.
107483
107484 1999-01-02  Jim Meyering  <meyering@ascend.com>
107485
107486         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
107487
107488 1998-12-18  Jim Meyering  <meyering@ascend.com>
107489
107490         * m4/Makefile.am.in (Makefile.am): Simplify rule.
107491         Based on a suggestion from Lars Hecking.
107492
107493 1998-11-16  Paul Eggert  <eggert@twinsun.com>
107494
107495         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
107496
107497 1998-11-16  Jim Meyering  <meyering@ascend.com>
107498
107499         * m4/lfs.m4: Double-quote the `uname...` expression.
107500
107501 1998-11-14  Jim Meyering  <meyering@ascend.com>
107502
107503         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
107504         * m4/stat.m4: Likewise.
107505
107506 1998-11-03  Jim Meyering  <meyering@ascend.com>
107507
107508         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
107509         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
107510
107511 1998-10-18  Jim Meyering  <meyering@ascend.com>
107512
107513         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
107514
107515 1998-10-17  Jim Meyering  <meyering@ascend.com>
107516
107517         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
107518         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
107519         calls for those previously hard-coded headers.  Instead, take a new
107520         parameter.
107521         (jm_CHECK_DECLARATIONS): Reflect interface change.
107522         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
107523         (jm_CHECK_DECL_LOCALTIME_R): New macro.
107524
107525         * m4/mktime.m4: Test for spring-forward gap before long-running test.
107526
107527 1998-10-14  Jim Meyering  <meyering@ascend.com>
107528
107529         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
107530         instead of "TZ=America/Vancouver".  From Paul Eggert.
107531
107532 1998-10-11  Jim Meyering  <meyering@ascend.com>
107533
107534         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
107535         This adds a test for a recently added compatibility fix for mktime.c.
107536         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
107537
107538 1998-09-27  Jim Meyering  <meyering@ascend.com>
107539
107540         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
107541
107542         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
107543         ../configure.in, including a change from Gordon Matzigkeit to allow
107544         cross-compiling for the Hurd.
107545
107546         * m4/glibc.m4: New file/macro to test for the GNU C Library
107547         versions 1 and 2.  From Gordon Matzigkeit.
107548         Indent.
107549
107550 1998-09-21  Jim Meyering  <meyering@ascend.com>
107551
107552         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
107553
107554 1998-08-18  Paul Eggert  <eggert@twinsun.com>
107555
107556         Port nanosecond-resolution times to UnixWare 2.1.2 and
107557         pedantic Solaris 2.6.
107558
107559         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
107560         AC_STRUCT_ST_MTIM.
107561         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
107562         Generate name of ns member, instead of just 1 or undef.
107563         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
107564
107565 1998-08-15  Jim Meyering  <meyering@ascend.com>
107566
107567         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
107568         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
107569         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
107570         instead of jm_TYPE_SSIZE_T.
107571
107572 1998-08-12  Jim Meyering  <meyering@ascend.com>
107573
107574         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
107575
107576 1998-08-02  Jim Meyering  <meyering@ascend.com>
107577
107578         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
107579         in acconfig.h manually.
107580
107581 1998-07-31  Paul Eggert  <eggert@twinsun.com>
107582
107583         * m4/st_mtim.m4: New file.
107584
107585 1998-07-28  Jim Meyering  <meyering@ascend.com>
107586
107587         * m4/utimes.m4: Undef stat.
107588
107589 1998-07-25  Jim Meyering  <meyering@ascend.com>
107590
107591         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
107592         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
107593
107594 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
107595
107596         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
107597         uid and gid actually remain unchanged.
107598
107599 1998-07-07  Jim Meyering  <meyering@ascend.com>
107600
107601         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
107602
107603 1998-07-04  Jim Meyering  <meyering@ascend.com>
107604
107605         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
107606         to prove that this macro can be used in packages without regex.c.
107607
107608 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
107609
107610         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
107611         is to be used.
107612
107613 1998-07-03  Jim Meyering  <meyering@ascend.com>
107614
107615         * m4/gettext.m4: Add -lintl if it's found to be necessary.
107616
107617         * m4/gettext.m4: New file -- from gettext-0.10.35.
107618         * m4/lcmessage.m4: Likewise.
107619         * m4/progtest.m4: Likewise.
107620
107621         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
107622         * m4/jm-macros.m4: Require the new macro.
107623
107624 1998-06-29  Jim Meyering  <meyering@ascend.com>
107625
107626         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
107627         for the definition of NGROUPS (used in a system header included
107628         by sys/mount.h).
107629
107630 1998-06-28  Jim Meyering  <meyering@ascend.com>
107631
107632         * m4/ls-mntd-fs.m4: New file.
107633         * m4/fstypename.m4: New file.
107634
107635         * m4/jm-macros.m4: Require the new macro.
107636         * m4/jm-glibc-io.m4: New file.
107637
107638 1998-05-19  Jim Meyering  <meyering@ascend.com>
107639
107640         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
107641         * m4/lchown.m4: New file.
107642
107643         * m4/Makefile.am.in: New file.
107644         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
107645
107646 1998-05-14  Jim Meyering  <meyering@ascend.com>
107647
107648         * m4/Makefile.am (EXTRA_DIST): Add them.
107649         * m4/jm-macros.m4: New file.
107650         * m4/utimbuf.m4: New file.
107651
107652 1998-05-12  Jim Meyering  <meyering@ascend.com>
107653
107654         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
107655
107656 1998-05-11  Jim Meyering  <meyering@ascend.com>
107657
107658         * m4/isc-posix.m4: New file.
107659
107660 1998-05-10  Jim Meyering  <meyering@ascend.com>
107661
107662         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
107663
107664 1998-05-09  Jim Meyering  <meyering@ascend.com>
107665
107666         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
107667         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
107668         with automake.
107669
107670         * m4/ssize_t.m4: New file.
107671         * m4/mktime.m4: Remove file -- the new automake has this now.
107672
107673 1998-04-26  Jim Meyering  <meyering@ascend.com>
107674
107675         * m4/assert.m4: New file.
107676         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
107677
107678 1998-04-05  Jim Meyering  <meyering@ascend.com>
107679
107680         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
107681         (jm_PREREQ): Use it here.
107682
107683 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
107684
107685         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
107686         in acconfig.h.
107687
107688 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
107689
107690         * m4/prereq.m4: New file.
107691         * m4/error.m4: New file.
107692         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
107693
107694 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
107695
107696         * m4/getline.m4: Don't set am_cv_func_working_getline before the
107697         cache-check for the same variable -- that defeated the purpose of
107698         the test; the test program was never run.  This was a problem only
107699         on systems with losing getline functions -- HP-UX 10.20 is one.
107700         Reported by Bjorn Helgaas.
107701
107702 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
107703
107704         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
107705
107706 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
107707
107708         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
107709
107710         * m4/const.m4: New file.  Use an initializer in this declaration
107711         typedef int charset[2]; const charset x;
107712         Reported by Bob Glickstein.
107713
107714 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
107715
107716         * m4/chown.m4: Fix reversed types on -1 args to chown.
107717         From Kaveh Ghazi.
107718
107719 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
107720
107721         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
107722         Add lseek and memchr.
107723
107724         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
107725         T.E.Dickey <dickey@clark.net> said that some older preprocessors
107726         have a 20-character limit on names.
107727
107728 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
107729
107730         * m4/inttypes_h.m4: New file.
107731         * m4/uintmax_t.m4: New file.
107732         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
107733
107734
107735         -----
107736
107737         Local Variables:
107738         coding: utf-8
107739         End:
107740
107741         Copyright (C) 1997-2016 Free Software Foundation, Inc.
107742
107743         Copying and distribution of this file, with or without
107744         modification, are permitted provided the copyright notice
107745         and this notice are preserved.