getcwd: on Solaris, work better if ancestors are inaccessible
[gnulib.git] / ChangeLog
1 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
2
3         getcwd: on Solaris, work better if ancestors are inaccessible
4         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
5         buffer and size, try again with a large buffer.  This works better
6         on Solaris, since its getcwd succeeds even if the path to the root
7         is inaccessible, and this is helpful in common cases such as .zfs
8         hidden directories.  Problem reported by J Chapman Flack in
9         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
10         Use system getcwd if it's declared, not merely if it's partly
11         working; use the partly-working test only to avoid needless effort
12         if the system getcwd fails.
13         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
14         comment that was already obsolete and is now even more obsolete.
15         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
16         now might call strdup.
17
18 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
19
20         pthread: Add enough so that coreutils/src/sort.c compiles.
21         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
22         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
23         gnulib. Include <sched.h> and <time.h>, as per POSIX.
24         Include <sys/types.h>, in case it defines pthread_t.
25         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
26         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
27         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
28         (pthread_rwlockattr_t, pthread_spinlock_t):
29         New typedefs, if HAVE_PTHREAD_T is not defined.
30         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
32         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
33         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
34         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
35         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
36         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
37         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
38         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
39         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
40         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
41         New macros.
42         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
43         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
44         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
45         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
46         (pthread_spin_unlock): New dummy functions.
47         (pthread_create): Return EAGAIN; don't set errno.
48         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
49         require AC_C_INLINE.
50         * modules/pthread (Depends-on): Add sched, time.
51         (pthread.h): Use AM_V_GEN.
52
53 2010-07-13  Bruno Haible  <bruno@clisp.org>
54
55         striconveh: Don't malloc memory if the result buffer is sufficient.
56         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
57         buffer if its size is sufficient.
58         Reported by Ludovic Courtès <ludo@gnu.org>.
59
60 2010-07-13  Bruno Haible  <bruno@clisp.org>
61
62         strtod: Add safety check.
63         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
64
65 2010-07-12  Bruno Haible  <bruno@clisp.org>
66
67         Unify tests that set gl_cv_func_ldexpl_no_libm.
68         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
69         gl_FUNC_LDEXPL.
70         (gl_FUNC_LDEXPL): Invoke it.
71         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
72
73 2010-07-12  Bruno Haible  <bruno@clisp.org>
74
75         Unify tests that set gl_cv_func_ldexp_no_libm.
76         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
77         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
78         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
79         (configure.ac): Simply invoke gl_FUNC_LDEXP.
80         * modules/strtod (Files): Add m4/ldexp.m4.
81
82 2010-07-12  Bruno Haible  <bruno@clisp.org>
83
84         Unify tests that set gl_cv_func_frexpl_no_libm.
85         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
86         gl_FUNC_FREXPL_NO_LIBM.
87         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
88         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
89
90 2010-07-12  Bruno Haible  <bruno@clisp.org>
91
92         Unify tests that set gl_cv_func_frexp_no_libm.
93         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
94         gl_FUNC_FREXP_NO_LIBM.
95         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
96         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
97
98 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
99
100         memcoll: clarify sizes versus lengths, document better, and tweak perf
101         * lib/memcoll.c (strcoll_loop, memcoll0):
102         Improve quality of descriptive comments.  Name variables
103         consistently as to whether they are lengths (which do not include
104         terminating null) versus sizes (which do).
105         * lib/xmemcoll.c (xmemcoll0): Likewise.
106         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
107         returned when s1size == 0; this is easier to compile and saves
108         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
109
110 2010-07-12  Bruno Haible  <bruno@clisp.org>
111
112         Tests for module '_Exit'.
113         * modules/_Exit-tests: New file.
114         * tests/test-_Exit.sh: New file.
115         * tests/test-_Exit.c: New file.
116
117         New module '_Exit'.
118         * lib/stdlib.in.h (__attribute__): New macro.
119         (_Exit): New declaration.
120         * lib/_Exit.c: New file.
121         * m4/_Exit.m4: New file.
122         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
123         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
124         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
125         * modules/_Exit: New file.
126         * tests/test-stdlib-c++.cc (_Exit): Check signature.
127         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
128
129 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
130
131         strtod: make it more-accurate typically, and don't require libm
132         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
133         Include limits.h.  Don't include string.h.
134         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
135         (locale_isspace): New function, so that no casts are needed to
136         check whether *s is a space.
137         (ldexp): Provide an unused dummy if not available.
138         (scale_radix_exp, parse_number, underlying_strtod): New functions.
139         (strtod): Use them.  This implementation prefers to use the
140         underlying strtod if available, falling back on our own code
141         only to fix known bugs.  This is more likely to produce an
142         accurate result.  Also, it avoids the use of libm functions.
143         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
144         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
145         was absent, but it caused a test failure with coreutils.
146         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
147         with libm.
148         * modules/strtod (Makefile.am, Link): libm is no longer needed.
149         * modules/strtod-tests (Makefile.am): Likewise.
150
151 2010-07-11  Pádraig Brady  <P@draigBrady.com>
152             Bruno Haible  <bruno@clisp.org>
153
154         unistr/u8-strchr: Optimize ASCII argument case.
155         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
156
157 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
158
159         (x)memcoll: minor tweaks
160         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
161         is after the type that it qualifies.
162         (memcoll0): Likewise.
163         * lib/memcoll.h (memcoll0): Likewise.
164         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
165         * lib/xmemcoll.h (xmemcoll0): Likewise.
166         * lib/memcoll.c (memcoll0): Correct the comment.  This function
167         differs from memcoll in that the NUL byte is part of the argument.
168         Omit the abort-checks, as performance is a real issue here.  Plus,
169         the checks were wrong anyway (an off-by-one error).  Omit local
170         variable 'diff', as it's a bit clearer that way.
171         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
172         no longer needed.
173
174 2010-07-08  Chen Guo <chenguo4@yahoo.com>
175
176         (x)memcoll: speedup when input is known to be NUL delimited
177         * lib/memcoll.c: Include stdlib.
178         (memcoll0) New function.
179         (strcoll_loop) New function, refactored for use in both memcoll
180         and memcoll0.
181         * lib/memcoll.h: Add prototype for memcoll0.
182         * lib/xmemcoll.c: (xmemcoll0) New function.
183         (collate_error) New function, refactored for use in both xmemcoll
184         and xmemcoll0.
185         * lib/xmemcoll.h: Add prototype for xmemcoll0.
186         * m4/memcoll.m4: add inline invocation.
187
188 2010-07-06  Pádraig Brady  <P@draigBrady.com>
189
190         * build-aux/bootstrap: Remove any local translations
191         from the translation project synchronization directory,
192         so that local only translations are not distributed.
193
194 2010-07-04  Bruno Haible  <bruno@clisp.org>
195
196         fsusage: Clarify which code applies to which platforms.
197         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
198         platform.
199         * lib/fsusage.c (get_fs_usage): Likewise.
200
201 2010-07-04  Bruno Haible  <bruno@clisp.org>
202
203         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
204         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
205         Reported by Martin Lambers <marlam@marlam.de>.
206
207 2010-07-04  Jim Meyering  <meyering@redhat.com>
208
209         hash: once again explicitly disallow insertion of NULL
210         * lib/hash.c (hash_insert0): Reinstate just-removed test:
211         inserting a NULL pointer cannot work with these functions.
212         Add a comment with details.
213         This reverts part of the 2010-07-01 commit, 5bef1a35
214         "hash: extend module to deal with non-pointer keys".
215
216 2010-07-01  Bruno Haible  <bruno@clisp.org>
217
218         stdbool: Update doc.
219         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
220         Info from Christian Weisgerber <naddy@mips.inka.de>.
221
222 2010-07-01  Jim Meyering  <meyering@redhat.com>
223
224         hash: extend module to deal with non-pointer keys
225         * lib/hash.c (hash_insert0): New interface, much like hash_insert
226         but that allows insertion of non-pointer entries.
227         Do not disallow an ENTRY value of NULL.
228         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
229         * lib/hash.h (hash_insert0): Declare.
230
231 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
232
233         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
234         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
235         not present (i.e. with autoconf 2.59 and when using gettextize, not
236         gnulib), require AC_GNU_SOURCE instead.
237
238 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
239
240         idpriv-drop: Fix tests.
241         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
242         not to the test-idpriv-droptemp program.
243
244 2010-06-29  Bruno Haible  <bruno@clisp.org>
245
246         string: Fix syntax error with g++ 2.96.
247         * lib/string.in.h (__pure__): Remove definition.
248         (_GL_ATTRIBUTE_PURE): New macro.
249         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
250         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
251         Reported by Christian Weisgerber <naddy@mips.inka.de>.
252
253 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
254
255         unitypes: Fix bug introduced on 2010-05-18.
256         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
257
258 2010-06-22  Eric Blake  <eblake@redhat.com>
259
260         memmem: slight optimization
261         * lib/str-two-way.h (critical_factorization): Update comments.
262         Reduce work during factorization phase.
263         Reported by Carlos Bueno <carlos@bueno.org>.
264
265 2010-06-21  Bruno Haible  <bruno@clisp.org>
266
267         Fix HAVE_CALLOC_POSIX misnomer.
268         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
269         !HAVE_CALLOC_POSIX.
270         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
271         HAVE_CALLOC_POSIX.
272         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
273         instead of HAVE_CALLOC_POSIX.
274         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
275         HAVE_CALLOC_POSIX.
276
277         Use modern idiom for calloc() replacement.
278         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
279         AC_FUNC_CALLOC.
280         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
281         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
282         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
283         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
284         (gl_REPLACE_CALLOC): New macro.
285
286 2010-06-21  Bruno Haible  <bruno@clisp.org>
287
288         Fix HAVE_REALLOC_POSIX misnomer.
289         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
290         !HAVE_REALLOC_POSIX.
291         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
292         HAVE_REALLOC_POSIX.
293         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
294         instead of HAVE_REALLOC_POSIX.
295         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
296         HAVE_REALLOC_POSIX.
297
298         Use modern idiom for realloc() replacement.
299         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
300         AC_FUNC_REALLOC.
301         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
302         Autoconf's AC_FUNC_REALLOC.
303         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
304         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
305         (gl_REPLACE_REALLOC): New macro.
306         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
307
308 2010-06-21  Bruno Haible  <bruno@clisp.org>
309
310         Fix HAVE_MALLOC_POSIX misnomer.
311         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
312         !HAVE_MALLOC_POSIX.
313         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
314         HAVE_MALLOC_POSIX.
315         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
316         instead of HAVE_MALLOC_POSIX.
317         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
318         HAVE_MALLOC_POSIX.
319
320         Use modern idiom for malloc() replacement.
321         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
322         AC_FUNC_MALLOC.
323         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
324         Autoconf's AC_FUNC_MALLOC.
325         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
326         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
327         (gl_REPLACE_MALLOC): New macro.
328         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
329
330 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
331
332         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
333         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
334         This macro takes 3 arguments, not 4.
335
336 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
337
338         ipv6: fix detection under mingw
339         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
340         in6_addr.
341
342 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
343
344         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
345         that strtod() works when cross-compiling to a glibc version known
346         to work.
347
348 2010-06-15  Bruno Haible  <bruno@clisp.org>
349
350         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
351
352 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
353
354         select: Correct timeout.
355         * lib/select.c (rpl_select): Compute wait_timeout correctly.
356
357 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
358
359         git-version-gen: init shell var to avoid env var influence
360         * build-aux/git-version-gen (v): Init shell var to empty.
361
362 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
363
364         priv-set: Don't assume that priv.h exists merely because getppriv does.
365         See Jan Andersen's bug report about AIX 5L in
366         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
367         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
368         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
369         * lib/priv-set.h: Likewise.
370         * tests/test-priv-set.c: Likewise.
371
372 2010-06-13  Bruno Haible  <bruno@clisp.org>
373
374         relocatable: Make it easier to test whether to install wrappers.
375         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
376         RELOCATABLE_VIA_WRAPPER.
377
378 2010-06-13  Bruno Haible  <bruno@clisp.org>
379
380         gnulib-tool: Display specified modules and dependencies differently.
381         * gnulib-tool (func_show_module_list): New function.
382         (func_import, func_create_testdir): Invoke it.
383         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
384
385 2010-06-13  Bruno Haible  <bruno@clisp.org>
386
387         gnulib-tool: Align code of func_import and func_create_testdir.
388         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
389         specified_modules.
390
391 2010-06-12  Jim Meyering  <meyering@redhat.com>
392
393         test-inttostr: avoid spurious failure on Solaris 9
394         * tests/test-inttostr.c (main): Skip the test when snprintf fails
395         to accept "%ju".  Reported by Bruno Haible.
396
397 2010-06-11  Jim Meyering  <meyering@redhat.com>
398
399         test-sys_socket: mark variables as used more readably
400         * tests/test-sys_socket.c (main): Mark otherwise unused variables
401         as "used" explicitly via (void) statement casts.  This is more
402         readable than using them in an artificial return expression.
403         Suggestion from Bruno Haible.
404
405 2010-06-11  Bruno Haible  <bruno@clisp.org>
406
407         Avoid some more warnings from "gcc -Wwrite-strings".
408         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
409         to 'const char *'.
410         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
411         * tests/test-c-strcasestr.c (main): Likewise.
412         * tests/test-mbscasestr1.c (main): Likewise.
413         * tests/test-mbscasestr2.c (main): Likewise.
414         * tests/test-memmem.c (main): Likewise.
415         * tests/test-strstr.c (main): Likewise.
416         * tests/test-strcasestr.c (main): Likewise.
417
418 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
419
420         init.sh: change framework_failure_ to fail with status 99, not 1
421         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
422         automake's parallel-tests rule that this is an unexpected failure,
423         even if the test is listed in XFAIL_TESTS.
424
425 2010-06-11  Jim Meyering  <meyering@redhat.com>
426
427         test-inttostr: avoid warnings about 4-6KB literal strings
428         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
429         Include "macros.h", for its definition of ASSERT.
430         (CK): s/assert/ASSERT/
431         * modules/inttostr-tests (Files): Add macros.h.
432
433         init.sh: don't use $ME_ or skip_ before they are defined
434         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
435         their first uses.  Also hoist their companions: warn_, fail_,
436         framework_failure_, $stderr_fileno.  Prompted by a patch from
437         Stefano Lattarini.
438
439         test-sys_socket: avoid set-but-not-used warnings from gcc
440         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
441         avoid warning about set-but-not-used variables.
442
443         test-xvasprintf: avoid 'const' discard warnings
444         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
445         "const" when assigning from literal strings.
446         (test_xasprintf): Add "void" in function argument list to placate
447         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
448
449         tests: avoid compilation warnings in argmatch and exclude tests...
450         in packages that define ARGMATCH_DIE_DECL, like coreutils.
451         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
452         Since it always exits, declare with the "noreturn" attribute.
453         * tests/test-argmatch.c: Likewise.
454
455         tests: avoid 'const' discard warnings in mbsstr tests
456         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
457         * tests/test-mbsstr2.c (main): Likewise.
458
459         test-verify: avoid warning from gcc's -Wmissing-declarations
460         * tests/test-verify.c (function): Declare to be static.
461
462         test-inttostr.c: include <string.h> for use of strcmp
463         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
464
465         test-linkat: avoid failed assertion on "other" architectures
466         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
467         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
468         sparc: https://bugs.launchpad.net/bugs/591968
469
470 2010-06-11  Jim Meyering  <meyering@redhat.com>
471
472         printf.m4: avoid autoconf's "Expanded Before Required" warning
473         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
474         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
475         autoconf warning.
476
477 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
478
479         Replacement header templates are now named with ".in", not "_".
480         * doc/gnulib-intro.texi: Correct.
481
482 2010-06-10  Jim Meyering  <meyering@redhat.com>
483
484         inttostr-tests: depend on snprintf, not snprintf-posix
485         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
486         snprintf-posix, to avoid this aclocal failure:
487           missing file gnulib-tests/vasnprintf.c
488           configure.ac:45: error: expected source file, required through \
489           AC_LIBSOURCES, not found
490
491 2010-06-10  Jim Meyering  <meyering@redhat.com>
492
493         inttostr: add a new function, inttostr, and tests
494         The namesake function was not available.  The existence of the
495         template file, inttostr.c makes its addition nontrivial.
496         * lib/anytostr.c: Rename from inttostr.c.
497         (anytostr): Rename from inttostr.
498         * lib/inttostr.c: New file.
499         * modules/inttostr (Files): Add anytostr.c.
500         (Makefile.am): Set lib_SOURCES instead of ...
501         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
502         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
503         * lib/offtostr.c: Likewise.
504         * lib/uinttostr.c: Likewise.
505         * lib/umaxtostr.c: Likewise.
506         * modules/inttostr-tests: New file.
507         * tests/test-inttostr.c: New file.  Test these functions.
508
509 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
510             Bruno Haible  <bruno@clisp.org>
511
512         Add "Extending Gnulib" chapter to manual.
513         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
514         chapter.
515         (Extending Gnulib): New chapter.
516         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
517         chapter.
518
519 2010-06-09  Bruno Haible  <bruno@clisp.org>
520
521         Avoid relocwrapper link errors due to gnulib replacement functions.
522         * lib/areadlink.c: Use the system's malloc, realloc functions.
523         (areadlink): Set errno to ENOMEM explicitly.
524         * modules/areadlink (Depends-on): Remove malloc-posix.
525         Reported by Ben Pfaff <blp@cs.stanford.edu>.
526
527 2010-06-09  Bruno Haible  <bruno@clisp.org>
528
529         Avoid relocwrapper link errors due to gnulib replacement functions.
530         * lib/canonicalize-lgpl.c: Use the system's malloc function.
531         * lib/malloca.c: Likewise.
532         * lib/relocatable.c: Likewise.
533         * lib/progreloc.c: Use the system's malloc, sprintf functions.
534         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
535         * lib/setenv.c: Use the system's malloc, realloc functions.
536         * lib/strerror.c: Use the system's sprintf function.
537         Reported by Ben Pfaff <blp@cs.stanford.edu>.
538
539 2010-06-04  Bruno Haible  <bruno@clisp.org>
540
541         Prefer documented low-level autoconf macro names.
542         * m4/lib-link.m4: Use m4_translit instead of translit.
543         * m4/environ.m4: Likewise.
544         * m4/mathfunc.m4: Likewise.
545         * m4/onceonly.m4: Likewise.
546         * m4/stdint.m4: Likewise.
547         Suggested by Eric Blake.
548
549 2010-06-04  Martin Lambers  <marlam@marlam.de>
550             Bruno Haible  <bruno@clisp.org>
551
552         havelib: Allow library names with '+' characters.
553         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
554         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
555
556 2010-06-09  Bruno Haible  <bruno@clisp.org>
557
558         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
559         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
560         realloc failed.
561
562 2010-06-08  Peter Simons  <simons@cryp.to>
563
564         maint.mk: make the news-check rule more configurable
565         * top/maint.mk (news-check-lines-spec) New variable.
566         (news-check): Use "sed -n 1,10p" in place of "head".
567
568 2010-06-07  Jim Meyering  <meyering@redhat.com>
569
570         do-release-commit-and-tag: fix typo in --help
571         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
572
573         regex: avoid new dead-code warning with gcc-4.6.0
574         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
575         if-block containing a while-loop.  It's been unused for at least
576         5 years.
577
578 2010-06-05  Bruno Haible  <bruno@clisp.org>
579
580         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
581         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
582
583 2010-06-04  Bruno Haible  <bruno@clisp.org>
584
585         Update to GNU gettext 0.18.1.
586         * modules/gettext (configure.ac): Require gettext infrastructure from
587         version 0.18.1.
588
589 2010-06-03  Bruno Haible  <bruno@clisp.org>
590
591         Don't use AC_LIBOBJ with file names in subdirectories.
592         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
593         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
594         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
595         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
596         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
597         gl_LIBUNISTRING_LIBSOURCE.
598         (Makefile.am): Augment lib_SOURCES here, conditionally.
599         * NEWS: Drop requirement for Automake option 'subdir-objects'.
600
601 2010-06-03  Bruno Haible  <bruno@clisp.org>
602
603         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
604         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
605         expansion does not end with a newline.
606         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
607         unnecessary newline.
608
609 2010-06-03  Bruno Haible  <bruno@clisp.org>
610
611         Reduce dependencies.
612         * tests/test-quotearg.h: New file, extracted from
613         tests/test-quotearg.c.
614         * tests/test-quotearg-simple.c: New file, extracted from
615         tests/test-quotearg.c.
616         * tests/test-quotearg.c: Don't include <ctype.h>.
617         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
618         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
619         use_quote_double_quotes, use_quotearg_colon): Moved to
620         tests/test-quotearg.h.
621         (results_g, flag_results, custom_quotes, custom_results): Moved
622         to tests/test-quotearg-simple.c.
623         (main): Moved the part that does not depend on gettext to
624         tests/test-quotearg-simple.c. Return 77 if the test cannot be
625         performed.
626         * modules/quotearg-simple: New file.
627         * modules/quotearg-simple-tests: New file.
628         * modules/quotearg (Depends-on): Add quotearg-simple.
629         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
630         (Files): Add tests/test-quotearg.h.
631         Reported by Paolo Bonzini.
632
633 2010-06-03  Bruno Haible  <bruno@clisp.org>
634
635         Reduce dependencies.
636         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
637
638 2010-06-03  Bruno Haible  <bruno@clisp.org>
639
640         time: Undefine more broken macros.
641         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
642         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
643         Reported by Eric Blake.
644
645 2010-06-03  Bruno Haible  <bruno@clisp.org>
646
647         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
648         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
649         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
650         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
651         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
652         Reported by Ludovic Courtès <ludo@gnu.org>.
653
654 2010-06-02  Eric Blake  <eblake@redhat.com>
655
656         time: work with mingw + pthreads-win32 library
657         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
658         if timespec is defined only in pthread.h.
659         * modules/time (Makefile.am): Substitute it.
660         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
661         <pthread.h>, when needed.
662         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
663         from the library.
664
665 2010-05-31  Bruno Haible  <bruno@clisp.org>
666
667         Avoid expanding two macros in the wrong order.
668         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
669         gl_LIBUNISTRING if it is defined.
670         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
671         autoconf >= 2.64.
672         Reported by Ludovic Courtès <ludo@gnu.org>.
673
674 2010-05-27  Jim Meyering  <meyering@redhat.com>
675
676         maint.mk: also prohibit "#undef" of always-defined symbols
677         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
678         Allow more than one space before the symbol name.
679         (sc_prohibit_always-defined_macros): Use grep's -E, now that
680         the regexp uses alternation.
681
682 2010-05-26  Eric Blake  <eblake@redhat.com>
683
684         maint.mk: avoid echo -e
685         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
686         Convert all uses of echo -* to printf.
687         Reported by Matthias Bolte.
688
689 2010-05-25  Bruno Haible  <bruno@clisp.org>
690
691         Update to GNU gettext 0.18, part 2.
692         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
693         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
694
695 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
696
697         Add missing include in test-pwrite.c.
698         * tests/test-pwrite.c: Include string.h, for strcmp.
699
700 2010-05-24  Bruno Haible  <bruno@clisp.org>
701
702         * NEWS: Mention requirement for Automake option 'subdir-objects'.
703
704 2010-05-24  Bruno Haible  <bruno@clisp.org>
705
706         Don't use conversion with transliteration in u{8,16,32}_strcoll.
707         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
708         iconveh_error argument.
709         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
710         U_STRCONV_TO_LOCALE.
711         * lib/unistr/u16-strcoll.c: Likewise.
712         * lib/unistr/u32-strcoll.c: Likewise.
713         * modules/unistr/u8-strcoll (Depends-on): Add
714         uniconv/u8-strconv-to-enc, localcharset. Remove
715         uniconv/u8-strconv-to-locale.
716         (configure.ac): Bump version number.
717         * modules/unistr/u16-strcoll (Depends-on): Add
718         uniconv/u16-strconv-to-enc, localcharset. Remove
719         uniconv/u16-strconv-to-locale.
720         (configure.ac): Bump version number.
721         * modules/unistr/u32-strcoll (Depends-on): Add
722         uniconv/u32-strconv-to-enc, localcharset. Remove
723         uniconv/u32-strconv-to-locale.
724         (configure.ac): Bump version number.
725
726 2010-05-24  Bruno Haible  <bruno@clisp.org>
727
728         Avoid a test failure on NetBSD 5.0.
729         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
730         an iconv() bug.
731
732 2010-05-24  Bruno Haible  <bruno@clisp.org>
733
734         Adjust #include directive style.
735         * modules/regex (Includes): Recommend to write <regex.h>.
736
737 2010-05-24  Bruno Haible  <bruno@clisp.org>
738
739         regex: Don't require alloca.
740         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
741         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
742         only inside if (0).
743
744 2010-05-23  Jim Meyering  <meyering@redhat.com>
745
746         test-renameat.c: include <sys/stat.h>
747         * tests/test-renameat.c: Include <sys/stat.h>; required for
748         definition of S_IS* macros.
749
750 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
751
752         Update maintainer documentation for 'relocatable-prog' module.
753         * doc/relocatable-maint.texi: Update.
754         Comments by Bruno Haible.
755
756 2010-05-23  Bruno Haible  <bruno@clisp.org>
757
758         git-merge-changelog: Enable --split-merged-entry by default.
759         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
760         (usage): Don't mention this option any more.
761         Reported by Ralf Wildenhues.
762
763 2010-05-23  Jim Meyering  <meyering@redhat.com>
764
765         test-pwrite: do not leave behind a test file named "out"
766         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
767         The trivial-looking use of init.sh is really necessary.
768         It ensures that the temporary file, "out", is created in
769         a temporary directory, and removed upon termination.
770         * tests/test-pwrite.sh: Re-add file.
771         * modules/pwrite-tests: Reference it.
772
773 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
774
775         Fix output redirection buglet in init.sh.
776         * tests/init.sh: Fix redirection of stderr.
777
778 2010-05-20  Simon Josefsson  <simon@josefsson.org>
779
780         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
781
782 2010-05-17  Simon Josefsson  <simon@josefsson.org>
783
784         * modules/valgrind-tests: New file.
785         * m4/valgrind-tests.m4: New file.
786         * doc/valgrind-tests.texi: New file.
787         * doc/gnulib.texi (Running self-tests under valgrind): New
788         section.
789
790 2010-05-19  Bruno Haible  <bruno@clisp.org>
791
792         Clean up dead code in recent commit.
793         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
794         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
795         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
796         Suggested by Paolo Bonzini.
797
798 2010-05-19  Bruno Haible  <bruno@clisp.org>
799
800         Avoid valgrind error reports from libunistring.
801         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
802         * modules/libunistring (Files): Add it.
803         * modules/libunistring-optional (Files): Likewise.
804
805 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
806             Bruno Haible  <bruno@clisp.org>
807
808         New module 'libunistring-optional'.
809         * modules/libunistring-optional: New file.
810         * m4/libunistring-base.m4: New file.
811         * m4/libunistring-optional.m4: New file.
812         * lib/unicase.in.h: Renamed from lib/unicase.h.
813         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
814         * lib/unictype.in.h: Renamed from lib/unictype.h.
815         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
816         * lib/uniname.in.h: Renamed from lib/uniname.h.
817         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
818         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
819         * lib/unistr.in.h: Renamed from lib/unistr.h.
820         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
821         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
822         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
823         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
824         gl_LIBUNISTRING. If the library was found, determine the installed
825         version and set LIBUNISTRING_VERSION.
826         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
827         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
828         handle a configuration option --with-included-libunistring.
829         * modules/libunistring (Files): Add m4/absolute-header.m4.
830         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
831         Add m4/libunistring-base.m4.
832         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
833         (Makefile.am): Build unicase.h from unicase.in.h.
834         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
835         Add m4/libunistring-base.m4.
836         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
837         (Makefile.am): Build uniconv.h from uniconv.in.h.
838         * modules/unictype/base (Files): Use unictype.in.h instead of
839         unictype.h. Add m4/libunistring-base.m4.
840         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
841         (Makefile.am): Build unictype.h from unictype.in.h.
842         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
843         Add m4/libunistring-base.m4.
844         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
845         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
846         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
847         Add m4/libunistring-base.m4.
848         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
849         (Makefile.am): Build uniname.h from uniname.in.h.
850         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
851         Add m4/libunistring-base.m4.
852         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
853         (Makefile.am): Build uninorm.h from uninorm.in.h.
854         * modules/unistdio/base (Files): Use unistdio.in.h instead of
855         unistdio.h. Add m4/libunistring-base.m4.
856         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
857         (Makefile.am): Build unistdio.h from unistdio.in.h.
858         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
859         Add m4/libunistring-base.m4.
860         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
861         (Makefile.am): Build unistr.h from unistr.in.h.
862         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
863         Add m4/libunistring-base.m4.
864         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
865         (Makefile.am): Build unitypes.h from unitypes.in.h.
866         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
867         Add m4/libunistring-base.m4.
868         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
869         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
870         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
871         uniwidth.h. Add m4/libunistring-base.m4.
872         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
873         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
874         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
875         instead of augmenting lib_SOURCES.
876         * modules/unicase/empty-suffix-context: Likewise.
877         * modules/unicase/locale-language: Likewise.
878         * modules/unicase/tolower: Likewise.
879         * modules/unicase/totitle: Likewise.
880         * modules/unicase/toupper: Likewise.
881         * modules/unicase/u8-casecmp: Likewise.
882         * modules/unicase/u8-casecoll: Likewise.
883         * modules/unicase/u8-casefold: Likewise.
884         * modules/unicase/u8-casexfrm: Likewise.
885         * modules/unicase/u8-ct-casefold: Likewise.
886         * modules/unicase/u8-ct-tolower: Likewise.
887         * modules/unicase/u8-ct-totitle: Likewise.
888         * modules/unicase/u8-ct-toupper: Likewise.
889         * modules/unicase/u8-is-cased: Likewise.
890         * modules/unicase/u8-is-casefolded: Likewise.
891         * modules/unicase/u8-is-lowercase: Likewise.
892         * modules/unicase/u8-is-titlecase: Likewise.
893         * modules/unicase/u8-is-uppercase: Likewise.
894         * modules/unicase/u8-prefix-context: Likewise.
895         * modules/unicase/u8-suffix-context: Likewise.
896         * modules/unicase/u8-tolower: Likewise.
897         * modules/unicase/u8-totitle: Likewise.
898         * modules/unicase/u8-toupper: Likewise.
899         * modules/unicase/u16-casecmp: Likewise.
900         * modules/unicase/u16-casecoll: Likewise.
901         * modules/unicase/u16-casefold: Likewise.
902         * modules/unicase/u16-casexfrm: Likewise.
903         * modules/unicase/u16-ct-casefold: Likewise.
904         * modules/unicase/u16-ct-tolower: Likewise.
905         * modules/unicase/u16-ct-totitle: Likewise.
906         * modules/unicase/u16-ct-toupper: Likewise.
907         * modules/unicase/u16-is-cased: Likewise.
908         * modules/unicase/u16-is-casefolded: Likewise.
909         * modules/unicase/u16-is-lowercase: Likewise.
910         * modules/unicase/u16-is-titlecase: Likewise.
911         * modules/unicase/u16-is-uppercase: Likewise.
912         * modules/unicase/u16-prefix-context: Likewise.
913         * modules/unicase/u16-suffix-context: Likewise.
914         * modules/unicase/u16-tolower: Likewise.
915         * modules/unicase/u16-totitle: Likewise.
916         * modules/unicase/u16-toupper: Likewise.
917         * modules/unicase/u32-casecmp: Likewise.
918         * modules/unicase/u32-casecoll: Likewise.
919         * modules/unicase/u32-casefold: Likewise.
920         * modules/unicase/u32-casexfrm: Likewise.
921         * modules/unicase/u32-ct-casefold: Likewise.
922         * modules/unicase/u32-ct-tolower: Likewise.
923         * modules/unicase/u32-ct-totitle: Likewise.
924         * modules/unicase/u32-ct-toupper: Likewise.
925         * modules/unicase/u32-is-cased: Likewise.
926         * modules/unicase/u32-is-casefolded: Likewise.
927         * modules/unicase/u32-is-lowercase: Likewise.
928         * modules/unicase/u32-is-titlecase: Likewise.
929         * modules/unicase/u32-is-uppercase: Likewise.
930         * modules/unicase/u32-prefix-context: Likewise.
931         * modules/unicase/u32-suffix-context: Likewise.
932         * modules/unicase/u32-tolower: Likewise.
933         * modules/unicase/u32-totitle: Likewise.
934         * modules/unicase/u32-toupper: Likewise.
935         * modules/unicase/ulc-casecmp: Likewise.
936         * modules/unicase/ulc-casecoll: Likewise.
937         * modules/unicase/ulc-casexfrm: Likewise.
938         * modules/uniconv/u8-conv-from-enc: Likewise.
939         * modules/uniconv/u8-conv-to-enc: Likewise.
940         * modules/uniconv/u8-strconv-from-enc: Likewise.
941         * modules/uniconv/u8-strconv-from-locale: Likewise.
942         * modules/uniconv/u8-strconv-to-enc: Likewise.
943         * modules/uniconv/u8-strconv-to-locale: Likewise.
944         * modules/uniconv/u16-conv-from-enc: Likewise.
945         * modules/uniconv/u16-conv-to-enc: Likewise.
946         * modules/uniconv/u16-strconv-from-enc: Likewise.
947         * modules/uniconv/u16-strconv-from-locale: Likewise.
948         * modules/uniconv/u16-strconv-to-enc: Likewise.
949         * modules/uniconv/u16-strconv-to-locale: Likewise.
950         * modules/uniconv/u32-conv-from-enc: Likewise.
951         * modules/uniconv/u32-conv-to-enc: Likewise.
952         * modules/uniconv/u32-strconv-from-enc: Likewise.
953         * modules/uniconv/u32-strconv-from-locale: Likewise.
954         * modules/uniconv/u32-strconv-to-enc: Likewise.
955         * modules/uniconv/u32-strconv-to-locale: Likewise.
956         * modules/unictype/bidicategory-byname: Likewise.
957         * modules/unictype/bidicategory-name: Likewise.
958         * modules/unictype/bidicategory-of: Likewise.
959         * modules/unictype/bidicategory-test: Likewise.
960         * modules/unictype/block-list: Likewise.
961         * modules/unictype/block-test: Likewise.
962         * modules/unictype/category-C: Likewise.
963         * modules/unictype/category-Cc: Likewise.
964         * modules/unictype/category-Cf: Likewise.
965         * modules/unictype/category-Cn: Likewise.
966         * modules/unictype/category-Co: Likewise.
967         * modules/unictype/category-Cs: Likewise.
968         * modules/unictype/category-L: Likewise.
969         * modules/unictype/category-Ll: Likewise.
970         * modules/unictype/category-Lm: Likewise.
971         * modules/unictype/category-Lo: Likewise.
972         * modules/unictype/category-Lt: Likewise.
973         * modules/unictype/category-Lu: Likewise.
974         * modules/unictype/category-M: Likewise.
975         * modules/unictype/category-Mc: Likewise.
976         * modules/unictype/category-Me: Likewise.
977         * modules/unictype/category-Mn: Likewise.
978         * modules/unictype/category-N: Likewise.
979         * modules/unictype/category-Nd: Likewise.
980         * modules/unictype/category-Nl: Likewise.
981         * modules/unictype/category-No: Likewise.
982         * modules/unictype/category-P: Likewise.
983         * modules/unictype/category-Pc: Likewise.
984         * modules/unictype/category-Pd: Likewise.
985         * modules/unictype/category-Pe: Likewise.
986         * modules/unictype/category-Pf: Likewise.
987         * modules/unictype/category-Pi: Likewise.
988         * modules/unictype/category-Po: Likewise.
989         * modules/unictype/category-Ps: Likewise.
990         * modules/unictype/category-S: Likewise.
991         * modules/unictype/category-Sc: Likewise.
992         * modules/unictype/category-Sk: Likewise.
993         * modules/unictype/category-Sm: Likewise.
994         * modules/unictype/category-So: Likewise.
995         * modules/unictype/category-Z: Likewise.
996         * modules/unictype/category-Zl: Likewise.
997         * modules/unictype/category-Zp: Likewise.
998         * modules/unictype/category-Zs: Likewise.
999         * modules/unictype/category-and: Likewise.
1000         * modules/unictype/category-and-not: Likewise.
1001         * modules/unictype/category-byname: Likewise.
1002         * modules/unictype/category-name: Likewise.
1003         * modules/unictype/category-none: Likewise.
1004         * modules/unictype/category-of: Likewise.
1005         * modules/unictype/category-or: Likewise.
1006         * modules/unictype/category-test: Likewise.
1007         * modules/unictype/combining-class: Likewise.
1008         * modules/unictype/ctype-alnum: Likewise.
1009         * modules/unictype/ctype-alpha: Likewise.
1010         * modules/unictype/ctype-blank: Likewise.
1011         * modules/unictype/ctype-cntrl: Likewise.
1012         * modules/unictype/ctype-digit: Likewise.
1013         * modules/unictype/ctype-graph: Likewise.
1014         * modules/unictype/ctype-lower: Likewise.
1015         * modules/unictype/ctype-print: Likewise.
1016         * modules/unictype/ctype-punct: Likewise.
1017         * modules/unictype/ctype-space: Likewise.
1018         * modules/unictype/ctype-upper: Likewise.
1019         * modules/unictype/ctype-xdigit: Likewise.
1020         * modules/unictype/decimal-digit: Likewise.
1021         * modules/unictype/digit: Likewise.
1022         * modules/unictype/mirror: Likewise.
1023         * modules/unictype/numeric: Likewise.
1024         * modules/unictype/property-alphabetic: Likewise.
1025         * modules/unictype/property-ascii-hex-digit: Likewise.
1026         * modules/unictype/property-bidi-arabic-digit: Likewise.
1027         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
1028         * modules/unictype/property-bidi-block-separator: Likewise.
1029         * modules/unictype/property-bidi-boundary-neutral: Likewise.
1030         * modules/unictype/property-bidi-common-separator: Likewise.
1031         * modules/unictype/property-bidi-control: Likewise.
1032         * modules/unictype/property-bidi-embedding-or-override: Likewise.
1033         * modules/unictype/property-bidi-eur-num-separator: Likewise.
1034         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
1035         * modules/unictype/property-bidi-european-digit: Likewise.
1036         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
1037         * modules/unictype/property-bidi-left-to-right: Likewise.
1038         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
1039         * modules/unictype/property-bidi-other-neutral: Likewise.
1040         * modules/unictype/property-bidi-pdf: Likewise.
1041         * modules/unictype/property-bidi-segment-separator: Likewise.
1042         * modules/unictype/property-bidi-whitespace: Likewise.
1043         * modules/unictype/property-byname: Likewise.
1044         * modules/unictype/property-combining: Likewise.
1045         * modules/unictype/property-composite: Likewise.
1046         * modules/unictype/property-currency-symbol: Likewise.
1047         * modules/unictype/property-dash: Likewise.
1048         * modules/unictype/property-decimal-digit: Likewise.
1049         * modules/unictype/property-default-ignorable-code-point: Likewise.
1050         * modules/unictype/property-deprecated: Likewise.
1051         * modules/unictype/property-diacritic: Likewise.
1052         * modules/unictype/property-extender: Likewise.
1053         * modules/unictype/property-format-control: Likewise.
1054         * modules/unictype/property-grapheme-base: Likewise.
1055         * modules/unictype/property-grapheme-extend: Likewise.
1056         * modules/unictype/property-grapheme-link: Likewise.
1057         * modules/unictype/property-hex-digit: Likewise.
1058         * modules/unictype/property-hyphen: Likewise.
1059         * modules/unictype/property-id-continue: Likewise.
1060         * modules/unictype/property-id-start: Likewise.
1061         * modules/unictype/property-ideographic: Likewise.
1062         * modules/unictype/property-ids-binary-operator: Likewise.
1063         * modules/unictype/property-ids-trinary-operator: Likewise.
1064         * modules/unictype/property-ignorable-control: Likewise.
1065         * modules/unictype/property-iso-control: Likewise.
1066         * modules/unictype/property-join-control: Likewise.
1067         * modules/unictype/property-left-of-pair: Likewise.
1068         * modules/unictype/property-line-separator: Likewise.
1069         * modules/unictype/property-logical-order-exception: Likewise.
1070         * modules/unictype/property-lowercase: Likewise.
1071         * modules/unictype/property-math: Likewise.
1072         * modules/unictype/property-non-break: Likewise.
1073         * modules/unictype/property-not-a-character: Likewise.
1074         * modules/unictype/property-numeric: Likewise.
1075         * modules/unictype/property-other-alphabetic: Likewise.
1076         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
1077         * modules/unictype/property-other-grapheme-extend: Likewise.
1078         * modules/unictype/property-other-id-continue: Likewise.
1079         * modules/unictype/property-other-id-start: Likewise.
1080         * modules/unictype/property-other-lowercase: Likewise.
1081         * modules/unictype/property-other-math: Likewise.
1082         * modules/unictype/property-other-uppercase: Likewise.
1083         * modules/unictype/property-paired-punctuation: Likewise.
1084         * modules/unictype/property-paragraph-separator: Likewise.
1085         * modules/unictype/property-pattern-syntax: Likewise.
1086         * modules/unictype/property-pattern-white-space: Likewise.
1087         * modules/unictype/property-private-use: Likewise.
1088         * modules/unictype/property-punctuation: Likewise.
1089         * modules/unictype/property-quotation-mark: Likewise.
1090         * modules/unictype/property-radical: Likewise.
1091         * modules/unictype/property-sentence-terminal: Likewise.
1092         * modules/unictype/property-soft-dotted: Likewise.
1093         * modules/unictype/property-space: Likewise.
1094         * modules/unictype/property-terminal-punctuation: Likewise.
1095         * modules/unictype/property-test: Likewise.
1096         * modules/unictype/property-titlecase: Likewise.
1097         * modules/unictype/property-unassigned-code-value: Likewise.
1098         * modules/unictype/property-unified-ideograph: Likewise.
1099         * modules/unictype/property-uppercase: Likewise.
1100         * modules/unictype/property-variation-selector: Likewise.
1101         * modules/unictype/property-white-space: Likewise.
1102         * modules/unictype/property-xid-continue: Likewise.
1103         * modules/unictype/property-xid-start: Likewise.
1104         * modules/unictype/property-zero-width: Likewise.
1105         * modules/unictype/scripts: Likewise.
1106         * modules/unictype/syntax-c-ident: Likewise.
1107         * modules/unictype/syntax-c-whitespace: Likewise.
1108         * modules/unictype/syntax-java-ident: Likewise.
1109         * modules/unictype/syntax-java-whitespace: Likewise.
1110         * modules/unilbrk/u8-possible-linebreaks: Likewise.
1111         * modules/unilbrk/u8-width-linebreaks: Likewise.
1112         * modules/unilbrk/u16-possible-linebreaks: Likewise.
1113         * modules/unilbrk/u16-width-linebreaks: Likewise.
1114         * modules/unilbrk/u32-possible-linebreaks: Likewise.
1115         * modules/unilbrk/u32-width-linebreaks: Likewise.
1116         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
1117         * modules/unilbrk/ulc-width-linebreaks: Likewise.
1118         * modules/uniname/uniname: Likewise.
1119         * modules/uninorm/canonical-decomposition: Likewise.
1120         * modules/uninorm/composition: Likewise.
1121         * modules/uninorm/decomposing-form: Likewise.
1122         * modules/uninorm/decomposition: Likewise.
1123         * modules/uninorm/filter: Likewise.
1124         * modules/uninorm/nfc: Likewise.
1125         * modules/uninorm/nfd: Likewise.
1126         * modules/uninorm/nfkc: Likewise.
1127         * modules/uninorm/nfkd: Likewise.
1128         * modules/uninorm/u8-normalize: Likewise.
1129         * modules/uninorm/u8-normcmp: Likewise.
1130         * modules/uninorm/u8-normcoll: Likewise.
1131         * modules/uninorm/u8-normxfrm: Likewise.
1132         * modules/uninorm/u16-normalize: Likewise.
1133         * modules/uninorm/u16-normcmp: Likewise.
1134         * modules/uninorm/u16-normcoll: Likewise.
1135         * modules/uninorm/u16-normxfrm: Likewise.
1136         * modules/uninorm/u32-normalize: Likewise.
1137         * modules/uninorm/u32-normcmp: Likewise.
1138         * modules/uninorm/u32-normcoll: Likewise.
1139         * modules/uninorm/u32-normxfrm: Likewise.
1140         * modules/unistdio/u8-asnprintf: Likewise.
1141         * modules/unistdio/u8-asprintf: Likewise.
1142         * modules/unistdio/u8-snprintf: Likewise.
1143         * modules/unistdio/u8-sprintf: Likewise.
1144         * modules/unistdio/u8-u8-asnprintf: Likewise.
1145         * modules/unistdio/u8-u8-asprintf: Likewise.
1146         * modules/unistdio/u8-u8-snprintf: Likewise.
1147         * modules/unistdio/u8-u8-sprintf: Likewise.
1148         * modules/unistdio/u8-u8-vasnprintf: Likewise.
1149         * modules/unistdio/u8-u8-vasprintf: Likewise.
1150         * modules/unistdio/u8-u8-vsnprintf: Likewise.
1151         * modules/unistdio/u8-u8-vsprintf: Likewise.
1152         * modules/unistdio/u8-vasnprintf: Likewise.
1153         * modules/unistdio/u8-vasprintf: Likewise.
1154         * modules/unistdio/u8-vsnprintf: Likewise.
1155         * modules/unistdio/u8-vsprintf: Likewise.
1156         * modules/unistdio/u16-asnprintf: Likewise.
1157         * modules/unistdio/u16-asprintf: Likewise.
1158         * modules/unistdio/u16-snprintf: Likewise.
1159         * modules/unistdio/u16-sprintf: Likewise.
1160         * modules/unistdio/u16-u16-asnprintf: Likewise.
1161         * modules/unistdio/u16-u16-asprintf: Likewise.
1162         * modules/unistdio/u16-u16-snprintf: Likewise.
1163         * modules/unistdio/u16-u16-sprintf: Likewise.
1164         * modules/unistdio/u16-u16-vasnprintf: Likewise.
1165         * modules/unistdio/u16-u16-vasprintf: Likewise.
1166         * modules/unistdio/u16-u16-vsnprintf: Likewise.
1167         * modules/unistdio/u16-u16-vsprintf: Likewise.
1168         * modules/unistdio/u16-vasnprintf: Likewise.
1169         * modules/unistdio/u16-vasprintf: Likewise.
1170         * modules/unistdio/u16-vsnprintf: Likewise.
1171         * modules/unistdio/u16-vsprintf: Likewise.
1172         * modules/unistdio/u32-asnprintf: Likewise.
1173         * modules/unistdio/u32-asprintf: Likewise.
1174         * modules/unistdio/u32-snprintf: Likewise.
1175         * modules/unistdio/u32-sprintf: Likewise.
1176         * modules/unistdio/u32-u32-asnprintf: Likewise.
1177         * modules/unistdio/u32-u32-asprintf: Likewise.
1178         * modules/unistdio/u32-u32-snprintf: Likewise.
1179         * modules/unistdio/u32-u32-sprintf: Likewise.
1180         * modules/unistdio/u32-u32-vasnprintf: Likewise.
1181         * modules/unistdio/u32-u32-vasprintf: Likewise.
1182         * modules/unistdio/u32-u32-vsnprintf: Likewise.
1183         * modules/unistdio/u32-u32-vsprintf: Likewise.
1184         * modules/unistdio/u32-vasnprintf: Likewise.
1185         * modules/unistdio/u32-vasprintf: Likewise.
1186         * modules/unistdio/u32-vsnprintf: Likewise.
1187         * modules/unistdio/u32-vsprintf: Likewise.
1188         * modules/unistdio/ulc-asnprintf: Likewise.
1189         * modules/unistdio/ulc-asprintf: Likewise.
1190         * modules/unistdio/ulc-fprintf: Likewise.
1191         * modules/unistdio/ulc-snprintf: Likewise.
1192         * modules/unistdio/ulc-sprintf: Likewise.
1193         * modules/unistdio/ulc-vasnprintf: Likewise.
1194         * modules/unistdio/ulc-vasprintf: Likewise.
1195         * modules/unistdio/ulc-vfprintf: Likewise.
1196         * modules/unistdio/ulc-vsnprintf: Likewise.
1197         * modules/unistdio/ulc-vsprintf: Likewise.
1198         * modules/unistr/u8-check: Likewise.
1199         * modules/unistr/u8-chr: Likewise.
1200         * modules/unistr/u8-cmp: Likewise.
1201         * modules/unistr/u8-cmp2: Likewise.
1202         * modules/unistr/u8-cpy: Likewise.
1203         * modules/unistr/u8-cpy-alloc: Likewise.
1204         * modules/unistr/u8-endswith: Likewise.
1205         * modules/unistr/u8-mblen: Likewise.
1206         * modules/unistr/u8-mbsnlen: Likewise.
1207         * modules/unistr/u8-mbtouc: Likewise.
1208         * modules/unistr/u8-mbtouc-unsafe: Likewise.
1209         * modules/unistr/u8-mbtoucr: Likewise.
1210         * modules/unistr/u8-move: Likewise.
1211         * modules/unistr/u8-next: Likewise.
1212         * modules/unistr/u8-prev: Likewise.
1213         * modules/unistr/u8-set: Likewise.
1214         * modules/unistr/u8-startswith: Likewise.
1215         * modules/unistr/u8-stpcpy: Likewise.
1216         * modules/unistr/u8-stpncpy: Likewise.
1217         * modules/unistr/u8-strcat: Likewise.
1218         * modules/unistr/u8-strchr: Likewise.
1219         * modules/unistr/u8-strcmp: Likewise.
1220         * modules/unistr/u8-strcoll: Likewise.
1221         * modules/unistr/u8-strcpy: Likewise.
1222         * modules/unistr/u8-strcspn: Likewise.
1223         * modules/unistr/u8-strdup: Likewise.
1224         * modules/unistr/u8-strlen: Likewise.
1225         * modules/unistr/u8-strmblen: Likewise.
1226         * modules/unistr/u8-strmbtouc: Likewise.
1227         * modules/unistr/u8-strncat: Likewise.
1228         * modules/unistr/u8-strncmp: Likewise.
1229         * modules/unistr/u8-strncpy: Likewise.
1230         * modules/unistr/u8-strnlen: Likewise.
1231         * modules/unistr/u8-strpbrk: Likewise.
1232         * modules/unistr/u8-strrchr: Likewise.
1233         * modules/unistr/u8-strspn: Likewise.
1234         * modules/unistr/u8-strstr: Likewise.
1235         * modules/unistr/u8-strtok: Likewise.
1236         * modules/unistr/u8-to-u16: Likewise.
1237         * modules/unistr/u8-to-u32: Likewise.
1238         * modules/unistr/u8-uctomb: Likewise.
1239         * modules/unistr/u16-check: Likewise.
1240         * modules/unistr/u16-chr: Likewise.
1241         * modules/unistr/u16-cmp: Likewise.
1242         * modules/unistr/u16-cmp2: Likewise.
1243         * modules/unistr/u16-cpy: Likewise.
1244         * modules/unistr/u16-cpy-alloc: Likewise.
1245         * modules/unistr/u16-endswith: Likewise.
1246         * modules/unistr/u16-mblen: Likewise.
1247         * modules/unistr/u16-mbsnlen: Likewise.
1248         * modules/unistr/u16-mbtouc: Likewise.
1249         * modules/unistr/u16-mbtouc-unsafe: Likewise.
1250         * modules/unistr/u16-mbtoucr: Likewise.
1251         * modules/unistr/u16-move: Likewise.
1252         * modules/unistr/u16-next: Likewise.
1253         * modules/unistr/u16-prev: Likewise.
1254         * modules/unistr/u16-set: Likewise.
1255         * modules/unistr/u16-startswith: Likewise.
1256         * modules/unistr/u16-stpcpy: Likewise.
1257         * modules/unistr/u16-stpncpy: Likewise.
1258         * modules/unistr/u16-strcat: Likewise.
1259         * modules/unistr/u16-strchr: Likewise.
1260         * modules/unistr/u16-strcmp: Likewise.
1261         * modules/unistr/u16-strcoll: Likewise.
1262         * modules/unistr/u16-strcpy: Likewise.
1263         * modules/unistr/u16-strcspn: Likewise.
1264         * modules/unistr/u16-strdup: Likewise.
1265         * modules/unistr/u16-strlen: Likewise.
1266         * modules/unistr/u16-strmblen: Likewise.
1267         * modules/unistr/u16-strmbtouc: Likewise.
1268         * modules/unistr/u16-strncat: Likewise.
1269         * modules/unistr/u16-strncmp: Likewise.
1270         * modules/unistr/u16-strncpy: Likewise.
1271         * modules/unistr/u16-strnlen: Likewise.
1272         * modules/unistr/u16-strpbrk: Likewise.
1273         * modules/unistr/u16-strrchr: Likewise.
1274         * modules/unistr/u16-strspn: Likewise.
1275         * modules/unistr/u16-strstr: Likewise.
1276         * modules/unistr/u16-strtok: Likewise.
1277         * modules/unistr/u16-to-u32: Likewise.
1278         * modules/unistr/u16-to-u8: Likewise.
1279         * modules/unistr/u16-uctomb: Likewise.
1280         * modules/unistr/u32-check: Likewise.
1281         * modules/unistr/u32-chr: Likewise.
1282         * modules/unistr/u32-cmp: Likewise.
1283         * modules/unistr/u32-cmp2: Likewise.
1284         * modules/unistr/u32-cpy: Likewise.
1285         * modules/unistr/u32-cpy-alloc: Likewise.
1286         * modules/unistr/u32-endswith: Likewise.
1287         * modules/unistr/u32-mblen: Likewise.
1288         * modules/unistr/u32-mbsnlen: Likewise.
1289         * modules/unistr/u32-mbtouc: Likewise.
1290         * modules/unistr/u32-mbtouc-unsafe: Likewise.
1291         * modules/unistr/u32-mbtoucr: Likewise.
1292         * modules/unistr/u32-move: Likewise.
1293         * modules/unistr/u32-next: Likewise.
1294         * modules/unistr/u32-prev: Likewise.
1295         * modules/unistr/u32-set: Likewise.
1296         * modules/unistr/u32-startswith: Likewise.
1297         * modules/unistr/u32-stpcpy: Likewise.
1298         * modules/unistr/u32-stpncpy: Likewise.
1299         * modules/unistr/u32-strcat: Likewise.
1300         * modules/unistr/u32-strchr: Likewise.
1301         * modules/unistr/u32-strcmp: Likewise.
1302         * modules/unistr/u32-strcoll: Likewise.
1303         * modules/unistr/u32-strcpy: Likewise.
1304         * modules/unistr/u32-strcspn: Likewise.
1305         * modules/unistr/u32-strdup: Likewise.
1306         * modules/unistr/u32-strlen: Likewise.
1307         * modules/unistr/u32-strmblen: Likewise.
1308         * modules/unistr/u32-strmbtouc: Likewise.
1309         * modules/unistr/u32-strncat: Likewise.
1310         * modules/unistr/u32-strncmp: Likewise.
1311         * modules/unistr/u32-strncpy: Likewise.
1312         * modules/unistr/u32-strnlen: Likewise.
1313         * modules/unistr/u32-strpbrk: Likewise.
1314         * modules/unistr/u32-strrchr: Likewise.
1315         * modules/unistr/u32-strspn: Likewise.
1316         * modules/unistr/u32-strstr: Likewise.
1317         * modules/unistr/u32-strtok: Likewise.
1318         * modules/unistr/u32-to-u16: Likewise.
1319         * modules/unistr/u32-to-u8: Likewise.
1320         * modules/unistr/u32-uctomb: Likewise.
1321         * modules/uniwbrk/u8-wordbreaks: Likewise.
1322         * modules/uniwbrk/u16-wordbreaks: Likewise.
1323         * modules/uniwbrk/u32-wordbreaks: Likewise.
1324         * modules/uniwbrk/ulc-wordbreaks: Likewise.
1325         * modules/uniwbrk/wordbreak-property: Likewise.
1326         * modules/uniwidth/u8-strwidth: Likewise.
1327         * modules/uniwidth/u8-width: Likewise.
1328         * modules/uniwidth/u16-strwidth: Likewise.
1329         * modules/uniwidth/u16-width: Likewise.
1330         * modules/uniwidth/u32-strwidth: Likewise.
1331         * modules/uniwidth/u32-width: Likewise.
1332         * modules/uniwidth/width: Likewise.
1333         * modules/unicase/cased-tests (Makefile.am): Link all test programs
1334         with $(LIBUNISTRING).
1335         * modules/unicase/ignorable-tests: Likewise.
1336         * modules/unicase/locale-language-tests: Likewise.
1337         * modules/unicase/tolower-tests: Likewise.
1338         * modules/unicase/totitle-tests: Likewise.
1339         * modules/unicase/toupper-tests: Likewise.
1340         * modules/unicase/u8-casecmp-tests: Likewise.
1341         * modules/unicase/u8-casecoll-tests: Likewise.
1342         * modules/unicase/u8-casefold-tests: Likewise.
1343         * modules/unicase/u8-is-cased-tests: Likewise.
1344         * modules/unicase/u8-is-casefolded-tests: Likewise.
1345         * modules/unicase/u8-is-lowercase-tests: Likewise.
1346         * modules/unicase/u8-is-titlecase-tests: Likewise.
1347         * modules/unicase/u8-is-uppercase-tests: Likewise.
1348         * modules/unicase/u8-tolower-tests: Likewise.
1349         * modules/unicase/u8-totitle-tests: Likewise.
1350         * modules/unicase/u8-toupper-tests: Likewise.
1351         * modules/unicase/u16-casecmp-tests: Likewise.
1352         * modules/unicase/u16-casecoll-tests: Likewise.
1353         * modules/unicase/u16-casefold-tests: Likewise.
1354         * modules/unicase/u16-is-cased-tests: Likewise.
1355         * modules/unicase/u16-is-casefolded-tests: Likewise.
1356         * modules/unicase/u16-is-lowercase-tests: Likewise.
1357         * modules/unicase/u16-is-titlecase-tests: Likewise.
1358         * modules/unicase/u16-is-uppercase-tests: Likewise.
1359         * modules/unicase/u16-tolower-tests: Likewise.
1360         * modules/unicase/u16-totitle-tests: Likewise.
1361         * modules/unicase/u16-toupper-tests: Likewise.
1362         * modules/unicase/u32-casecmp-tests: Likewise.
1363         * modules/unicase/u32-casecoll-tests: Likewise.
1364         * modules/unicase/u32-casefold-tests: Likewise.
1365         * modules/unicase/u32-is-cased-tests: Likewise.
1366         * modules/unicase/u32-is-casefolded-tests: Likewise.
1367         * modules/unicase/u32-is-lowercase-tests: Likewise.
1368         * modules/unicase/u32-is-titlecase-tests: Likewise.
1369         * modules/unicase/u32-is-uppercase-tests: Likewise.
1370         * modules/unicase/u32-tolower-tests: Likewise.
1371         * modules/unicase/u32-totitle-tests: Likewise.
1372         * modules/unicase/u32-toupper-tests: Likewise.
1373         * modules/unicase/ulc-casecmp-tests: Likewise.
1374         * modules/unicase/ulc-casecoll-tests: Likewise.
1375         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
1376         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
1377         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
1378         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
1379         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
1380         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
1381         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
1382         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
1383         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
1384         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
1385         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
1386         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
1387         * modules/unictype/bidicategory-byname-tests: Likewise.
1388         * modules/unictype/bidicategory-name-tests: Likewise.
1389         * modules/unictype/bidicategory-of-tests: Likewise.
1390         * modules/unictype/bidicategory-test-tests: Likewise.
1391         * modules/unictype/block-list-tests: Likewise.
1392         * modules/unictype/block-of-tests: Likewise.
1393         * modules/unictype/block-test-tests: Likewise.
1394         * modules/unictype/category-C-tests: Likewise.
1395         * modules/unictype/category-Cc-tests: Likewise.
1396         * modules/unictype/category-Cf-tests: Likewise.
1397         * modules/unictype/category-Cn-tests: Likewise.
1398         * modules/unictype/category-Co-tests: Likewise.
1399         * modules/unictype/category-Cs-tests: Likewise.
1400         * modules/unictype/category-L-tests: Likewise.
1401         * modules/unictype/category-Ll-tests: Likewise.
1402         * modules/unictype/category-Lm-tests: Likewise.
1403         * modules/unictype/category-Lo-tests: Likewise.
1404         * modules/unictype/category-Lt-tests: Likewise.
1405         * modules/unictype/category-Lu-tests: Likewise.
1406         * modules/unictype/category-M-tests: Likewise.
1407         * modules/unictype/category-Mc-tests: Likewise.
1408         * modules/unictype/category-Me-tests: Likewise.
1409         * modules/unictype/category-Mn-tests: Likewise.
1410         * modules/unictype/category-N-tests: Likewise.
1411         * modules/unictype/category-Nd-tests: Likewise.
1412         * modules/unictype/category-Nl-tests: Likewise.
1413         * modules/unictype/category-No-tests: Likewise.
1414         * modules/unictype/category-P-tests: Likewise.
1415         * modules/unictype/category-Pc-tests: Likewise.
1416         * modules/unictype/category-Pd-tests: Likewise.
1417         * modules/unictype/category-Pe-tests: Likewise.
1418         * modules/unictype/category-Pf-tests: Likewise.
1419         * modules/unictype/category-Pi-tests: Likewise.
1420         * modules/unictype/category-Po-tests: Likewise.
1421         * modules/unictype/category-Ps-tests: Likewise.
1422         * modules/unictype/category-S-tests: Likewise.
1423         * modules/unictype/category-Sc-tests: Likewise.
1424         * modules/unictype/category-Sk-tests: Likewise.
1425         * modules/unictype/category-Sm-tests: Likewise.
1426         * modules/unictype/category-So-tests: Likewise.
1427         * modules/unictype/category-Z-tests: Likewise.
1428         * modules/unictype/category-Zl-tests: Likewise.
1429         * modules/unictype/category-Zp-tests: Likewise.
1430         * modules/unictype/category-Zs-tests: Likewise.
1431         * modules/unictype/category-and-not-tests: Likewise.
1432         * modules/unictype/category-and-tests: Likewise.
1433         * modules/unictype/category-byname-tests: Likewise.
1434         * modules/unictype/category-name-tests: Likewise.
1435         * modules/unictype/category-none-tests: Likewise.
1436         * modules/unictype/category-of-tests: Likewise.
1437         * modules/unictype/category-or-tests: Likewise.
1438         * modules/unictype/category-test-withtable-tests: Likewise.
1439         * modules/unictype/combining-class-tests: Likewise.
1440         * modules/unictype/ctype-alnum-tests: Likewise.
1441         * modules/unictype/ctype-alpha-tests: Likewise.
1442         * modules/unictype/ctype-blank-tests: Likewise.
1443         * modules/unictype/ctype-cntrl-tests: Likewise.
1444         * modules/unictype/ctype-digit-tests: Likewise.
1445         * modules/unictype/ctype-graph-tests: Likewise.
1446         * modules/unictype/ctype-lower-tests: Likewise.
1447         * modules/unictype/ctype-print-tests: Likewise.
1448         * modules/unictype/ctype-punct-tests: Likewise.
1449         * modules/unictype/ctype-space-tests: Likewise.
1450         * modules/unictype/ctype-upper-tests: Likewise.
1451         * modules/unictype/ctype-xdigit-tests: Likewise.
1452         * modules/unictype/decimal-digit-tests: Likewise.
1453         * modules/unictype/digit-tests: Likewise.
1454         * modules/unictype/mirror-tests: Likewise.
1455         * modules/unictype/numeric-tests: Likewise.
1456         * modules/unictype/property-alphabetic-tests: Likewise.
1457         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
1458         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
1459         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
1460         * modules/unictype/property-bidi-block-separator-tests: Likewise.
1461         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
1462         * modules/unictype/property-bidi-common-separator-tests: Likewise.
1463         * modules/unictype/property-bidi-control-tests: Likewise.
1464         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
1465         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
1466         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
1467         * modules/unictype/property-bidi-european-digit-tests: Likewise.
1468         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
1469         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
1470         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
1471         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
1472         * modules/unictype/property-bidi-pdf-tests: Likewise.
1473         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
1474         * modules/unictype/property-bidi-whitespace-tests: Likewise.
1475         * modules/unictype/property-byname-tests: Likewise.
1476         * modules/unictype/property-combining-tests: Likewise.
1477         * modules/unictype/property-composite-tests: Likewise.
1478         * modules/unictype/property-currency-symbol-tests: Likewise.
1479         * modules/unictype/property-dash-tests: Likewise.
1480         * modules/unictype/property-decimal-digit-tests: Likewise.
1481         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
1482         * modules/unictype/property-deprecated-tests: Likewise.
1483         * modules/unictype/property-diacritic-tests: Likewise.
1484         * modules/unictype/property-extender-tests: Likewise.
1485         * modules/unictype/property-format-control-tests: Likewise.
1486         * modules/unictype/property-grapheme-base-tests: Likewise.
1487         * modules/unictype/property-grapheme-extend-tests: Likewise.
1488         * modules/unictype/property-grapheme-link-tests: Likewise.
1489         * modules/unictype/property-hex-digit-tests: Likewise.
1490         * modules/unictype/property-hyphen-tests: Likewise.
1491         * modules/unictype/property-id-continue-tests: Likewise.
1492         * modules/unictype/property-id-start-tests: Likewise.
1493         * modules/unictype/property-ideographic-tests: Likewise.
1494         * modules/unictype/property-ids-binary-operator-tests: Likewise.
1495         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
1496         * modules/unictype/property-ignorable-control-tests: Likewise.
1497         * modules/unictype/property-iso-control-tests: Likewise.
1498         * modules/unictype/property-join-control-tests: Likewise.
1499         * modules/unictype/property-left-of-pair-tests: Likewise.
1500         * modules/unictype/property-line-separator-tests: Likewise.
1501         * modules/unictype/property-logical-order-exception-tests: Likewise.
1502         * modules/unictype/property-lowercase-tests: Likewise.
1503         * modules/unictype/property-math-tests: Likewise.
1504         * modules/unictype/property-non-break-tests: Likewise.
1505         * modules/unictype/property-not-a-character-tests: Likewise.
1506         * modules/unictype/property-numeric-tests: Likewise.
1507         * modules/unictype/property-other-alphabetic-tests: Likewise.
1508         * modules/unictype/property-other-default-ignorable-code-point-tests:
1509         Likewise.
1510         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
1511         * modules/unictype/property-other-id-continue-tests: Likewise.
1512         * modules/unictype/property-other-id-start-tests: Likewise.
1513         * modules/unictype/property-other-lowercase-tests: Likewise.
1514         * modules/unictype/property-other-math-tests: Likewise.
1515         * modules/unictype/property-other-uppercase-tests: Likewise.
1516         * modules/unictype/property-paired-punctuation-tests: Likewise.
1517         * modules/unictype/property-paragraph-separator-tests: Likewise.
1518         * modules/unictype/property-pattern-syntax-tests: Likewise.
1519         * modules/unictype/property-pattern-white-space-tests: Likewise.
1520         * modules/unictype/property-private-use-tests: Likewise.
1521         * modules/unictype/property-punctuation-tests: Likewise.
1522         * modules/unictype/property-quotation-mark-tests: Likewise.
1523         * modules/unictype/property-radical-tests: Likewise.
1524         * modules/unictype/property-sentence-terminal-tests: Likewise.
1525         * modules/unictype/property-soft-dotted-tests: Likewise.
1526         * modules/unictype/property-space-tests: Likewise.
1527         * modules/unictype/property-terminal-punctuation-tests: Likewise.
1528         * modules/unictype/property-test-tests: Likewise.
1529         * modules/unictype/property-titlecase-tests: Likewise.
1530         * modules/unictype/property-unassigned-code-value-tests: Likewise.
1531         * modules/unictype/property-unified-ideograph-tests: Likewise.
1532         * modules/unictype/property-uppercase-tests: Likewise.
1533         * modules/unictype/property-variation-selector-tests: Likewise.
1534         * modules/unictype/property-white-space-tests: Likewise.
1535         * modules/unictype/property-xid-continue-tests: Likewise.
1536         * modules/unictype/property-xid-start-tests: Likewise.
1537         * modules/unictype/property-zero-width-tests: Likewise.
1538         * modules/unictype/scripts-tests: Likewise.
1539         * modules/unictype/syntax-c-ident-tests: Likewise.
1540         * modules/unictype/syntax-c-whitespace-tests: Likewise.
1541         * modules/unictype/syntax-java-ident-tests: Likewise.
1542         * modules/unictype/syntax-java-whitespace-tests: Likewise.
1543         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
1544         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
1545         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
1546         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
1547         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
1548         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
1549         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
1550         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
1551         * modules/uniname/uniname-tests: Likewise.
1552         * modules/uninorm/canonical-decomposition-tests: Likewise.
1553         * modules/uninorm/compat-decomposition-tests: Likewise.
1554         * modules/uninorm/composition-tests: Likewise.
1555         * modules/uninorm/decomposing-form-tests: Likewise.
1556         * modules/uninorm/decomposition-tests: Likewise.
1557         * modules/uninorm/filter-tests: Likewise.
1558         * modules/uninorm/nfc-tests: Likewise.
1559         * modules/uninorm/nfd-tests: Likewise.
1560         * modules/uninorm/nfkc-tests: Likewise.
1561         * modules/uninorm/nfkd-tests: Likewise.
1562         * modules/uninorm/u8-normcmp-tests: Likewise.
1563         * modules/uninorm/u8-normcoll-tests: Likewise.
1564         * modules/uninorm/u16-normcmp-tests: Likewise.
1565         * modules/uninorm/u16-normcoll-tests: Likewise.
1566         * modules/uninorm/u32-normcmp-tests: Likewise.
1567         * modules/uninorm/u32-normcoll-tests: Likewise.
1568         * modules/unistdio/u8-asnprintf-tests: Likewise.
1569         * modules/unistdio/u8-vasnprintf-tests: Likewise.
1570         * modules/unistdio/u8-vasprintf-tests: Likewise.
1571         * modules/unistdio/u8-vsnprintf-tests: Likewise.
1572         * modules/unistdio/u8-vsprintf-tests: Likewise.
1573         * modules/unistdio/u16-asnprintf-tests: Likewise.
1574         * modules/unistdio/u16-vasnprintf-tests: Likewise.
1575         * modules/unistdio/u16-vasprintf-tests: Likewise.
1576         * modules/unistdio/u16-vsnprintf-tests: Likewise.
1577         * modules/unistdio/u16-vsprintf-tests: Likewise.
1578         * modules/unistdio/u32-asnprintf-tests: Likewise.
1579         * modules/unistdio/u32-vasnprintf-tests: Likewise.
1580         * modules/unistdio/u32-vasprintf-tests: Likewise.
1581         * modules/unistdio/u32-vsnprintf-tests: Likewise.
1582         * modules/unistdio/u32-vsprintf-tests: Likewise.
1583         * modules/unistdio/ulc-asnprintf-tests: Likewise.
1584         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
1585         * modules/unistdio/ulc-vasprintf-tests: Likewise.
1586         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
1587         * modules/unistdio/ulc-vsprintf-tests: Likewise.
1588         * modules/unistr/u8-check-tests: Likewise.
1589         * modules/unistr/u8-chr-tests: Likewise.
1590         * modules/unistr/u8-cmp-tests: Likewise.
1591         * modules/unistr/u8-cmp2-tests: Likewise.
1592         * modules/unistr/u8-cpy-alloc-tests: Likewise.
1593         * modules/unistr/u8-cpy-tests: Likewise.
1594         * modules/unistr/u8-mblen-tests: Likewise.
1595         * modules/unistr/u8-mbsnlen-tests: Likewise.
1596         * modules/unistr/u8-mbtouc-tests: Likewise.
1597         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
1598         * modules/unistr/u8-mbtoucr-tests: Likewise.
1599         * modules/unistr/u8-move-tests: Likewise.
1600         * modules/unistr/u8-next-tests: Likewise.
1601         * modules/unistr/u8-prev-tests: Likewise.
1602         * modules/unistr/u8-set-tests: Likewise.
1603         * modules/unistr/u8-stpcpy-tests: Likewise.
1604         * modules/unistr/u8-stpncpy-tests: Likewise.
1605         * modules/unistr/u8-strcat-tests: Likewise.
1606         * modules/unistr/u8-strcmp-tests: Likewise.
1607         * modules/unistr/u8-strcoll-tests: Likewise.
1608         * modules/unistr/u8-strcpy-tests: Likewise.
1609         * modules/unistr/u8-strdup-tests: Likewise.
1610         * modules/unistr/u8-strlen-tests: Likewise.
1611         * modules/unistr/u8-strmblen-tests: Likewise.
1612         * modules/unistr/u8-strmbtouc-tests: Likewise.
1613         * modules/unistr/u8-strncat-tests: Likewise.
1614         * modules/unistr/u8-strncmp-tests: Likewise.
1615         * modules/unistr/u8-strncpy-tests: Likewise.
1616         * modules/unistr/u8-strnlen-tests: Likewise.
1617         * modules/unistr/u8-to-u16-tests: Likewise.
1618         * modules/unistr/u8-to-u32-tests: Likewise.
1619         * modules/unistr/u8-uctomb-tests: Likewise.
1620         * modules/unistr/u16-check-tests: Likewise.
1621         * modules/unistr/u16-chr-tests: Likewise.
1622         * modules/unistr/u16-cmp-tests: Likewise.
1623         * modules/unistr/u16-cmp2-tests: Likewise.
1624         * modules/unistr/u16-cpy-alloc-tests: Likewise.
1625         * modules/unistr/u16-cpy-tests: Likewise.
1626         * modules/unistr/u16-mblen-tests: Likewise.
1627         * modules/unistr/u16-mbsnlen-tests: Likewise.
1628         * modules/unistr/u16-mbtouc-tests: Likewise.
1629         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
1630         * modules/unistr/u16-mbtoucr-tests: Likewise.
1631         * modules/unistr/u16-move-tests: Likewise.
1632         * modules/unistr/u16-next-tests: Likewise.
1633         * modules/unistr/u16-prev-tests: Likewise.
1634         * modules/unistr/u16-set-tests: Likewise.
1635         * modules/unistr/u16-stpcpy-tests: Likewise.
1636         * modules/unistr/u16-stpncpy-tests: Likewise.
1637         * modules/unistr/u16-strcat-tests: Likewise.
1638         * modules/unistr/u16-strcmp-tests: Likewise.
1639         * modules/unistr/u16-strcoll-tests: Likewise.
1640         * modules/unistr/u16-strcpy-tests: Likewise.
1641         * modules/unistr/u16-strdup-tests: Likewise.
1642         * modules/unistr/u16-strlen-tests: Likewise.
1643         * modules/unistr/u16-strmblen-tests: Likewise.
1644         * modules/unistr/u16-strmbtouc-tests: Likewise.
1645         * modules/unistr/u16-strncat-tests: Likewise.
1646         * modules/unistr/u16-strncmp-tests: Likewise.
1647         * modules/unistr/u16-strncpy-tests: Likewise.
1648         * modules/unistr/u16-strnlen-tests: Likewise.
1649         * modules/unistr/u16-to-u32-tests: Likewise.
1650         * modules/unistr/u16-to-u8-tests: Likewise.
1651         * modules/unistr/u16-uctomb-tests: Likewise.
1652         * modules/unistr/u32-check-tests: Likewise.
1653         * modules/unistr/u32-chr-tests: Likewise.
1654         * modules/unistr/u32-cmp-tests: Likewise.
1655         * modules/unistr/u32-cmp2-tests: Likewise.
1656         * modules/unistr/u32-cpy-alloc-tests: Likewise.
1657         * modules/unistr/u32-cpy-tests: Likewise.
1658         * modules/unistr/u32-mblen-tests: Likewise.
1659         * modules/unistr/u32-mbsnlen-tests: Likewise.
1660         * modules/unistr/u32-mbtouc-tests: Likewise.
1661         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
1662         * modules/unistr/u32-mbtoucr-tests: Likewise.
1663         * modules/unistr/u32-move-tests: Likewise.
1664         * modules/unistr/u32-next-tests: Likewise.
1665         * modules/unistr/u32-prev-tests: Likewise.
1666         * modules/unistr/u32-set-tests: Likewise.
1667         * modules/unistr/u32-stpcpy-tests: Likewise.
1668         * modules/unistr/u32-stpncpy-tests: Likewise.
1669         * modules/unistr/u32-strcat-tests: Likewise.
1670         * modules/unistr/u32-strcmp-tests: Likewise.
1671         * modules/unistr/u32-strcoll-tests: Likewise.
1672         * modules/unistr/u32-strcpy-tests: Likewise.
1673         * modules/unistr/u32-strdup-tests: Likewise.
1674         * modules/unistr/u32-strlen-tests: Likewise.
1675         * modules/unistr/u32-strmblen-tests: Likewise.
1676         * modules/unistr/u32-strmbtouc-tests: Likewise.
1677         * modules/unistr/u32-strncat-tests: Likewise.
1678         * modules/unistr/u32-strncmp-tests: Likewise.
1679         * modules/unistr/u32-strncpy-tests: Likewise.
1680         * modules/unistr/u32-strnlen-tests: Likewise.
1681         * modules/unistr/u32-to-u16-tests: Likewise.
1682         * modules/unistr/u32-to-u8-tests: Likewise.
1683         * modules/unistr/u32-uctomb-tests: Likewise.
1684         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
1685         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
1686         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
1687         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
1688         * modules/uniwidth/u8-strwidth-tests: Likewise.
1689         * modules/uniwidth/u8-width-tests: Likewise.
1690         * modules/uniwidth/u16-strwidth-tests: Likewise.
1691         * modules/uniwidth/u16-width-tests: Likewise.
1692         * modules/uniwidth/u32-strwidth-tests: Likewise.
1693         * modules/uniwidth/u32-width-tests: Likewise.
1694         * modules/uniwidth/width-tests: Likewise.
1695
1696 2010-05-18  Richard Jones  <rjones@redhat.com>
1697
1698         doc: users.txt: list hivex
1699         * users.txt: Add hivex.
1700
1701 2010-05-18  Richard Jones  <rjones@redhat.com>
1702
1703         doc: users.txt: list febootstrap
1704         * users.txt: Add febootstrap.
1705
1706 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
1707
1708         bootstrap: fix an error when gnulib is not used as a git submodule
1709         * build-aux/bootstrap (gnulib_path): If its length is zero then
1710         assign "gnulib" to it.
1711         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
1712
1713 2010-05-16  Bruno Haible  <bruno@clisp.org>
1714
1715         Avoid autoconf warnings about AM_ICONV.
1716         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
1717         2.64.
1718
1719 2010-05-16  Bruno Haible  <bruno@clisp.org>
1720
1721         absolute-header: Make the macro usable in more situations.
1722         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
1723         from gl_ABSOLUTE_HEADER.
1724         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
1725
1726 2010-05-16  James Youngman  <jay@gnu.org>
1727
1728         doc: update users.txt
1729         * users.txt: Add CSSC.
1730
1731 2010-05-16  Jim Meyering  <meyering@redhat.com>
1732
1733         init.sh: fix an error in the previous change; add more comments
1734         * tests/init.sh: Compare exit code in loop against 9, not 2.
1735         Patch by Bruno Haible.
1736         Make the two tests more similar by adding an empty "then" clause.
1737         Add comments.
1738
1739         init.sh: avoid unnecessary shell re-exec
1740         * tests/init.sh: Improve the re-exec-required check to first test the
1741         current shell.  If it passes the test, do not search for a shell that
1742         does pass, and do not re-exec.  This test is particularly contorted to
1743         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
1744         of $(...) evokes a syntax error and causes immediate shell exit with
1745         status 2.  Bruno Haible reported that the re-exec made it impossible
1746         to single-step through any init.sh-using script.
1747
1748 2010-05-16  Bruno Haible  <bruno@clisp.org>
1749
1750         Fix collision between gnulib's and libintl's printf replacements.
1751         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
1752         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
1753         (printf): When using GNU C, map the __printf__ function to rpl_printf
1754         via __asm__. When not using GNU C, define rpl_printf instead of
1755         __printf__.
1756         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
1757         commit.
1758         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
1759         commit.
1760         * m4/asm-underscore.m4: New file.
1761         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
1762         * modules/stdio (Files): Add m4/asm-underscore.m4.
1763         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
1764         Reported by Ben Pfaff.
1765
1766 2010-05-16  Bruno Haible  <bruno@clisp.org>
1767
1768         verify: Avoid skipping the test on openSUSE 11.0.
1769         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
1770
1771 2010-05-13  Bruno Haible  <bruno@clisp.org>
1772
1773         Avoid useless warnings from G++.
1774         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
1775         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
1776         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1777
1778 2010-05-11  Jim Meyering  <meyering@redhat.com>
1779
1780         maint.mk: tweak preceding change
1781         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
1782         regexps tighter by anchoring at EOL, and make the new group "shy"
1783         for slightly decreased overhead.
1784
1785 2010-05-11  Eric Blake  <eblake@redhat.com>
1786
1787         maint.mk: gnulib doesn't guarantee NSIG
1788         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
1789
1790 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
1791
1792         test-pwrite.c: Remove unused variable declaration.
1793         * tests/test-pwrite.c (main): Remove read_buf declaration.
1794
1795         Remove useless test-pwrite.sh file.
1796         * tests/test-pwrite.sh: Delete file.
1797         * modules/pwrite-tests: Remove references.
1798         Reported by Bruno Haible.
1799
1800 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
1801
1802         init.sh: fix a typo
1803         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
1804
1805 2010-05-10  Jim Meyering  <meyering@redhat.com>
1806
1807         maint.mk: avoid using a temporary file in the always-defined-macros check
1808         * top/maint.mk (.re-defmac): Remove rule.
1809         (gl_trap_): Remove definition.
1810         (sc_prohibit_always-defined_macros): Rewrite not to create and
1811         depend on a temporary file.  Instead, depend on GNU grep's ability
1812         to read a list of regular expressions from stdin when given "-f -".
1813
1814 2010-05-09  Bruno Haible  <bruno@clisp.org>
1815
1816         Update to GNU gettext 0.18, part 1.
1817         * m4/gettext.m4: Update to GNU gettext 0.18.
1818         * m4/intl.m4: Likewise.
1819         * m4/po.m4: Likewise.
1820         * modules/gettext (Files): Add m4/fcntl-o.m4.
1821         (configure.ac): Require gettext infrastructure from version 0.18.
1822
1823 2010-05-09  Jim Meyering  <meyering@redhat.com>
1824
1825         init.sh: enable MALLOC_PERTURB_
1826         * tests/init.sh: Enable glibc's malloc-perturbing option.
1827
1828         maint.mk: improve sc_cross_check_PATH_usage_in_tests
1829         With my recent change in init.sh from the two-line form:
1830             -#   : ${srcdir=.}
1831             -#   . "$srcdir/init.sh"; path_prepend_ .
1832             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
1833         I noticed that using the one-line form would cause this test
1834         to fail with a false-positive, or to stop working altogether,
1835         depending on whether help-version changed or all the tests did.
1836         * top/maint.mk (_hv_regex): Remove this definition.
1837         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
1838         (_hv_regex_strong): Use a stronger regex to check for conformance.
1839         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
1840         Give a separate diagnostic for lack of conforming use.
1841
1842         maint.mk: prohibit definition of symbols defined by gnulib
1843         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
1844         definition of symbols defined by gnulib.
1845
1846 2010-05-09  Bruno Haible  <bruno@clisp.org>
1847
1848         acl: Avoid test failure on Cygwin-hosted mingw.
1849         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
1850
1851 2010-05-09  Bruno Haible  <bruno@clisp.org>
1852
1853         error: Use system's fcntl function.
1854         * lib/error.c (fcntl): Undefine.
1855
1856 2010-05-09  Jim Meyering  <meyering@redhat.com>
1857
1858         verify: adjust formatting to be more consistent
1859         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
1860         argument-list '('s, and after one comma.
1861
1862 2010-05-09  Bruno Haible  <bruno@clisp.org>
1863
1864         error: More reliable output on mingw.
1865         * lib/error.c: Include <windows.h>.
1866         (is_open): New function.
1867         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
1868         defined.
1869
1870 2010-05-09  Bruno Haible  <bruno@clisp.org>
1871
1872         vasnprintf: Fix syntax errors in libintl build on mingw.
1873         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
1874         pad_ourselves and prec_ourselves after use.
1875
1876 2010-05-08  Bruno Haible  <bruno@clisp.org>
1877
1878         * lib/config.charset: Update comments for Cygwin 1.7.
1879         * lib/localcharset.c: Likewise.
1880
1881 2010-05-07  Jim Meyering  <meyering@redhat.com>
1882
1883         init.sh: improve comments
1884         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
1885         . "${srcdir=.}/init.sh"; path_prepend_ .
1886         Add a note about path_prepend_ and the alternative of using
1887         TESTS_ENVIRONMENT.
1888
1889 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
1890
1891         exclude: Unescape hashed patterns in wildcard mode.
1892         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
1893         to the hash list.
1894         * tests/test-exclude8.sh: New test case.
1895         * modules/exclude-tests: Add new test.
1896
1897 2010-05-05  Eric Blake  <eblake@redhat.com>
1898
1899         verify: automate tests
1900         * modules/verify-tests: New module.
1901         * tests/test-verify.sh: New file.
1902         * tests/test-verify.c: Guard each negative test with a unique id.
1903         Also avoid warning about unused left hand of comma expressions.
1904
1905 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1906
1907         Further improvements to verify.h, suggested by Eric Blake.
1908         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
1909         the GL_* versions, to avoid collision with OpenGL.
1910         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
1911         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
1912         than testing merely whether it's defined.
1913
1914         Modify verify.h to pacify gcc -Wredundant_decls.
1915         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
1916         These use the prefix "GL_" since they're likely to be useful elsewhere.
1917         We may need to break them out into a different .h file.
1918         (__COUNTER__): Define to 0 if the compiler doesn't support it.
1919         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
1920         of verify_function__.
1921
1922 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
1923
1924         Tests for module pwrite.
1925         * modules/pwrite-tests: New file.
1926         * tests/test-pwrite.sh: New file.
1927         * tests/test-pwrite.c: New file.
1928
1929         New module pwrite.
1930         * lib/unistd.in.h (pwrite): New declaration.
1931         * lib/pwrite.c: New file, from glibc with modifications.
1932         * m4/pwrite.m4: New file.
1933         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
1934         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
1935         REPLACE_PWRITE.
1936         * modules/pwrite: New file.
1937         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
1938         REPLACE_PWRITE.
1939         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
1940         * doc/posix-functions/pwrite.texi: Mention the new module.
1941
1942 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
1943
1944         pread: Update documentation.
1945         * doc/posix-functions/pread.texi: Mention the 'pread' module.
1946
1947 2010-05-04  Eric Blake  <eblake@redhat.com>
1948
1949         docs: update cygwin progress
1950         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
1951         this bug.
1952         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
1953         Added in cygwin 1.7.2.
1954         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
1955         Likewise.
1956         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
1957         Likewise.
1958         * doc/glibc-functions/dup3.texi (dup3): Likewise.
1959         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
1960         * doc/glibc-functions/accept4.texi (accept4): Likewise.
1961         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
1962         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
1963         Mention nproc module.
1964         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
1965         bug in cygwin 1.7.5 addition.
1966         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
1967         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
1968         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
1969         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
1970         1.7.5.
1971         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
1972         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
1973         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
1974         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
1975         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
1976         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
1977         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
1978         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
1979         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
1980         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
1981         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
1982         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
1983         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
1984         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
1985         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
1986         Likewise.
1987         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
1988         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
1989         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
1990         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
1991         Likewise.
1992         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
1993         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
1994         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
1995         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
1996         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
1997         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
1998         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
1999         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
2000         Likewise.
2001         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
2002         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
2003         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
2004         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
2005         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
2006         Likewise.
2007         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
2008         Likewise.
2009         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
2010         Likewise.
2011         * doc/glibc-functions/xdrrec_endofrecord.texi
2012         (xdrrec_endofrecord): Likewise.
2013         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
2014         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
2015         Likewise.
2016         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
2017         Likewise.
2018
2019 2010-05-04  Jim Meyering  <meyering@redhat.com>
2020
2021         gendocs.sh: make its "-s FILE" option more useful
2022         * build-aux/gendocs.sh: When honoring the -s FILE option, update
2023         $PACKAGE to reflect the probably-different basename of "FILE".
2024
2025 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
2026
2027         bootstrap: don't ignore download_po_files failure
2028         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
2029         failure.
2030
2031 2010-05-03  Jim Meyering  <meyering@redhat.com>
2032
2033         maint.mk: allow to pass options to gendocs.sh
2034         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
2035         (gendocs_options_): New overridable variable.
2036
2037         gnu-web-doc-update: don't ignore configure or build failure
2038         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
2039
2040         announce-gen: backslash-escape '@'s in --help output
2041         * build-aux/announce-gen: Fix syntax errors.
2042
2043         maint.mk, announce-gen: allow project-specific announcement mail headers
2044         * top/maint.mk (translation_project_): Define default.
2045         (announcement_Cc_, announcement_mail_headers_): Likewise.
2046         (announcement): Invoke announce-gen with new --mail-headers option.
2047         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
2048
2049         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
2050         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
2051         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
2052         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
2053         line in the "err2" output file when running "make check" in verbose
2054         mode (i.e., with set -x enabled).
2055
2056 2010-05-03  Bruno Haible  <bruno@clisp.org>
2057
2058         wctob: Fix for weird platforms.
2059         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
2060         argument value.
2061
2062 2010-05-03  Jim Meyering  <meyering@redhat.com>
2063
2064         maint.mk: prohibit unwarranted use of <strings.h>
2065         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
2066         strings.h in a file that does not also use strcasecmp, strncasecmp,
2067         ffs or ffsll.
2068
2069         maint.mk: remove obsolete comments
2070         * top/maint.mk: Remove stale, commented-out rules.
2071
2072 2010-05-02  Bruno Haible  <bruno@clisp.org>
2073
2074         wcwidth: Declare also when it's aliased.
2075         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
2076         macro.
2077
2078 2010-05-02  Bruno Haible  <bruno@clisp.org>
2079
2080         Fix regression from 2010-04-25.
2081         * gnulib-tool (func_modules_transitive_closure): Check the status of
2082         all modules, not only of the tests that are of the form foo-tests where
2083         foo is a module.
2084
2085 2010-05-02  Bruno Haible  <bruno@clisp.org>
2086
2087         wctob: Work around nasty Cygwin 1.7.2 bug.
2088         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
2089         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
2090
2091 2010-05-01  Bruno Haible  <bruno@clisp.org>
2092
2093         fpurge: Sharper test.
2094         * tests/test-fpurge.c (main): Add one more ftell check.
2095         * modules/fpurge-tests (Depends-on): Add ftell.
2096         Suggested by Eric Blake.
2097
2098 2010-05-01  Bruno Haible  <bruno@clisp.org>
2099
2100         ftello: Another test.
2101         * tests/test-ftello3.c: New file.
2102         * modules/ftello-tests (Files): Add it.
2103         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
2104         MOSTLYCLEANFILES.
2105
2106         ftell: Another test.
2107         * tests/test-ftell3.c: New file.
2108         * modules/ftell-tests (Files): Add it.
2109         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
2110         MOSTLYCLEANFILES.
2111
2112 2010-05-01  Bruno Haible  <bruno@clisp.org>
2113
2114         ftell, ftello: Work around Solaris bug.
2115         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
2116         * lib/ftello.c: Include stdio-impl.h.
2117         (ftello): On Solaris, when _IOWRT is set, compute the result without
2118         looking at _IOREAD.
2119         * modules/ftello (Files): Add lib/stdio-impl.h.
2120         * doc/posix-functions/ftell.texi: Mention Solaris bug.
2121         * doc/posix-functions/ftello.texi: Likewise.
2122         Reported by Eric Blake.
2123
2124 2010-05-01  Bruno Haible  <bruno@clisp.org>
2125
2126         freading: Adapt to special meaning of _IOREAD flag on Solaris.
2127         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
2128         the _IOWRT flag is also set.
2129
2130 2010-05-01  Bruno Haible  <bruno@clisp.org>
2131
2132         Fix doc about a HP-UX stdio bug.
2133         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
2134         * doc/posix-functions/ftello.texi: Likewise.
2135
2136 2010-05-01  Bruno Haible  <bruno@clisp.org>
2137
2138         lseek test: Fix failure on Solaris.
2139         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
2140         output.
2141
2142 2010-04-30  Jim Meyering  <meyering@redhat.com>
2143
2144         bootstrap: don't ignore failure to generate po*/Makevars
2145         * build-aux/bootstrap (with_gettext): Don't ignore failure
2146         to create po/Makevars or runtime-po/Makevars.
2147
2148 2010-04-29  Eric Blake  <eblake@redhat.com>
2149
2150         headers: relax license to LGPLv2+
2151         * modules/fcntl-h (License): Relax license.
2152         * modules/getopt-posix (License): Likewise.
2153         * modules/locale (License): Likewise.
2154         * modules/math (License): Likewise.
2155         * modules/pty (License): Likewise.
2156         * modules/sched (License): Likewise.
2157         * modules/search (License): Likewise.
2158         * modules/spawn (License): Likewise.
2159         * modules/stdarg (License): Likewise.
2160         * modules/sysexits (License): Likewise.
2161
2162 2010-04-29  Jim Meyering  <meyering@redhat.com>
2163
2164         inttypes: relax license to LGPLv2+
2165         * modules/inttypes (License): Relax license.
2166
2167 2010-04-29  Simon Josefsson  <simon@josefsson.org>
2168
2169         * top/maint.mk (indent): Run twice to produce idempotent results.
2170
2171 2010-04-28  Bruno Haible  <bruno@clisp.org>
2172
2173         getdate: Generate getdate.c in the source directory.
2174         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
2175         MOSTLYCLEANFILES.
2176         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
2177
2178 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
2179
2180         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
2181         is not declared as a const *; avoid warnings in that case.
2182
2183 2010-04-28  Eric Blake  <eblake@redhat.com>
2184
2185         canonicalize-lgpl: avoid compiler warning
2186         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
2187         declaration' / 'extraneous semicolon' warning with some compilers.
2188         Reported by Andreas Gruenbacher.
2189
2190 2010-04-28  Jim Meyering  <meyering@redhat.com>
2191
2192         init.sh: ensure a more reliable exit status when exiting via trap
2193         * tests/init.sh (setup_): Don't rely on $? in signal handler.
2194         Inspired by patches from Dmitry V. Levin.
2195         Also trap on signal 3 (SIGQUIT).
2196
2197 2010-04-27  Bruno Haible  <bruno@clisp.org>
2198
2199         Update doc about utimes().
2200         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
2201         'utimens' module.
2202         Reported by Andreas Gruenbacher <agruen@suse.de>.
2203
2204 2010-04-27  Eric Blake  <eblake@redhat.com>
2205
2206         full-read, full-write: relax license
2207         * modules/full-read (License): Drop to LGPLv2+.
2208         * modules/full-write (License): Likewise.
2209         * modules/safe-read (License): Likewise.
2210         * modules/safe-write (License): Likewise.
2211
2212         pthread: mention library for linking
2213         * modules/pthread (Link): Mention $(LIB_PTHREAD).
2214
2215 2010-04-27  Jim Meyering  <meyering@redhat.com>
2216
2217         maint.mk: fix a bug introduced in last change
2218         * top/maint.mk (gl_assured_headers_): Now that all names are on
2219         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
2220         is not anchored to end of word, it should be adequate.
2221
2222         maint.mk: avoid side-effect in latest syntax-check
2223         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
2224         to run commands via $(shell...), and hence to incur cost only when
2225         the new rule is actually run.
2226
2227         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
2228         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
2229         and use that to create a regexp used to detect all #if HAVE_..._H uses.
2230         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
2231         (gl_assured_headers_, az_, AZ_): Define.
2232         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
2233
2234 2010-04-26  Jim Meyering  <jim@meyering.net>
2235             Bruno Haible  <bruno@clisp.org>
2236
2237         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
2238         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
2239         Prompted by an exchange with Gilles Espinasse.
2240
2241 2010-04-26  Jim Meyering  <meyering@redhat.com>
2242
2243         git-version-gen: aesthetic tweak
2244         * build-aux/git-version-gen: Use "$nl" rather than a literal,
2245         so that the command remains on a single line.
2246
2247 2010-04-26  Eric Blake  <eblake@redhat.com>
2248
2249         git-version-gen: allow use on EBCDIC hosts
2250         * build-aux/git-version-gen (dirty): Use literal rather than tying
2251         ourselves to ascii.
2252         Reported by Steve Goetze.
2253
2254 2010-04-25  Bruno Haible  <bruno@clisp.org>
2255
2256         netdb: Add support for GNULIB_POSIXCHECK.
2257         * lib/netdb.in.h: Include warn-on-use.h.
2258         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
2259         functions are used when GNULIB_POSIXCHECK is defined and the
2260         getaddrinfo module is not in use.
2261         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
2262         freeaddrinfo, gai_strerror, getnameinfo are declared.
2263         * modules/netdb (Depends-on): Add warn-on-use.
2264         (Makefile.am): Include warn-on-use.h in netdb.h.
2265
2266 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
2267
2268         build: avoid "make check" failure without .git/ directory
2269         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
2270         there is no .git/ directory.
2271
2272 2010-04-25  Bruno Haible  <bruno@clisp.org>
2273
2274         ptsname: Fix misuse of ttyname_r.
2275         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
2276         of errno.
2277
2278 2010-04-25  Bruno Haible  <bruno@clisp.org>
2279
2280         ttyname_r: Make it work on Solaris 10.
2281         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
2282         if the system function has the POSIX declaration. Test whether the
2283         function fails if the buffer is less than 128 bytes large.
2284         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
2285         system's ttyname_r function. Provide a reasonably large buffer.
2286         * modules/ttyname_r (Depends-on): Add extensions.
2287         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
2288
2289 2010-04-25  Bruno Haible  <bruno@clisp.org>
2290
2291         Use the 'extensions' module for some more functions on Solaris.
2292         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
2293         module.
2294         * doc/posix-functions/ctime_r.texi: Likewise.
2295         * doc/posix-functions/getgrgid_r.texi: Likewise.
2296         * doc/posix-functions/getgrnam_r.texi: Likewise.
2297         * doc/posix-functions/getpwnam_r.texi: Likewise.
2298         * doc/posix-functions/getpwuid_r.texi: Likewise.
2299         * doc/posix-functions/readdir_r.texi: Likewise.
2300         * doc/posix-functions/sigwait.texi: Likewise.
2301         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
2302         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
2303
2304 2010-04-25  Bruno Haible  <bruno@clisp.org>
2305
2306         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
2307         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
2308         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
2309         * lib/ttyname_r.c: Include <limits.h>.
2310         (ttyname_r): Define using the system's ttyname_r function, if it exists
2311         and not on Solaris.
2312         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
2313         set.
2314         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
2315         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
2316         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
2317         Reported by Simon Josefsson.
2318
2319 2010-04-25  Bruno Haible  <bruno@clisp.org>
2320
2321         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
2322         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
2323         * doc/posix-functions/ctime_r.texi: Likewise.
2324         * doc/posix-functions/getgrgid_r.texi: Likewise.
2325         * doc/posix-functions/getgrnam_r.texi: Likewise.
2326         * doc/posix-functions/getlogin_r.texi: Likewise.
2327         * doc/posix-functions/getpwnam_r.texi: Likewise.
2328         * doc/posix-functions/getpwuid_r.texi: Likewise.
2329         * doc/posix-functions/readdir_r.texi: Likewise.
2330         * doc/posix-functions/sigwait.texi: Likewise.
2331         * doc/posix-functions/ttyname_r.texi: Likewise.
2332         Reported by Simon Josefsson.
2333
2334 2010-04-25  Bruno Haible  <bruno@clisp.org>
2335
2336         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
2337         * gnulib-tool (func_usage): Document that --with-*-tests options apply
2338         also to --create-testdir.
2339         (func_acceptable): Don't consider the status of *-tests modules here.
2340         (func_modules_transitive_closure): Consider it here, before including a
2341         test module.
2342         (func_import, func_create_testdir): Set inc_all_direct_tests,
2343         inc_all_indirect_tests.
2344         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
2345         --create-testdir and --create-megatestdir.
2346
2347 2010-04-25  Bruno Haible  <bruno@clisp.org>
2348
2349         gnulib-tool: Add --without-*-tests options.
2350         * gnulib-tool (func_usage): Document the --without-*-tests options.
2351         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
2352         excl_unportable_tests): New variables.
2353         Fail if they are specified with --import or --update.
2354         (func_acceptable): Respect the excl_*_tests variables.
2355         (func_import): Set the excl_*_tests variables to empty.
2356
2357 2010-04-25  Simon Josefsson  <simon@josefsson.org>
2358             Bruno Haible  <bruno@clisp.org>
2359
2360         Work around a MacOS X 10.4 bug with openpty.
2361         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
2362         * tests/test-openpty.c (main): Close the master side explicitly.
2363
2364 2010-04-25  Bruno Haible  <bruno@clisp.org>
2365
2366         strnlen: Fix a C++ test error on MacOS X and Solaris.
2367         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
2368         the function is not declared.
2369         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
2370         Simon Josefsson.
2371
2372 2010-04-24  Bruno Haible  <bruno@clisp.org>
2373
2374         Avoid a gcc warning.
2375         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
2376         of correct type for %08lx directive.
2377         Reported by Eric Blake.
2378
2379 2010-04-24  Bruno Haible  <bruno@clisp.org>
2380
2381         vasnprintf: Correct errno value in case of out-of-memory.
2382         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
2383         or sprintf. Use the errno value from SNPRINTF or sprintf.
2384         Reported by Ian Beckwith <ianb@erislabs.net>.
2385
2386 2010-04-24  Bruno Haible  <bruno@clisp.org>
2387
2388         ansi-c++-opt: Find correct compiler when cross-compiling.
2389         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
2390         AC_CHECK_PROGS.
2391         Reported by Simon Josefsson.
2392
2393 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
2394
2395         vc-list-files: Add support for subversion
2396         * build-aux/vc-list-files: Use "svn list" to generate the list of
2397         files controlled by subversion.
2398
2399 2010-04-23  Jim Meyering  <meyering@redhat.com>
2400
2401         vc-list-files tests: convert to use init.sh
2402         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
2403         path_prepend_.
2404         Use Exit, not exit.
2405         Use skip_ rather than open coding it.
2406         Remove trap set-up and compare definitions.
2407         * tests/test-vc-list-files-git.sh: Likewise.
2408         * modules/vc-list-files-tests (Files): Add tests/init.sh.
2409
2410 2010-04-22  Simon Josefsson  <simon@josefsson.org>
2411
2412         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
2413         backup files.
2414
2415 2010-04-21  Simon Josefsson  <simon@josefsson.org>
2416
2417         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
2418
2419 2010-04-20  Eric Blake  <eblake@redhat.com>
2420
2421         tests: be robust to ignored SIGPIPE
2422         * tests/test-select-in.sh: Consume all output.
2423         * tests/test-lseek.sh: Check correct exit status, while avoiding
2424         EPIPE.
2425
2426 2010-04-20  Simon Josefsson  <simon@josefsson.org>
2427             Bruno Haible  <bruno@clisp.org>
2428
2429         visibility: Don't use -fvisibility if it leads to a warning.
2430         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
2431         yes, don't pretend that visibility works if it leads to a warning.
2432         Reported by Mike Gran <spk121@yahoo.com>.
2433
2434 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
2435
2436         * build-aux/bootstrap: Use "git -h" for testing for supported options
2437         instead of "git --help".  The short-form option only shows a summary,
2438         and doesn't layout the full man page.  Grep for the full option name
2439         in the summary, too.
2440
2441 2010-04-19  Bruno Haible  <bruno@clisp.org>
2442
2443         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
2444         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
2445         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
2446         mention of RELOCATABLE_STRIP.
2447         Reported by Sylvain Beucler <beuc@beuc.net>.
2448
2449 2010-04-19  Bruno Haible  <bruno@clisp.org>
2450
2451         * lib/diffseq.h: Fix typo in comment.
2452         Reported by Eric Blake.
2453
2454 2010-04-19  Bruno Haible  <bruno@clisp.org>
2455
2456         ioctl: Move autoconf macro to a .m4 file.
2457         * m4/ioctl.m4: New file, extracted from modules/ioctl.
2458         * modules/ioctl (Files): Add it.
2459         (configure.ac): Simply invoke gl_FUNC_IOCTL.
2460         Reported by Ian Beckwith <ianb@erislabs.net>.
2461
2462 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
2463             Bruno Haible  <bruno@clisp.org>
2464
2465         diffseq: Accommodate use-case with abstract arrays.
2466         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
2467         is not defined.
2468         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
2469         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
2470
2471 2010-04-18  Bruno Haible  <bruno@clisp.org>
2472
2473         * doc/posix-headers/stdbool.texi: More precise wording.
2474
2475 2010-04-17  Jim Meyering  <meyering@redhat.com>
2476
2477         maint.mk: use gnu-style indentation in an embedded perl script
2478         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
2479         Rename variable: s/two/last_two_bytes/
2480
2481 2010-04-16  Eric Blake  <eblake@redhat.com>
2482
2483         test-stdbool: skip test that fails with Solaris CC
2484         * tests/test-stdbool.c (f): Skip test that causes compilation
2485         error under buggy C++ compiler.
2486         * lib/stdbool.in.h: Document the limitation.
2487         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
2488
2489         setenv: allow compilation with C++
2490         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
2491         register keyword.
2492
2493         stdint: allow test to pass with C++
2494         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
2495
2496         getopt: allow compilation with C++
2497         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
2498         struct.
2499         * lib/getopt.c (_getopt_internal_r): Use correct type.
2500         Reported by Dagobert Michelson, via Joel E. Denny.
2501
2502 2010-04-16  Bruno Haible  <bruno@clisp.org>
2503
2504         Override netdb.h always.
2505         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
2506         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
2507         Reported by Ludovic Courtès <ludo@gnu.org>.
2508
2509 2010-04-15  Bruno Haible  <bruno@clisp.org>
2510
2511         openpty: Fix mistake from 2010-03-21.
2512         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
2513         Reported by Simon Josefsson.
2514
2515 2010-04-15  Eric Blake  <eblake@redhat.com>
2516
2517         test-forkpty: fix expected signature
2518         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
2519         Reported by Simon Josefsson.
2520
2521 2010-04-15  Jim Meyering  <meyering@redhat.com>
2522
2523         maint.mk: texinfo_suffix_re_: correct the default regexp
2524         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
2525
2526         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
2527         make it configurable via texinfo_suffix_re_.
2528
2529 2010-04-14  Eric Blake  <eblake@redhat.com>
2530
2531         strtok_r: relax license to LGPLv2+
2532         * modules/strtok_r (License): Relax license.
2533         Reported by Matthias Bolte.
2534
2535 2010-04-14  Simon Josefsson  <simon@josefsson.org>
2536
2537         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
2538         version 1.4.4 by default instead of requiring the libgcrypt
2539         version used during build.  This makes it possible to use the
2540         application with older but still binary compatible libgcrypt
2541         versions.
2542
2543 2010-04-13  Eric Blake  <eblake@redhat.com>
2544
2545         getopt-gnu: match recent glibc fixes and posix ruling
2546         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
2547         '+' handling, when requesting extensions.
2548         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
2549         'W;' handling.
2550         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
2551         * doc/posix-functions/getopt.texi (getopt): Document this.
2552         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
2553         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2554         Likewise.
2555
2556         getopt: merge bug fixes from glibc
2557         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
2558         diagnostics.  Honor '+:' correctly.  Reject ';'.
2559
2560         getopt-posix: detect MacOS bug
2561         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
2562         optind when missing a required argument.
2563         * doc/posix-functions/getopt.texi (getopt): Document the bug.
2564         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
2565         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2566         Likewise.
2567
2568         getopt-posix: avoid spurious failure on Solaris
2569         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
2570         an indicator that setting optind=1 is sufficient for reset.
2571
2572         getopt-posix: avoid spurious failure on FreeBSD
2573         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
2574         in POSIX mode, since the m4 test uses it.
2575
2576         gnulib-tool: silence warning on BSD sh
2577         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
2578
2579 2010-04-13  Jim Meyering  <meyering@redhat.com>
2580
2581         doc: users.txt: GNU patch now uses gnulib
2582         * users.txt: Add patch.
2583
2584 2010-04-12  Jim Meyering  <meyering@redhat.com>
2585
2586         maint.mk: generate more concise timing data for syntax-check rules
2587         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
2588         " done" from each line that reports a syntax-check test duration.
2589
2590 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
2591
2592         git-version-gen: use "git update-index..." rather than "git status"
2593         * build-aux/git-version-gen: Use git update-index --refresh, not
2594         "git status".  With some versions of git, "git status" would fail
2595         to update the index and result in an unwarranted "-dirty" suffix.
2596
2597 2010-04-11  Jim Meyering  <meyering@redhat.com>
2598
2599         openat: correct formatting (no semantic change)
2600         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
2601         Suggested by Bruno Haible.
2602
2603 2010-04-11  Bruno Haible  <bruno@clisp.org>
2604
2605         Stricter declaration checking in testdirs.
2606         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2607         If for_tests is true, augment AM_CPPFLAGS to define
2608         GNULIB_STRICT_CHECKING.
2609         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
2610         GNULIB_STRICT_CHECKING is defined, verify that the function is
2611         declared.
2612
2613 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
2614             Bruno Haible  <bruno@clisp.org>
2615
2616         libunistring: Improve configure output.
2617         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
2618         Don't say "consider installing GNU libunistring" when checking again
2619         with libiconv.
2620
2621 2010-04-11  Bruno Haible  <bruno@clisp.org>
2622
2623         libunistring: Correct value of $LTLIBUNISTRING.
2624         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
2625         correct the value of $LTLIBUNISTRING.
2626
2627 2010-04-11  Bruno Haible  <bruno@clisp.org>
2628
2629         havelib: Add static libraries to LIBS in the right order.
2630         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
2631         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
2632
2633 2010-04-11  Bruno Haible  <bruno@clisp.org>
2634
2635         libunistring: Detect libunistring also when it depends on libiconv.
2636         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
2637         the second AC_LIB_HAVE_LINKFLAGS invocation.
2638
2639 2010-04-11  James Youngman  <jay@gnu.org>
2640
2641         close-stream: declare local scalars to be "const"
2642         * lib/close-stream.c (close_stream): Make boolean variables const
2643         to document the fact that we set but do not change them.
2644
2645 2010-04-11  Bruno Haible  <bruno@clisp.org>
2646
2647         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
2648
2649 2010-04-11  Jim Meyering  <meyering@redhat.com>
2650
2651         maint.mk: don't include dist-check.mk
2652         * top/maint.mk: Remove bogus include directive.
2653
2654         maint.mk: improve empty-line-at-EOF check
2655         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
2656         solution, rather than tail+Perl-based one.  The latter would read
2657         a few kilobytes from the end of each file, and did not handle empty
2658         files properly.
2659
2660         maint.mk: print the elapsed time for each syntax-check rule
2661         * top/maint.mk (sc_m_rules_): Save start time in a file.
2662         (sc_z_rules_): New rules: remove temp file and print elapsed time.
2663         (local-check): Interpose the .z rules
2664
2665 2010-04-11  Jim Meyering  <meyering@redhat.com>
2666
2667         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
2668         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
2669         empty file with one that ends in an empty line.
2670
2671 2010-04-10  Bruno Haible  <bruno@clisp.org>
2672
2673         mkdir: Make it work on mingw64.
2674         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
2675         * lib/mkdir.c: Update comment.
2676         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
2677
2678 2010-04-10  Bruno Haible  <bruno@clisp.org>
2679
2680         Don't override improved macro from newer autoconf.
2681         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
2682         autoconf >= 2.62.
2683         Reported by Joel E. Denny <jdenny@clemson.edu>.
2684
2685 2010-04-10  Jim Meyering  <meyering@redhat.com>
2686
2687         maint.mk: new syntax-check rule: prohibit empty lines at end of file
2688         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
2689
2690         maint.mk: correct a diagnostic
2691         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
2692         in diagnostic; now use $prohibit.
2693
2694 2010-04-10  Bruno Haible  <address@hidden>
2695
2696         fchownat: Fix a C++ test error on Solaris 8.
2697         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
2698         the function does not exist.
2699
2700 2010-04-10  Bruno Haible  <bruno@clisp.org>
2701
2702         vasnprintf: Add more tests.
2703         * tests/test-vasnprintf-posix.c: Include <errno.h>.
2704         (test_function): Test converting an invalid wide string.
2705
2706         vasnprintf: Correct handling of unconvertible wide string arguments.
2707         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
2708         VASNPRINTF.
2709         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
2710         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
2711         smaller than the expected maximum need for the directive. Set errno to
2712         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
2713         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
2714         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
2715         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
2716         * modules/vasnprintf (Files): Add m4/printf.m4.
2717         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2718
2719 2010-04-10  Bruno Haible  <bruno@clisp.org>
2720
2721         vasnprintf: Fix crash in %ls directive.
2722         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
2723         string is passed as argument to %ls, with no precision and no width.
2724         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2725
2726 2010-04-10  Bruno Haible  <bruno@clisp.org>
2727
2728         vasnprintf: Fix multiple test failures on mingw.
2729         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
2730         _snprintf, or snwprintf, not _snwprintf.
2731
2732 2010-04-10  Bruno Haible  <bruno@clisp.org>
2733
2734         write: Fix a C++ test error on mingw.
2735         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
2736
2737 2010-04-10  Bruno Haible  <bruno@clisp.org>
2738
2739         vasnprintf test: Reduce code duplication.
2740         * tests/test-vasnprintf.c (test_function): New function, extracted from
2741         test_vasnprintf.
2742         (test_vasnprintf, test_asnprintf): Invoke it.
2743
2744 2010-04-10  Bruno Haible  <bruno@clisp.org>
2745
2746         strnlen: Fix warning in C++ mode on MacOS X.
2747         * lib/string.in.h (strnlen): Use the modern idiom.
2748         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
2749         defining strnlen as a macro already in <config.h>.
2750         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
2751         REPLACE_STRNLEN.
2752         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
2753         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2754
2755 2010-04-08  James Youngman  <jay@gnu.org>
2756
2757         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
2758         the example.
2759
2760 2010-04-09  Jim Meyering  <meyering@redhat.com>
2761
2762         maint.mk: print better diagnostic when there is no $(_hv_file)
2763         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
2764         announce that when $(_hv_file) (aka help-version) does not exist.
2765
2766         init.sh: run tr in the "C" locale to avoid multibyte interpretation
2767         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
2768         not try to interpret its random input bytes.  Jarno Rajahalme reported
2769         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
2770         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
2771         (mktempd_): Likewise, just in case.
2772
2773         ftruncate: add two years to projected module removal date: 2012
2774         * m4/ftruncate.m4: Adjust comments.
2775
2776         ftruncate: mark module as obsolete; even MinGW provides it, now
2777         * modules/ftruncate (Status): Obsolete.
2778         (Notice): Say that.
2779         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
2780         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
2781
2782 2010-04-08  Bruno Haible  <bruno@clisp.org>
2783
2784         Fix side effects from tests-related modules.
2785         * modules/dprintf-posix (Comment): New section.
2786         * modules/fprintf-posix (Comment): Likewise.
2787         * modules/obstack-printf-posix (Comment): Likewise.
2788         * modules/printf-posix (Comment): Likewise.
2789         * modules/snprintf-posix (Comment): Likewise.
2790         * modules/sprintf-posix (Comment): Likewise.
2791         * modules/vasnprintf-posix (Comment): Likewise.
2792         * modules/vasprintf-posix (Comment): Likewise.
2793         * modules/vdprintf-posix (Comment): Likewise.
2794         * modules/vfprintf-posix (Comment): Likewise.
2795         * modules/vprintf-posix (Comment): Likewise.
2796         * modules/vsnprintf-posix (Comment): Likewise.
2797         * modules/vsprintf-posix (Comment): Likewise.
2798         * modules/xprintf-posix (Comment): Likewise.
2799         * modules/xvasprintf-posix (Comment): Likewise.
2800         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
2801         * modules/floorf-tests (Depends-on): Likewise.
2802         * modules/round-tests (Depends-on): Likewise.
2803         * modules/roundf-tests (Depends-on): Likewise.
2804         * modules/trunc-tests (Depends-on): Likewise.
2805         * modules/truncf-tests (Depends-on): Likewise.
2806         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
2807         'fprintf-posix' module is not present.
2808         * tests/test-floorf2.c (check): Likewise.
2809         * tests/test-trunc2.c (check): Likewise.
2810         * tests/test-truncf2.c (check): Likewise.
2811         * tests/test-round2.c (equal): Likewise.
2812         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2813
2814 2010-04-07  Karl Berry  <karl@gnu.org>
2815
2816         * config/srclist.txt,
2817         * config/srclistvars.sh,
2818         * config/srclist-update: doc fixes.
2819
2820 2010-04-07  Jim Meyering  <meyering@redhat.com>
2821
2822         maint.mk: add a PATH crosschecking syntax-check rule
2823         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
2824         Useful if you use a test like the one in help-version (coreutils,
2825         diffutils, grep, gzip) that ensures $(VERSION) matches what is
2826         printed by prog --version.
2827
2828 2010-04-06  Bruno Haible  <bruno@clisp.org>
2829
2830         Fix link error on mingw.
2831         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
2832         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
2833
2834 2010-04-06  Bruno Haible  <bruno@clisp.org>
2835
2836         Assume rmdir exists.
2837         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
2838
2839 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
2840
2841         doc: update users.txt
2842         * users.txt: Add gcal.
2843
2844 2010-04-06  Jim Meyering  <meyering@redhat.com>
2845
2846         init.sh: simply unset TMPDIR rather than risking env -i
2847         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
2848         although it probably works fine on all Unix-based systems, some
2849         systems (Cygwin?) cannot tolerate a totally cleared environment.
2850         Suggestion from Eric Blake.
2851
2852 2010-04-06  Jim Meyering  <meyering@redhat.com>
2853
2854         init.sh: portability fix: use env's POSIX-specified -i option not -u
2855         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
2856         than unportable env -u.  Solaris 5.11's env lacks support for -u.
2857
2858 2010-04-05  Bruno Haible  <bruno@clisp.org>
2859
2860         btowc: Work around Cygwin 1.7.2 bug.
2861         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
2862         does not map NUL to 0.
2863         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
2864
2865 2010-04-05  Bruno Haible  <bruno@clisp.org>
2866
2867         Make the multithread modules work on Cygwin 1.7.2.
2868         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
2869         imported symbols can be declared weak, so that it returns "no" on
2870         Cygwin 1.7.2.
2871
2872 2010-04-05  Bruno Haible  <bruno@clisp.org>
2873
2874         Use the module 'strncat'.
2875         * modules/unistr/u8-strncat (Depends-on): Add strncat.
2876
2877         Tests for module 'strncat'.
2878         * modules/strncat-tests: New file.
2879         * tests/test-strncat.c: New file.
2880
2881         New module 'strncat'.
2882         * lib/string.in.h (strncat): New declaration.
2883         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
2884         * m4/strncat.m4: New file, based on m4/memchr.m4.
2885         * modules/strncat: New file.
2886         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
2887         is declared.
2888         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
2889         REPLACE_STRNCAT.
2890         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
2891         REPLACE_STRNCAT.
2892         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
2893         module.
2894         * tests/test-string-c++.cc: Check signature of strncat.
2895
2896 2010-04-05  Jim Meyering  <meyering@redhat.com>
2897
2898         xstrtoumax-tests: convert to use init.sh
2899         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
2900         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
2901         Use Exit, not exit.
2902         Remove uses of $EXEEXT and "./" to run a program in the current dir.
2903
2904         xstrtoimax-tests: convert to use init.sh
2905         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
2906         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
2907         Use Exit, not exit.
2908         Remove uses of $EXEEXT and "./" to run a program in the current dir.
2909
2910 2010-04-05  Bruno Haible  <bruno@clisp.org>
2911
2912         sys_socket: Avoid #define replacements in C++ mode.
2913         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
2914         warning to the function if possible, rather than #defining the symbol
2915         to a dysfunctional alias.
2916
2917 2010-04-05  Bruno Haible  <bruno@clisp.org>
2918
2919         fseeko: Fix C++ test error on mingw.
2920         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
2921         gl_FUNC_FSEEKO.
2922         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
2923         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
2924         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
2925         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
2926
2927 2010-04-05  Bruno Haible  <bruno@clisp.org>
2928
2929         duplocale: Improve test output.
2930         * tests/test-duplocale.c (main): Print reason for skipped test.
2931
2932 2010-04-05  Bruno Haible  <bruno@clisp.org>
2933
2934         Assume rmdir exists.
2935         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
2936         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
2937
2938 2010-04-05  Bruno Haible  <bruno@clisp.org>
2939
2940         Fix link error on Solaris 8 with cc.
2941         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
2942
2943 2010-04-05  Bruno Haible  <bruno@clisp.org>
2944
2945         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
2946         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
2947
2948 2010-04-05  Bruno Haible  <bruno@clisp.org>
2949
2950         vasprintf: Update documentation.
2951         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
2952
2953 2010-04-05  Bruno Haible  <bruno@clisp.org>
2954
2955         ptsname: Improve test.
2956         * tests/test-ptsname.c (main): Also try the various master names of BSD
2957         systems.
2958
2959 2010-04-05  Bruno Haible  <bruno@clisp.org>
2960
2961         memchr: Avoid a possible C++ test error.
2962         * lib/string.in.h (memchr): Provide declaration if function is missing.
2963         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
2964         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
2965         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
2966         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
2967
2968 2010-04-05  Bruno Haible  <bruno@clisp.org>
2969
2970         strtok_r: Improve idiom.
2971         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
2972         AC_LIBOBJ is used.
2973
2974 2010-04-05  Bruno Haible  <bruno@clisp.org>
2975
2976         strdup: Improve idiom.
2977         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
2978         AC_LIBOBJ is used.
2979         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
2980         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
2981         when AC_LIBOBJ is used.
2982
2983 2010-04-05  Bruno Haible  <bruno@clisp.org>
2984
2985         mbsinit, mbrtowc, wcrtomb: Improve idioms.
2986         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
2987         don't set REPLACE_MBSINIT to 1.
2988         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
2989         don't set REPLACE_MBRTOWC to 1.
2990         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
2991         exist, don't set REPLACE_MBSRTOWCS to 1.
2992         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
2993         exist, don't set REPLACE_MBSNRTOWCS to 1.
2994         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
2995         don't set REPLACE_WCRTOMB to 1.
2996         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
2997         exist, don't set REPLACE_WCSRTOMBS to 1.
2998         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
2999         exist, don't set REPLACE_WCSNRTOMBS to 1.
3000
3001 2010-04-05  Bruno Haible  <bruno@clisp.org>
3002
3003         ldexpl: Improve idiom.
3004         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
3005         make sure to set HAVE_DECL_LDEXPL to 0.
3006
3007 2010-04-05  Jim Meyering  <meyering@redhat.com>
3008
3009         xstrtol-tests: convert to use init.sh
3010         * modules/xstrtol-tests (Files): Add tests/init.sh.
3011         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3012         Use Exit, not exit.
3013         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3014
3015         atexit-tests: convert to use init.sh
3016         * modules/atexit-tests (Files): Add tests/init.sh.
3017         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3018         Use Exit, not exit.
3019         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3020
3021         init.sh: fix typo
3022         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
3023
3024         init.sh: make it easier for a test script to write to the tty, ...
3025         when using automake's parallel-tests mode.
3026         * tests/init.sh (stderr_fileno_): Define overridable variable.
3027         (warn_): New function, to use it.
3028         (fail_, skip_, framework_failure_): Use warn_.
3029
3030 2010-04-04  Bruno Haible  <bruno@clisp.org>
3031
3032         btowc: Avoid warning.
3033         * lib/btowc.c: Include <stdlib.h>.
3034         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
3035
3036 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
3037             Bruno Haible  <bruno@clisp.org>
3038
3039         wchar: Port to NetBSD 1.5.
3040         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
3041         * lib/wctype.in.h (WEOF): Likewise.
3042
3043 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
3044             Bruno Haible  <bruno@clisp.org>
3045
3046         Port extended stdio to NetBSD 1.5.
3047         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
3048         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
3049         older.
3050
3051 2010-04-04  Bruno Haible  <bruno@clisp.org>
3052
3053         string: Remove unused substitution.
3054         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
3055         HAVE_DECL_STRERROR.
3056         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
3057
3058 2010-04-04  Bruno Haible  <bruno@clisp.org>
3059
3060         strtod: Avoid a possible C++ test error.
3061         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
3062         set REPLACE_STRTOD.
3063
3064 2010-04-04  Bruno Haible  <bruno@clisp.org>
3065
3066         strerror: Update documentation.
3067         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
3068
3069 2010-04-04  Bruno Haible  <bruno@clisp.org>
3070
3071         stdio: Fix some C++ test errors on Solaris 8 with GCC.
3072         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
3073         _GL_CXXALIAS_SYS_CAST.
3074
3075 2010-04-04  Bruno Haible  <bruno@clisp.org>
3076
3077         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
3078         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
3079         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
3080         REPLACE_FREXPL to 1.
3081         * doc/posix-functions/frexpl.texi: Update documentation.
3082
3083 2010-04-04  Bruno Haible  <bruno@clisp.org>
3084
3085         math: Fix some C++ test errors on Solaris 8 and Cygwin.
3086         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
3087
3088 2010-04-04  Bruno Haible  <bruno@clisp.org>
3089
3090         Implement nanosleep for native Windows.
3091         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
3092
3093 2010-04-04  Bruno Haible  <bruno@clisp.org>
3094
3095         math: Fix some C++ test errors on Solaris 8.
3096         * lib/math.in.h (truncf, trunc): Use simpler idiom.
3097
3098 2010-04-04  Bruno Haible  <bruno@clisp.org>
3099
3100         math: Fix some C++ test errors on Cygwin.
3101         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
3102         truncl): Provide declaration if the system does not have it.
3103         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
3104         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
3105         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
3106         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
3107         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
3108         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
3109         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
3110         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
3111         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
3112         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
3113         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
3114         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
3115         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
3116         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
3117         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
3118         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
3119         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
3120         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
3121         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
3122         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
3123         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
3124         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
3125
3126 2010-04-04  Bruno Haible  <bruno@clisp.org>
3127
3128         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
3129         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3130         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3131         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3132         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3133         * m4/isinf.m4 (gl_ISINF): Likewise.
3134         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3135
3136 2010-04-04  Bruno Haible  <bruno@clisp.org>
3137
3138         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
3139         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3140
3141 2010-04-04  Bruno Haible  <bruno@clisp.org>
3142
3143         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
3144         * modules/tmpfile (configure.ac): Update.
3145
3146         tmpfile: Fix C++ test error on mingw.
3147         * lib/stdio.in.h (tmpfile): New declaration.
3148         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
3149         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
3150         * modules/tmpfile (Depends-on): Add stdio.
3151         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
3152         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
3153         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
3154         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
3155         REPLACE_TMPFILE.
3156         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
3157
3158 2010-04-04  Bruno Haible  <bruno@clisp.org>
3159
3160         ioctl: Fix C++ test error on mingw.
3161         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
3162         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
3163         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
3164
3165 2010-04-03  Bruno Haible  <bruno@clisp.org>
3166
3167         wcwidth: Fix C++ test error on mingw.
3168         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
3169         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
3170         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
3171
3172 2010-04-03  Bruno Haible  <bruno@clisp.org>
3173
3174         nanosleep: Fix C++ test error on mingw.
3175         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
3176         * lib/time.in.h (nanosleep): Use modern idiom.
3177         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
3178         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
3179         REPLACE_NANOSLEEP to 1.
3180         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
3181         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
3182
3183 2010-04-03  Bruno Haible  <bruno@clisp.org>
3184
3185         strptime: Fix C++ test error on mingw.
3186         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
3187         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
3188         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
3189         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
3190         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
3191         not REPLACE_STRPTIME.
3192         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
3193         REPLACE_STRPTIME.
3194
3195 2010-04-03  Bruno Haible  <bruno@clisp.org>
3196
3197         timegm: Fix C++ test error on mingw.
3198         * lib/time.in.h (timegm): Use modern idiom.
3199         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
3200         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
3201         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
3202         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
3203
3204 2010-04-03  Bruno Haible  <bruno@clisp.org>
3205
3206         timegm: Assume declaration if function exists.
3207         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
3208         if it exists. Don't clobber ac_cv_func_timegm.
3209
3210 2010-04-03  Bruno Haible  <bruno@clisp.org>
3211
3212         time_r: Fix C++ test error on mingw.
3213         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
3214         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
3215         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
3216         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
3217         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
3218
3219 2010-04-03  Bruno Haible  <bruno@clisp.org>
3220
3221         time_r: Minor updates.
3222         * modules/time_r (Description): Mention the provided functions.
3223         * lib/time_r.c: Don't include <string.h>.
3224         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
3225         * doc/posix-functions/localtime_r.texi: Likewise.
3226
3227 2010-04-03  Bruno Haible  <bruno@clisp.org>
3228
3229         time: Fix regression introduced on 2010-03-08.
3230         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
3231         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
3232
3233 2010-04-03  Jim Meyering  <meyering@redhat.com>
3234
3235         maint.mk: don't silently disable project-specific syntax-check rules
3236         * top/maint.mk (_prohibit_regexp): Define, to help people realize
3237         that they need to convert their project-specific syntax-check rules
3238         to use the new _sc_search_regexp.
3239
3240 2010-04-03  Bruno Haible  <bruno@clisp.org>
3241
3242         fchdir: Fix regression introduced on 2010-03-08.
3243         * lib/unistd.in.h (fchdir): Fix declaration.
3244         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
3245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
3246         REPLACE_FCHDIR.
3247         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
3248         REPLACE_FCHDIR.
3249
3250 2010-04-03  Bruno Haible  <bruno@clisp.org>
3251
3252         getpagesize: Fix C++ test error on mingw.
3253         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
3254         system does not declare the function.
3255         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
3256         declared.
3257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3258         HAVE_DECL_GETPAGESIZE.
3259         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
3260
3261 2010-04-03  Bruno Haible  <bruno@clisp.org>
3262
3263         stdio: Make C++ tests work on mingw.
3264         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
3265         does not declare the function.
3266
3267 2010-04-03  Bruno Haible  <bruno@clisp.org>
3268
3269         ftello: Fix C++ test error on mingw.
3270         * lib/stdio.in.h (ftello): Use modern idiom.
3271         * lib/ftello.c (ftello): Renamed from rpl_ftello.
3272         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
3273         is missing and that it needs to be replaced.
3274         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
3275         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
3276         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
3277
3278 2010-04-03  Bruno Haible  <bruno@clisp.org>
3279
3280         fseeko: Fix C++ test error on mingw.
3281         * lib/stdio.in.h (fseeko): Use modern idiom.
3282         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
3283         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
3284         is missing and that it needs to be replaced.
3285         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
3286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
3287         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
3288
3289 2010-04-03  Bruno Haible  <bruno@clisp.org>
3290
3291         mkstemp: Fix C++ test error on mingw.
3292         * lib/stdlib.in.h (mkstemp): Use modern idiom.
3293         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
3294         function is missing and that it needs to be replaced.
3295         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
3296         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
3297
3298 2010-04-03  Bruno Haible  <bruno@clisp.org>
3299
3300         stpncpy: Fix C++ test error on mingw.
3301         * lib/string.in.h (stpncpy): Use modern idiom.
3302         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
3303         function is missing and that it needs to be replaced.
3304         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3305         REPLACE_STPNCPY.
3306         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
3307
3308 2010-04-03  Bruno Haible  <bruno@clisp.org>
3309
3310         sys_stat: Fix C++ test error on mingw.
3311         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
3312         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
3313
3314 2010-04-03  Bruno Haible  <bruno@clisp.org>
3315
3316         pty: Update doc.
3317         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
3318
3319 2010-04-03  Bruno Haible  <bruno@clisp.org>
3320
3321         unistd: Fix C++ test error on mingw.
3322         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
3323
3324 2010-04-03  Bruno Haible  <bruno@clisp.org>
3325
3326         Update doc regarding mingw.
3327         * doc/glibc-functions/openpty.texi: Update regarding mingw.
3328         * doc/glibc-functions/login_tty.texi: Likewise.
3329         * doc/glibc-functions/forkpty.texi: Likewise.
3330
3331 2010-04-03  Bruno Haible  <bruno@clisp.org>
3332
3333         stdlib: Avoid compilation failure of c-strtold on mingw.
3334         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
3335
3336 2010-04-03  Bruno Haible  <bruno@clisp.org>
3337
3338         locale: Make C++ tests work on Cygwin and mingw.
3339         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
3340         cannot provide the function.
3341         Reported by Simon Josefsson.
3342
3343 2010-04-03  Bruno Haible  <bruno@clisp.org>
3344
3345         localename: Port to MacOS X 10.6.
3346         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
3347         memory layout of the locales in MacOS X 10.6 as well.
3348         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
3349
3350 2010-04-02  Bruno Haible  <bruno@clisp.org>
3351
3352         gnulib-tool: Ensure that long-running tests are executed last.
3353         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
3354         running tests after the one for the other tests.
3355
3356 2010-04-02  Bruno Haible  <bruno@clisp.org>
3357
3358         gnulib-tool: Ensure the tests in the main directory are executed first.
3359         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
3360         start with the current directory.
3361
3362 2010-04-02  Bruno Haible  <bruno@clisp.org>
3363
3364         Tests for module 'havelib', moved here from GNU gettext.
3365         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
3366         modifications.
3367         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
3368         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
3369         with modifications.
3370         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
3371         modifications.
3372         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
3373         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
3374         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
3375         with modifications.
3376         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
3377         with modifications.
3378         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
3379         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
3380         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
3381         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
3382         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
3383         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
3384         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
3385         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
3386         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
3387         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
3388         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
3389         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
3390         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
3391         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
3392         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
3393         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
3394         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
3395         with modifications.
3396         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
3397         with modifications.
3398         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
3399         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
3400         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
3401         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
3402         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
3403         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
3404         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
3405         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
3406         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
3407         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
3408         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
3409         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
3410         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
3411         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
3412         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
3413         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
3414         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
3415         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
3416         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
3417         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
3418         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
3419         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
3420         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
3421         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
3422         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
3423         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
3424         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
3425         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
3426         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
3427         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
3428         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
3429         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
3430         * tests/havelib/rpathx/rpathx.c: New file, from
3431         gettext/autoconf-lib-link.
3432         * tests/havelib/rpathx/Makefile.am: New file, from
3433         gettext/autoconf-lib-link.
3434         * tests/havelib/rpathx/configure.ac: New file, from
3435         gettext/autoconf-lib-link with modifications.
3436         * tests/havelib/rpathy/rpathy.c: New file, from
3437         gettext/autoconf-lib-link.
3438         * tests/havelib/rpathy/Makefile.am: New file, from
3439         gettext/autoconf-lib-link.
3440         * tests/havelib/rpathy/configure.ac: New file, from
3441         gettext/autoconf-lib-link with modifications.
3442         * tests/havelib/rpathz/rpathz.c: New file, from
3443         gettext/autoconf-lib-link.
3444         * tests/havelib/rpathz/Makefile.am: New file, from
3445         gettext/autoconf-lib-link.
3446         * tests/havelib/rpathz/configure.ac: New file, from
3447         gettext/autoconf-lib-link with modifications.
3448         * tests/havelib/rpathlx/usex.c: New file, from
3449         gettext/autoconf-lib-link.
3450         * tests/havelib/rpathlx/Makefile.am: New file, from
3451         gettext/autoconf-lib-link.
3452         * tests/havelib/rpathlx/configure.ac: New file, from
3453         gettext/autoconf-lib-link with modifications.
3454         * tests/havelib/rpathly/usey.c: New file, from
3455         gettext/autoconf-lib-link.
3456         * tests/havelib/rpathly/Makefile.am: New file, from
3457         gettext/autoconf-lib-link.
3458         * tests/havelib/rpathly/configure.ac: New file, from
3459         gettext/autoconf-lib-link with modifications.
3460         * tests/havelib/rpathlz/usez.c: New file, from
3461         gettext/autoconf-lib-link.
3462         * tests/havelib/rpathlz/Makefile.am: New file, from
3463         gettext/autoconf-lib-link.
3464         * tests/havelib/rpathlz/configure.ac: New file, from
3465         gettext/autoconf-lib-link with modifications.
3466         * tests/havelib/rpathlyx/usey.c: New file, from
3467         gettext/autoconf-lib-link.
3468         * tests/havelib/rpathlyx/Makefile.am: New file, from
3469         gettext/autoconf-lib-link.
3470         * tests/havelib/rpathlyx/configure.ac: New file, from
3471         gettext/autoconf-lib-link with modifications.
3472         * tests/havelib/rpathlzyx/usez.c: New file, from
3473         gettext/autoconf-lib-link.
3474         * tests/havelib/rpathlzyx/Makefile.am: New file, from
3475         gettext/autoconf-lib-link.
3476         * tests/havelib/rpathlzyx/configure.ac: New file, from
3477         gettext/autoconf-lib-link with modifications.
3478         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
3479         with modifications.
3480
3481 2010-04-02  Bruno Haible  <bruno@clisp.org>
3482
3483         gnulib-tool: Create distributed built sources also for the tests.
3484         * gnulib-tool (func_create_testdir): Also generate distributed built
3485         sources in the tests directory.
3486
3487 2010-04-02  Bruno Haible  <bruno@clisp.org>
3488
3489         gnulib-tool: Obey user's environment variables.
3490         * gnulib-tool (func_create_testdir): When creating built sources,
3491         respect the environment variables for autoconf, automake, etc. given by
3492         the user.
3493
3494 2010-04-02  Bruno Haible  <bruno@clisp.org>
3495
3496         gnulib-tool: Provide the value of --m4-base to modules.
3497         * gnulib-tool (func_import, func_create_testdir): Emit a definition
3498         of gl_m4_base.
3499
3500 2010-04-02  Eric Blake  <eblake@redhat.com>
3501
3502         maint.mk: fix some fallout
3503         * NEWS: Document the incompatible change, and its effect on cfg.mk.
3504         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
3505
3506 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
3507
3508         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
3509         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
3510         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
3511         (sc_cast_of_x_alloc_return_value): Likewise.
3512         (sc_cast_of_alloca_return_value): Likewise.
3513         (sc_space_tab): Likewise.
3514         (sc_prohibit_atoi_atof): Likewise.
3515         (sc_prohibit_magic_number_exit): Likewise.
3516         (sc_error_exit_success): Likewise.
3517         (sc_file_system): Likewise.
3518         (sc_prohibit_have_config_h): Likewise.
3519         (sc_require_config_h): Likewise.
3520         (sc_prohibit_HAVE_MBRTOWC): Likewise.
3521         (sc_obsolete_symbols): Likewise.
3522         (sc_changelog): Likewise.
3523         (sc_program_name): Likewise.
3524         (sc_the_the): Likewise.
3525         (sc_trailing_blank): Likewise.
3526         (sc_two_space_separator_in_usage): Likewise.
3527         (sc_useless_cpp_parens): Likewise.
3528         (sc_GPL_version): Likewise.
3529         (sc_GFDL_version): Likewise.
3530         (sc_texinfo_acronym): Likewise.
3531         (sc_prohibit_cvs_keyword): Likewise.
3532         (sc_prohibit_stat_st_blocks): Likewise.
3533         (sc_prohibit_S_IS_definition): Likewise.
3534         (sc_redundant_const): Likewise.
3535         (sc_makefile_TAB_only_indentation): Likewise.
3536         (sc_m4_quote_check): Likewise.
3537         (sc_makefile_path_separator_check): Likewise.
3538         (sc_copyright_check): Likewise.
3539         (sc_Wundef_boolean): Likewise.
3540         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
3541
3542         maint.mk: match 0 or more whitespace-before-function-call '('
3543         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
3544         that have zero or two-and-more spaces between the function name
3545         and the open parenthesis.
3546         (sc_error_message_warn_fatal): Likewise.
3547         (sc_error_message_uppercase): Likewise.
3548         (sc_error_message_period): Likewise.
3549
3550 2010-03-31  Eric Blake  <eblake@redhat.com>
3551
3552         maint.mk: check for [ as well as test
3553         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
3554         Based on a libvirt report by Matthias Bolte.
3555
3556         gnumakefile: don't squelch _version output
3557         * top/GNUmakefile (_version): Create one-shot dependency rather
3558         than using $(shell) when version must be regenerated.
3559         (_autoreconf): Run verbosely, by default.
3560
3561         sys_time: avoid compiler warnings
3562         * lib/sys_time.in.h (includes): Ensure gcc pragma is
3563         unconditional, fixing regression from 2010-03-29.
3564         Reported by Simon Josefsson.
3565
3566 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
3567
3568         maint.mk: s/_header_without_use/_sc_header_without_use/
3569         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
3570         (sc_prohibit_assert_without_use): Use the new name.
3571         (sc_prohibit_close_stream_without_use): Likewise.
3572         (sc_prohibit_getopt_without_use): Likewise.
3573         (sc_prohibit_quotearg_without_use): Likewise.
3574         (sc_prohibit_quote_without_use): Likewise.
3575         (sc_prohibit_long_options_without_use): Likewise.
3576         (sc_prohibit_inttostr_without_use): Likewise.
3577         (sc_prohibit_ignore_value_without_use): Likewise.
3578         (sc_prohibit_error_without_use): Likewise.
3579         (sc_prohibit_xalloc_without_use): Likewise.
3580         (sc_prohibit_hash_without_use): Likewise.
3581         (sc_prohibit_hash_pjw_without_use): Likewise.
3582         (sc_prohibit_safe_read_without_use): Likewise.
3583         (sc_prohibit_argmatch_without_use): Likewise.
3584         (sc_prohibit_canonicalize_without_use): Likewise.
3585         (sc_prohibit_root_dev_ino_without_use): Likewise.
3586         (sc_prohibit_openat_without_use): Likewise.
3587         (sc_prohibit_c_ctype_without_use): Likewise.
3588         (sc_prohibit_signal_without_use): Likewise.
3589         (sc_prohibit_intprops_without_use): Likewise.
3590
3591 2010-03-30  Eric Blake  <eblake@redhat.com>
3592
3593         maint: improve module indicators
3594         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
3595         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
3596         columns, and avoid extra macro expansion.
3597
3598         fdopendir: work around FreeBSD bug
3599         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
3600         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
3601         * modules/dirent (Makefile.am): Substitute it.
3602         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
3603         declaration.
3604         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
3605         fix.
3606         Reported by Christian Weisgerber <naddy@mips.inka.de>.
3607
3608 2010-03-29  Bruno Haible  <bruno@clisp.org>
3609
3610         Emit #pragma system_header after the inclusion guard, not before.
3611         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
3612         guard that spans the entire file, not before. This enables an
3613         optimization in GCC's preprocessor.
3614         * lib/ctype.in.h: Likewise.
3615         * lib/dirent.in.h: Likewise.
3616         * lib/errno.in.h: Likewise.
3617         * lib/float.in.h: Likewise.
3618         * lib/getopt.in.h: Likewise.
3619         * lib/iconv.in.h: Likewise.
3620         * lib/langinfo.in.h: Likewise.
3621         * lib/locale.in.h: Likewise.
3622         * lib/math.in.h: Likewise.
3623         * lib/netdb.in.h: Likewise.
3624         * lib/netinet_in.in.h: Likewise.
3625         * lib/pty.in.h: Likewise.
3626         * lib/sched.in.h: Likewise.
3627         * lib/se-selinux.in.h: Likewise.
3628         * lib/search.in.h: Likewise.
3629         * lib/spawn.in.h: Likewise.
3630         * lib/stdarg.in.h: Likewise.
3631         * lib/stdint.in.h: Likewise.
3632         * lib/string.in.h: Likewise.
3633         * lib/strings.in.h: Likewise.
3634         * lib/sys_file.in.h: Likewise.
3635         * lib/sys_ioctl.in.h: Likewise.
3636         * lib/sys_time.in.h: Likewise.
3637         * lib/sys_times.in.h: Likewise.
3638         * lib/sys_utsname.in.h: Likewise.
3639         * lib/sys_wait.in.h: Likewise.
3640         * lib/sysexits.in.h: Likewise.
3641         * lib/wctype.in.h: Likewise.
3642
3643 2010-03-28  James Youngman  <jay@gnu.org>
3644
3645         save-cwd: don't leak a file descriptor when the caller execs.
3646         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
3647         saved file descriptor.
3648         * modules/save-cwd (Depends-on): Depend on cloexec.
3649
3650 2010-03-29  Bruno Haible  <bruno@clisp.org>
3651
3652         Remove vestiges of fts-lgpl module.
3653         * lib/fts_.h: Assume GNULIB_FTS is 1.
3654         * lib/fts.c: Likewise.
3655         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
3656
3657 2010-03-28  Bruno Haible  <bruno@clisp.org>
3658
3659         Fix definition of tests witness macro.
3660         * gnulib-tool (func_import): Fix definition of witness macro.
3661
3662 2010-03-28  Bruno Haible  <bruno@clisp.org>
3663
3664         Fix ioctl's protoype on glibc systems.
3665         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
3666         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
3667         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
3668         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
3669         signature. If not, arrange to replace the ioctl function.
3670         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
3671         REPLACE_IOCTL.
3672         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
3673         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
3674         Reported by Ludovic Courtès <ludo@gnu.org>.
3675
3676 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
3677
3678         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
3679         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
3680         made it so grep -r --include=GLOB* ... did not work.
3681
3682 2010-03-26  Jim Meyering  <meyering@redhat.com>
3683             Eric Blake  <eblake@redhat.com>
3684
3685         maint.mk: prohibit use of test's -o and -a operators
3686         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
3687
3688 2010-03-28  Bruno Haible  <bruno@clisp.org>
3689
3690         Remove unused GNULIB_XYZ macro definitions.
3691         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
3692         invocation.
3693
3694 2010-03-28  Bruno Haible  <bruno@clisp.org>
3695
3696         Mark privileged tests modules.
3697         * modules/idpriv-drop-tests (Status): New section.
3698         * modules/idpriv-droptemp-tests (Status): New section.
3699
3700 2010-03-28  Bruno Haible  <bruno@clisp.org>
3701
3702         Split C++ tests into separate tests modules.
3703         * modules/dirent-c++-tests: New file, extracted from
3704         modules/dirent-tests.
3705         * modules/dirent-tests: Depend on it.
3706         * modules/fcntl-h-c++-tests: New file, extracted from
3707         modules/fcntl-h-tests.
3708         * modules/fcntl-h-tests: Depend on it.
3709         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
3710         * modules/glob-tests: Depend on it.
3711         * modules/iconv-h-c++-tests: New file, extracted from
3712         modules/iconv-h-tests.
3713         * modules/iconv-h-tests: Depend on it.
3714         * modules/langinfo-c++-tests: New file, extracted from
3715         modules/langinfo-tests.
3716         * modules/langinfo-tests: Depend on it.
3717         * modules/locale-c++-tests: New file, extracted from
3718         modules/locale-tests.
3719         * modules/locale-tests: Depend on it.
3720         * modules/math-c++-tests: New file, extracted from modules/math-tests.
3721         * modules/math-tests: Depend on it.
3722         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
3723         * modules/pty-tests: Depend on it.
3724         * modules/search-c++-tests: New file, extracted from
3725         modules/search-tests.
3726         * modules/search-tests: Depend on it.
3727         * modules/signal-c++-tests: New file, extracted from
3728         modules/signal-tests.
3729         * modules/signal-tests: Depend on it.
3730         * modules/spawn-c++-tests: New file, extracted from
3731         modules/spawn-tests.
3732         * modules/spawn-tests: Depend on it.
3733         * modules/stdio-c++-tests: New file, extracted from
3734         modules/stdio-tests.
3735         * modules/stdio-tests: Depend on it.
3736         * modules/stdlib-c++-tests: New file, extracted from
3737         modules/stdlib-tests.
3738         * modules/stdlib-tests: Depend on it.
3739         * modules/string-c++-tests: New file, extracted from
3740         modules/string-tests.
3741         * modules/string-tests: Depend on it.
3742         * modules/sys_ioctl-c++-tests: New file, extracted from
3743         modules/sys_ioctl-tests.
3744         * modules/sys_ioctl-tests: Depend on it.
3745         * modules/sys_select-c++-tests: New file, extracted from
3746         modules/sys_select-tests.
3747         * modules/sys_select-tests: Depend on it.
3748         * modules/sys_socket-c++-tests: New file, extracted from
3749         modules/sys_socket-tests.
3750         * modules/sys_socket-tests: Depend on it.
3751         * modules/sys_stat-c++-tests: New file, extracted from
3752         modules/sys_stat-tests.
3753         * modules/sys_stat-tests: Depend on it.
3754         * modules/sys_time-c++-tests: New file, extracted from
3755         modules/sys_time-tests.
3756         * modules/sys_time-tests: Depend on it.
3757         * modules/time-c++-tests: New file, extracted from modules/time-tests.
3758         * modules/time-tests: Depend on it.
3759         * modules/unistd-c++-tests: New file, extracted from
3760         modules/unistd-tests.
3761         * modules/unistd-tests: Depend on it.
3762         * modules/wchar-c++-tests: New file, extracted from
3763         modules/wchar-tests.
3764         * modules/wchar-tests: Depend on it.
3765         * modules/wctype-c++-tests: New file, extracted from
3766         modules/wctype-tests.
3767         * modules/wctype-tests: Depend on it.
3768         Reported by Simon Josefsson.
3769
3770 2010-03-28  Bruno Haible  <bruno@clisp.org>
3771
3772         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
3773         * gnulib-tool (func_exists_module): New function, extracted from
3774         func_verify_module.
3775         (func_verify_module): Use it.
3776         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
3777         'foo' only if 'foo' exists.
3778         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
3779         module.
3780
3781 2010-03-28  Bruno Haible  <bruno@clisp.org>
3782
3783         gnulib-tool: Add support for special categories of tests.
3784         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
3785         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
3786         (func_usage): Document them.
3787         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
3788         inc_unportable_tests, inc_all_tests): New variables.
3789         (func_acceptable): Consider these variables.
3790         (func_modules_transitive_closure): Make it work when the 'Status' field
3791         consists of multiple words.
3792         (func_import): Store and restore the values of inc_cxx_tests,
3793         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
3794         inc_all_tests in gnulib-comp.m4.
3795         (func_create_testdir): Set inc_all_tests to true.
3796         * doc/gnulib.texi (Extra tests modules): New section.
3797         Suggested by Jim Meyering.
3798
3799 2010-03-28  Bruno Haible  <bruno@clisp.org>
3800
3801         ansi-c++-opt: Allow turning off the C++ build by default.
3802         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
3803         gl_CXX_CHOICE_DEFAULT_NO is defined.
3804         Requested by Eric Blake.
3805
3806 2010-03-28  Bruno Haible  <bruno@clisp.org>
3807
3808         unistd: Avoid #define replacements in C++ mode.
3809         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
3810         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
3811         setsockopt, shutdown, select): In C++, attach a warning to the function
3812         if possible, rather than #defining the symbol to a dysfunctional alias.
3813         Reported by John W. Eaton <jwe@gnu.org>.
3814
3815 2010-03-28  Bruno Haible  <bruno@clisp.org>
3816
3817         Fix link errors on mingw.
3818         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
3819         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
3820         $(LIBSOCKET).
3821         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
3822         $(LIBSOCKET).
3823
3824 2010-03-28  Bruno Haible  <bruno@clisp.org>
3825             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3826
3827         lib-ignore: Determine different options for different compilers.
3828         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
3829         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
3830         Add comments.
3831         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
3832         * NEWS: Mention the change.
3833
3834 2010-03-27  Bruno Haible  <bruno@clisp.org>
3835
3836         Remove unused GNULIB_XYZ macro definitions.
3837         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
3838         * modules/fseek (configure.ac): Likewise.
3839         * modules/ioctl (configure.ac): Likewise.
3840         * modules/open (configure.ac): Likewise.
3841         * modules/stdlib-safer (configure.ac): Likewise.
3842
3843 2010-03-27  Bruno Haible  <bruno@clisp.org>
3844
3845         Add a remark about certain modules.
3846         * modules/malloc (Comment): New section.
3847         * modules/realloc (Comment): Likewise.
3848         * modules/sigpipe (Comment): Likewise.
3849
3850 2010-03-27  Bruno Haible  <bruno@clisp.org>
3851
3852         Resolve conflict between the two kinds of module indicators.
3853         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
3854         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
3855         * modules/canonicalize (configure.ac): Invoke
3856         gl_MODULE_INDICATOR_FOR_TESTS.
3857         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
3858         GNULIB_XYZ.
3859         * tests/test-dirent-c++.cc: Likewise.
3860         * tests/test-dirent-safer.c: Likewise.
3861         * tests/test-dup2.c: Likewise.
3862         * tests/test-fchdir.c: Likewise.
3863         * tests/test-fcntl-h-c++.cc: Likewise.
3864         * tests/test-getopt.c: Likewise.
3865         * tests/test-getopt.h: Likewise.
3866         * tests/test-langinfo-c++.cc: Likewise.
3867         * tests/test-locale-c++.cc: Likewise.
3868         * tests/test-math-c++.cc: Likewise.
3869         * tests/test-pty-c++.cc: Likewise.
3870         * tests/test-search-c++.cc: Likewise.
3871         * tests/test-signal-c++.cc: Likewise.
3872         * tests/test-spawn-c++.cc: Likewise.
3873         * tests/test-stdio-c++.cc: Likewise.
3874         * tests/test-stdlib-c++.cc: Likewise.
3875         * tests/test-string-c++.cc: Likewise.
3876         * tests/test-sys_ioctl-c++.cc: Likewise.
3877         * tests/test-sys_select-c++.cc: Likewise.
3878         * tests/test-sys_socket-c++.cc: Likewise.
3879         * tests/test-sys_stat-c++.cc: Likewise.
3880         * tests/test-sys_time-c++.cc: Likewise.
3881         * tests/test-time-c++.cc: Likewise.
3882         * tests/test-unistd-c++.cc: Likewise.
3883         * tests/test-wchar-c++.cc: Likewise.
3884         * tests/uninorm/test-u8-nfc.c: Likewise.
3885         * tests/uninorm/test-u8-nfd.c: Likewise.
3886         * tests/uninorm/test-u8-nfkc.c: Likewise.
3887         * tests/uninorm/test-u8-nfkd.c: Likewise.
3888         * tests/uninorm/test-u16-nfc.c: Likewise.
3889         * tests/uninorm/test-u16-nfd.c: Likewise.
3890         * tests/uninorm/test-u16-nfkc.c: Likewise.
3891         * tests/uninorm/test-u16-nfkd.c: Likewise.
3892         * tests/uninorm/test-u32-nfc.c: Likewise.
3893         * tests/uninorm/test-u32-nfc-big.c: Likewise.
3894         * tests/uninorm/test-u32-nfd.c: Likewise.
3895         * tests/uninorm/test-u32-nfd-big.c: Likewise.
3896         * tests/uninorm/test-u32-nfkc.c: Likewise.
3897         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
3898         * tests/uninorm/test-u32-nfkd.c: Likewise.
3899         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
3900         * tests/uninorm/test-u32-normalize-big.c: Likewise.
3901
3902 2010-03-27  Bruno Haible  <bruno@clisp.org>
3903
3904         Distinguish two kinds of module indicators.
3905         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
3906         gl_MODULE_INDICATOR.
3907         (gl_MODULE_INDICATOR): New macro.
3908         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
3909         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
3910         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
3911         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
3912         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
3913         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
3914         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
3915         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
3916         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
3917         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
3918         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
3919         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
3920         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
3921         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
3922         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
3923         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
3924         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
3925         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
3926         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
3927         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
3928         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
3929         * modules/cloexec (configure.ac): Likewise.
3930         * modules/getopt-gnu (configure.ac): Likewise.
3931         * modules/uninorm/u8-normalize (configure.ac): Likewise.
3932         * modules/uninorm/u16-normalize (configure.ac): Likewise.
3933         * modules/uninorm/u32-normalize (configure.ac): Likewise.
3934         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
3935
3936 2010-03-27  Bruno Haible  <bruno@clisp.org>
3937
3938         New module description field 'Comment'.
3939         * gnulib-tool: New option --extract-comment.
3940         (func_usage): Document it.
3941         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
3942         (func_get_comment): New function.
3943         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
3944
3945 2010-03-27  Bruno Haible  <bruno@clisp.org>
3946
3947         Addendum to 2010-02-07 commit.
3948         * gnulib-tool (func_usage): Document --extract-applicability option.
3949
3950 2010-03-27  Bruno Haible  <bruno@clisp.org>
3951
3952         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
3953         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
3954         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
3955         rather than link errors.
3956
3957 2010-03-27  Bruno Haible  <bruno@clisp.org>
3958
3959         Avoid side effects from tests-related modules on the compilation of lib.
3960         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
3961         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
3962         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
3963         parameter. Emit into AM_CPPFLAGS a definition of the designated C
3964         macro.
3965         (func_import): Define a witness macro. Assign it a value that depends
3966         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
3967         tests-related modules.
3968         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
3969         Reported by Jim Meyering.
3970
3971 2010-03-27  Bruno Haible  <bruno@clisp.org>
3972
3973         Factorize common .m4 code.
3974         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
3975         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
3976         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
3977         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
3978         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
3979         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
3980         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
3981         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
3982         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
3983         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
3984         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
3985         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
3986         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
3987         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
3988         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
3989         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
3990         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
3991         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
3992         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
3993         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
3994         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
3995         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
3996         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
3997         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
3998         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
3999         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
4000         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
4001         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
4002         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
4003         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
4004         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
4005         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
4006
4007 2010-03-27  Bruno Haible  <bruno@clisp.org>
4008
4009         Fix a compilation error on Cygwin with g++ >= 4.3.
4010         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
4011         if it is undefined or if we alias it to chmod.
4012         (lstat): Don't warn about the use of this function if it is undefined
4013         or if we alias it to stat.
4014         Reported by Simon Josefsson.
4015
4016 2010-03-27  Bruno Haible  <bruno@clisp.org>
4017
4018         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
4019         * modules/getlogin (configure.ac): Update.
4020
4021         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
4022         * modules/getlogin_r (configure.ac): Update.
4023
4024         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
4025         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
4026         * modules/inet_ntop (configure.ac): Update.
4027
4028         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
4029         * modules/inet_pton (configure.ac): Update.
4030
4031         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
4032         * modules/mbslen (configure.ac): Update.
4033
4034         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
4035         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
4036         * modules/forkpty (configure.ac): Update.
4037         * modules/openpty (configure.ac): Update.
4038
4039 2010-03-26  Simon Josefsson  <simon@josefsson.org>
4040
4041         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
4042         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
4043
4044 2010-03-25  Eric Blake  <eblake@redhat.com>
4045
4046         maint: use pragma consistently across replacement headers
4047         * lib/ctype.in.h (system_header): Hoist for consistent placement.
4048         * lib/dirent.in.h (system_header): Likewise.
4049         * lib/errno.in.h (system_header): Likewise.
4050         * lib/float.in.h (system_header): Likewise.
4051         * lib/getopt.in.h (system_header): Likewise.
4052         * lib/iconv.in.h (system_header): Likewise.
4053         * lib/inttypes.in.h (system_header): Likewise.
4054         * lib/langinfo.in.h (system_header): Likewise.
4055         * lib/locale.in.h (system_header): Likewise.
4056         * lib/math.in.h (system_header): Likewise.
4057         * lib/netdb.in.h (system_header): Likewise.
4058         * lib/netinet_in.in.h (system_header): Likewise.
4059         * lib/pty.in.h (system_header): Likewise.
4060         * lib/sched.in.h (system_header): Likewise.
4061         * lib/se-selinux.in.h (system_header): Likewise.
4062         * lib/search.in.h (system_header): Likewise.
4063         * lib/spawn.in.h (system_header): Likewise.
4064         * lib/stdarg.in.h (system_header): Likewise.
4065         * lib/stdint.in.h (system_header): Likewise.
4066         * lib/string.in.h (system_header): Likewise.
4067         * lib/strings.in.h (system_header): Likewise.
4068         * lib/sys_file.in.h (system_header): Likewise.
4069         * lib/sys_ioctl.in.h (system_header): Likewise.
4070         * lib/sys_socket.in.h (system_header): Likewise.
4071         * lib/sys_times.in.h (system_header): Likewise.
4072         * lib/sys_utsname.in.h (system_header): Likewise.
4073         * lib/sys_wait.in.h (system_header): Likewise.
4074         * lib/sysexits.in.h (system_header): Likewise.
4075         * lib/unistd.in.h (system_header): Likewise.
4076         * lib/wctype.in.h (system_header): Likewise.
4077
4078         arpa/inet: fix mingw compilation warning
4079         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
4080         Reported by Matthew Bolte.
4081
4082 2010-03-25  Bruno Haible  <bruno@clisp.org>
4083
4084         Avoid collision between gnulib wrapper and libintl wrapper.
4085         * lib/printf.c (printf): Don't define if a printf wrapper is already
4086         defined in intl/printf.c.
4087         Reported by Michel Boaventura <michel@michelboaventura.com>.
4088
4089 2010-03-25  Bruno Haible  <bruno@clisp.org>
4090
4091         Use ANSI C.
4092         * lib/readutmp.h (getutent): Provide ANSI C prototype.
4093
4094 2010-03-25  Bruno Haible  <bruno@clisp.org>
4095
4096         Minor formatting changes.
4097         * lib/acosl.c: Insert space before function argument list.
4098         * lib/argz.c: Likewise.
4099         * lib/asinl.c: Likewise.
4100         * lib/expl.c: Likewise.
4101         * lib/gen-uni-tables.c: Likewise.
4102         * lib/gettext.h: Likewise.
4103         * lib/glthread/lock.h: Likewise.
4104         * lib/tanl.c: Likewise.
4105         * lib/uniname/uniname.c: Likewise.
4106         * tests/test-idpriv-drop.c: Likewise.
4107         * tests/test-idpriv-droptemp.c: Likewise.
4108         * tests/test-lock.c: Likewise.
4109         * tests/test-tls.c: Likewise.
4110         * lib/argp-help.c: Insert space before function-like macro argument
4111         list.
4112         * lib/memcmp.c: Likewise.
4113         * tests/test-base64.c: Likewise.
4114         * lib/localename.c: Insert space before sizeof's argument list.
4115         * lib/safe-alloc.h: Likewise.
4116         * lib/file-set.h: Insert space before macro argument list.
4117         * tests/test-argp.c: Likewise.
4118         * lib/argp-namefrob.h: Insert space before function parameter list.
4119         * lib/getaddrinfo.c: Likewise.
4120         * lib/netdb.in.h: Likewise.
4121         * lib/parse-duration.h: Likewise.
4122         * lib/parse-duration.c: Likewise.
4123         * lib/poll.c: Likewise.
4124         * lib/select.c: Likewise.
4125         * lib/trim.h: Likewise.
4126         * tests/test-usleep.c: Likewise.
4127         * lib/ldexpl.c: Insert space before function parameter list and before
4128         function argument list.
4129         * lib/logl.c: Likewise.
4130         * lib/sqrtl.c: Likewise.
4131         * lib/trim.c: Likewise.
4132         * lib/cosl.c: Use GNU style indentation. Insert space before function
4133         argument list.
4134         * lib/sinl.c: Likewise.
4135         * lib/tsearch.c: Insert space after 'for'.
4136         Reported by Jim Meyering.
4137
4138 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
4139
4140         * maint.mk (sc_Wundef_boolean): Check for the presence of the
4141         config header before grepping, as it's not present before
4142         autoreconf/configure are run.  Reported by Simon Josefsson.
4143
4144 2010-03-23  Bruno Haible  <bruno@clisp.org>
4145
4146         pt_chown: Make it work with automake < 1.11.
4147         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
4148         Reported by Simon Josefsson.
4149
4150 2010-03-23  Bruno Haible  <bruno@clisp.org>
4151
4152         pt_chown: Don't depend on GPLed modules.
4153         * lib/pt_chown.c: Don't include idpriv.h.
4154         (main): Don't drop privileges.
4155         * modules/pt_chown (Depends-on): Remove idpriv-drop.
4156         Reported by Simon Josefsson.
4157
4158 2010-03-24  Simon Josefsson  <simon@josefsson.org>
4159
4160         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
4161         suggestions from karl@freefriends.org (Karl Berry).
4162
4163 2010-03-22  Eric Blake  <eblake@redhat.com>
4164
4165         gethostname: further tweaks
4166         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
4167         are overriding gethostname.
4168         Suggested by Bruno Haible.
4169
4170 2010-03-21  Bruno Haible  <bruno@clisp.org>
4171
4172         Fix comments.
4173         * lib/forkpty.c (rpl_forkpty): Fix comment.
4174         * lib/openpty.c (rpl_openpty): Likewise.
4175         Reported by Eric Blake.
4176
4177 2010-03-22  Eric Blake  <eblake@redhat.com>
4178
4179         gethostname: fix build on mingw
4180         * lib/unistd.in.h (includes): Work around fact that mingw
4181         <winsock2.h> re-includes <unistd.h>, by avoiding any
4182         redeclarations if we are being included by <winsock2.h>.
4183         Reported by Matthias Bolte.
4184
4185 2010-03-21  Bruno Haible  <bruno@clisp.org>
4186
4187         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
4188         * lib/forkpty.c (forkpty): New replacement function, from glibc with
4189         modifications.
4190         * lib/pty.in.h (forkpty): Update declaration. Add comments.
4191         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
4192         provide the replacement.
4193         * modules/forkpty (Depends-on): Add openpty, login_tty.
4194         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
4195         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
4196         * doc/glibc-functions/forkpty.texi: More supported platforms.
4197         * config/srclist.txt: Add forkpty.c (commented).
4198
4199 2010-03-21  Bruno Haible  <bruno@clisp.org>
4200
4201         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
4202         (Makefile.am): Verify that PTY_LIB is defined.
4203
4204         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
4205
4206 2010-03-21  Bruno Haible  <bruno@clisp.org>
4207
4208         Tests for module 'login_tty'.
4209         * modules/login_tty-tests: New file.
4210         * tests/test-login_tty.c: New file.
4211
4212         New module 'login_tty'.
4213         * lib/login_tty.c: New file.
4214         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
4215         * modules/login_tty: New file.
4216         * doc/glibc-functions/login_tty.texi: Mention the new module.
4217
4218 2010-03-21  Bruno Haible  <bruno@clisp.org>
4219
4220         login_tty: Documentation.
4221         * doc/glibc-functions/login_tty.texi: New file.
4222         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
4223
4224 2010-03-21  Bruno Haible  <bruno@clisp.org>
4225
4226         pty: Consistent macro naming.
4227         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
4228         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
4229         * modules/pty (configure.ac): Update.
4230
4231 2010-03-21  Bruno Haible  <bruno@clisp.org>
4232
4233         Tests for openpty: Make stricter.
4234         * tests/test-openpty.c (main): Add test of canonical processing and
4235         erase.
4236         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
4237
4238         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
4239         * lib/openpty.c (openpty): New replacement function.
4240         * lib/pty.in.h: Include <termios.h>.
4241         (openpty): Update declaration. Add comments.
4242         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
4243         is not declared, arrange to provide the replacement. Check for _getpty
4244         and posix_openpt.
4245         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
4246         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
4247         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
4248         * modules/pty-tests (test_pty_c___LDADD): New variable.
4249         * doc/glibc-functions/openpty.texi: More supported platforms.
4250
4251 2010-03-21  Bruno Haible  <bruno@clisp.org>
4252
4253         setenv: Tweaks.
4254         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
4255         the test program.
4256         * doc/posix-functions/setenv.texi: Update platforms list.
4257
4258 2010-03-21  Bruno Haible  <bruno@clisp.org>
4259
4260         New module 'unlockpt'.
4261         * lib/unlockpt.c: New file, from glibc with modifications.
4262         * m4/unlockpt.m4: New file.
4263         * modules/unlockpt: New file.
4264         * lib/stdlib.in.h (unlockpt): New declaration.
4265         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
4266         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
4267         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
4268         HAVE_UNLOCKPT.
4269         * doc/posix-functions/unlockpt.texi: Mention the new module.
4270         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
4271         * config/srclist.txt: Add unlockpt.c (commented).
4272
4273 2010-03-21  Jim Meyering  <meyering@redhat.com>
4274
4275         maint.mk: prohibit inclusion of "intprops.h" without use
4276         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
4277
4278 2010-03-21  Bruno Haible  <bruno@clisp.org>
4279
4280         New module 'grantpt'.
4281         * lib/grantpt.c: New file, from glibc with modifications.
4282         * m4/grantpt.m4: New file.
4283         * modules/grantpt: New file.
4284         * lib/stdlib.in.h (grantpt): New declaration.
4285         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
4286         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
4287         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
4288         HAVE_GRANTPT.
4289         * doc/posix-functions/grantpt.texi: Mention the new module.
4290         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
4291         * config/srclist.txt: Add grantpt.c (commented).
4292
4293 2010-03-21  Bruno Haible  <bruno@clisp.org>
4294
4295         New module 'pt_chown'.
4296         * lib/pt_chown.c: New file, from glibc with modifications.
4297         * lib/pty-private.h: New file, from glibc with modifications.
4298         * modules/pt_chown: New file.
4299         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
4300
4301 2010-03-21  Bruno Haible  <bruno@clisp.org>
4302
4303         Tests for module 'ptsname'.
4304         * modules/ptsname-tests: New file.
4305         * tests/test-ptsname.c: New file.
4306
4307         New module 'ptsname'.
4308         * lib/ptsname.c: New file, from glibc with modifications.
4309         * m4/ptsname.m4: New file.
4310         * modules/ptsname: New file.
4311         * lib/stdlib.in.h (ptsname): New declaration.
4312         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
4313         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
4314         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
4315         HAVE_PTSNAME.
4316         * doc/posix-functions/ptsname.texi: Mention the new module.
4317         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
4318         * config/srclist.txt: Add ptsname.c (commented).
4319
4320 2010-03-21  Bruno Haible  <bruno@clisp.org>
4321
4322         Tests for module 'ttyname_r'.
4323         * modules/ttyname_r-tests: New file.
4324         * tests/test-ttyname_r.c: New file.
4325
4326         New module 'ttyname_r'.
4327         * lib/ttyname_r.c: New file.
4328         * m4/ttyname_r.m4: New file.
4329         * modules/ttyname_r: New file.
4330         * lib/unistd.in.h (ttyname_r): New declaration.
4331         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
4332         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
4333         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
4334         HAVE_TTYNAME_R.
4335         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
4336         * doc/posix-functions/ttyname_r.texi: Mention the new module.
4337
4338 2010-03-20  Bruno Haible  <bruno@clisp.org>
4339
4340         signal: Undefine macro definitions in C++ mode.
4341         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
4342         sigfillset): Undefine macro definitions from the system header in C++
4343         mode.
4344         Reported by John W. Eaton <jwe@gnu.org>.
4345
4346 2010-03-20  Bruno Haible  <bruno@clisp.org>
4347
4348         Ensure no #include statements inside extern "C" { ... }.
4349         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
4350         contain #include statements.
4351         * lib/time.in.h: Likewise.
4352
4353 2010-03-20  Bruno Haible  <bruno@clisp.org>
4354
4355         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
4356         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
4357         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
4358         Reported by John W. Eaton <jwe@gnu.org>.
4359
4360 2010-03-20  Bruno Haible  <bruno@clisp.org>
4361
4362         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
4363         Reported by Jim Meyering.
4364
4365 2010-03-20  Bruno Haible  <bruno@clisp.org>
4366
4367         pipe: Set errno upon failure.
4368         * lib/pipe.h: Specify that when -1 is returned, errno is set.
4369         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
4370         errno value in error message.
4371
4372 2010-03-20  Bruno Haible  <bruno@clisp.org>
4373             Jim Meyering  <meyering@redhat.com>
4374
4375         lchown: Avoid "unused variable" warning.
4376         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
4377
4378 2010-03-20  Bruno Haible  <bruno@clisp.org>
4379
4380         Work around unlink() bug on MacOS X 10.5.6.
4381         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
4382         attempting to unlink a parent directory.
4383         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
4384         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
4385         activate for the replacement function.
4386         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
4387
4388 2010-03-20  Bruno Haible  <bruno@clisp.org>
4389
4390         Fix link errors on Solaris 8.
4391         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
4392         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
4393
4394 2010-03-19  Jim Meyering  <meyering@redhat.com>
4395
4396         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
4397         The _LIBC implementation of build_range_exp correctly honors the
4398         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
4399         However, the non-_LIBC implementation would ignore that syntax-bit
4400         flag and return REG_ERANGE unconditionally.
4401         This change makes it honor that flag.
4402         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
4403         Make two pointer parameters "const".
4404         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
4405         (parse_bracket_exp): Update caller.
4406
4407         regex.m4: correct the reversed range endpoint ([b-a]) test
4408         * m4/regex.m4: When requiring that [b-a] evoke failure,
4409         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
4410         test pass once again for x86-based systems.
4411
4412 2010-03-19  Bruno Haible  <bruno@clisp.org>
4413
4414         scandir: Fix link error on Solaris 8.
4415         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
4416         macros.
4417
4418 2010-03-19  Bruno Haible  <bruno@clisp.org>
4419
4420         getusershell: Fix documentation.
4421         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
4422         module.
4423         * doc/glibc-functions/setusershell.texi: Likewise.
4424
4425         getusershell: Provide declaration, missing on Solaris 9.
4426         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
4427         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
4428         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
4429         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
4430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4431         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
4432         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
4433         HAVE_GETUSERSHELL.
4434         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
4435
4436 2010-03-19  Bruno Haible  <bruno@clisp.org>
4437
4438         wctype: Provide iswblank function.
4439         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
4440         exists and is fine.
4441         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
4442         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
4443         * tests/test-wctype.c (main): Re-enable the iswblank tests.
4444         * doc/posix-functions/iswblank.texi: Update.
4445
4446 2010-03-19  Bruno Haible  <bruno@clisp.org>
4447
4448         Tests of module 'pty' in C++ mode.
4449         * modules/pty-tests: New file.
4450         * tests/test-pty-c++.cc: New file.
4451         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
4452
4453 2010-03-19  Eric Blake  <eblake@redhat.com>
4454
4455         logb: fix documentation
4456         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
4457         1.5 declaration bug.
4458
4459         forkpty, openpty: prefer glibc's const-safe prototype
4460         * lib/forkpty.c (rpl_forkpty): New file.
4461         * lib/openpty.c (rpl_openpty): Likewise.
4462         * modules/forkpty (Files): Distribute it.
4463         * modules/openpty (Files): Likewise.
4464         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
4465         check...
4466         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
4467         replacement for for non-const BSD signature.
4468         * modules/pty (Makefile.am): Substitute witnesses.
4469         * lib/pty.in.h (forkpty, openpty): Declare replacements.
4470         * tests/test-forkpty.c: Update signature check.
4471         * tests/test-openpty.c: Likewise.
4472         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
4473         * doc/glibc-functions/openpty.texi (openpty): Likewise.
4474
4475         forkpty, openpty: split functions into new modules
4476         * modules/pty (Makefile.am): Substitute new witnesses.
4477         (Libraries): Move library detection...
4478         * modules/forkpty: ...into new module.
4479         * modules/openpty: Another new module.
4480         * modules/pty-tests: Rename and split...
4481         * modules/forkpty-tests: ...to this...
4482         * modules/openpty-tests: ...and this.
4483         * tests/test-pty.c: Rename and split...
4484         * tests/test-forkpty.c: ...to this...
4485         * tests/test-openpty.c: ...and this.
4486         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
4487         (gl_PTY): Split library searching...
4488         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
4489         (gl_FORKPTY, gl_OPENPTY): New macros.
4490         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
4491         * NEWS: Mention the split.
4492         * MODULES.html.sh (Misc): Document the modules.
4493         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
4494         * doc/glibc-functions/openpty.texi (openpty): Likewise.
4495
4496         pty: improve replacement header
4497         * lib/pty.in.h: New file.
4498         * modules/pty (Files): Ship it.
4499         (Makefile.am): Always build replacement.
4500         * m4/pty.m4: Rename...
4501         * m4/pty_h.m4: ...to this.
4502         (gl_PTY): Modernize setting of witness macros; update check of
4503         forkpty to take proper advantage of cache.
4504         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
4505
4506         getopt: avoid compiler warning
4507         * lib/getopt.c (attribute_hidden): Remove unused macro.
4508
4509 2010-03-18  Bruno Haible  <bruno@clisp.org>
4510
4511         Fix link errors on Solaris 8.
4512         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
4513         * modules/search-tests (test_search_c___LDADD): Likewise.
4514         * modules/signal-tests (test_signal_c___LDADD): Likewise.
4515         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
4516         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
4517         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
4518         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
4519         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
4520         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
4521
4522 2010-03-18  Bruno Haible  <bruno@clisp.org>
4523
4524         Fix bug introduced on 2010-03-14.
4525         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
4526         (gl_SPAWN_H): Require it.
4527         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
4528         Reported by Simon Josefsson.
4529
4530 2010-03-18  Bruno Haible  <bruno@clisp.org>
4531
4532         Fix typo introduced on 2009-12-31.
4533         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
4534         posix_spawn_file_actions_adddup2.
4535
4536 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
4537         and Eric Blake  <eblake@redhat.com>
4538
4539         test-vc-list-files-git: make more robust
4540         * tests/test-vc-list-files-git.sh: Unset problematic environment
4541         variables.  Chain commands together.
4542
4543 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
4544
4545         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
4546         `AC_CHECK_DECL' invocation.
4547
4548 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
4549
4550         * lib/inttostr.c (inttostr): Make sure the invocation of verify
4551         appears before executable statements. Suggested by Petr Sumbera
4552         <Petr.Sumbera@Sun.COM>.
4553
4554 2010-03-14  Bruno Haible  <bruno@clisp.org>
4555
4556         * tests/test-flock.c (test_exclusive): Comment out a test that causes
4557         portability problems. Instead use a simpler test.
4558         (main): Check that invalid arguments are rejected only on Linux.
4559
4560 2010-03-14  Bruno Haible  <bruno@clisp.org>
4561
4562         Fix bug introduced on 2009-12-31.
4563         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
4564         gl_PREREQ_SYS_H_WINSOCK2 always.
4565         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
4566         SYS_SOCKET_H variable.
4567         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
4568         Update comments.
4569         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
4570         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
4571         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4572         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4573         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
4574
4575 2010-03-14  Bruno Haible  <bruno@clisp.org>
4576
4577         Fix values returned by sinl, cosl.
4578         * lib/trigl.h: Add specification comments.
4579         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
4580         that combines the values from the precomputed table with the values of
4581         the Chebyshev polynomials.
4582
4583 2010-03-14  Bruno Haible  <bruno@clisp.org>
4584
4585         Fix compilation error when modules 'posix_spawn[p]' are not used.
4586         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
4587         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
4588
4589 2010-03-14  Bruno Haible  <bruno@clisp.org>
4590
4591         Fix compilation error on mingw when module 'time_r' is not used.
4592         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
4593         is 1.
4594         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
4595         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
4596         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
4597         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
4598
4599 2010-03-14  Bruno Haible  <bruno@clisp.org>
4600
4601         Fix compilation error with Sun C.
4602         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
4603         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
4604         instead of GCC specific ULONG_LONG_MAX.
4605         * lib/xstrtoll.c: Likewise.
4606         * lib/xstrtoull.c: Likewise.
4607
4608 2010-03-13  Bruno Haible  <bruno@clisp.org>
4609
4610         Allow the user to disable C++ code and tests.
4611         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
4612         (gl_PROG_ANSI_CXX): Require it.
4613
4614 2010-03-13  Bruno Haible  <bruno@clisp.org>
4615
4616         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
4617         cases.
4618
4619 2010-03-13  Bruno Haible  <bruno@clisp.org>
4620
4621         Test that gnulib does not break the standard C++ headers.
4622         * tests/test-locale-c++2.cc: New file.
4623         * modules/locale-tests (Files): Add it.
4624         (Makefile.am): Compile it for test-locale-c++.
4625         * tests/test-math-c++2.cc: New file.
4626         * modules/math-tests (Files): Add it.
4627         (Makefile.am): Compile it for test-math-c++.
4628         * tests/test-signal-c++2.cc: New file.
4629         * modules/signal-tests (Files): Add it.
4630         (Makefile.am): Compile it for test-signal-c++.
4631         * tests/test-stdio-c++2.cc: New file.
4632         * modules/stdio-tests (Files): Add it.
4633         (Makefile.am): Compile it for test-stdio-c++.
4634         * tests/test-stdlib-c++2.cc: New file.
4635         * modules/stdlib-tests (Files): Add it.
4636         (Makefile.am): Compile it for test-stdlib-c++.
4637         * tests/test-string-c++2.cc: New file.
4638         * modules/string-tests (Files): Add it.
4639         (Makefile.am): Compile it for test-string-c++.
4640         * tests/test-time-c++2.cc: New file.
4641         * modules/time-tests (Files): Add it.
4642         (Makefile.am): Compile it for test-time-c++.
4643         Reported by John W. Eaton <jwe@gnu.org>.
4644
4645 2010-03-13  Bruno Haible  <bruno@clisp.org>
4646
4647         * gnulib-tool (func_usage): Clarify which options are available for
4648         --create-testdir and --create-megatestdir.
4649
4650 2010-03-13  Bruno Haible  <bruno@clisp.org>
4651
4652         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
4653         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
4654         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
4655         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
4656         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
4657         when appropriate.
4658         Reported by Jim Meyering.
4659
4660 2010-03-12  Simon Josefsson  <simon@josefsson.org>
4661
4662         * gnulib-tool (func_import): Explain origin of code.
4663
4664 2010-03-12  Bruno Haible  <bruno@clisp.org>
4665
4666         Fix problem with automake's definition of CXXLINK.
4667         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
4668         Reported by Simon Josefsson and Ludovic Courtès.
4669
4670 2010-03-12  Bruno Haible  <bruno@clisp.org>
4671
4672         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
4673         stable releases.
4674
4675 2010-03-11  Bruno Haible  <bruno@clisp.org>
4676
4677         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
4678         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
4679         whether the system provides one variant or multiple variants of the
4680         function.
4681         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
4682         C++ compilers.
4683         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
4684         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
4685         Reported by Jim Meyering.
4686
4687 2010-03-09  Simon Josefsson  <simon@josefsson.org>
4688
4689         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
4690
4691 2010-03-08  Bruno Haible  <bruno@clisp.org>
4692
4693         gnulib-tool: Add support for --libtool in --create-testdir.
4694         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
4695         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
4696
4697 2010-03-08  Eric Blake  <eblake@redhat.com>
4698
4699         gnulib-tool.texi: mention possibility of git submodule
4700         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
4701         submodules.
4702         * doc/.gitignore: Ignore another generated file.
4703
4704 2010-03-08  Karl Berry  <karl@gnu.org>
4705
4706         * doc/gnulib-tool.texi (VCS Issues): Mention third option
4707         of committing gnulib files while skipping others.
4708
4709 2010-03-07  Bruno Haible  <bruno@clisp.org>
4710
4711         Tests of module 'wctype' in C++ mode.
4712         * tests/test-wctype-c++.cc: New file.
4713         * modules/wctype-tests (Files): Add it and tests/signature.h.
4714         (Depends-on): Add ansi-c++-opt.
4715         (Makefile.am): Arrange to compile and run test-wctype-c++.
4716
4717         Tests of module 'wchar' in C++ mode.
4718         * tests/test-wchar-c++.cc: New file.
4719         * modules/wchar-tests (Files): Add it and tests/signature.h.
4720         (Depends-on): Add ansi-c++-opt.
4721         (Makefile.am): Arrange to compile and run test-wchar-c++.
4722         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
4723         gl_MODULE_INDICATOR.
4724
4725         Tests of module 'unistd' in C++ mode.
4726         * tests/test-unistd-c++.cc: New file.
4727         * modules/unistd-tests (Files): Add it and tests/signature.h.
4728         (Depends-on): Add ansi-c++-opt.
4729         (Makefile.am): Arrange to compile and run test-unistd-c++.
4730         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
4731         gl_MODULE_INDICATOR.
4732
4733         Tests of module 'time' in C++ mode.
4734         * tests/test-time-c++.cc: New file.
4735         * modules/time-tests (Files): Add it and tests/signature.h.
4736         (Depends-on): Add ansi-c++-opt.
4737         (Makefile.am): Arrange to compile and run test-time-c++.
4738         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
4739
4740         Tests of module 'sys_time' in C++ mode.
4741         * tests/test-sys_time-c++.cc: New file.
4742         * modules/sys_time-tests (Files): Add it and tests/signature.h.
4743         (Depends-on): Add ansi-c++-opt.
4744         (Makefile.am): Arrange to compile and run test-sys_time-c++.
4745         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
4746         gl_MODULE_INDICATOR.
4747
4748         Tests of module 'sys_stat' in C++ mode.
4749         * tests/test-sys_stat-c++.cc: New file.
4750         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
4751         (Depends-on): Add ansi-c++-opt.
4752         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
4753         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
4754         gl_MODULE_INDICATOR.
4755
4756         Tests of module 'sys_socket' in C++ mode.
4757         * tests/test-sys_socket-c++.cc: New file.
4758         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
4759         (Depends-on): Add ansi-c++-opt.
4760         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
4761         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
4762         gl_MODULE_INDICATOR.
4763
4764         Tests of module 'sys_select' in C++ mode.
4765         * tests/test-sys_select-c++.cc: New file.
4766         * modules/sys_select-tests (Files): Add it and tests/signature.h.
4767         (Depends-on): Add ansi-c++-opt.
4768         (Makefile.am): Arrange to compile and run test-sys_select-c++.
4769         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
4770         gl_MODULE_INDICATOR.
4771
4772         Tests of module 'sys_ioctl' in C++ mode.
4773         * tests/test-sys_ioctl-c++.cc: New file.
4774         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
4775         (Depends-on): Add ansi-c++-opt.
4776         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
4777         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
4778         gl_MODULE_INDICATOR.
4779
4780         Tests of module 'string' in C++ mode.
4781         * tests/test-string-c++.cc: New file.
4782         * modules/string-tests (Files): Add it and tests/signature.h.
4783         (Depends-on): Add ansi-c++-opt.
4784         (Makefile.am): Arrange to compile and run test-string-c++.
4785         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
4786         gl_MODULE_INDICATOR.
4787
4788         Tests of module 'stdlib' in C++ mode.
4789         * tests/test-stdlib-c++.cc: New file.
4790         * modules/stdlib-tests (Files): Add it and tests/signature.h.
4791         (Depends-on): Add ansi-c++-opt.
4792         (Makefile.am): Arrange to compile and run test-stdlib-c++.
4793         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
4794         gl_MODULE_INDICATOR.
4795
4796         Tests of module 'stdio' in C++ mode.
4797         * tests/test-stdio-c++.cc: New file.
4798         * modules/stdio-tests (Files): Add it and tests/signature.h.
4799         (Depends-on): Add ansi-c++-opt.
4800         (Makefile.am): Arrange to compile and run test-stdio-c++.
4801         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
4802         gl_MODULE_INDICATOR.
4803
4804         Tests of module 'spawn' in C++ mode.
4805         * tests/test-spawn-c++.cc: New file.
4806         * modules/spawn-tests (Files): Add it and tests/signature.h.
4807         (Depends-on): Add ansi-c++-opt.
4808         (Makefile.am): Arrange to compile and run test-spawn-c++.
4809         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
4810         gl_MODULE_INDICATOR.
4811
4812         Tests of module 'signal' in C++ mode.
4813         * tests/test-signal-c++.cc: New file.
4814         * modules/signal-tests (Files): Add it and tests/signature.h.
4815         (Depends-on): Add ansi-c++-opt.
4816         (Makefile.am): Arrange to compile and run test-signal-c++.
4817         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
4818         gl_MODULE_INDICATOR.
4819
4820         Tests of module 'search' in C++ mode.
4821         * tests/test-search-c++.cc: New file.
4822         * modules/search-tests (Files): Add it and tests/signature.h.
4823         (Depends-on): Add ansi-c++-opt.
4824         (Makefile.am): Arrange to compile and run test-search-c++.
4825         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
4826         gl_MODULE_INDICATOR.
4827
4828         Tests of module 'math' in C++ mode.
4829         * tests/test-math-c++.cc: New file.
4830         * modules/math-tests (Files): Add it and tests/signature.h.
4831         (Depends-on): Add ansi-c++-opt.
4832         (Makefile.am): Arrange to compile and run test-math-c++.
4833         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
4834
4835         Tests of module 'locale' in C++ mode.
4836         * tests/test-locale-c++.cc: New file.
4837         * modules/locale-tests (Files): Add it and tests/signature.h.
4838         (Depends-on): Add ansi-c++-opt.
4839         (Makefile.am): Arrange to compile and run test-locale-c++.
4840         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
4841         gl_MODULE_INDICATOR.
4842
4843         Tests of module 'langinfo' in C++ mode.
4844         * tests/test-langinfo-c++.cc: New file.
4845         * modules/langinfo-tests (Files): Add it and tests/signature.h.
4846         (Depends-on): Add ansi-c++-opt.
4847         (Makefile.am): Arrange to compile and run test-langinfo-c++.
4848         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
4849         gl_MODULE_INDICATOR.
4850
4851         Tests of module 'iconv-h' in C++ mode.
4852         * tests/test-iconv-h-c++.cc: New file.
4853         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
4854         (Depends-on): Add ansi-c++-opt.
4855         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
4856
4857         Tests of module 'glob' in C++ mode.
4858         * tests/test-glob-c++.cc: New file.
4859         * modules/glob-tests (Files): Add it.
4860         (Depends-on): Add ansi-c++-opt.
4861         (Makefile.am): Arrange to compile and run test-glob-c++.
4862
4863         Tests of module 'fcntl-h' in C++ mode.
4864         * tests/test-fcntl-h-c++.cc: New file.
4865         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
4866         (Depends-on): Add ansi-c++-opt.
4867         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
4868         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
4869         gl_MODULE_INDICATOR.
4870
4871         Tests of module 'dirent' in C++ mode.
4872         * tests/test-dirent-c++.cc: New file.
4873         * modules/dirent-tests (Files): Add it and tests/signature.h.
4874         (Depends-on): Add ansi-c++-opt.
4875         (Makefile.am): Arrange to compile and run test-dirent-c++.
4876         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
4877         gl_MODULE_INDICATOR.
4878
4879         New module 'ansi-c++-opt'.
4880         * modules/ansi-c++-opt: New file.
4881         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
4882
4883         Document C++ namespace mode.
4884         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
4885
4886         wctype: Avoid #define replacements in C++ mode.
4887         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
4888         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
4889         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
4890         In C++, define a namespaced alias symbol.
4891         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
4892         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
4893         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
4894         rule.
4895
4896         wchar: Avoid #define replacements in C++ mode.
4897         * lib/wchar.in.h: Include c++defs.h.
4898         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
4899         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
4900         symbol.
4901         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
4902         * modules/wchar (Depends-on): Add c++defs.
4903         (Makefile.am): Update wchar.h rule.
4904
4905         unistd: Avoid #define replacements in C++ mode.
4906         * lib/unistd.in.h: Include c++defs.h.
4907         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
4908         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
4909         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
4910         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
4911         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
4912         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
4913         symbol.
4914         (environ): Update.
4915         * modules/unistd (Depends-on): Add c++defs.
4916         (Makefile.am): Update unistd.h rule.
4917
4918         time: Avoid #define replacements in C++ mode.
4919         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
4920         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
4921         define a namespaced alias symbol.
4922         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
4923         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
4924         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
4925         * modules/time (Depends-on): Add c++defs, warn-on-use.
4926         (Makefile.am): Update time.h rule.
4927         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
4928         * modules/nanosleep (configure.ac): Likewise.
4929         * modules/strptime (configure.ac): Likewise.
4930         * modules/timegm (configure.ac): Likewise.
4931
4932         sys_time: Avoid #define replacements in C++ mode.
4933         * lib/sys_time.in.h: Include c++defs.h.
4934         (gettimeofday): In C++, define a namespaced alias symbol.
4935         * modules/sys_time (Depends-on): Add c++defs.
4936         (Makefile.am): Update sys/time.h rule.
4937
4938         sys_stat: Avoid #define replacements in C++ mode.
4939         * lib/sys_stat.in.h: Include c++defs.h.
4940         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
4941         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
4942         namespaced alias symbol.
4943         In C++, define a namespaced alias symbol.
4944         * modules/sys_stat (Depends-on): Add c++defs.
4945         (Makefile.am): Update sys/stat.h rule.
4946
4947         sys_socket: Avoid #define replacements in C++ mode.
4948         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
4949         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
4950         definitions also when the system has a <sys/socket.h>.
4951         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
4952         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
4953         In C++, define a namespaced alias symbol.
4954         * modules/sys_socket (Depends-on): Add c++defs.
4955         (Makefile.am): Update sys/socket.h rule.
4956
4957         sys_select: Avoid #define replacements in C++ mode.
4958         * lib/sys_select.in.h: Include c++defs.h. Enable the function
4959         definitions also when the system has a <sys/select.h>.
4960         (select): In C++, define a namespaced alias symbol.
4961         * modules/sys_select (Depends-on): Add c++defs.
4962         (Makefile.am): Update sys/select.h rule.
4963
4964         sys_ioctl: Avoid #define replacements in C++ mode.
4965         * lib/sys_ioctl.in.h: Include c++defs.h.
4966         (ioctl): In C++, define a namespaced alias symbol.
4967         * modules/sys_ioctl (Depends-on): Add c++defs.
4968         (Makefile.am): Update sys/ioctl.h rule.
4969
4970         string: Avoid #define replacements in C++ mode.
4971         * lib/string.in.h: Include c++defs.h.
4972         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
4973         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
4974         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
4975         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
4976         strsignal, strverscmp): In C++, define a namespaced alias symbol.
4977         * modules/string (Depends-on): Add c++defs.
4978         (Makefile.am): Update string.h rule.
4979
4980         stdlib: Avoid #define replacements in C++ mode.
4981         * lib/stdlib.in.h: Include c++defs.h.
4982         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
4983         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
4984         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
4985         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
4986         symbol.
4987         * modules/stdlib (Depends-on): Add c++defs.
4988         (Makefile.am): Update stdlib.h rule.
4989
4990         stdio: Avoid #define replacements in C++ mode.
4991         * lib/stdio.in.h: Include c++defs.h.
4992         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
4993         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
4994         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
4995         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
4996         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
4997         namespaced alias symbol.
4998         * modules/stdio (Depends-on): Add c++defs.
4999         (Makefile.am): Update stdio.h rule.
5000
5001         spawn: Avoid #define replacements in C++ mode.
5002         * lib/spawn.in.h: Include c++defs.h.
5003         (posix_spawn, posix_spawnp, posix_spawnattr_init,
5004         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
5005         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
5006         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
5007         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
5008         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
5009         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
5010         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
5011         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
5012         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
5013         In C++, define a namespaced alias symbol.
5014         * modules/spawn (Depends-on): Add c++defs.
5015         (Makefile.am): Update spawn.h rule.
5016
5017         signal: Avoid #define replacements in C++ mode.
5018         * lib/signal.in.h: Include c++defs.h.
5019         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
5020         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
5021         namespaced alias symbol.
5022         * modules/signal (Depends-on): Add c++defs.
5023         (Makefile.am): Update signal.h rule.
5024
5025         search: Avoid #define replacements in C++ mode.
5026         * lib/search.in.h: Include c++defs.h.
5027         (_gl_search_compar_fn, _gl_search_action_fn): New types.
5028         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
5029         symbol.
5030         * modules/search (Depends-on): Add c++defs.
5031         (Makefile.am): Update search.h rule.
5032
5033         math: Avoid #define replacements in C++ mode.
5034         * lib/math.in.h: Include c++defs.h.
5035         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
5036         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
5037         trunc, truncl): In C++, define a namespaced alias symbol.
5038         * modules/math (Depends-on): Add c++defs.
5039         (Makefile.am): Update math.h rule.
5040
5041         locale: Avoid #define replacements in C++ mode.
5042         * lib/locale.in.h: Include c++defs.h.
5043         (duplocale): In C++, define a namespaced alias symbol.
5044         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
5045         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
5046         * modules/locale (Depends-on): Add c++defs.
5047         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
5048
5049         langinfo: Avoid #define replacements in C++ mode.
5050         * lib/langinfo.in.h: Include c++defs.h.
5051         (nl_langinfo): In C++, define a namespaced alias symbol.
5052         * modules/langinfo (Depends-on): Add c++defs.
5053         (Makefile.am): Update langinfo.h rule.
5054
5055         iconv-h: Avoid #define replacements in C++ mode.
5056         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
5057         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
5058         symbol.
5059         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
5060         whenever iconv is present.
5061         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
5062         (Makefile.am): Update iconv.h rule.
5063
5064         glob: Avoid #define replacements in C++ mode.
5065         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
5066         (_gl_glob_errfunc_fn): New type.
5067         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
5068         symbol.
5069         * modules/glob (Depends-on): Add c++defs, warn-on-use.
5070         (Makefile.am): Update glob.h rule.
5071
5072         fcntl-h: Avoid #define replacements in C++ mode.
5073         * lib/fcntl.in.h: Include c++defs.h.
5074         (fcntl, open, openat): In C++, define a namespaced alias symbol.
5075         * modules/fcntl-h (Depends-on): Add c++defs.
5076         (Makefile.am): Update fcntl.h rule.
5077
5078         dirent: Avoid #define replacements in C++ mode.
5079         * lib/dirent.in.h: Include c++defs.h.
5080         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
5081         namespaced alias symbol.
5082         (dirfd): Update declaration.
5083         * modules/dirent (Depends-on): Add c++defs.
5084         (Makefile.am): Update dirent.h rule.
5085
5086         ctype: Make it usable in C++ code.
5087         * lib/ctype.in.h: Include c++defs.h.
5088         (isblank): Declare as extern "C".
5089         * modules/ctype (Depends-on): Add c++defs.
5090         (Makefile.am): Update ctype.h rule.
5091
5092         New module 'c++defs'.
5093         * modules/c++defs: New file.
5094         * build-aux/c++defs.h: New file.
5095         Reported by John W. Eaton <jwe@gnu.org>.
5096
5097 2010-03-07  Bruno Haible  <bruno@clisp.org>
5098
5099         logb: Provide missing declaration for Cygwin.
5100         * lib/math.in.h (logb): New declaration.
5101         * m4/logb.m4: New file.
5102         * modules/logb (Files): Add m4/logb.m4.
5103         (Depends-on): Add math.
5104         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
5105         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
5106         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
5107         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
5108         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
5109
5110 2010-03-07  Bruno Haible  <bruno@clisp.org>
5111
5112         Fix test-cond link error.
5113         * tests/test-cond.c: Include <stdio.h>.
5114
5115 2010-03-07  Bruno Haible  <bruno@clisp.org>
5116
5117         Fix test-dirent-safer link error.
5118         * modules/dirent-safer-tests (Makefile.am): Define
5119         test_dirent_safer_LDADD.
5120
5121 2010-03-07  Bruno Haible  <bruno@clisp.org>
5122
5123         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
5124         among default module list.
5125
5126 2010-03-07  Bruno Haible  <bruno@clisp.org>
5127
5128         Fix link error on platforms with GNU libiconv.
5129         * modules/unistr/u8-strcoll-tests (Makefile): Define
5130         test_u8_strcoll_LDADD.
5131         * modules/unistr/u16-strcoll-tests (Makefile): Define
5132         test_u16_strcoll_LDADD.
5133         * modules/unistr/u32-strcoll-tests (Makefile): Define
5134         test_u32_strcoll_LDADD.
5135
5136 2010-03-07  Bruno Haible  <bruno@clisp.org>
5137
5138         Use POSIX declarations for socket functions.
5139         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
5140         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
5141         rpl_sendto): Change declaration to match POSIX.
5142         * lib/connect.c (rpl_connect): Likewise.
5143         * lib/accept.c (rpl_accept): Likewise.
5144         * lib/bind.c (rpl_bind): Likewise.
5145         * lib/getpeername.c (rpl_getpeername): Likewise.
5146         * lib/getsockname.c (rpl_getsockname): Likewise.
5147         * lib/recv.c (rpl_recv): Likewise.
5148         * lib/send.c (rpl_send): Likewise.
5149         * lib/recvfrom.c (rpl_recvfrom): Likewise.
5150         * lib/sendto.c (rpl_sendto): Likewise.
5151
5152 2010-03-06  Bruno Haible  <bruno@clisp.org>
5153
5154         Clarify access, euidaccess, faccessat.
5155         * doc/posix-functions/faccessat.texi: Mention security problem under
5156         "Other problems", not "Portability problems".
5157         * doc/posix-functions/access.texi: Likewise. Mention a related security
5158         problem.
5159         * doc/glibc-functions/euidaccess.texi: Mention security problems.
5160         * lib/euidaccess.c: Add comments about platforms.
5161         * lib/unistd.in.h (access, euidaccess): Add warnings.
5162
5163 2010-03-07  Bruno Haible  <bruno@clisp.org>
5164
5165         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
5166         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
5167         (POSIX_SPAWN_SETSCHEDULER): Likewise.
5168         (POSIX_SPAWN_USEVFORK): Define in a way that works when
5169         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
5170         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
5171         declare when POSIX_SPAWN_SETSCHEDULER is zero.
5172         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
5173         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
5174         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
5175         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
5176         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
5177         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
5178         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
5179         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
5180         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
5181         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
5182         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
5183         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
5184         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
5185         Likewise.
5186         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
5187         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
5188         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
5189         Likewise.
5190         * tests/test-spawn.c (main): Make it work when
5191         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
5192
5193 2010-03-07  Bruno Haible  <bruno@clisp.org>
5194
5195         Fix incorrect Makefile.am generation in German locale.
5196         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5197         Execute sed command with character range in C locale.
5198
5199 2010-03-06  Bruno Haible  <bruno@clisp.org>
5200
5201         Tests for module 'iconv-h'.
5202         * modules/iconv-h-tests: New file.
5203         * tests/test-iconv-h.c: New file.
5204
5205         New module 'iconv-h'.
5206         * modules/iconv-h: New file.
5207         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
5208         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
5209         (configure.ac): Remove gl_ICONV_H.
5210         (Makefile.am): Remove rule for iconv.h.
5211
5212 2010-03-06  Bruno Haible  <bruno@clisp.org>
5213
5214         More consistent naming of *.m4 files.
5215         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
5216         * modules/wctype (Files): Update.
5217
5218         More consistent naming of *.m4 files.
5219         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
5220         * modules/wchar (Files): Update.
5221
5222 2010-03-06  Jim Meyering  <meyering@redhat.com>
5223
5224         euidaccess: relax license to LGPLv2+
5225         * modules/euidaccess (License): Relax to LGPLv2+.
5226
5227 2010-03-06  Bruno Haible  <bruno@clisp.org>
5228
5229         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
5230         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
5231         (Makefile.am): Augment lib_SOURCES instead.
5232
5233 2010-03-04  Jim Meyering  <meyering@redhat.com>
5234
5235         utime: remove obsolete module
5236         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
5237         unnecessary for years, and has been marked as obsolete for 10 months.
5238         * modules/utime: Remove file.
5239         * lib/utime.c: Remove file.
5240         * m4/utime.m4: Remove file.
5241         * m4/utimes-null.m4: Remove file.
5242         * doc/posix-functions/utime.texi (utime): Remove reference to
5243         the module.  Move the sole "fixed by gnulib" item into the
5244         "problems not fixed by Gnulib" list.
5245         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
5246
5247 2010-03-05  Simon Josefsson  <simon@josefsson.org>
5248
5249         * modules/exit (License): Relax license to LGPLv2+.
5250         (Status): Mark as obsolete.
5251         * NEWS: Mention deprecated 'exit' module.
5252         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
5253         of now obsolete 'exit'.
5254
5255 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5256
5257         fts-lgpl: remove unused module
5258         * modules/fts-lgpl: Remove.
5259         * MODULES.html.sh (func_all_modules): Adjust.
5260         * check-module (find_included_lib_files): Adjust.
5261         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
5262
5263 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
5264
5265         copy-acl: enhance Solaris ACL error handling
5266         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
5267         * lib/set-mode-acl.c (qset_acl): Likewise.
5268
5269 2010-03-02  Bruno Haible  <bruno@clisp.org>
5270
5271         spawn: Don't override the system defined values on FreeBSD 8.
5272         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
5273         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
5274         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
5275         if HAVE_POSIX_SPAWN is 1.
5276         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
5277
5278 2010-03-01  Bruno Haible  <bruno@clisp.org>
5279
5280         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
5281         regarding Automake.
5282
5283 2010-02-25  Bruno Haible  <bruno@clisp.org>
5284
5285         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
5286         * gnulib-tool: Define 'echo' as a function only before the ksh alias
5287         setting, not afterwards.
5288         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5289
5290 2010-02-24  Eric Blake  <eblake@redhat.com>
5291
5292         bootstrap, git-version-gen: use timestamp
5293         * build-aux/git-version-gen (scriptversion): Force UTC.
5294         * build-aux/bootstrap (scriptversion): New variable.
5295
5296         bootstrap: allow older git
5297         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
5298         older than 1.6.4.  Requested by the libvirt project.
5299
5300 2010-02-23  Eric Blake  <eblake@redhat.com>
5301
5302         warn-on-use: work with old autoconf
5303         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
5304         AS_VAR semantics of autoconf 2.60.
5305         Reported by Bruno Haible.
5306
5307         bootstrap: improve some comments
5308         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
5309         clarification comments.
5310
5311         gettimeofday: provide correct function
5312         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
5313         when replacement is declared, otherwise provide gettimeofday.
5314         Reported by Michael Goffioul.
5315
5316 2010-02-23  Jim Meyering  <meyering@redhat.com>
5317
5318         lib-ignore: relax license to "unlimited", not LGPLv2+
5319         * modules/lib-ignore (License): Relax to "unlimited".
5320
5321 2010-02-23  Jim Meyering  <meyering@redhat.com>
5322
5323         lib-ignore: relax license to LGPLv2+
5324         * modules/lib-ignore (License): Relax to LGPLv2+.
5325
5326 2010-02-22  Eric Blake  <eblake@redhat.com>
5327
5328         lseek: avoid bash 3.2 broken pipe bug
5329         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
5330         warning from bash 3.2.
5331         Reported by Ben Pfaff, with analysis from Bruno Haible.
5332
5333         bootstrap: support non-FSF copyright holder
5334         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
5335         bootstrap.conf override of COPYRIGHT_HOLDER.
5336         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
5337
5338         bootstrap: interoperate with gettext 0.14.1
5339         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
5340
5341         bootstrap: allow for alternate submodule location
5342         * build-aux/bootstrap (gnulib_path): New variable; use instead of
5343         hardcoding submodule location.
5344         (gnulib_mk): Allow direct use of Makefile.am.
5345
5346         bootstrap: use GNULIB_SRCDIR to reduce disk usage
5347         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
5348         rather than reconfiguring where the submodule points.
5349
5350         gettimeofday: restore support for platforms that lack function
5351         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
5352         replacement if function is missing.
5353         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
5354         * modules/sys_time (Makefile.am): Substitute it.
5355         * lib/sys_time.in.h (gettimeofday): Check it.
5356         Reported by Michael Goffioul.
5357
5358 2010-02-21  Bruno Haible  <bruno@clisp.org>
5359
5360         * lib/stdio.in.h (obstack_printf): Fix typo.
5361
5362 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
5363
5364         vc-list-files: use bzr ls's -R option
5365         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
5366         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
5367
5368 2010-02-21  Jim Meyering  <meyering@redhat.com>
5369
5370         init.sh: fix EXEEXT shims to work also for names like test-prog
5371         * tests/init.sh: Re-exec a better shell, when needed.
5372         If the current shell lacks support for posix $(...), an init.sh-using
5373         test will now try to find a shell that supports that.  If EXEEXT is
5374         nonempty, we also require support for hyphen-in-alias-name and shell
5375         substitutions like ${var#glob}.  Failure to find such a shell results
5376         in a skipped test.
5377
5378 2010-02-21  Bruno Haible  <bruno@clisp.org>
5379
5380         Really work around around "broken pipe" error message from bash 3.2.
5381         * gnulib-tool (func_reset_sigpipe): Remove function.
5382         (echo): In bash 3.2, define to a function that uses printf.
5383         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
5384
5385 2010-02-20  Bruno Haible  <bruno@clisp.org>
5386
5387         Restore support for automake 1.9.6 with autoconf 2.61.
5388         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
5389         Reported by James Youngman <jay@gnu.org>.
5390
5391 2010-02-20  Bruno Haible  <bruno@clisp.org>
5392
5393         Improve *printf warning condition.
5394         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
5395         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
5396         and the function is overridden due to SIGPIPE emulation.
5397
5398 2010-02-20  Bruno Haible  <bruno@clisp.org>
5399
5400         * lib/stdio.in.h: Tweak comments.
5401
5402 2010-02-19  Bruno Haible  <bruno@clisp.org>
5403
5404         Make it easier to find modules. New gnulib-tool option '--find'.
5405         * gnulib-tool: New option --find.
5406         (func_usage): Document it.
5407         (func_sanitize_modulelist): New function, extracted from
5408         func_all_modules.
5409         (func_all_modules): Invoke it.
5410         * doc/gnulib-tool.texi (Which modules?): New node.
5411
5412 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
5413
5414         * lib/sys_select.in.h: Provide select replacement even if
5415         sys/select.h exists on a system, for Interix.
5416
5417 2010-02-18  Jim Meyering  <meyering@redhat.com>
5418
5419         init.sh: don't use $(...) just yet
5420         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
5421         to accommodate e.g., Solaris' /bin/sh.
5422
5423 2010-02-17  Bruno Haible  <bruno@clisp.org>
5424
5425         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
5426         Reported by Ludovic Courtès <ludo@gnu.org>.
5427
5428 2010-02-16  Simon Josefsson  <simon@josefsson.org>
5429
5430         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
5431         linking with -lintl.
5432
5433 2010-02-17  Simon Josefsson  <simon@josefsson.org>
5434
5435         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
5436         if not provided by the system's netdb.h.  Reported by
5437         ludo@gnu.org (Ludovic Courtès).
5438
5439 2010-02-15  Jim Meyering  <meyering@redhat.com>
5440
5441         init.sh: improve portability and efficiency
5442         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
5443         "dummy" in a for loop.
5444         Use '!', not '^' to select the complement of a character set used
5445         in a "case" statement.
5446         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
5447         Suggestions from Eric Blake.
5448
5449         init.sh: automatically accommodate programs with the .exe suffix
5450         Automatically arrange for an invocation of "prog" to execute the
5451         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
5452         may use the simpler "prog", yet still work when built on a system
5453         that requires specifying the added suffix.
5454         Do this by constructing a function named "prog" that invokes
5455         "prog.exe" for each .exe file in selected directories.
5456         * tests/init.sh (find_exe_basenames_): New function.
5457         (create_exe_shim_functions_): New function.
5458         (path_prepend_): Use it.
5459
5460         maint.mk: mark syntax-check sc_*.m rules as .PHONY
5461         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
5462         "make -t syntax-check" doesn't create a ton of sc_*.m files.
5463
5464 2010-02-14  Jim Meyering  <meyering@redhat.com>
5465
5466         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
5467         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
5468         (sc_prohibit_hash_pjw_without_use): New rule.
5469
5470         maint.mk: allow the default upload destination dir to be overridden
5471         * top/maint.mk (upload_dest_dir_): Define with a default that
5472         preserves the status quo.
5473         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
5474         Reported by Peter Simons.
5475
5476         maint.mk: prohibit inclusion of "hash.h" without_use
5477         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
5478
5479 2010-02-10  Jim Meyering  <meyering@redhat.com>
5480
5481         maint.mk: prohibit inclusion of "ignore-value.h" without_use
5482         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
5483
5484 2010-02-09  Eric Blake  <ebb9@byu.net>
5485         and Bruno Haible  <bruno@clisp.org>
5486
5487         obstack-printf-posix: ensure declaration
5488         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
5489         extracted from gl_FUNC_OBSTACK_PRINTF.
5490         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
5491         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
5492         Likewise.
5493         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
5494         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
5495         0.
5496
5497 2010-02-08  Bruno Haible  <bruno@clisp.org>
5498
5499         gnulib-tool: Fix typo in 2010-02-07 commit.
5500         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
5501         Reported by Eric Blake.
5502
5503 2010-02-07  Bruno Haible  <bruno@clisp.org>
5504
5505         gnulib-tool: Fix up caching patches.
5506         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
5507         option --no-cache. Use associative arrays when supported by the shell.
5508         (sed_comments): New variable.
5509         (modcache): Renamed from do_cache.
5510         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
5511         abbreviate unnecessarily.
5512         (have_associative): New variable.
5513         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
5514         way also for ksh and zsh.
5515         (func_init_sed_convert_to_cache_statements): New function, extracted
5516         from func_cache_lookup_module. Add support for associative arrays.
5517         Don't set the c_MODULE_cached variable here. Ignore all lines before
5518         the first field header. Remove only the final newline, not all trailing
5519         newlines. Support empty fields correctly. Limit the use of 'eval' to
5520         assignments.
5521         (func_get_description, func_get_status, func_get_notice,
5522         func_get_applicability, func_get_filelist, func_get_dependencies,
5523         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
5524         func_get_automake_snippet, func_get_include_directive,
5525         func_get_link_directive, func_get_license, func_get_maintainer):
5526         Update documentation. List the unoptimized code first. Add support for
5527         associative arrays. Limit the use of 'eval' to assignments.
5528         (func_get_applicability): Undo stylistic pessimisations.
5529         (func_get_automake_snippet, func_get_include_directive): Reduce code
5530         duplication.
5531         (func_modules_transitive_closure, func_modules_add_dummy,
5532         func_modules_notice, func_modules_to_filelist, func_add_file,
5533         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
5534         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
5535         func_create_testdir, func_create_megatestdir): Update documentation.
5536
5537 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5538
5539         * gnulib-tool (func_cache_lookup_module): Store the module name
5540         belonging to the cache variable; error out if two different
5541         module names map to the same cache variable name.
5542
5543 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5544
5545         gnulib-tool: Make caching optional.
5546         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
5547         Update matching short versions of --no-changelog.
5548         (func_usage): Update.
5549         (sed_extract_cache_prog): Renamed from ...
5550         (sed_extract_prog): ... this; revert to old extraction script.
5551         (func_get_description, func_get_status)
5552         (func_get_notice, func_get_applicability, func_get_filelist)
5553         (func_get_dependencies, func_get_autoconf_early_snippet)
5554         (func_get_autoconf_snippet, func_get_automake_snippet)
5555         (func_get_include_directive, func_get_link_directive)
5556         (func_get_license, func_get_maintainer): If $do_cache is false,
5557         use old, non-caching extraction scripts.
5558         Suggestion by Bruno Haible.
5559
5560 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5561
5562         gnulib-tool: cache module metainformation.
5563         * gnulib-tool (sed_extract_prog): Match newline before each
5564         header, and rewrite header to a shell variable suffix.
5565         (func_cache_var, func_cache_lookup_module): New functions,
5566         to turn a module name into a cache variable prefix, and to
5567         look up and cache module metainformation.
5568         (func_get_description, func_get_status)
5569         (func_get_notice, func_get_applicability, func_get_filelist)
5570         (func_get_dependencies, func_get_autoconf_early_snippet)
5571         (func_get_autoconf_snippet, func_get_automake_snippet)
5572         (func_get_include_directive, func_get_link_directive)
5573         (func_get_license, func_get_maintainer): Use
5574         func_cache_lookup_module.
5575
5576 2010-02-07  Bruno Haible  <bruno@clisp.org>
5577
5578         fnctl: Fix missing dependency.
5579         * modules/fcntl (Depends-on): Add getdtablesize.
5580         Reported by John W. Eaton <jwe@gnu.org>.
5581
5582 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5583
5584         Argp: fix recognition of short alias options.
5585
5586         * lib/argp-parse.c (convert_options): Fix improper use of
5587         `|' between character values.
5588         * tests/test-argp.c (group1_option): New alias option
5589         --read (-r).
5590         (group1_parser): Special handling for 'r'.
5591         (test15): New test case.
5592         (test_fun): Add test15.
5593         * tests/test-argp-2.sh: Update expected --help and --usage
5594         outputs.
5595
5596 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5597
5598         * tests/test-argp.c: Fix indentation.
5599
5600 2010-02-04  Eric Blake  <ebb9@byu.net>
5601
5602         gettimeofday: expose type of second argument
5603         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
5604         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
5605         * tests/test-gettimeofday.c: Use it to silence warning.
5606         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
5607         the issue.
5608
5609 2010-02-03  Jim Meyering  <meyering@redhat.com>
5610
5611         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
5612         * lib/regcomp.c (TYPE_SIGNED): Define.
5613         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
5614
5615         regcomp.c: avoid a new -Wshadow warning
5616         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
5617
5618 2010-02-01  Jim Meyering  <meyering@redhat.com>
5619
5620         removing useless parentheses in cpp #define directives
5621         For motivation, see commit c0221df4, "define STREQ(a,b)
5622         consistently, removing useless parentheses"
5623         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
5624         * lib/mountlist.c (MNT_IGNORE): Likewise.
5625         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
5626
5627 2010-02-01  Eric Blake  <ebb9@byu.net>
5628
5629         sys_time: use link-warning
5630         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
5631         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
5632         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
5633         * modules/sys_time (Depends-on): Add warn-on-use.
5634         (Makefile.am): Always build replacement.
5635         (configure.ac): Update substitutions.
5636         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
5637         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
5638         bother with SYS_TIME_H.
5639         * modules/gettimeofday (configure.ac): Declare indicator.
5640         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
5641         in use.
5642
5643         closein-tests: silence compiler warning
5644         * tests/test-closein.c (main): Ignore fread result.
5645         * modules/closein-tests (Depends-on): Add ignore-value.
5646
5647         tests: silence warning about system return
5648         * tests/test-areadlink-with-size.c (main): Ignore system result.
5649         * tests/test-areadlink.c (main): Likewise.
5650         * tests/test-areadlinkat-with-size.c (main): Likewise.
5651         * tests/test-areadlinkat.c (main): Likewise.
5652         * tests/test-canonicalize-lgpl.c (main): Likewise.
5653         * tests/test-canonicalize.c (main): Likewise.
5654         * tests/test-chown.c (main): Likewise.
5655         * tests/test-fchownat.c (main): Likewise.
5656         * tests/test-fdutimensat.c (main): Likewise.
5657         * tests/test-fstatat.c (main): Likewise.
5658         * tests/test-futimens.c (main): Likewise.
5659         * tests/test-lchown.c (main): Likewise.
5660         * tests/test-link.c (main): Likewise.
5661         * tests/test-linkat.c (main): Likewise.
5662         * tests/test-lstat.c (main): Likewise.
5663         * tests/test-mkdir.c (main): Likewise.
5664         * tests/test-mkdirat.c (main): Likewise.
5665         * tests/test-mkfifo.c (main): Likewise.
5666         * tests/test-mkfifoat.c (main): Likewise.
5667         * tests/test-mknod.c (main): Likewise.
5668         * tests/test-readlink.c (main): Likewise.
5669         * tests/test-remove.c (main): Likewise.
5670         * tests/test-rename.c (main): Likewise.
5671         * tests/test-renameat.c (main): Likewise.
5672         * tests/test-rmdir.c (main): Likewise.
5673         * tests/test-symlink.c (main): Likewise.
5674         * tests/test-symlinkat.c (main): Likewise.
5675         * tests/test-unlink.c (main): Likewise.
5676         * tests/test-unlinkat.c (main): Likewise.
5677         * tests/test-utimens.c (main): Likewise.
5678         * tests/test-utimensat.c (main): Likewise.
5679         * modules/areadlink-tests (Depends-on): Add ignore-value.
5680         * modules/areadlink-with-size-tests (Depends-on): Likewise.
5681         * modules/areadlinkat-tests (Depends-on): Likewise.
5682         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
5683         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
5684         * modules/canonicalize-tests (Depends-on): Likewise.
5685         * modules/chown-tests (Depends-on): Likewise.
5686         * modules/fdutimensat-tests (Depends-on): Likewise.
5687         * modules/futimens-tests (Depends-on): Likewise.
5688         * modules/lchown-tests (Depends-on): Likewise.
5689         * modules/link-tests (Depends-on): Likewise.
5690         * modules/linkat-tests (Depends-on): Likewise.
5691         * modules/lstat-tests (Depends-on): Likewise.
5692         * modules/mkdir-tests (Depends-on): Likewise.
5693         * modules/mkfifo-tests (Depends-on): Likewise.
5694         * modules/mkfifoat-tests (Depends-on): Likewise.
5695         * modules/mknod-tests (Depends-on): Likewise.
5696         * modules/openat-tests (Depends-on): Likewise.
5697         * modules/readlink-tests (Depends-on): Likewise.
5698         * modules/remove-tests (Depends-on): Likewise.
5699         * modules/rename-tests (Depends-on): Likewise.
5700         * modules/renameat-tests (Depends-on): Likewise.
5701         * modules/rmdir-tests (Depends-on): Likewise.
5702         * modules/symlink-tests (Depends-on): Likewise.
5703         * modules/symlinkat-tests (Depends-on): Likewise.
5704         * modules/unlink-tests (Depends-on): Likewise.
5705         * modules/utimens-tests (Depends-on): Likewise.
5706         * modules/utimensat-tests (Depends-on): Likewise.
5707
5708 2010-01-31  Bruno Haible  <bruno@clisp.org>
5709
5710         Perform the same test for many <math.h> functions.
5711         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
5712         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
5713         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
5714         of gl_MATHFUNC.
5715         * modules/acos (configure.ac): Likewise.
5716         * modules/asin (configure.ac): Likewise.
5717         * modules/atan (configure.ac): Likewise.
5718         * modules/atan2 (configure.ac): Likewise.
5719         * modules/cbrt (configure.ac): Likewise.
5720         * modules/copysign (configure.ac): Likewise.
5721         * modules/cos (configure.ac): Likewise.
5722         * modules/cosh (configure.ac): Likewise.
5723         * modules/erf (configure.ac): Likewise.
5724         * modules/erfc (configure.ac): Likewise.
5725         * modules/exp (configure.ac): Likewise.
5726         * modules/fmod (configure.ac): Likewise.
5727         * modules/hypot (configure.ac): Likewise.
5728         * modules/j0 (configure.ac): Likewise.
5729         * modules/j1 (configure.ac): Likewise.
5730         * modules/jn (configure.ac): Likewise.
5731         * modules/lgamma (configure.ac): Likewise.
5732         * modules/log (configure.ac): Likewise.
5733         * modules/log10 (configure.ac): Likewise.
5734         * modules/log1p (configure.ac): Likewise.
5735         * modules/pow (configure.ac): Likewise.
5736         * modules/remainder (configure.ac): Likewise.
5737         * modules/sin (configure.ac): Likewise.
5738         * modules/sinh (configure.ac): Likewise.
5739         * modules/tan (configure.ac): Likewise.
5740         * modules/tanh (configure.ac): Likewise.
5741         * modules/y0 (configure.ac): Likewise.
5742         * modules/y1 (configure.ac): Likewise.
5743         * modules/yn (configure.ac): Likewise.
5744         Suggested by Paolo Bonzini.
5745
5746 2010-01-31  Bruno Haible  <bruno@clisp.org>
5747
5748         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
5749
5750 2010-01-31  Bruno Haible  <bruno@clisp.org>
5751
5752         Work around getdelim() bug on FreeBSD 8.0.
5753         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
5754         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
5755         not work.
5756         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
5757         is 1.
5758         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
5759         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
5760         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
5761         a non-zero size.
5762         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
5763
5764 2010-01-31  Bruno Haible  <bruno@clisp.org>
5765
5766         Work around getline() bug on FreeBSD 8.0.
5767         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
5768         and a non-zero size.
5769         * tests/test-getline.c (main): Likewise.
5770         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
5771         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
5772
5773 2010-01-28  Eric Blake  <ebb9@byu.net>
5774
5775         regex: fix build failure
5776         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
5777         platforms.
5778
5779 2010-01-28  Jim Meyering  <meyering@redhat.com>
5780
5781         regex: do not ignore memory allocation failure
5782         * lib/regex_internal.c (create_cd_newstate): Detect
5783         re_node_set_init_copy failure.   Extracted from glibc commit
5784         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5785
5786         regex: sync more white-space changes from libc
5787         * lib/regex_internal.c: White-space only changes.
5788         * lib/regexec.c: Likewise.
5789
5790         regex: add many uses of __attribute_warn_unused_result__
5791         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
5792         * lib/regexec.c: Likewise.
5793         Extracted from a messy glibc commit.
5794
5795         regcomp.c: spelling and merge-artifact from glibc
5796         * lib/regcomp.c: Merge remainder of glibc's
5797         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5798
5799         regcomp.c: sync white-space changes from glibc
5800         * lib/regcomp.c: Merge to accommodate white space
5801         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5802
5803         regcomp.c: do not ignore internal return values
5804         * lib/regcomp.c: Do not ignore internal return values.
5805         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
5806         but without its white-space changes and spelling fixes.
5807
5808         regex_internal.h: define __attribute_warn_unused_result__
5809         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
5810
5811         maint: add a syntax-check rule to check for vulnerable Makefile.in
5812         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
5813
5814 2010-01-27  Jim Meyering  <meyering@redhat.com>
5815
5816         ncftpput-ftp: clean up spaces
5817         * build-aux/ncftpput-ftp: Make Copyright line consistent.
5818         Remove trailing blanks.
5819
5820 2010-01-27  Simon Josefsson  <simon@josefsson.org>
5821
5822         * build-aux/git-version-gen: Fix copyright statement.
5823         * build-aux/gnupload: Likewise.
5824         * tests/test-arcfour.c: Likewise.
5825         * tests/test-arctwo.c: Likewise.
5826         * tests/test-count-one-bits.c: Likewise.
5827         * tests/test-crc.c: Likewise.
5828         * tests/test-des.c: Likewise.
5829         * tests/test-gc-arcfour.c: Likewise.
5830         * tests/test-gc-arctwo.c: Likewise.
5831         * tests/test-gc-des.c: Likewise.
5832         * tests/test-gc-hmac-md5.c: Likewise.
5833         * tests/test-gc-hmac-sha1.c: Likewise.
5834         * tests/test-gc-md2.c: Likewise.
5835         * tests/test-gc-md4.c: Likewise.
5836         * tests/test-gc-md5.c: Likewise.
5837         * tests/test-gc-pbkdf2-sha1.c: Likewise.
5838         * tests/test-gc-rijndael.c: Likewise.
5839         * tests/test-gc-sha1.c: Likewise.
5840         * tests/test-gc.c: Likewise.
5841         * tests/test-gethostname.c: Likewise.
5842         * tests/test-gettimeofday.c: Likewise.
5843         * tests/test-hash.c: Likewise.
5844         * tests/test-hmac-md5.c: Likewise.
5845         * tests/test-hmac-sha1.c: Likewise.
5846         * tests/test-md2.c: Likewise.
5847         * tests/test-md4.c: Likewise.
5848         * tests/test-md5.c: Likewise.
5849         * tests/test-memchr.c: Likewise.
5850         * tests/test-memchr2.c: Likewise.
5851         * tests/test-memcmp.c: Likewise.
5852         * tests/test-memmem.c: Likewise.
5853         * tests/test-memrchr.c: Likewise.
5854         * tests/test-rawmemchr.c: Likewise.
5855         * tests/test-read-file.c: Likewise.
5856         * tests/test-rijndael.c: Likewise.
5857         * tests/test-sockets.c: Likewise.
5858         * tests/test-strchrnul.c: Likewise.
5859         * tests/test-strstr.c: Likewise.
5860         * tests/test-strtod.c: Likewise.
5861         * build-aux/ncftpput-ftp: Likewise.
5862
5863 2010-01-26  Eric Blake  <ebb9@byu.net>
5864
5865         ignore-value: update recommended header name
5866         * modules/ignore-value (Include): Only use <> for headers that
5867         exist in glibc.
5868
5869 2010-01-26  Jim Meyering  <meyering@redhat.com>
5870
5871         test-userspec.c: avoid compiler warnings
5872         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
5873         and "initialization discards qualifiers..." warnings.
5874         Put the first "uid" in its own scope, and make char* members "const".
5875
5876 2010-01-25  Bruno Haible  <bruno@clisp.org>
5877
5878         gnulib-tool: Make warning diagnostics consistent.
5879         * gnulib-tool (func_warning): New function.
5880         Use it everywhere where gnulib-tool produces output to stderr and it is
5881         not a fatal error.
5882
5883 2010-01-25  Bruno Haible  <bruno@clisp.org>
5884
5885         Fix test dependencies.
5886         * modules/xstrtol-tests (Depends-on): Add inttypes.
5887         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
5888
5889 2010-01-25 Pádraig Brady <P@draigBrady.com>
5890
5891         syntax-check: detect incorrect boolean macro values in config.h
5892         * modules/maintainer-makefile (configure.ac): Parameterize the location
5893         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
5894         The logic is from Eric Blake and the location indicated by Jim Meyering.
5895         Note the more natural CONFIG_HEADER name is prohibited by automake
5896         for backwards compatibility reasons.
5897         * top/maint.mk (sc_Wundef_boolean): New rule.
5898
5899 2010-01-25  Jim Meyering  <meyering@redhat.com>
5900
5901         bootstrap: detect MacOS 10.6's shasum, too
5902         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
5903         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
5904
5905 2010-01-23  Jim Meyering  <meyering@redhat.com>
5906
5907         xstrtoll: new module
5908         * modules/xstrtoll: New file.
5909         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
5910         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
5911         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
5912         ./configure fails if you use this module and lack "long long".
5913         * modules/xstrtoll-tests: New module.
5914         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
5915         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
5916         new init.sh-based test framework.
5917
5918 2010-01-24  Bruno Haible  <bruno@clisp.org>
5919
5920         Tests for module 'yn'.
5921         * modules/yn-tests: New file.
5922         * tests/test-yn.c: New file.
5923
5924         Tests for module 'y1'.
5925         * modules/y1-tests: New file.
5926         * tests/test-y1.c: New file.
5927
5928         Tests for module 'y0'.
5929         * modules/y0-tests: New file.
5930         * tests/test-y0.c: New file.
5931
5932         Tests for module 'tanh'.
5933         * modules/tanh-tests: New file.
5934         * tests/test-tanh.c: New file.
5935
5936         Tests for module 'tan'.
5937         * modules/tan-tests: New file.
5938         * tests/test-tan.c: New file.
5939
5940         Tests for module 'sqrt'.
5941         * modules/sqrt-tests: New file.
5942         * tests/test-sqrt.c: New file.
5943
5944         Tests for module 'sinh'.
5945         * modules/sinh-tests: New file.
5946         * tests/test-sinh.c: New file.
5947
5948         Tests for module 'sin'.
5949         * modules/sin-tests: New file.
5950         * tests/test-sin.c: New file.
5951
5952         Tests for module 'rint'.
5953         * modules/rint-tests: New file.
5954         * tests/test-rint.c: New file.
5955
5956         Tests for module 'remainder'.
5957         * modules/remainder-tests: New file.
5958         * tests/test-remainder.c: New file.
5959
5960         Tests for module 'pow'.
5961         * modules/pow-tests: New file.
5962         * tests/test-pow.c: New file.
5963
5964         Tests for module 'nextafter'.
5965         * modules/nextafter-tests: New file.
5966         * tests/test-nextafter.c: New file.
5967
5968         Tests for module 'modf'.
5969         * modules/modf-tests: New file.
5970         * tests/test-modf.c: New file.
5971
5972         Tests for module 'logb'.
5973         * modules/logb-tests: New file.
5974         * tests/test-logb.c: New file.
5975
5976         Tests for module 'log1p'.
5977         * modules/log1p-tests: New file.
5978         * tests/test-log1p.c: New file.
5979
5980         Tests for module 'log10'.
5981         * modules/log10-tests: New file.
5982         * tests/test-log10.c: New file.
5983
5984         Tests for module 'log'.
5985         * modules/log-tests: New file.
5986         * tests/test-log.c: New file.
5987
5988         Tests for module 'lgamma'.
5989         * modules/lgamma-tests: New file.
5990         * tests/test-lgamma.c: New file.
5991
5992         Tests for module 'ldexp'.
5993         * modules/ldexp-tests: New file.
5994         * tests/test-ldexp.c: New file.
5995
5996         Tests for module 'jn'.
5997         * modules/jn-tests: New file.
5998         * tests/test-jn.c: New file.
5999
6000         Tests for module 'j1'.
6001         * modules/j1-tests: New file.
6002         * tests/test-j1.c: New file.
6003
6004         Tests for module 'j0'.
6005         * modules/j0-tests: New file.
6006         * tests/test-j0.c: New file.
6007
6008         Tests for module 'hypot'.
6009         * modules/hypot-tests: New file.
6010         * tests/test-hypot.c: New file.
6011
6012         Tests for module 'fmod'.
6013         * modules/fmod-tests: New file.
6014         * tests/test-fmod.c: New file.
6015
6016         Tests for module 'fabs'.
6017         * modules/fabs-tests: New file.
6018         * tests/test-fabs.c: New file.
6019
6020         Tests for module 'exp'.
6021         * modules/exp-tests: New file.
6022         * tests/test-exp.c: New file.
6023
6024         Tests for module 'erfc'.
6025         * modules/erfc-tests: New file.
6026         * tests/test-erfc.c: New file.
6027
6028         Tests for module 'erf'.
6029         * modules/erf-tests: New file.
6030         * tests/test-erf.c: New file.
6031
6032         Tests for module 'cosh'.
6033         * modules/cosh-tests: New file.
6034         * tests/test-cosh.c: New file.
6035
6036         Tests for module 'cos'.
6037         * modules/cos-tests: New file.
6038         * tests/test-cos.c: New file.
6039
6040         Tests for module 'copysign'.
6041         * modules/copysign-tests: New file.
6042         * tests/test-copysign.c: New file.
6043
6044         Tests for module 'cbrt'.
6045         * modules/cbrt-tests: New file.
6046         * tests/test-cbrt.c: New file.
6047
6048         Tests for module 'atan2'.
6049         * modules/atan2-tests: New file.
6050         * tests/test-atan2.c: New file.
6051
6052         Tests for module 'atan'.
6053         * modules/atan-tests: New file.
6054         * tests/test-atan.c: New file.
6055
6056         Tests for module 'asin'.
6057         * modules/asin-tests: New file.
6058         * tests/test-asin.c: New file.
6059
6060         Tests for module 'acos'.
6061         * modules/acos-tests: New file.
6062         * tests/test-acos.c: New file.
6063
6064 2010-01-24  Bruno Haible  <bruno@clisp.org>
6065
6066         Fix tests for common <math.h> functions.
6067         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
6068         code snippet that references the function pointer, rather than merely
6069         calling the function. Substitute the FUNC_LIBM variable.
6070         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
6071         * modules/acos (configure.ac): Likewise.
6072         * modules/asin (configure.ac): Likewise.
6073         * modules/atan (configure.ac): Likewise.
6074         * modules/atan2 (configure.ac): Likewise.
6075         * modules/cbrt (configure.ac): Likewise.
6076         * modules/copysign (configure.ac): Likewise.
6077         * modules/cos (configure.ac): Likewise.
6078         * modules/cosh (configure.ac): Likewise.
6079         * modules/erf (configure.ac): Likewise.
6080         * modules/erfc (configure.ac): Likewise.
6081         * modules/exp (configure.ac): Likewise.
6082         * modules/fabs (configure.ac): Likewise.
6083         * modules/fmod (configure.ac): Likewise.
6084         * modules/hypot (configure.ac): Likewise.
6085         * modules/j0 (configure.ac): Likewise.
6086         * modules/j1 (configure.ac): Likewise.
6087         * modules/jn (configure.ac): Likewise.
6088         * modules/ldexp (configure.ac): Likewise.
6089         * modules/lgamma (configure.ac): Likewise.
6090         * modules/log (configure.ac): Likewise.
6091         * modules/log10 (configure.ac): Likewise.
6092         * modules/log1p (configure.ac): Likewise.
6093         * modules/logb (configure.ac): Likewise.
6094         * modules/modf (configure.ac): Likewise.
6095         * modules/nextafter (configure.ac): Likewise.
6096         * modules/pow (configure.ac): Likewise.
6097         * modules/remainder (configure.ac): Likewise.
6098         * modules/rint (configure.ac): Likewise.
6099         * modules/sin (configure.ac): Likewise.
6100         * modules/sinh (configure.ac): Likewise.
6101         * modules/tan (configure.ac): Likewise.
6102         * modules/tanh (configure.ac): Likewise.
6103         * modules/y0 (configure.ac): Likewise.
6104         * modules/y1 (configure.ac): Likewise.
6105         * modules/yn (configure.ac): Likewise.
6106
6107 2010-01-24  Bruno Haible  <bruno@clisp.org>
6108
6109         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
6110         * tests/test-acosl.c (x): New variable.
6111         (main): Store argument in x and fetch it from x.
6112         * tests/test-asinl.c (x): New variable.
6113         (main): Store argument in x and fetch it from x.
6114         * tests/test-atanl.c (x): New variable.
6115         (main): Store argument in x and fetch it from x.
6116         * tests/test-cosl.c (x): New variable.
6117         (main): Store argument in x and fetch it from x.
6118         * tests/test-expl.c (x): New variable.
6119         (main): Store argument in x and fetch it from x.
6120         * tests/test-logl.c (x): New variable.
6121         (main): Store argument in x and fetch it from x.
6122         * tests/test-sinl.c (x): New variable.
6123         (main): Store argument in x and fetch it from x.
6124         * tests/test-sqrtl.c (x): New variable.
6125         (main): Store argument in x and fetch it from x.
6126         * tests/test-tanl.c (x): New variable.
6127         (main): Store argument in x and fetch it from x.
6128
6129 2010-01-24  Bruno Haible  <bruno@clisp.org>
6130
6131         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
6132         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
6133         assignments to the initial TESTS_ENVIRONMENT.
6134         * doc/gnulib.texi (Unit test modules): Document it.
6135         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
6136         TESTS_ENVIRONMENT.
6137         * modules/btowc-tests (Makefile.am): Likewise.
6138         * modules/c-stack-tests (Makefile.am): Likewise.
6139         * modules/c-strcase-tests (Makefile.am): Likewise.
6140         * modules/copy-file-tests (Makefile.am): Likewise.
6141         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
6142         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
6143         * modules/mbrtowc-tests (Makefile.am): Likewise.
6144         * modules/mbscasecmp-tests (Makefile.am): Likewise.
6145         * modules/mbscasestr-tests (Makefile.am): Likewise.
6146         * modules/mbschr-tests (Makefile.am): Likewise.
6147         * modules/mbscspn-tests (Makefile.am): Likewise.
6148         * modules/mbsinit-tests (Makefile.am): Likewise.
6149         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
6150         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
6151         * modules/mbspbrk-tests (Makefile.am): Likewise.
6152         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
6153         * modules/mbsrchr-tests (Makefile.am): Likewise.
6154         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
6155         * modules/mbsspn-tests (Makefile.am): Likewise.
6156         * modules/mbsstr-tests (Makefile.am): Likewise.
6157         * modules/nl_langinfo-tests (Makefile.am): Likewise.
6158         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
6159         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
6160         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
6161         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
6162         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
6163         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
6164         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
6165         * modules/wcrtomb-tests (Makefile.am): Likewise.
6166         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
6167         * modules/wcsrtombs-tests (Makefile.am): Likewise.
6168         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
6169         assignments from TESTS_ENVIRONMENT.
6170         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
6171         augmentation.
6172         * modules/argp-version-etc-tests (Makefile.am): Likewise.
6173         * modules/atexit-tests (Makefile.am): Likewise.
6174         * modules/binary-io-tests (Makefile.am): Likewise.
6175         * modules/closein-tests (Makefile.am): Likewise.
6176         * modules/dprintf-posix-tests (Makefile.am): Likewise.
6177         * modules/exclude-tests (Makefile.am): Likewise.
6178         * modules/fflush-tests (Makefile.am): Likewise.
6179         * modules/fpending-tests (Makefile.am): Likewise.
6180         * modules/fprintf-posix-tests (Makefile.am): Likewise.
6181         * modules/freadahead-tests (Makefile.am): Likewise.
6182         * modules/freadptr-tests (Makefile.am): Likewise.
6183         * modules/freadseek-tests (Makefile.am): Likewise.
6184         * modules/fseek-tests (Makefile.am): Likewise.
6185         * modules/fseeko-tests (Makefile.am): Likewise.
6186         * modules/ftell-tests (Makefile.am): Likewise.
6187         * modules/ftello-tests (Makefile.am): Likewise.
6188         * modules/idpriv-drop-tests (Makefile.am): Likewise.
6189         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
6190         * modules/lseek-tests (Makefile.am): Likewise.
6191         * modules/parse-duration-tests (Makefile.am): Likewise.
6192         * modules/perror-tests (Makefile.am): Likewise.
6193         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
6194         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
6195         * modules/pipe-tests (Makefile.am): Likewise.
6196         * modules/pread-tests (Makefile.am): Likewise.
6197         * modules/printf-posix-tests (Makefile.am): Likewise.
6198         * modules/select-tests (Makefile.am): Likewise.
6199         * modules/sigpipe-tests (Makefile.am): Likewise.
6200         * modules/tsearch-tests (Makefile.am): Likewise.
6201         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
6202         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
6203         * modules/uniname/uniname-tests (Makefile.am): Likewise.
6204         * modules/uniwidth/width-tests (Makefile.am): Likewise.
6205         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
6206         * modules/version-etc-tests (Makefile.am): Likewise.
6207         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
6208         * modules/vprintf-posix-tests (Makefile.am): Likewise.
6209         * modules/xalloc-die-tests (Makefile.am): Likewise.
6210         * modules/xprintf-posix-tests (Makefile.am): Likewise.
6211         * modules/xstrtoimax-tests (Makefile.am): Likewise.
6212         * modules/xstrtol-tests (Makefile.am): Likewise.
6213         * modules/xstrtoumax-tests (Makefile.am): Likewise.
6214         * modules/yesno-tests (Makefile.am): Likewise.
6215         Suggested by Jim Meyering.
6216
6217 2010-01-24  Bruno Haible  <bruno@clisp.org>
6218
6219         More documentation.
6220         * doc/gnulib.texi (Writing modules): New chapter.
6221         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
6222         the new chapter.
6223
6224 2010-01-24  Jim Meyering  <meyering@redhat.com>
6225
6226         maint.mk: do not prepend "./" after filtering
6227         * top/maint.mk (_prepend_srcdir_prefix): New variable
6228         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
6229         "./" when $(srcdir) is ".".
6230
6231         define STREQ(a,b) consistently, removing useless parentheses
6232         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
6233         since the only risk is that "a" or "b" contains an unparenthesized
6234         comma, but if either did that, STREQ would have 3 or more arguments.
6235         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
6236         * lib/fts.c (STREQ): Remove unnecessary parentheses.
6237         * lib/hash-triple.c (STREQ): Likewise.
6238         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
6239         * lib/getugroups.c (STREQ): Likewise.
6240
6241 2010-01-23  Jim Meyering  <meyering@redhat.com>
6242
6243         maint.mk: fix syntax-check in a non-srcdir build directory
6244         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
6245         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
6246
6247 2010-01-22  Jim Meyering  <meyering@redhat.com>
6248
6249         userspec: add unit tests
6250         * tests/test-userspec.c: New file.
6251         * modules/userspec-tests: Likewise.
6252
6253 2010-01-21  Jim Meyering  <meyering@redhat.com>
6254
6255         maint.mk: handle source file names containing "." robustly
6256         * top/maint.mk (_dot_escaped_srcdir): Define.
6257         (VC_LIST): Use it in LHS of sed substitution.
6258
6259 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
6260
6261         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
6262         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
6263         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
6264         from a non-srcdir build.
6265
6266 2010-01-20  Eric Blake  <ebb9@byu.net>
6267
6268         warn-on-use: use instead of link-warning
6269         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
6270         * modules/unistd (Depends-on, Makefile.am): Likewise.
6271         * modules/arpa_inet (Depends-on): Replace link-warning with
6272         warn-on-use.
6273         (Makefile.am): Update rules accordingly.
6274         * modules/ctype (Depends-on, Makefile.am): Likewise.
6275         * modules/dirent (Depends-on, Makefile.am): Likewise.
6276         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
6277         * modules/inttypes (Depends-on, Makefile.am): Likewise.
6278         * modules/langinfo (Depends-on, Makefile.am): Likewise.
6279         * modules/locale (Depends-on, Makefile.am): Likewise.
6280         * modules/math (Depends-on, Makefile.am): Likewise.
6281         * modules/search (Depends-on, Makefile.am): Likewise.
6282         * modules/signal (Depends-on, Makefile.am): Likewise.
6283         * modules/spawn (Depends-on, Makefile.am): Likewise.
6284         * modules/stdlib (Depends-on, Makefile.am): Likewise.
6285         * modules/string (Depends-on, Makefile.am): Likewise.
6286         * modules/strings (Depends-on, Makefile.am): Likewise.
6287         * modules/sys_file (Depends-on, Makefile.am): Likewise.
6288         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
6289         * modules/sys_select (Depends-on, Makefile.am): Likewise.
6290         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
6291         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
6292         * modules/sys_times (Depends-on, Makefile.am): Likewise.
6293         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
6294         * modules/wchar (Depends-on, Makefile.am): Likewise.
6295         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
6296         should be poisoned.
6297         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
6298         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
6299         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
6300         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
6301         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
6302         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
6303         * m4/math_h.m4 (gl_MATH_H): Likewise.
6304         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6305         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6306         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6307         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
6308         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
6309         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
6310         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
6311         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
6312         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6313         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6314         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6315         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6316         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6317         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6318         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6319         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
6320         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
6321         GL_LINK_WARNING.
6322         * lib/ctype.in.h: Likewise.
6323         * lib/dirent.in.h: Likewise.
6324         * lib/fcntl.in.h: Likewise.
6325         * lib/inttypes.in.h: Likewise.
6326         * lib/langinfo.in.h: Likewise.
6327         * lib/locale.in.h: Likewise.
6328         * lib/math.in.h: Likewise.
6329         * lib/search.in.h: Likewise.
6330         * lib/signal.in.h: Likewise.
6331         * lib/spawn.in.h: Likewise.
6332         * lib/stdio.in.h: Likewise.
6333         * lib/stdlib.in.h: Likewise.
6334         * lib/string.in.h: Likewise.
6335         * lib/strings.in.h: Likewise.
6336         * lib/sys_file.in.h: Likewise.
6337         * lib/sys_ioctl.in.h: Likewise.
6338         * lib/sys_select.in.h: Likewise.
6339         * lib/sys_socket.in.h: Likewise.
6340         * lib/sys_stat.in.h: Likewise.
6341         * lib/sys_times.in.h: Likewise.
6342         * lib/sys_utsname.in.h: Likewise.
6343         * lib/unistd.in.h: Likewise.
6344         * lib/wchar.in.h: Likewise.
6345
6346 2010-01-20  Bruno Haible  <bruno@clisp.org>
6347
6348         Avoid duplicate -lm.
6349         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
6350         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
6351         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
6352         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
6353         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
6354         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
6355         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
6356         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
6357         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
6358         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
6359         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
6360         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6361         Reported by Paolo Bonzini.
6362
6363 2010-01-19  Bruno Haible  <bruno@clisp.org>
6364
6365         langinfo, nl_langinfo: Relicense under LGPLv2+.
6366         * modules/langinfo (License): Change to LGPLv2+.
6367         * modules/nl_langinfo (License): Likewise.
6368         Patch by David Lutterkort <lutter@redhat.com>.
6369
6370 2010-01-19  Bruno Haible  <bruno@clisp.org>
6371
6372         Avoid compilation error with cc on OSF/1 5.1.
6373         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
6374         statement, not before.
6375         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6376
6377 2010-01-18  Bruno Haible  <bruno@clisp.org>
6378
6379         Avoid a link error due to the __printf__ symbol.
6380         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
6381         and 2.6.x.
6382         (__format__, __printf__): Remove definitions.
6383         * lib/argp-fmtstream.h: Likewise.
6384         * lib/argp.h: Likewise.
6385         * lib/error.h: Likewise.
6386         * lib/vasnprintf.h: Likewise.
6387         * lib/xprintf.h: Likewise.
6388         * lib/xvasprintf.h: Likewise.
6389         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6390
6391 2010-01-18  Bruno Haible  <bruno@clisp.org>
6392
6393         Tests for module 'tanl'.
6394         * modules/tanl-tests: New file.
6395         * tests/test-tanl.c: New file.
6396
6397         Tests for module 'sqrtl'.
6398         * modules/sqrtl-tests: New file.
6399         * tests/test-sqrtl.c: New file.
6400
6401         Tests for module 'sinl'.
6402         * modules/sinl-tests: New file.
6403         * tests/test-sinl.c: New file.
6404
6405         Tests for module 'logl'.
6406         * modules/logl-tests: New file.
6407         * tests/test-logl.c: New file.
6408
6409         Tests for module 'expl'.
6410         * modules/expl-tests: New file.
6411         * tests/test-expl.c: New file.
6412
6413         Tests for module 'cosl'.
6414         * modules/cosl-tests: New file.
6415         * tests/test-cosl.c: New file.
6416
6417         Tests for module 'atanl'.
6418         * modules/atanl-tests: New file.
6419         * tests/test-atanl.c: New file.
6420
6421         Tests for module 'asinl'.
6422         * modules/asinl-tests: New file.
6423         * tests/test-asinl.c: New file.
6424
6425         Tests for module 'acosl'.
6426         * modules/acosl-tests: New file.
6427         * tests/test-acosl.c: New file.
6428
6429         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
6430         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6431         tanl): Use the standard gnulib idiom.
6432         * lib/cosl.c: Don't include trigl.c and sincosl.c.
6433         * lib/sinl.c: Likewise.
6434         * lib/tanl.c: Don't include trigl.c.
6435         (kernel_tanl): Make static.
6436         * lib/sincosl.c: Include trigl.h first.
6437         * lib/trigl.c: Likewise.
6438         * m4/acosl.m4: New file.
6439         * m4/asinl.m4: New file.
6440         * m4/atanl.m4: New file.
6441         * m4/cosl.m4: New file.
6442         * m4/expl.m4: New file.
6443         * m4/logl.m4: New file.
6444         * m4/sinl.m4: New file.
6445         * m4/sqrtl.m4: New file.
6446         * m4/tanl.m4: New file.
6447         * m4/mathl.m4: Remove file.
6448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
6449         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
6450         Don't initialize GNULIB_MATHL.
6451         * modules/acosl: New file.
6452         * modules/asinl: New file.
6453         * modules/atanl: New file.
6454         * modules/cosl: New file.
6455         * modules/expl: New file.
6456         * modules/logl: New file.
6457         * modules/sinl: New file.
6458         * modules/sqrtl: New file.
6459         * modules/tanl: New file.
6460         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
6461         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
6462         substitute GNULIB_MATHL.
6463         * modules/mathl: Rewritten.
6464         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
6465         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
6466         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
6467         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
6468         * doc/posix-functions/expl.texi: Mention the 'expl' module.
6469         * doc/posix-functions/logl.texi: Mention the 'logl' module.
6470         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
6471         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
6472         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
6473
6474 2010-01-18  Bruno Haible  <bruno@clisp.org>
6475
6476         sqrt: Make gl_FUNC_SQRT requirable.
6477         * m4/sqrt.m4: New file.
6478         * modules/sqrt (Files): Add it.
6479         (configure.ac): Invoke gl_FUNC_SQRT.
6480
6481 2010-01-18  Bruno Haible  <bruno@clisp.org>
6482
6483         New modules for common <math.h> functions.
6484         * m4/mathfunc.m4: New file.
6485         * modules/acos: New file.
6486         * modules/asin: New file.
6487         * modules/atan: New file.
6488         * modules/atan2: New file.
6489         * modules/cbrt: New file.
6490         * modules/copysign: New file.
6491         * modules/cos: New file.
6492         * modules/cosh: New file.
6493         * modules/erf: New file.
6494         * modules/erfc: New file.
6495         * modules/exp: New file.
6496         * modules/fabs: New file.
6497         * modules/fmod: New file.
6498         * modules/hypot: New file.
6499         * modules/j0: New file.
6500         * modules/j1: New file.
6501         * modules/jn: New file.
6502         * modules/ldexp: New file.
6503         * modules/lgamma: New file.
6504         * modules/log: New file.
6505         * modules/log10: New file.
6506         * modules/log1p: New file.
6507         * modules/logb: New file.
6508         * modules/modf: New file.
6509         * modules/nextafter: New file.
6510         * modules/pow: New file.
6511         * modules/remainder: New file.
6512         * modules/rint: New file.
6513         * modules/sin: New file.
6514         * modules/sinh: New file.
6515         * modules/sqrt: New file.
6516         * modules/tan: New file.
6517         * modules/tanh: New file.
6518         * modules/y0: New file.
6519         * modules/y1: New file.
6520         * modules/yn: New file.
6521         * doc/posix-functions/acos.texi: Mention the 'acos' module.
6522         * doc/posix-functions/asin.texi: Mention the 'asin' module.
6523         * doc/posix-functions/atan.texi: Mention the 'atan' module.
6524         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
6525         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
6526         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
6527         * doc/posix-functions/cos.texi: Mention the 'cos' module.
6528         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
6529         * doc/posix-functions/erf.texi: Mention the 'erf' module.
6530         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
6531         * doc/posix-functions/exp.texi: Mention the 'exp' module.
6532         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
6533         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
6534         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
6535         * doc/posix-functions/j0.texi: Mention the 'j0' module.
6536         * doc/posix-functions/j1.texi: Mention the 'j1' module.
6537         * doc/posix-functions/jn.texi: Mention the 'jn' module.
6538         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
6539         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
6540         * doc/posix-functions/log.texi: Mention the 'log' module.
6541         * doc/posix-functions/log10.texi: Mention the 'log10' module.
6542         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
6543         * doc/posix-functions/logb.texi: Mention the 'logb' module.
6544         * doc/posix-functions/modf.texi: Mention the 'modf' module.
6545         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
6546         * doc/posix-functions/pow.texi: Mention the 'pow' module.
6547         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
6548         * doc/posix-functions/rint.texi: Mention the 'rint' module.
6549         * doc/posix-functions/sin.texi: Mention the 'sin' module.
6550         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
6551         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
6552         * doc/posix-functions/tan.texi: Mention the 'tan' module.
6553         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
6554         * doc/posix-functions/y0.texi: Mention the 'y0' module.
6555         * doc/posix-functions/y1.texi: Mention the 'y1' module.
6556         * doc/posix-functions/yn.texi: Mention the 'yn' module.
6557
6558 2010-01-18  Jim Meyering  <meyering@redhat.com>
6559
6560         ignore-value: relax license to LGPLv2+
6561         * modules/ignore-value (License): Relax to LGPLv2+.
6562
6563         getdate: don't leak when TZ contains two or more '"'s
6564         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
6565         double quote in TZ after the first one.
6566
6567         readtokens: do not leak internal token_lengths buffer
6568         * lib/readtokens.c (readtokens): Free the local, lengths,
6569         when the supplied "token_lengths" parameter is NULL.
6570
6571 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6572
6573         Fix a couple of missing LIBTHREAD link failures on AIX.
6574         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
6575         $(LIBTHREAD).
6576         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
6577
6578         Link test-poll against INET_PTON_LIB.
6579         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
6580         for inet_pton on Solaris 10.
6581
6582 2010-01-17  Bruno Haible  <bruno@clisp.org>
6583
6584         unistdio/*-sprintf: Fix typo in module description.
6585         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
6586         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
6587         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
6588         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
6589         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
6590         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
6591         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
6592         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6593
6594 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6595
6596         gnulib-tool: fix filelist for AIX, HP-UX ksh.
6597         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
6598         variables in shell case patterns, for AIX and HP-UX ksh.
6599
6600         Split large sed scripts, for HP-UX sed.
6601         * modules/stdio: Split sed scripts around 50 sed commands,
6602         to avoid HP-UX limit of 99 commands, in the near future.
6603         * modules/string: Likewise.
6604         * modules/unistd: Likewise.
6605
6606         gnulib-tool: avoid writing in the current directory.
6607         * gnulib-tool (func_emit_lib_Makefile_am)
6608         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
6609         not in the current directory, so concurrent gnulib-tool
6610         instances do not interfere.
6611
6612 2010-01-16  Jim Meyering  <meyering@redhat.com>
6613
6614         doc: update users.txt
6615         * users.txt: Add grep.
6616         (diffutils, gzip): Update URLs.
6617
6618 2010-01-12  Bruno Haible  <bruno@clisp.org>
6619
6620         posix_spawn: Avoid test failure on Cygwin.
6621         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
6622         characters.
6623         Reported by Simon Josefsson.
6624
6625 2010-01-12  Bruno Haible  <bruno@clisp.org>
6626
6627         * tests/test-cond.c (main): When skipping the test, show the reason.
6628
6629 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6630
6631         * lib/striconv.c (str_cd_iconv): Avoid if before free.
6632
6633 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6634
6635         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
6636         VC_LIST_ALWAYS_EXCLUDE_REGEX.
6637
6638 2010-01-12  Eric Blake  <ebb9@byu.net>
6639
6640         build: guarantee AS_VAR_IF
6641         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
6642         (gl_AS_VAR_IF): Move...
6643         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
6644         Reported by Simon Josefsson.
6645
6646 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6647
6648         * lib/stdio.in.h: Fix typo.
6649
6650 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6651
6652         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
6653         libgpg-error.
6654
6655 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6656
6657         * tests/test-xalloc-die.sh: Use $EXEEXT.
6658
6659 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6660             Bruno Haible  <bruno@clisp.org>
6661
6662         getlogin, getlogin_r: Avoid test failure.
6663         * tests/test-getlogin.c: Include <stdio.h>.
6664         (main): Skip the test when the function fails because stdin is not a
6665         tty.
6666         * tests/test-getlogin_r.c: Include <stdio.h>.
6667         (main): Skip the test when the function fails because stdin is not a
6668         tty.
6669
6670 2010-01-11  Eric Blake  <ebb9@byu.net>
6671
6672         tests: avoid more large file warnings
6673         * tests/test-fflush.c: Avoid warning about ftell use.
6674         * tests/test-fseek.c: Avoid warning about fseek use.
6675
6676 2010-01-10  Bruno Haible  <bruno@clisp.org>
6677
6678         nproc: Work better on Linux when /proc and /sys are not mounted.
6679         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
6680         as lower bound when, on glibc/Linux systems,
6681         sysconf (_SC_NPROCESSORS_CONF) returns 1.
6682         Suggested by Pádraig Brady <P@draigbrady.com>.
6683         Reported by Dmitry V. Levin <ldv@altlinux.org>.
6684
6685         nproc: Refactor.
6686         * lib/nproc.c (num_processors_via_affinity_mask): New function,
6687         extracted from num_processors.
6688         (num_processors): Call it.
6689
6690 2010-01-11  Jim Meyering  <meyering@redhat.com>
6691
6692         utimecmp: avoid new warning from upcoming gcc-4.5.0
6693         * lib/utimecmp.c (BILLION): Define using #define rather than an
6694         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
6695
6696 2010-01-11  Eric Blake  <ebb9@byu.net>
6697
6698         math: add portability warnings for classification macros
6699         * modules/math (Depends-on): Add warn-on-use.
6700         (Makefile.am): Provide new substitutions.
6701         * m4/math_h.m4 (gl_MATH_H): Require inline.
6702         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
6703         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
6704         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
6705         implement warnings.
6706
6707         unistd: warn on use of environ without module
6708         * modules/unistd (Depends-on): Add warn-on-use.
6709         (Makefile.am): Provide new substitutions.
6710         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
6711         * lib/unistd.in.h (environ): Wrap with a warning helper function.
6712
6713         stdio: warn on suspicious uses
6714         * modules/stdio (Depends-on): Add warn-on-use.
6715         (Makefile.am): Provide new substitutions.
6716         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
6717         fseeko.
6718         * lib/stdio.in.h (gets): Always warn on use.
6719         (fseek, ftell): Adjust when warnings are issued, and honor
6720         _GL_NO_LARGE_FILES as a way to silence the warning.
6721         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
6722         any warning about large file offsets.
6723         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
6724         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
6725         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
6726         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
6727         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
6728         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
6729         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
6730         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
6731
6732         warn-on-use: new module
6733         * modules/warn-on-use: New file.
6734         * build-aux/warn-on-use.h: Likewise.
6735         * m4/warn-on-use.m4: Likewise.
6736         * MODULES.html.sh (Support for building): Mention it.
6737
6738 2010-01-10  Bruno Haible  <bruno@clisp.org>
6739
6740         Tests for module 'unistr/u32-strdup'.
6741         * modules/unistr/u32-strdup-tests: New file.
6742         * tests/unistr/test-u32-strdup.c: New file.
6743
6744         Tests for module 'unistr/u16-strdup'.
6745         * modules/unistr/u16-strdup-tests: New file.
6746         * tests/unistr/test-u16-strdup.c: New file.
6747
6748         Tests for module 'unistr/u8-strdup'.
6749         * modules/unistr/u8-strdup-tests: New file.
6750         * tests/unistr/test-u8-strdup.c: New file.
6751         * tests/unistr/test-strdup.h: New file.
6752
6753         Tests for module 'unistr/u32-strncmp'.
6754         * modules/unistr/u32-strncmp-tests: New file.
6755         * tests/unistr/test-u32-strncmp.c: New file.
6756
6757         Tests for module 'unistr/u16-strncmp'.
6758         * modules/unistr/u16-strncmp-tests: New file.
6759         * tests/unistr/test-u16-strncmp.c: New file.
6760
6761         Tests for module 'unistr/u8-strncmp'.
6762         * modules/unistr/u8-strncmp-tests: New file.
6763         * tests/unistr/test-u8-strncmp.c: New file.
6764         * tests/unistr/test-strncmp.h: New file.
6765
6766         Tests for module 'unistr/u32-strcoll'.
6767         * modules/unistr/u32-strcoll-tests: New file.
6768         * tests/unistr/test-u32-strcoll.c: New file.
6769
6770         Tests for module 'unistr/u16-strcoll'.
6771         * modules/unistr/u16-strcoll-tests: New file.
6772         * tests/unistr/test-u16-strcoll.c: New file.
6773
6774         Tests for module 'unistr/u8-strcoll'.
6775         * modules/unistr/u8-strcoll-tests: New file.
6776         * tests/unistr/test-u8-strcoll.c: New file.
6777
6778         Tests for module 'unistr/u32-strcmp'.
6779         * modules/unistr/u32-strcmp-tests: New file.
6780         * tests/unistr/test-u32-strcmp.c: New file.
6781         * tests/unistr/test-u32-strcmp.h: New file.
6782
6783         Tests for module 'unistr/u16-strcmp'.
6784         * modules/unistr/u16-strcmp-tests: New file.
6785         * tests/unistr/test-u16-strcmp.c: New file.
6786         * tests/unistr/test-u16-strcmp.h: New file.
6787
6788         Tests for module 'unistr/u8-strcmp'.
6789         * modules/unistr/u8-strcmp-tests: New file.
6790         * tests/unistr/test-u8-strcmp.c: New file.
6791         * tests/unistr/test-u8-strcmp.h: New file.
6792         * tests/unistr/test-strcmp.h: New file.
6793
6794         Tests for module 'unistr/u32-strncat'.
6795         * modules/unistr/u32-strncat-tests: New file.
6796         * tests/unistr/test-u32-strncat.c: New file.
6797
6798         Tests for module 'unistr/u16-strncat'.
6799         * modules/unistr/u16-strncat-tests: New file.
6800         * tests/unistr/test-u16-strncat.c: New file.
6801
6802         Tests for module 'unistr/u8-strncat'.
6803         * modules/unistr/u8-strncat-tests: New file.
6804         * tests/unistr/test-u8-strncat.c: New file.
6805         * tests/unistr/test-strncat.h: New file.
6806
6807         Tests for module 'unistr/u32-strcat'.
6808         * modules/unistr/u32-strcat-tests: New file.
6809         * tests/unistr/test-u32-strcat.c: New file.
6810
6811         Tests for module 'unistr/u16-strcat'.
6812         * modules/unistr/u16-strcat-tests: New file.
6813         * tests/unistr/test-u16-strcat.c: New file.
6814
6815         Tests for module 'unistr/u8-strcat'.
6816         * modules/unistr/u8-strcat-tests: New file.
6817         * tests/unistr/test-u8-strcat.c: New file.
6818         * tests/unistr/test-strcat.h: New file.
6819
6820         Tests for module 'unistr/u32-stpncpy'.
6821         * modules/unistr/u32-stpncpy-tests: New file.
6822         * tests/unistr/test-u32-stpncpy.c: New file.
6823
6824         Tests for module 'unistr/u16-stpncpy'.
6825         * modules/unistr/u16-stpncpy-tests: New file.
6826         * tests/unistr/test-u16-stpncpy.c: New file.
6827
6828         Tests for module 'unistr/u8-stpncpy'.
6829         * modules/unistr/u8-stpncpy-tests: New file.
6830         * tests/unistr/test-u8-stpncpy.c: New file.
6831         * tests/unistr/test-stpncpy.h: New file.
6832
6833         Tests for module 'unistr/u32-strncpy'.
6834         * modules/unistr/u32-strncpy-tests: New file.
6835         * tests/unistr/test-u32-strncpy.c: New file.
6836
6837         Tests for module 'unistr/u16-strncpy'.
6838         * modules/unistr/u16-strncpy-tests: New file.
6839         * tests/unistr/test-u16-strncpy.c: New file.
6840
6841         Tests for module 'unistr/u8-strncpy'.
6842         * modules/unistr/u8-strncpy-tests: New file.
6843         * tests/unistr/test-u8-strncpy.c: New file.
6844         * tests/unistr/test-strncpy.h: New file.
6845
6846         Tests for module 'unistr/u32-stpcpy'.
6847         * modules/unistr/u32-stpcpy-tests: New file.
6848         * tests/unistr/test-u32-stpcpy.c: New file.
6849
6850         Tests for module 'unistr/u16-stpcpy'.
6851         * modules/unistr/u16-stpcpy-tests: New file.
6852         * tests/unistr/test-u16-stpcpy.c: New file.
6853
6854         Tests for module 'unistr/u8-stpcpy'.
6855         * modules/unistr/u8-stpcpy-tests: New file.
6856         * tests/unistr/test-u8-stpcpy.c: New file.
6857         * tests/unistr/test-stpcpy.h: New file.
6858
6859         Tests for module 'unistr/u32-strcpy'.
6860         * modules/unistr/u32-strcpy-tests: New file.
6861         * tests/unistr/test-u32-strcpy.c: New file.
6862
6863         Tests for module 'unistr/u16-strcpy'.
6864         * modules/unistr/u16-strcpy-tests: New file.
6865         * tests/unistr/test-u16-strcpy.c: New file.
6866
6867         Tests for module 'unistr/u8-strcpy'.
6868         * modules/unistr/u8-strcpy-tests: New file.
6869         * tests/unistr/test-u8-strcpy.c: New file.
6870         * tests/unistr/test-strcpy.h: New file.
6871
6872         Tests for module 'unistr/u32-strnlen'.
6873         * modules/unistr/u32-strnlen-tests: New file.
6874         * tests/unistr/test-u32-strnlen.c: New file.
6875
6876         Tests for module 'unistr/u16-strnlen'.
6877         * modules/unistr/u16-strnlen-tests: New file.
6878         * tests/unistr/test-u16-strnlen.c: New file.
6879
6880         Tests for module 'unistr/u8-strnlen'.
6881         * modules/unistr/u8-strnlen-tests: New file.
6882         * tests/unistr/test-u8-strnlen.c: New file.
6883         * tests/unistr/test-strnlen.h: New file.
6884
6885         Tests for module 'unistr/u32-strlen'.
6886         * modules/unistr/u32-strlen-tests: New file.
6887         * tests/unistr/test-u32-strlen.c: New file.
6888
6889         Tests for module 'unistr/u16-strlen'.
6890         * modules/unistr/u16-strlen-tests: New file.
6891         * tests/unistr/test-u16-strlen.c: New file.
6892
6893         Tests for module 'unistr/u8-strlen'.
6894         * modules/unistr/u8-strlen-tests: New file.
6895         * tests/unistr/test-u8-strlen.c: New file.
6896
6897         Tests for module 'unistr/u32-prev'.
6898         * modules/unistr/u32-prev-tests: New file.
6899         * tests/unistr/test-u32-prev.c: New file.
6900
6901         Tests for module 'unistr/u16-prev'.
6902         * modules/unistr/u16-prev-tests: New file.
6903         * tests/unistr/test-u16-prev.c: New file.
6904
6905         Tests for module 'unistr/u8-prev'.
6906         * modules/unistr/u8-prev-tests: New file.
6907         * tests/unistr/test-u8-prev.c: New file.
6908
6909         Tests for module 'unistr/u32-next'.
6910         * modules/unistr/u32-next-tests: New file.
6911         * tests/unistr/test-u32-next.c: New file.
6912
6913         Tests for module 'unistr/u16-next'.
6914         * modules/unistr/u16-next-tests: New file.
6915         * tests/unistr/test-u16-next.c: New file.
6916
6917         Tests for module 'unistr/u8-next'.
6918         * modules/unistr/u8-next-tests: New file.
6919         * tests/unistr/test-u8-next.c: New file.
6920
6921         Tests for module 'unistr/u32-strmbtouc'.
6922         * modules/unistr/u32-strmbtouc-tests: New file.
6923         * tests/unistr/test-u32-strmbtouc.c: New file.
6924
6925         Tests for module 'unistr/u16-strmbtouc'.
6926         * modules/unistr/u16-strmbtouc-tests: New file.
6927         * tests/unistr/test-u16-strmbtouc.c: New file.
6928
6929         Tests for module 'unistr/u8-strmbtouc'.
6930         * modules/unistr/u8-strmbtouc-tests: New file.
6931         * tests/unistr/test-u8-strmbtouc.c: New file.
6932
6933         Tests for module 'unistr/u32-strmblen'.
6934         * modules/unistr/u32-strmblen-tests: New file.
6935         * tests/unistr/test-u32-strmblen.c: New file.
6936
6937         Tests for module 'unistr/u16-strmblen'.
6938         * modules/unistr/u16-strmblen-tests: New file.
6939         * tests/unistr/test-u16-strmblen.c: New file.
6940
6941         Tests for module 'unistr/u8-strmblen'.
6942         * modules/unistr/u8-strmblen-tests: New file.
6943         * tests/unistr/test-u8-strmblen.c: New file.
6944
6945         Tests for module 'unistr/u32-cpy-alloc'.
6946         * modules/unistr/u32-cpy-alloc-tests: New file.
6947         * tests/unistr/test-u32-cpy-alloc.c: New file.
6948
6949         Tests for module 'unistr/u16-cpy-alloc'.
6950         * modules/unistr/u16-cpy-alloc-tests: New file.
6951         * tests/unistr/test-u16-cpy-alloc.c: New file.
6952
6953         Tests for module 'unistr/u8-cpy-alloc'.
6954         * modules/unistr/u8-cpy-alloc-tests: New file.
6955         * tests/unistr/test-u8-cpy-alloc.c: New file.
6956         * tests/unistr/test-cpy-alloc.h: New file.
6957
6958         Tests for module 'unistr/u32-mbsnlen'.
6959         * modules/unistr/u32-mbsnlen-tests: New file.
6960         * tests/unistr/test-u32-mbsnlen.c: New file.
6961
6962         Tests for module 'unistr/u16-mbsnlen'.
6963         * modules/unistr/u16-mbsnlen-tests: New file.
6964         * tests/unistr/test-u16-mbsnlen.c: New file.
6965
6966         Tests for module 'unistr/u8-mbsnlen'.
6967         * modules/unistr/u8-mbsnlen-tests: New file.
6968         * tests/unistr/test-u8-mbsnlen.c: New file.
6969
6970         Tests for module 'unistr/u32-chr'.
6971         * modules/unistr/u32-chr-tests: New file.
6972         * tests/unistr/test-u32-chr.c: New file.
6973
6974         Tests for module 'unistr/u16-chr'.
6975         * modules/unistr/u16-chr-tests: New file.
6976         * tests/unistr/test-u16-chr.c: New file.
6977
6978         Tests for module 'unistr/u8-chr'.
6979         * modules/unistr/u8-chr-tests: New file.
6980         * tests/unistr/test-u8-chr.c: New file.
6981         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
6982
6983         Tests for module 'unistr/u32-cmp2'.
6984         * modules/unistr/u32-cmp2-tests: New file.
6985         * tests/unistr/test-u32-cmp2.c: New file.
6986
6987         Tests for module 'unistr/u16-cmp2'.
6988         * modules/unistr/u16-cmp2-tests: New file.
6989         * tests/unistr/test-u16-cmp2.c: New file.
6990
6991         Tests for module 'unistr/u8-cmp2'.
6992         * modules/unistr/u8-cmp2-tests: New file.
6993         * tests/unistr/test-u8-cmp2.c: New file.
6994         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
6995
6996         Tests for module 'unistr/u32-cmp'.
6997         * modules/unistr/u32-cmp-tests: New file.
6998         * tests/unistr/test-u32-cmp.c: New file.
6999
7000         Tests for module 'unistr/u16-cmp'.
7001         * modules/unistr/u16-cmp-tests: New file.
7002         * tests/unistr/test-u16-cmp.c: New file.
7003
7004         Tests for module 'unistr/u8-cmp'.
7005         * modules/unistr/u8-cmp-tests: New file.
7006         * tests/unistr/test-u8-cmp.c: New file.
7007         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
7008
7009         Tests for module 'unistr/u32-set'.
7010         * modules/unistr/u32-set-tests: New file.
7011         * tests/unistr/test-u32-set.c: New file.
7012
7013         Tests for module 'unistr/u16-set'.
7014         * modules/unistr/u16-set-tests: New file.
7015         * tests/unistr/test-u16-set.c: New file.
7016
7017         Tests for module 'unistr/u8-set'.
7018         * modules/unistr/u8-set-tests: New file.
7019         * tests/unistr/test-u8-set.c: New file.
7020         * tests/unistr/test-set.h: New file.
7021
7022         Tests for module 'unistr/u32-move'.
7023         * modules/unistr/u32-move-tests: New file.
7024         * tests/unistr/test-u32-move.c: New file.
7025
7026         Tests for module 'unistr/u16-move'.
7027         * modules/unistr/u16-move-tests: New file.
7028         * tests/unistr/test-u16-move.c: New file.
7029
7030         Tests for module 'unistr/u8-move'.
7031         * modules/unistr/u8-move-tests: New file.
7032         * tests/unistr/test-u8-move.c: New file.
7033         * tests/unistr/test-move.h: New file.
7034
7035         Tests for module 'unistr/u32-cpy'.
7036         * modules/unistr/u32-cpy-tests: New file.
7037         * tests/unistr/test-u32-cpy.c: New file.
7038
7039         Tests for module 'unistr/u16-cpy'.
7040         * modules/unistr/u16-cpy-tests: New file.
7041         * tests/unistr/test-u16-cpy.c: New file.
7042
7043         Tests for module 'unistr/u8-cpy'.
7044         * modules/unistr/u8-cpy-tests: New file.
7045         * tests/unistr/test-u8-cpy.c: New file.
7046         * tests/unistr/test-cpy.h: New file.
7047
7048 2010-01-09  Bruno Haible  <bruno@clisp.org>
7049
7050         Tests for module 'unistr/u32-uctomb'.
7051         * modules/unistr/u32-uctomb-tests: New file.
7052         * tests/unistr/test-u32-uctomb.c: New file.
7053
7054         Tests for module 'unistr/u16-uctomb'.
7055         * modules/unistr/u16-uctomb-tests: New file.
7056         * tests/unistr/test-u16-uctomb.c: New file.
7057
7058         Tests for module 'unistr/u8-uctomb'.
7059         * modules/unistr/u8-uctomb-tests: New file.
7060         * tests/unistr/test-u8-uctomb.c: New file.
7061
7062         Tests for module 'unistr/u32-mbtoucr'.
7063         * modules/unistr/u32-mbtoucr-tests: New file.
7064         * tests/unistr/test-u32-mbtoucr.c: New file.
7065
7066         Tests for module 'unistr/u16-mbtoucr'.
7067         * modules/unistr/u16-mbtoucr-tests: New file.
7068         * tests/unistr/test-u16-mbtoucr.c: New file.
7069
7070         Tests for module 'unistr/u8-mbtoucr'.
7071         * modules/unistr/u8-mbtoucr-tests: New file.
7072         * tests/unistr/test-u8-mbtoucr.c: New file.
7073
7074         Tests for module 'unistr/u32-mbtouc'.
7075         * modules/unistr/u32-mbtouc-tests: New file.
7076         * tests/unistr/test-u32-mbtouc.c: New file.
7077
7078         Tests for module 'unistr/u16-mbtouc'.
7079         * modules/unistr/u16-mbtouc-tests: New file.
7080         * tests/unistr/test-u16-mbtouc.c: New file.
7081
7082         Tests for module 'unistr/u8-mbtouc'.
7083         * modules/unistr/u8-mbtouc-tests: New file.
7084         * tests/unistr/test-u8-mbtouc.c: New file.
7085
7086         Tests for module 'unistr/u32-mbtouc-unsafe'.
7087         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
7088         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
7089         * tests/unistr/test-u32-mbtouc.h: New file.
7090
7091         Tests for module 'unistr/u16-mbtouc-unsafe'.
7092         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
7093         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
7094         * tests/unistr/test-u16-mbtouc.h: New file.
7095
7096         Tests for module 'unistr/u8-mbtouc-unsafe'.
7097         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
7098         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
7099         * tests/unistr/test-u8-mbtouc.h: New file.
7100
7101         Tests for module 'unistr/u32-mblen'.
7102         * modules/unistr/u32-mblen-tests: New file.
7103         * tests/unistr/test-u32-mblen.c: New file.
7104
7105         Tests for module 'unistr/u16-mblen'.
7106         * modules/unistr/u16-mblen-tests: New file.
7107         * tests/unistr/test-u16-mblen.c: New file.
7108
7109         Tests for module 'unistr/u8-mblen'.
7110         * modules/unistr/u8-mblen-tests: New file.
7111         * tests/unistr/test-u8-mblen.c: New file.
7112
7113         Tests for module 'unistr/u32-to-u16'.
7114         * modules/unistr/u32-to-u16-tests: New file.
7115         * tests/unistr/test-u32-to-u16.c: New file.
7116
7117         Tests for module 'unistr/u32-to-u8'.
7118         * modules/unistr/u32-to-u8-tests: New file.
7119         * tests/unistr/test-u32-to-u8.c: New file.
7120
7121         Tests for module 'unistr/u16-to-u32'.
7122         * modules/unistr/u16-to-u32-tests: New file.
7123         * tests/unistr/test-u16-to-u32.c: New file.
7124
7125         Tests for module 'unistr/u16-to-u8'.
7126         * modules/unistr/u16-to-u8-tests: New file.
7127         * tests/unistr/test-u16-to-u8.c: New file.
7128
7129         Tests for module 'unistr/u8-to-u32'.
7130         * modules/unistr/u8-to-u32-tests: New file.
7131         * tests/unistr/test-u8-to-u32.c: New file.
7132
7133         Tests for module 'unistr/u8-to-u16'.
7134         * modules/unistr/u8-to-u16-tests: New file.
7135         * tests/unistr/test-u8-to-u16.c: New file.
7136
7137         Tests for module 'unistr/u32-check'.
7138         * modules/unistr/u32-check-tests: New file.
7139         * tests/unistr/test-u32-check.c: New file.
7140
7141         Tests for module 'unistr/u16-check'.
7142         * modules/unistr/u16-check-tests: New file.
7143         * tests/unistr/test-u16-check.c: New file.
7144
7145         Tests for module 'unistr/u8-check'.
7146         * modules/unistr/u8-check-tests: New file.
7147         * tests/unistr/test-u8-check.c: New file.
7148
7149         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
7150         (category_equals): New function.
7151         (main): Add more tests.
7152         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
7153
7154         * tests/unictype/test-bidi_byname.c (main): Add more tests.
7155
7156 2010-01-10  Bruno Haible  <bruno@clisp.org>
7157
7158         unistr/u*-strcoll: Try harder to distinguish different strings.
7159         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
7160         compare s1 and s2 to see if they are different.
7161
7162 2010-01-10  Bruno Haible  <bruno@clisp.org>
7163
7164         unistr/u*-stpncpy: Fix the return value.
7165         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
7166         description of the return value consistent with stpncpy in glibc.
7167         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
7168         written non-NUL unit.
7169
7170 2010-01-10  Bruno Haible  <bruno@clisp.org>
7171
7172         unistr/u*-next: Add missing dependencies.
7173         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
7174         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
7175         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
7176
7177 2010-01-10  Bruno Haible  <bruno@clisp.org>
7178
7179         unistr/u8-mbsnlen: Fix return value for incomplete character.
7180         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
7181         u8_mblen.
7182         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
7183         Remove unistr/u8-mblen.
7184         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
7185         u16_mblen.
7186         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
7187         Remove unistr/u16-mblen.
7188
7189 2010-01-10  Bruno Haible  <bruno@clisp.org>
7190
7191         wchar: Fix compilation error when <wchar.h> is used from coreutils.
7192         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
7193         Reported by Brian Gough <bjg@gnu.org> and
7194         Chris Clayton <chris2553@googlemail.com> via
7195         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
7196
7197 2010-01-09  Bruno Haible  <bruno@clisp.org>
7198
7199         unistr/u16-to-u32: Reject invalid input.
7200         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
7201         u16_mbtouc.
7202         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
7203         Remove unistr/u16-mbtouc.
7204
7205         unistr/u16-to-u8: Reject invalid input.
7206         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
7207         u16_mbtouc.
7208         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
7209         Remove unistr/u16-mbtouc.
7210
7211         unistr/u8-to-u32: Reject invalid input.
7212         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
7213         u8_mbtouc.
7214         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
7215         Remove unistr/u8-mbtouc.
7216
7217         unistr/u8-to-u16: Reject invalid input.
7218         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
7219         u8_mbtouc.
7220         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
7221         Remove unistr/u8-mbtouc.
7222
7223 2010-01-09  Bruno Haible  <bruno@clisp.org>
7224
7225         Tests for module 'getlogin'.
7226         * modules/getlogin-tests: New file.
7227         * tests/test-getlogin.c: New file.
7228
7229         New module 'getlogin'.
7230         * lib/unistd.in.h (getlogin): New declaration.
7231         * lib/getlogin.c: New file.
7232         * m4/getlogin.m4: New file.
7233         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
7234         HAVE_GETLOGIN.
7235         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
7236         HAVE_GETLOGIN.
7237         * modules/getlogin: New file.
7238         * doc/posix-functions/getlogin.texi: Mention the new module.
7239         Reported by John W. Eaton <jwe@gnu.org>.
7240
7241 2010-01-09  Bruno Haible  <bruno@clisp.org>
7242
7243         getlogin_r: Support for native Windows.
7244         * lib/getlogin_r.c: Include <windows.h>
7245         (getlogin_r): Implement for native Windows.
7246         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
7247         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
7248         via John W. Eaton <jwe@gnu.org>.
7249
7250 2010-01-09  Bruno Haible  <bruno@clisp.org>
7251
7252         getlogin_r: Small fixes.
7253         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
7254         succeeds.
7255         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
7256         before testing whether getlogin_r is declared. No need to set
7257         HAVE_DECL_GETLOGIN_R to 1.
7258         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
7259
7260 2010-01-09  Bruno Haible  <bruno@clisp.org>
7261
7262         * lib/unistd.in.h (getlogin_r): Add comment.
7263
7264 2010-01-09  Bruno Haible  <bruno@clisp.org>
7265
7266         Tests for module 'getlogin_r'.
7267         * modules/getlogin_r-tests: New file.
7268         * tests/test-getlogin_r.c: New file.
7269
7270 2010-01-09  Jim Meyering  <meyering@redhat.com>
7271
7272         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
7273         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
7274         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
7275
7276 2010-01-08  Simon Josefsson  <simon@josefsson.org>
7277
7278         * lib/dup2.c (rpl_dup2): Improve comment.
7279
7280 2010-01-08  Eric Blake  <ebb9@byu.net>
7281
7282         maint.mk: allow packages to add makefile @@ exceptions
7283         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
7284         (sc_makefile_check): Rename...
7285         (sc_makefile_at_at_check): ...to this, and use hook.
7286
7287         dup2: work around mingw bug
7288         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
7289         Reported by Simon Josefsson.
7290
7291 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
7292
7293         glob: Fix C++ compilation.
7294         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
7295         C++.
7296
7297 2010-01-07  Bruno Haible  <bruno@clisp.org>
7298
7299         Fix indentation of wctype.in.h, broken since 2007-01-06.
7300         * lib/wctype.in.h: Fix indentation of preprocessor directives.
7301
7302 2010-01-07  Bruno Haible  <bruno@clisp.org>
7303
7304         mbslen: Avoid collision with system function.
7305         * lib/string.in.h [MirBSD]: Include <wchar.h>.
7306         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
7307         * m4/mbslen.m4: New file.
7308         * modules/mbslen (Files): Add it.
7309         (configure.ac): Invoke gl_MBSLEN.
7310         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
7311         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
7312         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
7313         via Ian Beckwith <ianb@erislabs.net>.
7314
7315 2010-01-07  Bruno Haible  <bruno@clisp.org>
7316
7317         dirent: Document the last fix.
7318         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
7319
7320 2010-01-07  Bruno Haible  <bruno@clisp.org>
7321
7322         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
7323         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
7324         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
7325         va_list are defined.
7326         * doc/posix-headers/stdio.texi: Document the bug of missing types.
7327         Reported by Eric Blake.
7328
7329 2010-01-07  Bruno Haible  <bruno@clisp.org>
7330
7331         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
7332         * modules/xlist (Depends-on): Add 'list',
7333         * modules/xoset (Depends-on): Add 'oset'.
7334         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7335
7336 2010-01-07  Bruno Haible  <bruno@clisp.org>
7337
7338         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
7339         * doc/posix-functions/strncasecmp.texi: Likewise.
7340
7341 2010-01-07  Bruno Haible  <bruno@clisp.org>
7342
7343         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
7344
7345 2010-01-07  John W. Eaton  <jwe@octave.org>
7346
7347         wctype: allow C++ use
7348         * lib/wctype.in.h: Add extern "C" block for C++.
7349
7350 2010-01-06  Eric Blake  <ebb9@byu.net>
7351
7352         maint.mk: detect incorrect GFDL usage
7353         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
7354
7355 2010-01-06  Jim Meyering  <meyering@redhat.com>
7356         and Eric Blake  <ebb9@byu.net>
7357
7358         maint.mk: ignore multi-line copyright in NEWS
7359         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
7360
7361 2010-01-06  Eric Blake  <ebb9@byu.net>
7362
7363         select: add missing dependency
7364         * modules/select-tests (Depends-on): Move sockets dependency...
7365         * modules/select (Depends-on): ...here.
7366         Reported by Ian Beckwith.
7367
7368         doc: regenerate INSTALL
7369         * doc/INSTALL: Reflect recent autoconf update.
7370         * doc/INSTALL.ISO: Likewise.
7371         * doc/INSTALL.UTF-8: Likewise.
7372
7373         pread: fix compilation on glibc
7374         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
7375         Reported by Ralf Wildenhues.
7376
7377         dirent: fix test failure
7378         * lib/dirent.in.h (includes): Guarantee ino_t.
7379         Reported by Ralf Wildenhues.
7380
7381 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
7382
7383         linkat, renameat: avoid bad free
7384         * lib/at-func2.c (at_func2): Fix typo.
7385         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
7386
7387 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7388
7389         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
7390         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
7391         to avoid failure of symlink test later.
7392
7393 2010-01-06  Eric Blake  <ebb9@byu.net>
7394
7395         stdio, unistd: guarantee ssize_t
7396         * lib/unistd.in.h (includes): Ensure that types required by POSIX
7397         2008 are exposed when needed.
7398         * lib/stdio.in.h (includes): Likewise.
7399         Reported by Ralf Wildenhues.
7400
7401 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
7402
7403         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
7404         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
7405         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
7406
7407 2010-01-06  Jim Meyering  <meyering@redhat.com>
7408
7409         readtokens: this module *does* require xalloc.h
7410         It uses only functions that were omitted by the old syntax-check rule.
7411         * lib/readtokens.c: Include "xalloc.h" once again.
7412         * modules/readtokens (Depends-on): Add xalloc.
7413         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
7414
7415 2010-01-05  Eric Blake  <ebb9@byu.net>
7416
7417         maint: support 'make announcement' from a VPATH build
7418         * top/maint.mk (announcement): Look for correct NEWS file.
7419
7420 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
7421
7422         utimens (fdutimens): ignore a negative FD, per contract
7423         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
7424         when we have a valid file descriptor.  Otherwise, using a brand
7425         new glibc (with just-patched futimens that now fails with EBADF)
7426         would cause this function to fail with ENOSYS.
7427         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
7428         See also http://bugzilla.redhat.com/552320.
7429
7430 2010-01-05  Eric Blake  <ebb9@byu.net>
7431
7432         strcase: document what it provides
7433         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
7434         gnulib module.
7435         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
7436         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
7437
7438 2010-01-05  Jim Meyering  <meyering@redhat.com>
7439
7440         maint: remove useless inclusions of "xalloc.h"
7441         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
7442         * lib/readtokens.c: Likewise.
7443         * lib/same.c: Likewise.
7444         * modules/getloadavg (Depends-on): Remove xalloc.
7445         * modules/readtokens: Likewise.
7446         * modules/same: Likewise.
7447
7448         maint.mk: include 4 more function names in alloca.h-checking regexp
7449         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
7450         regexp.  Before, we would give a false-positive (saying alloca.h
7451         is included unnecessarily) when the only uses involved omitted symbols.
7452
7453         xalloc.h: use consistent formatting
7454         * lib/xalloc.h: Move declarations to start in the first column.
7455
7456 2010-01-05  Eric Blake  <ebb9@byu.net>
7457
7458         mkdir: avoid xalloc
7459         * lib/mkdir.c (includes): Drop unused header.
7460         Reported by John W. Eaton.
7461
7462 2010-01-04  Jim Meyering  <meyering@redhat.com>
7463
7464         nl_langinfo: avoid configure-time syntax error
7465         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
7466         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
7467         the empty string.  Don't let that provoke a shell syntax error.
7468
7469         regcomp, regexec, fnmatch: avoid array bounds read error
7470         * lib/regcomp.c (build_equiv_class): From glibc:
7471         Use only the low 24 bits of a findidx return value as an index
7472         into the weights array.  Patch by Ulrich Drepper:
7473         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
7474         * lib/regexec.c (check_node_accept_bytes): Likewise.
7475         * lib/fnmatch_loop.c (FCT): Likewise.
7476
7477         regcomp: skip collseq lookup when there are no rules
7478         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
7479         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
7480
7481         regcomp: recognize ill-formed { } expressions
7482         * lib/regcomp.c (parse_dup_op): From glibc:
7483         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
7484
7485         regcomp: fix typo in comment
7486         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
7487         s/satisfy/satisfies/.
7488
7489         regcomp: sync from glibc: remove dead store
7490         * lib/regcomp.c (duplicate_node_closure): Remove useless
7491         search_duplicated_node call and dead store.
7492
7493         regcomp: sync from glibc; always use nl_langinfo
7494         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
7495         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
7496         * modules/regex (Depends-on): Add nl_langinfo.
7497
7498 2010-01-04  Eric Blake  <ebb9@byu.net>
7499
7500         fdopendir: fix configure test
7501         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
7502
7503 2010-01-01  Bruno Haible  <bruno@clisp.org>
7504
7505         wchar: Remove unused configure check.
7506         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
7507
7508 2010-01-01  Eric Blake  <ebb9@byu.net>
7509
7510         headers: make check of system header explicit
7511         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
7512         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
7513         ourselves.
7514         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7515         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7516         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
7517         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
7518         internals.
7519         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
7520         missing.
7521         Suggested by Bruno Haible.
7522
7523 2010-01-01  Jim Meyering  <meyering@redhat.com>
7524
7525         ChangeLog: tweak to eliminate unnecessary copyright line
7526         * ChangeLog: Remove a copyright line that was mistakenly updated
7527         by today's update-copyright run.  Reported by Eric Blake.
7528
7529         test-update-copyright: don't let envvar setting cause test failure
7530         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
7531
7532 2010-01-01  Bruno Haible  <bruno@clisp.org>
7533
7534         localename: Avoid gcc warning.
7535         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
7536         function if it is not used.
7537
7538 2010-01-01  Jim Meyering  <meyering@redhat.com>
7539
7540         update nearly all FSF copyright year lists to include 2010
7541         Use the same procedure as for 2009, outlined in
7542         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
7543
7544         version-etc: set COPYRIGHT_YEAR to 2010
7545         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
7546
7547 2009-12-31  Eric Blake  <ebb9@byu.net>
7548
7549         doc: correct availability of cygwin 1.5.x getopt
7550         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
7551         variables.
7552         * doc/posix-functions/opterr.texi (opterr): Likewise.
7553         * doc/posix-functions/optind.texi (optind): Likewise.
7554         * doc/posix-functions/optopt.texi (optopt): Likewise.
7555         * doc/posix-functions/tzname.texi (tzname): Likewise.
7556
7557         openat: update maintainer
7558         * modules/openat (Maintainer): Add myself.
7559
7560         utimens: avoid shadowing warning
7561         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
7562         buffers into one, to avoid shadowing, as well as avoiding a
7563         redundant stat.
7564         Reported by Jim Meyering.
7565
7566         test-dup2: avoid compiler warning
7567         * tests/test-dup2.c (is_inheritable): Only define if used.
7568
7569 2010-01-01  Bruno Haible  <bruno@clisp.org>
7570
7571         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
7572         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
7573         defined, use wctomb instead of wcrtomb.
7574
7575 2010-01-01  Bruno Haible  <bruno@clisp.org>
7576
7577         iconv: Reject native Solaris iconv.
7578         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
7579         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
7580
7581 2009-12-31  Bruno Haible  <bruno@clisp.org>
7582
7583         * tests/test-signal.c (main): Remove test of 'SIG'.
7584
7585 2009-12-31  Bruno Haible  <bruno@clisp.org>
7586
7587         spawn: Fix incomplete fix.
7588         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
7589         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
7590         warnings for GNULIB_POSIXCHECK again.
7591         Reported by Eric Blake.
7592
7593 2009-12-31  Bruno Haible  <bruno@clisp.org>
7594
7595         Avoid namespace pollution on glibc systems.
7596         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
7597         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
7598         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
7599         glibc systems.
7600
7601 2009-12-31  Bruno Haible  <bruno@clisp.org>
7602
7603         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
7604         (gl_REPLACE_WCHAR_H): Turn into a no-op.
7605         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
7606         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
7607         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
7608         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
7609         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
7610
7611 2009-12-31  Bruno Haible  <bruno@clisp.org>
7612
7613         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
7614         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
7615         afterwards.
7616
7617 2009-12-31  Bruno Haible  <bruno@clisp.org>
7618
7619         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
7620         SYS_UTSNAME_H.
7621
7622 2009-12-31  Bruno Haible  <bruno@clisp.org>
7623
7624         spawn: Fix misapplied patch.
7625         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
7626         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
7627         warnings for GNULIB_POSIXCHECK.
7628
7629 2009-12-31  Bruno Haible  <bruno@clisp.org>
7630
7631         times: Update after sys_times changed.
7632         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
7633         * modules/times (Files): Add it.
7634         (configure.ac): Invoke gl_FUNC_TIMES.
7635
7636 2009-12-31  Bruno Haible  <bruno@clisp.org>
7637
7638         Use AC_C_INLINE where necessary.
7639         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
7640         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
7641         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
7642         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
7643         * m4/mbfile.m4 (gl_MBFILE): Likewise.
7644         * m4/mbiter.m4 (gl_MBITER): Likewise.
7645         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7646         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7647         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
7648         * modules/u64 (configure.ac): Likewise.
7649
7650 2009-12-31  Bruno Haible  <bruno@clisp.org>
7651
7652         Use AC_C_INLINE instead of module 'inline' where possible.
7653         * modules/inline (Description): Clarify purpose.
7654         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
7655         * modules/count-one-bits (Depends-on): Remove inline.
7656         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
7657         * modules/openat (Depends-on): Remove inline.
7658         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
7659         instead of depending on module 'inline'.
7660         * modules/filevercmp (Depends-on, configure.ac): Likewise.
7661         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
7662         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
7663         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
7664         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
7665         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
7666         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
7667         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
7668         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
7669         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
7670         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
7671         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
7672         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
7673         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
7674         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
7675         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
7676         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
7677         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
7678         Likewise.
7679         * modules/unictype/property-ascii-hex-digit (Depends-on,
7680         configure.ac): Likewise.
7681         * modules/unictype/property-bidi-arabic-digit (Depends-on,
7682         configure.ac): Likewise.
7683         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
7684         configure.ac): Likewise.
7685         * modules/unictype/property-bidi-block-separator (Depends-on,
7686         configure.ac): Likewise.
7687         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
7688         configure.ac): Likewise.
7689         * modules/unictype/property-bidi-common-separator (Depends-on,
7690         configure.ac): Likewise.
7691         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
7692         Likewise.
7693         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
7694         configure.ac): Likewise.
7695         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
7696         configure.ac): Likewise.
7697         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
7698         configure.ac): Likewise.
7699         * modules/unictype/property-bidi-european-digit (Depends-on,
7700         configure.ac): Likewise.
7701         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
7702         configure.ac): Likewise.
7703         * modules/unictype/property-bidi-left-to-right (Depends-on,
7704         configure.ac): Likewise.
7705         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
7706         configure.ac): Likewise.
7707         * modules/unictype/property-bidi-other-neutral (Depends-on,
7708         configure.ac): Likewise.
7709         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
7710         Likewise.
7711         * modules/unictype/property-bidi-segment-separator (Depends-on,
7712         configure.ac): Likewise.
7713         * modules/unictype/property-bidi-whitespace (Depends-on,
7714         configure.ac): Likewise.
7715         * modules/unictype/property-combining (Depends-on, configure.ac):
7716         Likewise.
7717         * modules/unictype/property-composite (Depends-on, configure.ac):
7718         Likewise.
7719         * modules/unictype/property-currency-symbol (Depends-on,
7720         configure.ac): Likewise.
7721         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
7722         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
7723         Likewise.
7724         * modules/unictype/property-default-ignorable-code-point (Depends-on,
7725         configure.ac): Likewise.
7726         * modules/unictype/property-deprecated (Depends-on, configure.ac):
7727         Likewise.
7728         * modules/unictype/property-diacritic (Depends-on, configure.ac):
7729         Likewise.
7730         * modules/unictype/property-extender (Depends-on, configure.ac):
7731         Likewise.
7732         * modules/unictype/property-format-control (Depends-on, configure.ac):
7733         Likewise.
7734         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
7735         Likewise.
7736         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
7737         Likewise.
7738         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
7739         Likewise.
7740         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
7741         Likewise.
7742         * modules/unictype/property-hyphen (Depends-on, configure.ac):
7743         Likewise.
7744         * modules/unictype/property-id-continue (Depends-on, configure.ac):
7745         Likewise.
7746         * modules/unictype/property-id-start (Depends-on, configure.ac):
7747         Likewise.
7748         * modules/unictype/property-ideographic (Depends-on, configure.ac):
7749         Likewise.
7750         * modules/unictype/property-ids-binary-operator (Depends-on,
7751         configure.ac): Likewise.
7752         * modules/unictype/property-ids-trinary-operator (Depends-on,
7753         configure.ac): Likewise.
7754         * modules/unictype/property-ignorable-control (Depends-on,
7755         configure.ac): Likewise.
7756         * modules/unictype/property-iso-control (Depends-on, configure.ac):
7757         Likewise.
7758         * modules/unictype/property-join-control (Depends-on, configure.ac):
7759         Likewise.
7760         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
7761         Likewise.
7762         * modules/unictype/property-line-separator (Depends-on, configure.ac):
7763         Likewise.
7764         * modules/unictype/property-logical-order-exception (Depends-on,
7765         configure.ac): Likewise.
7766         * modules/unictype/property-lowercase (Depends-on, configure.ac):
7767         Likewise.
7768         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
7769         * modules/unictype/property-non-break (Depends-on, configure.ac):
7770         Likewise.
7771         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
7772         Likewise.
7773         * modules/unictype/property-numeric (Depends-on, configure.ac):
7774         Likewise.
7775         * modules/unictype/property-other-alphabetic (Depends-on,
7776         configure.ac): Likewise.
7777         * modules/unictype/property-other-default-ignorable-code-point
7778         (Depends-on, configure.ac): Likewise.
7779         * modules/unictype/property-other-grapheme-extend (Depends-on,
7780         configure.ac): Likewise.
7781         * modules/unictype/property-other-id-continue (Depends-on,
7782         configure.ac): Likewise.
7783         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
7784         Likewise.
7785         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
7786         Likewise.
7787         * modules/unictype/property-other-math (Depends-on, configure.ac):
7788         Likewise.
7789         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
7790         Likewise.
7791         * modules/unictype/property-paired-punctuation (Depends-on,
7792         configure.ac): Likewise.
7793         * modules/unictype/property-paragraph-separator (Depends-on,
7794         configure.ac): Likewise.
7795         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
7796         Likewise.
7797         * modules/unictype/property-pattern-white-space (Depends-on,
7798         configure.ac): Likewise.
7799         * modules/unictype/property-private-use (Depends-on, configure.ac):
7800         Likewise.
7801         * modules/unictype/property-punctuation (Depends-on, configure.ac):
7802         Likewise.
7803         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
7804         Likewise.
7805         * modules/unictype/property-radical (Depends-on, configure.ac):
7806         Likewise.
7807         * modules/unictype/property-sentence-terminal (Depends-on,
7808         configure.ac): Likewise.
7809         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
7810         Likewise.
7811         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
7812         * modules/unictype/property-terminal-punctuation (Depends-on,
7813         configure.ac): Likewise.
7814         * modules/unictype/property-titlecase (Depends-on, configure.ac):
7815         Likewise.
7816         * modules/unictype/property-unassigned-code-value (Depends-on,
7817         configure.ac): Likewise.
7818         * modules/unictype/property-unified-ideograph (Depends-on,
7819         configure.ac): Likewise.
7820         * modules/unictype/property-uppercase (Depends-on, configure.ac):
7821         Likewise.
7822         * modules/unictype/property-variation-selector (Depends-on,
7823         configure.ac): Likewise.
7824         * modules/unictype/property-white-space (Depends-on, configure.ac):
7825         Likewise.
7826         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
7827         Likewise.
7828         * modules/unictype/property-xid-start (Depends-on, configure.ac):
7829         Likewise.
7830         * modules/unictype/property-zero-width (Depends-on, configure.ac):
7831         Likewise.
7832         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
7833         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
7834         Likewise.
7835
7836 2009-12-31  Bruno Haible  <bruno@clisp.org>
7837
7838         Remove unnecessary AC_C_INLINE invocation.
7839         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
7840         since 2009-08-21.
7841
7842 2009-12-31  Jim Meyering  <meyering@redhat.com>
7843
7844         maint.mk: don't require explicit gpg_key_ID in cfg.mk
7845         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
7846         With this change, we can all remove the gpg_key_ID = ... definition
7847         from our respective cfg.mk files.
7848
7849         maint.mk: create announcement template in ~/, not in /tmp
7850         * top/maint.mk (emit_upload_commands): Adjust.
7851         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
7852         Remove temporary file, .ci-msg.
7853
7854 2009-12-31  Eric Blake  <ebb9@byu.net>
7855
7856         link-warning: always build headers with link warnings
7857         * modules/arpa_inet (Makefile.am): Always build replacement
7858         header.
7859         * modules/ctype (Makefile.am): Likewise.
7860         * modules/dirent (Makefile.am): Likewise.
7861         * modules/inttypes (Makefile.am): Likewise.
7862         * modules/langinfo (Makefile.am): Likewise.
7863         * modules/locale (Makefile.am): Likewise.
7864         * modules/spawn (Makefile.am): Likewise.
7865         * modules/sys_file (Makefile.am): Likewise.
7866         * modules/sys_ioctl (Makefile.am): Likewise.
7867         * modules/sys_select (Makefile.am): Likewise.
7868         * modules/sys_socket (Makefile.am): Likewise.
7869         * modules/sys_times (Makefile.am): Likewise.
7870         * modules/sys_utsname (Makefile.am): Likewise.
7871         * modules/sys_wait (Makefile.am): Likewise.
7872         * modules/wchar (Makefile.am): Likewise.
7873         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
7874         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
7875         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
7876         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
7877         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
7878         Likewise.
7879         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
7880         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
7881         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
7882         Likewise.
7883         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
7884         Likewise.
7885         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
7886         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
7887         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
7888         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7889         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7890         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
7891         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
7892         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
7893         (gl_WCHAR_H_DEFAULTS): Likewise.
7894
7895 2009-12-31  Eric Blake  <ebb9@byu.net>
7896
7897         signal, spawn: use link warnings
7898         * lib/signal.in.h (sigset_t): Make unconditional.
7899         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
7900         (sigpending, sigprocmask, sigaction): Add link warnings.
7901         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
7902         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
7903         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
7904         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
7905         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
7906         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
7907         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
7908         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
7909         (posix_spawn_file_actions_destroy)
7910         (posix_spawn_file_actions_addopen)
7911         (posix_spawn_file_actions_addclose)
7912         (posix_spawn_file_actions_adddup2): Likewise.
7913         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
7914         * tests/test-signal.c (main): Enhance test.
7915
7916         spawn: improve wrapper support
7917         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
7918         (gl_SPAWN_H_DEFAULTS): New defaults.
7919         * modules/spawn (Makefile.am): Substitute them.
7920         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
7921         Only declare if missing or broken.
7922
7923         sys_times, sys_utsname: use include_next
7924         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
7925         header.
7926         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
7927         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
7928         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
7929         * modules/sys_times (Depends-on): Add include_next.
7930         (Makefile.am): Substitute additional values.
7931         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
7932         * lib/sys_times.in.h (includes): Include native header, if
7933         available.
7934         * lib/sys_utsname.in.h (includes): Likewise.
7935         * tests/test-sys_times.c (main): Enhance test.
7936
7937         fdutimensat: revert prior patch
7938         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
7939         utimens.h.
7940         Reported by Bruno Haible.
7941
7942 2009-12-30  Eric Blake  <ebb9@byu.net>
7943
7944         sys_wait: drop link-warning dependency
7945         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
7946         link-warning efforts.
7947         * lib/sys_wait.in.h: Likewise.
7948
7949         fdutimensat: remove bogus dependency
7950         * modules/fdutimensat (Depends-on): Drop inline.
7951
7952         unistd: fix typo
7953         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
7954
7955 2009-12-30  Bruno Haible  <bruno@clisp.org>
7956
7957         Fix compilation error with Solaris cc.
7958         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
7959         * lib/unicase/u16-is-invariant.c: Likewise.
7960         * lib/unicase/u32-is-invariant.c: Likewise.
7961         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
7962
7963 2009-12-30  Bruno Haible  <bruno@clisp.org>
7964
7965         Fix test crash.
7966         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
7967         locales.
7968         Reported by Simon Josefsson <simon@josefsson.org>.
7969
7970 2009-12-30  Bruno Haible  <bruno@clisp.org>
7971
7972         Fix compilation error on most platforms.
7973         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
7974         Reported by Simon Josefsson <simon@josefsson.org>
7975         and Nelson H. F. Beebe <beebe@math.utah.edu>.
7976
7977 2009-12-30  Eric Blake  <ebb9@byu.net>
7978
7979         futimens, utimensat: work around ntfs-3g bug
7980         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
7981         a ctime bug is present, and expand workaround to cover ntfs-3g.
7982         * lib/utimens.c (fdutimens, lutimens): Likewise.
7983         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
7984         (validate_timespec): Adjust return value.
7985         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
7986         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7987         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
7988
7989 2009-12-29  Eric Blake  <ebb9@byu.net>
7990
7991         link-warning: make usage consistent
7992         * modules/ctype (Depends-on): Add link-warning.
7993         (Makefile.am): Update rules accordingly.
7994         * modules/langinfo (Depends-on, Makefile.am): Likewise.
7995         * modules/locale (Depends-on, Makefile.am): Likewise.
7996         * modules/sys_file (Makefile.am): Likewise.
7997         * modules/getopt-posix (Makefile.am): Delete unused link warning
7998         efforts.
7999         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
8000         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
8001         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
8002         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
8003
8004         stdio: remove unused variables
8005         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
8006         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
8007         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8008
8009         tests: test more substitute headers
8010         * modules/ctype-tests: New file.
8011         * modules/dirent-tests: Likewise.
8012         * modules/spawn-tests: Likewise.
8013         * modules/sys_file-tests: Likewise.
8014         * modules/sys_ioctl-tests: Likewise.
8015         * modules/sys_wait-tests: Likewise.
8016         * tests/test-ctype.c: Likewise.
8017         * tests/test-dirent.c: Likewise.
8018         * tests/test-spawn.c: Likewise.
8019         * tests/test-sys_file.c: Likewise.
8020         * tests/test-sys_ioctl.c: Likewise.
8021         * tests/test-sys_wait.c: Likewise.
8022         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
8023         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
8024         whether or not flock is in use.
8025
8026         tests: remove License section from module
8027         * modules/arpa_inet-tests: Remove unneeded section.
8028         * modules/byteswap-tests: Likewise.
8029         * modules/ceilf-tests: Likewise.
8030         * modules/ceill-tests: Likewise.
8031         * modules/crypto/des-tests: Likewise.
8032         * modules/crypto/gc-arcfour-tests: Likewise.
8033         * modules/crypto/gc-arctwo-tests: Likewise.
8034         * modules/crypto/gc-des-tests: Likewise.
8035         * modules/crypto/gc-hmac-md5-tests: Likewise.
8036         * modules/crypto/gc-hmac-sha1-tests: Likewise.
8037         * modules/crypto/gc-md2-tests: Likewise.
8038         * modules/crypto/gc-md4-tests: Likewise.
8039         * modules/crypto/gc-md5-tests: Likewise.
8040         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
8041         * modules/crypto/gc-rijndael-tests: Likewise.
8042         * modules/crypto/gc-sha1-tests: Likewise.
8043         * modules/crypto/gc-tests: Likewise.
8044         * modules/crypto/md2-tests: Likewise.
8045         * modules/crypto/md4-tests: Likewise.
8046         * modules/fcntl-h-tests: Likewise.
8047         * modules/floorf-tests: Likewise.
8048         * modules/floorl-tests: Likewise.
8049         * modules/frexp-nolibm-tests: Likewise.
8050         * modules/frexp-tests: Likewise.
8051         * modules/frexpl-nolibm-tests: Likewise.
8052         * modules/frexpl-tests: Likewise.
8053         * modules/getaddrinfo-tests: Likewise.
8054         * modules/inttypes-tests: Likewise.
8055         * modules/isfinite-tests: Likewise.
8056         * modules/isinf-tests: Likewise.
8057         * modules/ldexpl-tests: Likewise.
8058         * modules/locale-tests: Likewise.
8059         * modules/math-tests: Likewise.
8060         * modules/netdb-tests: Likewise.
8061         * modules/netinet_in-tests: Likewise.
8062         * modules/printf-frexp-tests: Likewise.
8063         * modules/printf-frexpl-tests: Likewise.
8064         * modules/priv-set-tests: Likewise.
8065         * modules/random_r-tests: Likewise.
8066         * modules/round-tests: Likewise.
8067         * modules/roundf-tests: Likewise.
8068         * modules/roundl-tests: Likewise.
8069         * modules/search-tests: Likewise.
8070         * modules/select-tests: Likewise.
8071         * modules/signal-tests: Likewise.
8072         * modules/stdbool-tests: Likewise.
8073         * modules/stddef-tests: Likewise.
8074         * modules/stdint-tests: Likewise.
8075         * modules/stdio-tests: Likewise.
8076         * modules/stdlib-tests: Likewise.
8077         * modules/string-tests: Likewise.
8078         * modules/strings-tests: Likewise.
8079         * modules/sys_select-tests: Likewise.
8080         * modules/sys_socket-tests: Likewise.
8081         * modules/sys_stat-tests: Likewise.
8082         * modules/sys_time-tests: Likewise.
8083         * modules/sys_utsname-tests: Likewise.
8084         * modules/sysexits-tests: Likewise.
8085         * modules/time-tests: Likewise.
8086         * modules/trunc-tests: Likewise.
8087         * modules/truncf-tests: Likewise.
8088         * modules/truncl-tests: Likewise.
8089         * modules/tsearch-tests: Likewise.
8090         * modules/unistd-tests: Likewise.
8091         * modules/wchar-tests: Likewise.
8092         * modules/wctype-tests: Likewise.
8093
8094         tests: fix license on several tests
8095         * tests/test-des.c: Update to GPLv3+.
8096         * tests/test-flock.c: Likewise.
8097         * tests/test-fsync.c: Likewise.
8098         * tests/test-futimens.h: Likewise.
8099         * tests/test-gc-arcfour.c: Likewise.
8100         * tests/test-gc-arctwo.c: Likewise.
8101         * tests/test-gc-des.c: Likewise.
8102         * tests/test-gc-hmac-md5.c: Likewise.
8103         * tests/test-gc-hmac-sha1.c: Likewise.
8104         * tests/test-gc-md2.c: Likewise.
8105         * tests/test-gc-md4.c: Likewise.
8106         * tests/test-gc-md5.c: Likewise.
8107         * tests/test-gc-pbkdf2-sha1.c: Likewise.
8108         * tests/test-gc-rijndael.c: Likewise.
8109         * tests/test-gc-sha1.c: Likewise.
8110         * tests/test-gc.c: Likewise.
8111         * tests/test-getcwd.c: Likewise.
8112         * tests/test-link.c: Likewise.
8113         * tests/test-link.h: Likewise.
8114         * tests/test-lutimens.h: Likewise.
8115         * tests/test-md2.c: Likewise.
8116         * tests/test-md4.c: Likewise.
8117         * tests/test-mkdir.h: Likewise.
8118         * tests/test-rename.c: Likewise.
8119         * tests/test-rename.h: Likewise.
8120         * tests/test-safe-alloc.c: Likewise.
8121         * tests/test-utimens-common.h: Likewise.
8122         * tests/test-utimens.h: Likewise.
8123
8124         maint: sync license texts
8125         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
8126         * doc/gpl-3.0.texi: Revert copyright year update.
8127         * doc/lgpl-3.0.texi: Likewise.
8128
8129 2009-12-29  Jim Meyering  <meyering@redhat.com>
8130
8131         update nearly all FSF copyright year lists to include 2009
8132         The files named by the following are exempted:
8133             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
8134               test -f "$dst" && { echo "$dst"; continue; }
8135               test -d "$dst" || continue
8136               echo "$dst"/$(basename "$src")
8137             done > exempt
8138             git ls-files tests/unictype >> exempt
8139         In the remaining files, convert to all-interval notation if
8140         - there is already at least one year interval like 2000-2003
8141         - the file is maintained by me
8142         - the file is in lib/uni*/, where that style already prevails
8143         Otherwise, use update-copyright's default.
8144
8145 2009-12-29  Simon Josefsson  <simon@josefsson.org>
8146         and Eric Blake  <ebb9@byu.net>
8147
8148         tests: don't require debug system() to pass
8149         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
8150         * tests/test-rmdir.h (test_rmdir_func): Likewise.
8151         * tests/test-unlink.h (test_unlink_func): Likewise.
8152         * tests/test-fstatat.c (main): ...into callers.
8153         * tests/test-lstat.c (main): Likewise.
8154         * tests/test-rmdir.c (main): Likewise.
8155         * tests/test-unlink.c (main): Likewise.
8156         * tests/test-unlinkat.c (main): Likewise.
8157         * tests/test-areadlink-with-size.c (main): Don't require a
8158         debug-only system call to pass, aiding cross-testing to mingw.
8159         * tests/test-areadlink.c (main): Likewise.
8160         * tests/test-areadlinkat-with-size.c (main): Likewise.
8161         * tests/test-areadlinkat.c (main): Likewise.
8162         * tests/test-canonicalize-lgpl.c (main): Likewise.
8163         * tests/test-canonicalize.c (main): Likewise.
8164         * tests/test-chown.c (main): Likewise.
8165         * tests/test-fchownat.c (main): Likewise.
8166         * tests/test-lchown.c (main): Likewise.
8167         * tests/test-fdutimensat.c (main): Likewise.
8168         * tests/test-futimens.c (main): Likewise.
8169         * tests/test-link.c (main): Likewise.
8170         * tests/test-linkat.c (main): Likewise.
8171         * tests/test-mkdir.c (main): Likewise.
8172         * tests/test-mkdirat.c (main): Likewise.
8173         * tests/test-mkfifo.c (main): Likewise.
8174         * tests/test-mkfifoat.c (main): Likewise.
8175         * tests/test-mknod.c (main): Likewise.
8176         * tests/test-readlink.c (main): Likewise.
8177         * tests/test-remove.c (main): Likewise.
8178         * tests/test-rename.c (main): Likewise.
8179         * tests/test-renameat.c (main): Likewise.
8180         * tests/test-symlink.c (main): Likewise.
8181         * tests/test-symlinkat.c (main): Likewise.
8182         * tests/test-utimens.c (main): Likewise.
8183         * tests/test-utimensat.c (main): Likewise.
8184
8185 2009-12-29  Simon Josefsson  <simon@josefsson.org>
8186
8187         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
8188         on $(UNUSED_PARAMETER_H) to avoid build failure.
8189
8190 2009-12-28  Jim Meyering  <meyering@redhat.com>
8191
8192         update-copyright: you may specify a max. line length other than 72
8193         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
8194
8195         maint: use consistent FSF copyright line syntax
8196         * lib/posixtm.c: Add missing comma in FSF copyright line.
8197         * lib/posixtm.h: Likewise.
8198         * lib/getugroups.c: Add missing ", Inc.".
8199
8200         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
8201         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
8202         FSF copyright line.  Remove trailing blanks.
8203
8204 2009-12-28  Eric Blake  <ebb9@byu.net>
8205
8206         test-dup2: reduce dependencies
8207         * modules/cloexec (Configure.ac): Set witness.
8208         * modules/dup2-tests (Depends-on): Drop cloexec.
8209         * tests/test-dup2.c (main): Skip portion of test if cloexec module
8210         not present.
8211         Suggested by Bruno Haible.
8212
8213 2009-12-26  Bruno Haible  <bruno@clisp.org>
8214
8215         Remove an unneeded dependency.
8216         * modules/fseterr (Depends-on): Remove dup2.
8217
8218 2009-12-26  Eric Blake  <ebb9@byu.net>
8219
8220         tests: use macros.h in more places
8221         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
8222         (ASSERT_STREAM): Provide default of stderr.
8223         * tests/test-dirent-safer.c: Include macros.h, using alternate
8224         stream for assertions.
8225         * tests/test-dup-safer.c: Likewise.
8226         * tests/test-freopen-safer.c: Likewise.
8227         * tests/test-getopt.c: Likewise.
8228         * tests/test-openat-safer.c: Likewise.
8229         * tests/test-pipe.c: Likewise.
8230         * tests/test-popen-safer.c: Likewise.
8231         * modules/dirent-safer-tests (Files): Include macros.h.
8232         * modules/unistd-safer-tests (Files): Likewise.
8233         * modules/freopen-safer-tests (Files): Likewise.
8234         * modules/getopt-posix-tests (Files): Likewise.
8235         * modules/openat-safer-tests (Files): Likewise.
8236         * modules/pipe-tests (Files): Likewise.
8237
8238 2009-12-26  Bruno Haible  <bruno@clisp.org>
8239
8240         javacomp: Portability fix.
8241         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
8242         that it also works on Solaris.
8243
8244 2009-12-26  Bruno Haible  <bruno@clisp.org>
8245
8246         localename: Fix storage allocation of gl_locale_name_thread's result.
8247         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
8248         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
8249         all platforms that have 'uselocale'.
8250         (gl_locale_name_thread_unsafe): New function, extracted from
8251         gl_locale_name_thread.
8252         (gl_locale_name_thread): Call struniq on all platforms that have
8253         'uselocale'.
8254         * tests/test-localename.c (test_locale_name_thread): Check that the
8255         resulting strings are permanently allocated.
8256         * modules/localename-tests (Depends-on): Add strdup.
8257
8258 2009-12-26  Bruno Haible  <bruno@clisp.org>
8259
8260         * tests/test-localename.c (categories): Fill in the strings.
8261
8262 2009-12-26  Jim Meyering  <meyering@redhat.com>
8263
8264         isdir: complete the removal of m4/isdir.m4
8265         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
8266
8267         isdir: clean up, since at least grep still uses it
8268         * lib/isdir.c: Include "isdir.h".
8269         (S_ISDIR): Remove now-unneeded definition.
8270         * modules/isdir (Files): Add lib/isdir.h.
8271         * lib/isdir.h: New file, with declaration.
8272         * m4/isdir.m4: Remove file -- unneeded.
8273
8274 2009-12-25  Bruno Haible  <bruno@clisp.org>
8275
8276         selinux-h: Make generated .h files standalone.
8277         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
8278         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
8279         * lib/se-selinux.in.h: Likewise.
8280         * modules/selinux-h (Depends-on): Add unused-parameter.
8281         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
8282         selinux/selinux.h and selinux/context.h.
8283         Suggested by Eric Blake.
8284
8285 2009-12-25  Bruno Haible  <bruno@clisp.org>
8286
8287         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
8288         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
8289         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
8290         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
8291         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
8292
8293 2009-12-24  Bruno Haible  <bruno@clisp.org>
8294
8295         openat: Fix warning.
8296         * lib/openat-proc.c: Include <unistd.h>.
8297
8298 2009-12-24  Bruno Haible  <bruno@clisp.org>
8299
8300         New module 'unused-parameter'.
8301         * build-aux/unused-parameter.h: New file, extracted from earlier
8302         gnulib-common.m4.
8303         * modules/unused-parameter: New file.
8304         * lib/unistr.h: Include unused-parameter.h.
8305         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
8306         _GL_UNUSED.
8307         * modules/unistr/base (Depends-on): Add unused-parameter.
8308
8309 2009-12-24  Bruno Haible  <bruno@clisp.org>
8310
8311         Add missing dependencies to 'extensions' module.
8312         * m4/extensions.m4: Add comment.
8313         * modules/accept4 (Depends-on): Add extensions.
8314         * modules/dup3 (Depends-on): Likewise.
8315         * modules/fcntl (Depends-on): Likewise.
8316         * modules/futimens (Depends-on): Likewise.
8317         * modules/mknod (Depends-on): Likewise.
8318         * modules/pipe2 (Depends-on): Likewise.
8319         * modules/stat-time (Depends-on): Likewise.
8320         * modules/strcasestr-simple (Depends-on): Likewise.
8321         * modules/strsignal (Depends-on): Likewise.
8322         * modules/utimensat (Depends-on): Likewise.
8323         * modules/localcharset (Depends-on): Likewise. Needed because of
8324         gl_FCNTL_O_FLAGS.
8325         * modules/wcrtomb (Depends-on): Likewise. Needed because of
8326         AC_TYPE_MBSTATE_T.
8327         * modules/wcsnrtombs (Depends-on): Likewise.
8328         * modules/wcsrtombs (Depends-on): Likewise.
8329
8330 2009-12-24  Bruno Haible  <bruno@clisp.org>
8331
8332         binary-io: Avoid gcc warning due to SET_BINARY.
8333         * lib/binary-io.h (SET_BINARY): Cast the result to void.
8334         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
8335
8336 2009-12-24  Bruno Haible  <bruno@clisp.org>
8337
8338         Avoid future namespace pollution on glibc systems.
8339         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
8340         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
8341         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
8342         glibc systems.
8343
8344 2009-12-24  Bruno Haible  <bruno@clisp.org>
8345
8346         Refactor common macros used in tests.
8347         * tests/macros.h: New file.
8348         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
8349         and/or <stdlib.h>, if appropriate.
8350         (ASSERT, SIZEOF): Remove macros.
8351         * tests/test-areadlink-with-size.c: Likewise.
8352         * tests/test-areadlinkat.c: Likewise.
8353         * tests/test-areadlinkat-with-size.c: Likewise.
8354         * tests/test-argmatch.c: Likewise.
8355         * tests/test-argv-iter.c: Likewise.
8356         * tests/test-array-mergesort.c: Likewise.
8357         * tests/test-array_list.c: Likewise.
8358         * tests/test-array_oset.c: Likewise.
8359         * tests/test-avltree_list.c: Likewise.
8360         * tests/test-avltree_oset.c: Likewise.
8361         * tests/test-avltreehash_list.c: Likewise.
8362         * tests/test-base64.c: Likewise.
8363         * tests/test-binary-io.c: Likewise.
8364         * tests/test-bitrotate.c: Likewise.
8365         * tests/test-btowc.c: Likewise.
8366         * tests/test-byteswap.c: Likewise.
8367         * tests/test-c-ctype.c: Likewise.
8368         * tests/test-c-stack.c: Likewise.
8369         * tests/test-c-strcasecmp.c: Likewise.
8370         * tests/test-c-strcasestr.c: Likewise.
8371         * tests/test-c-strncasecmp.c: Likewise.
8372         * tests/test-c-strstr.c: Likewise.
8373         * tests/test-canonicalize-lgpl.c: Likewise.
8374         * tests/test-canonicalize.c: Likewise.
8375         * tests/test-carray_list.c: Likewise.
8376         * tests/test-ceilf1.c: Likewise.
8377         * tests/test-ceilf2.c: Likewise.
8378         * tests/test-ceill.c: Likewise.
8379         * tests/test-chown.c: Likewise.
8380         * tests/test-cloexec.c: Likewise.
8381         * tests/test-copy-acl.c: Likewise.
8382         * tests/test-copy-file.c: Likewise.
8383         * tests/test-count-one-bits.c: Likewise.
8384         * tests/test-dprintf-posix.c: Likewise.
8385         * tests/test-dup2.c: Likewise.
8386         * tests/test-dup3.c: Likewise.
8387         * tests/test-duplocale.c: Likewise.
8388         * tests/test-fbufmode.c: Likewise.
8389         * tests/test-fchdir.c: Likewise.
8390         * tests/test-fchownat.c: Likewise.
8391         * tests/test-fcntl-safer.c: Likewise.
8392         * tests/test-fcntl.c: Likewise.
8393         * tests/test-fdopendir.c: Likewise.
8394         * tests/test-fdutimensat.c: Likewise.
8395         * tests/test-fflush2.c: Likewise.
8396         * tests/test-file-has-acl.c: Likewise.
8397         * tests/test-filevercmp.c: Likewise.
8398         * tests/test-flock.c: Likewise.
8399         * tests/test-floorf1.c: Likewise.
8400         * tests/test-floorf2.c: Likewise.
8401         * tests/test-floorl.c: Likewise.
8402         * tests/test-fnmatch.c: Likewise.
8403         * tests/test-fopen.h: Likewise.
8404         * tests/test-fpending.c: Likewise.
8405         * tests/test-fprintf-posix.c: Likewise.
8406         * tests/test-fpurge.c: Likewise.
8407         * tests/test-freadable.c: Likewise.
8408         * tests/test-freadahead.c: Likewise.
8409         * tests/test-freading.c: Likewise.
8410         * tests/test-freadptr.c: Likewise.
8411         * tests/test-freadptr2.c: Likewise.
8412         * tests/test-freadseek.c: Likewise.
8413         * tests/test-freopen.c: Likewise.
8414         * tests/test-frexp.c: Likewise.
8415         * tests/test-frexpl.c: Likewise.
8416         * tests/test-fseek.c: Likewise.
8417         * tests/test-fseeko.c: Likewise.
8418         * tests/test-fstatat.c: Likewise.
8419         * tests/test-fstrcmp.c: Likewise.
8420         * tests/test-fsync.c: Likewise.
8421         * tests/test-ftell.c: Likewise.
8422         * tests/test-ftello.c: Likewise.
8423         * tests/test-func.c: Likewise.
8424         * tests/test-futimens.c: Likewise.
8425         * tests/test-fwritable.c: Likewise.
8426         * tests/test-fwriting.c: Likewise.
8427         * tests/test-getcwd.c: Likewise.
8428         * tests/test-getdate.c: Likewise.
8429         * tests/test-getdelim.c: Likewise.
8430         * tests/test-getdtablesize.c: Likewise.
8431         * tests/test-getgroups.c: Likewise.
8432         * tests/test-getline.c: Likewise.
8433         * tests/test-getndelim2.c: Likewise.
8434         * tests/test-glob.c: Likewise.
8435         * tests/test-hash.c: Likewise.
8436         * tests/test-i-ring.c: Likewise.
8437         * tests/test-iconv-utf.c: Likewise.
8438         * tests/test-iconv.c: Likewise.
8439         * tests/test-idpriv-drop.c: Likewise.
8440         * tests/test-idpriv-droptemp.c: Likewise.
8441         * tests/test-inet_ntop.c: Likewise.
8442         * tests/test-inet_pton.c: Likewise.
8443         * tests/test-isblank.c: Likewise.
8444         * tests/test-isfinite.c: Likewise.
8445         * tests/test-isinf.c: Likewise.
8446         * tests/test-isnan.c: Likewise.
8447         * tests/test-isnand.h: Likewise.
8448         * tests/test-isnanf.h: Likewise.
8449         * tests/test-isnanl.h: Likewise.
8450         * tests/test-lchown.c: Likewise.
8451         * tests/test-ldexpl.c: Likewise.
8452         * tests/test-link.c: Likewise.
8453         * tests/test-linkat.c: Likewise.
8454         * tests/test-linked_list.c: Likewise.
8455         * tests/test-linkedhash_list.c: Likewise.
8456         * tests/test-localename.c: Likewise.
8457         * tests/test-lseek.c: Likewise.
8458         * tests/test-lstat.c: Likewise.
8459         * tests/test-mbmemcasecmp.c: Likewise.
8460         * tests/test-mbmemcasecoll.c: Likewise.
8461         * tests/test-mbrtowc.c: Likewise.
8462         * tests/test-mbscasecmp.c: Likewise.
8463         * tests/test-mbscasestr1.c: Likewise.
8464         * tests/test-mbscasestr2.c: Likewise.
8465         * tests/test-mbscasestr3.c: Likewise.
8466         * tests/test-mbscasestr4.c: Likewise.
8467         * tests/test-mbschr.c: Likewise.
8468         * tests/test-mbscspn.c: Likewise.
8469         * tests/test-mbsinit.c: Likewise.
8470         * tests/test-mbsncasecmp.c: Likewise.
8471         * tests/test-mbsnrtowcs.c: Likewise.
8472         * tests/test-mbspbrk.c: Likewise.
8473         * tests/test-mbspcasecmp.c: Likewise.
8474         * tests/test-mbsrchr.c: Likewise.
8475         * tests/test-mbsrtowcs.c: Likewise.
8476         * tests/test-mbsspn.c: Likewise.
8477         * tests/test-mbsstr1.c: Likewise.
8478         * tests/test-mbsstr2.c: Likewise.
8479         * tests/test-mbsstr3.c: Likewise.
8480         * tests/test-memchr.c: Likewise.
8481         * tests/test-memchr2.c: Likewise.
8482         * tests/test-memcmp.c: Likewise.
8483         * tests/test-memmem.c: Likewise.
8484         * tests/test-memrchr.c: Likewise.
8485         * tests/test-mkdir.c: Likewise.
8486         * tests/test-mkdirat.c: Likewise.
8487         * tests/test-mkfifo.c: Likewise.
8488         * tests/test-mkfifoat.c: Likewise.
8489         * tests/test-mknod.c: Likewise.
8490         * tests/test-nanosleep.c: Likewise.
8491         * tests/test-nl_langinfo.c: Likewise.
8492         * tests/test-obstack-printf.c: Likewise.
8493         * tests/test-open.c: Likewise.
8494         * tests/test-openat.c: Likewise.
8495         * tests/test-pipe-filter-gi1.c: Likewise.
8496         * tests/test-pipe-filter-gi2-main.c: Likewise.
8497         * tests/test-pipe-filter-ii1.c: Likewise.
8498         * tests/test-pipe-filter-ii2-main.c: Likewise.
8499         * tests/test-pipe2.c: Likewise.
8500         * tests/test-popen.h: Likewise.
8501         * tests/test-posixtm.c: Likewise.
8502         * tests/test-pread.c: Likewise.
8503         * tests/test-printf-frexp.c: Likewise.
8504         * tests/test-printf-frexpl.c: Likewise.
8505         * tests/test-printf-posix.c: Likewise.
8506         * tests/test-priv-set.c: Likewise.
8507         * tests/test-quotearg.c: Likewise.
8508         * tests/test-random_r.c: Likewise.
8509         * tests/test-rawmemchr.c: Likewise.
8510         * tests/test-rbtree_list.c: Likewise.
8511         * tests/test-rbtree_oset.c: Likewise.
8512         * tests/test-rbtreehash_list.c: Likewise.
8513         * tests/test-readlink.c: Likewise.
8514         * tests/test-remove.c: Likewise.
8515         * tests/test-rename.c: Likewise.
8516         * tests/test-renameat.c: Likewise.
8517         * tests/test-rmdir.c: Likewise.
8518         * tests/test-round1.c: Likewise.
8519         * tests/test-roundf1.c: Likewise.
8520         * tests/test-roundl.c: Likewise.
8521         * tests/test-safe-alloc.c: Likewise.
8522         * tests/test-sameacls.c: Likewise.
8523         * tests/test-set-mode-acl.c: Likewise.
8524         * tests/test-setenv.c: Likewise.
8525         * tests/test-sigaction.c: Likewise.
8526         * tests/test-signbit.c: Likewise.
8527         * tests/test-sleep.c: Likewise.
8528         * tests/test-snprintf-posix.c: Likewise.
8529         * tests/test-snprintf.c: Likewise.
8530         * tests/test-sprintf-posix.c: Likewise.
8531         * tests/test-stat-time.c: Likewise.
8532         * tests/test-stat.c: Likewise.
8533         * tests/test-strcasestr.c: Likewise.
8534         * tests/test-strchrnul.c: Likewise.
8535         * tests/test-strerror.c: Likewise.
8536         * tests/test-striconv.c: Likewise.
8537         * tests/test-striconveh.c: Likewise.
8538         * tests/test-striconveha.c: Likewise.
8539         * tests/test-strsignal.c: Likewise.
8540         * tests/test-strstr.c: Likewise.
8541         * tests/test-strtod.c: Likewise.
8542         * tests/test-strverscmp.c: Likewise.
8543         * tests/test-symlink.c: Likewise.
8544         * tests/test-symlinkat.c: Likewise.
8545         * tests/test-trunc1.c: Likewise.
8546         * tests/test-trunc2.c: Likewise.
8547         * tests/test-truncf1.c: Likewise.
8548         * tests/test-truncf2.c: Likewise.
8549         * tests/test-truncl.c: Likewise.
8550         * tests/test-uname.c: Likewise.
8551         * tests/test-unlink.c: Likewise.
8552         * tests/test-unlinkat.c: Likewise.
8553         * tests/test-unsetenv.c: Likewise.
8554         * tests/test-usleep.c: Likewise.
8555         * tests/test-utimens.c: Likewise.
8556         * tests/test-utimensat.c: Likewise.
8557         * tests/test-vasnprintf-posix.c: Likewise.
8558         * tests/test-vasnprintf-posix2.c: Likewise.
8559         * tests/test-vasnprintf.c: Likewise.
8560         * tests/test-vasprintf-posix.c: Likewise.
8561         * tests/test-vasprintf.c: Likewise.
8562         * tests/test-vdprintf-posix.c: Likewise.
8563         * tests/test-vfprintf-posix.c: Likewise.
8564         * tests/test-vprintf-posix.c: Likewise.
8565         * tests/test-vsnprintf-posix.c: Likewise.
8566         * tests/test-vsnprintf.c: Likewise.
8567         * tests/test-vsprintf-posix.c: Likewise.
8568         * tests/test-wcrtomb.c: Likewise.
8569         * tests/test-wcsnrtombs.c: Likewise.
8570         * tests/test-wcsrtombs.c: Likewise.
8571         * tests/test-wctype.c: Likewise.
8572         * tests/test-wcwidth.c: Likewise.
8573         * tests/test-xfprintf-posix.c: Likewise.
8574         * tests/test-xmemdup0.c: Likewise.
8575         * tests/test-xprintf-posix.c: Likewise.
8576         * tests/test-xvasprintf.c: Likewise.
8577         * tests/unicase/test-locale-language.c: Likewise.
8578         * tests/unicase/test-mapping-part1.h: Likewise.
8579         * tests/unicase/test-predicate-part1.h: Likewise.
8580         * tests/unicase/test-u8-casecmp.c: Likewise.
8581         * tests/unicase/test-u8-casecoll.c: Likewise.
8582         * tests/unicase/test-u8-casefold.c: Likewise.
8583         * tests/unicase/test-u8-is-cased.c: Likewise.
8584         * tests/unicase/test-u8-is-casefolded.c: Likewise.
8585         * tests/unicase/test-u8-is-lowercase.c: Likewise.
8586         * tests/unicase/test-u8-is-titlecase.c: Likewise.
8587         * tests/unicase/test-u8-is-uppercase.c: Likewise.
8588         * tests/unicase/test-u8-tolower.c: Likewise.
8589         * tests/unicase/test-u8-totitle.c: Likewise.
8590         * tests/unicase/test-u8-toupper.c: Likewise.
8591         * tests/unicase/test-u16-casecmp.c: Likewise.
8592         * tests/unicase/test-u16-casecoll.c: Likewise.
8593         * tests/unicase/test-u16-casefold.c: Likewise.
8594         * tests/unicase/test-u16-is-cased.c: Likewise.
8595         * tests/unicase/test-u16-is-casefolded.c: Likewise.
8596         * tests/unicase/test-u16-is-lowercase.c: Likewise.
8597         * tests/unicase/test-u16-is-titlecase.c: Likewise.
8598         * tests/unicase/test-u16-is-uppercase.c: Likewise.
8599         * tests/unicase/test-u16-tolower.c: Likewise.
8600         * tests/unicase/test-u16-totitle.c: Likewise.
8601         * tests/unicase/test-u16-toupper.c: Likewise.
8602         * tests/unicase/test-u32-casecmp.c: Likewise.
8603         * tests/unicase/test-u32-casecoll.c: Likewise.
8604         * tests/unicase/test-u32-casefold.c: Likewise.
8605         * tests/unicase/test-u32-is-cased.c: Likewise.
8606         * tests/unicase/test-u32-is-casefolded.c: Likewise.
8607         * tests/unicase/test-u32-is-lowercase.c: Likewise.
8608         * tests/unicase/test-u32-is-titlecase.c: Likewise.
8609         * tests/unicase/test-u32-is-uppercase.c: Likewise.
8610         * tests/unicase/test-u32-tolower.c: Likewise.
8611         * tests/unicase/test-u32-totitle.c: Likewise.
8612         * tests/unicase/test-u32-toupper.c: Likewise.
8613         * tests/unicase/test-ulc-casecmp.c: Likewise.
8614         * tests/unicase/test-ulc-casecoll.c: Likewise.
8615         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
8616         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
8617         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
8618         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
8619         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
8620         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
8621         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
8622         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
8623         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
8624         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
8625         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
8626         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
8627         * tests/unictype/test-bidi_byname.c: Likewise.
8628         * tests/unictype/test-bidi_name.c: Likewise.
8629         * tests/unictype/test-bidi_of.c: Likewise.
8630         * tests/unictype/test-bidi_test.c: Likewise.
8631         * tests/unictype/test-block_list.c: Likewise.
8632         * tests/unictype/test-block_of.c: Likewise.
8633         * tests/unictype/test-block_test.c: Likewise.
8634         * tests/unictype/test-categ_and.c: Likewise.
8635         * tests/unictype/test-categ_and_not.c: Likewise.
8636         * tests/unictype/test-categ_byname.c: Likewise.
8637         * tests/unictype/test-categ_name.c: Likewise.
8638         * tests/unictype/test-categ_none.c: Likewise.
8639         * tests/unictype/test-categ_of.c: Likewise.
8640         * tests/unictype/test-categ_or.c: Likewise.
8641         * tests/unictype/test-categ_test_withtable.c: Likewise.
8642         * tests/unictype/test-combining.c: Likewise.
8643         * tests/unictype/test-decdigit.c: Likewise.
8644         * tests/unictype/test-digit.c: Likewise.
8645         * tests/unictype/test-mirror.c: Likewise.
8646         * tests/unictype/test-numeric.c: Likewise.
8647         * tests/unictype/test-pr_byname.c: Likewise.
8648         * tests/unictype/test-pr_test.c: Likewise.
8649         * tests/unictype/test-predicate-part1.h: Likewise.
8650         * tests/unictype/test-scripts.c: Likewise.
8651         * tests/unictype/test-sy_c_ident.c: Likewise.
8652         * tests/unictype/test-sy_java_ident.c: Likewise.
8653         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
8654         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
8655         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
8656         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
8657         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
8658         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
8659         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
8660         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
8661         * tests/uninorm/test-canonical-decomposition.c: Likewise.
8662         * tests/uninorm/test-compat-decomposition.c: Likewise.
8663         * tests/uninorm/test-composition.c: Likewise.
8664         * tests/uninorm/test-decomposing-form.c: Likewise.
8665         * tests/uninorm/test-decomposition.c: Likewise.
8666         * tests/uninorm/test-u8-nfc.c: Likewise.
8667         * tests/uninorm/test-u8-nfd.c: Likewise.
8668         * tests/uninorm/test-u8-nfkc.c: Likewise.
8669         * tests/uninorm/test-u8-nfkd.c: Likewise.
8670         * tests/uninorm/test-u8-normcmp.c: Likewise.
8671         * tests/uninorm/test-u8-normcoll.c: Likewise.
8672         * tests/uninorm/test-u16-nfc.c: Likewise.
8673         * tests/uninorm/test-u16-nfd.c: Likewise.
8674         * tests/uninorm/test-u16-nfkc.c: Likewise.
8675         * tests/uninorm/test-u16-nfkd.c: Likewise.
8676         * tests/uninorm/test-u16-normcmp.c: Likewise.
8677         * tests/uninorm/test-u16-normcoll.c: Likewise.
8678         * tests/uninorm/test-u32-nfc.c: Likewise.
8679         * tests/uninorm/test-u32-nfd.c: Likewise.
8680         * tests/uninorm/test-u32-nfkc.c: Likewise.
8681         * tests/uninorm/test-u32-nfkd.c: Likewise.
8682         * tests/uninorm/test-u32-normalize-big.c: Likewise.
8683         * tests/uninorm/test-u32-normcmp.c: Likewise.
8684         * tests/uninorm/test-u32-normcoll.c: Likewise.
8685         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
8686         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
8687         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
8688         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
8689         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
8690         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
8691         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
8692         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
8693         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
8694         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
8695         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
8696         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
8697         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
8698         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
8699         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
8700         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
8701         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
8702         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
8703         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
8704         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
8705         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
8706         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
8707         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
8708         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
8709         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
8710         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
8711         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
8712         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
8713         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
8714         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
8715         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
8716         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
8717         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
8718         * tests/uniwidth/test-u8-strwidth.c: Likewise.
8719         * tests/uniwidth/test-u8-width.c: Likewise.
8720         * tests/uniwidth/test-u16-strwidth.c: Likewise.
8721         * tests/uniwidth/test-u16-width.c: Likewise.
8722         * tests/uniwidth/test-u32-strwidth.c: Likewise.
8723         * tests/uniwidth/test-u32-width.c: Likewise.
8724         * tests/uniwidth/test-uc_width.c: Likewise.
8725         * tests/uniwidth/test-uc_width2.c: Likewise.
8726         * modules/acl-tests (Files): Add tests/macros.h.
8727         * modules/areadlink-tests (Files): Likewise.
8728         * modules/areadlink-with-size-tests (Files): Likewise.
8729         * modules/areadlinkat-tests (Files): Likewise.
8730         * modules/areadlinkat-with-size-tests (Files): Likewise.
8731         * modules/argmatch-tests (Files): Likewise.
8732         * modules/argv-iter-tests (Files): Likewise.
8733         * modules/array-list-tests (Files): Likewise.
8734         * modules/array-mergesort-tests (Files): Likewise.
8735         * modules/array-oset-tests (Files): Likewise.
8736         * modules/avltree-list-tests (Files): Likewise.
8737         * modules/avltree-oset-tests (Files): Likewise.
8738         * modules/avltreehash-list-tests (Files): Likewise.
8739         * modules/base64-tests (Files): Likewise.
8740         * modules/binary-io-tests (Files): Likewise.
8741         * modules/bitrotate-tests (Files): Likewise.
8742         * modules/btowc-tests (Files): Likewise.
8743         * modules/byteswap-tests (Files): Likewise.
8744         * modules/c-ctype-tests (Files): Likewise.
8745         * modules/c-stack-tests (Files): Likewise.
8746         * modules/c-strcase-tests (Files): Likewise.
8747         * modules/c-strcasestr-tests (Files): Likewise.
8748         * modules/c-strstr-tests (Files): Likewise.
8749         * modules/canonicalize-lgpl-tests (Files): Likewise.
8750         * modules/canonicalize-tests (Files): Likewise.
8751         * modules/carray-list-tests (Files): Likewise.
8752         * modules/ceilf-tests (Files): Likewise.
8753         * modules/ceill-tests (Files): Likewise.
8754         * modules/chown-tests (Files): Likewise.
8755         * modules/cloexec-tests (Files): Likewise.
8756         * modules/copy-file-tests (Files): Likewise.
8757         * modules/count-one-bits-tests (Files): Likewise.
8758         * modules/dprintf-posix-tests (Files): Likewise.
8759         * modules/dup2-tests (Files): Likewise.
8760         * modules/dup3-tests (Files): Likewise.
8761         * modules/duplocale-tests (Files): Likewise.
8762         * modules/fbufmode-tests (Files): Likewise.
8763         * modules/fchdir-tests (Files): Likewise.
8764         * modules/fcntl-safer-tests (Files): Likewise.
8765         * modules/fcntl-tests (Files): Likewise.
8766         * modules/fdopendir-tests (Files): Likewise.
8767         * modules/fdutimensat-tests (Files): Likewise.
8768         * modules/fflush-tests (Files): Likewise.
8769         * modules/filevercmp-tests (Files): Likewise.
8770         * modules/flock-tests (Files): Likewise.
8771         * modules/floorf-tests (Files): Likewise.
8772         * modules/floorl-tests (Files): Likewise.
8773         * modules/fnmatch-tests (Files): Likewise.
8774         * modules/fopen-safer-tests (Files): Likewise.
8775         * modules/fopen-tests (Files): Likewise.
8776         * modules/fpending-tests (Files): Likewise.
8777         * modules/fprintf-posix-tests (Files): Likewise.
8778         * modules/fpurge-tests (Files): Likewise.
8779         * modules/freadable-tests (Files): Likewise.
8780         * modules/freadahead-tests (Files): Likewise.
8781         * modules/freading-tests (Files): Likewise.
8782         * modules/freadptr-tests (Files): Likewise.
8783         * modules/freadseek-tests (Files): Likewise.
8784         * modules/freopen-tests (Files): Likewise.
8785         * modules/frexp-nolibm-tests (Files): Likewise.
8786         * modules/frexp-tests (Files): Likewise.
8787         * modules/frexpl-nolibm-tests (Files): Likewise.
8788         * modules/frexpl-tests (Files): Likewise.
8789         * modules/fseek-tests (Files): Likewise.
8790         * modules/fseeko-tests (Files): Likewise.
8791         * modules/fstrcmp-tests (Files): Likewise.
8792         * modules/fsync-tests (Files): Likewise.
8793         * modules/ftell-tests (Files): Likewise.
8794         * modules/ftello-tests (Files): Likewise.
8795         * modules/func-tests (Files): Likewise.
8796         * modules/futimens-tests (Files): Likewise.
8797         * modules/fwritable-tests (Files): Likewise.
8798         * modules/fwriting-tests (Files): Likewise.
8799         * modules/getcwd-tests (Files): Likewise.
8800         * modules/getdate-tests (Files): Likewise.
8801         * modules/getdelim-tests (Files): Likewise.
8802         * modules/getdtablesize-tests (Files): Likewise.
8803         * modules/getgroups-tests (Files): Likewise.
8804         * modules/getline-tests (Files): Likewise.
8805         * modules/getndelim2-tests (Files): Likewise.
8806         * modules/glob-tests (Files): Likewise.
8807         * modules/hash-tests (Files): Likewise.
8808         * modules/i-ring-tests (Files): Likewise.
8809         * modules/iconv-tests (Files): Likewise.
8810         * modules/iconv_open-utf-tests (Files): Likewise.
8811         * modules/idpriv-drop-tests (Files): Likewise.
8812         * modules/idpriv-droptemp-tests (Files): Likewise.
8813         * modules/inet_ntop-tests (Files): Likewise.
8814         * modules/inet_pton-tests (Files): Likewise.
8815         * modules/isblank-tests (Files): Likewise.
8816         * modules/isfinite-tests (Files): Likewise.
8817         * modules/isinf-tests (Files): Likewise.
8818         * modules/isnan-tests (Files): Likewise.
8819         * modules/isnand-nolibm-tests (Files): Likewise.
8820         * modules/isnand-tests (Files): Likewise.
8821         * modules/isnanf-nolibm-tests (Files): Likewise.
8822         * modules/isnanf-tests (Files): Likewise.
8823         * modules/isnanl-nolibm-tests (Files): Likewise.
8824         * modules/isnanl-tests (Files): Likewise.
8825         * modules/lchown-tests (Files): Likewise.
8826         * modules/ldexpl-tests (Files): Likewise.
8827         * modules/link-tests (Files): Likewise.
8828         * modules/linkat-tests (Files): Likewise.
8829         * modules/linked-list-tests (Files): Likewise.
8830         * modules/linkedhash-list-tests (Files): Likewise.
8831         * modules/localename-tests (Files): Likewise.
8832         * modules/lseek-tests (Files): Likewise.
8833         * modules/lstat-tests (Files): Likewise.
8834         * modules/mbmemcasecmp-tests (Files): Likewise.
8835         * modules/mbmemcasecoll-tests (Files): Likewise.
8836         * modules/mbrtowc-tests (Files): Likewise.
8837         * modules/mbscasecmp-tests (Files): Likewise.
8838         * modules/mbscasestr-tests (Files): Likewise.
8839         * modules/mbschr-tests (Files): Likewise.
8840         * modules/mbscspn-tests (Files): Likewise.
8841         * modules/mbsinit-tests (Files): Likewise.
8842         * modules/mbsncasecmp-tests (Files): Likewise.
8843         * modules/mbsnrtowcs-tests (Files): Likewise.
8844         * modules/mbspbrk-tests (Files): Likewise.
8845         * modules/mbspcasecmp-tests (Files): Likewise.
8846         * modules/mbsrchr-tests (Files): Likewise.
8847         * modules/mbsrtowcs-tests (Files): Likewise.
8848         * modules/mbsspn-tests (Files): Likewise.
8849         * modules/mbsstr-tests (Files): Likewise.
8850         * modules/memchr-tests (Files): Likewise.
8851         * modules/memchr2-tests (Files): Likewise.
8852         * modules/memcmp-tests (Files): Likewise.
8853         * modules/memmem-tests (Files): Likewise.
8854         * modules/memrchr-tests (Files): Likewise.
8855         * modules/mkdir-tests (Files): Likewise.
8856         * modules/mkfifo-tests (Files): Likewise.
8857         * modules/mkfifoat-tests (Files): Likewise.
8858         * modules/mknod-tests (Files): Likewise.
8859         * modules/nanosleep-tests (Files): Likewise.
8860         * modules/nl_langinfo-tests (Files): Likewise.
8861         * modules/obstack-printf-tests (Files): Likewise.
8862         * modules/open-tests (Files): Likewise.
8863         * modules/openat-tests (Files): Likewise.
8864         * modules/pipe-filter-gi-tests (Files): Likewise.
8865         * modules/pipe-filter-ii-tests (Files): Likewise.
8866         * modules/pipe2-tests (Files): Likewise.
8867         * modules/popen-safer-tests (Files): Likewise.
8868         * modules/popen-tests (Files): Likewise.
8869         * modules/posixtm-tests (Files): Likewise.
8870         * modules/pread-tests (Files): Likewise.
8871         * modules/printf-frexp-tests (Files): Likewise.
8872         * modules/printf-frexpl-tests (Files): Likewise.
8873         * modules/printf-posix-tests (Files): Likewise.
8874         * modules/priv-set-tests (Files): Likewise.
8875         * modules/quotearg-tests (Files): Likewise.
8876         * modules/random_r-tests (Files): Likewise.
8877         * modules/rawmemchr-tests (Files): Likewise.
8878         * modules/rbtree-list-tests (Files): Likewise.
8879         * modules/rbtree-oset-tests (Files): Likewise.
8880         * modules/rbtreehash-list-tests (Files): Likewise.
8881         * modules/readlink-tests (Files): Likewise.
8882         * modules/remove-tests (Files): Likewise.
8883         * modules/rename-tests (Files): Likewise.
8884         * modules/renameat-tests (Files): Likewise.
8885         * modules/rmdir-tests (Files): Likewise.
8886         * modules/round-tests (Files): Likewise.
8887         * modules/roundf-tests (Files): Likewise.
8888         * modules/roundl-tests (Files): Likewise.
8889         * modules/safe-alloc-tests (Files): Likewise.
8890         * modules/setenv-tests (Files): Likewise.
8891         * modules/sigaction-tests (Files): Likewise.
8892         * modules/signbit-tests (Files): Likewise.
8893         * modules/sleep-tests (Files): Likewise.
8894         * modules/snprintf-posix-tests (Files): Likewise.
8895         * modules/snprintf-tests (Files): Likewise.
8896         * modules/sprintf-posix-tests (Files): Likewise.
8897         * modules/stat-tests (Files): Likewise.
8898         * modules/stat-time-tests (Files): Likewise.
8899         * modules/strcasestr-tests (Files): Likewise.
8900         * modules/strchrnul-tests (Files): Likewise.
8901         * modules/strerror-tests (Files): Likewise.
8902         * modules/striconv-tests (Files): Likewise.
8903         * modules/striconveh-tests (Files): Likewise.
8904         * modules/striconveha-tests (Files): Likewise.
8905         * modules/strsignal-tests (Files): Likewise.
8906         * modules/strstr-tests (Files): Likewise.
8907         * modules/strtod-tests (Files): Likewise.
8908         * modules/strverscmp-tests (Files): Likewise.
8909         * modules/symlink-tests (Files): Likewise.
8910         * modules/symlinkat-tests (Files): Likewise.
8911         * modules/trunc-tests (Files): Likewise.
8912         * modules/truncf-tests (Files): Likewise.
8913         * modules/truncl-tests (Files): Likewise.
8914         * modules/uname-tests (Files): Likewise.
8915         * modules/unicase/cased-tests (Files): Likewise.
8916         * modules/unicase/ignorable-tests (Files): Likewise.
8917         * modules/unicase/locale-language-tests (Files): Likewise.
8918         * modules/unicase/tolower-tests (Files): Likewise.
8919         * modules/unicase/totitle-tests (Files): Likewise.
8920         * modules/unicase/toupper-tests (Files): Likewise.
8921         * modules/unicase/u8-casecmp-tests (Files): Likewise.
8922         * modules/unicase/u8-casecoll-tests (Files): Likewise.
8923         * modules/unicase/u8-casefold-tests (Files): Likewise.
8924         * modules/unicase/u8-is-cased-tests (Files): Likewise.
8925         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
8926         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
8927         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
8928         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
8929         * modules/unicase/u8-tolower-tests (Files): Likewise.
8930         * modules/unicase/u8-totitle-tests (Files): Likewise.
8931         * modules/unicase/u8-toupper-tests (Files): Likewise.
8932         * modules/unicase/u16-casecmp-tests (Files): Likewise.
8933         * modules/unicase/u16-casecoll-tests (Files): Likewise.
8934         * modules/unicase/u16-casefold-tests (Files): Likewise.
8935         * modules/unicase/u16-is-cased-tests (Files): Likewise.
8936         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
8937         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
8938         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
8939         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
8940         * modules/unicase/u16-tolower-tests (Files): Likewise.
8941         * modules/unicase/u16-totitle-tests (Files): Likewise.
8942         * modules/unicase/u16-toupper-tests (Files): Likewise.
8943         * modules/unicase/u32-casecmp-tests (Files): Likewise.
8944         * modules/unicase/u32-casecoll-tests (Files): Likewise.
8945         * modules/unicase/u32-casefold-tests (Files): Likewise.
8946         * modules/unicase/u32-is-cased-tests (Files): Likewise.
8947         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
8948         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
8949         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
8950         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
8951         * modules/unicase/u32-tolower-tests (Files): Likewise.
8952         * modules/unicase/u32-totitle-tests (Files): Likewise.
8953         * modules/unicase/u32-toupper-tests (Files): Likewise.
8954         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
8955         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
8956         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
8957         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
8958         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
8959         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
8960         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
8961         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
8962         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
8963         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
8964         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
8965         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
8966         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
8967         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
8968         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
8969         * modules/unictype/bidicategory-name-tests (Files): Likewise.
8970         * modules/unictype/bidicategory-of-tests (Files): Likewise.
8971         * modules/unictype/bidicategory-test-tests (Files): Likewise.
8972         * modules/unictype/block-list-tests (Files): Likewise.
8973         * modules/unictype/block-of-tests (Files): Likewise.
8974         * modules/unictype/block-test-tests (Files): Likewise.
8975         * modules/unictype/category-C-tests (Files): Likewise.
8976         * modules/unictype/category-Cc-tests (Files): Likewise.
8977         * modules/unictype/category-Cf-tests (Files): Likewise.
8978         * modules/unictype/category-Cn-tests (Files): Likewise.
8979         * modules/unictype/category-Co-tests (Files): Likewise.
8980         * modules/unictype/category-Cs-tests (Files): Likewise.
8981         * modules/unictype/category-L-tests (Files): Likewise.
8982         * modules/unictype/category-Ll-tests (Files): Likewise.
8983         * modules/unictype/category-Lm-tests (Files): Likewise.
8984         * modules/unictype/category-Lo-tests (Files): Likewise.
8985         * modules/unictype/category-Lt-tests (Files): Likewise.
8986         * modules/unictype/category-Lu-tests (Files): Likewise.
8987         * modules/unictype/category-M-tests (Files): Likewise.
8988         * modules/unictype/category-Mc-tests (Files): Likewise.
8989         * modules/unictype/category-Me-tests (Files): Likewise.
8990         * modules/unictype/category-Mn-tests (Files): Likewise.
8991         * modules/unictype/category-N-tests (Files): Likewise.
8992         * modules/unictype/category-Nd-tests (Files): Likewise.
8993         * modules/unictype/category-Nl-tests (Files): Likewise.
8994         * modules/unictype/category-No-tests (Files): Likewise.
8995         * modules/unictype/category-P-tests (Files): Likewise.
8996         * modules/unictype/category-Pc-tests (Files): Likewise.
8997         * modules/unictype/category-Pd-tests (Files): Likewise.
8998         * modules/unictype/category-Pe-tests (Files): Likewise.
8999         * modules/unictype/category-Pf-tests (Files): Likewise.
9000         * modules/unictype/category-Pi-tests (Files): Likewise.
9001         * modules/unictype/category-Po-tests (Files): Likewise.
9002         * modules/unictype/category-Ps-tests (Files): Likewise.
9003         * modules/unictype/category-S-tests (Files): Likewise.
9004         * modules/unictype/category-Sc-tests (Files): Likewise.
9005         * modules/unictype/category-Sk-tests (Files): Likewise.
9006         * modules/unictype/category-Sm-tests (Files): Likewise.
9007         * modules/unictype/category-So-tests (Files): Likewise.
9008         * modules/unictype/category-Z-tests (Files): Likewise.
9009         * modules/unictype/category-Zl-tests (Files): Likewise.
9010         * modules/unictype/category-Zp-tests (Files): Likewise.
9011         * modules/unictype/category-Zs-tests (Files): Likewise.
9012         * modules/unictype/category-and-not-tests (Files): Likewise.
9013         * modules/unictype/category-and-tests (Files): Likewise.
9014         * modules/unictype/category-byname-tests (Files): Likewise.
9015         * modules/unictype/category-name-tests (Files): Likewise.
9016         * modules/unictype/category-none-tests (Files): Likewise.
9017         * modules/unictype/category-of-tests (Files): Likewise.
9018         * modules/unictype/category-or-tests (Files): Likewise.
9019         * modules/unictype/category-test-withtable-tests (Files): Likewise.
9020         * modules/unictype/combining-class-tests (Files): Likewise.
9021         * modules/unictype/ctype-alnum-tests (Files): Likewise.
9022         * modules/unictype/ctype-alpha-tests (Files): Likewise.
9023         * modules/unictype/ctype-blank-tests (Files): Likewise.
9024         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
9025         * modules/unictype/ctype-digit-tests (Files): Likewise.
9026         * modules/unictype/ctype-graph-tests (Files): Likewise.
9027         * modules/unictype/ctype-lower-tests (Files): Likewise.
9028         * modules/unictype/ctype-print-tests (Files): Likewise.
9029         * modules/unictype/ctype-punct-tests (Files): Likewise.
9030         * modules/unictype/ctype-space-tests (Files): Likewise.
9031         * modules/unictype/ctype-upper-tests (Files): Likewise.
9032         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
9033         * modules/unictype/decimal-digit-tests (Files): Likewise.
9034         * modules/unictype/digit-tests (Files): Likewise.
9035         * modules/unictype/mirror-tests (Files): Likewise.
9036         * modules/unictype/numeric-tests (Files): Likewise.
9037         * modules/unictype/property-alphabetic-tests (Files): Likewise.
9038         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
9039         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
9040         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
9041         Likewise.
9042         * modules/unictype/property-bidi-block-separator-tests (Files):
9043         Likewise.
9044         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
9045         Likewise.
9046         * modules/unictype/property-bidi-common-separator-tests (Files):
9047         Likewise.
9048         * modules/unictype/property-bidi-control-tests (Files): Likewise.
9049         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
9050         Likewise.
9051         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
9052         Likewise.
9053         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
9054         Likewise.
9055         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
9056         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
9057         Likewise.
9058         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
9059         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
9060         Likewise.
9061         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
9062         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
9063         * modules/unictype/property-bidi-segment-separator-tests (Files):
9064         Likewise.
9065         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
9066         * modules/unictype/property-byname-tests (Files): Likewise.
9067         * modules/unictype/property-combining-tests (Files): Likewise.
9068         * modules/unictype/property-composite-tests (Files): Likewise.
9069         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
9070         * modules/unictype/property-dash-tests (Files): Likewise.
9071         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
9072         * modules/unictype/property-default-ignorable-code-point-tests (Files):
9073         Likewise.
9074         * modules/unictype/property-deprecated-tests (Files): Likewise.
9075         * modules/unictype/property-diacritic-tests (Files): Likewise.
9076         * modules/unictype/property-extender-tests (Files): Likewise.
9077         * modules/unictype/property-format-control-tests (Files): Likewise.
9078         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
9079         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
9080         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
9081         * modules/unictype/property-hex-digit-tests (Files): Likewise.
9082         * modules/unictype/property-hyphen-tests (Files): Likewise.
9083         * modules/unictype/property-id-continue-tests (Files): Likewise.
9084         * modules/unictype/property-id-start-tests (Files): Likewise.
9085         * modules/unictype/property-ideographic-tests (Files): Likewise.
9086         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
9087         * modules/unictype/property-ids-trinary-operator-tests (Files):
9088         Likewise.
9089         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
9090         * modules/unictype/property-iso-control-tests (Files): Likewise.
9091         * modules/unictype/property-join-control-tests (Files): Likewise.
9092         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
9093         * modules/unictype/property-line-separator-tests (Files): Likewise.
9094         * modules/unictype/property-logical-order-exception-tests (Files):
9095         Likewise.
9096         * modules/unictype/property-lowercase-tests (Files): Likewise.
9097         * modules/unictype/property-math-tests (Files): Likewise.
9098         * modules/unictype/property-non-break-tests (Files): Likewise.
9099         * modules/unictype/property-not-a-character-tests (Files): Likewise.
9100         * modules/unictype/property-numeric-tests (Files): Likewise.
9101         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
9102         * modules/unictype/property-other-default-ignorable-code-point-tests
9103         (Files): Likewise.
9104         * modules/unictype/property-other-grapheme-extend-tests (Files):
9105         Likewise.
9106         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
9107         * modules/unictype/property-other-id-start-tests (Files): Likewise.
9108         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
9109         * modules/unictype/property-other-math-tests (Files): Likewise.
9110         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
9111         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
9112         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
9113         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
9114         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
9115         * modules/unictype/property-private-use-tests (Files): Likewise.
9116         * modules/unictype/property-punctuation-tests (Files): Likewise.
9117         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
9118         * modules/unictype/property-radical-tests (Files): Likewise.
9119         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
9120         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
9121         * modules/unictype/property-space-tests (Files): Likewise.
9122         * modules/unictype/property-terminal-punctuation-tests (Files):
9123         Likewise.
9124         * modules/unictype/property-test-tests (Files): Likewise.
9125         * modules/unictype/property-titlecase-tests (Files): Likewise.
9126         * modules/unictype/property-unassigned-code-value-tests (Files):
9127         Likewise.
9128         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
9129         * modules/unictype/property-uppercase-tests (Files): Likewise.
9130         * modules/unictype/property-variation-selector-tests (Files): Likewise.
9131         * modules/unictype/property-white-space-tests (Files): Likewise.
9132         * modules/unictype/property-xid-continue-tests (Files): Likewise.
9133         * modules/unictype/property-xid-start-tests (Files): Likewise.
9134         * modules/unictype/property-zero-width-tests (Files): Likewise.
9135         * modules/unictype/scripts-tests (Files): Likewise.
9136         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
9137         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
9138         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
9139         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
9140         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
9141         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
9142         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
9143         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
9144         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
9145         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
9146         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
9147         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
9148         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
9149         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
9150         * modules/uninorm/composition-tests (Files): Likewise.
9151         * modules/uninorm/decomposing-form-tests (Files): Likewise.
9152         * modules/uninorm/decomposition-tests (Files): Likewise.
9153         * modules/uninorm/filter-tests (Files): Likewise.
9154         * modules/uninorm/nfc-tests (Files): Likewise.
9155         * modules/uninorm/nfd-tests (Files): Likewise.
9156         * modules/uninorm/nfkc-tests (Files): Likewise.
9157         * modules/uninorm/nfkd-tests (Files): Likewise.
9158         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
9159         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
9160         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
9161         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
9162         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
9163         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
9164         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
9165         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
9166         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
9167         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
9168         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
9169         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
9170         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
9171         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
9172         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
9173         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
9174         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
9175         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
9176         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
9177         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
9178         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
9179         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
9180         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
9181         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
9182         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
9183         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
9184         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
9185         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
9186         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
9187         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
9188         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
9189         * modules/uniwidth/u8-width-tests (Files): Likewise.
9190         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
9191         * modules/uniwidth/u16-width-tests (Files): Likewise.
9192         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
9193         * modules/uniwidth/u32-width-tests (Files): Likewise.
9194         * modules/uniwidth/width-tests (Files): Likewise.
9195         * modules/unlink-tests (Files): Likewise.
9196         * modules/unsetenv-tests (Files): Likewise.
9197         * modules/usleep-tests (Files): Likewise.
9198         * modules/utimens-tests (Files): Likewise.
9199         * modules/utimensat-tests (Files): Likewise.
9200         * modules/vasnprintf-posix-tests (Files): Likewise.
9201         * modules/vasnprintf-tests (Files): Likewise.
9202         * modules/vasprintf-posix-tests (Files): Likewise.
9203         * modules/vasprintf-tests (Files): Likewise.
9204         * modules/vdprintf-posix-tests (Files): Likewise.
9205         * modules/vfprintf-posix-tests (Files): Likewise.
9206         * modules/vprintf-posix-tests (Files): Likewise.
9207         * modules/vsnprintf-posix-tests (Files): Likewise.
9208         * modules/vsnprintf-tests (Files): Likewise.
9209         * modules/vsprintf-posix-tests (Files): Likewise.
9210         * modules/wcrtomb-tests (Files): Likewise.
9211         * modules/wcsnrtombs-tests (Files): Likewise.
9212         * modules/wcsrtombs-tests (Files): Likewise.
9213         * modules/wctype-tests (Files): Likewise.
9214         * modules/wcwidth-tests (Files): Likewise.
9215         * modules/xmemdup0-tests (Files): Likewise.
9216         * modules/xprintf-posix-tests (Files): Likewise.
9217         * modules/xvasprintf-tests (Files): Likewise.
9218
9219 2009-12-24  Eric Blake  <ebb9@byu.net>
9220
9221         test-nanosleep: fix typo
9222         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
9223         patch.
9224         Reported by Bruno Haible.
9225
9226 2009-12-24  Bruno Haible  <bruno@clisp.org>
9227
9228         Reduce namespace pollution on glibc systems.
9229         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
9230         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
9231         systems.
9232         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
9233         <getopt.h> on glibc systems.
9234         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
9235         systems.
9236         * lib/fcntl.c: Include <unistd.h> here instead.
9237
9238 2009-12-24  Bruno Haible  <bruno@clisp.org>
9239
9240         * lib/stdlib.in.h (includes): Fix typo in today's commit.
9241
9242 2009-12-24  Eric Blake  <ebb9@byu.net>
9243
9244         tests: add signature checks
9245         * tests/signature.h (SIGNATURE_CHECK): New file.
9246         * modules/atexit-tests (Files): Use it.
9247         * modules/btowc-tests (Files): Likewise.
9248         * modules/canonicalize-lgpl-tests (Files): Likewise.
9249         * modules/ceilf-tests (Files): Likewise.
9250         * modules/ceill-tests (Files): Likewise.
9251         * modules/chown-tests (Files): Likewise.
9252         * modules/dprintf-posix-tests (Files): Likewise.
9253         * modules/dup2-tests (Files): Likewise.
9254         * modules/dup3-tests (Files): Likewise.
9255         * modules/duplocale-tests (Files): Likewise.
9256         * modules/fchdir-tests (Files): Likewise.
9257         * modules/fcntl-tests (Files): Likewise.
9258         * modules/fdopendir-tests (Files): Likewise.
9259         * modules/fflush-tests (Files): Likewise.
9260         * modules/flock-tests (Files): Likewise.
9261         * modules/floorf-tests (Files): Likewise.
9262         * modules/floorl-tests (Files): Likewise.
9263         * modules/fnmatch-tests (Files): Likewise.
9264         * modules/fopen-tests (Files): Likewise.
9265         * modules/fprintf-posix-tests (Files): Likewise.
9266         * modules/freopen-tests (Files): Likewise.
9267         * modules/frexp-nolibm-tests (Files): Likewise.
9268         * modules/frexp-tests (Files): Likewise.
9269         * modules/frexpl-nolibm-tests (Files): Likewise.
9270         * modules/frexpl-tests (Files): Likewise.
9271         * modules/fseek-tests (Files): Likewise.
9272         * modules/fseeko-tests (Files): Likewise.
9273         * modules/fsync-tests (Files): Likewise.
9274         * modules/ftell-tests (Files): Likewise.
9275         * modules/ftello-tests (Files): Likewise.
9276         * modules/futimens-tests (Files): Likewise.
9277         * modules/getaddrinfo-tests (Files): Likewise.
9278         * modules/getcwd-tests (Files): Likewise.
9279         * modules/getdelim-tests (Files): Likewise.
9280         * modules/getdtablesize-tests (Files): Likewise.
9281         * modules/getgroups-tests (Files): Likewise.
9282         * modules/gethostname-tests (Files): Likewise.
9283         * modules/getline-tests (Files): Likewise.
9284         * modules/getopt-posix-tests (Files): Likewise.
9285         * modules/gettimeofday-tests (Files): Likewise.
9286         * modules/glob-tests (Files): Likewise.
9287         * modules/iconv-tests (Files): Likewise.
9288         * modules/inet_ntop-tests (Files): Likewise.
9289         * modules/inet_pton-tests (Files): Likewise.
9290         * modules/isblank-tests (Files): Likewise.
9291         * modules/lchown-tests (Files): Likewise.
9292         * modules/ldexpl-tests (Files): Likewise.
9293         * modules/link-tests (Files): Likewise.
9294         * modules/linkat-tests (Files): Likewise.
9295         * modules/lseek-tests (Files): Likewise.
9296         * modules/lstat-tests (Files): Likewise.
9297         * modules/mbrtowc-tests (Files): Likewise.
9298         * modules/mbsinit-tests (Files): Likewise.
9299         * modules/mbsnrtowcs-tests (Files): Likewise.
9300         * modules/mbsrtowcs-tests (Files): Likewise.
9301         * modules/memchr-tests (Files): Likewise.
9302         * modules/memcmp-tests (Files): Likewise.
9303         * modules/memmem-tests (Files): Likewise.
9304         * modules/memrchr-tests (Files): Likewise.
9305         * modules/mkdir-tests (Files): Likewise.
9306         * modules/mkfifo-tests (Files): Likewise.
9307         * modules/mkfifoat-tests (Files): Likewise.
9308         * modules/mknod-tests (Files): Likewise.
9309         * modules/nanosleep-tests (Files): Likewise.
9310         * modules/nl_langinfo-tests (Files): Likewise.
9311         * modules/obstack-printf-tests (Files): Likewise.
9312         * modules/open-tests (Files): Likewise.
9313         * modules/openat-tests (Files): Likewise.
9314         * modules/perror-tests (Files): Likewise.
9315         * modules/pipe2-tests (Files): Likewise.
9316         * modules/poll-tests (Files): Likewise.
9317         * modules/popen-tests (Files): Likewise.
9318         * modules/posix_spawn-tests (Files): Likewise.
9319         * modules/posix_spawnp-tests (Files): Likewise.
9320         * modules/pread-tests (Files): Likewise.
9321         * modules/printf-posix-tests (Files): Likewise.
9322         * modules/pty-tests (Files): Likewise.
9323         * modules/random_r-tests (Files): Likewise.
9324         * modules/rawmemchr-tests (Files): Likewise.
9325         * modules/readlink-tests (Files): Likewise.
9326         * modules/remove-tests (Files): Likewise.
9327         * modules/rename-tests (Files): Likewise.
9328         * modules/renameat-tests (Files): Likewise.
9329         * modules/rmdir-tests (Files): Likewise.
9330         * modules/round-tests (Files): Likewise.
9331         * modules/roundf-tests (Files): Likewise.
9332         * modules/roundl-tests (Files): Likewise.
9333         * modules/select-tests (Files): Likewise.
9334         * modules/setenv-tests (Files): Likewise.
9335         * modules/sigaction-tests (Files): Likewise.
9336         * modules/sleep-tests (Files): Likewise.
9337         * modules/snprintf-posix-tests (Files): Likewise.
9338         * modules/snprintf-tests (Files): Likewise.
9339         * modules/sprintf-posix-tests (Files): Likewise.
9340         * modules/stat-tests (Files): Likewise.
9341         * modules/strcasestr-tests (Files): Likewise.
9342         * modules/strchrnul-tests (Files): Likewise.
9343         * modules/strerror-tests (Files): Likewise.
9344         * modules/strsignal-tests (Files): Likewise.
9345         * modules/strstr-tests (Files): Likewise.
9346         * modules/strtod-tests (Files): Likewise.
9347         * modules/strverscmp-tests (Files): Likewise.
9348         * modules/symlink-tests (Files): Likewise.
9349         * modules/symlinkat-tests (Files): Likewise.
9350         * modules/times-tests (Files): Likewise.
9351         * modules/trunc-tests (Files): Likewise.
9352         * modules/truncf-tests (Files): Likewise.
9353         * modules/truncl-tests (Files): Likewise.
9354         * modules/tsearch-tests (Files): Likewise.
9355         * modules/uname-tests (Files): Likewise.
9356         * modules/unlink-tests (Files): Likewise.
9357         * modules/unsetenv-tests (Files): Likewise.
9358         * modules/usleep-tests (Files): Likewise.
9359         * modules/utimensat-tests (Files): Likewise.
9360         * modules/vasprintf-tests (Files): Likewise.
9361         * modules/vdprintf-posix-tests (Files): Likewise.
9362         * modules/vfprintf-posix-tests (Files): Likewise.
9363         * modules/vprintf-posix-tests (Files): Likewise.
9364         * modules/vsnprintf-posix-tests (Files): Likewise.
9365         * modules/vsnprintf-tests (Files): Likewise.
9366         * modules/vsprintf-posix-tests (Files): Likewise.
9367         * modules/wcrtomb-tests (Files): Likewise.
9368         * modules/wcsnrtombs-tests (Files): Likewise.
9369         * modules/wcsrtombs-tests (Files): Likewise.
9370         * modules/wcwidth-tests (Files): Likewise.
9371         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
9372         * tests/test-isinf.c (isinf): Likewise.
9373         * tests/test-isnan.c (isnan): Likewise.
9374         * tests/test-signbit.c (signbit): Likewise.
9375         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
9376         declaration, either as macro or with correct signature.
9377         (select): Ensure function under test is declared with correct
9378         signature in correct header.
9379         * tests/test-atexit.c (atexit): Likewise.
9380         * tests/test-btowc.c (btowc): Likewise.
9381         * tests/test-canonicalize-lgpl.c (realpath)
9382         (canonicalize_file_name): Likewise.
9383         * tests/test-ceilf1.c (ceilf): Likewise.
9384         * tests/test-ceill.c (ceill): Likewise.
9385         * tests/test-chown.c (chown): Likewise.
9386         * tests/test-dprintf-posix.c (dprintf): Likewise.
9387         * tests/test-dup2.c (dup2): Likewise.
9388         * tests/test-dup3.c (dup3): Likewise.
9389         * tests/test-duplocale.c (duplocale): Likewise.
9390         * tests/test-fchdir.c (fchdir): Likewise.
9391         * tests/test-fchownat.c (fchownat): Likewise.
9392         * tests/test-fcntl.c (fcntl): Likewise.
9393         * tests/test-fdopendir.c (fdopendir): Likewise.
9394         * tests/test-fflush.c (fflush): Likewise.
9395         * tests/test-flock.c (flock): Likewise.
9396         * tests/test-floorf1.c (floorf): Likewise.
9397         * tests/test-floorl.c (floorl): Likewise.
9398         * tests/test-fnmatch.c (fnmatch): Likewise.
9399         * tests/test-fopen.c (fopen): Likewise.
9400         * tests/test-fprintf-posix.c (fprintf): Likewise.
9401         * tests/test-freopen.c (freopen): Likewise.
9402         * tests/test-frexp.c (frexp): Likewise.
9403         * tests/test-frexpl.c (frexpl): Likewise.
9404         * tests/test-fseek.c (fseek): Likewise.
9405         * tests/test-fseeko.c (fseeko): Likewise.
9406         * tests/test-fstatat.c (fstatat): Likewise.
9407         * tests/test-fsync.c (fsync): Likewise.
9408         * tests/test-ftell.c (ftell): Likewise.
9409         * tests/test-ftello.c (ftello): Likewise.
9410         * tests/test-futimens.c (futimens): Likewise.
9411         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
9412         (gai_strerror): Likewise.
9413         * tests/test-getcwd.c (getcwd): Likewise.
9414         * tests/test-getdelim.c (getdelim): Likewise.
9415         * tests/test-getdtablesize.c (getdtablesize): Likewise.
9416         * tests/test-getgroups.c (getgroups): Likewise.
9417         * tests/test-gethostname.c (gethostname): Likewise.
9418         * tests/test-getline.c (getline): Likewise.
9419         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
9420         Likewise.
9421         * tests/test-gettimeofday.c (gettimeofday): Likewise.
9422         * tests/test-glob.c (glob, globfree): Likewise.
9423         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
9424         * tests/test-inet_ntop.c (inet_ntop): Likewise.
9425         * tests/test-inet_pton.c (inet_pton): Likewise.
9426         * tests/test-isblank.c (isblank): Likewise.
9427         * tests/test-lchown.c (lchown): Likewise.
9428         * tests/test-ldexpl.c (ldexpl): Likewise.
9429         * tests/test-link.c (link): Likewise.
9430         * tests/test-linkat.c (linkat): Likewise.
9431         * tests/test-lseek.c (lseek): Likewise.
9432         * tests/test-lstat.c (lstat): Likewise.
9433         * tests/test-mbrtowc.c (mbrtowc): Likewise.
9434         * tests/test-mbsinit.c (mbsinit): Likewise.
9435         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
9436         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
9437         * tests/test-memchr.c (memchr): Likewise.
9438         * tests/test-memcmp.c (memcmp): Likewise.
9439         * tests/test-memmem.c (memmem): Likewise.
9440         * tests/test-memrchr.c (memrchr): Likewise.
9441         * tests/test-mkdir.c (mkdir): Likewise.
9442         * tests/test-mkdirat.c (mkdirat): Likewise.
9443         * tests/test-mkfifo.c (mkfifo): Likewise.
9444         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
9445         * tests/test-mknod.c (mknod): Likewise.
9446         * tests/test-nanosleep.c (nanosleep): Likewise.
9447         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
9448         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
9449         Likewise.
9450         * tests/test-open.c (open): Likewise.
9451         * tests/test-openat.c (openat): Likewise.
9452         * tests/test-perror.c (perror): Likewise.
9453         * tests/test-pipe2.c (pipe2): Likewise.
9454         * tests/test-poll.c (poll): Likewise.
9455         * tests/test-popen.c (popen, pclose): Likewise.
9456         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
9457         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
9458         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
9459         (posix_spawn_file_actions_destroy)
9460         (posix_spawn_file_actions_addclose)
9461         (posix_spawn_file_actions_addopen)
9462         (posix_spawn_file_actions_adddup2): Likewise.
9463         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
9464         * tests/test-pread.c (pread): Likewise.
9465         * tests/test-printf-posix.c (printf): Likewise.
9466         * tests/test-pty.c (openpty, forkpty): Likewise.
9467         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
9468         (random_r): Likewise.
9469         * tests/test-rawmemchr.c (rawmemchr): Likewise.
9470         * tests/test-readlink.c (readlink): Likewise.
9471         * tests/test-remove.c (remove): Likewise.
9472         * tests/test-rename.c (rename): Likewise.
9473         * tests/test-renameat.c (renameat): Likewise.
9474         * tests/test-rmdir.c (rmdir): Likewise.
9475         * tests/test-round1.c (round): Likewise.
9476         * tests/test-roundf1.c (roundf): Likewise.
9477         * tests/test-roundl.c (roundl): Likewise.
9478         * tests/test-setenv.c (setenv): Likewise.
9479         * tests/test-sigaction.c (sigaction): Likewise.
9480         * tests/test-sleep.c (sleep): Likewise.
9481         * tests/test-snprintf.c (snprintf): Likewise.
9482         * tests/test-sprintf-posix.c (sprintf): Likewise.
9483         * tests/test-stat.c (stat): Likewise.
9484         * tests/test-stpncpy.c (stpncpy): Likewise.
9485         * tests/test-strcasestr.c (strcasestr): Likewise.
9486         * tests/test-strchrnul.c (strchrnul): Likewise.
9487         * tests/test-strerror.c (strerror): Likewise.
9488         * tests/test-strsignal.c (strsignal): Likewise.
9489         * tests/test-strstr.c (strstr): Likewise.
9490         * tests/test-strtod.c (strtod): Likewise.
9491         * tests/test-strverscmp.c (strverscmp): Likewise.
9492         * tests/test-symlink.c (symlink): Likewise.
9493         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
9494         * tests/test-times.c (times): Likewise.
9495         * tests/test-trunc1.c (trunc): Likewise.
9496         * tests/test-truncf1.c (truncf): Likewise.
9497         * tests/test-truncl.c (truncl): Likewise.
9498         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
9499         Likewise.
9500         * tests/test-uname.c (uname): Likewise.
9501         * tests/test-unlink.c (unlink): Likewise.
9502         * tests/test-unlinkat.c (unlinkat): Likewise.
9503         * tests/test-unsetenv.c (unsetenv): Likewise.
9504         * tests/test-usleep.c (usleep): Likewise.
9505         * tests/test-utimensat.c (utimensat): Likewise.
9506         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
9507         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
9508         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
9509         * tests/test-vprintf-posix.c (vprintf): Likewise.
9510         * tests/test-vsnprintf.c (vsnprintf): Likewise.
9511         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
9512         * tests/test-wcrtomb.c (wcrtomb): Likewise.
9513         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
9514         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
9515         * tests/test-wcwidth.c (wcwidth): Likewise.
9516
9517         build: pull in conditional headers during GNULIB_POSIXCHECK
9518         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
9519         definitions from any conditionally-included headers.
9520         * lib/stdlib.in.h (includes): Likewise.
9521         * lib/unistd.in.h (includes): Likewise.
9522
9523 2009-12-24  Bruno Haible  <bruno@clisp.org>
9524
9525         * tests/test-argv-iter.c: Include header file being tested immediately
9526         after config.h.
9527         * tests/test-base64.c: Likewise.
9528         * tests/test-flock.c: Likewise.
9529         * tests/test-fsync.c: Likewise.
9530         * tests/test-getdate.c: Likewise.
9531         * tests/test-getndelim2.c: Likewise.
9532         * tests/test-isfinite.c: Likewise.
9533         * tests/test-isinf.c: Likewise.
9534         * tests/test-strerror.c: Likewise.
9535         * tests/test-strsignal.c: Likewise.
9536
9537 2009-12-23  Eric Blake  <ebb9@byu.net>
9538
9539         unistd: work around cygwin bug
9540         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
9541         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
9542         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
9543
9544 2009-12-23  Bruno Haible  <bruno@clisp.org>
9545
9546         localename: More tests.
9547         * tests/test-localename.c (SIZEOF): New macro.
9548         (categories): New variable.
9549         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
9550         test_locale_name_default): Add test w.r.t. thread locale.
9551         (test_locale_name_thread): New function.
9552         (main): Invoke it.
9553
9554         localename: Make aware of thread locale.
9555         * lib/localename.h (gl_locale_name_thread): New declaration.
9556         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
9557         behaviour with respect to thread locale.
9558         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
9559         <langinfo.h>, glthread/lock.h.
9560         (SIZE_BITS): New macro.
9561         (string_hash): New function.
9562         (struct hash_node): New type.
9563         (HASH_TABLE_SIZE): New macro.
9564         (struniq_hash_table, struniq_lock): New variables.
9565         (struniq): New function.
9566         (gl_locale_name_thread): New function.
9567         (gl_locale_name): Invoke it.
9568         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
9569         * modules/localename (Depends-on): Add lock.
9570         Reported by Mike Gran <spk121@yahoo.com>.
9571
9572 2009-12-23  Eric Blake  <ebb9@byu.net>
9573
9574         va-args: new module
9575         * modules/va-args: New file.
9576         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
9577         * MODULES.html.sh (Core language properties): Mention it.
9578
9579         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
9580         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
9581         named alias for __attribute__((__unused__)).
9582         * lib/chown.c: Update client.
9583         * lib/fchmodat.c: Likewise.
9584         * lib/fts.c: Likewise.
9585         * lib/getdate.y: Likewise.
9586         * lib/getgroups.c: Likewise.
9587         * lib/getopt.c: Likewise.
9588         * lib/getugroups.c: Likewise.
9589         * lib/mkdir.c: Likewise.
9590         * lib/mkfifo.c: Likewise.
9591         * lib/mkfifoat.c: Likewise.
9592         * lib/mknod.c: Likewise.
9593         * lib/mknodat.c: Likewise.
9594         * lib/readlink.c: Likewise.
9595         * lib/se-context.in.h: Likewise.
9596         * lib/se-selinux.in.h: Likewise.
9597         * lib/sockets.c: Likewise.
9598         * lib/symlink.c: Likewise.
9599         * lib/symlinkat.c: Likewise.
9600         * lib/unicodeio.c: Likewise.
9601         * lib/unistr.h: Likewise.
9602         * tests/test-areadlink.c: Likewise.
9603         * tests/test-areadlinkat.c: Likewise.
9604         * tests/test-filenamecat.c: Likewise.
9605         * tests/test-fseeko.c: Likewise.
9606         * tests/test-ftello.c: Likewise.
9607         * tests/test-getdate.c: Likewise.
9608         * tests/test-getgroups.c: Likewise.
9609         * tests/test-gethostname.c: Likewise.
9610         * tests/test-quotearg.c: Likewise.
9611         * tests/test-version-etc.c: Likewise.
9612         * tests/test-xalloc-die.c: Likewise.
9613         * tests/test-xfprintf-posix.c: Likewise.
9614         * tests/test-xprintf-posix.c: Likewise.
9615         * tests/test-xvasprintf.c: Likewise.
9616
9617         tests: avoid compiler warnings
9618         * tests/test-fcntl.c (main): Delete unused parameters.
9619         * tests/test-freopen-safer.c (main): Likewise.
9620         * tests/test-xalloc-die.c (main): Mark unused parameters.
9621         * tests/test-fseeko.c (main): Likewise.
9622         * tests/test-ftello.c (main): Likewise.
9623         * tests/test-nanosleep.c (main): Avoid declaration warning.
9624         * tests/test-sleep.c (main): Likewise.
9625         * tests/test-unsetenv.c (main): Silence warning about string
9626         literal.
9627         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
9628
9629 2009-12-23  Bruno Haible  <bruno@clisp.org>
9630
9631         * tests/test-localename.c (test_locale_name): New function, extracted
9632         from main. Also test mixed situations.
9633         (test_locale_name_posix, test_locale_name_environ,
9634         test_locale_name_default): New functions.
9635         (main): Invoke them all.
9636         * modules/localename-tests (configure.ac): Test for newlocale.
9637
9638 2009-12-23  Bruno Haible  <bruno@clisp.org>
9639
9640         unistd: Ensure getcwd gets declared before being overridden.
9641         * lib/unistd.in.h: Conditionally include <io.h>.
9642
9643 2009-12-22  Bruno Haible  <bruno@clisp.org>
9644
9645         wchar: Diagnose broken combination of glibc and gcc versions and flags.
9646         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
9647         (gl_WCHAR_H): Invoke it.
9648         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
9649         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
9650         Reported by Karl Berry <karl@freefriends.org>.
9651
9652 2009-12-22  Eric Blake  <ebb9@byu.net>
9653
9654         math, unistd: avoid redundant includes
9655         * lib/math.in.h (isnan): No need to re-include <math.h>.
9656         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
9657
9658         getsubopt: work around cygwin bug
9659         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
9660         avoid conflicting with system getsubopt.
9661         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
9662         bug.
9663
9664         getopt: synchronize from glibc
9665         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
9666         parameter order.  Adjust all callers.
9667         (_getopt_internal_r, main): Adjust quoting in error messages.
9668         Drop considerations for outdated POSIX 1003.2 error message.
9669         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
9670         callers.
9671         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
9672
9673         test-getopt: test stderr behavior
9674         * modules/getopt-posix-tests (Depends-on): Add dup2.
9675         * tests/test-getopt.c (ASSERT): Avoid stderr.
9676         (main): Move stderr to a temporary file.
9677         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
9678         Instead, add parameter to inform caller if output occurred.
9679         (test_getopt): Adjust all existing tests to expect silence, and
9680         add new tests of leading ":".
9681         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
9682         glibc shortcomings with leading "-:" or "+:" in optstring.
9683         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9684         Likewise.
9685         * doc/posix-functions/getopt.texi (getopt): Likewise.
9686
9687         test-getopt: enhance test
9688         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
9689         supports optind=0.
9690         * tests/test-getopt.c (OPTIND_MIN): Move...
9691         * tests/test-getopt.h (OPTIND_MIN): ...here.
9692         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
9693         Require that optind=0 works, since modern BSD supports it in
9694         addition to optreset, and since coreutils expects it.
9695         (test_getopt_long_only): New test.
9696         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
9697         glibc shortcomings with 'W;', and enforcement of optind=0.
9698         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9699         Likewise.
9700
9701 2009-12-21  Bruno Haible  <bruno@clisp.org>
9702
9703         localename: Improvements for MacOS X and Cygwin.
9704         * lib/localename.h (gl_locale_name_environ): New declaration.
9705         * lib/localename.c (gl_locale_name_environ): New function, extracted from
9706         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
9707         (gl_locale_name_posix): Invoke it.
9708         (gl_locale_name_default): Add comments. Use Windows native API also on
9709         Cygwin.
9710
9711 2009-12-21  Bruno Haible  <bruno@clisp.org>
9712
9713         Update list of Win32 locale ids.
9714         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
9715         (LANG_SAMI): Renamed from LANG_SAAMI.
9716         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
9717         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
9718         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
9719         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
9720         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
9721         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
9722         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
9723         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
9724         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
9725         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
9726         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
9727         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
9728         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
9729         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
9730         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
9731         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
9732         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
9733         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
9734         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
9735         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
9736         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
9737         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
9738         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
9739         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
9740         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
9741         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
9742         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
9743         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
9744         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
9745         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
9746         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
9747         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
9748         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
9749         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
9750         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
9751         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
9752         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
9753         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
9754         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
9755         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
9756         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
9757         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
9758         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
9759         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
9760         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
9761         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
9762         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
9763         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
9764         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
9765         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
9766         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
9767         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
9768         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
9769         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
9770         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
9771         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
9772         Add more languages and countries for Sami, Sorbian. Add more countries
9773         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
9774         for Pashto. Change country for Syriac, Tswana.
9775
9776 2009-12-21  Eric Blake  <ebb9@byu.net>
9777
9778         test-utimens: avoid spurious failure
9779         * tests/test-chown.h (nap): Factor...
9780         * tests/nap.h: ...into new file.
9781         * tests/test-lchown.h (nap): Avoid duplication.
9782         * tests/test-utimens-common.h (nap): Use shared implementation,
9783         necessary on file systems with 1-second resolution.
9784         * modules/chown-tests (Files): Include new file.
9785         * modules/fdutimensat-tests (Files): Likewise.
9786         * modules/futimens-tests (Files): Likewise.
9787         * modules/lchown-tests (Files): Likewise.
9788         * modules/openat-tests (Files): Likewise.
9789         * modules/utimens-tests (Files): Likewise.
9790         * modules/utimensat-tests (Files): Likewise.
9791
9792 2009-12-19  Eric Blake  <ebb9@byu.net>
9793
9794         futimens, utimensat: work around Linux bug
9795         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
9796         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9797         * lib/utimensat.c (rpl_utimensat): Work around it.
9798         * lib/futimens.c (rpl_futimens): Adjust comment.
9799
9800         utimens: work around Linux ctime bug
9801         * lib/utimens.c (detect_ctime_bug): New helper function.
9802         (update_timespec): Differentiate between workaround needed for
9803         this bug vs. what is needed for systems that lack utimensat.
9804         (fdutimens, lutimens): Work around bug.
9805
9806         utimens: check for ctime update
9807         * tests/test-utimens-common.h (check_ctime): Define.
9808         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
9809         * tests/test-futimens.h (test_futimens): Likewise.
9810         * tests/test-lutimens.h (test_lutimens): Likewise.
9811         * doc/posix-functions/futimens.texi (futimens): Document the bug.
9812         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9813
9814 2009-12-19  Bruno Haible  <bruno@clisp.org>
9815
9816         dprintf-posix: Check against memory leak fixed on 2009-12-15.
9817         * tests/test-dprintf-posix2.sh: New file.
9818         * tests/test-dprintf-posix2.c: New file.
9819         * modules/dprintf-posix-tests (Files): Add them.
9820         (configure.ac): Check for getrlimit and setrlimit.
9821         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
9822
9823 2009-12-19  Bruno Haible  <bruno@clisp.org>
9824
9825         fprintf-posix: Check against memory leak fixed on 2009-12-15.
9826         * tests/test-fprintf-posix3.sh: New file.
9827         * tests/test-fprintf-posix3.c: New file.
9828         * modules/fprintf-posix-tests (Files): Add them.
9829         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
9830
9831 2009-12-19  Eric Blake  <ebb9@byu.net>
9832
9833         dirfd: fix prototype
9834         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
9835         * lib/dirfd.c (dirfd): Likewise.
9836
9837         canonicalize: reduce memory usage
9838         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
9839         allocation to size.
9840         Reported by Solar Designer <solar@openwall.com>.
9841
9842 2009-12-19  Bruno Haible  <bruno@clisp.org>
9843
9844         New module attribute 'Applicability'.
9845         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
9846         * gnulib-tool: New option --extract-applicability.
9847         (func_usage): Document it.
9848         (sed_extract_prog): Recognize it.
9849         (func_get_applicability): New function.
9850         (func_import): Generalize handling of 'link-warning' module.
9851         * modules/link-warning (Applicability): New section.
9852         * modules/arg-nonnull (Applicability): New section.
9853         Repoted by Simon Josefsson <simon@josefsson.org>.
9854
9855 2009-12-19  Bruno Haible  <bruno@clisp.org>
9856
9857         fflush: tweak
9858         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
9859         * lib/fseeko.c (rpl_fseeko): Likewise.
9860
9861 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
9862
9863         * lib/gl_list.h: Fix typo in comment.
9864
9865 2009-12-16  Eric Blake  <ebb9@byu.net>
9866
9867         fcntl: use to simplify other modules
9868         * modules/cloexec (Depends-on): Add fcntl.
9869         * modules/fchdir (Depends-on): Likewise.
9870         * modules/fd-safer-flag (Depends-on): Likewise.
9871         * modules/unistd-safer (Depends-on): Likewise.
9872         * modules/dup3 (configure.ac): Set module indicator.
9873         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
9874         missing.
9875         * lib/fchdir.c (_gl_register_dup): Fix comment.
9876         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
9877         * lib/dup-safer.c (dup_safer): Likewise.
9878         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
9879         * lib/dup3.c (dup3): Likewise.
9880         * tests/test-fchdir.c (main): Enhance test.
9881         Fixes a dup_cloexec bug reported by Ondřej Vašík.
9882
9883         fcntl: port portions of fcntl to mingw
9884         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
9885         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
9886         replacement for mingw.
9887         * modules/fcntl (Description): Update.
9888         (Depends-on): Add dup2.
9889         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
9890         * modules/fcntl-h (Makefile.am): Substitute it.
9891         * lib/fcntl.in.h (fcntl): Update declaration.
9892         (F_DUPFD, F_GETFD): New macros, when needed.
9893         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9894         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
9895         * tests/test-fcntl.c (check_flags, main): Enhance test for items
9896         we now guarantee.
9897
9898         fcntl: work around cygwin bug in F_DUPFD
9899         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
9900         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
9901         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
9902         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
9903         * doc/posix-functions/fcntl.texi (fcntl): Document it.
9904
9905         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
9906         * modules/fcntl (Files): List new files.
9907         (configure.ac): Run a test.
9908         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
9909         * lib/fcntl.c (rpl_fcntl): Likewise.
9910         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
9911         (gl_FCNTL_H): Always replace fcntl.h.
9912         * modules/fcntl-h (Makefile.am): Substitute witnesses.
9913         * lib/fcntl.in.h (fcntl): Declare replacement.
9914         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
9915         needed, plus a witness.
9916         * doc/posix-functions/fcntl.texi (fcntl): Document this.
9917         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
9918         * tests/test-fcntl.c: New file.
9919         * modules/fcntl-tests: Likewise.
9920
9921         binary-io: avoid potential compilation warning
9922         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
9923         directives.
9924
9925         fflush: avoid compilation error on NetBSD
9926         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
9927         between off_t and fpos_t, since the latter is sometimes a struct.
9928         * lib/fseeko.c (rpl_fseeko): Likewise.
9929         Reported by Alexander Nasonov <alnsn@yandex.ru>.
9930
9931 2009-12-15  Eric Blake  <ebb9@byu.net>
9932
9933         fcntl-h, stdio, sys_ioctl: fix declarations
9934         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
9935         function must not take arguments.
9936         * lib/sys_ioctl.in.h (ioctl): Likewise.
9937         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
9938         (open): Add a link warning.
9939
9940 2009-12-15  Jim Meyering  <meyering@redhat.com>
9941
9942         areadlink, areadlink-with-size: relax license to LGPLv2+
9943         * modules/areadlink (License): Relax to LGPLv2+.
9944         * modules/areadlink-with-size (License): Likewise.
9945
9946 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
9947             Bruno Haible  <bruno@clisp.org>
9948
9949         *printf: Fix memory leak.
9950         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
9951         * lib/vfprintf.c (vfprintf): Likewise.
9952         * lib/dprintf.c (dprintf): Likewise.
9953         * lib/vdprintf.c (vdprintf): Likewise.
9954
9955 2009-12-14  Eric Blake  <ebb9@byu.net>
9956
9957         accept4: adjust module dependencies
9958         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
9959
9960         utimens: one more try at avoiding compiler warning
9961         * lib/utimens.c (lutimens): Lower scope of result.
9962
9963 2009-12-13  Bruno Haible  <bruno@clisp.org>
9964
9965         Move the malloc checking from module 'list' to new module 'xlist'.
9966         * modules/xlist: New file.
9967         * lib/gl_xlist.h: New file.
9968         * lib/gl_xlist.c: New file.
9969         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
9970         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
9971         gl_list_add_last, gl_list_add_before, gl_list_add_after,
9972         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
9973         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
9974         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
9975         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
9976         gl_sortedlist_nx_add): New declarations.
9977         (struct gl_list_implementation): Rename and change methods accordingly.
9978         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
9979         (gl_list_nx_create): Renamed from gl_list_create.
9980         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
9981         (gl_list_nx_set_at): Renamed from gl_list_set_at.
9982         (gl_list_nx_add_first): Renamed from gl_list_add_first.
9983         (gl_list_nx_add_last): Renamed from gl_list_add_last.
9984         (gl_list_nx_add_before): Renamed from gl_list_add_before.
9985         (gl_list_nx_add_after): Renamed from gl_list_add_after.
9986         (gl_list_nx_add_at): Renamed from gl_list_add_at.
9987         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
9988         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
9989         gl_list_create_empty.
9990         (gl_list_nx_create): Renamed from gl_list_create.
9991         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
9992         (gl_list_nx_set_at): Renamed from gl_list_set_at.
9993         (gl_list_nx_add_first): Renamed from gl_list_add_first.
9994         (gl_list_nx_add_last): Renamed from gl_list_add_last.
9995         (gl_list_nx_add_before): Renamed from gl_list_add_before.
9996         (gl_list_nx_add_after): Renamed from gl_list_add_after.
9997         (gl_list_nx_add_at): Renamed from gl_list_add_at.
9998         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
9999         * lib/gl_array_list.c: Don't include xalloc.h.
10000         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
10001         NULL upon out-of-memory.
10002         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
10003         out-of-memory.
10004         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
10005         Change return type to 'int'.
10006         (gl_array_nx_set_at): Renamed from gl_array_set_at.
10007         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
10008         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
10009         upon out-of-memory.
10010         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
10011         upon out-of-memory.
10012         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
10013         upon out-of-memory.
10014         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
10015         upon out-of-memory.
10016         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
10017         out-of-memory.
10018         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
10019         Update.
10020         (gl_array_list_implementation): Update.
10021         * lib/gl_carray_list.c: Don't include xalloc.h.
10022         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
10023         Return NULL upon out-of-memory.
10024         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
10025         out-of-memory.
10026         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
10027         Change return type to 'int'.
10028         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
10029         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
10030         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
10031         upon out-of-memory.
10032         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
10033         upon out-of-memory.
10034         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
10035         out-of-memory.
10036         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
10037         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
10038         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
10039         Update.
10040         (gl_carray_list_implementation): Update.
10041         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
10042         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
10043         gl_linked_create_empty. Return NULL upon out-of-memory.
10044         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
10045         out-of-memory.
10046         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
10047         Change return type to 'int'. Return -1 upon out-of-memory.
10048         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
10049         out-of-memory.
10050         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
10051         upon out-of-memory.
10052         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
10053         upon out-of-memory.
10054         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
10055         NULL upon out-of-memory.
10056         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
10057         upon out-of-memory.
10058         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
10059         out-of-memory.
10060         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
10061         Update.
10062         * lib/gl_linked_list.c: Don't include xalloc.h.
10063         (gl_linked_list_implementation): Update.
10064         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
10065         (add_to_bucket): Change return type to 'int'.
10066         (gl_linkedhash_list_implementation): Update.
10067         * lib/gl_anytree_list1.h (free_subtree): New function.
10068         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
10069         gl_tree_create_empty. Return NULL upon out-of-memory.
10070         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
10071         Change return type to 'int'. Return -1 upon out-of-memory.
10072         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
10073         out-of-memory.
10074         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
10075         (gl_tree_remove_node): New function, moved here from
10076         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
10077         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
10078         Update.
10079         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
10080         malloc, not xmalloc. Return NULL upon out-of-memory.
10081         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
10082         out-of-memory.
10083         (gl_tree_remove_node_from_tree): New function, extracted from
10084         gl_tree_remove_node.
10085         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
10086         upon out-of-memory.
10087         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
10088         out-of-memory.
10089         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
10090         upon out-of-memory.
10091         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
10092         upon out-of-memory.
10093         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
10094         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
10095         not xmalloc. Return NULL upon out-of-memory.
10096         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
10097         out-of-memory.
10098         (gl_tree_remove_node_from_tree): New function, extracted from
10099         gl_tree_remove_node.
10100         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
10101         upon out-of-memory.
10102         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
10103         out-of-memory.
10104         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
10105         upon out-of-memory.
10106         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
10107         upon out-of-memory.
10108         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
10109         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
10110         gl_anytree_list1.h before gl_anyavltree_list2.h.
10111         (gl_avltree_list_implementation): Update.
10112         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
10113         gl_anytree_list1.h before gl_anyavltree_list2.h.
10114         (gl_rbtree_list_implementation): Update.
10115         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
10116         Change return type to 'int'. Return -1 upon out-of-memory. Use
10117         __builtin_expect.
10118         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
10119         (gl_avltreehash_list_implementation): Update.
10120         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
10121         (gl_rbtreehash_list_implementation): Update.
10122         * modules/array-list (Depends-on): Remove xalloc.
10123         * modules/carray-list (Depends-on): Likewise.
10124         * modules/linked-list (Depends-on): Likewise.
10125         * modules/linkedhash-list (Depends-on): Likewise.
10126         * modules/avltree-list (Depends-on): Likewise.
10127         * modules/rbtree-list (Depends-on): Likewise.
10128         * modules/avltreehash-list (Depends-on): Likewise.
10129         * modules/rbtreehash-list (Depends-on): Likewise.
10130
10131         * modules/xsublist: New file.
10132         * lib/gl_xsublist.h: New file.
10133         * lib/gl_xsublist.c: New file.
10134         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
10135         (gl_sublist_nx_create): New declaration.
10136         * lib/gl_sublist.c: Don't include xalloc.h.
10137         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
10138         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
10139         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
10140         Change return type to 'int'. Return -1 upon out-of-memory.
10141         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
10142         upon out-of-memory.
10143         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
10144         NULL upon out-of-memory.
10145         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
10146         upon out-of-memory.
10147         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
10148         NULL upon out-of-memory.
10149         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
10150         NULL upon out-of-memory.
10151         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
10152         upon out-of-memory.
10153         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
10154         (gl_sublist_list_implementation): Update.
10155         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
10156         upon out-of-memory.
10157         * modules/sublist (Depends-on): Remove xalloc.
10158
10159         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
10160         * tests/test-carray_list.c: Likewise.
10161         * tests/test-linked_list.c: Likewise.
10162         * tests/test-linkedhash_list.c: Likewise.
10163         * tests/test-avltree_list.c: Likewise.
10164         * tests/test-rbtree_list.c: Likewise.
10165         * tests/test-avltreehash_list.c: Likewise.
10166         * tests/test-rbtreehash_list.c: Likewise.
10167         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
10168         * modules/carray-list-tests (Makefile.am): Likewise.
10169         * modules/linked-list-tests (Makefile.am): Likewise.
10170         * modules/linkedhash-list-tests (Makefile.am): Likewise.
10171         * modules/avltree-list-tests (Makefile.am): Likewise.
10172         * modules/rbtree-list-tests (Makefile.am): Likewise.
10173         * modules/avltreehash-list-tests (Makefile.am): Likewise.
10174         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
10175
10176         * NEWS: Mention the changes.
10177
10178         * lib/clean-temp.c: Include gl_xlist.h.
10179         * modules/clean-temp (Depends-on): Add xlist.
10180
10181         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
10182         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
10183
10184         * tests/test-array_oset.c: Include gl_xlist.h.
10185         * modules/array-oset-tests (Depends-on): Add xlist.
10186
10187         Reported by José E. Marchesi <jemarch@gnu.org>.
10188
10189 2009-12-13  Bruno Haible  <bruno@clisp.org>
10190
10191         Move the malloc checking from module 'oset' to new module 'xoset'.
10192         * modules/xoset: New file.
10193         * lib/gl_xoset.h: New file.
10194         * lib/gl_xoset.c: New file.
10195         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
10196         declarations.
10197         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
10198         (struct gl_oset_implementation): Rename and change methods accordingly.
10199         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
10200         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
10201         'int'. Mark as __warn_unused_result__.
10202         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
10203         gl_oset_create_empty.
10204         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
10205         'int'.
10206         * lib/gl_array_oset.c: Don't include xalloc.h.
10207         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
10208         malloc, not xmalloc.
10209         (grow): Change return type to 'int'. Don't call xalloc_die.
10210         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
10211         to 'int'.
10212         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
10213         'int'.
10214         (gl_array_oset_implementation): Update.
10215         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
10216         gl_tree_create_empty.
10217         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
10218         'int'.
10219         * lib/gl_avltree_oset.c: Don't include xalloc.h.
10220         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
10221         xmalloc.
10222         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
10223         not xmalloc.
10224         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
10225         xmalloc.
10226         (gl_avltree_oset_implementation): Update.
10227         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
10228         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
10229         xmalloc.
10230         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
10231         not xmalloc.
10232         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
10233         xmalloc.
10234         (gl_rbtree_oset_implementation): Update.
10235         * modules/array-oset (Depends-on): Remove xalloc.
10236         * modules/avltree-oset (Depends-on): Likewise.
10237         * modules/rbtree-oset (Depends-on): Likewise.
10238         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
10239         * tests/test-avltree_oset.c: Likewise.
10240         * tests/test-rbtree_oset.c: Likewise.
10241         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
10242         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
10243         * modules/rbtree-oset-tests (Makefile.am): Likewise.
10244         * NEWS: Mention the change.
10245
10246 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
10247
10248         maint.mk: allow a project to override release-prep commands
10249         * top/maint.mk (alpha, beta, stable): Move release-preparatory
10250         commands into a new rule.
10251         (release-prep): New rule.
10252         (release-prep-hook): New overridable variable.
10253
10254 2009-12-13  Bruno Haible  <bruno@clisp.org>
10255
10256         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
10257
10258 2009-12-13  Jim Meyering  <meyering@redhat.com>
10259
10260         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
10261         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
10262
10263 2009-12-12  Bruno Haible  <bruno@clisp.org>
10264
10265         duplocale: Tweak.
10266         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
10267
10268 2009-12-12  Karl Berry  <karl@gnu.org>
10269
10270         * config/srclist.txt (strtoll.c): tab changes, no more sync.
10271
10272 2009-12-12  Bruno Haible  <bruno@clisp.org>
10273
10274         * m4/po.m4: Undo incorrect untabification.
10275
10276 2009-12-12  Bruno Haible  <bruno@clisp.org>
10277
10278         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
10279         * modules/c-strtod (Depends-on): Add locale.
10280         * modules/c-strtold (Depends-on): Likewise.
10281
10282 2009-12-12  Bruno Haible  <bruno@clisp.org>
10283
10284         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
10285
10286 2009-12-11  Eric Blake  <ebb9@byu.net>
10287
10288         setenv: relax requirement in light of POSIX ruling
10289         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
10290         not NULL.
10291         * tests/test-setenv.c (main): Relax test.
10292         * tests/test-unsetenv.c (main): Likewise.
10293         * doc/posix-functions/setenv.texi (setenv): Document this.
10294         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
10295
10296 2009-12-11  Bruno Haible  <bruno@clisp.org>
10297
10298         New module 'fd-safer-flag'.
10299         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
10300         * lib/dup-safer.c (dup_safer_flag): Remove function.
10301         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
10302         * lib/fd-safer.c (fd_safer_flag): Remove function.
10303         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
10304         * modules/cloexec (configure.ac): Drop indicator macro.
10305         * modules/fd-safer-flag: New file.
10306         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
10307         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
10308         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
10309
10310 2009-12-11  Bruno Haible  <bruno@clisp.org>
10311
10312         Tests for module 'nl_langinfo'.
10313         * modules/nl_langinfo-tests: New file.
10314         * tests/test-nl_langinfo.sh: New file.
10315         * tests/test-nl_langinfo.c: New file.
10316
10317         New module 'nl_langinfo'.
10318         * lib/nl_langinfo.c: New file.
10319         * m4/nl_langinfo.m4: New file.
10320         * modules/nl_langinfo: New file.
10321         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
10322
10323 2009-12-11  Bruno Haible  <bruno@clisp.org>
10324
10325         Tests for module 'langinfo'.
10326         * modules/langinfo-tests: New file.
10327         * tests/test-langinfo.c: New file.
10328
10329         New module 'langinfo'.
10330         * lib/langinfo.in.h: New file.
10331         * m4/langinfo_h.m4: New file.
10332         * modules/langinfo: New file.
10333         * doc/posix-headers/langinfo.texi: Mention the new module.
10334
10335 2009-12-11  Bruno Haible  <bruno@clisp.org>
10336
10337         * lib/config.charset: Untabify.
10338
10339 2009-12-11  Bruno Haible  <bruno@clisp.org>
10340
10341         * modules/unistd-safer (configure.ac): Drop indicator macro.
10342
10343 2009-12-11  Bruno Haible  <bruno@clisp.org>
10344
10345         Move pipe2-safer code to its own file.
10346         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
10347         * lib/pipe-safer.c (pipe2_safer): Remove function.
10348         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
10349         (Makefile.am): Add it to lib_SOURCES.
10350
10351 2009-12-10  Bruno Haible  <bruno@clisp.org>
10352
10353         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
10354
10355 2009-12-10  Bruno Haible  <bruno@clisp.org>
10356
10357         Declare which arguments expect non-NULL values, for GCC and clang.
10358         * build-aux/arg-nonnull.h: New file.
10359         * modules/arg-nonnull: New file.
10360         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
10361         (inet_ntop, inet_pton): Use it.
10362         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
10363         (closedir, dirfd, opendir, scandir, alphasort): Use it.
10364         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
10365         (open, openat): Use it.
10366         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
10367         (fnmatch): Use it.
10368         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
10369         (getopt, getopt_long, getopt_long_only): Use it.
10370         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
10371         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
10372         Use it.
10373         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
10374         (iconv_open): Use it.
10375         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
10376         (strtoimax, strtoumax): Use it.
10377         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
10378         (duplocale): Use it.
10379         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
10380         (frexp, frexpl): Use it.
10381         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
10382         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
10383         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
10384         (tsearch, tfind, tdelete, twalk): Use it.
10385         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
10386         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
10387         sigpending): Use it.
10388         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
10389         (posix_spawn, posix_spawnp, posix_spawnattr_init,
10390         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
10391         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
10392         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
10393         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
10394         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
10395         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
10396         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
10397         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
10398         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
10399         Use it.
10400         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
10401         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
10402         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
10403         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
10404         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
10405         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
10406         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
10407         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
10408         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
10409         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
10410         strtoull, unsetenv): Use it.
10411         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
10412         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
10413         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
10414         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
10415         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
10416         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
10417         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
10418         (strcasecmp, strncasecmp): Use it.
10419         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
10420         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
10421         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
10422         rpl_setsockopt): Use it.
10423         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
10424         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
10425         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
10426         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
10427         (gettimeofday): Use it.
10428         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
10429         (times): Use it.
10430         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
10431         (uname): Use it.
10432         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
10433         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
10434         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
10435         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
10436         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
10437         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
10438         unlinkat, write): Use it.
10439         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
10440         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
10441         * lib/argv-iter.h: Include arg-nonnull.h.
10442         (_ATTRIBUTE_NONNULL_): Remove macro.
10443         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
10444         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
10445         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
10446         optimization.
10447         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
10448         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
10449         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
10450         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
10451         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
10452         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
10453         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
10454         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
10455         * modules/arpa_inet (Depends-on): Add arg-nonnull.
10456         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
10457         * modules/dirent (Depends-on): Add arg-nonnull.
10458         (Makefile.am): Insert arg-nonnull.h into dirent.h.
10459         * modules/fcntl-h (Depends-on): Add arg-nonnull.
10460         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
10461         * modules/fnmatch (Depends-on): Add arg-nonnull.
10462         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
10463         * modules/getopt-posix (Depends-on): Add arg-nonnull.
10464         (Makefile.am): Insert arg-nonnull.h into getopt.h.
10465         * modules/glob (Depends-on): Add arg-nonnull.
10466         (Makefile.am): Insert arg-nonnull.h into glob.h.
10467         * modules/iconv_open (Depends-on): Add arg-nonnull.
10468         (Makefile.am): Insert arg-nonnull.h into iconv.h.
10469         * modules/inttypes (Depends-on): Add arg-nonnull.
10470         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
10471         * modules/locale (Depends-on): Add arg-nonnull.
10472         (Makefile.am): Insert arg-nonnull.h into locale.h.
10473         * modules/math (Depends-on): Add arg-nonnull.
10474         (Makefile.am): Insert arg-nonnull.h into math.h.
10475         * modules/netdb (Depends-on): Add arg-nonnull.
10476         (Makefile.am): Insert arg-nonnull.h into netdb.h.
10477         * modules/search (Depends-on): Add arg-nonnull.
10478         (Makefile.am): Insert arg-nonnull.h into search.h.
10479         * modules/signal (Depends-on): Add arg-nonnull.
10480         (Makefile.am): Insert arg-nonnull.h into signal.h.
10481         * modules/spawn (Depends-on): Add arg-nonnull.
10482         (Makefile.am): Insert arg-nonnull.h into spawn.h.
10483         * modules/stdio (Depends-on): Add arg-nonnull.
10484         (Makefile.am): Insert arg-nonnull.h into stdio.h.
10485         * modules/stdlib (Depends-on): Add arg-nonnull.
10486         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
10487         * modules/string (Depends-on): Add arg-nonnull.
10488         (Makefile.am): Insert arg-nonnull.h into string.h.
10489         * modules/strings (Depends-on): Add arg-nonnull.
10490         (Makefile.am): Insert arg-nonnull.h into strings.h.
10491         * modules/sys_socket (Depends-on): Add arg-nonnull.
10492         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
10493         * modules/sys_stat (Depends-on): Add arg-nonnull.
10494         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
10495         * modules/sys_time (Depends-on): Add arg-nonnull.
10496         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
10497         * modules/sys_times (Depends-on): Add arg-nonnull.
10498         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
10499         * modules/sys_utsname (Depends-on): Add arg-nonnull.
10500         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
10501         * modules/time (Depends-on): Add arg-nonnull.
10502         (Makefile.am): Insert arg-nonnull.h into time.h.
10503         * modules/unistd (Depends-on): Add arg-nonnull.
10504         (Makefile.am): Insert arg-nonnull.h into unistd.h.
10505         * modules/wchar (Depends-on): Add arg-nonnull.
10506         (Makefile.am): Insert arg-nonnull.h into wchar.h.
10507         * modules/argv-iter (Depends-on): Add arg-nonnull.
10508         * tests/test-canonicalize.c (null_ptr): New function.
10509         (main): Use it.
10510         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
10511         (main): Use it.
10512         * tests/test-memmem.c (null_ptr): New function.
10513         (main): Use it.
10514         Reported by Jim Meyering.
10515
10516 2009-12-10  Bruno Haible  <bruno@clisp.org>
10517
10518         Use spaces for indentation, not tabs.
10519         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
10520         * m4/*.m4: Untabify.
10521         * build-aux/*.h: Untabify.
10522         * tests/**/*.[hc]: Untabify.
10523         * README: New section "Indent with spaces, not TABs", based on
10524         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
10525         * NEWS: Mention the change.
10526
10527 2009-12-10  Bruno Haible  <bruno@clisp.org>
10528
10529         pty test: Fix link error.
10530         * modules/pty-tests (Makefile.am): Add the default LDADD value to
10531         test_pty_LDADD.
10532
10533 2009-12-07  Simon Josefsson  <simon@josefsson.org>
10534
10535         * modules/pty: New file.
10536         * modules/pty-tests: New file.
10537         * m4/pty.m4: New file.
10538         * tests/test-pty.c: New file.
10539         * doc/glibc-headers/pty.texi: Modified.
10540         * doc/glibc-functions/forkpty.texi: Modified.
10541         * doc/glibc-functions/openpty.texi: Modified.
10542
10543 2009-12-10  Bruno Haible  <bruno@clisp.org>
10544
10545         Avoid syntax error in C++ mode.
10546         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
10547
10548 2009-12-10  Bruno Haible  <bruno@clisp.org>
10549
10550         Use sed with option -e.
10551         * gnulib-tool (func_version, func_emit_copyright_notice,
10552         func_emit_initmacro_end, func_import, func_create_testdir): Pass
10553         option -e to sed.
10554         * modules/link-warning (Makefile.am): Likewise.
10555
10556 2009-12-10  Jim Meyering  <meyering@redhat.com>
10557
10558         mgetgroups: do not write bytes beyond end of malloc'd buffer
10559         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
10560         username, we call getgroups with a one-element-shorter buffer,
10561         but still told it the length was original, max_n_groups.
10562
10563 2009-12-09  Eric Blake  <ebb9@byu.net>
10564
10565         cloexec: relax license
10566         * modules/cloexec (Maintainer): Add myself.
10567         (License): Use LGPL, not GPL.
10568
10569         link-warning: optimize generation
10570         * modules/link-warning (Makefile.am): Reduce process usage.
10571
10572 2009-12-09  Bruno Haible  <bruno@clisp.org>
10573
10574         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
10575         workaround was added on 2009-11-17.
10576
10577 2009-12-09  Jim Meyering  <meyering@redhat.com>
10578             Bruno Haible  <bruno@clisp.org>
10579
10580         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
10581         * modules/link-warning (Makefile.am): Make the comment-removing sed
10582         command more robust in the face of bootstrap-prepended comment lines.
10583
10584 2009-12-09  Bruno Haible  <bruno@clisp.org>
10585
10586         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
10587         most one group.
10588
10589 2009-12-09  Simon Josefsson <simon@josefsson.org>
10590             Bruno Haible  <bruno@clisp.org>
10591
10592         * build-aux/link-warning.h: Add copyright notice.
10593         * modules/link-warning (Makefile.am): Generate link-warning.h from
10594         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
10595         * NEWS: Mention change in link-warning module.
10596         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
10597         * modules/dirent (Makefile.am): Add dependency to dirent.h.
10598         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
10599         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
10600         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
10601         * modules/math (Makefile.am): Add dependency to math.h.
10602         * modules/search (Makefile.am): Add dependency to search.h.
10603         * modules/signal (Makefile.am): Add dependency to signal.h.
10604         * modules/spawn (Makefile.am): Add dependency to spawn.h.
10605         * modules/stdio (Makefile.am): Add dependency to stdio.h.
10606         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
10607         * modules/string (Makefile.am): Add dependency to string.h.
10608         * modules/strings (Makefile.am): Add dependency to strings.h.
10609         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
10610         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
10611         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
10612         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
10613         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
10614         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
10615         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
10616         * modules/unistd (Makefile.am): Add dependency to unistd.h.
10617         * modules/wchar (Makefile.am): Add dependency to wchar.h.
10618
10619 2009-12-09  Bruno Haible  <bruno@clisp.org>
10620
10621         fchdir: Optimize away rpl_fstat when possible.
10622         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
10623         REPLACE_OPEN_DIRECTORY.
10624         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
10625
10626 2009-12-09  Bruno Haible  <bruno@clisp.org>
10627
10628         * lib/fchdir.c: Update comment.
10629
10630 2009-12-09  Bruno Haible  <bruno@clisp.org>
10631
10632         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
10633
10634 2009-12-08  Eric Blake  <ebb9@byu.net>
10635
10636         fchdir: avoid memory leak on re-registration.
10637         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
10638
10639 2009-12-08  Jim Meyering  <meyering@redhat.com>
10640
10641         init.sh: avoid Solaris 10 /bin/sh portability problem
10642         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
10643         sourced script:
10644           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
10645           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
10646           bar
10647         tests/init.sh relied on that, accepting a --set-path=DIR argument,
10648         and two tests used that idiom.
10649         * tests/init.sh: Update suggested usage comments.
10650         (path_prepend_): New function, to be used in place
10651         of the --src-path=DIR option.
10652         (setup_): Move PATH-prepending code into path_prepend_.
10653         * tests/test-pread.sh: Adapt to new usage.
10654         * tests/test-xalloc-die.sh: Likewise.
10655
10656 2009-12-08  Simon Josefsson  <simon@josefsson.org>
10657
10658         * doc/gnulib.texi (Glibc pty.h): Add.
10659         * doc/glibc-functions/forkpty.texi: Add.
10660         * doc/glibc-functions/openpty.texi: Add.
10661         Suggested by Bruno Haible.
10662
10663 2009-12-08  Eric Blake  <ebb9@byu.net>
10664
10665         fchdir: fix logic bugs
10666         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
10667         * tests/test-fchdir.c (main): Enhance test.
10668         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
10669         is in use.
10670
10671         dup2: fix logic bugs
10672         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
10673         REPLACE_DUP2 to decide when rpl_dup2 is needed.
10674         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
10675         exists.
10676         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
10677
10678 2009-12-07  Eric Blake  <ebb9@byu.net>
10679
10680         unlink: fix m4 detection
10681         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
10682
10683         unistd-safer: add unit test
10684         * modules/unistd-safer-tests: New file.
10685         * tests/test-dup-safer.c: Likewise.
10686         * tests/test-cloexec.c (setmode): Avoid compiler warning.
10687         * tests/test-dup2.c (setmode): Likewise.
10688         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
10689
10690         cloexec: preserve text vs. binary across dup_cloexec
10691         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
10692         mode.
10693         * modules/dup2-tests (Depends-on): Add binary-io.
10694         * modules/cloexec-tests (Depends-on): Likewise.
10695         * tests/test-dup2.c (setmode, is_mode): New helpers.
10696         (main): Add tests that translation mode is preserved.
10697         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
10698         Reported by Bruno Haible.
10699
10700         mgetgroups: reduce duplicate listings
10701         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
10702         resulting array.
10703         * tests/test-chown.h (test_chown): Simplify client.
10704         * tests/test-lchown.h (test_lchown): Likewise.
10705
10706 2009-12-06  Bruno Haible  <bruno@clisp.org>
10707
10708         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
10709         value.
10710
10711 2009-12-06  Bruno Haible  <bruno@clisp.org>
10712
10713         * lib/progname.c: Include stdio.h, stdlib.h.
10714         (set_program_name): Reject a NULL argument.
10715
10716 2009-12-05  Eric Blake  <ebb9@byu.net>
10717
10718         pipe2-safer: new module
10719         * modules/pipe2-safer: New file.
10720         * lib/unistd-safer.h (pipe2_safer): New prototype.
10721         * lib/unistd--.h (pipe2): New wrapper.
10722         * lib/pipe-safer.c (pipe2_safer): New function.
10723         * modules/pipe (Depends-on): Add pipe2-safer.
10724         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
10725
10726         stdlib-safer: preserve cloexec flag for mkostemp[s]
10727         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
10728         fd_safer_flag.
10729
10730         unistd-safer: allow preservation of cloexec status via flag
10731         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
10732         prototypes.
10733         * lib/dup-safer.c (dup_safer_flag): New function.
10734         * lib/fd-safer.c (fd_safer_flag): Likewise.
10735         * modules/cloexec (configure.ac): Set witness.
10736
10737         test-dup2: enhance test
10738         * modules/dup2-tests (Depends-on): Add cloexec.
10739         * tests/test-dup2.c (main): Enhance test.
10740
10741         cloexec: add dup_cloexec
10742         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
10743         header and comments.
10744         * lib/cloexec.c (set_cloexec_flag): Add comments.
10745         (dup_cloexec): New function, with mingw implementation borrowed
10746         from...
10747         * lib/w32spawn.h (dup_noinherit): ...here.
10748         * modules/execute (Depends-on): Add cloexec.
10749         * modules/pipe (Depends-on): Likewise.
10750         * modules/cloexec (Depends-on): Add dup2.
10751         * modules/cloexec-tests (Files): New file.
10752         * tests/test-cloexec.c: Likewise.
10753
10754         test-xalloc-die: fix test for mingw
10755         * modules/xalloc-die-tests (Files): Add tests/init.sh.
10756         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
10757         directory and .exe suffix off argv[0] output.
10758
10759         test-fseeko: fix test for mingw
10760         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
10761         than undefining fseek, so test will pass on mingw.
10762
10763 2009-12-05  Bruno Haible  <bruno@clisp.org>
10764
10765         * lib/progname.h (set_program_name): Clarify specification.
10766         * lib/progname.c (set_program_name): Likewise.
10767         Reported by Jim Meyering.
10768
10769 2009-12-05  Jim Meyering  <meyering@redhat.com>
10770
10771         maint.mk: backslash-escape parens in default regexp
10772         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
10773         backslash-escape the literal parentheses.
10774
10775         maint.mk: news-date-check: use grep -E
10776         * top/maint.mk (today): Define a Make variable, not a...
10777         (news-date-check): ...shell variable.
10778         (news-date-regexp): Use the Make variable.
10779         Use grep's -E option.  Change the failing diagnostic to mention
10780         the variable, $(news-date-regexp).
10781
10782 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
10783
10784         maintainer-makefile: allow customization of NEWS entry format
10785         * top/maint.mk (news-date-regexp): New overridable variable.
10786         (news-date-check): Use it.
10787
10788 2009-12-04  Eric Blake  <ebb9@byu.net>
10789
10790         mgetgroups: add xgetgroups, and avoid ENOSYS failures
10791         * lib/mgetgroups.h (xgetgroups): New prototype.
10792         * lib/mgetgroups.c (xgetgroups): New wrapper.
10793         (mgetgroups): Handle ENOSYS.
10794         * modules/mgetgroups (Depends-on): Add realloc.
10795         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
10796
10797         mgetgroups: avoid argument promotion issues with -1
10798         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
10799         for invalid gid_t.
10800         * tests/test-chown.h (getegid, test_chown): Likewise.
10801         * tests/test-lchown.h (getegid, test_lchown): Likewise.
10802
10803 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
10804
10805         exclude: Fix header file problems.
10806         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
10807
10808 2009-12-01  Jim Meyering  <meyering@redhat.com>
10809
10810         fts: fts_open: do not let an empty string cause immediate failure
10811         This is required in support of GNU rm, for which the command
10812         "rm A '' B" must process and remove both A and B, in spite of
10813         the empty string argument.
10814         * lib/fts.c (fts_open): Do not let the presence of an empty string
10815         cause fts_open to fail immediately.  Most fts-using tools must be
10816         able to process all arguments, in order, and can be expected to
10817         diagnose such arguments themselves.
10818
10819 2009-11-30  Eric Blake  <ebb9@byu.net>
10820
10821         utimens: fix compilation error
10822         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
10823         Declare variable at right scope.
10824
10825 2009-11-29  Jim Meyering  <meyering@redhat.com>
10826
10827         bootstrap: handle perl-5.11's changed --version output
10828         * build-aux/bootstrap (get_version): Handle perl separately,
10829         since perl-5.11's --version output is different.
10830
10831 2009-11-28  Jim Meyering  <meyering@redhat.com>
10832
10833         userspec: depend on the inttostr module, too
10834         * modules/userspec (Depends-on): Add inttostr.
10835
10836         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
10837         * lib/userspec.c (parse_with_separator): Do not accept a user ID
10838         number of MAXUID when it evaluates to (uid_t) -1.
10839         Likewise for group ID.  Reported by Matt McCutchen in
10840         <http://savannah.gnu.org/bugs/?28113>
10841
10842         userspec: reformat to use spaces, not TABs
10843         * lib/userspec.c: Expand TABs to spaces.
10844         Add Emacs' "indent-tabs-mode: nil" hint.
10845
10846 2009-11-27  Eric Blake  <ebb9@byu.net>
10847
10848         getopt-gnu: flush out another BSD bug
10849         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
10850         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
10851         flush out BSD bug.
10852         * tests/test-getopt.h (test_getopt): End lists with NULL.
10853         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10854         (test_getopt_long_posix): Enhance test.
10855         * modules/getopt-posix-tests (Depends-on): Add stdbool.
10856         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
10857         getopt-gnu.
10858         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10859         Likewise.
10860
10861 2009-11-27  Simon Josefsson  <simon@josefsson.org>
10862
10863         * modules/idpriv-droptemp-tests (Notice): Fix text.
10864
10865 2009-11-27  Jim Meyering  <meyering@redhat.com>
10866
10867         test-xalloc-die: avoid spurious failure due to libtool argv difference
10868         In a libtool-enabled project, this test would fail due to a difference
10869         in the emitted program name, e.g.,
10870         -test-xalloc-die: memory exhausted
10871         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
10872         Use program to avoid that.
10873         * modules/xalloc-die-tests (Depends-on): Add progname.
10874         * tests/test-xalloc-die.c: Include progname.h".
10875         (program_name): Remove decl.
10876         (main): Call set_program_name.
10877         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
10878
10879 2009-11-26  Richard Jones  <rjones@redhat.com>
10880
10881         w32sock: leave win32 error in place.
10882         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
10883
10884 2009-11-26  Eric Blake  <ebb9@byu.net>
10885
10886         init.sh: suggest to use skip_ and fail_ functions in comments
10887         * tests/init.sh: Add a sentence.
10888
10889 2009-11-25  Bruno Haible  <bruno@clisp.org>
10890
10891         init.sh: add documentation in comments
10892         * tests/init.sh: Add some developer and user documentation.
10893
10894 2009-11-26  Jim Meyering  <meyering@redhat.com>
10895
10896         init.sh: accommodate even those who specify bogus srcdir manually
10897         * tests/init.sh: Normally, srcdir is guaranteed by automake and
10898         configure-time tests to be sanitized, so that there is no need to
10899         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
10900         (with no double quotes) suffices.  However, since tests may be
10901         invoked manually, and since you may explicitly set srcdir to the
10902         name of a directory containing spaces, do quote its uses here.
10903         * tests/test-pread.sh: Likewise.
10904         Suggested by Bruno Haible.
10905
10906         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
10907         * tests/test-pread.sh: Write no data into the pipe, because
10908         test-pread actually reads none.  This avoids a diagnostic,
10909         "bash: echo: write error: Broken pipe", that arises in the unusual
10910         event something is ignoring SIGPIPE, and might be interpreted
10911         as some sort of failure.  Reported by Bruno Haible.
10912
10913 2009-11-25  Jim Meyering  <meyering@redhat.com>
10914
10915         test-pread: cover failure with ESPIPE and EINVAL
10916         * tests/test-pread.c (main): Test for failure, too.
10917         * tests/test-pread.sh: Invoke with stdin on a pipe.
10918         Suggested by Eric Blake.
10919
10920         pread: improvement and fix
10921         * modules/pread (Depends-on): Depend on lseek, for portability to
10922         e.g., mingw.  Suggested by Eric Blake.
10923         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
10924
10925         unistd.in.h: correct declaration of pread
10926         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
10927         Reported by Richard W.M. Jones.
10928
10929         test-pread.sh: distribute the test script
10930         * modules/pread-tests (Files): Include test-pread.sh.
10931
10932         test-pread.sh: clean up
10933         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
10934         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
10935         That is unnecessary, since it's always ".".
10936         Suggestion from Eric Blake.
10937
10938         test-pread.sh: make executable
10939         * tests/test-pread.sh: Set executable bit.
10940         Reported by Eric Blake.
10941
10942         correct typo in test-pread.sh
10943         * tests/test-pread.sh: Add #! line.
10944
10945         test pread
10946         * tests/test-pread.c: New file.
10947         * tests/test-pread.sh: Likewise.
10948         * modules/pread-tests: Likewise.
10949
10950         pread: new module
10951         * modules/pread: New file.
10952         * lib/unistd.in.h (pread): Define/declare.
10953         * lib/pread.c (pread): New file.
10954         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
10955         * modules/unistd (Makefile.am): Substitute witnesses.
10956         * doc/posix-functions/pread.texi (pread): Update.
10957         * MODULES.html.sh: Add pread.
10958
10959 2009-11-25  Jim Meyering  <meyering@redhat.com>
10960
10961         tests/init.sh: new file to be used via most *.sh tests
10962         * tests/init.sh: New file.
10963
10964 2009-11-25  Eric Blake  <ebb9@byu.net>
10965
10966         utimens: work around older Linux failure with symlinks
10967         * lib/utimens.c (lutimensat_works_really): New variable.
10968         (fdutimens, lutimens): Use it to manage kernels that support
10969         nanosecond times on files, but not on symlinks.
10970         Reported by Ondřej Vašík.
10971
10972         utimes: fix configure grammar
10973         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
10974
10975 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
10976
10977         regex: Fix fastmap for multibyte character ranges.
10978         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
10979         characters when a multibyte character range is included.
10980
10981 2009-11-22  Andy Wingo  <wingo@pobox.com>
10982
10983         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
10984         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
10985
10986 2009-11-24  Bruno Haible  <bruno@clisp.org>
10987
10988         doc: Most *_l functions exist in MacOS X 10.5.
10989         * doc/posix-functions/duplocale.texi: Update platforms list.
10990         * doc/posix-functions/freelocale.texi: Likewise.
10991         * doc/posix-functions/newlocale.texi: Likewise.
10992         * doc/posix-functions/uselocale.texi: Likewise.
10993         * doc/posix-functions/isalnum_l.texi: Likewise.
10994         * doc/posix-functions/isalpha_l.texi: Likewise.
10995         * doc/posix-functions/isblank_l.texi: Likewise.
10996         * doc/posix-functions/iscntrl_l.texi: Likewise.
10997         * doc/posix-functions/isdigit_l.texi: Likewise.
10998         * doc/posix-functions/isgraph_l.texi: Likewise.
10999         * doc/posix-functions/islower_l.texi: Likewise.
11000         * doc/posix-functions/isprint_l.texi: Likewise.
11001         * doc/posix-functions/ispunct_l.texi: Likewise.
11002         * doc/posix-functions/isspace_l.texi: Likewise.
11003         * doc/posix-functions/isupper_l.texi: Likewise.
11004         * doc/posix-functions/iswalnum_l.texi: Likewise.
11005         * doc/posix-functions/iswalpha_l.texi: Likewise.
11006         * doc/posix-functions/iswblank_l.texi: Likewise.
11007         * doc/posix-functions/iswcntrl_l.texi: Likewise.
11008         * doc/posix-functions/iswctype_l.texi: Likewise.
11009         * doc/posix-functions/iswdigit_l.texi: Likewise.
11010         * doc/posix-functions/iswgraph_l.texi: Likewise.
11011         * doc/posix-functions/iswlower_l.texi: Likewise.
11012         * doc/posix-functions/iswprint_l.texi: Likewise.
11013         * doc/posix-functions/iswpunct_l.texi: Likewise.
11014         * doc/posix-functions/iswspace_l.texi: Likewise.
11015         * doc/posix-functions/iswupper_l.texi: Likewise.
11016         * doc/posix-functions/iswxdigit_l.texi: Likewise.
11017         * doc/posix-functions/isxdigit_l.texi: Likewise.
11018         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
11019         * doc/posix-functions/strcasecmp_l.texi: Likewise.
11020         * doc/posix-functions/strcoll_l.texi: Likewise.
11021         * doc/posix-functions/strfmon_l.texi: Likewise.
11022         * doc/posix-functions/strftime_l.texi: Likewise.
11023         * doc/posix-functions/strncasecmp_l.texi: Likewise.
11024         * doc/posix-functions/strxfrm_l.texi: Likewise.
11025         * doc/posix-functions/tolower_l.texi: Likewise.
11026         * doc/posix-functions/toupper_l.texi: Likewise.
11027         * doc/posix-functions/towctrans_l.texi: Likewise.
11028         * doc/posix-functions/towlower_l.texi: Likewise.
11029         * doc/posix-functions/towupper_l.texi: Likewise.
11030         * doc/posix-functions/wcscoll_l.texi: Likewise.
11031         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
11032         * doc/posix-functions/wctrans_l.texi: Likewise.
11033         * doc/posix-functions/wctype_l.texi: Likewise.
11034         * doc/glibc-functions/strptime_l.texi: Likewise.
11035         * doc/glibc-functions/strtod_l.texi: Likewise.
11036         * doc/glibc-functions/strtof_l.texi: Likewise.
11037         * doc/glibc-functions/strtol_l.texi: Likewise.
11038         * doc/glibc-functions/strtold_l.texi: Likewise.
11039         * doc/glibc-functions/strtoll_l.texi: Likewise.
11040         * doc/glibc-functions/strtoul_l.texi: Likewise.
11041         * doc/glibc-functions/strtoull_l.texi: Likewise.
11042         * doc/glibc-functions/wcsftime_l.texi: Likewise.
11043         * doc/glibc-functions/wcstod_l.texi: Likewise.
11044         * doc/glibc-functions/wcstof_l.texi: Likewise.
11045         * doc/glibc-functions/wcstol_l.texi: Likewise.
11046         * doc/glibc-functions/wcstold_l.texi: Likewise.
11047         * doc/glibc-functions/wcstoll_l.texi: Likewise.
11048         * doc/glibc-functions/wcstoul_l.texi: Likewise.
11049         * doc/glibc-functions/wcstoull_l.texi: Likewise.
11050
11051 2009-11-24  Bruno Haible  <bruno@clisp.org>
11052
11053         duplocale: Fix logic bug.
11054         * lib/duplocale.c: Don't include <langinfo.h>.
11055         (_NL_LOCALE_NAME): Remove macro.
11056         (rpl_duplocale): Use setlocale instead of nl_langinfo.
11057         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
11058
11059 2009-11-23  Jim Meyering  <meyering@redhat.com>
11060
11061         test-update-copyright: don't hard-code /usr/bin/perl
11062         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
11063         perl to print the current year.  Gilles Espinasse reported that
11064         the replaced use of perl was hard-coded as /usr/bin/perl.
11065
11066 2009-11-23  Bruno Haible  <bruno@clisp.org>
11067
11068         duplocale: Add support for glibc 2.3.x.
11069         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
11070
11071 2009-11-22  Bruno Haible  <bruno@clisp.org>
11072
11073         vasnprintf: Tiny optimization.
11074         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
11075         MacOS X.
11076
11077 2009-11-22  Bruno Haible  <bruno@clisp.org>
11078
11079         Tests for module 'duplocale'.
11080         * modules/duplocale-tests: New file.
11081         * tests/test-duplocale.c: New file.
11082
11083         New module 'duplocale'.
11084         * m4/duplocale.m4: New file.
11085         * lib/locale.in.h (duplocale): New declaration.
11086         * lib/duplocale.c: New file.
11087         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
11088         gl_LOCALE_H_DEFAULTS): New macros.
11089         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
11090         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
11091         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
11092         REPLACE_DUPLOCALE.
11093         * modules/duplocale: New file.
11094         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
11095
11096 2009-11-22  Bruno Haible  <bruno@clisp.org>
11097
11098         * modules/locale-tests (configure.ac): Test for newlocale function.
11099         * tests/test-locale.c: When the system has extended locale functions,
11100         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
11101
11102         locale: Make locale_t available when possible.
11103         * lib/locale.in.h: Include <xlocale.h> when it exists.
11104         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
11105         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
11106         * modules/locale (Depends-on): Add extensions.
11107         (Makefile.am): Also substitute HAVE_XLOCALE_H.
11108         * doc/posix-headers/locale.texi: Document the problem with locale_t.
11109
11110 2009-11-22  Bruno Haible  <bruno@clisp.org>
11111
11112         Add comments.
11113         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
11114         invocation.
11115         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
11116         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11117         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
11118
11119 2009-11-22  Bruno Haible  <bruno@clisp.org>
11120
11121         error: account for the possibility of freopen (stdout).
11122         * lib/error.c: Include <unistd.h>.
11123         (flush_stdout): New function, extracted from error and error_at_line.
11124         Determine stdout's fd dynamically.
11125         (error, error_at_line): Invoke flush_stdout.
11126         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
11127         * modules/error (Depends-on): Add unistd.
11128
11129 2009-11-22  Bruno Haible  <bruno@clisp.org>
11130
11131         diffseq: Add comment.
11132         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
11133
11134 2009-11-22  Jim Meyering  <meyering@redhat.com>
11135
11136         c-stack: avoid defining an unused static function
11137         * lib/c-stack.c (find_stack_direction): Do not define this function
11138         when it will not be used.
11139
11140         diffseq: avoid spurious gcc warnings
11141         * lib/diffseq.h (IF_LINT2): Define.
11142         (compareseq): Use it to initialize two members of "part".
11143         This avoids two used-uninitialized warnings.
11144
11145 2009-11-21  Jim Meyering  <meyering@redhat.com>
11146
11147         c-stack: avoid "ignoring return value of `write'" warning
11148         * lib/c-stack.c: Include "ignore-value.h".
11149         (die): Explicitly ignore each write return value.
11150         * modules/c-stack (Depends-on): Add ignore-value.
11151
11152 2009-11-21  Bruno Haible  <bruno@clisp.org>
11153
11154         diffseq: reduce scope of variable 'best'.
11155         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
11156         variable, earlier used for two different purposes.
11157
11158 2009-11-21  Jim Meyering  <meyering@redhat.com>
11159
11160         diffseq: remove useless assignment to "best"
11161         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
11162         assignment.  At that point "best" is already guaranteed to be zero.
11163
11164 2009-11-20  Eric Blake  <ebb9@byu.net>
11165
11166         build: mention ftp redirector in release announcements
11167         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
11168         values that used to come from cfg.mk; mention FTP redirect URL.
11169         * build-aux/announce-gen: Mention the mirror list.
11170         Suggested by Karl Berry.
11171
11172         nanosleep: improve port to mingw
11173         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
11174         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
11175         LIB_NANOSLEEP, but only when needed.
11176         * modules/select (Link): Document LIBSOCKET.
11177         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
11178         enough.
11179
11180         nanosleep: work around cygwin bug
11181         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
11182         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
11183         bug.
11184         (getnow): Delete, not needed.
11185         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
11186         LIB_CLOCK_GETTIME.
11187         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
11188         clock-time, gettime.
11189         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
11190         bug.
11191         * modules/nanosleep-tests: New test.
11192         * tests/test-nanosleep.c: New file.
11193
11194         sleep: work around cygwin bug
11195         * lib/sleep.c (rpl_sleep): Work around the bug.
11196         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
11197         (gl_PREREQ_SLEEP): Delete unused macro.
11198         * modules/sleep (Depends-on): Add verify.
11199         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
11200         * modules/unistd (Makefile.am): Substitute witness.
11201         * lib/unistd.in.h (sleep): Update prototype.
11202         * doc/posix-functions/sleep.texi (sleep): Document the bug.
11203         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
11204         * modules/sleep-tests (Depends-on): Check for alarm.
11205
11206 2009-11-20  Jim Meyering  <meyering@redhat.com>
11207
11208         maint.mk: improve sc_prohibit_magic_number_exit
11209         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
11210         so it does not match uses like System.exit(1).
11211         Add comments showing how to correct all offenders.
11212
11213 2009-11-19  Eric Blake  <ebb9@byu.net>
11214
11215         xalloc-die-tests: add missing library
11216         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
11217
11218         test-xvasprintf: silence compiler warnings
11219         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
11220         empty string from gcc.
11221
11222 2009-11-19  Jim Meyering  <meyering@redhat.com>
11223
11224         xfreopen: new module, from coreutils
11225         * modules/xfreopen: New module.
11226         * lib/xfreopen.c: New file.
11227         * lib/xfreopen.h: New file.
11228         * MODULES.html.sh (File stream based Input/Output"): Add it.
11229
11230 2009-11-19  Eric Blake  <ebb9@byu.net>
11231
11232         manywarnings: depend on warnings
11233         * modules/manywarnings (Depends-on): Add warnings.
11234
11235         build: avoid compiler warnings
11236         * lib/select.c (rpl_select): Delete unused variable.
11237         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
11238
11239 2009-11-18  Eric Blake  <ebb9@byu.net>
11240
11241         tests: avoid false negative with --with-packager
11242         * tests/test-version-etc.sh: Discard packager information.
11243         * tests/test-argp-version-etc-1.sh: Likewise.
11244         Reported by Mike Frysinger.
11245
11246         utimens: fix regression on Solaris
11247         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
11248         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
11249         can only change fd timestamps via futimesat.  Instead, use an
11250         additional witness macro to avoid BSD bug.
11251         Reported by Jim Meyering.
11252
11253 2009-11-17  Eric Blake  <ebb9@byu.net>
11254
11255         usleep: use it to simplify tests
11256         * modules/stat-time-tests (Depends-on): Add usleep.
11257         (configure.ac): Drop usleep check.
11258         * modules/chown-tests (Depends-on, configure.ac): Likewise.
11259         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
11260         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
11261         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
11262         * modules/openat-tests (Depends-on, configure.ac): Likewise.
11263         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
11264         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
11265         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
11266         Likewise.
11267         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
11268         * tests/test-lchown.h (nap): Likewise.
11269         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
11270         * tests/test-stat-time.c (nap): Likewise.
11271         * tests/test-utimens-common.h (nap): Update comments.
11272
11273         usleep: new module
11274         * modules/usleep: New file.
11275         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
11276         * lib/usleep.c (usleep): Likewise.
11277         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
11278         * modules/unistd (Makefile.am): Substitute witnesses.
11279         * lib/unistd.in.h (usleep): Add declaration.
11280         * doc/pastposix-functions/usleep.texi (usleep): Document this.
11281         * MODULES.html.sh (Date and time): Likewise.
11282         * modules/usleep-tests (Depends-on): New test.
11283         * tests/test-usleep.c: New file.
11284
11285         chown: work around OpenBSD bug
11286         * lib/chown.c (rpl_chown): Work around the bug.
11287         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
11288         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
11289         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
11290         * modules/chown (Depends-on): Add stdbool.
11291         * modules/lchown (Depends-on): Likewise.
11292         * doc/posix-functions/chown.texi (chown): Document the bug.
11293         * doc/posix-functions/lchown.texi (lchown): Likewise.
11294         * tests/test-lchown.h (test_chown): Relax test.
11295
11296         mkstemp: avoid conflict with C++ keyword template
11297         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
11298         * lib/mkostemp.c (mkostemp): Likewise.
11299         * lib/mkostemps.c (mkostemps): Likewise.
11300         * lib/mkstemp.c (mkstemp): Likewise.
11301         * lib/mkstemps.c (mkstemps): Likewise.
11302
11303         xalloc-die-tests: optimize
11304         * tests/test-xalloc-die.sh: Reduce number of processes.
11305
11306 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11307
11308         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
11309         patch from ludo@gnu.org (Ludovic Courtès).
11310
11311 2009-11-17  Jim Meyering  <meyering@redhat.com>
11312
11313         version-etc: use proper license string
11314         * modules/version-etc (License): Use LGPL, not LGPLv3+.
11315         * modules/version-etc-fsf: Likewise.
11316
11317 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11318
11319         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
11320         printed to stdout.  Deal with EOL differences.
11321
11322 2009-11-17  Eric Blake  <ebb9@byu.net>
11323
11324         unsetenv: work around Solaris bug
11325         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
11326         * lib/unsetenv.c (rpl_unsetenv): Work around it.
11327         Reported by Jim Meyering.
11328
11329         vasnprintf: avoid compiler warnings
11330         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
11331         variables.
11332         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
11333
11334 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11335
11336         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
11337         settings since xalloc-die is no longer the self test,
11338         xalloc-die.sh is.
11339
11340 2009-11-17  Jim Meyering  <meyering@redhat.com>
11341
11342         test-xalloc-die.sh: make the code agree with the commit log
11343         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
11344         at the end, just in case you happen to have a test-xalloc-die
11345         program in some other PATH directory.
11346
11347         test-xalloc-die.sh: fix a portability bug
11348         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
11349         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
11350         Otherwise, argv[0] (as often seen in diagnostics) would be too
11351         system-dependent, sometimes with, and sometimes without the leading "./".
11352
11353         version-etc-fsf: relax license to LGPLv3+
11354         * modules/version-etc-fsf (License): Relax license.
11355
11356 2009-11-16  Eric Blake  <ebb9@byu.net>
11357
11358         xalloc-die-tests: avoid printing null pointer
11359         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
11360         shell script.
11361         * tests/test-xalloc-die.c (program_name): Declare.
11362         * tests/test-xalloc-die.sh (tmpfiles): New file.
11363
11364         setenv, unsetenv: work around various bugs
11365         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
11366         (setenv) [HAVE_SETENV]: Work around bugs.
11367         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
11368         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
11369         for bugs.
11370         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
11371         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
11372         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
11373         * modules/stdlib (Makefile.am): Update substitutions.
11374         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
11375         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
11376         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
11377         * modules/setenv-tests: New test.
11378         * modules/unsetenv-tests: Likewise.
11379         * tests/test-setenv.c: New file.
11380         * tests/test-unsetenv.c: Likewise.
11381
11382 2009-11-16  Jim Meyering  <meyering@redhat.com>
11383
11384         version-etc: relax license to LGPLv3+
11385         * modules/version-etc (License): Relax license.
11386
11387         better AC_REQUIRE expanded-before-required-warning avoidance
11388         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
11389         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
11390         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
11391         which is no longer needed.
11392
11393 2009-11-16  Eric Blake  <ebb9@byu.net>
11394
11395         test-freading: clean up temporary file
11396         * tests/test-freading.c (main): Remove file on success, and use
11397         ASSERT more liberally.
11398         Reported by Jim Meyering.
11399
11400 2009-11-16  Jim Meyering  <meyering@redhat.com>
11401
11402         avoid new AC_REQUIRE expanded-before-required warnings
11403         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
11404         merely using it.
11405         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
11406         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
11407
11408 2009-11-15  Simon Josefsson  <simon@josefsson.org>
11409
11410         * tests/test-xalloc-die.c: New file.
11411         * modules/xalloc-die-tests: New file.
11412         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
11413         XFAIL_TESTS so it can be appended by modules.
11414
11415 2009-11-15  Simon Josefsson  <simon@josefsson.org>
11416
11417         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
11418         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
11419
11420 2009-11-14  Eric Blake  <ebb9@byu.net>
11421
11422         fnmatch: avoid compiler warning
11423         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
11424         to silence compiler warning about mismatch signedness in ?:.
11425         Reported by Robert Millan.
11426
11427         intprops: add double-inclusion guard
11428         * lib/intprops.h: Allow idempotent includes.
11429         Suggested by Bruce Korb.
11430
11431         openat: detect Solaris fchownat bug
11432         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
11433         penalizing glibc chownat when only lchownat is broken.
11434         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
11435         trailing slash bugs.
11436         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
11437         * modules/openat-tests (Files): Include more files.
11438         (Depends-on): Add mgetgroups, sleep, stat-time.
11439         (configure.ac): Add additional checks.
11440         (Makefile.am): Build new test.
11441         * tests/test-fchownat.c: New file.
11442
11443         lchown: detect Solaris and FreeBSD bug
11444         * lib/lchown.c (rpl_lchown): Work around bug.
11445         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
11446         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11447         * modules/unistd (Makefile.am): Populate it.
11448         * lib/unistd.in.h (lchown): Update declaration.
11449         * doc/posix-functions/lchown.texi (lchown): Document the bug.
11450         * modules/lchown-tests: New file.
11451         * tests/test-lchown.h (test_lchown): Likewise.
11452         * tests/test-lchown.c (main): Likewise.
11453
11454         chown: detect Solaris and FreeBSD bug
11455         * lib/chown.c (rpl_chown): Work around bug.
11456         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
11457         (gl_PREREQ_CHOWN): Delete.
11458         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11459         * modules/unistd (Makefile.am): Populate it.
11460         * lib/unistd.in.h (chown): Update declaration.
11461         * lib/lchown.c (chown): Update client.
11462         * modules/lchown (Depends-on): Add lstat.
11463         * doc/posix-functions/chown.texi (chown): Document the bug.
11464         * doc/posix-functions/getgroups.texi (getgroups): Document
11465         getgroups pitfall.
11466         * modules/chown-tests: New file.
11467         * tests/test-chown.h (test_chown): Likewise.
11468         * tests/test-chown.c (main): Likewise.
11469
11470 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
11471
11472         gnulib-tool: correctly detect absence of m4 directories
11473         * gnulib-tool: Avoid extra newline on data passed to wc -l.
11474
11475 2009-11-14  Jim Meyering  <meyering@redhat.com>
11476
11477         maint.mk: Prohibit inclusion of "xalloc.h" without use.
11478         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
11479
11480 2009-11-14  John W. Eaton  <jwe@gnu.org>
11481
11482         strftime.h: wrap funtion declaration in extern "C" block
11483         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
11484
11485 2009-11-13  Eric Blake  <ebb9@byu.net>
11486
11487         getgroups: avoid compiler warning
11488         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
11489
11490         getgroups: work around FreeBSD bug
11491         * lib/getgroups.c (rpl_getgroups): Work around the bug.
11492         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
11493         * doc/posix-functions/getgroups.texi (getgroups): Document it.
11494         * tests/test-getgroups.c (main): Fix buffer overrun.
11495
11496         getgroups: avoid compilation failure
11497         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
11498         * modules/getgroups (Depends-on): Add stdint.
11499
11500 2009-11-13  Jim Meyering  <meyering@redhat.com>
11501
11502         test-getgroups: avoid compilation failure
11503         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
11504
11505 2009-11-13  Eric Blake  <ebb9@byu.net>
11506
11507         mgetgroups: new module, taken from coreutils
11508         * modules/mgetgroups: New file.
11509         * lib/mgetgroups.h: Likewise.
11510         * lib/mgetgroups.c (mgetgroups): Likewise.
11511         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
11512         * MODULES.html.sh (Users and groups): Mention it.
11513
11514         getgroups: don't expose GETGROUPS_T to user
11515         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
11516         an element at a time if GETGROUPS_T is wrong size.
11517         * lib/getugroups.h (getugroups): Change signature.
11518         * lib/unistd.in.h (getgroups): Likewise.
11519         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
11520         signature needs fixing.
11521         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
11522         AC_TYPE_GETGROUPS.
11523         * modules/group-member (Depends-on): Add getgroups.
11524         * lib/group-member.c (group_info, get_group_info): Use gid_t.
11525         (group_member): Rely on getgroups replacement.
11526         * lib/getugroups.c (getugroups): Use gid_t.
11527         * tests/test-getgroups.c (main): Likewise.
11528         * NEWS: Mention the signature change.
11529         * doc/posix-functions/getgroups.texi (getgroups): Mention the
11530         problem with signature.
11531         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
11532         GETGROUPS_T is still useful for setgroups.
11533
11534         getgroups, getugroups: provide stubs for mingw
11535         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
11536         * lib/getugroups.c (getugroups): Likewise.
11537         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
11538         function.  Modernize replacement scheme.
11539         (gl_PREREQ_GETGROUPS): Delete.
11540         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
11541         * modules/getgroups (configure.ac): Declare witness.
11542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
11543         * modules/unistd (Depends-on): Substitute witness.
11544         * lib/unistd.in.h (getgroups): Declare replacement.
11545
11546         getgroups: avoid calling exit
11547         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
11548         drop xalloc.
11549         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
11550         dependencies.
11551         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
11552         exiting, in the rare case of malloc failure.
11553
11554         getgroups: fix logic error
11555         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
11556         has more than 20 groups.
11557         * modules/getgroups-tests: New test.
11558         * tests/test-getgroups.c: New file.
11559
11560 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11561
11562         * tests/test-base64.c: Improve.
11563
11564 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11565
11566         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
11567         Blake <ebb9@byu.net>.
11568
11569 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11570
11571         * tests/test-xvasprintf.c: Add %s%s related checks.
11572
11573 2009-11-12  Eric Blake  <ebb9@byu.net>
11574
11575         version-etc: match standards.texi style
11576         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
11577         and use <> only for URLs.
11578
11579 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
11580
11581         fts: do not fail on a submount during traversal
11582         * lib/fts.c (fts_build): Read the stat info again after opening
11583         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
11584         Original report at http://bugzilla.redhat.com/501848.
11585
11586 2009-11-12  Jim Meyering  <meyering@redhat.com>
11587
11588         bootstrap: sync from coreutils
11589         * build-aux/bootstrap (bootstrap_epilogue): New function.
11590         Use git_modules_config in one more place.  This make bootstrap's
11591         --gnulib-srcdir option more useful for testing.
11592
11593         bootstrap: generalize autoheader check
11594         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
11595         AC_CONFIG_HEADERS.
11596
11597 2009-11-11  Eric Blake  <ebb9@byu.net>
11598
11599         mkfifoat: use new modules for Solaris and BSD bugs
11600         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
11601         * lib/mkfifoat.c (mknodat): Split...
11602         * lib/mknodat.c (mknodat): ...into new file.
11603         * modules/mkfifoat (Files): Ship new file.
11604         (Depends-on): Add mkfifo, mknod.
11605         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
11606         (Depends-on): Add symlink.
11607         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
11608         redundant with test_mkfifo.h.
11609         (do_mkfifoat, do_mknodat): New helpers.
11610
11611         mknod: new module
11612         * modules/mknod: New file.
11613         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
11614         * lib/mknod.c (mknod): Likewise.
11615         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
11616         defaults.
11617         * modules/sys_stat (Makefile.am): Substitute them.
11618         * lib/sys_stat.in.h (mknod): Declare replacement.
11619         * MODULES.html.sh (Support for systems lacking POSIX:2008):
11620         Document it.
11621         * doc/posix-functions/mknod.texi (mknod): Likewise.
11622         * modules/mknod-tests: New test.
11623         * tests/test-mknod.c: Likewise.
11624
11625         mkfifo: new module
11626         * modules/mkfifo: New file.
11627         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
11628         * lib/mkfifo.c (mkfifo): Likewise.
11629         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
11630         defaults.
11631         * modules/sys_stat (Makefile.am): Substitute them.
11632         * lib/sys_stat.in.h (mkfifo): Declare replacement.
11633         * MODULES.html.sh (Support for systems lacking POSIX:2008):
11634         Document it.
11635         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
11636         * modules/mkfifo-tests: New test.
11637         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
11638         from test-mkfifoat.c.
11639         * tests/test-mkfifo.c: New file.
11640
11641         readlink: detect FreeBSD bug
11642         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
11643         slash on symlink.
11644         * doc/posix-functions/readlink.texi (readlink): Document the bug.
11645         * tests/test-readlink.h (test_readlink): Enhance test.
11646
11647         symlink: detect FreeBSD bug
11648         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
11649         slash on symlink.
11650         * doc/posix-functions/symlink.texi (symlink): Document the bug.
11651         * tests/test-symlink.h (test_symlink): Enhance test.
11652
11653 2009-11-10  Eric Blake  <ebb9@byu.net>
11654
11655         link: detect FreeBSD bug
11656         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
11657         symlink.
11658         * doc/posix-functions/link.texi (link): Document the bug.
11659         * tests/test-link.h (test_link): Enhance test.
11660         * tests/test-linkat.c (main): Update caller.
11661
11662         unlink, remove: detect FreeBSD bug
11663         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
11664         slash on symlink.
11665         * doc/posix-functions/unlink.texi (unlink): Document the bug.
11666         * doc/posix-functions/remove.texi (remove): Likewise.
11667         * tests/test-unlink.h (test_unlink): Enhance test.
11668         * tests/test-remove.c (main): Likewise.
11669
11670 2009-11-09  Eric Blake  <ebb9@byu.net>
11671
11672         rename: detect FreeBSD bug
11673         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
11674         slash on symlink.
11675         * modules/renameat-tests (Depends-on): Add filenamecat.
11676         * tests/test-rename.h (test_rename): Allow one more errno.
11677         * tests/test-renameat.c (main): Likewise.
11678         * doc/posix-functions/rename.texi (rename): Document the bug.
11679
11680         open: detect FreeBSD bug
11681         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
11682         symlink.
11683         * doc/posix-functions/open.texi (open): Document the bug.
11684         * doc/posix-functions/utimes.texi (utimes): Likewise.
11685         * tests/test-open.h (test_open): Add parameters, and test symlink
11686         handling.
11687         * tests/test-open.c (main): Adjust caller.
11688         * tests/test-fcntl-safer.c (main): Likewise.
11689         * modules/open-tests (Depends-on): Add stdbool, symlink.
11690         * modules/fcntl-safer-tests (Depends-on): Likewise.
11691         * tests/test-openat.c (main): Add test-open tests.
11692
11693         stat: detect FreeBSD bug
11694         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
11695         symlink.
11696         * doc/posix-functions/stat.texi (stat): Document the bug.
11697         * tests/test-stat.h (test_stat_func): Add argument.
11698         * tests/test-stat.c (main): Adjust caller.
11699         * tests/test-fstatat.c (main): Likewise.
11700         * modules/stat-tests (Depends-on): Add stdbool, symlink.
11701         Reported by Jim Meyering.
11702
11703 2009-11-09  James Youngman  <jay@gnu.org>
11704
11705         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
11706         * lib/strftime.c: Correct placement of #include "ignore-value.h".
11707
11708 2009-11-08  Jim Meyering  <meyering@redhat.com>
11709
11710         utimens: remove invalid futimesat call
11711         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
11712         It used the file descriptor of the target file as the DIR_FD
11713         parameter and NULL as the file name.  That caused failure with
11714         errno == EFAULT on FreeBSD-8.0-rc2
11715
11716 2009-11-07  Eric Blake  <ebb9@byu.net>
11717
11718         fflush, freadseek: use fseeko, not fseek
11719         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
11720         (clear_ungetc_buffer): Avoid potential problems on large files.
11721         * lib/freadseek.c (freadseek): Likewise.
11722         * modules/freadseek (Depends-on): Add fseeko.
11723         * modules/fseek (configure.ac): Set a witness.
11724         * tests/test-fflush.c (main): Use fseeko.
11725         * tests/test-fpurge.c (fseek): Disable link warning.
11726         * tests/test-freadable.c (fseek): Likewise.
11727         * tests/test-freading.c (fseek): Likewise.
11728         * tests/test-fseeko.c (fseek): Likewise.
11729         * tests/test-ftell.c (fseek): Likewise.
11730         * tests/test-ftello.c (fseek): Likewise.
11731         * tests/test-fwritable.c (fseek): Likewise.
11732         * tests/test-fwriting.c (fseek): Likewise.
11733
11734 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11735
11736         * modules/memchr (Depends-on): Drop getpagesize dependency.
11737
11738 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11739
11740         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
11741         Reported by Ludovic Courtès.
11742         * build-aux/pmccabe2html: Improve example usage.
11743         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
11744
11745 2009-11-06  Jim Meyering  <meyering@redhat.com>
11746
11747         do-release-commit-and-tag: New module.
11748         Automate the release-commit and tag process.
11749         * build-aux/do-release-commit-and-tag: New script, from coreutils.
11750         * modules/do-release-commit-and-tag: New file.
11751         * MODULES.html.sh (Support for maintaining and releasing): Add it.
11752
11753 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11754
11755         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
11756         because test-select.c uses inet_pton.
11757
11758 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11759
11760         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
11761         GETADDRINFO_LIB.  Bump serial number.
11762         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
11763         Suggested by Eric Blake <ebb9@byu.net>.
11764
11765 2009-11-05  Eric Blake  <ebb9@byu.net>
11766
11767         strtod: detect darwin bug
11768         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
11769         Reported by Leo Davis.
11770
11771         freopen-safer: new module
11772         * modules/freopen-safer: New module.
11773         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
11774         * lib/freopen-safer.c (freopen_safer): New file.
11775         * lib/stdio-safer.h (freopen_safer): New declaration.
11776         * lib/stdio--.h (freopen): New override.
11777         * MODULES.html.sh (File stream based Input/Output): Mention it.
11778         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
11779         freopen-safer module.
11780         * doc/posix-functions/stderr.texi (stderr): Likewise.
11781         * doc/posix-functions/stdin.texi (stdin): Likewise.
11782         * doc/posix-functions/stdout.texi (stdout): Likewise.
11783         * modules/freopen-safer-tests: New test.
11784         * tests/test-reopen-safer.c: New file.
11785
11786 2009-11-05  Jim Meyering  <meyering@redhat.com>
11787
11788         maint.mk: Prohibit inclusion of "close-stream.h" without use.
11789         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
11790
11791 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11792
11793         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
11794
11795 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11796
11797         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
11798
11799 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11800
11801         Fix link error.
11802         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
11803         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
11804
11805 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11806
11807         * tests/test-func.c: Also test value of __func__.
11808
11809 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11810
11811         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
11812         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
11813
11814 2009-11-05  Bruno Haible  <bruno@clisp.org>
11815
11816         Fix link error.
11817         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
11818         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
11819         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
11820
11821 2009-11-05  Bruno Haible  <bruno@clisp.org>
11822
11823         Tests for module 'inet_pton'.
11824         * modules/inet_pton-tests: New file.
11825         * tests/test-inet_pton.c: New file.
11826
11827 2009-11-05  Bruno Haible  <bruno@clisp.org>
11828
11829         Tests for module 'inet_ntop'.
11830         * modules/inet_ntop-tests: New file.
11831         * tests/test-inet_ntop.c: New file.
11832
11833 2009-11-04  Eric Blake  <ebb9@byu.net>
11834
11835         stdlib-safer: wrap all mkstemp variants
11836         * modules/mkostemp (configure.ac): Set witness.
11837         * modules/mkostemps (configure.ac): Likewise.
11838         * modules/mkstemps (configure.ac): Likewise.
11839         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
11840         (mkstemps_safer): Wrap more functions.
11841         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
11842         wrapping.
11843         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
11844         (mkstemps_safer): Implement the wrappers.
11845
11846         mkstemps, mkostemps: new modules
11847         * modules/mkostemps: New module.
11848         * modules/mkstemps: Likewise.
11849         * lib/mkostemps.c (mkostemps): New file.
11850         * lib/mkstemps.c (mkstemps): Likewise.
11851         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
11852         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
11853         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
11854         * modules/stdlib (Makefile.am): Substitute them.
11855         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
11856         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
11857         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
11858         * doc/gnulib.texi (Glibc stdlib.h): Include them.
11859         * MODULES.html.sh (File system functions): Mention them.
11860
11861         tempname: resync from glibc
11862         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
11863         same values for __GT_FILE as glibc.  Abort even when assertions
11864         are disabled.
11865         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
11866         match its value otherwise.  Allow idempotent inclusion.
11867         * lib/mkdtemp.c (mkdtemp): Adjust caller.
11868         * lib/mkostemp.c (mkostemp): Likewise.
11869         * lib/mkstemp.c (mkstemp): Likewise.
11870         * lib/tmpfile.c (tmpfile): Likewise.
11871         * NEWS: Document this.
11872
11873         utimens: fix use of futimens on older Linux
11874         * lib/utimens.c (fdutimens): Use updated, rather than original,
11875         timespec to avoid bug in older Linux kernel.
11876         Reported by Simon Josefsson.
11877
11878 2009-11-04  Bruno Haible  <bruno@clisp.org>
11879
11880         Make num_processors more flexible and consistent.
11881         * lib/nproc.h (enum nproc_query): New type.
11882         (num_processors): Add a 'query' argument.
11883         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
11884         (num_processors): Add a 'query' argument. Test the value of the
11885         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
11886         mingw, count the number of CPUs available for the current process.
11887         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
11888         Check for sched_getaffinity and sched_getaffinity_np.
11889         * modules/nproc (Depends-on): Add c-ctype, extensions.
11890         * NEWS: Mention the change.
11891
11892 2009-11-03  Bruno Haible  <bruno@clisp.org>
11893
11894         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
11895
11896 2009-11-03  Jim Meyering  <meyering@redhat.com>
11897
11898         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
11899         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
11900         if it is defined.
11901
11902 2009-11-02  Eric Blake  <ebb9@byu.net>
11903
11904         mktime, timegm: share common declaration
11905         * lib/mktime-internal.h: New file.
11906         * lib/mktime.c: Use it rather than open-coding a declaration.
11907         * lib/timegm.c: Likewise.
11908         * modules/mktime (Files): Ship it.
11909         * modules/timegm (Files): Likewise.
11910         Suggested by Bruno Haible.
11911
11912         test-update-copyright: update test to match script changes
11913         * tests/test-update-copyright.sh: Avoid hard-coding perl
11914         location.  Don't update *.bak created by earlier runs.
11915
11916 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11917             Simon Josefsson  <simon@josefsson.org>
11918             Bruno Haible  <bruno@clisp.org>
11919
11920         Fix link error on Solaris 8.
11921         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
11922         also in libnsl. Define also INET_PTON_LIB.
11923         * modules/inet_pton (Link): New section.
11924
11925 2009-11-02  Simon Josefsson  <simon@josefsson.org>
11926             Bruno Haible  <bruno@clisp.org>
11927
11928         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
11929         * modules/inet_ntop (Link): New section.
11930         Reported by Boyan Kasarov <bkasarov@gmail.com>.
11931
11932 2009-11-02  Eric Blake  <ebb9@byu.net>
11933
11934         maint: avoid compiler warnings in m4 macros
11935         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
11936         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
11937
11938 2009-11-02  Simon Josefsson  <simon@josefsson.org>
11939
11940         * m4/pmccabe2html.m4: Remove file.
11941         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
11942         function.  Change maintainer.
11943         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
11944         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
11945         Courtès).
11946
11947 2009-10-31  Eric Blake  <ebb9@byu.net>
11948
11949         fseeko: fix m4 regression
11950         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
11951         regression from 2009-10-27.
11952         Reported by Ralf Wildenhues.
11953
11954 2009-10-31  Jim Meyering  <meyering@redhat.com>
11955
11956         inttostr: aesthetics and improved (compile-time) safety
11957         Define inttype_is_signed rather than inttype_is_unsigned,
11958         since the sole use is via "#if inttype_is_signed".
11959         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
11960         inttype_is_unsigned.
11961         * lib/offtostr.c (inttype_is_signed): Likewise.
11962         * lib/uinttostr.c (inttype_is_signed): Likewise.
11963         * lib/umaxtostr.c (inttype_is_signed): Likewise.
11964         * lib/inttostr.c (inttostr): Use verify to cross-check the
11965         inttype_is_signed value and the signedness of the actual type.
11966         * modules/inttostr (Depends-on): Add verify.
11967
11968 2009-10-30  Eric Blake  <ebb9@byu.net>
11969
11970         build: avoid compiler warnings
11971         * lib/fchmodat.c (lchmod): Mark unused variables.
11972         * lib/getopt.c (_getopt_initialize): Likewise.
11973         * lib/mktime.c (__mktime_internal): Provide prototype.
11974         * lib/inttostr.c (inttostr): Avoid compiler warning even with
11975         older gcc that do not understand #pragma GCC diagnostic.
11976         * lib/uinttostr.c (inttype_is_unsigned): Define.
11977         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
11978
11979 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
11980
11981         stat: fix compilation on AIX
11982         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
11983         only see struct stat64.
11984
11985 2009-10-30  Eric Blake  <ebb9@byu.net>
11986
11987         exclude: make more robust
11988         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
11989         rather than masking a coding bug.
11990         Suggested by Bruno Haible.
11991
11992 2009-10-30  Jim Meyering  <meyering@redhat.com>
11993
11994         perl scripts: remove #!/usr/bin/perl in favor of more portable...
11995         Rather than putting #!/usr/bin/perl on the first line,
11996         start with a variant of what's recommended by "man perlrun" that
11997         invokes the first "perl" program from your shell's search path.
11998         * build-aux/gitlog-to-changelog: Replace #!... as above.
11999         Add a "Local Variables" perl mode setting.
12000         Prompted by a patch from Ludovic Courtès.
12001         Improved by Eric Blake.
12002         * build-aux/useless-if-before-free: Likewise.
12003         * build-aux/announce-gen: Likewise.
12004         * build-aux/update-copyright: Likewise.
12005
12006 2009-10-29  Eric Blake  <ebb9@byu.net>
12007
12008         filenamecat-lgpl: adjust clients
12009         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
12010         filenamecat.
12011         * modules/renameat (Depends-on): Likewise.
12012
12013         filenamecat: split into filenamecat-lgpl
12014         * modules/filenamecat-lgpl: New module.
12015         * modules/filenamecat (Files): Move library-safe files into
12016         filenamecat-lgpl.
12017         (Depends-on): Add filenamecat-lgpl.
12018         (configure.ac): Declare witness.
12019         * lib/filenamecat.h (file_name_concat): Only declare when using
12020         GPL module.
12021         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
12022         Move...
12023         * lib/filenamecat-lgpl.c: ...into new file.
12024         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
12025         (gl_FILE_NAME_CONCAT): Use it.
12026         * MODULES.html.sh (File system functions): Mention new module.
12027
12028         argp: avoid memory leak
12029         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
12030         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
12031         base_name, since the latter malloc()s and can call exit().
12032         Leak introduced 2006-07-03.
12033
12034         dirname-lgpl: adjust clients that don't need full dirname
12035         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
12036         * modules/filenamecat (Depends-on): Likewise.
12037         * modules/linkat (Depends-on): Likewise.
12038         * modules/mkancesdirs (Depends-on): Likewise.
12039         * modules/mkdir (Depends-on): Likewise.
12040         * modules/openat (Depends-on): Likewise.
12041         * modules/savewd (Depends-on): Likewise.
12042         * modules/rename (Depends-on): Likewise.
12043         (License): Relax license.
12044         * modules/mkdir-tests (Depends-on): Drop progname.
12045         (Makefile.am): Delete unneeded LDADD.
12046         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
12047
12048         dirname: split into dirname-lgpl
12049         * modules/dirname-lgpl: New module.
12050         * modules/dirname (Files): Move library-safe files into
12051         dirname-lgpl.
12052         (Depends-on): Add dirname-lgpl.
12053         (configure.ac): Declare witness.
12054         * modules/double-slash-root (License): Relax license.
12055         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
12056         module.
12057         * lib/dirname.c (dir_len, mdir_name): Move...
12058         * lib/dirname-lgpl.c: ...into new file.
12059         * lib/basename.c (last_component, base_len): Move...
12060         * lib/basename-lgpl.c: ...into new file.
12061         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
12062         (gl_DIRNAME): Use it.
12063         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
12064         Mention new module.
12065         * modules/dirname-tests (Depends-on): Add progname.
12066         * tests/test-dirname.c (program_name): Delete.
12067
12068         mkdir: make safe for libraries
12069         * modules/mkdir (Depends-on): Drop xalloc.
12070         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
12071         exit.
12072
12073         tests: avoid some compiler warnings
12074         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
12075         literals.
12076         * tests/test-memchr.c (main): Avoid type mismatch.
12077         * tests/test-arpa_inet.c (main): Avoid unused parameters.
12078         * tests/test-base64.c (main): Likewise.
12079         * tests/test-getdelim.c (main): Likewise.
12080         * tests/test-gethostname.c (main): Likewise.
12081         * tests/test-getline.c (main): Likewise.
12082         * tests/test-netinet_in.c (main): Likewise.
12083         * tests/test-select.c (open_server_socket, main): Likewise.
12084         * tests/test-select-stdin.c (main): Likewise.
12085         * tests/test-sockets.c (main): Likewise.
12086         * tests/test-strsignal.c (main): Likewise.
12087         * tests/test-sys_select.c (main): Likewise.
12088         * tests/test-sys_socket.c (main): Likewise.
12089         * tests/test-u64.c (main): Likewise.
12090         * tests/test-xfprintf-posix.c (main): Likewise.
12091         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
12092
12093         sockets: avoid compiler warning
12094         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
12095
12096         maint: detect usage(1) and other suspicious exits
12097         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
12098
12099 2009-10-29  Jim Meyering  <meyering@redhat.com>
12100
12101         timespec: long-to-int truncation could make timespec_cmp malfunction
12102         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
12103         a multiple of 2^32 nanoseconds as no difference.
12104
12105 2009-10-28  Jim Meyering  <meyering@redhat.com>
12106
12107         fprintftime: wrap macro code argument in "do {...} while(0)"
12108         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
12109         cpy macro must be a statement that can be followed by a semicolon.
12110         Now that the else clause contains a comment and is hence longer
12111         than one line, I require curly braces.  That in turn requires
12112         that we wrap this code block in the standard do...while(0).
12113
12114         fprintftime: remove stray semicolon from previous change
12115         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
12116
12117         fprintftime: avoid a warning about ignored fwrite return value
12118         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
12119         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
12120         that is unsafe.
12121         * modules/fprintftime (Depends-on): Add ignore-value.
12122
12123         exclude: avoid an unwarranted warning
12124         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
12125
12126 2009-10-27  Eric Blake  <ebb9@byu.net>
12127
12128         fseek: avoid compilation failure when fflush is replaced
12129         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
12130         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
12131         module is in use.
12132         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
12133         module is not in use; since REPLACE_FSEEK worked otherwise.
12134         (GNULIB_FTELLO): Likewise for ftell.
12135         Reported by Ian Beckwith and others.
12136
12137 2009-10-27  Bruno Haible  <bruno@clisp.org>
12138
12139         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
12140         Reported by Jim Meyering.
12141
12142 2009-10-27  Jim Meyering  <jim@meyering.net>
12143             Bruno Haible  <bruno@clisp.org>
12144
12145         Avoid warning despite dropping the return value of fwrite.
12146         * lib/unicodeio.c: Include ignore-value.h.
12147         (fwrite_success_callback): Explicitly ignore fwrite's return value.
12148         * modules/unicodeio (Depends-on): Add ignore-value.
12149
12150 2009-10-26  Eric Blake  <ebb9@byu.net>
12151
12152         areadlinkat: fix fallback path
12153         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
12154         pointer and zero.
12155
12156 2009-10-22  Pádraig Brady  <P@draigBrady.com>
12157
12158         Use a better IO block size for modern systems
12159         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
12160         * lib/md2.c: Likewise.
12161         * lib/md4.c: Likewise.
12162         * lib/md5.c: Likewise.
12163         * lib/sha1.c: Likewise.
12164         * lib/sha256.c: Likewise.
12165         * lib/sha512.c: Likewise.
12166
12167 2009-10-22  Eric Blake  <ebb9@byu.net>
12168
12169         tests: avoid several compiler warnings
12170         * tests/test-getcwd.c (main): Avoid buffer underflow.
12171         * tests/test-getdate.c (main): String literals are not safe with
12172         putenv, so use setenv.  Declare unused argument.
12173         * modules/getdate-tests (Depends-on): Add setenv.
12174         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
12175         problems with string literals in char *.
12176         * tests/test-hash.c (main): Avoid shadowing declaration.
12177         (insert_new): Treat string literals as char const *.
12178         * tests/test-getopt.h (test_getopt): Likewise.
12179         (getopt_loop): Alter types to minimize casting elsewhere.
12180         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
12181         (test_getopt_long_posix): Likewise.
12182         (do_getopt_long): Add wrapper to minimize casting.
12183         * tests/test-atexit.c (clear_temp_file): Use void.
12184         * tests/test-areadlink-with-size.c (main): Declare unused
12185         arguments.
12186         * tests/test-areadlink.c (main): Likewise.
12187         * tests/test-areadlinkat-with-size.c (main): Likewise.
12188         * tests/test-areadlinkat.c (main): Likewise.
12189         * tests/test-canonicalize-lgpl.c (main): Likewise.
12190         * tests/test-canonicalize.c (main): Likewise.
12191         * tests/test-dirent-safer.c (main): Likewise.
12192         * tests/test-dirname.c (main): Likewise.
12193         * tests/test-dup2.c (main): Likewise.
12194         * tests/test-fchdir.c (main): Likewise.
12195         * tests/test-fcntl-h.c (main): Likewise.
12196         * tests/test-fcntl-safer.c (main): Likewise.
12197         * tests/test-fdopendir.c (main): Likewise.
12198         * tests/test-fdutimensat.c (main): Likewise.
12199         * tests/test-fflush.c (main): Likewise.
12200         * tests/test-filenamecat.c (main): Likewise.
12201         * tests/test-filevercmp.c (main): Likewise.
12202         * tests/test-fopen-safer.c (main): Likewise.
12203         * tests/test-fopen.c (main): Likewise.
12204         * tests/test-fpending.c (main): Likewise.
12205         * tests/test-fpurge.c (main): Likewise.
12206         * tests/test-freading.c (main): Likewise.
12207         * tests/test-fstatat.c (main): Likewise.
12208         * tests/test-fsync.c (main): Likewise.
12209         * tests/test-futimens.c (main): Likewise.
12210         * tests/test-getndelim2.c (main): Likewise.
12211         * tests/test-gettimeofday.c (main): Likewise.
12212         * tests/test-getopt.c (main): Likewise.
12213         * tests/test-i-ring.c (main): Likewise.
12214         * tests/test-inttypes.c (main): Likewise.
12215         * tests/test-link.c (main): Likewise.
12216         * tests/test-lstat.c (main): Likewise.
12217         * tests/test-math.c (main): Likewise.
12218         * tests/test-md5.c (main): Likewise.
12219         * tests/test-memchr2.c (main): Likewise.
12220         * tests/test-memrchr.c (main): Likewise.
12221         * tests/test-mkdir.c (main): Likewise.
12222         * tests/test-mkdirat.c (main): Likewise.
12223         * tests/test-mkfifoat.c (main): Likewise.
12224         * tests/test-open.c (main): Likewise.
12225         * tests/test-openat-safer.c (main): Likewise.
12226         * tests/test-openat.c (main): Likewise.
12227         * tests/test-quotearg.c (main): Likewise.
12228         * tests/test-rawmemchr.c (main): Likewise.
12229         * tests/test-readlink.c (main): Likewise.
12230         * tests/test-remove.c (main): Likewise.
12231         * tests/test-rename.c (main): Likewise.
12232         * tests/test-renameat.c (main): Likewise.
12233         * tests/test-rmdir.c (main): Likewise.
12234         * tests/test-sha1.c (main): Likewise.
12235         * tests/test-signal.c (main): Likewise.
12236         * tests/test-sigaction.c (main): Likewise.
12237         * tests/test-stat.c (main): Likewise.
12238         * tests/test-stat-time.c (main): Likewise.
12239         * tests/test-stddef.c (main): Likewise.
12240         * tests/test-stdint.c (main): Likewise.
12241         * tests/test-stdio.c (main): Likewise.
12242         * tests/test-stdlib.c (main): Likewise.
12243         * tests/test-strchrnul.c (main): Likewise.
12244         * tests/test-strerror.c (main): Likewise.
12245         * tests/test-string.c (main): Likewise.
12246         * tests/test-strtod.c (main): Likewise.
12247         * tests/test-strverscmp.c (main): Likewise.
12248         * tests/test-symlink.c (main): Likewise.
12249         * tests/test-symlinkat.c (main): Likewise.
12250         * tests/test-sys_stat.c (main): Likewise.
12251         * tests/test-sys_time.c (main): Likewise.
12252         * tests/test-time.c (main): Likewise.
12253         * tests/test-unistd.c (main): Likewise.
12254         * tests/test-unlink.c (main): Likewise.
12255         * tests/test-unlinkat.c (main): Likewise.
12256         * tests/test-utimens.c (main): Likewise.
12257         * tests/test-utimensat.c (main): Likewise.
12258         * tests/test-version-etc.c (main): Likewise.
12259         * tests/test-wchar.c (main): Likewise.
12260         * tests/test-wctype.c (main): Likewise.
12261         * tests/test-xprintf-posix.c (main): Likewise.
12262         * tests/test-posixtm.c (main): Likewise.
12263         (STREQ): Delete unused macro.
12264         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
12265         shadowed variables.
12266         * tests/test-memchr.c (main): Likewise.
12267
12268 2009-10-21  Eric Blake  <ebb9@byu.net>
12269
12270         areadlinkat: avoid failure on older glibc
12271         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
12272         rather than mis-comparing 0 against FUNC_RESULT of char*.
12273
12274 2009-10-21  Bruno Haible  <bruno@clisp.org>
12275
12276         * modules/stpncpy (License): Relicense under LGPLv2+.
12277         Reported by David Lutterkort <lutter@redhat.com>.
12278
12279 2009-10-20  Eric Blake  <ebb9@byu.net>
12280
12281         utimensat: work around Solaris 9 bug
12282         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
12283         has trailing slash bugs.
12284         * tests/test-lutimens.h (test_lutimens): Enhance test.
12285         * tests/test-utimens.h (test_utimens): Likewise.
12286         * doc/posix-functions/utime.texi (utime): Enhance documentation.
12287         * doc/posix-functions/utimes.texi (utimes): Likewise.
12288         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12289         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
12290         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
12291         * doc/posix-functions/futimens.texi (futimens): Likewise.
12292
12293         fdutimensat: new module
12294         * modules/fdutimensat: New file.
12295         * lib/fdutimensat.c (fdutimensat): Likewise.
12296         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
12297         * MODULES.html.sh (File system functions): Mention module.
12298         * modules/fdutimensat-tests: New test.
12299         * tests/test-fdutimensat.c: Likewise.
12300
12301         doc: regenerate INSTALL
12302         * doc/INSTALL: Reflect recent autoconf update.
12303         * doc/INSTALL.ISO: Likewise.
12304         * doc/INSTALL.UTF-8: Likewise.
12305
12306 2009-10-20  Pádraig Brady  <P@draigBrady.com>
12307
12308         acl: warn if ACL support is not detected
12309         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
12310
12311 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
12312
12313         * lib/nproc.h: Add extern "C" block for C++.
12314
12315 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
12316             Bruno Haible  <bruno@clisp.org>
12317
12318         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
12319         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
12320         * doc/posix-functions/isalpha.texi: Likewise.
12321         * doc/posix-functions/isblank.texi: Likewise.
12322         * doc/posix-functions/iscntrl.texi: Likewise.
12323         * doc/posix-functions/isdigit.texi: Likewise.
12324         * doc/posix-functions/isgraph.texi: Likewise.
12325         * doc/posix-functions/islower.texi: Likewise.
12326         * doc/posix-functions/isprint.texi: Likewise.
12327         * doc/posix-functions/ispunct.texi: Likewise.
12328         * doc/posix-functions/isspace.texi: Likewise.
12329         * doc/posix-functions/isupper.texi: Likewise.
12330         * doc/posix-functions/isxdigit.texi: Likewise.
12331
12332 2009-10-18  Bruno Haible  <bruno@clisp.org>
12333
12334         Tests for module 'isblank'.
12335         * modules/isblank-tests: New file.
12336         * tests/test-isblank.c: New file.
12337
12338         New module 'isblank'.
12339         * lib/isblank.c: New file.
12340         * m4/isblank.m4: New file.
12341         * modules/isblank: New file.
12342         * doc/posix-functions/isblank.texi: Mention the new module.
12343
12344 2009-10-18  Bruno Haible  <bruno@clisp.org>
12345
12346         New module 'ctype'.
12347         * lib/ctype.in.h: New file.
12348         * m4/ctype.m4: New file.
12349         * modules/ctype: New file.
12350         * doc/posix-headers/ctype.texi: Mention the new module.
12351
12352 2009-10-18  Jim Meyering  <meyering@redhat.com>
12353
12354         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
12355         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
12356         right after its initialization, rather than farther down.
12357         Keeping these in close proximity makes it easier to ensure
12358         that each such variable is initialized.  E.g.,
12359
12360             LIB_CLOCK_GETTIME=
12361             AC_SUBST([LIB_CLOCK_GETTIME])
12362
12363         This change also increments these serial numbers.
12364         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
12365         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
12366         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12367
12368 2009-10-18  Bruno Haible  <bruno@clisp.org>
12369
12370         Don't let environment variables perturb build.
12371         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
12372         (gl_PREREQ_GETHRXTIME): ... not here.
12373
12374 2009-10-18  Bruno Haible  <bruno@clisp.org>
12375
12376         Avoid symlink attack in localcharset module.
12377         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
12378         (O_NOFOLLOW): Define fallback.
12379         (get_charset_aliases): Don't open the file if it is a symbolic link.
12380         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
12381         gl_FCNTL_H.
12382         (gl_FCNTL_H): Require it.
12383         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
12384         * modules/localcharset (Files): Add m4/fcntl_h.m4.
12385         Reported by Fergal Glynn <fglynn@veracode.com>.
12386
12387 2009-10-18  Bruno Haible  <bruno@clisp.org>
12388
12389         Implement nproc for mingw.
12390         * lib/nproc.c: Include <windows.h>
12391         (num_processors): On native Windows platforms, try GetSystemInfo.
12392
12393 2009-10-18  Bruno Haible  <bruno@clisp.org>
12394
12395         Implement nproc for IRIX.
12396         * lib/nproc.c: Include <sys/sysmp.h>.
12397         (num_processors): On IRIX systems, try sysmp.
12398         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
12399
12400 2009-10-18  Bruno Haible  <bruno@clisp.org>
12401
12402         Implement nproc for HP-UX.
12403         * lib/nproc.c: Include <sys/pstat.h>
12404         (num_processors): On HP-UX systems, try pstat_getdynamic.
12405         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
12406         pstat_getdynamic.
12407
12408 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
12409             Bruno Haible  <bruno@clisp.org>
12410
12411         Implement nproc for NetBSD, OpenBSD.
12412         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
12413         (ARRAY_SIZE): New macro.
12414         (num_processors): On BSD systems, try sysctl of HW_NCPU.
12415         * m4/nproc.m4: New file.
12416         * modules/nproc (Files): Add m4/nproc.m4.
12417         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
12418         (Makefile.am): Instead, augment lib_SOURCES.
12419
12420 2009-10-18  Bruno Haible  <bruno@clisp.org>
12421
12422         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
12423         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
12424         sys/param.h.
12425
12426 2009-10-16  Eric Blake  <ebb9@byu.net>
12427
12428         utimensat: new module
12429         * modules/utimensat: New file.
12430         * lib/utimensat.c (utimensat): Likewise.
12431         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
12432         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
12433         so we can work around Linux bugs.
12434         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12435         * modules/sys_stat (Makefile.am): Substitute them.
12436         * lib/sys_stat.in.h (utimensat): Declare it.
12437         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12438         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12439         * modules/utimensat-tests: New test.
12440         * tests/test-utimensat.c: Likewise.
12441
12442         utimens: let lutimens work on non-symlinks
12443         * lib/utimens.c (lutimens): Fall back to utimens rather than
12444         failing with ENOSYS, when file is not a symlink.
12445         (utimens): Reduce redirection.
12446         * tests/test-lutimens.h (test_lutimens): Update test to cover
12447         non-symlinks.
12448         * tests/test-utimens.h (test_utimens): Update test to cover
12449         symlinks.
12450         * tests/test-utimens.c (main): Update caller.
12451
12452         utimens: cache whether utimensat syscall works
12453         * lib/utimens.c (utimensat_works_really): New cache variable.
12454         (fdutimens, lutimens): Use it to avoid failing syscall.
12455
12456         test-stat-time, test-utimens: improve portability
12457         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
12458         ext4 on alpha, and for cygwin.
12459         * tests/test-utimens-common.h: New file.
12460         (nap): Factor delays into single function.
12461         * tests/test-lutimens.h (test_lutimens): Use new header.
12462         * tests/test-futimens.h (test_futimens): Likewise.
12463         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
12464         timestamps to occur from same machine, as was done previously for
12465         test_utimens.
12466         * modules/utimens-tests (Files): Ship new file.
12467         * modules/futimens-tests (Files): Likewise.
12468         Reported in part by Jim Meyering.
12469
12470         sys_stat: sort replacement declarations
12471         * lib/sys_stat.in.h: Sort declarations.
12472         * lib/futimens.c (futimens): Fix typo.
12473
12474 2009-10-15  Jim Meyering  <meyering@redhat.com>
12475
12476         don't let environment settings perturb build
12477         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
12478         could cause a configure-time and/or build-time malfunction.
12479         Typically, a configure-time function-in-library test is performed
12480         via code like this:
12481
12482           LIB_VAR=
12483           AC_SUBST([LIB_VAR])
12484           prefix_saved_LIBS=$LIBS
12485             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
12486                        [test "$ac_cv_search_FUNC" = "none required" ||
12487                         LIB_VAR=$ac_cv_search_FUNC])
12488           LIBS=$prefix_saved_LIBS
12489
12490         However, in each of the files affected by this change, the LIB_VAR=
12491         initialization was omitted.  Thus, when set in the environment, its
12492         value would propagate into generated Makefiles when FUNC is not found
12493         in LIB_NAME.
12494         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
12495         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
12496         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12497
12498 2009-10-14  Eric Blake  <ebb9@byu.net>
12499
12500         fchdir: avoid infinite recursion in mingw
12501         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
12502         recursing.
12503
12504         test-stat-time: port to mingw
12505         * tests/test-stat-time.c (force_unlink): Return a value.
12506         (test_ctime) [W32]: Fix compilation error.
12507         (nap): Don't call usleep with too large an argument.  Use
12508         force_unlink.
12509         * doc/pastposix-functions/usleep.texi (usleep): Document the
12510         portability issue.
12511
12512 2009-10-13  Jim Meyering  <meyering@redhat.com>
12513
12514         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
12515         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
12516         * modules/pipe-filter-ii: Likewise.
12517         * modules/sys_socket-tests: Likewise.
12518         * modules/tsearch-tests: Likewise.
12519         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
12520         (check): Depend on it.
12521
12522 2009-10-12  Eric Blake  <ebb9@byu.net>
12523
12524         utimens-tests: port to NFS file systems
12525         * tests/test-utimens.h (test_utimens): Refactor utimecmp
12526         comparisons to avoid spurious failures from timestamp drift
12527         between NFS machines.
12528
12529 2009-10-12  Eric Blake  <ebb9@byu.net>
12530
12531         stat-time-tests: minor cleanups
12532         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
12533         * tests/test-stat-time.c (nap): Separate assignment from call.
12534         Suggested by Paolo Bonzini and Bruno Haible.
12535
12536         sys_stat: guarantee struct timespec
12537         * lib/sys_stat.in.h (includes): Always include <time.h>
12538         * modules/sys_stat (Depends-on): Add time.
12539         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
12540         mode_t permission values.
12541         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
12542         get at subsecond timestamps.
12543
12544 2009-10-10  Eric Blake  <ebb9@byu.net>
12545
12546         futimens: new module
12547         * modules/futimens: New file.
12548         * lib/futimens.c (futimens): Likewise.
12549         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
12550         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
12551         we can work around Linux bugs.
12552         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12553         * modules/sys_stat (Makefile.am): Substitute them.
12554         * lib/sys_stat.in.h (futimens): Declare it.
12555         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12556         * doc/posix-functions/futimens.texi (futimens): Likewise.
12557         * modules/futimens-tests: New test.
12558         * tests/test-futimens.c: Likewise.
12559
12560         utimens: introduce fdutimens
12561         * lib/utimens.h (fdutimens): New prototype.
12562         * lib/utimens.c (gl_futimens): Move guts...
12563         (fdutimens): ...to new interface.
12564         * tests/test-utimens.c (do_fdutimens): Use it.
12565
12566         utimens: add UTIME_NOW and UTIME_OMIT support
12567         * lib/utimens.c (validate_timespec, update_timespec): New helper
12568         functions.
12569         (gl_futimens, lutimens): Use them.
12570         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
12571         stdbool, sys_stat.
12572         (Link): Mention resulting library dependency.
12573         * modules/utimecmp (Link): Likewise.
12574         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
12575         (Makefile.am): Pick up library dependency.
12576         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
12577         definition.
12578         * tests/test-sys_stat.c: Test the definitions.
12579         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
12580         * NEWS: Document library dependency.
12581
12582         utimecmp: support symlink timestamps
12583         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
12584         hashing when possible.  Use pathconf when available.
12585         (SYSCALL_RESOLUTION): Recognize tighter resolution.
12586         * modules/utimecmp (Depends-on): Add lstat.
12587
12588         utimens: add lutimens interface
12589         * lib/utimens.c (lutimens): New function.
12590         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
12591         * lib/utimens.h (lutimens): Declare new interface.
12592         * tests/test-utimens.c (main): Enhance test.
12593         * tests/test-lutimens.h (test_lutimens): New file.
12594         * modules/utimens-tests (Files): Distribute it.
12595         (Depends-on): Add symlink.
12596         (configure.ac): Check for usleep.
12597
12598         utimens: validate futimens usage
12599         * lib/utimens.c (gl_futimens): Require valid fd up front, using
12600         fewer syscalls on failure later on.  Avoid compiler warning on
12601         mingw.
12602         * modules/utimens (Depends-on): Add dup2.
12603
12604         utimens: add test
12605         * modules/utimens-tests: New test.
12606         * tests/test-utimens.h: New file.
12607         * tests/test-futimens.h: Likewise.
12608         * tests/test-utimens.c: Likewise.
12609
12610         doc: mention timestamp portability issues
12611         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
12612         instead.
12613         * doc/posix-functions/utime.texi (utime): Likewise.
12614         * doc/posix-functions/utimes.texi (utimes): Likewise.
12615         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
12616         instead.
12617         * doc/posix-functions/futimens.texi (futimens): Mention utimens
12618         module.
12619         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12620         Mention weakness with symlink timestamps.
12621         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
12622         to utimensat/futimens instead.
12623         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
12624
12625         test-dup2: enhance test
12626         * tests/test-dup2.c (main): Also check AT_FDCWD.
12627
12628         test-stat-time: avoid more spurious failures
12629         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
12630         xfs; and avoid race if the two timestamps cross quantization edge.
12631
12632         relocatable: prefer 'file system' over 'filesystem'
12633         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
12634         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
12635         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
12636         * doc/relocatable.texi (Enabling Relocatability): Likewise.
12637         * lib/relocatable.c (compute_curr_prefix): Likewise.
12638
12639 2009-10-10  Jim Meyering  <meyering@redhat.com>
12640
12641         stat-time-tests: check for the usleep function
12642         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
12643
12644 2009-10-10  Bruno Haible  <bruno@clisp.org>
12645
12646         * modules/xnanosleep: Put the Link section after the Include section.
12647
12648 2009-10-09  Eric Blake  <ebb9@byu.net>
12649
12650         dup2: work around FreeBSD 6.1 bug
12651         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
12652         * doc/posix-functions/dup2.texi (dup2): Document it.
12653         Reported by Nelson H. F. Beebe and Jim Meyering.
12654
12655         test-stat-time: port to buggy NFS clients
12656         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
12657         (test_ctime): Also skip test if mtime and ctime are skewed.
12658
12659         maint: prefer 'file system' over 'filesystem'
12660         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
12661         * doc/posix-functions/lstat.texi (lstat): Likewise.
12662         * lib/file-has-acl.c (file_has_acl): Likewise.
12663         * lib/fwriteerror.c [TEST]: Likewise.
12664         * tests/test-areadlink.h (test_areadlink): Likewise.
12665         * tests/test-areadlinkat-with-size.c (main): Likewise.
12666         * tests/test-areadlinkat.c (main): Likewise.
12667         * tests/test-canonicalize-lgpl.c (main): Likewise.
12668         * tests/test-canonicalize.c (main): Likewise.
12669         * tests/test-fstatat.c (main): Likewise.
12670         * tests/test-linkat.c (main): Likewise.
12671         * tests/test-lstat.h (test_lstat_func): Likewise.
12672         * tests/test-mkdir.h (test_mkdir): Likewise.
12673         * tests/test-readlink.h (test_readlink): Likewise.
12674         * tests/test-remove.c (main): Likewise.
12675         * tests/test-rename.h (test_rename): Likewise.
12676         * tests/test-renameat.c (main): Likewise.
12677         * tests/test-rmdir.h (test_rmdir_func): Likewise.
12678         * tests/test-symlink.h (test_symlink): Likewise.
12679         * tests/test-symlinkat.c (main): Likewise.
12680         * tests/test-unlink.h (test_unlink_func): Likewise.
12681         * tests/test-unlinkat.c (main): Likewise.
12682
12683         maint: make realtime library usage explicit
12684         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
12685         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
12686         * modules/settime (Link): Likewise.
12687         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
12688
12689         test-stat-time: speed up execution
12690         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
12691         warning on mingw.
12692         (nap): New helper function.
12693         (prepare_test): Use it to reduce sleep time.
12694         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
12695         execution.
12696         * modules/stat-time-tests (configure.ac): Check for usleep.
12697
12698 2009-10-09  Jim Meyering  <meyering@redhat.com>
12699
12700         selinux-h: always use getfilecon wrappers
12701         * lib/getfilecon.c: New file.
12702         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
12703         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
12704         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
12705         (fgetfilecon): Provide a stub.
12706         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
12707         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
12708         file unconditionally.
12709         When <selinux/selinux.h> is found, arrange to use wrappers.
12710         * modules/selinux-h (Files): Add getfilecon.c.
12711         (Makefile.am): Substitute include-next-related bits
12712         into the now-always-generated selinux/selinux.h file.
12713         * doc/glibc-functions/lgetfilecon.texi: New file.
12714         * doc/glibc-functions/fgetfilecon.texi: New file.
12715         * doc/glibc-functions/getfilecon.texi: New file.
12716         * doc/glibc-functions/getfilecon-desc.texi: New file.
12717         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
12718         which to pull in the new files.
12719         * MODULES.html.sh (Misc): Add selinux-h.
12720
12721 2009-10-08  Jim Meyering  <meyering@redhat.com>
12722
12723         unistd: fix comment typo
12724         * lib/unistd.in.h (euidaccess): Fix a comment typo.
12725
12726 2009-10-08  Eric Blake  <ebb9@byu.net>
12727
12728         areadlink: use SIZE_MAX consistently
12729         * modules/areadlink (Depends-on): Add stdint.
12730         * modules/areadlink-with-size (Depends-on): Likewise.
12731         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
12732         gives NULL; drop sys/types, since unistd gives size_t; and add
12733         stdint for SIZE_MAX.
12734         (SIZE_MAX): Rely on headers.
12735         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
12736         and add stdint.
12737         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
12738         (SIZE_MAX): Likewise.
12739         (INITIAL_BUF_SIZE): Turn into enum.
12740         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
12741
12742 2009-10-08  Jim Meyering  <meyering@redhat.com>
12743
12744         areadlinkat: avoid compilation failure
12745         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
12746         Fix typo in comment.
12747
12748 2009-10-07  Eric Blake  <ebb9@byu.net>
12749
12750         areadlinkat-with-size: new module
12751         * modules/areadlinkat-with-size: New module.
12752         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
12753         * lib/areadlink.h (areadlinkat): Declare it.
12754         * MODULES.html.sh (File system functions): Mention it.
12755         * modules/areadlinkat-with-size-tests: New test.
12756         * tests/test-areadlinkat-with-size.c: New file.
12757
12758         xreadlinkat: new module
12759         * modules/xreadlinkat: New module.
12760         * lib/xreadlinkat.c (xreadlinkat): New file.
12761         * lib/xreadlink.h (xreadlinkat): Declare it.
12762         * MODULES.html.sh (File system functions): Mention it.
12763
12764         areadlinkat: new module
12765         * lib/at-func.c (FUNC_FAIL): New define.
12766         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
12767         * modules/areadlinkat: New module.
12768         * lib/linkat.c (areadlinkat): Move...
12769         * lib/areadlinkat.c (areadlinkat): ...to new file.
12770         * lib/areadlink.h (areadlinkat): Declare it.
12771         * modules/linkat (Depends-on): Add areadlinkat.
12772         * MODULES.html.sh (File system functions): Mention it.
12773         * modules/areadlinkat-tests: New test.
12774         * tests/test-areadlinkat.c: New file.
12775
12776         areadlink, areadlink-with-size: add tests
12777         * modules/areadlink-tests: New test.
12778         * modules/areadlink-with-size-tests: Likewise.
12779         * tests/test-areadlink.h: New file.
12780         * tests/test-areadlink.c: Likewise.
12781         * tests/test-areadlink-with-size.c: Likewise.
12782
12783         maint: minor cleanups
12784         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
12785         _UNUSED_PARAMETER_ instead.
12786         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
12787         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
12788         * modules/linkat-tests (Files): Distribute test-link.h.
12789
12790         openat, utimens: whitespace cleanup
12791         * lib/openat.c: Prefer space throughout, rather than mix of 8
12792         spaces vs. tabs.
12793         * lib/at-func.c: Likewise.
12794         * lib/utimens.c: Likewise.
12795
12796         openat: avoid using wrong fd
12797         * lib/openat.c (openat_permissive): Reject user's fd if saving the
12798         working directory chooses same fd.
12799         * lib/at-func.c (AT_FUNC_NAME): Likewise.
12800
12801         mkdir, mkdirat: fix cygwin 1.5.x bug
12802         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
12803         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
12804         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
12805         bug.
12806         (gl_PREREQ_MKDIR): Delete unused macro.
12807         * modules/mkdir (Files): Track file rename.
12808         (configure.ac): Update macro name.
12809         * modules/openat (Depends-on): Add mkdir.
12810         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
12811
12812         mkdir, mkdirat: add tests
12813         * modules/mkdir-tests: New test.
12814         * tests/test-mkdir.h: New file.
12815         * tests/test-mkdir.c: Likewise.
12816         * tests/test-mkdirat.c: Likewise.
12817         * modules/openat-tests (Files): Add new files.
12818         (Makefile.am): Run new test.
12819
12820 2009-10-06  Eric Blake  <ebb9@byu.net>
12821
12822         doc: tweak *at function documentation
12823         * doc/posix-functions/faccessat.texi (faccessat): Mention
12824         known issue with replacement.
12825         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
12826         * doc/posix-functions/linkat.texi (linkat): Likewise.
12827         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
12828         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
12829         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
12830         * doc/posix-functions/renameat.texi (renameat): Likewise.
12831         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
12832
12833         openat: fix GNU/Hurd bug in unlinkat
12834         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
12835         broken.
12836         * doc/posix-functions/unlink.texi (unlink): Document this.
12837         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
12838
12839         fdopendir: fix GNU/Hurd bug
12840         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
12841         allowing non-directory fds.
12842         * lib/fdopendir.c (rpl_fdopendir): Work around it.
12843         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
12844         * modules/dirent (Makefile.am): Substitute it.
12845         * lib/dirent.in.h (fdopendir): Declare replacement.
12846         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
12847         * tests/test-fdopendir.c (main): Test something other than
12848         /dev/null, since on Hurd that behaves like a directory.
12849
12850         test-symlink: port to GNU/Hurd
12851         * tests/test-symlink.h (test_symlink): Relax expected errno.
12852
12853         doc: tweak more cygwin information
12854         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
12855         now compatible with glibc.
12856         * doc/posix-functions/getopt.texi (getopt): Likewise.
12857
12858         getopt-gnu: add another test
12859         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
12860         guarantee behavior relied on by m4.
12861         * tests/test-getopt.c (main): Use it.
12862         * modules/getopt-posix-tests (Depends-on): Add setenv.
12863         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
12864
12865         getopt: fix compilation on darwin
12866         * lib/getopt.in.h (includes): Leave breadcrumbs during system
12867         include.
12868         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
12869         Reported by Ludovic Courtès.
12870
12871 2009-10-06  Bruno Haible  <bruno@clisp.org>
12872
12873         * modules/size_max (Description): Discourage its use.
12874         Reported by Simon Josefsson.
12875
12876 2009-10-06  Jim Meyering  <meyering@redhat.com>
12877
12878         linkat: avoid compilation failure
12879         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
12880
12881 2009-10-05  Eric Blake  <ebb9@byu.net>
12882
12883         linkat: support Linux 2.6.17
12884         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
12885         linkat on Linux, but allow cache variable override.
12886         * lib/linkat.c (rpl_linkat): Define override.
12887         * modules/linkat (Depends-on): Add symlinkat.
12888         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
12889         * modules/unistd (Makefile.am): Substitute it.
12890         * lib/unistd.in.h (linkat): Declare replacement.
12891         Reported by Pádraig Brady.
12892
12893         quotearg: port test to systems with C.UTF-8 locale
12894         * tests/test-quotearg.c (struct result_strings): Add another
12895         member, differentiating between C.ASCII and C.UTF-8 handling.
12896         (compare_strings): Add parameter.
12897         (main): Adjust all callers.
12898
12899         getopt: avoid clash with FreeBSD _getopt_internal
12900         * lib/getopt.in.h (_getopt_internal): Override the name.
12901         * lib/getopt_int.h (includes): Pick up any overrides.
12902         Reported by Reuben Thomas.
12903
12904         hash: allow C89 compilation
12905         * lib/hash.c (check_tuning): Move declaration before statement.
12906         Reported by Reuben Thomas.
12907
12908 2009-10-05  Karl Berry  <karl@gnu.org>
12909
12910         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
12911
12912 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
12913             Bruno Haible  <bruno@clisp.org>
12914
12915         * lib/uname.c (uname): Use a table-driven algorithm to compute
12916         Windows NT versions.
12917
12918 2009-10-04  Bruno Haible  <bruno@clisp.org>
12919
12920         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
12921         program_invocation_short_name.
12922         * modules/progname (configure.ac): Test for presence of
12923         program_invocation_short_name.
12924         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
12925
12926 2009-10-04  Bruno Haible  <bruno@clisp.org>
12927
12928         * lib/progname.c (set_program_name): Fix comment.
12929         Reported by Jim Meyering.
12930
12931 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
12932             Bruno Haible  <bruno@clisp.org>
12933
12934         * lib/uname.c: Include <string.h>.
12935         (uname): Do only one call to GetVersionEx in the common case.
12936
12937 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
12938             Bruno Haible  <bruno@clisp.org>
12939
12940         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
12941         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
12942         (uname): Add support for Windows CE and various non-x86 CPU types.
12943
12944 2009-10-03  Bruno Haible  <bruno@clisp.org>
12945
12946         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
12947         invocation to tests/configure.ac.
12948         Reported by Ian Beckwith <ianb@erislabs.net>.
12949
12950 2009-10-02  Eric Blake  <ebb9@byu.net>
12951
12952         fchdir: avoid compiler warning
12953         * lib/fchdir.c (canonicalize_file_name)
12954         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
12955
12956         test-open: support mingw errno values
12957         * tests/test-open.h (test_open): Relax test.
12958         * tests/test-fopen.h (test_fopen): Likewise.
12959         * tests/test-openat-safer.c (main): Likewise.
12960
12961         open: fix opening directory on mingw
12962         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
12963
12964         test-open: on GNU/Hurd, /dev/null is a directory
12965         * tests/test-fopen.h (main): Rename...
12966         (test_fopen): ...to this.  Use a guaranteed non-directory when
12967         confirming open behavior on trailing slash.
12968         * tests/test-openat-safer.c (main): Likewise.
12969         * tests/test-open.h (main): Likewise....
12970         (test_open): ...to this.
12971         * tests/test-fopen.c (main): Adjust caller.
12972         * tests/test-fopen-safer.c (main): Likewise.
12973         * tests/test-open.c (main): Likewise.
12974         * tests/test-fcntl-safer.c (main): Likewise.
12975         Reported by Samuel Thibault.
12976
12977         rename, fchdir: don't ignore chdir failure
12978         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
12979         * lib/rename.c (rpl_rename) [W32]: Likewise.
12980         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
12981         an empty destination directory if source cannot be renamed,
12982         although there is still possibility for failure.
12983         * doc/posix-functions/rename.texi (rename): Document the race.
12984         Reported by Jim Meyering.
12985
12986         maint: cleanup whitespace in recent commits
12987         * lib/rename.c (rpl_rename): Remove tabs.
12988         * tests/test-link.h (test_link): Likewise.
12989         * lib/fchdir.c (get_name): Likewise.
12990         Reported by Jim Meyering.
12991
12992 2009-10-02  Ben Pfaff  <blp@gnu.org>
12993
12994         relocatable-prog-wrapper: Add missing dependency on
12995         double-slash-root.
12996         * modules/relocatable-prog-wrapper: Add dependency.
12997         Reported by Ian Beckwith <ianb@erislabs.net>.
12998
12999 2009-10-02  Eric Blake  <ebb9@byu.net>
13000
13001         renameat: fix Solaris bugs
13002         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
13003         needed fixing.
13004         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
13005         * modules/stdio (Makefile.am): Substitute it.
13006         * lib/stdio.in.h (renameat): Declare replacement.
13007         * lib/renameat.c (rpl_renameat): Implement fix.
13008
13009         renameat: new module
13010         * modules/renameat: New file.
13011         * lib/renameat.c (renameat): Likewise.
13012         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
13013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
13014         * modules/stdio (Makefile.am): Substitute them.
13015         * lib/stdio.in.h (renameat): Declare it.
13016         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13017         * doc/posix-functions/renameat.texi (renameat): Likewise.
13018         * modules/renameat-tests: New test.
13019         * tests/test-renameat.c: Likewise.
13020
13021         rename: fix mingw bugs
13022         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
13023         directory overwrite bugs.
13024
13025         rename: fix another cygwin 1.5 bug
13026         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
13027         checks.
13028         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
13029         unnecessary cygwin workarounds.  Also work around bug with moving
13030         full directory onto an empty one.
13031         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
13032
13033         rename-dest-slash: merge into rename module
13034         * modules/rename-dest-slash (Status): Mark obsolete.
13035         (Depends-on): Add rename.
13036         (Files): Let rename do it all.
13037         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
13038         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
13039         * m4/rename-dest-slash.m4: ...so this file can be deleted.
13040         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
13041         * lib/rename.c (rpl_rename): Update comments.
13042
13043         rename: fix cygwin 1.5.x bugs
13044         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
13045         * lib/rename.c (rpl_rename): Work around them.
13046         * modules/rename (Depends-on): Add same-inode.
13047
13048         rename: fix Solaris 10 bug
13049         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
13050         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
13051         was the only bug.
13052
13053         rename: fix Solaris 9 bug
13054         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
13055         on non-directory.  Avoid calling exit.
13056         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
13057         strdup.
13058         * modules/rename-tests (Depends-on): Drop lstat.
13059         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
13060         (gl_PREREQ_RENAME): Delete unused macro.
13061
13062         rename-dest-slash: fix NetBSD bug
13063         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
13064         links.
13065         * modules/rename-dest-slash (Depends-on): Add same-inode.
13066
13067         rename-tests: new test, exposes several platform bugs
13068         * modules/rename-tests: New file.
13069         * tests/test-rename.h: Likewise.
13070         * tests/test-rename.c: Likewise.
13071         * doc/posix-functions/rename.texi (rename): Improve documentation,
13072         including bugs that will eventually be fixed in gnulib.
13073
13074 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
13075
13076         * lib/uname.c: Include <stdlib.h>
13077         (uname): Assume version info is available.
13078
13079 2009-10-02  Jim Meyering  <meyering@redhat.com>
13080
13081         gnu-web-doc-update: correct --help output
13082         * build-aux/gnu-web-doc-update: Make --help output relevant.
13083
13084         gnu-web-doc-update: add standard options
13085         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
13086
13087         gnu-web-doc-update: New module.
13088         Use this script to automatically update the on-line web documentation
13089         for your GNU project at http://www.gnu.org/software/$pkg/manual/
13090         * modules/gnu-web-doc-update: New file, from coreutils.
13091         * build-aux/gnu-web-doc-update: New script.
13092
13093 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
13094
13095         link: LoadLibrary is not needed.
13096         * lib/link.c: Use GetModuleHandle.
13097
13098 2009-10-01  Eric Blake  <ebb9@byu.net>
13099
13100         getopt: bump serial number
13101         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
13102         change.
13103
13104         tests: tighten link, rmdir, and remove tests
13105         * tests/test-link.h (includes): No need to use <config.h> here.
13106         Clean up if directory hard link was created, otherwise test for
13107         trailing '.'.
13108         * tests/test-linkat.c (main): Simplify.
13109         * tests/test-remove.c (main): Enhance test for trailing '.'.
13110         * tests/test-rmdir.h (test_rmdir_func): Likewise.
13111
13112 2009-10-01  Jim Meyering  <meyering@redhat.com>
13113
13114         maint.mk: requiring "make major" was annoying, for a "minor" release.
13115         What is intended is "stable", to contrast with alpha and beta,
13116         so require "make stable", not "make major".
13117         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
13118         (get_tool_versions): Likewise.
13119         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
13120
13121 2009-09-30  Ben Pfaff  <blp@gnu.org>
13122
13123         Fix broken build of replacement for Windows tmpfile().
13124         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
13125         flags argument added along with the 'mkostemp' module.
13126
13127 2009-09-28  Bruno Haible  <bruno@clisp.org>
13128
13129         Avoid identifier clash with POSIX function 'remove' defined as a macro.
13130         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
13131         to 'remove_elt'.
13132         (gl_list_remove): Update.
13133         * lib/gl_list.c (gl_list_remove): Update.
13134         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
13135         to 'remove_elt'.
13136         (gl_oset_remove): Update.
13137         * lib/gl_list.c (gl_oset_remove): Update.
13138         Reported by Eric Blake.
13139
13140 2009-09-28  Eric Blake  <ebb9@byu.net>
13141
13142         doc: mention yet more cygwin 1.7 status
13143         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
13144         cygwin.
13145         * doc/glibc-functions/execvpe.texi (execvpe): New file.
13146         * doc/gnulib.texi (Glibc unistd.h): Mention it.
13147
13148         argp: fix test failure
13149         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
13150         that are not upper-case.  Pass correct range to tolower.
13151
13152 2009-09-27  Jim Meyering  <meyering@redhat.com>
13153
13154         test-yesno: work around sparc-dash here-document infelicity
13155         Without this change, the literal \177 byte in a here document
13156         would make dash 0.5.5.1-3 access uninitialized memory.
13157         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
13158         Instead, use a marker, "@", and filter through tr to create the desired
13159         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
13160
13161 2009-09-27  Bruno Haible  <bruno@clisp.org>
13162
13163         Disable untested support for new flavours of ACLs on AIX.
13164         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
13165         progress.
13166         * lib/set-mode-acl.c (qset_acl): Likewise.
13167
13168 2008-12-07  Bruno Haible  <bruno@clisp.org>
13169
13170         Add support for new flavours of ACLs on AIX. (Untested.)
13171         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
13172         (file_has_acl): Add support for newer AIX.
13173         * lib/set-mode-acl.c (qset_acl): Likewise.
13174         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
13175         Rainer Tammer <tammer@tammer.net>.
13176
13177 2009-09-26  Eric Blake  <ebb9@byu.net>
13178
13179         argp: fix compilation of getopt
13180         * lib/getopt.in.h (includes): Use different guard than glibc.
13181         Reported by Sergey Poznyakoff.
13182
13183         doc: mention more cygwin 1.7 status
13184         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
13185         bug.
13186         * doc/posix-functions/execl.texi (execl): Likewise.
13187         * doc/posix-functions/execle.texi (execle): Likewise.
13188         * doc/posix-functions/execlp.texi (execlp): Likewise.
13189         * doc/posix-functions/execv.texi (execv): Likewise.
13190         * doc/posix-functions/execve.texi (execve): Likewise.
13191         * doc/posix-functions/execvp.texi (execvp): Likewise.
13192         * doc/glibc-functions/canonicalize_file_name.texi
13193         (canonicalize_file_name): Cygwin 1.7 now provides this.
13194         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
13195         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
13196         on AT_SYMLINK_NOFOLLOW.
13197
13198 2009-09-24  Eric Blake  <ebb9@byu.net>
13199
13200         test-linkat: make test more robust
13201         * tests/test-linkat.c (main): Avoid collision with EEXIST.
13202
13203         getopt: fix inclusion guards for cygwin
13204         * modules/getopt-posix (Depends-on): Add include-next.
13205         (Makefile.am): Substitute more items in replacement header.
13206         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
13207         <getopt.h>.
13208         * lib/getopt.in.h (includes): Use split inclusion guard, and
13209         prefer <getopt.h> over include <unistd.h> when one is present.
13210         (option): Also override name of 'struct option'.
13211
13212         same-inode: revert prior change; it is not yet ready
13213         * NEWS: Undo mention of this change.
13214         * lib/same-inode.h (same-inode.h): Undo tri-state change.
13215         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
13216         * lib/cycle-check.c (cycle_check): Likewise.
13217         * lib/same.c (same_name): Likewise.
13218         * lib/at-func2.c (at_func2): Likewise.
13219
13220 2009-09-23  Eric Blake  <ebb9@byu.net>
13221
13222         linkat: new module
13223         * modules/linkat: New file.
13224         * lib/at-func2.c (at_func2): Likewise.
13225         * lib/linkat.c (linkat): Likewise.
13226         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
13227         * lib/openat-priv.h (at_func2): Add declaration.
13228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
13229         * modules/unistd (Makefile.am): Substitute them.
13230         * lib/unistd.in.h (linkat): Declare it.
13231         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13232         * doc/posix-functions/linkat.texi (linkat): Likewise.
13233         * doc/posix-functions/link.texi (link): Tweak wording.
13234         * tests/test-link.c (main): Move guts...
13235         * tests/test-link.h (test_link): ...into new file.
13236         * modules/linkat-tests: New test.
13237         * tests/test-linkat.c: Likewise.
13238         * modules/link-tests (Files): Ship new file.
13239         (Depends-on): Add stdbool.
13240
13241         dirname: add library-safe mdir_name
13242         * lib/dirname.h (mdir_name): New prototype.
13243         * lib/dirname.c (dir_name): Move guts...
13244         (mdir_name): ...to new function that avoids xalloc_die.
13245
13246         fchdir: another mingw fix
13247         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
13248         * lib/fchdir.c (get_name): New helper method; skips canonicalize
13249         on mingw (where it has not yet been ported), and make it optional
13250         elsewhere.
13251         (_gl_register_fd): Use it.
13252
13253         same-inode: make SAME_INODE tri-state, to port to mingw
13254         * NEWS: Mention this change.
13255         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
13256         st_ino always being 0.
13257         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
13258         * lib/cycle-check.c (cycle_check): Likewise.
13259         * lib/same.c (same_name): Likewise.
13260
13261         lstat: avoid mingw compilation error
13262         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
13263         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
13264         lstat ourselves.
13265         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
13266         was adequate.
13267         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
13268         the checks for lstat.
13269         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
13270
13271         link: fix test failure on Solaris 9
13272         * lib/link.c (rpl_link): Don't assume link will catch bogus
13273         trailing slash on source.
13274
13275         test-symlinkat: enhance test
13276         * tests/test-readlink.c (main): Move guts...
13277         * tests/test-readlink.h (test_readlink): ...into new file.
13278         * tests/test-symlink.c (main): Move guts...
13279         * tests/test-symlink.h (test_symlink): ...into new file.
13280         * tests/test-symlinkat.c (main): Use new files for further
13281         coverage.
13282         (do_symlink, do_readlink): New helper functions.
13283         * modules/symlink-tests (Files): Ship new file.
13284         (Depends-on): Add stdbool.
13285         * modules/readlink-tests (Files): Ship new file.
13286         (Depends-on): Add stdbool.
13287         * modules/symlinkat-tests (Files): Use new files.
13288
13289 2009-09-23  Eric Blake  <ebb9@byu.net>
13290
13291         readlink: document portability issue with symlink length
13292         * doc/posix-functions/lstat.texi (lstat): Mention that some file
13293         systems have bogus st_size on symlinks, and mention the
13294         areadlink-with-size module.
13295         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
13296         * doc/posix-functions/readlink.texi (readlink): Mention the
13297         areadlink module, and ERANGE failure.
13298         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13299         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
13300
13301         readlink: fix Solaris 9 bug with trailing slash
13302         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
13303         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
13304         * doc/posix-functions/readlink.texi (readlink): Document this.
13305         * modules/readlink-tests: New test.
13306         * tests/test-readlink.c: Likewise.
13307
13308         readlink: fix cygwin 1.5.x bug with return type
13309         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
13310         * lib/unistd.in.h (readlink): Use ssize_t.
13311         * lib/readlink.c (readlink): Likewise.
13312         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13313         * modules/unistd (Makefile.am): Substitute it.
13314         * lib/unistd.in.h (readlink): Declare replacement.
13315         * doc/posix-functions/readlink.texi (readlink): Document this.
13316
13317         symlink: use throughout gnulib
13318         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
13319         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
13320         symlink is not used.
13321         * modules/symlinkat (Depends-on): Add symlink.
13322         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13323         * modules/canonicalize-tests (Depends-on): Likewise.
13324         * modules/lstat-tests (Depends-on): Likewise.
13325         * modules/openat-tests (Depends-on): Likewise.
13326         * modules/remove-tests (Depends-on): Likewise.
13327         * modules/rmdir-tests (Depends-on): Likewise.
13328         * modules/unlink-tests (Depends-on): Likewise.
13329         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
13330         * tests/test-canonicalize.c (symlink): Likewise.
13331         * tests/test-fstatat.c (symlink): Likewise.
13332         * tests/test-lstat.c (symlink): Likewise.
13333         * tests/test-remove.c (symlink): Likewise.
13334         * tests/test-rmdir.c (symlink): Likewise.
13335         * tests/test-unlink.c (symlink): Likewise.
13336         * tests/test-unlinkat.c (symlink): Likewise.
13337
13338         symlink: new module, for Solaris 9 bug
13339         * modules/symlink: New file.
13340         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
13341         * lib/symlink.c: Likewise.
13342         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
13343         * modules/unistd (Makefile.am): Substitute them.
13344         * lib/unistd.in.h (symlink): Declare replacement.
13345         * MODULES.html.sh (File system functions): Mention it.
13346         * doc/posix-functions/symlink.texi (symlink): Likewise.
13347         * modules/symlink-tests: New test.
13348         * tests/test-symlink.c: Likewise.
13349
13350 2009-09-23  Bruno Haible  <bruno@clisp.org>
13351
13352         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
13353         when needed.
13354         Test case: gnulib-tool --import --with-tests atexit inttypes.
13355         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
13356
13357 2009-09-23  Bruno Haible  <bruno@clisp.org>
13358
13359         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
13360         subcommand, not in a subshell.
13361
13362 2009-09-22  Eric Blake  <ebb9@byu.net>
13363
13364         unistd: sort replacement declarations
13365         * lib/unistd.in.h: Sort declarations.
13366
13367         open, openat: minor optimization
13368         * lib/open.c (open): If open succeeded, len is non-zero.
13369         * lib/openat.c (rpl_openat): Likewise.
13370
13371         link-follow: ensure correct result
13372         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
13373         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
13374         distinguish between possible failures.
13375
13376 2009-09-21  Eric Blake  <ebb9@byu.net>
13377
13378         fts: avoid compiler warning
13379         * lib/fts.c (dirent_inode_sort_may_be_useful)
13380         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
13381
13382 2009-09-19  Bruno Haible  <bruno@clisp.org>
13383
13384         * lib/progreloc.c (canonicalize_file_name): New declaration.
13385
13386 2009-09-19  Eric Blake  <ebb9@byu.net>
13387
13388         link: fix quoting
13389         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
13390
13391         openat: fix openat bugs on Solaris 9
13392         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
13393         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
13394         * modules/openat (Depends-on): Add open.
13395         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
13396         * modules/fcntl-h (Makefile.am): Substitute it.
13397         * lib/fcntl.in.h (openat): Declare replacement.
13398         * doc/posix-functions/openat.texi (openat): Document this.
13399
13400         openat: move fstatat and unlinkat into correct files
13401         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
13402         compiled.
13403         * lib/openat.c (fstatat, unlinkat): Move...
13404         * lib/fstatat.c (fstatat): ...into correct files.
13405         * lib/unlinkat.c (unlinkat): Likewise.
13406
13407         openat: fix unlinkat bugs on Solaris 9
13408         * lib/unlinkat.c (unlinkat): New file.
13409         * modules/openat (Depends-on): Add unlink.
13410         (Files): Distribute it.
13411         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
13412         trailing slash behavior is broken.
13413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13414         * modules/unistd (Makefile.am): Substitute it.
13415         * lib/unistd.in.h (unlinkat): Declare replacement.
13416         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
13417
13418         openat: fix fstatat bugs on Solaris 9
13419         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
13420         stat.
13421         * doc/posix-functions/fstatat.texi (fstatat): Document this.
13422
13423         test-unlinkat: enhance test, to expose Solaris 9 bug
13424         * tests/test-unlink.c (main): Factor guts...
13425         * tests/test-unlink.h (test_rmdir_func): ...into new file.
13426         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
13427         * tests/test-rmdir.c (main): Adjust caller.
13428         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
13429         (unlinker): New helper function.
13430         (rmdirat): Enhance check.
13431         * modules/rmdir-tests (Depends-on): Add stdbool.
13432         * modules/unlink-tests (Depends-on): Likewise.
13433         (Files): Add test-unlink.h.
13434         * modules/openat-tests (Files): Likewise.
13435         (Depends-on): Add unlinkdir.
13436
13437         test-fstatat: new test, to expose Solaris 9 bugs
13438         * tests/test-stat.c (main): Factor guts...
13439         * tests/test-stat.h (test_stat_func): ...into new file.
13440         * tests/test-lstat.c (main): Factor guts...
13441         * tests/test-lstat.h (test_lstat_func): ...into new file.
13442         * tests/test-fstatat.c: New file.
13443         * modules/stat-tests (Files): Add test-stat.h.
13444         * modules/lstat-tests (Files): Add test-lstat.h.
13445         (Depends-on): Add stdbool.
13446         * modules/openat-tests (Depends-on): Add pathmax.
13447         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
13448         (Makefile.am): Run new test.
13449
13450         remove: new module, for mingw and Solaris 9 bugs
13451         * modules/remove: New file.
13452         * lib/remove.c: Likewise.
13453         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
13454         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
13455         * modules/stdio (Makefile.am): Use them.
13456         * lib/stdio.in.h (remove): Declare replacement.
13457         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13458         * doc/posix-functions/remove.texi (remove): Likewise.
13459         * modules/remove-tests: New test.
13460         * tests/test-remove.c: Likewise.
13461
13462         unlink: new module, for Solaris 9 bug
13463         * modules/unlink: New file.
13464         * lib/unlink.c: Likewise.
13465         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
13467         * modules/unistd (Makefile.am): Use them.
13468         * lib/unistd.in.h (stat): Declare replacement.
13469         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13470         * doc/posix-functions/unlink.texi (unlink): Likewise.
13471         * modules/unlink-tests: New test.
13472         * tests/test-unlink.c: Likewise.
13473
13474         lstat: fix Solaris 9 bug
13475         * lib/lstat.c (lstat): Also check for trailing slash on
13476         non-symlink, non-directories.  Use stat module to simplify logic.
13477         * doc/posix-functions/lstat.texi (lstat): Document it.
13478         * modules/lstat-tests (Depends-on): Add errno, same-inode.
13479         (configure.ac): Check for symlink.
13480         * tests/test-lstat.c (main): Add more tests.
13481
13482         stat: add as dependency to other modules
13483         * modules/chown (Depends-on): Add stat.
13484         * modules/euidaccess (Depends-on): Likewise.
13485         * modules/fchdir (Depends-on): Likewise.
13486         * modules/isdir (Depends-on): Likewise.
13487         * modules/link (Depends-on): Likewise.
13488         * modules/lstat (Depends-on): Likewise.
13489         * modules/mkdir-p (Depends-on): Likewise.
13490         * modules/modechange (Depends-on): Likewise.
13491         * modules/open (Depends-on): Likewise.
13492         * modules/readlink (Depends-on): Likewise.
13493         * modules/same (Depends-on): Likewise.
13494
13495         stat: fix Solaris 9 bug
13496         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
13497         slash.
13498         * lib/stat.c (rpl_stat): Work around it.
13499         * doc/posix-functions/stat.texi (stat): Update documentation.
13500
13501         stat: new module, for mingw bug
13502         * modules/stat: New file.
13503         * lib/stat.c: Likewise.
13504         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13505         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13506         * modules/sys_stat (Makefile.am): Use them.
13507         * lib/sys_stat.in.h (stat): Declare replacement.
13508         * lib/openat.c (fstatat): Deal with lstat and stat being function
13509         macros.
13510         * modules/openat (Depends-on): Add inline.
13511         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13512         * doc/posix-functions/stat.texi (stat): Likewise.
13513         * modules/stat-tests: New test.
13514         * tests/test-stat.c: Likewise.
13515
13516 2009-09-19  Jim Meyering  <meyering@redhat.com>
13517
13518         syntax-check: detect unnecessary inclusion of canonicalize.h
13519         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
13520
13521 2009-09-19  Eric Blake  <ebb9@byu.net>
13522
13523         canonicalize-lgpl: adjust clients to use correct header
13524         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
13525         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
13526         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
13527         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
13528         * lib/progreloc.c (includes): Likewise.
13529
13530 2009-09-19  Jim Meyering  <meyering@redhat.com>
13531
13532         test-posixtm.c: correct a comment
13533         * tests/test-posixtm.c: Correct first-line comment.
13534         Spotted by Eric Blake.
13535
13536 2009-09-16  Jim Meyering  <meyering@redhat.com>
13537
13538         posixtm-tests: make T const-correct; add a test case
13539         * tests/test-posixtm.c (T): Declare const.
13540         Add a test for -(2^31+1).
13541         Remove useless can-succeed-only-in-2002 test.
13542
13543         posixtm-tests: adjust the sole failing test
13544         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
13545         expected output matches what mktime now produces.  Cross-checked via
13546         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
13547
13548         posixtm: move #ifdef'd tests into a new module
13549         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
13550         * tests/test-posixtm.c: ... this new file.
13551         * modules/posixtm-tests: New module.
13552
13553 2009-09-19  Eric Blake  <ebb9@byu.net>
13554
13555         openat: simplify use of at-func.c
13556         * lib/at-func.c (includes): Include prerequisites here, to
13557         simplify requirements on client files.
13558         * lib/openat-priv.h: Add double-inclusion guard.
13559         * lib/faccessat.c (includes): Simplify.
13560         * lib/fchmodat.c (includes): Likewise.
13561         * lib/fchownat.c (includes): Likewise.
13562         * lib/mkdirat.c (includes): Likewise.
13563         * lib/mkfifoat.c (includes): Likewise.
13564         * lib/symlinkat.c (includes): Likewise.
13565
13566         openat: allow return of fd 0
13567         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
13568         * modules/save-cwd (Depends-on): Replace fcntl-safer with
13569         unistd-safer.
13570         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
13571         <fcntl.h>; this module does not leak fds.
13572         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
13573         must be allowed to return 0, leaving openat_safer to add the
13574         safety.
13575         (openat_permissive): Avoid writing to just-opened fd 2 if
13576         restoring the current directory fails.
13577         * lib/openat-die.c (openat_restore_fail): Add comment.
13578         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
13579         (save_cwd): Guarantee safe fd, but without use of open_safer.
13580         * tests/test-openat.c: New test.
13581         * modules/openat-tests (Files, Makefile.am): Distribute and build
13582         new file.
13583
13584         relocatable-prog-wrapper: fix build
13585         * modules/relocatable-prog-wrapper (Files): Update name of
13586         canonicalize m4 file, broken on 2009-09-17.
13587         Reported by emad hajjar <aleppos@hotmail.com>.
13588
13589 2009-09-19  Bruno Haible  <bruno@clisp.org>
13590
13591         * lib/safe-alloc.h: Use the standard header with GPL copyright.
13592         * lib/safe-alloc.c: Likewise.
13593         Reported by Ian Beckwith <ianb@erislabs.net>.
13594
13595 2009-09-18  Bruno Haible  <bruno@clisp.org>
13596
13597         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
13598         Reported by <erobles@sensacd.com.mx>.
13599
13600 2009-09-17  Eric Blake  <ebb9@byu.net>
13601
13602         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
13603         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
13604         slashes when checking if last component is missing.
13605         * tests/test-canonicalize.c (main): Test this.
13606
13607         canonicalize, canonicalize-lgpl: honor // if distinct from /
13608         * modules/canonicalize (Files): Add double-slash-root.m4.
13609         * modules/canonicalize-lgpl (Files): Likewise.
13610         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
13611         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
13612         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
13613         fallback definition.
13614         (canonicalize_filename_mode): Use it to protect //.
13615         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
13616         (__realpath): Likewise.
13617         * tests/test-canonicalize.c (main): Test this.
13618         * tests/test-canonicalize-lgpl.c (main): Likewise.
13619         * modules/canonicalize-tests (Depends-on): Add same-inode.
13620         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13621
13622         canonicalize-lgpl: fix glibc bug with trailing slash
13623         * m4/canonicalize-lgpl.m4: Move contents...
13624         * m4/canonicalize.m4: ...here.
13625         (gl_CANONICALIZE_LGPL): Factor realpath check...
13626         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
13627         glibc 2.3.5 bug, fixed 2005-04-27.
13628         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
13629         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
13630         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
13631         * modules/canonicalize-lgpl (Files): Manage file rename.
13632         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
13633         * modules/stdlib (Makefile.am): Substitute witness.
13634         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
13635         is needed.
13636         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
13637         replacement is required.
13638         * lib/canonicalize.c (canonicalize_file_name): Likewise.
13639         * doc/glibc-functions/canonicalize_file_name.texi
13640         (canonicalize_file_name): Document this.
13641         * doc/posix-functions/realpath.texi (realpath): Likewise.
13642
13643         canonicalize-lgpl: reject non-directory with trailing slash
13644         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
13645         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
13646         catches failures in glibc 2.3.5.
13647         * tests/test-canonicalize.c (main): Likewise.
13648
13649         canonicalize-lgpl: use native realpath if it works
13650         * lib/canonicalize-lgpl.c (realpath): Guard with
13651         FUNC_REALPATH_WORKS.
13652         * lib/stdlib.in.h (realpath): Make declaration optional based on
13653         HAVE_REALPATH.
13654         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
13655         native realpath works.
13656         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
13657         * modules/stdlib (Makefile.am): Substitute witness.
13658
13659         canonicalize, canonicalize-lgpl: use <stdlib.h>
13660         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
13661         (Include): Mention <stdlib.h>.
13662         (configure.ac): Mention functions we provide.
13663         * modules/canonicalize (configure.ac): Likewise.
13664         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
13665         realpath if canonicalize_file_name is missing.
13666         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
13667         * modules/stdlib (Makefile.am): Substitute witnesses.
13668         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
13669         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
13670         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
13671         * NEWS: Document this.
13672         * doc/glibc-functions/canonicalize_file_name.texi
13673         (canonicalize_file_name): Likewise.
13674         * doc/posix-functions/realpath.texi (realpath): Likewise.
13675         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
13676
13677         test-canonicalize: consolidate into single C program
13678         * tests/test-canonicalize.sh: Delete; move setup into...
13679         * tests/test-canonicalize.c (main): ...the program, making it
13680         easier to run in debugger.  Add some tests.
13681         * modules/canonicalize-tests (Files): Remove unused file.
13682         (Depends-on): Add progname.
13683         (configure.ac, Makefile.am): Simplify.
13684
13685         test-canonicalize-lgpl: consolidate into single C program
13686         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
13687         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
13688         easier to run in debugger.  Add some tests.
13689         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
13690         (configure.ac, Makefile.am): Simplify.
13691
13692         canonicalize: avoid resolvepath
13693         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
13694         unnecessary checks.
13695         * lib/canonicalize.c (includes): Simplify.
13696         (canonicalize_file_name): Drop resolvepath implementation.
13697         * modules/canonicalize (Depends-on): Drop filenamecat.
13698
13699         canonicalize: don't lose errno
13700         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
13701         over calls to free.
13702
13703         canonicalize: simplify errno handling
13704         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
13705         assignment.
13706
13707         canonicalize, canonicalize-lgpl: update module dependencies
13708         * modules/canonicalize (Depends-on): Add extensions, lstat,
13709         pathmax, stdlib.
13710         (Files): Drop pathmax.h.
13711         (configure.ac): Adjust macro name.
13712         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
13713         lstat, stdlib, sys_stat.
13714         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
13715         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
13716         extensions.
13717         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
13718         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
13719         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
13720         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
13721         declaration, if available.
13722         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
13723         we can rely on the readlink module.
13724         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
13725         (includes): Use <unistd.h> unconditionally.
13726
13727 2009-09-17  Eric Blake  <ebb9@byu.net>
13728
13729         maint: make Include sections of modules consistent
13730         * modules/alloca: Use only header name; no need to list #include.
13731         * modules/alloca-opt: Likewise.
13732         * modules/arpa_inet: Likewise.
13733         * modules/canon-host: Likewise.
13734         * modules/configmake: Likewise.
13735         * modules/dirent: Likewise.
13736         * modules/eealloc: Likewise.
13737         * modules/environ: Likewise.
13738         * modules/fchdir: Likewise.
13739         * modules/fcntl: Likewise.
13740         * modules/fcntl-h: Likewise.
13741         * modules/gethrxtime: Likewise.
13742         * modules/gettime: Likewise.
13743         * modules/ignore-value: Likewise.
13744         * modules/inet_ntop: Likewise.
13745         * modules/inet_pton: Likewise.
13746         * modules/inttypes: Likewise.
13747         * modules/isnand-nolibm: Likewise.
13748         * modules/isnanf-nolibm: Likewise.
13749         * modules/mbchar: Likewise.
13750         * modules/mbfile: Likewise.
13751         * modules/mbiter: Likewise.
13752         * modules/mbuiter: Likewise.
13753         * modules/netdb: Likewise.
13754         * modules/netinet_in: Likewise.
13755         * modules/nproc: Likewise.
13756         * modules/pagealign_alloc: Likewise.
13757         * modules/poll: Likewise.
13758         * modules/printf-frexp: Likewise.
13759         * modules/pthread: Likewise.
13760         * modules/putenv: Likewise.
13761         * modules/random_r: Likewise.
13762         * modules/relocatable-prog: Likewise.
13763         * modules/search: Likewise.
13764         * modules/select: Likewise.
13765         * modules/selinux-h: Likewise.
13766         * modules/settime: Likewise.
13767         * modules/signal: Likewise.
13768         * modules/size_max: Likewise.
13769         * modules/socklen: Likewise.
13770         * modules/ssize_t: Likewise.
13771         * modules/stdarg: Likewise.
13772         * modules/stdbool: Likewise.
13773         * modules/stddef: Likewise.
13774         * modules/stdint: Likewise.
13775         * modules/stdio: Likewise.
13776         * modules/stdlib: Likewise.
13777         * modules/string: Likewise.
13778         * modules/strings: Likewise.
13779         * modules/sys_file: Likewise.
13780         * modules/sys_ioctl: Likewise.
13781         * modules/sys_select: Likewise.
13782         * modules/sys_socket: Likewise.
13783         * modules/sys_stat: Likewise.
13784         * modules/sys_time: Likewise.
13785         * modules/sys_times: Likewise.
13786         * modules/sys_utsname: Likewise.
13787         * modules/sys_wait: Likewise.
13788         * modules/sysexits: Likewise.
13789         * modules/time: Likewise.
13790         * modules/times: Likewise.
13791         * modules/tmpfile: Likewise.
13792         * modules/trim: Likewise.
13793         * modules/unistd: Likewise.
13794         * modules/wchar: Likewise.
13795         * modules/wctype: Likewise.
13796
13797 2009-09-17  Bruno Haible  <bruno@clisp.org>
13798
13799         Make getdate.y compile on QNX and NetBSD 5 / i386.
13800         * m4/getdate.m4 (gl_GETDATE): Conditionally define
13801         TIME_T_FITS_IN_LONG_INT.
13802         * lib/getdate.y (long_time_t): New type.
13803         (relative_time): Change type of 'seconds' field to long_time_t.
13804         (get_date): Update types of local variables. Check against overflow
13805         during conversion from long_time_t to time_t.
13806         Reported by Matt Kraai <kraai@ftbfs.org>
13807         and Hasso Tepper <hasso@netbsd.org>.
13808
13809 2009-09-17  Bruno Haible  <bruno@clisp.org>
13810
13811         * modules/COPYING: Update copyright years.
13812         * modules/README: Likeiwse.
13813         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
13814         Reported by Ian Beckwith <ianb@erislabs.net>.
13815
13816 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
13817
13818         * users.txt: Update references for gnuit package.
13819
13820 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
13821
13822         * m4/getdelim.m4: Fix typo in copyright line.
13823
13824 2009-09-17  Bruno Haible  <bruno@clisp.org>
13825
13826         * lib/atoll.c: Use the standard header with GPL copyright.
13827         * lib/argz.in.h: Likewise.
13828         * lib/glob.c: Likewise.
13829         * lib/glob-libc.h: Likewise.
13830         * lib/random_r.c: Likewise.
13831         * lib/siglist.h: Likewise.
13832         * lib/strsignal.c: Likewise.
13833         Reported by Ian Beckwith <ianb@erislabs.net>.
13834
13835 2009-09-17  Eric Blake  <ebb9@byu.net>
13836
13837         rmdir: ensure correct dependency order
13838         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
13839
13840 2009-09-17  Bruno Haible  <bruno@clisp.org>
13841
13842         Disable assertion that fails on NetBSD 5 / i386.
13843         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
13844         Reported by Sam Steingold <sds@gnu.org>
13845         and Hasso Tepper <hasso@netbsd.org>.
13846
13847 2009-09-16  Eric Blake  <ebb9@byu.net>
13848
13849         unlinkdir: port to mingw
13850         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
13851         on which no one can unlink a directory.
13852
13853         stdlib: sort witness names
13854         * modules/stdlib (Makefile.am): Sort replacements.
13855         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
13856         * lib/stdlib.in.h: Likewise.
13857
13858         parse-duration-tests: avoid link failure
13859         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
13860         LIBINTL.
13861         Reported by Tom G. Christensen.
13862
13863         openat-tests: ensure unlinkat behaves like rmdir
13864         * tests/test-rmdir.c (main): Factor guts...
13865         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
13866         * modules/rmdir-tests (Files): Ship new file.
13867         * modules/openat-tests: New test.
13868         * tests/test-unlinkat.c: Likewise.
13869
13870         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
13871         * modules/rmdir-errno (Status, Notice): Now obsolete.
13872
13873         rmdir: work around cygwin 1.5.x and mingw bugs
13874         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
13875         * lib/rmdir.c (rmdir): Work around it.
13876         * modules/rmdir (Status, Notice): No longer obsolete.
13877         (Files): Add dos.m4.
13878         (Depends-on): Add unistd.
13879         (configure.ac): Set witnesses.
13880         (License): Relax to LGPLv2+.
13881         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
13882         * modules/unistd (Makefile.am): Substitute witnesses.
13883         * lib/unistd.in.h (rmdir): Declare replacement.
13884         * doc/posix-functions/rmdir.texi (rmdir): Document this.
13885         * modules/rmdir-tests: New tests.
13886         * tests/test-rmdir.c: Likewise.
13887
13888 2009-09-15  Eric Blake  <ebb9@byu.net>
13889
13890         fchdir: improve use of replacement functions
13891         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
13892         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
13893         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
13894         REPLACE_CLOSEDIR.
13895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
13896         * modules/sys_stat (Makefile.am): Substitute correct witness.
13897         * modules/dirent (Makefile.am): Likewise.
13898         * modules/unistd (Makefile.am): Likewise.
13899         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
13900         * lib/unistd.in.h (dup): Likewise.
13901         * lib/sys_stat.in.h (fstat): Likewise.
13902
13903         maint: ignore gnulib-tool temp files
13904         * .gitignore: Ignore files created during gnulib-tool --test.
13905
13906 2009-09-13  Jim Meyering  <meyering@redhat.com>
13907
13908         posixtm: don't reject a time that specify "60" as the number of seconds
13909         * lib/posixtm.c (posixtime): The code to reject invalid dates
13910         would also reject a time specified with the .60 suffix.
13911         But POSIX allows that, in order to accommodate leap seconds.
13912         So don't reject it.
13913         (main): Adjust tests accordingly.
13914         * modules/posixtm (Depends-on): Add stpcpy.
13915
13916 2009-09-11  Jim Meyering  <meyering@redhat.com>
13917
13918         announce-gen: include [$release_type] in emitted Subject:
13919         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
13920         e.g., [stable] in the emitted Subject: line.
13921
13922 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13923
13924         Remove obsolete macros from several modules.
13925         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
13926         obsolete Autoconf macros with their modern counterparts.
13927         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
13928         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
13929         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
13930         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
13931         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
13932         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13933         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
13934         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
13935         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
13936         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
13937         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13938         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13939         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
13940         * m4/sockets.m4 (gl_SOCKETS): Likewise.
13941         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
13942         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
13943         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
13944         * m4/time_r.m4 (gl_TIME_R): Likewise.
13945         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
13946         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
13947         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
13948
13949         Fix copyright header in build-aux scripts.
13950         * build-aux/git-version-gen: Fix copyright header to match GPLv3
13951         recommendation.
13952         * build-aux/ncftpput-ftp: Likewise.
13953         * build-aux/update-copyright: Likewise.
13954
13955 2009-09-09  Eric Blake  <ebb9@byu.net>
13956
13957         test-link: allow Linux choice of errno
13958         * tests/test-link.c (main): Relax test for alternate error.
13959
13960         strndup: fix improper m4 caching
13961         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
13962         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
13963         (gl_PREREQ_STRNDUP): Delete.
13964         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
13965         * modules/string (Makefile.am): Substitute it.
13966         * lib/string.in.h (strndup): Modernize prototype.
13967
13968         getcwd: port to mingw
13969         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
13970         different from the POSIX assumptions made throughout the getcwd
13971         module; fortunately, the mingw getcwd does not need replacement.
13972         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
13973         * modules/getcwd-tests: New test.
13974         * tests/test-getcwd.c: Likewise.
13975
13976         link: fix platform bugs
13977         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
13978         * lib/link.c (link): Work around them.  Fix related mingw bug.
13979         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
13980         * modules/unistd (Makefile.am): Substitute it.
13981         * lib/unistd.in.h (link): Declare replacement.
13982         * doc/posix-functions/link.texi (link): Document this.
13983         * modules/link (Depends-on): Add strdup-posix, sys_stat.
13984
13985         test-link: consolidate into single C program, test more cases
13986         * tests/test-link.sh: Delete.
13987         * tests/test-link.c: Test more error conditions.  Exposes bugs on
13988         at least Cygwin and Solaris.
13989         * modules/link-tests (Files): Remove unused file.
13990         (Depends-on): Add errno, sys_stat.
13991         (Makefile.am): Simplify.
13992
13993 2009-09-08  Bruno Haible  <bruno@clisp.org>
13994
13995         Work around towlower, towupper bug on mingw.
13996         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
13997         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
13998         * doc/posix-functions/towlower.texi: Mention the mingw bug.
13999         * doc/posix-functions/towupper.texi: Likewise.
14000         Reported by Eric Blake.
14001
14002 2009-09-08  Jim Meyering  <meyering@redhat.com>
14003
14004         build: don't try to run autoheader if we don't use it
14005         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
14006         is not used in configure.ac.
14007
14008 2009-09-08  Eric Blake  <ebb9@byu.net>
14009
14010         euidaccess: fix compilation error
14011         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
14012
14013         rawmemchr: relax license
14014         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
14015         okay.
14016         Reported by Jim Meyering.
14017
14018         mkfifoat: new module
14019         * modules/mkfifoat: New file.
14020         * lib/mkfifoat.c: Likewise.
14021         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
14022         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
14023         * modules/sys_stat (Makefile.am): Use them.
14024         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
14025         * MODULES.html.sh (File system functions): Mention module.
14026         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
14027         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
14028         * modules/mkfifoat-tests: New test.
14029         * tests/test-mkfifoat.c: Likewise.
14030
14031         strchrnul: relax license
14032         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
14033         okay.
14034         Reported by Jim Meyering.
14035
14036 2009-09-08  Eric Blake  <ebb9@byu.net>
14037
14038         fstatat: fix compilation on Solaris
14039         * lib/fstatat.c (includes): Add fcntl.h.
14040         Reported by Pádraig Brady.
14041
14042 2009-09-07  Eric Blake  <ebb9@byu.net>
14043
14044         rename: modernize replacement
14045         * modules/rename (Depends-on): Add stdio.
14046         (configure.ac): Declare witness.
14047         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
14048         stdio take care of replacement.
14049         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
14050         * modules/stdio (Makefile.am): Substitute them.
14051         * lib/stdio.in.h (rename): Declare replacement.
14052         * lib/rename.c (includes): Allow cross-compilation to non-windows
14053         machines.
14054         * doc/posix-functions/rename.texi (rename): Improve
14055         documentation.
14056
14057         stdio: sort witness names
14058         * modules/stdio (Makefile.am): Sort replacements.
14059         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14060         * lib/stdio.in.h: Likewise.
14061
14062         getcwd: minor cleanups
14063         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
14064         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
14065
14066         openat: provide more convenience names
14067         * modules/faccessat (configure.ac): Add C witness.
14068         * lib/unistd.in.h (readlinkat): Fix typo.
14069         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
14070         convenience wrappers.
14071         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
14072         wrappers in syntax checks.
14073
14074 2009-09-06  Eric Blake  <ebb9@byu.net>
14075
14076         doc: fix comments in recent patches
14077         * lib/faccessat.c: Mention correct function.
14078         * lib/fchmodat.c: Likewise.
14079         * lib/fchownat.c: Likewise.
14080         * lib/symlinkat.c: Likewise.
14081         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
14082         constants.
14083
14084         faccessat, symlinkat: continue cleanup of previous patch
14085         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
14086         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
14087         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
14088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
14089         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
14090         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
14091         set.
14092
14093 2009-09-06  Bruno Haible  <bruno@clisp.org>
14094
14095         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
14096         (fstatat): Declare if GNULIB_FSTATAT is set.
14097         (mkdirat): Declare if GNULIB_MKDIRAT is set.
14098         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
14099         (unlinkat): Declare if GNULIB_UNLINKAT is set.
14100         * modules/fcntl-h (Files): Remove m4/openat.m4.
14101         * modules/sys_stat (Files): Remove m4/openat.m4.
14102         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
14103         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
14104         * modules/unistd (Files): Remove m4/openat.m4.
14105         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
14106         GNULIB_OPENAT.
14107         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
14108         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
14109         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
14110         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
14111         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
14112         gl_OPENAT_DEFAULTS.
14113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
14114         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
14115         Don't require gl_OPENAT_DEFAULTS.
14116         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
14117         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
14118         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
14119         (gl_OPENAT_DEFAULTS): Remove macro.
14120
14121 2009-09-06  Bruno Haible  <bruno@clisp.org>
14122
14123         * modules/openat (configure.ac): Remove unneeded witness.
14124
14125 2009-09-06  Bruno Haible  <bruno@clisp.org>
14126
14127         Set errno to ENOSYS when a function is entirely unsupported.
14128         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
14129         EOPNOTSUPP.
14130         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
14131         * modules/chown (Depends-on): Remove errno.
14132
14133 2009-09-06  Bruno Haible  <bruno@clisp.org>
14134
14135         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
14136
14137 2009-09-06  Bruno Haible  <bruno@clisp.org>
14138
14139         * lib/sys_stat.in.h: Fix preprocessor command indentation.
14140
14141 2009-09-06  Ben Pfaff  <blp@gnu.org>
14142             Bruno Haible  <bruno@clisp.org>
14143
14144         Work around a glibc bug in strtok_r.
14145         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
14146         Undefine if UNDEFINE_STRTOK_R is set.
14147         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
14148         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14149         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
14150         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
14151         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
14152         UNDEFINE_STRTOK_R.
14153         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
14154
14155 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
14156
14157         exclude: minor fix
14158         * lib/exclude.c: Include wctype.h
14159
14160 2009-09-06  Akim Demaille  <demaille@gostai.com>
14161
14162         bootstrap: improve error message
14163         * build-aux/bootstrap (find_tool): Upon failure, report the list
14164         of candidates.
14165         Honor the initial value of the envvar.
14166
14167 2009-09-05  Eric Blake  <ebb9@byu.net>
14168
14169         symlinkat: new module
14170         * modules/symlinkat: New file.
14171         * lib/symlinkat.c: Likewise.
14172         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
14173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
14174         * modules/unistd (Makefile.am): Use them.
14175         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
14176         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
14177         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
14178         * MODULES.html.sh (File system functions): Mention module.
14179         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
14180         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
14181         * modules/symlinkat-tests: New test.
14182         * tests/test-symlinkat.c: Likewise.
14183
14184         test-openat-safer: add more checks
14185         * tests/test-openat-safer.c (main): Check more code paths.
14186
14187 2009-09-05  Jim Meyering  <meyering@redhat.com>
14188
14189         syntax-check: detect unnecessary inclusion of openat.h
14190         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
14191
14192 2009-09-05  Bruno Haible  <bruno@clisp.org>
14193
14194         Support towlower, towupper.
14195         * doc/posix-functions/towlower.texi: Mention module wctype.
14196         * doc/posix-functions/towupper.texi: Likewise.
14197         * lib/wctype.in.h (towlower, towupper): New functions.
14198         * tests/test-wctype.c: Include stdio.h, stdlib.h.
14199         (ASSERT): New macro.
14200         (e): New variable.
14201         (main): Test also towlower, towupper. Test WEOF argument.
14202         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
14203
14204 2009-09-05  Bruno Haible  <bruno@clisp.org>
14205
14206         Fix conversion behaviour when the input is invalid.
14207         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
14208         mark occurring in first pass of indirect conversion.
14209         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
14210         input.
14211         Found by clang's static analyzer.
14212
14213 2009-09-05  Bruno Haible  <bruno@clisp.org>
14214
14215         * tests/test-striconveh.c (main): Test indirect conversion on platforms
14216         where direct conversion is possible.
14217
14218 2009-09-04  Eric Blake  <ebb9@byu.net>
14219
14220         openat: fail with ENOENT on empty name
14221         * lib/openat-proc.c (openat_proc_name): Special-case the empty
14222         buffer.
14223
14224         link-follow: fix logic bug in prior patch
14225         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
14226         reversed sense of yes and no in prior patch.  Avoid confusing
14227         compilation failure with desired semantics.
14228
14229         link-follow: accomodate mingw and cross-compilation
14230         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
14231         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
14232         cross-compilation results to -1, to make linkat easier to
14233         implement when cross-compiling.  Trivially support mingw.
14234         * modules/link-follow (configure.ac): Call new name.
14235         * NEWS: Mention this.
14236
14237 2009-09-03  Eric Blake  <ebb9@byu.net>
14238
14239         faccessat: compile replacement
14240         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
14241         needed.
14242
14243         fts: fix compilation error
14244         * lib/fts.c (includes): Re-add "openat.h", for
14245         openat_needs_fchdir.
14246
14247         faccessat: new module
14248         * modules/faccessat: New file.
14249         * lib/faccessat.c: Likewise.
14250         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
14251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14252         * modules/unistd (Makefile.am): Use it.
14253         * lib/unistd.in.h (faccessat): Declare it.
14254         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
14255         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
14256         * MODULES.html.sh (File system functions): Mention it.
14257         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
14258         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
14259
14260         euidaccess: prefer POSIX over non-standard implementation
14261         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
14262         * lib/euidaccess.c (euidaccess): Use it if available.
14263
14264         openat: make template easier to use
14265         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
14266         AT_FUNC_F2 to be undefined.
14267         (VALIDATE_FLAG): New macro; use it to reject bad flags.
14268         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
14269         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
14270         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
14271         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
14272         Likewise.
14273         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
14274         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
14275         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
14276         Likewise.
14277
14278         openat: declare in POSIX headers
14279         * NEWS: Mention this.
14280         * modules/openat (configure.ac): Declare witnesses.
14281         (Depends-on): Add fcntl-h, sys_stat, unistd.
14282         (Include): Mention correct headers.
14283         * modules/fcntl-h (Depends-on): Add link-warning.
14284         (Files): Add openat.m4.
14285         (Makefile.am): Substitute witnesses.
14286         * modules/sys_stat (Files, Makefile.am): Likewise.
14287         * modules/unistd (Files, Makefile.am): Likewise.
14288         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
14289         (gl_OPENAT_DEFAULTS): New macro.
14290         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
14291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
14292         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
14293         (SYS_STAT_H): Remove unused variable.
14294         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
14295         * lib/fcntl--.h (includes): Remove unneeded header.
14296         * lib/openat-safer.c (includes): Likewise.
14297         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
14298         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
14299         appropriate headers.
14300         (__OPENAT_PREFIX): Delete.
14301         * lib/fcntl.in.h (openat): Provide declaration.
14302         (AT_FDCWD): Fix Solaris bug.
14303         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
14304         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
14305         * lib/fchmodat.c (includes):  Adjust to find declaration.
14306         * lib/fchownat.c (includes): Likewise.
14307         * lib/mkdirat.c (includes): Likewise.
14308         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
14309         still visible.
14310
14311 2009-09-02  Eric Blake  <ebb9@byu.net>
14312
14313         errno: use consistently
14314         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
14315         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
14316         * lib/canonicalize.c (ELOOP): Likewise.
14317         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
14318         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
14319         * lib/lchown.c (EOPNOTSUPP): Likewise.
14320         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
14321         * lib/savewd.c (ESTALE): Likewise.
14322         * lib/settime.c (ENOSYS): Likewise.
14323         * lib/utimens.c (ENOSYS): Likewise.
14324         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
14325         * lib/chdir-safer.c (ELOOP): Likewise.
14326         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
14327         * modules/c-stack (Depends-on): Add errno.
14328         * modules/canonicalize (Depends-on): Likewise.
14329         * modules/chdir-safer (Depends-on): Likewise.
14330         * modules/fdopendir (Depends-on): Likewise.
14331         * modules/inet_ntop (Depends-on): Likewise.
14332         * modules/inet_pton (Depends-on): Likewise.
14333         * modules/lchown (Depends-on): Likewise.
14334         * modules/openat (Depends-on): Likewise.
14335         * modules/savewd (Depends-on): Likewise.
14336         * modules/settime (Depends-on): Likewise.
14337         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
14338
14339         fts: avoid leaking fds
14340         * modules/fts (Depends-on): Add cloexec.
14341         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
14342         flag.
14343
14344         fts: make directory fds more robust
14345         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
14346         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
14347
14348         backupfile, chdir-long, fts, savedir: make safer
14349         * lib/backupfile.c (includes): Use "dirent--.h", since
14350         numbered_backup can write to stderr during readdir.
14351         * lib/savedir.c (includes): Likewise.
14352         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
14353         emulation can write to stderr on failure.
14354         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
14355         * lib/getcwd.c: Document why opendir_safer is unused.
14356         * lib/glob.c: Likewise.
14357         * lib/scandir.c: Likewise.
14358         * lib/openat-proc.c: Likewise, for open_safer.
14359         * modules/backupfile (Depends-on): Add dirent-safer.
14360         * modules/savedir (Depends-on): Likewise.
14361         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
14362         * modules/chdir-long (Depends-on): Add openat-safer.
14363
14364         openat-safer: new module
14365         * modules/openat-safer: New file.
14366         * lib/openat-safer.c: Likewise.
14367         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
14368         * lib/fcntl-safer.h (openat_safer): Declare.
14369         * lib/fcntl--.h (openat): Override.
14370         * MODULES.html.sh (File descriptor based I/O): Mention it.
14371         * lib/openat.h: Add double-inclusion guards.
14372         * lib/openat.c (includes): Only include "fcntl-safer.h", not
14373         "fcntl--.h", so we can implement openat.
14374         * modules/openat-safer-tests: New test.
14375         * tests/test-openat-safer.c: New file.
14376
14377         dirent-safer: new module
14378         * modules/dirent-safer: New file.
14379         * lib/dirent--.h: Likewise.
14380         * lib/dirent-safer.h: Likewise.
14381         * lib/opendir-safer.c: Likewise.
14382         * m4/dirent-safer.m4: Likewise.
14383         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
14384         * modules/dirent-safer-tests: New test.
14385         * tests/test-dirent-safer.c: New file.
14386         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
14387
14388         fdopendir: optimize on mingw
14389         * lib/unistd.in.h (_gl_directory_name): New prototype.
14390         * lib/fchdir.c (_gl_directory_name): Implement it.
14391         (fchdir): Use it to simplify implementation.
14392         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
14393         fchdir, when available, to avoid calling [f]chdir().
14394
14395         fdopendir: split into its own module
14396         * lib/openat.c (fdopendir): Move...
14397         * lib/fdopendir.c: ...into new file.
14398         * modules/fdopendir: New module.
14399         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
14400         * modules/openat (Depends-on): Add fdopendir.
14401         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
14402         fdopendir here.
14403         * modules/savedir (Depends-on): Only need fdopendir, not full
14404         openat.
14405         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
14406         * lib/openat.h (fdopendir): Drop prototype.
14407         * lib/dirent.in.h (fdopendir): Provide prototype.
14408         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
14409         * modules/dirent (Makefile.am): Substitute them.
14410         * MODULES.html.sh (File system functions): Mention it.
14411         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
14412         * modules/fdopendir-tests: New file.
14413         * tests/test-fdopendir.c: Likewise.
14414
14415         fchdir: use more consistent macro convention
14416         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
14417         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
14418         REPLACE_FCHDIR, rather than relying on config.h macros.
14419         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
14420         inside a single make-time REPLACE_FCHDIR block, rather than using
14421         the config.h FCHDIR_REPLACEMENT.
14422         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
14423         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
14424         Manage fstat replacement.
14425         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
14426         REPLACE_FCHDIR.
14427         * modules/sys_stat (Files): Add m4/unistd_h.m4.
14428         (Makefile.am): Substitute REPLACE_FCHDIR.
14429         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
14430         FCHDIR_REPLACEMENT.
14431         * lib/dup-safer.c (dup_safer): Likewise.
14432         * lib/dup2.c (rpl_dup2): Likewise.
14433         * lib/dup3.c (rpl_dup3): Likewise.
14434         * lib/open.c (rpl_open): Likewise.
14435
14436         fchdir: simplify error handling, and support dup3
14437         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
14438         stdbool, malloc-posix, realloc-posix.
14439         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
14440         (ensure_dirs_slot): Return false on allocation failure.
14441         (rpl_dup2): Delete.
14442         (_gl_register_dup): New function.
14443         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
14444         (_gl_register_fd): Close fd on allocation failure.
14445         * lib/fcntl.in.h (_gl_register_fd): Update signature.
14446         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
14447         prototype.
14448         (rpl_dup2_fchdir): Delete prototype.
14449         * lib/open.c (open): Update caller.
14450         * lib/dup2.c (dup2): Track fchdir metadata.
14451         * lib/dup3.c (dup3): Likewise.
14452         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
14453         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
14454
14455 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14456
14457         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
14458         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
14459         don't pass arguments to AC_OUTPUT.
14460
14461 2009-09-02  Bruno Haible  <bruno@clisp.org>
14462
14463         * modules/mkdtemp (License): Relicense under LGPLv2+.
14464         Reported by Paolo Bonzini.
14465
14466 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14467
14468         Replace uses of obsolete autoconf macros in Jim's modules.
14469         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
14470         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
14471         can evoke a warning from autoconf when run with -Wobsolete
14472         enabled.  They were declared obsolete for good reasons (see
14473         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
14474         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
14475         should not continue using the deprecated macros.
14476         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
14477         obsolete Autoconf macros with modern counterparts.
14478         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14479         * m4/dos.m4 (gl_AC_DOS): Likewise.
14480         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
14481         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
14482         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
14483         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
14484         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
14485         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
14486         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
14487         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
14488         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
14489         Likewise.
14490         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
14491         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
14492         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
14493         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
14494         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
14495         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
14496
14497 2009-09-01  Eric Blake  <ebb9@byu.net>
14498
14499         fchdir: fix off-by-one bug in previous patch
14500         * lib/fchdir.c (rpl_fstat): Use correct bounds.
14501         (_gl_unregister_fd): Delete useless if.
14502
14503 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
14504
14505         maint.mk: sort the list of syntax-check rules
14506         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
14507         easier to get a sense of progress when the rules are run sequentially
14508         and take a long time.
14509
14510 2009-09-01  Simon Josefsson  <simon@josefsson.org>
14511
14512         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
14513         * modules/netinet_in: Likewise.
14514         * modules/sys_file: Likewise.
14515         * modules/sys_ioctl: Likewise.
14516         * modules/sys_select: Likewise.
14517         * modules/sys_socket: Likewise.
14518         * modules/sys_stat: Likewise.
14519         * modules/sys_time: Likewise.
14520         * modules/sys_times: Likewise.
14521         * modules/sys_utsname: Likewise.
14522         * modules/sys_wait: Likewise.
14523
14524 2009-09-01  Jim Meyering  <meyering@redhat.com>
14525
14526         fts: help ensure that return values are not ignored
14527         * lib/fts_.h (__GNUC_PREREQ): Define.
14528         (__attribute_warn_unused_result__): Define.
14529         (fts_children, fts_close, fts_open, fts_read): Declare with
14530         __attribute_warn_unused_result__.
14531
14532         fts: fts_close now fails also when closing a dir file descriptor fails
14533         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
14534         and propagate to caller, along with errno.
14535
14536         announce-gen: correct formatting in --help output
14537         * build-aux/announce-gen (usage): Move the one-line description in
14538         --help output "up", to where it belongs, just after Usage:.
14539
14540 2009-08-31  Eric Blake  <ebb9@byu.net>
14541
14542         fchdir: port to mingw
14543         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
14544         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
14545         opened, then use a substitute.
14546         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
14547         replacement.
14548         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
14549         (_gl_register_fd): No need to check stat if open already filters
14550         all directories.
14551         (fchdir): Fix error condition to match POSIX.
14552         * modules/fchdir (Depends-on): Add sys_stat.
14553         * doc/posix-functions/open.texi (open): Document the limitation.
14554         * modules/fchdir-tests: New file.
14555         * tests/test-fchdir.c: Likewise.
14556
14557         canonicalize: allow cross-testing from cygwin to mingw
14558         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
14559         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
14560         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
14561         Likewise.
14562         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
14563         target does not support symlinks.
14564         * tests/test-canonicalize-lgpl.sh: Likewise.
14565
14566         chown: avoid compilation warning on mingw
14567         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
14568         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
14569         mingw.
14570         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
14571         * modules/chown (Depends-on): Add errno.
14572
14573 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
14574
14575         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
14576         command.
14577
14578 2009-08-31  Jim Meyering  <meyering@redhat.com>
14579
14580         canonicalize: remove useless initialization
14581         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
14582         initialization of local, "end".
14583
14584 2009-08-30  Bruno Haible  <bruno@clisp.org>
14585
14586         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
14587         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
14588         ENOSYS.
14589
14590 2009-08-30  Bruno Haible  <bruno@clisp.org>
14591
14592         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
14593         /usr/xpg4/bin/tr when it exists.
14594         * tests/test-pipe-filter-gi1.sh: Likewise.
14595
14596 2009-08-30  Bruno Haible  <bruno@clisp.org>
14597
14598         Work around deficient /usr/bin/id program on Solaris.
14599         * tests/test-file-has-acl.sh (ID): New variable.
14600         * tests/test-set-mode-acl.sh (ID): Likewise.
14601         * tests/test-copy-acl.sh (ID): Likewise.
14602         * tests/test-copy-file.sh (ID): Likewise.
14603
14604 2009-08-30  Bruno Haible  <bruno@clisp.org>
14605
14606         New module 'xstriconveh'.
14607         * lib/xstriconveh.h: New file.
14608         * lib/xstriconveh.c: New file.
14609         * modules/xstriconveh: New file.
14610
14611 2009-08-30  Bruno Haible  <bruno@clisp.org>
14612
14613         Make it easier to use mem_cd_iconveh.
14614         * lib/striconveh.h (iconveh_t): New type.
14615         (iconveh_open, iconveh_close): New declarations.
14616         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
14617         with a single 'const iconveh_t *' argument.
14618         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
14619         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
14620         with a single 'const iconveh_t *' argument.
14621         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
14622         * tests/test-striconveh.c (main): Update.
14623         * NEWS: Mention the change.
14624
14625 2009-08-30  Bruno Haible  <bruno@clisp.org>
14626
14627         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
14628         problem.
14629
14630 2009-08-30  Bruno Haible  <bruno@clisp.org>
14631
14632         Work around iconv_open problem on Solaris.
14633         * lib/iconv_open-solaris.gperf: New file.
14634         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
14635         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
14636         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
14637         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
14638         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
14639         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
14640
14641 2009-08-29  Jim Meyering  <meyering@redhat.com>
14642
14643         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
14644         * top/maint.mk (cvs-check): Remove target; it was just an alias
14645         to the better-named vc-diff-check.
14646         (maintainer-distcheck): Remove rule.  It was used only from
14647         the (alpha/beta/major) target, and all of its commands but one
14648         were coreutils-specific.
14649         (vc-dist): Remove rule.
14650         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
14651         Run vc-diff-check, not vc-dist.
14652         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
14653
14654 2009-08-27  Bruno Haible  <bruno@clisp.org>
14655
14656         * tests/test-bitrotate.c (main): Remove test that uses a shift count
14657         of 0.
14658
14659 2009-08-27  Bruno Haible  <bruno@clisp.org>
14660
14661         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
14662         compilers.
14663         * doc/func.texi: Document the SunPRO C bug.
14664
14665 2009-08-27  Bruno Haible  <bruno@clisp.org>
14666
14667         Fix link error on Solaris.
14668         * tests/test-parse-duration.c (xstrdup): Remove function.
14669
14670 2009-08-26  Pádraig Brady  <P@draigbrady.com>
14671
14672         ignore-value: handle pointer types, too
14673         * lib/ignore-value.h (__attribute__): Remove definition.
14674         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
14675         of a more concise and more-often effective "(void) i" statement.
14676         (ignore_ptr): New function to suppress warnings from functions that
14677         return pointers, and to make it explicit that one function doesn't
14678         handle all cases.
14679
14680 2009-08-25  Bruno Haible  <bruno@clisp.org>
14681
14682         dup2: work around a Linux bug.
14683         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
14684         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
14685         * doc/posix-functions/dup2.texi: Mention the Linux bug.
14686         Reported by Simon Josefsson.
14687
14688 2009-08-25  Jim Meyering  <meyering@redhat.com>
14689
14690         libguestfs uses gnulib
14691         * users.txt: Add libguestfs.
14692
14693 2009-08-24  Eric Blake  <ebb9@byu.net>
14694
14695         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
14696         * lib/pipe2.c (includes): Add binary-io.h.
14697         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
14698
14699 2009-08-24  Bruno Haible  <bruno@clisp.org>
14700
14701         Tolerate declared but missing accept4 syscall.
14702         * lib/accept4.c (accept4): Invoke original accept4 function first, if
14703         available.
14704         * lib/sys_socket.in.h (accept4): If the function is already present,
14705         override it.
14706         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
14707         * modules/accept4 (Makefile.am): Compile accept4.c always.
14708         Reported by Paolo Bonzini and Eric Blake.
14709
14710 2009-08-23  Bruno Haible  <bruno@clisp.org>
14711
14712         New module 'accept4'.
14713         * lib/sys_socket.in.h (accept4): New declaration.
14714         * lib/accept4.c: New file.
14715         * m4/accept4.m4: New file.
14716         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
14717         GNULIB_ACCEPT4, HAVE_ACCEPT4.
14718         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
14719         HAVE_ACCEPT4.
14720         * modules/accept4: New file.
14721         * doc/glibc-functions/accept4.texi: Mention the new module.
14722
14723 2009-08-24  Jim Meyering  <meyering@redhat.com>
14724
14725         progname: also set global program_invocation_name, when possible
14726         Before this change, a libtool-enabled program that calls glibc's
14727         error function would report the program name as
14728         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
14729         * modules/progname (configure.ac): Check for a declaration of
14730         program_invocation_name.
14731         * lib/progname.c:  Include <errno.h>.
14732         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
14733         Set program_invocation_name.
14734
14735 2009-08-23  Bruno Haible  <bruno@clisp.org>
14736
14737         * lib/dup3.c: Include <string.h>.
14738
14739 2009-08-23  Bruno Haible  <bruno@clisp.org>
14740
14741         * lib/dup3.c (dup3): Test only once whether the system actually exists.
14742         * lib/pipe2.c (pipe2): Likewise.
14743         Suggested by Eric Blake.
14744
14745 2009-08-23  Bruno Haible  <bruno@clisp.org>
14746
14747         Tolerate declared but missing dup3 syscall.
14748         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
14749         * lib/unistd.in.h (dup3): If the function is already present,
14750         override it.
14751         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
14752         * modules/dup3 (Makefile.am): Compile dup3.c always.
14753         Reported by Paolo Bonzini.
14754
14755 2009-08-23  Bruno Haible  <bruno@clisp.org>
14756
14757         Tolerate declared but missing pipe2 syscall.
14758         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
14759         available.
14760         * lib/unistd.in.h (pipe2): If the function is already present,
14761         override it.
14762         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
14763         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
14764         Reported by Paolo Bonzini.
14765
14766 2009-08-23  Bruno Haible  <bruno@clisp.org>
14767
14768         * lib/pipe2.c (pipe2): Move #ifs inside function.
14769
14770 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14771
14772         quotearg: document limitations of quote_these_too
14773         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
14774         those limitations are created.
14775         * lib/quotearg.h (set_char_quoting): Document that digits and
14776         letters that are special after backslash are not permitted.
14777         (quotearg_char): Cross-reference set_char_quoting documentation.
14778
14779 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
14780
14781         quotearg: implement custom_quoting_style
14782         * lib/quotearg.c: (struct quoting_options): Add left_quote and
14783         right_quote fields.
14784         (set_custom_quoting): New public function.
14785         (quotearg_buffer_restyled): Add left_quote and right_quote
14786         arguments, handle them very much like locale quoting, and update
14787         all uses.
14788         (quotearg_n_custom): New public function.
14789         (quotearg_n_custom_mem): New public function.
14790         (quotearg_custom): New public function.
14791         (quotearg_custom_mem): New public function.
14792         * lib/quotearg.h: Prototype and document new public functions.
14793         (enum quoting_style): For escape_quoting_style and
14794         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
14795         ignored even though they're otherwise like c_quoting_style.
14796         Add custom_quoting_style member and document with comparison to
14797         clocale_quoting_style.
14798         * tests/test-quotearg.c (custom_quotes): New array.
14799         (custom_results): New array.
14800         (main): Extend to test custom quoting.
14801
14802 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14803
14804         quotearg: fix right quote escaping when it's in quote_these_too
14805         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
14806         quote, be sure to prepend only one backslash.
14807         * tests/test-quotearg.c (use_quote_double_quotes): New function.
14808         (main): Test it.
14809
14810 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14811
14812         quotearg-tests: test escaping of embedded locale quotes
14813         * tests/test-quotearg.c (struct result_strings): Add member for
14814         new input.
14815         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
14816         (inputs): Add new input.
14817         (results_g): Add expected results.
14818         (flag_results): Likewise.
14819         (locale_results): Likewise.
14820         (compare_strings): Check those.
14821
14822 2009-08-23  Bruno Haible  <bruno@clisp.org>
14823
14824         Tests for module 'dup3'.
14825         * modules/dup3-tests: New file.
14826         * tests/test-dup3.c: New file.
14827
14828         New module 'dup3'.
14829         * lib/unistd.in.h (dup3): New declaration.
14830         * lib/dup3.c: New file.
14831         * m4/dup3.m4: New file.
14832         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
14833         HAVE_DUP3.
14834         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
14835         * modules/dup3: New file.
14836         * doc/glibc-functions/dup3.texi: Mention the new module.
14837
14838 2009-08-23  Bruno Haible  <bruno@clisp.org>
14839
14840         Tweak the dup2 test.
14841         * tests/test-dup2.c (main): Create the test file empty. Verify that an
14842         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
14843         the test file is still empty. Fix argument order of lseek.
14844
14845 2009-08-23  Bruno Haible  <bruno@clisp.org>
14846
14847         Avoid test link errors when the modules getopt-gnu, gettext are used.
14848         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
14849         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14850
14851 2009-08-23  Bruno Haible  <bruno@clisp.org>
14852
14853         Fix getdtablesize() on mingw.
14854         * lib/getdtablesize.c (getdtablesize): Implement differently.
14855         * lib/unistd.in.h (getdtablesize): Improve comment.
14856
14857 2009-08-23  Bruno Haible  <bruno@clisp.org>
14858
14859         New module 'mkostemp'.
14860         Based on Ulrich Drepper's 2007-08-10 change in glibc.
14861         * lib/stdlib.in.h (mksotemp): New declaration.
14862         * lib/mkostemp.c: New file, from glibc with modifications.
14863         * lib/tempname.h (GT_FILE): Remove outdated comment.
14864         (gen_tempname): Add flags argument.
14865         * lib/tempname.c (__GT_BIGFILE): Remove macro.
14866         (__GT_FILE): Map to 1.
14867         (small_open, large_open): Remove macros.
14868         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
14869         * lib/mkstemp.c (mkstemp): Update.
14870         * lib/mkdtemp.c (mkdtemp): Likewise.
14871         * m4/mkostemp.m4: New file.
14872         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
14873         HAVE_MKOSTEMP.
14874         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
14875         HAVE_MKOSTEMP.
14876         * modules/mkostemp: New file, based on modules/mkstemp.
14877         * doc/glibc-functions/mkostemp.texi: Mention the new module.
14878         * NEWS: Mention the change.
14879
14880 2009-08-23  Bruno Haible  <bruno@clisp.org>
14881
14882         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
14883         Reported by Eric Blake.
14884
14885 2009-08-23  Bruno Haible  <bruno@clisp.org>
14886
14887         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
14888         Reported by Eric Blake.
14889
14890 2009-08-23  Bruno Haible  <bruno@clisp.org>
14891
14892         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
14893         * modules/pipe2 (Depends-on): Likewise.
14894
14895 2009-08-23  Eric Blake  <ebb9@byu.net>
14896
14897         fcntl-h: add O_TTY_INIT support
14898         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
14899         * tests/test-fcntl-h.c (o): Test it.
14900         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
14901
14902         fcntl-h: rename from fcntl, in preparation for fcntl(2)
14903         * modules/fcntl: Move <fcntl.h> header replacement...
14904         * modules/fcntl-h: ...to new name, so as not to collide with
14905         like-named function.
14906         * tests/test-fcntl.c: Rename...
14907         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
14908         * modules/fcntl-tests: Rename...
14909         * modules/fcntl-h-tests: ...to this.  Update test file name.
14910         * modules/chdir-long (Depends-on): Update clients.
14911         * modules/chdir-safer (Depends-on): Likewise.
14912         * modules/fcntl-safer (Depends-on): Likewise.
14913         * modules/fts (Depends-on): Likewise.
14914         * modules/mkancesdirs (Depends-on): Likewise.
14915         * modules/mkdir-p (Depends-on): Likewise.
14916         * modules/open (Depends-on): Likewise.
14917         * modules/savewd (Depends-on): Likewise.
14918         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
14919         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
14920
14921 2009-08-22  Bruno Haible  <bruno@clisp.org>
14922
14923         * modules/binary-io (License): Relicense under LGPL.
14924         * modules/pipe2 (License): Likewise.
14925
14926 2009-08-22  Bruno Haible  <bruno@clisp.org>
14927
14928         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
14929         return value.
14930         * lib/pipe-filter-gi.c (filter_init): Likewise.
14931         Reported by Eric Blake.
14932
14933 2009-08-22  Bruno Haible  <bruno@clisp.org>
14934
14935         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
14936         * modules/pipe (Depends-on): Add pipe2.
14937
14938 2009-08-22  Bruno Haible  <bruno@clisp.org>
14939
14940         Tests for module 'pipe2'.
14941         * modules/pipe2-tests: New file.
14942         * tests/test-pipe2.c: New file.
14943
14944         New module 'pipe2'.
14945         * lib/unistd.in.h (pipe2): New declaration.
14946         * lib/pipe2.c: New file.
14947         * m4/pipe2.m4: New file.
14948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
14949         HAVE_PIPE2.
14950         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
14951         * modules/pipe2: New file.
14952         * doc/glibc-functions/pipe2.texi: Mention the new module.
14953
14954 2009-08-22  Bruno Haible  <bruno@clisp.org>
14955
14956         Reference some new glibc functions.
14957         * doc/glibc-functions/accept4.texi: New file.
14958         * doc/glibc-functions/dup3.texi: New file.
14959         * doc/glibc-functions/mkostemp.texi: New file.
14960         * doc/glibc-functions/pipe2.texi: New file.
14961         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
14962         (Glibc sys/socket.h): Refer to accept4.
14963         (Glibc unistd.h): Refer to dup3, pipe2.
14964         Reported by Eric Blake.
14965
14966 2009-08-22  Jim Meyering  <meyering@redhat.com>
14967             Bruno Haible  <bruno@clisp.org>
14968
14969         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
14970         This makes it so packages using automake-1.11's silent-rules option
14971         can print e.g., a single "GEN    configmake.h" line, rather than
14972         the 30+ statements that perform the job.  If you want to see the
14973         actual commands, you can still run "make V=1".
14974         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
14975         so that make output is abbreviated when those variables are defined
14976         appropriately.
14977         * modules/argz: Likewise.
14978         * modules/arpa_inet: Likewise.
14979         * modules/byteswap: Likewise.
14980         * modules/configmake: Likewise.
14981         * modules/dirent: Likewise.
14982         * modules/errno: Likewise.
14983         * modules/fcntl: Likewise.
14984         * modules/float: Likewise.
14985         * modules/fnmatch: Likewise.
14986         * modules/getopt-posix: Likewise.
14987         * modules/glob: Likewise.
14988         * modules/iconv_open: Likewise.
14989         * modules/inttypes: Likewise.
14990         * modules/localcharset: Likewise.
14991         * modules/locale: Likewise.
14992         * modules/math: Likewise.
14993         * modules/netdb: Likewise.
14994         * modules/netinet_in: Likewise.
14995         * modules/poll: Likewise.
14996         * modules/posix_spawnp-tests: Likewise.
14997         * modules/sched: Likewise.
14998         * modules/search: Likewise.
14999         * modules/selinux-h: Likewise.
15000         * modules/signal: Likewise.
15001         * modules/spawn: Likewise.
15002         * modules/stdarg: Likewise.
15003         * modules/stdbool: Likewise.
15004         * modules/stddef: Likewise.
15005         * modules/stdint: Likewise.
15006         * modules/stdio: Likewise.
15007         * modules/stdlib: Likewise.
15008         * modules/string: Likewise.
15009         * modules/strings: Likewise.
15010         * modules/sys_file: Likewise.
15011         * modules/sys_ioctl: Likewise.
15012         * modules/sys_select: Likewise.
15013         * modules/sys_socket: Likewise.
15014         * modules/sys_stat: Likewise.
15015         * modules/sys_time: Likewise.
15016         * modules/sys_times: Likewise.
15017         * modules/sys_utsname: Likewise.
15018         * modules/sys_wait: Likewise.
15019         * modules/sysexits: Likewise.
15020         * modules/time: Likewise.
15021         * modules/unistd: Likewise.
15022         * modules/wchar: Likewise.
15023         * modules/wctype: Likewise.
15024
15025 2009-08-22  Jim Meyering  <meyering@redhat.com>
15026
15027         announce-gen: detect write failure
15028         * build-aux/announce-gen: Add Coda at end.
15029         Remove equivalent-but-more-verbose block at top.
15030
15031 2009-08-19  Akim Demaille  <demaille@gostai.com>
15032
15033         bootstrap: --help to stdout.
15034         * bootstrap (usage): Don't send --help to stderr.
15035         Use a here doc instead of a long string.
15036
15037 2009-08-21  Eric Blake  <ebb9@byu.net>
15038
15039         test-popen-safer: split from test-popen
15040         * tests/test-popen.c (main): Move...
15041         * tests/test-popen.h: ...into new file.
15042         * tests/test-popen-safer2.c: New file.
15043         * modules/popen-tests (Files): Add test-popen.h.
15044         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
15045         Suggested by Bruno Haible.
15046
15047         test-fcntl-safer: split from test-open
15048         * tests/test-open.c (main): Move...
15049         * tests/test-open.h: ...into new file.
15050         * tests/test-fcntl-safer.c: New file.
15051         * modules/open-tests (Files): Add test-open.h.
15052         * modules/fcntl-safer-tests: New file.
15053         Suggested by Bruno Haible.
15054
15055         test-fopen-safer: split from test-fopen
15056         * tests/test-fopen.c (main): Move...
15057         * tests/test-fopen.h: ...into new file.
15058         * tests/test-fopen-safer.c: New file.
15059         * modules/fopen-tests (Files): Add test-fopen.h.
15060         * modules/fopen-safer-tests: New file.
15061         Suggested by Bruno Haible.
15062
15063 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
15064
15065         popen-safer: test O_CLOEXEC at run-time.
15066         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
15067
15068 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
15069
15070         fcntl: move more flags to the header
15071         * lib/cloexec.c: Do not define FD_CLOEXEC here.
15072         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
15073         * lib/fcntl.in.h: Do both things here.
15074
15075 2009-08-21  Jim Meyering  <meyering@redhat.com>
15076
15077         consistently remove $@-t before redirecting to it
15078         * modules/argz: Remove $@-t and $@ before redirecting to the former.
15079         * modules/alloca-opt: Likewise.
15080         * modules/byteswap: Likewise.
15081         * modules/fnmatch: Likewise.
15082         * modules/getopt-posix: Likewise.
15083         * modules/glob: Likewise.
15084         * modules/poll: Likewise.
15085         * modules/posix_spawnp-tests: Likewise.
15086         * modules/sys_socket: Likewise.
15087         * modules/sysexits: Likewise.
15088
15089 2009-08-21  Eric Blake  <ebb9@byu.net>
15090
15091         popen: simplify access to original popen
15092         * lib/popen.c (rpl_popen): No need to worry about popen being a
15093         macro.
15094         Reported by Bruno Haible.
15095
15096 2009-08-20  Eric Blake  <ebb9@byu.net>
15097
15098         build: avoid some compiler warnings
15099         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
15100         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
15101         type.
15102         (new_exclude_segment, excluded_file_pattern_p)
15103         (excluded_file_name_p): Reduce scope.
15104         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
15105         old-style declaration.
15106
15107 2009-08-20  Simon Josefsson  <simon@josefsson.org>
15108
15109         * tests/test-exclude1.sh: Handle Windows EOL.
15110         * tests/test-exclude2.sh: Likewise.
15111         * tests/test-exclude3.sh: Likewise.
15112         * tests/test-exclude4.sh: Likewise.
15113         * tests/test-exclude5.sh: Likewise.
15114         * tests/test-exclude6.sh: Likewise.
15115         * tests/test-exclude7.sh: Likewise.
15116
15117 2009-08-19  Akim Demaille  <demaille@gostai.com>
15118
15119         bootstrap: find sha1sum when named gsha1sum.
15120         * bootstrap (find_tool): New.
15121         ($SHA1SUM): New.
15122         Use it.
15123
15124 2009-08-20  Jim Meyering  <meyering@redhat.com>
15125
15126         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
15127         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
15128         expression that converts "." in a file name to "\." in the resulting
15129         regexp.  Start with a dummy statement, so that prior shell variable
15130         definitions are expanded portably.  Reported by Simon Josefsson.
15131
15132 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
15133
15134         Fix polling for writeability of a screen buffer.
15135         * lib/poll.c: Distinguish input and screen buffers for the
15136         Win32 implementation.
15137         * lib/select.c: Likewise.
15138
15139 2009-08-19  Eric Blake  <ebb9@byu.net>
15140
15141         popen-safer: prevent popen from clobbering std descriptors
15142         * modules/popen-safer: New file.
15143         * lib/popen-safer.c: Likewise.
15144         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
15145         * lib/stdio--.h (popen): Provide override.
15146         * lib/stdio-safer.h (popen_safer): Provide declaration.
15147         * tests/test-popen.c (includes): Partially test this.
15148         * modules/popen-safer-tests: New file, for more tests.
15149         * tests/test-popen-safer.c: Likewise.
15150         * MODULES.html.sh (file stream based Input/Output): Mention it.
15151
15152         tests: test some of the *-safer modules
15153         * modules/fopen-safer (Depends-on): Add fopen.
15154         * modules/fcntl-safer (Depends-on): Add fcntl.
15155         * modules/stdlib-safer (Depends-on): Add stdlib.
15156         (configure.ac): Set indicator.
15157         * modules/unistd-safer (configure.ac): Likewise.
15158         * modules/tmpfile-safer (configure.ac): Likewise.
15159         (Depends-on): Add tmpfile.
15160         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
15161         active.
15162         * tests/test-fopen.c (includes): Test safer versions when they are
15163         in use.
15164         * tests/test-open.c (includes): Likewise.
15165
15166         popen: fix cygwin 1.5 bug when stdin closed
15167         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
15168         * modules/popen: New file.
15169         * modules/popen-tests: Likewise.
15170         * tests/test-popen.c: Likewise.
15171         * m4/popen.m4: Likewise.
15172         * lib/popen.c: Likewise.
15173         * lib/stdio.in.h (popen): New declaration.
15174         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
15175         * modules/stdio (Makefile.am): Likewise.
15176         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
15177
15178 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
15179
15180         maint.mk: give full control over update-copyright exclusions
15181         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
15182         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
15183         (update-copyright): Don't force inclusion of top-level
15184         ChangeLog.  Don't force exclusion of all COPYING files, but make
15185         them the default exclusion instead.
15186
15187 2009-08-16  Bruno Haible  <bruno@clisp.org>
15188
15189         Fix test failures on Solaris 10.
15190         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
15191         tests when Solaris iconv() is used.
15192         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
15193         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
15194         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
15195         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
15196         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
15197
15198 2009-08-16  Bruno Haible  <bruno@clisp.org>
15199
15200         Fix test failures on Solaris 10.
15201         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
15202         'tr' program and pass it as first argument.
15203         * tests/test-pipe-filter-gi1.sh: Likewise.
15204         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
15205         program as first argument.
15206         * tests/test-pipe-filter-gi1.c (main): Likewise.
15207
15208 2009-08-16  Eric Blake  <ebb9@byu.net>
15209
15210         fpurge: fix previous commits
15211         * modules/fpurge (Makefile.am): Make replacement conditional,
15212         partially reverting 2007-04-29 change; missed in previous
15213         attempt.
15214         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
15215         is missing.
15216
15217 2009-08-16  Bruno Haible  <bruno@clisp.org>
15218
15219         Clarify fpurge's effect on the file position.
15220         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
15221         * tests/test-fpurge.c (main): Make a second pass for checking the file
15222         position.
15223
15224 2009-08-16  Bruno Haible  <bruno@clisp.org>
15225
15226         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
15227         declaration of fpurge is missing.
15228         * tests/test-fpurge.c (main): Check that the file has not more contents
15229         than expected. Close the file before removing it.
15230
15231 2009-08-15  Eric Blake  <ebb9@byu.net>
15232
15233         fpurge: don't wrap working cygwin implementation
15234         * lib/fpurge.c (fpurge): Fix comment typo.
15235         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
15236         1.7 to avoid replacement.
15237         * tests/test-fpurge.c (main): Enhance test.
15238
15239 2009-08-15  Eric Blake  <ebb9@byu.net>
15240         and Jim Meyering  <meyering@redhat.com>
15241
15242         test-update-copyright: skip if perl is insufficient
15243         * tests/test-update-copyright.sh: Failure to run maintainer tool
15244         should not cause testsuite failure on cygwin 1.5.
15245
15246 2009-08-14  Eric Blake  <ebb9@byu.net>
15247
15248         doc: mention more functions added in cygwin 1.7.0
15249         * doc/posix-headers/limits.texi (limits.h): Update for recent
15250         cygwin additions.
15251         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
15252         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15253         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
15254         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
15255         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
15256
15257 2009-08-14  Eric Blake  <ebb9@byu.net>
15258
15259         maint.mk: simplify update-copyright rule
15260         * top/maint.mk (update-copyright-local): Delete, and document how
15261         to do it in cfg.mk instead.
15262         (update-copyright-exclude-regexp): Delete, and document how to do
15263         it in .x-update-copyright instead.
15264         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
15265         exclude ChangeLog.
15266
15267 2009-08-14  Bruno Haible  <bruno@clisp.org>
15268
15269         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
15270
15271 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15272
15273         maint.mk: support update-copyright-env
15274         * top/maint.mk (update-copyright-env): Define place-holder.
15275         (update-copyright): Expand $(update-copyright-env) before
15276         invoking update-copyright.
15277
15278 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15279
15280         update-copyright: implement forced reformatting
15281         * build-aux/update-copyright: Implement and document
15282         UPDATE_COPYRIGHT_FORCE.
15283         * tests/test-update-copyright.sh: Test it.
15284
15285 2009-08-14  Eric Blake  <ebb9@byu.net>
15286         and Bruno Haible  <bruno@clisp.org>
15287
15288         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
15289         * tests/test-locale.c: Revert previous patch related to NULL.
15290         * tests/test-stdio.c: Likewise.
15291         * tests/test-stdlib.c: Likewise.
15292         * tests/test-string.c: Likewise.
15293         * tests/test-unistd.c: Likewise.
15294         * modules/time-tests (Depends-on): Add verify.
15295         * modules/wchar-tests (Depends-on): Likewise.
15296         * tests/test-time.c: Test for NULL compliance.
15297         * tests/test-wchar.c: Likewise.
15298         * modules/locale (Depends-on): Add stddef.
15299         * modules/stdio (Depends-on): Likewise.
15300         * modules/stdlib (Depends-on): Likewise.
15301         * modules/string (Depends-on): Likewise.
15302         * modules/time (Depends-on): Likewise.
15303         * modules/unistd (Depends-on): Likewise.
15304         * modules/wchar (Depends-on): Likewise.
15305         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
15306         * lib/stdlib.in.h (includes): Likewise.
15307         * lib/string.in.h (includes): Likewise.
15308         * lib/time.in.h (includes): Likewise.
15309         * lib/unistd.in.h (includes): Likewise.
15310         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
15311         replaced.
15312         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15313         * m4/stddef_h.m4: New file.
15314         * modules/stddef: Likewise.
15315         * lib/stddef.in.h: Likewise.
15316         * modules/stddef-tests: Likewise.
15317         * tests/test-stddef.c: Likewise.
15318         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
15319         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
15320         * doc/posix-headers/locale.texi (locale.h): Likewise.
15321         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
15322         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15323         * doc/posix-headers/string.texi (string.h): Likewise.
15324         * doc/posix-headers/time.texi (time.h): Likewise.
15325         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
15326         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
15327
15328 2009-08-14  Eric Blake  <ebb9@byu.net>
15329
15330         doc: improve git diff of texinfo files
15331         * .gitattributes: Add rule for *.texi files, with hint on how to
15332         use it.
15333         Copied from m4, and based on a report by Bruno Haible.
15334
15335 2009-08-14  Bruno Haible  <bruno@clisp.org>
15336
15337         Disable multithread support by default on Cygwin 1.5.x for real.
15338         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
15339
15340 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15341
15342         update-copyright: much ado about intervals
15343         * build-aux/update-copyright: Implement and document
15344         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
15345         of copyright year intervals.
15346         Also, document UPDATE_COPYRIGHT_YEAR.
15347         * tests/test-update-copyright.sh: Test it.
15348
15349         update-copyright: convert 2-digit to 4-digit years
15350         * build-aux/update-copyright: Implement and document.
15351         * tests/test-update-copyright.sh: Update.
15352
15353 2009-08-14  Jim Meyering  <meyering@redhat.com>
15354
15355         test-exclude: avoid coreutils "make check" failure
15356         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
15357         just as in test-argmatch.c.
15358
15359 2009-08-13  Eric Blake  <ebb9@byu.net>
15360
15361         test-dup2: fix bad assumption
15362         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
15363         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
15364
15365         test-version-etc: fix CRLF portability issue
15366         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
15367         recognize \r.
15368         * tests/test-argp-version-etc-1.sh: Likewise.
15369
15370         getopt: update client modules
15371         * modules/argp (Depends-on): Use getopt-gnu.
15372         * modules/git-merge-changelog (Depends-on): Likewise.
15373         * modules/long-options (Depends-on): Likewise.
15374         * modules/xstrtol (Depends-on): Likewise.
15375
15376 2009-08-13  Simon Josefsson  <simon@josefsson.org>
15377
15378         * tests/test-version-etc.sh: Don't fail on different
15379         project/version.  Don't fail on CRLF differences.  Rewrite to use
15380         multiple -e instead of multiple sed forks, suggested by Eric Blake
15381         <ebb9@byu.net>.
15382         * tests/test-argp-version-etc-1.sh: Likewise.
15383
15384 2009-08-13  Simon Josefsson  <simon@josefsson.org>
15385
15386         * tests/test-version-etc.sh: Don't fail on different
15387         project/version.
15388
15389 2009-08-12  Bruno Haible  <bruno@clisp.org>
15390
15391         Tests for modules 'getopt-posix', 'getopt-gnu'.
15392         * modules/getopt-posix-tests: New file.
15393         * tests/test-getopt.c: New file.
15394         * tests/test-getopt.h: New file.
15395         * tests/test-getopt_long.h: New file.
15396
15397         New modules 'getopt-posix', 'getopt-gnu'.
15398         * modules/getopt-gnu: New file, renamed from modules/getopt.
15399         * modules/getopt-posix: New file.
15400         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
15401         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
15402         (gl_GETOPT): Remove macro.
15403         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
15404         Disable the test against BSD systems that declare optreset. Test
15405         against mingw bug. Test against lack of support of optional arguments
15406         on many platforms.
15407         * doc/glibc-headers/getopt.texi: Update module name and list of
15408         relevant platforms.
15409         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
15410         'getopt-gnu' and more portability problems.
15411         * NEWS: Mention the changes.
15412
15413 2009-08-12  Bruno Haible  <bruno@clisp.org>
15414
15415         Ensure that optarg etc. get declared by <unistd.h>.
15416         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
15417         AC_USE_SYSTEM_EXTENSIONS.
15418         * modules/getopt (Depends-on): Add 'extensions'.
15419
15420 2009-08-12  Bruno Haible  <bruno@clisp.org>
15421
15422         Avoid test link errors.
15423         * modules/pipe-filter-ii-tests (Makefile.am): Define
15424         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
15425         * modules/pipe-filter-gi-tests (Makefile.am): Define
15426         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
15427         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15428
15429 2009-08-12  Bruno Haible  <bruno@clisp.org>
15430
15431         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
15432         gl_GETOPT_SUBSTITUTE before.
15433         (gl_GETOPT): Use it.
15434         * m4/argp.m4 (gl_ARGP): Update.
15435         Reported by Sergey Poznyakoff.
15436
15437         * m4/getopt.m4: Reorder macros.
15438         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
15439         (gl_GETOPT_SUBSTITUTE): Remove macro.
15440
15441 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15442
15443         Minor improvement in gitlog-to-changelog
15444
15445         * build-aux/gitlog-to-changelog: New option `--format' makes
15446         output format string configurable.
15447
15448 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15449
15450         Optimize exclude: use hash tables for non-wildcard patterns.
15451
15452         * lib/exclude.c: Include hash.h and mbuiter.h
15453         (struct exclude_pattern, exclude_segment): New data types.
15454         (struct exclude): Rewrite.
15455         (fnmatch_pattern_has_wildcards): New function.
15456         (new_exclude_segment, free_exclude_segment): New functions.
15457         (excluded_file_pattern_p, excluded_file_name_p): New functions.
15458         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
15459         * lib/exclude.h (is_fnmatch_pattern): New prototype.
15460         * modules/exclude: Depend on hash and mbuiter.
15461
15462         * modules/exclude-tests: New file.
15463         * tests/test-exclude.c: New file.
15464         * tests/test-exclude1.sh: New file.
15465         * tests/test-exclude2.sh: New file.
15466         * tests/test-exclude3.sh: New file.
15467         * tests/test-exclude4.sh: New file.
15468         * tests/test-exclude5.sh: New file.
15469         * tests/test-exclude6.sh: New file.
15470         * tests/test-exclude7.sh: New file.
15471
15472 2009-08-12  Bruno Haible  <bruno@clisp.org>
15473
15474         Ensure that getopt() gets declared by <unistd.h>.
15475         * lib/unistd.in.h: Conditionally include getopt.h.
15476         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
15477         Set GNULIB_UNISTD_H_GETOPT.
15478         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15479         GNULIB_UNISTD_H_GETOPT.
15480         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
15481
15482 2009-08-12  Bruno Haible  <bruno@clisp.org>
15483
15484         Clarify logic.
15485         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
15486         gl_replace_getopt instead of GETOPT_H.
15487
15488 2009-08-12  Bruno Haible  <bruno@clisp.org>
15489
15490         * m4/getopt.m4: Add comments.
15491
15492 2009-08-12  Bruno Haible  <bruno@clisp.org>
15493
15494         Disable multithread support by default on Cygwin 1.5.x.
15495         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
15496         set gl_use_threads=no if not specified otherwise.
15497
15498 2009-08-11  Bruno Haible  <bruno@clisp.org>
15499
15500         Avoid compilation error on NetBSD 5.0.
15501         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
15502         * tests/test-stdio.c: Likewise.
15503         * tests/test-stdlib.c: Likewise.
15504         * tests/test-string.c: Likewise.
15505         * tests/test-unistd.c: Likewise.
15506         Reported by Greg Troxel <gdt@ir.bbn.com>
15507         at <https://savannah.gnu.org/support/?106973>.
15508
15509 2009-08-11  Bruno Haible  <bruno@clisp.org>
15510
15511         * modules/dup2-tests (Depends-on): Remove close.
15512
15513         Undo 2009-07-19 commit.
15514         * modules/acl-tests (Depends-on): Remove close.
15515         * modules/binary-io-tests (Depends-on): Likewise.
15516         * modules/closein-tests (Depends-on): Likewise.
15517         * modules/flock-tests (Depends-on): Likewise.
15518         * modules/fsync-tests (Depends-on): Likewise.
15519         * modules/lseek-tests (Depends-on): Likewise.
15520         * modules/pipe-tests (Depends-on): Likewise.
15521         * modules/posix_spawn-tests (Depends-on): Likewise.
15522         * modules/posix_spawnp-tests (Depends-on): Likewise.
15523         * modules/stat-time-tests (Depends-on): Likewise.
15524         * modules/yesno-tests (Depends-on): Likewise.
15525
15526 2009-08-10  Bruno Haible  <bruno@clisp.org>
15527
15528         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
15529
15530 2009-08-10  Bruno Haible  <bruno@clisp.org>
15531
15532         Fix a gcc warning.
15533         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
15534
15535 2009-08-10  Bruno Haible  <bruno@clisp.org>
15536
15537         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
15538         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
15539         not only the first time.
15540         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
15541         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
15542         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
15543         is 1, not only the the first time.
15544
15545 2009-08-10  Bruno Haible  <bruno@clisp.org>
15546
15547         Make it possible to use module 'gethostname' without module 'close'.
15548         * lib/unistd.in.h (close): Evoke a link error only if
15549         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
15550         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15551         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15552         * modules/unistd (Makefile.am): Substitute
15553         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15554         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
15555         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
15556         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
15557         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15558         * modules/sys_ioctl (Makefile.am): Substitute
15559         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15560         * modules/socket (configure.ac): On native Windows, set
15561         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
15562         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15563         Reported by Sam Steingold <sds@gnu.org>.
15564
15565 2009-08-10  Bruno Haible  <bruno@clisp.org>
15566
15567         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
15568         * modules/ioctl (configure.ac): Likewise.
15569
15570 2009-08-10  Bruno Haible  <bruno@clisp.org>
15571
15572         Avoid collision between gnulib wrapper and libintl wrapper.
15573         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
15574         already defined in intl/printf.c.
15575         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
15576         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
15577
15578 2009-08-09  Bruno Haible  <bruno@clisp.org>
15579
15580         Make <sys/select.h> really self-contained, also on Solaris 10.
15581         * lib/sys_select.in.h: Include <string.h>.
15582         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
15583         Solaris 10 problem.
15584         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
15585         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
15586         Reported by Jim Meyering.
15587
15588 2009-08-09  Bruno Haible  <bruno@clisp.org>
15589
15590         Avoid warnings from 'aclocal' that are due to a use of macro name
15591         AM_XGETTEXT_OPTION that is not defined in automake.
15592         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
15593         automake.
15594         * modules/error (configure.ac): Likewise.
15595         * modules/propername (configure.ac): Likewise.
15596         * modules/vasprintf (configure.ac): Likewise.
15597         * modules/verror (configure.ac): Likewise.
15598         * modules/xprintf (configure.ac): Likewise.
15599         * modules/xvasprintf (configure.ac): Likewise.
15600
15601 2009-08-08  Bruno Haible  <bruno@clisp.org>
15602
15603         Avoid compilation error in C++ mode.
15604         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
15605         Reported by Sam Steingold <sds@gnu.org>.
15606
15607 2009-08-08  Bruno Haible  <bruno@clisp.org>
15608
15609         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
15610         for the various Unix platforms.
15611         * doc/posix-headers/limits.texi: Update platforms list regarding
15612         HOST_NAME_MAX.
15613         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15614
15615 2009-08-07  Jim Meyering  <meyering@redhat.com>
15616
15617         selinux-at: fix typo in a comment
15618         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
15619         Spotted by Paolo Bonzini.
15620
15621         selinux-at: remove redundant m4 code, add documentation
15622         * modules/selinux-at (configure.ac): Remove redundant code.
15623         LIB_SELINUX is already set via the dependent module, selinux-h.
15624         (Include): Add quotes around selinux-at.h.
15625         * lib/selinux-at.h: Add documentation.
15626         Reported by Bruno Haible in
15627         http://marc.info/?l=gnulib-bug&m=124958988300749
15628
15629 2009-08-07  Bruno Haible  <bruno@clisp.org>
15630
15631         Avoid link error on MacOS X 10.3 and 10.4.
15632         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
15633         on non-ELF systems.
15634         * lib/argp-pv.c (argp_program_version): Likewise.
15635         Reported by Simon Josefsson.
15636
15637 2009-08-07  Simon Josefsson  <simon@josefsson.org>
15638
15639         * tests/test-version-etc.sh: Use $EXEEXT.
15640
15641 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
15642
15643         update-copyright: update documentation to point to maint.mk
15644         * build-aux/update-copyright: Here.
15645
15646 2009-08-06  Jim Meyering  <meyering@redhat.com>
15647
15648         maint.mk: support update-copyright-local
15649         * top/maint.mk (update-copyright-local): Define place-holder.
15650         (update-copyright): Depend on $(update-copyright-local).
15651
15652 2009-08-06  Jim Meyering  <meyering@redhat.com>
15653
15654         selinux-at: new module
15655         Initially written for coreutils, this module will soon be
15656         used by findutils, too.
15657         * MODULES.html.sh [Misc]: Add selinux-at.
15658         * lib/selinux-at.h: New file, from coreutils.
15659         * lib/selinux-at.c: Likewise.
15660         * modules/selinux-at: Likewise.
15661         (License): Change from LGPL to GPL, since it depends
15662         on the GPL'd openat module.
15663
15664         doc: update README
15665         * README: Remove references to cogito.
15666         Remove cvs-repo-updating instructions from 2007.
15667         Don't imply that CVS is better if you have limited disk space.
15668
15669 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15670
15671         update-copyright: support C-style comments
15672         * build-aux/update-copyright: Implement and document.
15673         * tests/test-update-copyright.sh: Test.
15674
15675 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15676
15677         update-copyright: support omitted "(C)"
15678         * build-aux/update-copyright: Implement and document.  Also,
15679         allow variable whitespace before "(C)".
15680         * tests/test-update-copyright.sh: Test.
15681
15682 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15683
15684         update-copyright: don't trip on non-FSF copyright statements
15685         * build-aux/update-copyright: Fix so that the first correctly
15686         formatted FSF copyright statement is recognized no matter what
15687         appears before it.  Update documentation.
15688         * tests/test-update-copyright.sh: Test that.
15689
15690 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15691
15692         update-copyright: clean up code a little
15693         * build-aux/update-copyright: Append "_re" to the name of any
15694         variable holding a regular expression.
15695         Replace "old" and "new" with "stmt" in variable names.
15696         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
15697         handled correctly.
15698         Format code more consistently.
15699
15700 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15701
15702         update-copyright-tests: improve portability
15703         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
15704         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
15705
15706 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
15707
15708         update-copyright: support @copyright{} and &copy;
15709         * build-aux/update-copyright: Implement and document.
15710         * tests/test-update-copyright.sh: Test.
15711
15712 2009-08-04  Jim Meyering  <meyering@redhat.com>
15713
15714         update-copyright-tests: correctly test EOL=\r\n handling
15715         * tests/test-update-copyright.sh: Put \r at the end of some lines
15716         for the dos-eol tests.  Based on a patch by Joel E. Denny.
15717
15718         maint.mk: make update-copyright exclusion list more configurable
15719         * top/maint.mk (update-copyright): Default to excluding COPYING,
15720         but allow an override, in case someone does want to update that file.
15721
15722         maint.mk: don't update copyright date in COPYING
15723         * top/maint.mk (update-copyright): Exclude COPYING.
15724
15725         maint.mk: add a copyright-updating rule
15726         * top/maint.mk (update-copyright): New rule.
15727         Derived from coreutils/Makefile.am.
15728
15729         update-copyright: rename some variables
15730         * build-aux/update-copyright: Rename a few variables for clarity.
15731         Tweak syntax.  List Joel E. Denny as coauthor.
15732
15733 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
15734
15735         update-copyright: fix bug for 2-digit last year and add tests
15736         * build-aux/update-copyright: Fix bug.
15737         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
15738         specified.
15739         * modules/update-copyright-tests: New
15740         * tests/test-update-copyright.sh: New.
15741
15742 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15743
15744         update-copyright: handle leading tabs in line prefix
15745         * build-aux/update-copyright: Count leading tabs as 8 spaces
15746         when computing margin.  This helps with the formatting of
15747         ChangeLogs, for example.
15748         Fix documentation a little.
15749
15750 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15751
15752         update-copyright: support EOL=\r\n
15753         * build-aux/update-copyright: Implement that.
15754
15755 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15756
15757         update-copyright: automatically format copyright statements
15758         * build-aux/update-copyright: Implement that.
15759         Also, be a little more predictable and safer by always failing
15760         when the full copyright format is not perfectly recognized as an
15761         unbroken whole.  Discussed at
15762         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
15763         Rewrite documentation.
15764
15765 2009-08-03  Bruno Haible  <bruno@clisp.org>
15766
15767         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
15768
15769 2009-08-02  Bruno Haible  <bruno@clisp.org>
15770
15771         Tests for module 'uname'.
15772         * modules/uname-tests: New file.
15773         * tests/test-uname.c: New file.
15774
15775         New module 'uname'.
15776         * lib/uname.c: New file.
15777         * m4/uname.m4: New file.
15778         * modules/uname: New file.
15779         * doc/posix-functions/uname.texi: Mention the new module.
15780
15781 2009-08-02  Bruno Haible  <bruno@clisp.org>
15782
15783         Tests for module 'sys_utsname'.
15784         * modules/sys_utsname-tests: New file.
15785         * tests/test-sys_utsname.c: New file.
15786
15787         New module 'sys_utsname'.
15788         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
15789         * m4/sys_utsname_h.m4: New file.
15790         * modules/sys_utsname: New file.
15791         * doc/posix-headers/sys_utsname.texi: Mention the new module.
15792
15793 2009-08-02  Bruno Haible  <bruno@clisp.org>
15794
15795         Implicitly initialize the sockets library.
15796         * lib/gethostname.c: Include sockets.h.
15797         (rpl_gethostname): Invoke gl_sockets_startup.
15798         * lib/socket.c: Include sockets.h.
15799         (rpl_socket): Invoke gl_sockets_startup.
15800         * modules/gethostname (Depends-on): Add sockets.
15801         * modules/socket (Depends-on): Likewise.
15802         * tests/test-poll.c: Don't include sockets.h.
15803         (main): Don't invoke gl_sockets_startup.
15804         * tests/test-select.c: Don't include sockets.h.
15805         (main): Don't invoke gl_sockets_startup.
15806
15807 2009-08-02  Bruno Haible  <bruno@clisp.org>
15808
15809         Allow multiple calls to gl_sockets_startup.
15810         * lib/sockets.c (initialized_sockets_version): New variable.
15811         (gl_sockets_startup): Do nothing if already called for this or a higher
15812         version.
15813         (gl_sockets_cleanup): Reset initialized_sockets_version.
15814
15815 2009-08-03  Simon Josefsson  <simon@josefsson.org>
15816
15817         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
15818         different project/version.
15819
15820 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
15821             Bruno Haible  <bruno@clisp.org>
15822
15823         Tests for module 'pipe-filter-gi'.
15824         * modules/pipe-filter-gi-tests: New file.
15825         * tests/test-pipe-filter-gi1.sh: New file.
15826         * tests/test-pipe-filter-gi1.c: New file.
15827         * tests/test-pipe-filter-gi2.sh: New file.
15828         * tests/test-pipe-filter-gi2-main.c: New file.
15829         * tests/test-pipe-filter-gi2-child.c: New file.
15830
15831         New module 'pipe-filter-gi'.
15832         * lib/pipe-filter-gi.c: New file.
15833         * modules/pipe-filter-gi: New file.
15834
15835 2009-08-02  Bruno Haible  <bruno@clisp.org>
15836             Paolo Bonzini  <bonzini@gnu.org>
15837
15838         Tests for module 'pipe-filter-ii'.
15839         * modules/pipe-filter-ii-tests: New file.
15840         * tests/test-pipe-filter-ii1.sh: New file.
15841         * tests/test-pipe-filter-ii1.c: New file.
15842         * tests/test-pipe-filter-ii2.sh: New file.
15843         * tests/test-pipe-filter-ii2-main.c: New file.
15844         * tests/test-pipe-filter-ii2-child.c: New file.
15845
15846         New module 'pipe-filter-ii'.
15847         * lib/pipe-filter.h: New file.
15848         * lib/pipe-filter-ii.c: New file.
15849         * lib/pipe-filter-aux.h: New file.
15850         * modules/pipe-filter-ii: New file.
15851
15852 2009-08-02  Simon Josefsson  <simon@josefsson.org>
15853
15854         * lib/gc-libgcrypt.c: Change copyright to FSF.
15855         * lib/gc-gnulib.c: Likewise.
15856
15857 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
15858
15859         * lib/gethostname.c: Include limits.h.
15860
15861 2009-08-02  Simon Josefsson  <simon@josefsson.org>
15862             Bruno Haible  <bruno@clisp.org>
15863
15864         Ensure HOST_NAME_MAX as part of the gethostname module.
15865         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
15866         define also HOST_NAME_MAX.
15867         * tests/test-gethostname.c: Include <limits.h>.
15868         (main): Check also HOST_NAME_MAX.
15869         * doc/posix-headers/limits.texi: Document the mingw problem.
15870
15871 2009-08-02  Bruno Haible  <bruno@clisp.org>
15872
15873         * lib/gethostname.c (gethostname): Fix handling of large len argument.
15874         Add comments.
15875
15876 2009-03-31  Simon Josefsson  <simon@josefsson.org>
15877
15878         * lib/gethostname.c: Add Windows wrapper.
15879         * m4/gethostname.m4: Look for gethostname in -lws2_32.
15880         * modules/gethostname: Depend on sys_socket & errno, for also
15881         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
15882         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
15883
15884 2009-07-31  Jim Meyering  <meyering@redhat.com>
15885
15886         getloadavg: fix symbol name in comment
15887         * lib/getloadavg.c: Correct a typo I introduced when adding
15888         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
15889         Matt Kraai spotted the problem.
15890
15891 2009-07-29  Matt Kraai  <mkraai@beckman.com>
15892
15893         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
15894         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
15895         code also if ! defined N_NAME_POINTER.
15896         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
15897         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
15898         but the n_name member is a 12-byte array.
15899
15900 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
15901
15902         update-copyright: generalize comment handling
15903         * build-aux/update-copyright: Handle copyright statements
15904         within more comment styles.
15905         Document usage.
15906         Report any file with an external copyright holder or parse failure.
15907
15908 2009-07-29  Jim Meyering  <meyering@redhat.com>
15909
15910         mktime: correct setting of REPLACE_MKTIME
15911         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
15912
15913         update-copyright: new module
15914         * modules/update-copyright: New file.
15915         * build-aux/update-copyright: New file.
15916         * MODULES.html.sh (maint+release support): Add update-copyright.
15917
15918 2009-07-27  Bruno Haible  <bruno@clisp.org>
15919
15920         Fix compilation error when <ctime> is used and mktime is replaced.
15921         * lib/time.in.h (mktime): New declaration.
15922         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
15923         REPLACE_MKTIME instead of defining mktime in config.h.
15924         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
15925         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
15926         Reported by Ross McFarland <rwmcfa1@neces.com>.
15927
15928 2009-07-27  Bruno Haible  <bruno@clisp.org>
15929
15930         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
15931         Reported by Matt Kraai <mkraai@beckman.com>.
15932
15933 2009-07-25  Jim Meyering  <meyering@redhat.com>
15934
15935         maint.mk: avoid warnings about missing files
15936         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
15937         diagnostic when .prev-version does not exist.
15938         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
15939         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
15940         nonexistent cfg.mk.
15941         Suggestions from Simon Josefsson.
15942
15943 2009-07-25  Bruno Haible  <bruno@clisp.org>
15944
15945         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
15946         defined as macros. Needed on QNX 6.4.1.
15947         Reported by Matt Kraai <mkraai@beckman.com>.
15948
15949 2009-07-23  Jim Meyering  <meyering@redhat.com>
15950
15951         maint.mk: invoke "make dist" with a working value of XZ_OPT
15952         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
15953
15954 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
15955
15956         Make fseeko.c compile on QNX.
15957         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
15958
15959 2009-07-22  Peter Simons  <simons@cryp.to>
15960
15961         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
15962         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
15963         * lib/md4.h: Likewise.
15964         * lib/md5.h: Likewise.
15965         * lib/sha1.h: Likewise.
15966         * lib/sha256.h: Likewise.
15967         * lib/sha512.h: Likewise.
15968
15969         tests-sha1: don't assign literal string to 'char *' variable
15970         * tests/test-sha1.c (main): Declare locals with "const" to match
15971         attributes of the right hand side.
15972
15973 2009-07-21  Eric Blake  <ebb9@byu.net>
15974
15975         dup2: fix more mingw problems
15976         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
15977         fd to itself.
15978         * doc/posix-functions/dup2.texi (dup2): Document the bug.
15979         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
15980         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
15981         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
15982         care of mingw bugs.
15983
15984 2009-07-21  Jim Meyering  <meyering@redhat.com>
15985
15986         vc-list-files: avoid failure when /bin/sh is dash
15987         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
15988         On some Debian based systems, /bin/sh is a symlink to dash, and running
15989         this command would omit the "/" following each 'tests' prefix:
15990           dash -x build-aux/vc-list-files -C . tests
15991         That is because bash and dash work differently:
15992           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
15993           bash ok
15994           dash odd
15995
15996 2009-07-21  Eric Blake  <ebb9@byu.net>
15997
15998         dup2-tests: test previous patch
15999         * modules/dup2-tests: New file.
16000         * tests/test-dup2.c: Likewise.
16001         * tests/test-open.c (main): Avoid unspecified behavior.
16002         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
16003         test.
16004
16005         dup2: work around mingw and cygwin 1.5 bug
16006         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
16007         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16008         * modules/unistd (Makefile.am): Substitute it.
16009         * lib/unistd.in.h (dup2): Declare the replacement.
16010         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
16011         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
16012         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
16013         * modules/execute (Depends-on): Add dup2.
16014         * modules/fseterr (Depends-on): Likewise.
16015         * modules/pipe (Depends-on): Likewise.
16016         * modules/posix_spawn-internal (Depends-on): Likewise.
16017
16018 2009-07-21  Bruno Haible  <bruno@clisp.org>
16019
16020         * modules/.gitattributes: New file.
16021
16022 2009-07-20  Bruno Haible  <bruno@clisp.org>
16023
16024         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
16025         (main): Use it.
16026
16027 2009-07-20  Eric Blake  <ebb9@byu.net>
16028
16029         test-pipe: make a bit more robust.
16030         * tests/test-pipe.c (myerr): Allow error messages regardless of
16031         what we do to stderr.
16032         (test_pipe): Rearrange to avoid deadlock.
16033         (child_main): Try a larger read, to ensure we avoided deadlock.
16034         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
16035         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
16036         if misused.
16037
16038 2009-07-19  Jim Meyering  <meyering@redhat.com>
16039
16040         fts: avoid false-positive cycle-detection
16041         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
16042         for each new command line argument.
16043
16044 2009-07-19  Bruno Haible  <bruno@clisp.org>
16045
16046         Fix build error on mingw with the modules sys_select and unistd.
16047         * modules/acl-tests (Depends-on): Add close.
16048         * modules/binary-io-tests (Depends-on): Likewise.
16049         * modules/closein-tests (Depends-on): Likewise.
16050         * modules/flock-tests (Depends-on): Likewise.
16051         * modules/fsync-tests (Depends-on): Likewise.
16052         * modules/lseek-tests (Depends-on): Likewise.
16053         * modules/pipe-tests (Depends-on): Likewise.
16054         * modules/posix_spawn-tests (Depends-on): Likewise.
16055         * modules/posix_spawnp-tests (Depends-on): Likewise.
16056         * modules/stat-time-tests (Depends-on): Likewise.
16057         * modules/yesno-tests (Depends-on): Likewise.
16058
16059 2009-07-19  Bruno Haible  <bruno@clisp.org>
16060
16061         Unify conditionals.
16062         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
16063         macros, not at the compiler macros.
16064         * lib/pipe.c: Likewise.
16065         * lib/execute.c: Likewise.
16066         * lib/spawni.c: Likewise.
16067
16068 2009-07-19  Bruno Haible  <bruno@clisp.org>
16069
16070         Fix handling of closed stdin/stdout/stderr on mingw.
16071         * lib/w32spawn.h: Include unistd.h.
16072         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
16073         file descriptor with O_NOINHERIT flag.
16074         (fd_safer_noinherit): New function, based on fd-safer.c.
16075         (dup_safer_noinherit): New function, based on dup-safer.c.
16076         (undup_safer_noinherit): New function.
16077         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
16078         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
16079         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
16080         instead of fd_safer.
16081         * tests/test-pipe.c: Include <windows.h>.
16082         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
16083
16084         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
16085         from main.
16086         (test_pipe): Pass an extra argument for disambiguation.
16087         (main): Invoke parent_main or child_main.
16088
16089         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
16090         consistently.
16091
16092 2009-07-18  Eric Blake  <ebb9@byu.net>
16093
16094         test-pipe: fix mingw build
16095         * tests/test-pipe.c (main): Avoid fcntl on mingw.
16096
16097 2009-07-18  Bruno Haible  <bruno@clisp.org>
16098
16099         * modules/pipe-tests (Makefile.am): Fix typo.
16100
16101 2009-07-18  Eric Blake  <ebb9@byu.net>
16102
16103         error: fix mingw build
16104         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
16105         Reported by Bruno Haible.
16106
16107         error: avoid undefined use of stdout
16108         * lib/error.c (error, error_at_line): Check that fd 1 is open
16109         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
16110         is handling faults and the close_stdout module wants to report the
16111         detection of closed stdout as an error.
16112
16113 2009-07-17  Eric Blake  <ebb9@byu.net>
16114
16115         pipe: be robust in face of closed fds
16116         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
16117         should cause child to misbehave.
16118         * modules/pipe-tests: New module.
16119         * tests/test-pipe.c: New file.
16120         * tests/test-pipe.sh: New file.
16121         Reported by Akim Demaille.
16122
16123 2009-07-14  Bruno Haible  <bruno@clisp.org>
16124
16125         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
16126         Reported by anonymous kc.
16127
16128 2009-07-07  Jim Meyering  <meyering@redhat.com>
16129
16130         maint.mk: don't look for translatable strings in *.m4 or *.mk
16131         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
16132         when searching for translatable strings.
16133
16134 2009-07-05  Jim Meyering  <meyering@redhat.com>
16135
16136         remove superfluous parentheses in STREQ definition
16137         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
16138         * lib/getugroups.c (STREQ): Likewise.
16139         * lib/fnmatch.c (STREQ): Likewise.
16140         Spotted by Bruno Haible.
16141
16142 2009-07-04  Jim Meyering  <meyering@redhat.com>
16143
16144         argv-iter: new module
16145         * MODULES.html.sh: Add argv-iter.
16146         * lib/argv-iter.c, lib/argv-iter.h: New files.
16147         * modules/argv-iter: New file.
16148         * modules/argv-iter-tests: New file.
16149         * tests/test-argv-iter.c: Test it.
16150
16151 2009-07-04  Bruno Haible  <bruno@clisp.org>
16152
16153         Fix assertion.
16154         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
16155         contains more exact copies of a given entry than file2, leave the extra
16156         copies unpaired rather than aborting.
16157         Reported by Eric Blake.
16158
16159 2009-07-02  Bruno Haible  <bruno@clisp.org>
16160
16161         Speedup git-merge-changelog for git cherry-pick.
16162         * lib/git-merge-changelog.c (struct entries_mapping): New type.
16163         (entries_mapping_get): New function, extracted from compute_mapping.
16164         (entries_mapping_reverse_get): New function.
16165         (compute_mapping): Add a 'full' argument. Return the result in a
16166         'struct entries_mapping'.
16167         (main): Update. Access the mappings through entries_mapping_get.
16168         Reported by Eric Blake.
16169
16170 2009-07-02  Bruno Haible  <bruno@clisp.org>
16171
16172         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
16173         best_i.
16174
16175 2009-07-02  Bruno Haible  <bruno@clisp.org>
16176
16177         Speed up approximate search for matching ChangeLog entries.
16178         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
16179         argument. Call fstrcmp_bounded instead of fstrcmp.
16180         (compute_mapping, try_split_merged_entry, main): Update callers.
16181
16182 2009-07-02  Bruno Haible  <bruno@clisp.org>
16183
16184         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
16185
16186 2009-06-30  Bruno Haible  <bruno@clisp.org>
16187
16188         Reduce the number of uc_is_cased calls.
16189         * lib/unicase.h (casing_suffix_context_t): Add
16190         'first_char_except_ignorable' field.
16191         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
16192         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
16193         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
16194         Update initializer.
16195         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
16196         case-ignorable characters.
16197         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
16198         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
16199         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
16200         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
16201         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
16202
16203 2009-06-30  Bruno Haible  <bruno@clisp.org>
16204
16205         Tests for module 'unicase/ignorable'.
16206         * modules/unicase/ignorable-tests: New file.
16207         * tests/unicase/test-ignorable.c: New file, generated by
16208         gen-uni-tables.
16209
16210         Tests for module 'unicase/cased'.
16211         * modules/unicase/cased-tests: New file.
16212         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
16213         * tests/unicase/test-predicate-part1.h: New file, derived from
16214         tests/unictype/test-predicate-part1.h.
16215         * tests/unicase/test-predicate-part2.h: New file, same as
16216         tests/unictype/test-predicate-part2.h.
16217
16218         Fix evaluation of "Before C" condition of FINAL_SIGMA.
16219         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
16220         (output_casing_properties): New function.
16221         (main): Call it.
16222         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
16223         * lib/unicase/cased.c: Include unictype/bitmap.h.
16224         (uc_is_cased): Define through a bitmap lookup.
16225         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
16226         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
16227         (uc_is_case_ignorable): Define through a bitmap lookup.
16228         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
16229         lib/unictype/bitmap.h.
16230         (Depends-on): Add inline. Clean up.
16231         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
16232         lib/unictype/bitmap.h.
16233         (Depends-on): Add inline. Clean up.
16234         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
16235         recognition.
16236         * tests/unicase/test-u16-tolower.c (main): Likewise.
16237         * tests/unicase/test-u32-tolower.c (main): Likewise.
16238
16239 2009-06-30  Bruno Haible  <bruno@clisp.org>
16240
16241         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
16242         * lib/unicase/u16-casemap.c: Likewise.
16243         * lib/unicase/u32-casemap.c: Likewise.
16244
16245 2009-06-29  Bruno Haible  <bruno@clisp.org>
16246
16247         Define u32_casefold as a wrapper around u32_ct_casefold.
16248         * lib/unicase/u32-casefold.c: Update.
16249         * modules/unicase/u32-casefold (Depends-on): Add
16250         unicase/u32-ct-casefold, unicase/empty-prefix-context,
16251         unicase/empty-suffix-context. Clean up.
16252
16253         Define u16_casefold as a wrapper around u16_ct_casefold.
16254         * lib/unicase/u16-casefold.c: Update.
16255         * modules/unicase/u16-casefold (Depends-on): Add
16256         unicase/u16-ct-casefold, unicase/empty-prefix-context,
16257         unicase/empty-suffix-context. Clean up.
16258
16259         Define u8_casefold as a wrapper around u8_ct_casefold.
16260         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
16261         * lib/unicase/u8-casefold.c: Update.
16262         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
16263         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16264
16265         Define u32_totitle as a wrapper around u32_ct_totitle.
16266         * lib/unicase/u32-totitle.c: Update.
16267         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
16268         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16269
16270         Define u16_totitle as a wrapper around u16_ct_totitle.
16271         * lib/unicase/u16-totitle.c: Update.
16272         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
16273         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16274
16275         Define u8_totitle as a wrapper around u8_ct_totitle.
16276         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
16277         functions.
16278         (FUNC): Delegate to U_CT_TOTITLE.
16279         * lib/unicase/u8-totitle.c: Update.
16280         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
16281         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16282
16283         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
16284         invocation.
16285         * modules/unicase/u32-tolower (Depends-on): Add
16286         unicase/empty-prefix-context, unicase/empty-suffix-context.
16287
16288         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
16289         invocation.
16290         * modules/unicase/u16-tolower (Depends-on): Add
16291         unicase/empty-prefix-context, unicase/empty-suffix-context.
16292
16293         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
16294         * modules/unicase/u8-tolower (Depends-on): Add
16295         unicase/empty-prefix-context, unicase/empty-suffix-context.
16296
16297         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
16298         invocation.
16299         * modules/unicase/u32-toupper (Depends-on): Add
16300         unicase/empty-prefix-context, unicase/empty-suffix-context.
16301
16302         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
16303         invocation.
16304         * modules/unicase/u16-toupper (Depends-on): Add
16305         unicase/empty-prefix-context, unicase/empty-suffix-context.
16306
16307         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
16308         * modules/unicase/u8-toupper (Depends-on): Add
16309         unicase/empty-prefix-context, unicase/empty-suffix-context.
16310
16311         New module 'unicase/u32-ct-casefold'.
16312         * lib/unicase/u32-ct-casefold.c: New file.
16313         * modules/unicase/u32-ct-casefold: New file.
16314
16315         New module 'unicase/u16-ct-casefold'.
16316         * lib/unicase/u16-ct-casefold.c: New file.
16317         * modules/unicase/u16-ct-casefold: New file.
16318
16319         New module 'unicase/u8-ct-casefold'.
16320         * lib/unicase/u8-ct-casefold.c: New file.
16321         * lib/unicase/u-ct-casefold.h: New file, derived from
16322         lib/unicase/u-casefold.h.
16323         * modules/unicase/u8-ct-casefold: New file.
16324
16325         New module 'unicase/u32-ct-totitle'.
16326         * lib/unicase/u32-ct-totitle.c: New file.
16327         * modules/unicase/u32-ct-totitle: New file.
16328
16329         New module 'unicase/u16-ct-totitle'.
16330         * lib/unicase/u16-ct-totitle.c: New file.
16331         * modules/unicase/u16-ct-totitle: New file.
16332
16333         New module 'unicase/u8-ct-totitle'.
16334         * lib/unicase/u8-ct-totitle.c: New file.
16335         * lib/unicase/u-ct-totitle.h: New file, derived from
16336         lib/unicase/u-totitle.h.
16337         * modules/unicase/u8-ct-totitle: New file.
16338
16339         New module 'unicase/u32-ct-tolower'.
16340         * lib/unicase/u32-ct-tolower.c: New file.
16341         * modules/unicase/u32-ct-tolower: New file.
16342
16343         New module 'unicase/u16-ct-tolower'.
16344         * lib/unicase/u16-ct-tolower.c: New file.
16345         * modules/unicase/u16-ct-tolower: New file.
16346
16347         New module 'unicase/u8-ct-tolower'.
16348         * lib/unicase/u8-ct-tolower.c: New file.
16349         * modules/unicase/u8-ct-tolower: New file.
16350
16351         New module 'unicase/u32-ct-toupper'.
16352         * lib/unicase/u32-ct-toupper.c: New file.
16353         * modules/unicase/u32-ct-toupper: New file.
16354
16355         New module 'unicase/u16-ct-toupper'.
16356         * lib/unicase/u16-ct-toupper.c: New file.
16357         * modules/unicase/u16-ct-toupper: New file.
16358
16359         New module 'unicase/u8-ct-toupper'.
16360         * lib/unicase/u8-ct-toupper.c: New file.
16361         * modules/unicase/u8-ct-toupper: New file.
16362
16363         Add context arguments to u*_casemap functions.
16364         * lib/unicase/unicasemap.h: Include unicase.h.
16365         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
16366         suffix_context arguments.
16367         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
16368         functions.
16369         (FUNC): Add prefix_context and suffix_context arguments. Use
16370         uc_is_cased and uc_is_case_ignorable.
16371         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
16372         * lib/unicase/u16-casemap.c: Likewise.
16373         * lib/unicase/u32-casemap.c: Likewise.
16374         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
16375         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16376         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
16377         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16378         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
16379         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16380
16381         New module 'unicase/u32-suffix-context'.
16382         * lib/unicase/u32-suffix-context.c: New file.
16383         * modules/unicase/u32-suffix-context: New file.
16384
16385         New module 'unicase/u16-suffix-context'.
16386         * lib/unicase/u16-suffix-context.c: New file.
16387         * modules/unicase/u16-suffix-context: New file.
16388
16389         New module 'unicase/u8-suffix-context'.
16390         * lib/unicase/u8-suffix-context.c: New file.
16391         * lib/unicase/u-suffix-context.h: New file.
16392         * modules/unicase/u8-suffix-context: New file.
16393
16394         New module 'unicase/empty-suffix-context'.
16395         * lib/unicase/empty-suffix-context.c: New file.
16396         * modules/unicase/empty-suffix-context: New file.
16397
16398         New module 'unicase/u32-prefix-context'.
16399         * lib/unicase/u32-prefix-context.c: New file.
16400         * modules/unicase/u32-prefix-context: New file.
16401
16402         New module 'unicase/u16-prefix-context'.
16403         * lib/unicase/u16-prefix-context.c: New file.
16404         * modules/unicase/u16-prefix-context: New file.
16405
16406         New module 'unicase/u8-prefix-context'.
16407         * lib/unicase/u8-prefix-context.c: New file.
16408         * lib/unicase/u-prefix-context.h: New file.
16409         * lib/unicase/context.h: New file.
16410         * modules/unicase/u8-prefix-context: New file.
16411
16412         New module 'unicase/empty-prefix-context'.
16413         * lib/unicase/empty-prefix-context.c: New file.
16414         * modules/unicase/empty-prefix-context: New file.
16415
16416         New module 'unicase/ignorable'.
16417         * lib/unicase/ignorable.c: New file.
16418         * modules/unicase/ignorable: New file.
16419
16420         New module 'unicase/cased'.
16421         * lib/unicase/caseprop.h: New file.
16422         * lib/unicase/cased.c: New file.
16423         * modules/unicase/cased: New file.
16424
16425         New functions for case mapping of substrings.
16426         * lib/unicase.h (casing_prefix_context_t): New type.
16427         (unicase_empty_prefix_context): New variable.
16428         (u8_casing_prefix_context, u16_casing_prefix_context,
16429         u32_casing_prefix_context, u8_casing_prefixes_context,
16430         u16_casing_prefixes_context, u32_casing_prefixes_context): New
16431         declarations.
16432         (casing_suffix_context_t): New type.
16433         (unicase_empty_suffix_context): New variable.
16434         (u8_casing_suffix_context, u16_casing_suffix_context,
16435         u32_casing_suffix_context, u8_casing_suffixes_context,
16436         u16_casing_suffixes_context, u32_casing_suffixes_context,
16437         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
16438         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
16439         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
16440         declarations.
16441
16442 2009-06-28  Jim Meyering  <meyering@redhat.com>
16443
16444         boostrap: indent only with spaces
16445         * build-aux/bootstrap: Indent only with spaces, never TABs.
16446
16447         bootstrap: split long lines
16448         * build-aux/bootstrap: Keep line length < 80.
16449
16450         bootstrap: sync from coreutils
16451         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
16452         just as autoreconf does.  Verify a list of prerequisite
16453         package-name,version-number pairs if defined in bootstrap.conf.
16454         Refer to README-prereq, if prerequisites are not satisfied.
16455
16456 2009-06-27  Eric Blake  <ebb9@byu.net>
16457
16458         tests: add test for bogus NULL definition
16459         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
16460         * tests/test-stdlib.c: Likewise.
16461         * tests/test-string.c: Likewise.
16462         * tests/test-locale.c: Likewise.
16463         * tests/test-unistd.c: Likewise.
16464         * modules/stdio-tests (Depends-on): Add verify.
16465         * modules/stdlib-tests (Depends-on): Likewise.
16466         * modules/string-tests (Depends-on): Likewise.
16467         * modules/locale-tests (Depends-on): Likewise.
16468         * modules/unistd-tests (Depends-on): Likewise.
16469
16470 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
16471
16472         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
16473         self-explaining comment.
16474         * m4/selinux-selinux-h: Update serial.
16475         (gl_LIBSELINUX): New macro, adding a warning for missing development
16476         packages to code extracted from...
16477         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
16478         Add warning for missing development packages here, too.
16479
16480 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
16481
16482         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
16483
16484 2009-06-25  Eric Blake  <ebb9@byu.net>
16485
16486         version-etc: fix regression
16487         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
16488         gcc.
16489         (version_etc): Use it, to catch bugs with trailing NULL.
16490         * lib/version-etc.c (version_etc_arn): Delete unused argument.
16491         (version_etc_va): Fix logic bug.
16492         * modules/version-etc-tests: Add test.
16493         * tests/test-version-etc.c: New file.
16494         * tests/test-version-etc.sh: Likewise.
16495
16496 2009-06-25  Sam Steingold  <sds@gnu.org>
16497
16498         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
16499         mbtowc declaration.
16500
16501 2009-06-25  Eric Blake  <ebb9@byu.net>
16502
16503         fpurge: migrate into <stdio.h>
16504         * lib/fpurge.h: Delete...
16505         * lib/stdio.in.h (fpurge): ...and declare here, instead.
16506         * lib/fpurge.c (fpurge): Change declaring header.
16507         * modules/fpurge (Files): Drop deleted file.
16508         (Depends-on): Add stdio.
16509         (configure.ac): Set witness.
16510         * modules/stdio (Makefile.am): Support fpurge macros.
16511         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
16512         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
16513         * lib/fflush.c: Update client.
16514         * tests/test-fpurge.c: Likewise.
16515         * NEWS: Mention the change.
16516
16517 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16518
16519         * lib/argp-version-etc.c (program_authors): Add const
16520         qualifier.
16521         * lib/version-etc.c: Fix typos in the comments.
16522         * modules/argp-version-etc: Depends on version-etc.
16523
16524 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16525
16526         argp-version-etc: new module.
16527
16528         * lib/argp-version-etc.c: New file.
16529         * lib/argp-version-etc.h: New file.
16530         * modules/argp-version-etc: New file.
16531         * modules/argp-version-etc-tests: New file.
16532         * tests/test-argp-version-etc.c: New test.
16533         * tests/test-argp-version-etc-1.sh: New test.
16534
16535 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16536
16537         Provide additional interfaces and documentation for version-etc
16538         module.
16539
16540         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
16541         interfaces.
16542         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
16543         prototypes.
16544
16545 2009-06-24  Bruno Haible  <bruno@clisp.org>
16546
16547         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
16548         HAVE_LIB${NAME} macro.
16549         Reported by Sam Steingold <sds@gnu.org>.
16550
16551 2009-06-23  Simon Josefsson  <simon@josefsson.org>
16552
16553         * modules/hash-tests (test_hash_LDADD): Link to libintl when
16554         needed.
16555
16556 2009-06-21  Bruno Haible  <bruno@clisp.org>
16557
16558         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
16559         work.
16560         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
16561         together with LIB${NAME}, LTLIB${NAME}.
16562         Reported by Sam Steingold <sds@gnu.org>.
16563
16564 2009-06-20  Jim Meyering  <meyering@redhat.com>
16565
16566         tests: make sc_require_test_exit_idiom more generic
16567         * top/maint.mk (Exit_witness_file): New overridable variable.
16568         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
16569         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
16570
16571 2009-06-19  Jim Meyering  <meyering@redhat.com>
16572
16573         hash: reverse order of src/dst parameters in an internal interface
16574         * lib/hash.c (transfer_entries): Reverse order of parameters to
16575         put DST before SRC.  Adjust callers.
16576
16577         tests: test-hash: avoid wholesale duplication
16578         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
16579         Instead, use a loop and add a single conditional.
16580
16581         tests: test-hash: allow seed selection via a command line argument
16582         * tests/test-hash.c (get_seed): New function.
16583         (main): Use it.
16584
16585 2009-06-19  Eric Blake  <ebb9@byu.net>
16586
16587         hash: avoid memory leak on allocation failure
16588         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
16589         failure.  Factor repeated algorithm...
16590         (transfer_entries): ...into new helper routine.
16591         (hash_delete): React to hash_rehash return value.
16592
16593         hash: reduce memory pressure in hash_rehash no-op case
16594         * lib/hash.c (next_prime): Avoid overflow.
16595         (hash_initialize): Factor bucket size computation...
16596         (compute_bucket_size): ...into new helper function.
16597         (hash_rehash): Use new function and open coding to reduce memory
16598         pressure, and avoid a memory leak in USE_OBSTACK code.
16599         Reported by Jim Meyering.
16600
16601 2009-06-18  Eric Blake  <ebb9@byu.net>
16602
16603         hash: make rotation more obvious
16604         * modules/hash (Depends-on): Add bitrotate and stdint.
16605         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
16606         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
16607         (SIZE_MAX): Rely on headers for definition.
16608         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
16609         (raw_hasher): Use rotr_sz.
16610         Suggested by Jim Meyering.
16611
16612         hash: fix memory leak in last patch
16613         * lib/hash.c (hash_rehash): Avoid memory leak.
16614
16615         hash: avoid no-op rehashing
16616         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
16617
16618         hash: provide default callback functions
16619         * lib/hash.c (raw_hasher, raw_comparator): New functions.
16620         (hash_initialize): Use them as defaults.
16621         * tests/test-hash.c (main): Test this.
16622
16623         hash: minor optimization
16624         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
16625         when possible.
16626         (hash_initialize): Document this promise.
16627         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
16628         * tests/test-hash.c (hash_compare_strings): Test this.
16629
16630 2009-06-18  Bruno Haible  <bruno@clisp.org>
16631
16632         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
16633         going to be replaced anyway.
16634
16635 2009-06-18  Bruno Haible  <bruno@clisp.org>
16636
16637         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
16638         in one place.
16639         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
16640         be replaced anyway.
16641
16642 2009-06-18  Eric Blake  <ebb9@byu.net>
16643
16644         hash: check for resize before insertion
16645         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
16646         threshold before insertion, so that a pathological hash_rehash
16647         that fills every bucket can still trigger another rehash.
16648
16649 2009-06-18  Jim Meyering  <meyering@redhat.com>
16650
16651         hash-tests: add a loop around the small tests
16652         * tests/test-hash.c (main): Repeat small tests with selected
16653         small initial table sizes.
16654
16655 2009-06-17  Eric Blake  <ebb9@byu.net>
16656
16657         hash: minor cleanups
16658         * lib/hash.h (hash_entry): Make opaque, by moving...
16659         * lib/hash.c (hash_entry): ...here.
16660         (hash_insert): Clarify restrictions on what can be inserted.
16661         (hash_get_next): Clarify when it is safe to remove an element
16662         during traversal.
16663         (check_tuning): Skip verification when tuning is known safe.
16664         (hash_initialize): Clarify restrictions on tuning.
16665
16666 2009-06-17  Jim Meyering  <jim@meyering.net>
16667         and Eric Blake  <ebb9@byu.net>
16668
16669         hash-tests: new module
16670         * modules/hash-tests: New file.
16671         * tests/test-hash.c: New file.
16672
16673 2009-06-17  Eric Blake  <ebb9@byu.net>
16674
16675         strstr-simple: document new module
16676         * MODULES.html.sh: Document new module.
16677
16678         strstr, strcasestr: replace on platforms with broken memchr
16679         * modules/strstr: Split into...
16680         * modules/strstr-simple: ...new module that does not care about
16681         performance, but does care about glibc bug.
16682         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
16683         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
16684         if platform memchr is broken, per Debian bug 521737.
16685         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
16686         memchr.
16687         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
16688         * doc/posix-functions/strstr.texi (strstr): Document the fix.
16689         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
16690         * modules/mountlist (Depends-on): Add strstr-simple.
16691         * modules/gen-uni-tables (Depends-on): Likewise.
16692         * modules/argz (Depends-on): Add strstr.
16693
16694 2009-06-17  Bruno Haible  <bruno@clisp.org>
16695
16696         * modules/posix_spawn-internal (Depends-on): Add errno.
16697
16698 2009-06-17  Bruno Haible  <bruno@clisp.org>
16699
16700         Define missing ESTALE on Interix 3.5.
16701         * lib/errno.in.h (ESTALE): Assign a value if missing.
16702         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
16703         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
16704         missing.
16705         * doc/posix-headers/errno.texi: Mention the Interix bug.
16706         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
16707
16708 2009-06-15  Eric Blake  <ebb9@byu.net>
16709
16710         memchr, memchr2: add valgrind exception
16711         * lib/memchr.valgrind: New file.
16712         * lib/memchr2.valgrind: New file.
16713         * modules/memchr (Files): Distribute valgrind file.
16714         * modules/memchr2 (Files): Likewise.
16715
16716         docs: memchr is no longer obsolete
16717         * MODULES.html.sh: Move memchr from obsolete to string.h section.
16718         * lib/string.in.h (memchr): Simplify logic.
16719
16720 2009-06-14  Jim Meyering  <meyering@redhat.com>
16721
16722         link-follow: fix the "checking..." message to not mention trailing slash
16723         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
16724         never considered trailing slashes.
16725
16726 2009-06-14  Bruno Haible  <bruno@clisp.org>
16727
16728         * m4/memchr.m4: Mention also the bug on IA-64.
16729         * doc/posix-functions/memchr.texi: Likewise.
16730
16731 2009-06-12  Eric Blake  <ebb9@byu.net>
16732
16733         memchr: detect broken x86_64 and alpha implementations
16734         * modules/memchr-tests (Depends-on): Move mmap detection...
16735         * modules/memchr (Depends-on): ...here.
16736         (configure.ac): Set indicator.
16737         * lib/string.in.h (memchr): Declare replacement.
16738         * modules/string (Makefile.am): Trigger replacement.
16739         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
16740         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
16741         bugs.
16742         * doc/posix-functions/memchr.texi (memchr): Document the bug.
16743         * modules/getpagesize (License): Relax license.
16744
16745 2009-06-11  Bruno Haible  <bruno@clisp.org>
16746
16747         * lib/idpriv.h: Add more references.
16748
16749 2009-06-08  Bruno Haible  <bruno@clisp.org>
16750
16751         Tests for module 'idpriv-droptemp'.
16752         * modules/idpriv-droptemp-tests: New file.
16753         * tests/test-idpriv-droptemp.sh: New file.
16754         * tests/test-idpriv-droptemp.su.sh: New file.
16755         * tests/test-idpriv-droptemp.c: New file.
16756
16757         New module 'idpriv-droptemp'.
16758         * lib/idpriv-droptemp.c: New file.
16759         * modules/idpriv-droptemp: New file.
16760
16761 2009-06-08  Bruno Haible  <bruno@clisp.org>
16762
16763         Tests for module 'idpriv-drop'.
16764         * modules/idpriv-drop-tests: New file.
16765         * tests/test-idpriv-drop.sh: New file.
16766         * tests/test-idpriv-drop.su.sh: New file.
16767         * tests/test-idpriv-drop.c: New file.
16768
16769         New module 'idpriv-drop'.
16770         * lib/idpriv.h: New file.
16771         * lib-idpriv-drop.c: New file.
16772         * m4/idpriv.m4: New file.
16773         * modules/idpriv-drop: New file.
16774
16775 2009-06-08  Bruno Haible  <bruno@clisp.org>
16776
16777         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
16778         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
16779         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
16780         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
16781         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
16782         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
16783         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
16784
16785 2009-06-08  Eric Blake  <ebb9@byu.net>
16786
16787         test-strstr: use memory fence, when possible
16788         * tests/test-strstr.c (main): Use memory fence, in order to be
16789         more likely to trigger Debian bug 521737.
16790         * modules/strstr-tests (Files): Pull in additional files.
16791
16792         memchr: no longer obsolete, for wider field testing
16793         * modules/memchr (Status, Notice): Delete, this module is no
16794         longer obsolete.
16795         * modules/vasnprintf (Depends-on): Add memchr.
16796
16797 2009-06-07  Jim Meyering  <meyering@redhat.com>
16798
16799         hash: declare some functions with the warn_unused_result attribute
16800         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
16801
16802 2009-06-07  Bruno Haible  <bruno@clisp.org>
16803
16804         * tests/test-alignof.c: Don't test int64_t if it does not exist.
16805         Reported by Eric Blake.
16806
16807 2009-06-06  Eric Blake  <ebb9@byu.net>
16808
16809         test-alignof: fix typo with long double
16810         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
16811         compiler error.
16812
16813 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
16814
16815         Escape non-texinfo { and }s.
16816         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
16817         markup error.
16818
16819 2009-06-04  Jim Meyering  <meyering@redhat.com>
16820
16821         gitlog-to-changelog: don't infloop on an empty commit log
16822         * build-aux/gitlog-to-changelog: Warn about an empty log message.
16823         Reported by Boris Petersen <transacid@centerim.org>.
16824
16825 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
16826
16827         version-etc: extend for packagers
16828         Add three new configure options, intended for packagers:
16829           --with-packager="packager name"
16830           --with-packager-version="packager-specific version"
16831           --with-packager-bug-reports="packager bug reporting"
16832         An example with coreutils:
16833           $ ./configure \
16834             --with-packager=Gentoo \
16835             --with-packager-bug-report=http://bugs.gentoo.org/ \
16836             --with-packager-version="patchset 1.6"
16837           $ ./src/ls --version | head -n2
16838           ls (GNU coreutils) 7.1-dirty
16839           Packaged by Gentoo (patchset 1.6)
16840         Note that the bug reporting info via --help doesn't show up because
16841         coreutils uses its own custom emit_bug_reporting_address() implementation
16842         in src/system.h.  If it didn't, it'd look like:
16843           $ ./src/ls --help | tail -n4
16844           Report bugs to <bug-coreutils@gnu.org>.
16845           Report Gentoo bugs to <http://bugs.gentoo.org/>.
16846           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
16847           General help using GNU software: <http://www.gnu.org/gethelp/>.
16848         * lib/version-etc.c: Print new information, if provided.
16849         * m4/version-etc.m4: New file.
16850         * modules/version-etc (Files): Add m4/version-etc.m4.
16851         (configure.ac): Add gl_VERSION_ETC.
16852
16853 2009-05-31  Bruno Haible  <bruno@clisp.org>
16854
16855         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
16856         and 'int64_t'.
16857         * modules/alignof-tests (Dependencies): Add stdint.
16858         Reported by Eric Blake.
16859
16860 2009-05-31  Bruno Haible  <bruno@clisp.org>
16861
16862         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
16863         restriction due to compiler bugs.
16864         Reported by Eric Blake.
16865
16866 2009-05-31  Simon Josefsson  <simon@josefsson.org>
16867             Bruno Haible  <bruno@clisp.org>
16868
16869         Fix test-alignof failure.
16870         * lib/alignof.h (alignof_slot): New macro.
16871         (alignof_type): New macro, with the same semantics as the previous
16872         'alignof'.
16873         (alignof): Alias to alignof_slot.
16874         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
16875         check that the results are usable as constant expressions.
16876
16877 2009-05-31  Bruno Haible  <bruno@clisp.org>
16878
16879         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
16880         * tests/test-memchr.c (main): Check that memchr does not read past the
16881         first occurrence of the byte.
16882         * tests/test-strstr.c (main): Update comment.
16883         Suggested by Eric Blake.
16884
16885 2009-05-30  Bruno Haible  <bruno@clisp.org>
16886
16887         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
16888         detail how to use dumpbin.
16889         Reported by David Byron <dbyron@dbyron.com>.
16890
16891 2009-06-02  Simon Josefsson  <simon@josefsson.org>
16892
16893         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
16894
16895 2009-06-02  Simon Josefsson  <simon@josefsson.org>
16896
16897         * m4/manywarnings.m4: Add GCC 4.4 warnings.
16898
16899 2009-05-28  Bruno Haible  <bruno@clisp.org>
16900
16901         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
16902         build-aux/ files.
16903
16904 2009-05-28  Simon Josefsson  <simon@josefsson.org>
16905
16906         * gnulib-tool (func_import): Transform license on build-aux/ files too.
16907
16908 2009-05-27  Simon Josefsson  <simon@josefsson.org>
16909
16910         * gnulib-tool (sed_transform_main_lib_file)
16911         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
16912         regexps.
16913
16914 2009-05-26  Simon Josefsson  <simon@josefsson.org>
16915
16916         * tests/test-strstr.c: Add another self-test.
16917         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
16918         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
16919
16920 2009-05-23  Bruno Haible  <bruno@clisp.org>
16921
16922         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
16923         change.
16924
16925 2009-05-21  Bruno Haible  <bruno@clisp.org>
16926
16927         Simplify use of mode_t varargs.
16928         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
16929         uses 'mode_t' or 'int'.
16930         * lib/openat.c (openat): Likewise.
16931         * lib/open-safer.c (open_safer): Likewise.
16932         * m4/mode_t.m4: New file.
16933         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
16934         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
16935         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
16936         * modules/open (Files): Add m4/mode_t.m4.
16937         * modules/openat (Files): Likewise.
16938         * modules/fcntl-safer (Files): Likewise.
16939         Suggested by Eric Blake.
16940
16941 2009-05-21  Pádraig Brady  <P@draigbrady.com>
16942
16943         * doc/glibc-functions/fallocate.texi: New file.
16944         * doc/gnulib.texi: Include it.
16945
16946 2009-05-21  Eric Blake  <ebb9@byu.net>
16947             Bruno Haible  <bruno@clisp.org>
16948
16949         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
16950         invocations.
16951         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
16952
16953 2009-05-21  Eric Blake  <ebb9@byu.net>
16954             Bruno Haible  <bruno@clisp.org>
16955
16956         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
16957         include_next. Fix of 2008-11-20 commit.
16958         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
16959         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
16960         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
16961         NEXT_MATH_H.
16962         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
16963         instead of NEXT_MATH_H.
16964
16965 2009-05-21  Bruno Haible  <bruno@clisp.org>
16966
16967         Avoid redefinition warnings for SIZE_MAX.
16968         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
16969         Reported by Simon Josefsson.
16970
16971 2009-05-21  Bruno Haible  <bruno@clisp.org>
16972
16973         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
16974         AC_CACHE_VAL.
16975
16976 2009-05-20  Bruno Haible  <bruno@clisp.org>
16977
16978         Make zeroptr.h work on mingw.
16979         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
16980         mprotect.
16981         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
16982         * modules/memchr2-tests (configure.ac): Likewise.
16983         * modules/memcmp-tests (configure.ac): Likewise.
16984         * modules/memmem-tests (configure.ac): Likewise.
16985         * modules/memrchr-tests (configure.ac): Likewise.
16986         Reported by Simon Josefsson.
16987
16988 2009-05-20  Simon Josefsson  <simon@josefsson.org>
16989
16990         * tests/test-glob.c: Include string.h for strcmp prototype.
16991
16992 2009-05-20  Simon Josefsson  <simon@josefsson.org>
16993
16994         * modules/getdelim (Depends-on): Add explicit stdint, although it
16995         was implicitly already pulled in via realloc-posix.
16996         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
16997
16998 2009-05-20  Simon Josefsson  <simon@josefsson.org>
16999
17000         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
17001         G. Christensen" <tgc@jupiterrise.com>.
17002         * m4/sys_socket_h.m4: Check for sa_family_t.
17003         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
17004         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
17005         * tests/test-sys_socket.c: Check that sa_family_t works.
17006
17007 2009-05-18  Eric Blake  <ebb9@byu.net>
17008
17009         maint.mk: allow gnulib_dir in VPATH build
17010         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
17011
17012 2009-05-15  Jim Meyering  <meyering@redhat.com>
17013
17014         maint.mk: Give gnulib_dir a default definition.
17015         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
17016         Thus, most packages no longer need to specify this variable in cfg.mk
17017
17018 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
17019
17020         rename.m4: fix typos that would make non-mingw cross-configure fail
17021         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
17022
17023 2009-05-13  Eric Blake  <ebb9@byu.net>
17024
17025         mmap-anon: avoid out-of-order autoconf expansion
17026         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
17027         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
17028         * modules/memchr-tests (Depends-on): Add extensions.
17029         * modules/memchr2-tests (Depends-on): Add extensions.
17030         * modules/memcmp-tests (Depends-on): Add extensions.
17031         * modules/memmem-tests (Depends-on): Add extensions.
17032         * modules/memrchr-tests (Depends-on): Add extensions.
17033
17034 2009-05-13  Bruno Haible  <bruno@clisp.org>
17035
17036         Make some tests ISO C 99 compliant.
17037         * tests/zerosize-ptr.h: New file.
17038         * tests/test-memchr.c: Include zerosize-ptr.h.
17039         (main): Use a zero-size object pointer instead of NULL.
17040         * tests/test-memchr2.c: Include zerosize-ptr.h.
17041         (main): Use a zero-size object pointer instead of NULL.
17042         * tests/test-memcmp.c: Include zerosize-ptr.h.
17043         (main): Use a zero-size object pointer instead of NULL.
17044         * tests/test-memmem.c: Include zerosize-ptr.h.
17045         (main): Use a zero-size object pointer instead of NULL.
17046         * tests/test-memrchr.c: Include zerosize-ptr.h.
17047         (main): Use a zero-size object pointer instead of NULL.
17048         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
17049         m4/mmap-anon.m4.
17050         (Depends-on): Add getpagesize.
17051         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17052         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
17053         m4/mmap-anon.m4.
17054         (Depends-on): Add getpagesize.
17055         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17056         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
17057         m4/mmap-anon.m4.
17058         (Depends-on): Add getpagesize.
17059         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17060         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
17061         m4/mmap-anon.m4.
17062         (Depends-on): Add getpagesize.
17063         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17064         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
17065         m4/mmap-anon.m4.
17066         (Depends-on): Add getpagesize.
17067         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17068
17069 2009-05-12  Bruno Haible  <bruno@clisp.org>
17070
17071         Tests for module 'alignof'.
17072         * modules/alignof-tests: New file.
17073         * tests/test-alignof.c: New file.
17074
17075 2009-05-12  Bruno Haible  <bruno@clisp.org>
17076
17077         Fix alignof macro.
17078         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
17079         vendor compilers that are always correct.
17080
17081 2009-05-12  Bruno Haible  <bruno@clisp.org>
17082
17083         Make the MAP_ANONYMOUS detection work on HP-UX 11.
17084         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
17085         not whether its fully works.
17086
17087 2009-05-12  Bruno Haible  <bruno@clisp.org>
17088
17089         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
17090
17091 2009-05-12  Jim Meyering  <meyering@redhat.com>
17092
17093         * top/maint.mk: Adjust backslash alignment.
17094
17095 2009-05-11  Simon Josefsson  <simon@josefsson.org>
17096
17097         * top/maint.mk: Make $(srcdir)/build-aux configurable.
17098
17099 2009-05-11  Eric Blake  <ebb9@byu.net>
17100
17101         argp: avoid undefined behavior
17102         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
17103         macros.
17104
17105 2009-05-08  Simon Josefsson  <simon@josefsson.org>
17106
17107         * tests/test-vc-list-files-git.sh: Do git config of user.email and
17108         user.name to prevent git commit from complaining.
17109
17110 2009-05-10  Bruno Haible  <bruno@clisp.org>
17111
17112         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
17113         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
17114         it rewrites every file name only once.
17115         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
17116
17117 2009-05-08  Bruno Haible  <bruno@clisp.org>
17118
17119         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
17120         instead of 'max'.
17121
17122 2009-05-08  Simon Josefsson  <simon@josefsson.org>
17123
17124         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
17125         sockaddr_storage test.
17126
17127 2009-05-07  Simon Josefsson  <simon@josefsson.org>
17128
17129         * modules/sys_socket (Makefile.am): Substitute
17130         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
17131         * m4/sys_socket_h.m4: Check for sockaddr_storage.
17132         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
17133         * tests/test-sys_socket.c: Check sockaddr_storage.
17134
17135 2009-05-08  Bruno Haible  <bruno@clisp.org>
17136
17137         New module 'alignof'.
17138         * lib/alignof.h: New file.
17139         * modules/alignof: New file.
17140
17141 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17142             Bruno Haible  <bruno@clisp.org>
17143
17144         Fix test-file-has-acl on FreeBSD.
17145         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
17146         mask is implicitly added.
17147         * tests/test-file-has-acl.c: Include <signal.h>.
17148         (main): Terminate the test after 5 seconds.
17149         * modules/acl-tests (configure.ac): Check for alarm function.
17150
17151 2009-05-04  Bruno Haible  <bruno@clisp.org>
17152
17153         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
17154         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
17155         * modules/errno (configure.ac): Drop AC_REQUIRE.
17156         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
17157         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
17158
17159 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17160
17161         * modules/glob-tests: New module.
17162         * tests/test-glob.c: Add.
17163
17164 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17165
17166         * modules/fnmatch-tests: New module.
17167         * tests/test-fnmatch.c: Add.
17168
17169 2009-05-04  Eric Blake  <ebb9@byu.net>
17170
17171         maint: make the new no-submodule-changes rule VPATH-safe
17172         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
17173
17174 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17175             Bruno Haible  <bruno@clisp.org>
17176
17177         acl: Fix infinite loop on FreeBSD.
17178         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
17179         of return value from acl_get_entry.
17180         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
17181         Likewise.
17182
17183 2009-05-03  Bruno Haible  <bruno@clisp.org>
17184
17185         * lib/acl-internal.h (acl_entries): Clarify return value.
17186         * lib/acl_entries.c (acl_entries): Likewise.
17187
17188 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17189
17190         Bug fix in acl module.
17191         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
17192
17193 2009-05-03  Bruno Haible  <bruno@clisp.org>
17194
17195         Create gperf-generated file in the source dir, not in the build dir.
17196         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
17197         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
17198         * modules/unicase/locale-language (unicase/locale-languages.h):
17199         Likewise.
17200         * modules/unicase/special-casing (unicase/special-casing-table.h):
17201         Likewise.
17202         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
17203         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
17204         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
17205         Reported by Ralf Wildenhues.
17206
17207 2009-05-03  Bruno Haible  <bruno@clisp.org>
17208
17209         * modules/fnmatch (Description, configure.ac): Taken from
17210         fnmatch-posix.
17211         * modules/fnmatch-posix: Turn into a symbolic reference to the
17212         'fnmatch' module, and deprecate.
17213         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
17214
17215 2009-05-03  Bruno Haible  <bruno@clisp.org>
17216
17217         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
17218         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
17219         Reported by Ralf Wildenhues.
17220
17221 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17222
17223         * m4/fnmatch.m4: Fix fnmatch re-define.
17224
17225 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17226
17227         priv-set: new module and tests; adapt write-any-file
17228         * lib/priv-set.c: New file.
17229         * lib/priv-set.h: New file.
17230         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
17231         * lib/write-any-file.c: Simplify by using priv-set module.
17232         * m4/priv-set.m4: New file.
17233         * modules/priv-set: New file.
17234         * modules/unlinkdir: Add dependency on priv-set module.
17235         * modules/write-any-file: Likewise.
17236
17237         Tests for module 'priv-set'.
17238         * modules/priv-set-tests: New file.
17239         * tests/test-priv-set.c: New file.
17240
17241 2009-05-03  Jim Meyering  <meyering@redhat.com>
17242             Bruno Haible  <bruno@clisp.org>
17243
17244         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
17245         use the converted UTF-8 variant of the name instead.
17246
17247 2009-05-03  Jim Meyering  <meyering@redhat.com>
17248
17249         tests: tighten some getdate tests
17250         * tests/test-getdate.c (main): Tighten tests: require equality,
17251         not just greater than.  Set TZ envvar to UTC0.
17252
17253 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
17254
17255         getdate: correctly interpret "next monday" when run on a Monday
17256         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
17257         that e.g., "next tues" (when run on a tuesday) results in a date
17258         that is one week in the future, and not today's date.
17259         I.e., add a week when the wday is the same as the current one.
17260         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
17261         and earlier by Martin Bernreuther and Jan Minář.
17262         * tests/test-getdate.c (main): Check that "next DAY" is always in
17263         the future and that "last DAY" is always in the past.
17264
17265 2009-05-02  Jim Meyering  <meyering@redhat.com>
17266
17267         build: ensure that a release build fails when a submodule is unclean
17268         * top/maint.mk (no-submodule-changes): New rule.
17269         (alpha beta major): Depend on it.
17270
17271 2009-05-02  Bruno Haible  <bruno@clisp.org>
17272
17273         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
17274         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
17275         shell variable gl_fnmatch_required to detect which variant is
17276         requested.
17277         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
17278         gl_FUNC_FNMATCH_POSIX.
17279         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
17280         exclude fnmatch-posix.
17281
17282 2009-05-02  Bruno Haible  <bruno@clisp.org>
17283
17284         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
17285         * modules/mbsrtowcs (License): Change to LGPLv2+.
17286         * modules/strnlen1 (License): Likewise.
17287         Reported by Simon Josefsson.
17288
17289 2009-05-02  Bruno Haible  <bruno@clisp.org>
17290
17291         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
17292         "cross".
17293         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
17294         gnulib-tool was called with option --source-base=lib.
17295
17296 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17297
17298         Use automake *-local hooks without commands, for extensibility.
17299         * modules/localcharset (Makefile.am): Rename install-exec-local
17300         rule to install-exec-localcharset, and make it a prerequisite of
17301         install-exec-local.  Likewise, rename the uninstall-local rule to
17302         uninstall-localcharset, and make it a prerequisite of the former.
17303
17304 2009-05-01  Bruno Haible  <bruno@clisp.org>
17305
17306         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
17307         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
17308         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
17309         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
17310         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
17311         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
17312         m4/locale-zh.m4, m4/codeset.m4.
17313
17314         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
17315         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
17316         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
17317         m4/locale-zh.m4.
17318
17319         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
17320         REPLACE_WCRTOMB if mbstate_t must be replaced.
17321         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
17322         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
17323
17324 2009-05-01  Bruno Haible  <bruno@clisp.org>
17325
17326         Avoid compiler warnings when redefining macros defined by <libintl.h>.
17327         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
17328         dngettext, dcngettext, textdomain, bindtextdomain,
17329         bind_textdomain_codeset): Undefine before redefining.
17330
17331 2009-04-30  Bruno Haible  <bruno@clisp.org>
17332
17333         Fix bug introduced on 2009-04-25.
17334         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
17335         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
17336         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
17337         is defined.
17338         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
17339         is defined.
17340         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
17341         is defined.
17342         Reported by Elbert_Pol <elbert.pol@gmail.com>.
17343
17344 2009-04-28  Bruno Haible  <bruno@clisp.org>
17345
17346         Comment tweaks.
17347         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
17348         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
17349         * lib/unicase.h (u*_casexfrm): Likewise.
17350         Reported by Paolo Bonzini.
17351
17352 2009-04-28  Bruno Haible  <bruno@clisp.org>
17353
17354         Fix a compilation error.
17355         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
17356         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17357         Reported by Jim Meyering.
17358
17359 2009-04-27  Bruno Haible  <bruno@clisp.org>
17360
17361         New module 'libunistring'.
17362         * modules/libunistring: New file.
17363         * m4/libunistring.m4: New file.
17364         * MODULES.html.sh (Unicode string functions): Add it.
17365
17366 2009-04-27  Eric Blake  <ebb9@byu.net>
17367
17368         maint.mk: allow package-specific header to provide <config.h>
17369         * top/maint.mk (sc_require_config_h): New variable.
17370         (sc_require_config_h, sc_require_config_h_first): Use it.
17371
17372 2009-04-27  Simon Josefsson  <simon@josefsson.org>
17373
17374         * top/maint.mk (sc_avoid_if_before_free): Except
17375         useless-if-before-free script.
17376
17377 2009-04-27  Eric Blake  <ebb9@byu.net>
17378
17379         maintainer-makefile: depend on all required helper scripts
17380         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
17381         useless-if-before-free.
17382         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
17383         version, rather than assuming gnulib checkout is available.
17384         Reported by Simen Josefsson.
17385
17386 2009-04-26  Bruno Haible  <bruno@clisp.org>
17387
17388         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
17389         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
17390         "../" or "..".
17391
17392 2009-04-26  Bruno Haible  <bruno@clisp.org>
17393
17394         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
17395         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
17396         AC_LIB_HAVE_LINKFLAGS.
17397
17398 2009-04-26  Bruno Haible  <bruno@clisp.org>
17399
17400         Simplify calling convention of u*_conv_from_encoding.
17401         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
17402         u32_conv_from_encoding): Expect a resultbuf argument and return the
17403         result directly as a pointer.
17404         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
17405         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
17406         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
17407         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
17408         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
17409         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
17410         Update.
17411         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
17412         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
17413         * lib/vasnprintf.c (VASNPRINTF): Update.
17414         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
17415         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
17416         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
17417         * NEWS: Mention the change.
17418
17419 2009-04-26  Bruno Haible  <bruno@clisp.org>
17420
17421         Simplify calling convention of u*_conv_to_encoding.
17422         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
17423         u32_conv_to_encoding): Expect a resultbuf argument and return the
17424         result directly as a pointer.
17425         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
17426         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
17427         freeing scaled_offsets if mem_iconveha failed.
17428         * lib/unicase/u-casexfrm.h (FUNC): Update.
17429         * lib/uninorm/u-normxfrm.h (FUNC): Update.
17430         * lib/vasnprintf.c (VASNPRINTF): Update.
17431         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
17432         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
17433         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
17434         * NEWS: Mention the change.
17435
17436 2009-04-26  Bruno Haible  <bruno@clisp.org>
17437
17438         Avoid test failures on AIX and OSF/1.
17439         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
17440         malloc(0).
17441         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
17442         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
17443         Likewise.
17444         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
17445         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
17446         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
17447         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
17448         * doc/posix-functions/malloc.texi: Document the portability problem
17449         related to malloc(0).
17450
17451 2009-04-26  Bruno Haible  <bruno@clisp.org>
17452
17453         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
17454         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
17455         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
17456
17457 2009-04-25  Bruno Haible  <bruno@clisp.org>
17458
17459         Avoid link error when creating a namespace clean library.
17460         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
17461         as macro with arguments if already defined as an alias.
17462         * lib/signbitf.c (gl_signbitf): Don't undefine.
17463         * lib/signbitd.c (gl_signbitd): Don't undefine.
17464         * lib/signbitl.c (gl_signbitl): Don't undefine.
17465
17466 2009-04-25  Jim Meyering  <meyering@redhat.com>
17467
17468         vc-list-files: fix another quoting bug
17469         * build-aux/vc-list-files: Avoid sed backslash expansion
17470         of pathological directory names.
17471
17472 2009-04-25  Eric Blake  <ebb9@byu.net>
17473
17474         vc-list-files: fix shell quoting error
17475         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
17476         timestamp.
17477
17478 2009-04-25  Jim Meyering  <meyering@redhat.com>
17479
17480         vc-list-files: restore lost functionality with subdir argument
17481         * build-aux/vc-list-files: When given a non-"." sub-directory
17482         argument, substitute the $dir/ prefix back onto each resulting name.
17483         Otherwise, coreutils' root_tests check would fail.
17484
17485 2009-04-24  Eric Blake  <ebb9@byu.net>
17486
17487         vc-list-files: ignore git symlinks
17488         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
17489         than ls-files, to ignore git symlinks.
17490
17491         maint.mk: import improvements from m4
17492         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
17493         (move_if_change): Delete unused macro.
17494         (news-date-check, vc-diff-check): Support VPATH builds.
17495         (announcement): Likewise.  Split --bootstrap-tools list...
17496         (boostrap-tools): ...into separate list, which can be overridden
17497         in cfg.mk.
17498         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
17499         requiring dependency on useless-if-before-free module.
17500         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
17501         Support VPATH builds.
17502
17503 2009-04-24  Jim Meyering  <meyering@redhat.com>
17504
17505         maint.mk: remove coreutils-specific rules and variables
17506         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
17507         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
17508         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
17509
17510         maint.mk: remove obsolete rule
17511         * top/maint.mk (rel-check): Remove rule.
17512         (WGET, WGETFLAGS): Remove now-unused variables.
17513
17514 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17515
17516         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
17517         consistency.
17518
17519         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
17520         '$(PATH_SEPARATOR)' instead of ':'.
17521
17522 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17523
17524         * lib/getopt1.c (main): Use 'const' for static array.
17525
17526 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17527
17528         * top/maint.mk: Sync with coreutils.
17529         * NEWS: Explain incompatibilities.
17530
17531 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17532             Bruno Haible  <bruno@clisp.org>
17533
17534         Fix cross-compilation results.
17535         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
17536         statement, as third argument of AC_TRY_RUN.
17537         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
17538         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
17539         Likewise.
17540         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17541         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
17542         Likewise.
17543         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
17544         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
17545         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
17546
17547 2009-04-20  Bruno Haible  <bruno@clisp.org>
17548
17549         Avoid test failure on mingw.
17550         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
17551
17552 2009-04-20  Bruno Haible  <bruno@clisp.org>
17553
17554         Avoid compilation error on mingw.
17555         * modules/localename-tests (Depends-on): Add locale.
17556
17557 2009-04-19  Bruno Haible  <bruno@clisp.org>
17558
17559         Support for building a shared library on Windows platforms.
17560         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
17561         (main): Test the presence of UNINORM_NFC here.
17562         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
17563         (main): Test the presence of UNINORM_NFD here.
17564         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
17565         (main): Test the presence of UNINORM_NFKC here.
17566         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
17567         (main): Test the presence of UNINORM_NFKD here.
17568
17569 2009-04-19  Bruno Haible  <bruno@clisp.org>
17570
17571         Avoid a compiler warning.
17572         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
17573         Change type of variable 'sequence'.
17574
17575 2009-04-19  Bruno Haible  <bruno@clisp.org>
17576
17577         * modules/configmake (Makefile.am): When the contents of configmake.h
17578         does not change, arrange to preserve its modification time.
17579
17580 2009-04-17  Simon Josefsson  <simon@josefsson.org>
17581
17582         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
17583         gettext domain.
17584
17585 2009-04-16  Jim Meyering  <meyering@redhat.com>
17586
17587         useless-if-before-free: improve conversion code
17588         * build-aux/useless-if-before-free: Adjust code-in-comment to match
17589         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
17590
17591 2009-04-14  Bruno Haible  <bruno@clisp.org>
17592
17593         * modules/fcntl (Depends-on): Add extensions.
17594         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
17595
17596 2009-04-12  Ben Pfaff  <blp@gnu.org>
17597
17598         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
17599         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
17600
17601 2009-03-20  Ben Pfaff  <blp@gnu.org>
17602
17603         Make rename replace existing destinations on Windows.
17604         * m4/rename.m4: Add test for Mingw.
17605         * lib/rename.c: Add rename replacement that uses MoveFileEx with
17606         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
17607         * doc/posix-functions/rename.texi: Document.
17608
17609 2009-04-10  Bruno Haible  <bruno@clisp.org>
17610
17611         New include file "iconveh.h".
17612         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
17613         * lib/striconveh.h: Include it.
17614         (enum iconv_ilseq_handler): Remove definition.
17615         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
17616         striconveh.h.
17617         * lib/striconveha.c: Include striconveh.h.
17618         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
17619         * modules/striconveh (Files): Add lib/iconveh.h.
17620         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
17621         lib/striconveh.h.
17622
17623 2009-04-10  Bruno Haible  <bruno@clisp.org>
17624
17625         * lib/uniconv.h: Update comment.
17626
17627 2009-04-10  Bruno Haible  <bruno@clisp.org>
17628
17629         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
17630         always.
17631         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
17632         * lib/unistr/u16-mbtouc-aux.c: Likewise.
17633         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
17634         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
17635         "unistring-notinline.h", so that the function gets defined always.
17636         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
17637         * lib/unistr/u8-uctomb.c: Likewise.
17638         * lib/unistr/u16-mbtouc.c: Likewise.
17639         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
17640         * lib/unistr/u16-uctomb.c: Likewise.
17641         * lib/unistr/u32-mbtouc.c: Likewise.
17642         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
17643         * lib/unistr/u32-uctomb.c: Likewise.
17644
17645 2009-04-10  Bruno Haible  <bruno@clisp.org>
17646
17647         Mark 'utime' obsolete.
17648         * modules/utime (Status, Notice): New sections.
17649         Suggested by Jim Meyering.
17650
17651         Fix cross-compile guess for utime test.
17652         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
17653         autoconf.
17654         * doc/posix-functions/utime.texi: Give more precisions.
17655         Reported by Jan <ipif@ymail.com>.
17656
17657 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
17658
17659         filevercmp: correct today's change
17660         * lib/filevercmp.c: Also handle coreutils' test inputs.
17661         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
17662
17663         Fix regression in 'filevercmp' module. Thanks Sven Joachim
17664         for reporting it.
17665         * lib/filevercmp.c: Special handle for "", "." and "..".
17666         * tests/test-filevercmp.c: Enlarge the set suite.
17667
17668 2009-04-07  Jim Meyering  <meyering@redhat.com>
17669
17670         useless-if-before-free: show how to remove braced useless free, too
17671         * build-aux/useless-if-before-free: still only in a comment, though.
17672
17673 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
17674
17675         maint.mk: import changes to syntax-check macros from coreutils
17676         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
17677         Use them in the relevant macros.
17678
17679 2009-04-06  Bruno Haible  <bruno@clisp.org>
17680
17681         Fix unportable use of bit-fields.
17682         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
17683         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
17684         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
17685
17686 2009-04-06  Bruno Haible  <bruno@clisp.org>
17687
17688         Avoid test failures on AIX and OSF/1.
17689         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
17690         that malloc(0) = NULL.
17691         * tests/unicase/test-u8-tolower.c (check): Likewise.
17692         * tests/unicase/test-u8-totitle.c (check): Likewise.
17693         * tests/unicase/test-u8-toupper.c (check): Likewise.
17694         * tests/unicase/test-u16-casefold.c (check): Likewise.
17695         * tests/unicase/test-u16-tolower.c (check): Likewise.
17696         * tests/unicase/test-u16-totitle.c (check): Likewise.
17697         * tests/unicase/test-u16-toupper.c (check): Likewise.
17698         * tests/unicase/test-u32-casefold.c (check): Likewise.
17699         * tests/unicase/test-u32-tolower.c (check): Likewise.
17700         * tests/unicase/test-u32-totitle.c (check): Likewise.
17701         * tests/unicase/test-u32-toupper.c (check): Likewise.
17702         * tests/uninorm/test-u8-nfc.c (check): Likewise.
17703         * tests/uninorm/test-u8-nfd.c (check): Likewise.
17704         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
17705         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
17706         * tests/uninorm/test-u16-nfc.c (check): Likewise.
17707         * tests/uninorm/test-u16-nfd.c (check): Likewise.
17708         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
17709         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
17710         * tests/uninorm/test-u32-nfc.c (check): Likewise.
17711         * tests/uninorm/test-u32-nfd.c (check): Likewise.
17712         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
17713         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
17714
17715 2009-04-05  Bruno Haible  <bruno@clisp.org>
17716
17717         Work around an autoconf limitation.
17718         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
17719         comment line if it would be longer than 3 KB.
17720
17721 2009-04-05  Bruno Haible  <bruno@clisp.org>
17722
17723         Avoid test failure with libiconv-1.13.
17724         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
17725         of the expected test results.
17726
17727 2009-04-05  Bruno Haible  <bruno@clisp.org>
17728
17729         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
17730         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
17731         that it should be installed.
17732
17733 2009-04-05  Bruno Haible  <bruno@clisp.org>
17734
17735         * gnulib-tool: New option --copy-file.
17736         (func_usage): Document it.
17737         (func_dest_tmpfilename): Moved out of func_import.
17738         (func_add_file, func_update_file): New functions, extracted from
17739         func_import.
17740         (func_import): Update.
17741
17742 2009-04-05  Karl Berry  <karl@gnu.org>
17743
17744         * README: prominently mention gnulib-tool.
17745         Rearrange sections so getting the code is near the top.
17746
17747 2009-04-05  Bruno Haible  <bruno@clisp.org>
17748
17749         * lib/unicase.h: Mention u*_cmp2.
17750         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
17751         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
17752         * lib/unicase/ulc-casecmp.c: Likewise.
17753         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
17754         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
17755         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
17756         unistr/u8-cmp.
17757         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
17758         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
17759         unistr/u16-cmp.
17760         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
17761         unistr/u32-cmp.
17762
17763         * lib/uninorm.h: Mention u*_cmp2.
17764         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
17765         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
17766         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
17767         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
17768         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
17769         unistr/u8-cmp.
17770         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
17771         unistr/u16-cmp.
17772         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
17773         unistr/u32-cmp.
17774
17775         New module 'unistr/u32-cmp2'.
17776         * lib/unistr/u32-cmp2.c: New file.
17777         * modules/unistr/u32-cmp2: New file.
17778
17779         New module 'unistr/u16-cmp2'.
17780         * lib/unistr/u16-cmp2.c: New file.
17781         * modules/unistr/u16-cmp2: New file.
17782
17783         New module 'unistr/u8-cmp2'.
17784         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
17785         * lib/unistr/u8-cmp2.c: New file.
17786         * lib/unistr/u-cmp2.h: New file.
17787         * modules/unistr/u8-cmp2: New file.
17788
17789 2009-04-05  Bruno Haible  <bruno@clisp.org>
17790
17791         * lib/unictype.h (uc_property_is_valid): New macro.
17792         * tests/unictype/test-pr_byname.c (main): Use it.
17793
17794         * lib/unistr.h: Doc fixes.
17795         * lib/uniconv.h: Doc fixes.
17796         * lib/unictype.h: Doc fixes.
17797
17798 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
17799
17800         Port coreutils 7.2 to Solaris 8.
17801
17802         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
17803         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
17804         for Solaris 8.  This is a bit of a hack, as it means it's the
17805         caller's responsibility to add -lnsl if needed, but most likely it
17806         won't be needed since only getaddrinfo uses this and getaddrinfo
17807         isn't needed on Solaris 8.
17808
17809         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
17810         problem to Solaris 8 encountered with coreutils 7.2, which
17811         resulted in a message "fnmatch.c:292: warning: passing argument 4
17812         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
17813         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
17814
17815 2009-04-03  Simon Josefsson  <simon@josefsson.org>
17816
17817         * m4/ld-version-script.m4: Add FIXME comment.
17818
17819 2009-04-02  Simon Josefsson  <simon@josefsson.org>
17820
17821         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
17822         SOVERSION variable.
17823
17824 2009-04-02  Bruno Haible  <bruno@clisp.org>
17825
17826         * Makefile (info, html, dvi, pdf): Combine the rules.
17827         Suggested by Jim Meyering.
17828
17829 2009-04-01  Bruno Haible  <bruno@clisp.org>
17830
17831         * Makefile (info, html, dvi, pdf): New targets.
17832         Reported by Reuben Thomas <rrt@sc3d.org>.
17833
17834 2009-04-01  Bruno Haible  <bruno@clisp.org>
17835
17836         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
17837         can be put into PATH.
17838         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
17839
17840 2009-04-01  Bruno Haible  <bruno@clisp.org>
17841
17842         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
17843
17844 2009-04-01  Bruno Haible  <bruno@clisp.org>
17845
17846         Rename module 'visibility'.
17847         * modules/lib-symbol-visibility: Renamed from modules/visibility.
17848         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
17849         * doc/gnulib.texi: Update.
17850         * MODULES.html.sh (Misc): Update.
17851         * NEWS: Mention the change.
17852
17853 2009-04-01  Simon Josefsson  <simon@josefsson.org>
17854
17855         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
17856         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
17857         Eric Blake <ebb9@byu.net> for review.
17858         * MODULES.html.sh: Add lib-msvc-compat.
17859         * doc/gnulib.texi: Link to new section.
17860         * m4/ld-output-def.m4: New file.
17861         * doc/ld-output-def.texi: New file.
17862
17863 2009-04-01  Simon Josefsson  <simon@josefsson.org>
17864
17865         Rename ld-version-script to lib-symbol-versions.  Suggested by
17866         Bruno Haible <bruno@clisp.org>.
17867         * modules/ld-version-script: Renamed to lib-symbol-versions.
17868         * doc/ld-version-script.texi: Fix module name.
17869         * MODULES.html.sh: Add lib-symbol-versions.
17870
17871 2009-03-31  Simon Josefsson  <simon@josefsson.org>
17872
17873         * modules/u64-tests: New file.
17874         * tests/test-u64.c: New file.
17875
17876 2009-03-04  Simon Josefsson  <simon@josefsson.org>
17877
17878         * MODULES.html.sh: Mention u64.
17879         * modules/u64: New module.
17880         * modules/crypto/sha512: Depend on u64 module instead of providing
17881         u64.h.
17882
17883 2009-03-27  Eric Blake  <ebb9@byu.net>
17884
17885         test-strerror: make debugging EAI_SYSTEM easier
17886         * modules/getaddrinfo-tests (Depends-on): Add strerror.
17887         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
17888         failure was EAI_SYSTEM.
17889
17890 2009-03-25  Bruno Haible  <bruno@clisp.org>
17891
17892         Fix a problem with --enable-relocatable on Solaris 7.
17893         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
17894         since 2008-02-24.
17895
17896 2009-03-25  Eric Blake  <ebb9@byu.net>
17897
17898         test-sockets: avoid gcc warning
17899         * tests/test-sockets.c (main): Silence compiler warning.
17900
17901 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
17902
17903         New modules nproc, pthread, contributed by Glen Lenker.
17904
17905         * MODULES.html.sh: Add pthread, nproc.
17906         * lib/nproc.c: New file.
17907         * lib/nproc.h: New file.
17908         * lib/pthread.in.h: New file.
17909         * m4/pthread.m4: New file.
17910         * modules/nproc: New file.
17911         * modules/pthread: New file.
17912
17913 2009-03-24  Simon Josefsson  <simon@josefsson.org>
17914
17915         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
17916         New variable.
17917
17918 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
17919
17920         filevercmp: handle simple~ and numbered.~3~ backup suffixes
17921         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
17922         * tests/test-filevercmp.c: Add tests for backup suffixes.
17923
17924 2009-03-24  Simon Josefsson  <simon@josefsson.org>
17925
17926         * modules/stdlib (Depends-on): Add stdint, needed when defining
17927         struct random_data on, for example, HP-UX 10.20.  Reported by
17928         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17929
17930 2009-03-24  Simon Josefsson  <simon@josefsson.org>
17931
17932         * lib/readline.c (readline): Call fflush on stdout after printing
17933         prompt.
17934
17935 2009-03-20  Bruno Haible  <bruno@clisp.org>
17936
17937         Remove dependency from 'close' module to -lws2_32 on native Windows.
17938         * lib/close-hook.h: New file.
17939         * lib/close-hook.c: New file.
17940         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
17941         w32sock.h.
17942         (_gl_close_fd_maybe_socket): Remove function.
17943         (rpl_close): Invoke execute_all_close_hooks instead of
17944         _gl_close_fd_maybe_socket.
17945         * lib/sockets.c: Include close-hook.h, w32sock.h.
17946         (close_fd_maybe_socket): New function, essentially from lib/close.c.
17947         (close_sockets_hook): New variable.
17948         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
17949         (gl_sockets_cleanup): Unregister it.
17950         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
17951         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
17952         * modules/close-hook: New file.
17953         * modules/close (Files): Remove lib/w32sock.h.
17954         (Depends-on): Add close-hook.
17955         (Link): Remove section.
17956         * modules/sockets (Files): Add lib/w32sock.h.
17957         (Depends-on): Add close-hook.
17958         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
17959         invocation.
17960         * NEWS: Mention that LIB_CLOSE is gone.
17961
17962 2009-03-23  Eric Blake  <ebb9@byu.net>
17963
17964         signal-tests: test previous patch
17965         * tests/test-signal.c: New file.
17966         * modules/signal-tests: Likewise.
17967
17968         signal.h: always support 'volatile sig_atomic_t'
17969         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
17970         (gl_SIGNAL_H_DEFAULTS): Add a default.
17971         * modules/signal (Makefile.am): Substitute if needed.
17972         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
17973         users can blindly add volatile.
17974         * doc/posix-headers/signal.texi (signal.h): Document it.
17975         Reported by Matthew Woehlke.
17976
17977 2009-03-23  Jim Meyering  <meyering@redhat.com>
17978
17979         pathmax: PATH_MAX: use pathconf only when available
17980         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
17981         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
17982         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
17983         This avoids a link failure in a PSP cross-compilation environment
17984         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
17985
17986         * lib/vasnprintf.c (divide): Fix typo in comment.
17987
17988 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17989
17990         * gnulib-tool (func_filter_filelist): Fix comment.
17991
17992 2009-03-20  Bruno Haible  <bruno@clisp.org>
17993
17994         Make sockets.h self-contained.
17995         * lib/sockets.c: Include sockets.h first.
17996         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
17997
17998 2009-03-19  Eric Blake  <ebb9@byu.net>
17999
18000         doc: mention more functions added in cygwin 1.7.0
18001         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
18002         addition.
18003         * doc/posix-functions/log2f.texi: Likewise.
18004
18005 2009-03-19  Jim Meyering  <meyering@redhat.com>
18006
18007         fsusage: avoid syntax error due to statement-before-declaration
18008         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
18009         after all declarations.  Reported by Matthew Woehlke in
18010         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
18011
18012 2009-03-18  Eric Blake  <ebb9@byu.net>
18013
18014         build-aux/compile: sync from automake
18015         * build-aux/compile: New file, from automake.
18016         * config/srclist.txt: Mention build-aux/compile.
18017
18018 2009-03-17  Bruno Haible  <bruno@clisp.org>
18019
18020         * lib/git-merge-changelog.c: Fix typo in comment.
18021         Reported by Reuben Thomas <rrt@sc3d.org>.
18022
18023 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
18024
18025         * m4/regex.m4: update and improve help for
18026         --without-included-regex.
18027
18028 2009-03-17  Simon Josefsson  <simon@josefsson.org>
18029
18030         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
18031         failure on missing include files.
18032
18033 2009-03-17  Eric Blake  <ebb9@byu.net>
18034
18035         doc: mention more functions added in cygwin 1.7.0
18036         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
18037         addition.
18038         * doc/posix-functions/fwscanf.texi: Likewise.
18039         * doc/posix-functions/swprintf.texi: Likewise.
18040         * doc/posix-functions/swscanf.texi: Likewise.
18041         * doc/posix-functions/vfwprintf.texi: Likewise.
18042         * doc/posix-functions/vfwscanf.texi: Likewise.
18043         * doc/posix-functions/vswprintf.texi: Likewise.
18044         * doc/posix-functions/vswscanf.texi: Likewise.
18045         * doc/posix-functions/vwprintf.texi: Likewise.
18046         * doc/posix-functions/vwscanf.texi: Likewise.
18047         * doc/posix-functions/wcscasecmp.texi: Likewise.
18048         * doc/posix-functions/wcsdup.texi: Likewise.
18049         * doc/posix-functions/wcsftime.texi: Likewise.
18050         * doc/posix-functions/wcsncasecmp.texi: Likewise.
18051         * doc/posix-functions/wprintf.texi: Likewise.
18052         * doc/posix-functions/wscanf.texi: Likewise.
18053         * doc/glibc-functions/gethostbyname2.texi: Likewise.
18054
18055 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18056
18057         maint.mk: really add $(AM_MAKEFLAGS)
18058         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
18059         was inadvertently omitted in the last commit.
18060         Spotted by Bruno Haible.
18061
18062         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
18063         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
18064         $(AM_MAKEFLAGS)' rather than plain `make'.
18065
18066         gnulib-tool: execute $MAKE not make
18067         * gnulib-tool: Default $MAKE to 'make'.
18068         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
18069         than make.  Initialize $MAKE in the do-autobuild script.
18070
18071         gnulib-tool: use $MAKE not make in generated files
18072         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
18073         make, in generated files.  Initialize $MAKE in the do-autobuild
18074         script.
18075
18076         * top/GNUmakefile (_have-git-version-gen): Fix typo.
18077
18078         GNUmakefile: disable parallelism only for multiple, recursive targets
18079         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
18080         additions in the Makefile.
18081         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
18082         by Automake.
18083         (.NOTPARALLEL): Only disable parallel builds if multiple targets
18084         are listed on the command line and at least one of them is
18085         listed in $(ALL_RECURSIVE_TARGETS).
18086
18087 2009-03-14  Bruno Haible  <bruno@clisp.org>
18088
18089         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
18090         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
18091         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
18092         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
18093         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
18094         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
18095         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
18096         unistr/u8-uctomb.
18097         * modules/unistr/u8-strchr (Depends-on): Likewise.
18098         * modules/unistr/u8-strrchr (Depends-on): Likewise.
18099         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
18100         unistr/u16-uctomb.
18101         * modules/unistr/u16-strchr (Depends-on): Likewise.
18102         * modules/unistr/u16-strrchr (Depends-on): Likewise.
18103
18104 2009-03-12  Bruno Haible  <bruno@clisp.org>
18105
18106         Work around select() bug on Interix 3.5.
18107         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
18108         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
18109         * m4/select.m4: New file.
18110         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
18111         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
18112         * modules/select (Files): Add m4/select.m4.
18113         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
18114         * modules/nanosleep (Depends-on): Add select.
18115         * modules/poll (Depends-on): Likewise.
18116         * doc/posix-functions/select.texi: Mention the Interix bug.
18117         Reported by Markus Duft <mduft@gentoo.org>.
18118
18119         * lib/select.c: Renamed from lib/winsock-select.c.
18120         * modules/select (Files): Add lib/select.c, remove
18121         lib/winsock-select.c.
18122         (configure.ac): Update.
18123
18124 2009-03-12  Jim Meyering  <meyering@redhat.com>
18125
18126         avoid gcc warnings about unused macro definitions
18127         * lib/readtokens.c (STREQ): Remove unused definition.
18128         * lib/xmalloc.c (SIZE_MAX): Likewise.
18129         * lib/openat-die.c (N_): Likewise.
18130         * lib/mountlist.c (SIZE_MAX): Remove definition.
18131         Instead, include <stdint.h>.
18132         * lib/readutmp.c: Likewise.
18133         * modules/readutmp (Depends-on): Add stdint.
18134         * modules/mountlist (Depends-on): Add stdint.
18135         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
18136
18137 2009-03-10  Bruno Haible  <bruno@clisp.org>
18138
18139         Tests for module 'mbmemcasecoll'.
18140         * modules/mbmemcasecoll-tests: New file.
18141         * tests/test-mbmemcasecoll1.sh: New file.
18142         * tests/test-mbmemcasecoll2.sh: New file.
18143         * tests/test-mbmemcasecoll3.sh: New file.
18144         * tests/test-mbmemcasecoll.c: New file.
18145
18146         New module 'mbmemcasecoll'.
18147         * lib/mbmemcasecoll.h: New file.
18148         * lib/mbmemcasecoll.c: New file.
18149         * modules/mbmemcasecoll: New file.
18150
18151         * tests/test-mbmemcasecmp.h: New file, extracted from
18152         tests/test-mbmemcasecmp.c.
18153         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
18154         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
18155         (main): Update.
18156         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
18157
18158 2009-03-09  Bruno Haible  <bruno@clisp.org>
18159
18160         Tests for module 'mbmemcasecmp'.
18161         * modules/mbmemcasecmp-tests: New file.
18162         * tests/test-mbmemcasecmp1.sh: New file.
18163         * tests/test-mbmemcasecmp2.sh: New file.
18164         * tests/test-mbmemcasecmp3.sh: New file.
18165         * tests/test-mbmemcasecmp.c: New file.
18166
18167         New module 'mbmemcasecmp'.
18168         * lib/mbmemcasecmp.h: New file.
18169         * lib/mbmemcasecmp.c: New file.
18170         * modules/mbmemcasecmp: New file.
18171
18172 2009-03-09  Bruno Haible  <bruno@clisp.org>
18173
18174         Tests for module 'unicase/ulc-casecoll'.
18175         * modules/unicase/ulc-casecoll-tests: New file.
18176         * tests/unicase/test-ulc-casecoll1.sh: New file.
18177         * tests/unicase/test-ulc-casecoll2.sh: New file.
18178         * tests/unicase/test-ulc-casecoll.c: New file.
18179
18180         New module 'unicase/ulc-casecoll'.
18181         * lib/unicase.h (ulc_casecoll): New declaration.
18182         * lib/unicase/ulc-casecoll.c: New file.
18183         * modules/unicase/ulc-casecoll: New file.
18184
18185         New module 'unicase/ulc-casexfrm'.
18186         * lib/unicase.h (ulc_casexfrm): New declaration.
18187         * lib/unicase/ulc-casexfrm.c: New file.
18188         * modules/unicase/ulc-casexfrm: New file.
18189
18190 2009-03-09  Bruno Haible  <bruno@clisp.org>
18191
18192         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
18193         invocations.
18194
18195         * m4/mbscasecmp.m4: Remove file.
18196         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
18197         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
18198
18199         * m4/mbscasestr.m4: Remove file.
18200         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
18201         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
18202
18203         * m4/mbschr.m4: Remove file.
18204         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
18205         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
18206
18207         * m4/mbscspn.m4: Remove file.
18208         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
18209         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
18210
18211         * m4/mbslen.m4: Remove file.
18212         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
18213         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
18214
18215         * m4/mbsncasecmp.m4: Remove file.
18216         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
18217         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
18218
18219         * m4/mbsnlen.m4: Remove file.
18220         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
18221         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
18222
18223         * m4/mbspbrk.m4: Remove file.
18224         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
18225         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
18226
18227         * m4/mbspcasecmp.m4: Remove file.
18228         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
18229         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
18230
18231         * m4/mbsrchr.m4: Remove file.
18232         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
18233         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
18234
18235         * m4/mbssep.m4: Remove file.
18236         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
18237         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
18238
18239         * m4/mbsspn.m4: Remove file.
18240         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
18241         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
18242
18243         * m4/mbsstr.m4: Remove file.
18244         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
18245         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
18246
18247         * m4/mbstok_r.m4: Remove file.
18248         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
18249         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
18250
18251         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
18252
18253         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
18254         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
18255
18256         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
18257
18258 2009-03-08  Bruno Haible  <bruno@clisp.org>
18259
18260         Tests for module 'unicase/ulc-casecmp'.
18261         * modules/unicase/ulc-casecmp-tests: New file.
18262         * tests/unicase/test-ulc-casecmp1.sh: New file.
18263         * tests/unicase/test-ulc-casecmp2.sh: New file.
18264         * tests/unicase/test-ulc-casecmp.c: New file.
18265
18266         New module 'unicase/ulc-casecmp'.
18267         * lib/unicase.h (ulc_casecmp): New declaration.
18268         * lib/unicase/ulc-casecmp.c: New file.
18269         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
18270         'const SRC_UNIT *'.
18271         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
18272         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
18273         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
18274         * modules/unicase/ulc-casecmp: New file.
18275
18276         Tests for module 'unicase/u32-is-cased'.
18277         * modules/unicase/u32-is-cased-tests: New file.
18278         * tests/unicase/test-u32-is-cased.c: New file.
18279
18280         Tests for module 'unicase/u16-is-cased'.
18281         * modules/unicase/u16-is-cased-tests: New file.
18282         * tests/unicase/test-u16-is-cased.c: New file.
18283
18284         Tests for module 'unicase/u8-is-cased'.
18285         * modules/unicase/u8-is-cased-tests: New file.
18286         * tests/unicase/test-u8-is-cased.c: New file.
18287         * tests/unicase/test-is-cased.h: New file.
18288
18289         New module 'unicase/u32-is-cased'.
18290         * lib/unicase/u32-is-cased.c: New file.
18291         * modules/unicase/u32-is-cased: New file.
18292
18293         New module 'unicase/u16-is-cased'.
18294         * lib/unicase/u16-is-cased.c: New file.
18295         * modules/unicase/u16-is-cased: New file.
18296
18297         New module 'unicase/u8-is-cased'.
18298         * lib/unicase/u8-is-cased.c: New file.
18299         * lib/unicase/u-is-cased.h: New file.
18300         * modules/unicase/u8-is-cased: New file.
18301
18302         Tests for module 'unicase/u32-is-casefolded'.
18303         * modules/unicase/u32-is-casefolded-tests: New file.
18304         * tests/unicase/test-u32-is-casefolded.c: New file.
18305
18306         Tests for module 'unicase/u16-is-casefolded'.
18307         * modules/unicase/u16-is-casefolded-tests: New file.
18308         * tests/unicase/test-u16-is-casefolded.c: New file.
18309
18310         Tests for module 'unicase/u8-is-casefolded'.
18311         * modules/unicase/u8-is-casefolded-tests: New file.
18312         * tests/unicase/test-u8-is-casefolded.c: New file.
18313         * tests/unicase/test-is-casefolded.h: New file.
18314
18315         New module 'unicase/u32-is-casefolded'.
18316         * lib/unicase/u32-is-casefolded.c: New file.
18317         * modules/unicase/u32-is-casefolded: New file.
18318
18319         New module 'unicase/u16-is-casefolded'.
18320         * lib/unicase/u16-is-casefolded.c: New file.
18321         * modules/unicase/u16-is-casefolded: New file.
18322
18323         New module 'unicase/u8-is-casefolded'.
18324         * lib/unicase/u8-is-casefolded.c: New file.
18325         * modules/unicase/u8-is-casefolded: New file.
18326
18327         Tests for module 'unicase/u32-is-titlecase'.
18328         * modules/unicase/u32-is-titlecase-tests: New file.
18329         * tests/unicase/test-u32-is-titlecase.c: New file.
18330
18331         Tests for module 'unicase/u16-is-titlecase'.
18332         * modules/unicase/u16-is-titlecase-tests: New file.
18333         * tests/unicase/test-u16-is-titlecase.c: New file.
18334
18335         Tests for module 'unicase/u8-is-titlecase'.
18336         * modules/unicase/u8-is-titlecase-tests: New file.
18337         * tests/unicase/test-u8-is-titlecase.c: New file.
18338         * tests/unicase/test-is-titlecase.h: New file.
18339
18340         New module 'unicase/u32-is-titlecase'.
18341         * lib/unicase/u32-is-titlecase.c: New file.
18342         * modules/unicase/u32-is-titlecase: New file.
18343
18344         New module 'unicase/u16-is-titlecase'.
18345         * lib/unicase/u16-is-titlecase.c: New file.
18346         * modules/unicase/u16-is-titlecase: New file.
18347
18348         New module 'unicase/u8-is-titlecase'.
18349         * lib/unicase/u8-is-titlecase.c: New file.
18350         * modules/unicase/u8-is-titlecase: New file.
18351
18352         Tests for module 'unicase/u32-is-lowercase'.
18353         * modules/unicase/u32-is-lowercase-tests: New file.
18354         * tests/unicase/test-u32-is-lowercase.c: New file.
18355
18356         Tests for module 'unicase/u16-is-lowercase'.
18357         * modules/unicase/u16-is-lowercase-tests: New file.
18358         * tests/unicase/test-u16-is-lowercase.c: New file.
18359
18360         Tests for module 'unicase/u8-is-lowercase'.
18361         * modules/unicase/u8-is-lowercase-tests: New file.
18362         * tests/unicase/test-u8-is-lowercase.c: New file.
18363         * tests/unicase/test-is-lowercase.h: New file.
18364
18365         New module 'unicase/u32-is-lowercase'.
18366         * lib/unicase/u32-is-lowercase.c: New file.
18367         * modules/unicase/u32-is-lowercase: New file.
18368
18369         New module 'unicase/u16-is-lowercase'.
18370         * lib/unicase/u16-is-lowercase.c: New file.
18371         * modules/unicase/u16-is-lowercase: New file.
18372
18373         New module 'unicase/u8-is-lowercase'.
18374         * lib/unicase/u8-is-lowercase.c: New file.
18375         * modules/unicase/u8-is-lowercase: New file.
18376
18377         Tests for module 'unicase/u32-is-uppercase'.
18378         * modules/unicase/u32-is-uppercase-tests: New file.
18379         * tests/unicase/test-u32-is-uppercase.c: New file.
18380
18381         Tests for module 'unicase/u16-is-uppercase'.
18382         * modules/unicase/u16-is-uppercase-tests: New file.
18383         * tests/unicase/test-u16-is-uppercase.c: New file.
18384
18385         Tests for module 'unicase/u8-is-uppercase'.
18386         * modules/unicase/u8-is-uppercase-tests: New file.
18387         * tests/unicase/test-u8-is-uppercase.c: New file.
18388         * tests/unicase/test-is-uppercase.h: New file.
18389
18390         New module 'unicase/u32-is-uppercase'.
18391         * lib/unicase/u32-is-uppercase.c: New file.
18392         * modules/unicase/u32-is-uppercase: New file.
18393
18394         New module 'unicase/u16-is-uppercase'.
18395         * lib/unicase/u16-is-uppercase.c: New file.
18396         * modules/unicase/u16-is-uppercase: New file.
18397
18398         New module 'unicase/u8-is-uppercase'.
18399         * lib/unicase/u8-is-uppercase.c: New file.
18400         * modules/unicase/u8-is-uppercase: New file.
18401
18402         New module 'unicase/u32-is-invariant'.
18403         * lib/unicase/u32-is-invariant.c: New file.
18404         * modules/unicase/u32-is-invariant: New file.
18405
18406         New module 'unicase/u16-is-invariant'.
18407         * lib/unicase/u16-is-invariant.c: New file.
18408         * modules/unicase/u16-is-invariant: New file.
18409
18410         New module 'unicase/u8-is-invariant'.
18411         * lib/unicase/u8-is-invariant.c: New file.
18412         * lib/unicase/invariant.h: New file.
18413         * lib/unicase/u-is-invariant.h: New file.
18414         * modules/unicase/u8-is-invariant: New file.
18415
18416         Tests for module 'unicase/u32-casecoll'.
18417         * modules/unicase/u32-casecoll-tests: New file.
18418         * tests/unicase/test-u32-casecoll.c: New file.
18419
18420         Tests for module 'unicase/u16-casecoll'.
18421         * modules/unicase/u16-casecoll-tests: New file.
18422         * tests/unicase/test-u16-casecoll.c: New file.
18423
18424         Tests for module 'unicase/u8-casecoll'.
18425         * modules/unicase/u8-casecoll-tests: New file.
18426         * tests/unicase/test-u8-casecoll.c: New file.
18427
18428         New module 'unicase/u32-casecoll'.
18429         * lib/unicase/u32-casecoll.c: New file.
18430         * modules/unicase/u32-casecoll: New file.
18431
18432         New module 'unicase/u16-casecoll'.
18433         * lib/unicase/u16-casecoll.c: New file.
18434         * modules/unicase/u16-casecoll: New file.
18435
18436         New module 'unicase/u8-casecoll'.
18437         * lib/unicase/u8-casecoll.c: New file.
18438         * lib/unicase/u-casecoll.h: New file.
18439         * modules/unicase/u8-casecoll: New file.
18440
18441         New module 'unicase/u32-casexfrm'.
18442         * lib/unicase/u32-casexfrm.c: New file.
18443         * modules/unicase/u32-casexfrm: New file.
18444
18445         New module 'unicase/u16-casexfrm'.
18446         * lib/unicase/u16-casexfrm.c: New file.
18447         * modules/unicase/u16-casexfrm: New file.
18448
18449         New module 'unicase/u8-casexfrm'.
18450         * lib/unicase/u8-casexfrm.c: New file.
18451         * lib/unicase/u-casexfrm.h: New file.
18452         * modules/unicase/u8-casexfrm: New file.
18453
18454         Tests for module 'unicase/u32-casecmp'.
18455         * modules/unicase/u32-casecmp-tests: New file.
18456         * tests/unicase/test-u32-casecmp.c: New file.
18457
18458         Tests for module 'unicase/u16-casecmp'.
18459         * modules/unicase/u16-casecmp-tests: New file.
18460         * tests/unicase/test-u16-casecmp.c: New file.
18461
18462         Tests for module 'unicase/u8-casecmp'.
18463         * modules/unicase/u8-casecmp-tests: New file.
18464         * tests/unicase/test-u8-casecmp.c: New file.
18465         * tests/unicase/test-casecmp.h: New file.
18466
18467         New module 'unicase/u32-casecmp'.
18468         * lib/unicase/u32-casecmp.c: New file.
18469         * modules/unicase/u32-casecmp: New file.
18470
18471         New module 'unicase/u16-casecmp'.
18472         * lib/unicase/u16-casecmp.c: New file.
18473         * modules/unicase/u16-casecmp: New file.
18474
18475         New module 'unicase/u8-casecmp'.
18476         * lib/unicase/u8-casecmp.c: New file.
18477         * lib/unicase/u-casecmp.h: New file.
18478         * modules/unicase/u8-casecmp: New file.
18479
18480         Tests for module 'unicase/u32-casefold'.
18481         * modules/unicase/u32-casefold-tests: New file.
18482         * tests/unicase/test-u32-casefold.c: New file.
18483
18484         Tests for module 'unicase/u16-casefold'.
18485         * modules/unicase/u16-casefold-tests: New file.
18486         * tests/unicase/test-u16-casefold.c: New file.
18487
18488         Tests for module 'unicase/u8-casefold'.
18489         * modules/unicase/u8-casefold-tests: New file.
18490         * tests/unicase/test-u8-casefold.c: New file.
18491
18492         New module 'unicase/u32-casefold'.
18493         * lib/unicase/u32-casefold.c: New file.
18494         * modules/unicase/u32-casefold: New file.
18495
18496         New module 'unicase/u16-casefold'.
18497         * lib/unicase/u16-casefold.c: New file.
18498         * modules/unicase/u16-casefold: New file.
18499
18500         New module 'unicase/u8-casefold'.
18501         * lib/unicase/u8-casefold.c: New file.
18502         * lib/unicase/u-casefold.h: New file.
18503         * modules/unicase/u8-casefold: New file.
18504
18505         New module 'unicase/tocasefold'.
18506         * lib/unicase/casefold.h: New file.
18507         * lib/unicase/tocasefold.c: New file.
18508         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
18509         * modules/unicase/tocasefold: New file.
18510
18511         Tests for module 'unicase/u32-totitle'.
18512         * modules/unicase/u32-totitle-tests: New file.
18513         * tests/unicase/test-u32-totitle.c: New file.
18514
18515         Tests for module 'unicase/u16-totitle'.
18516         * modules/unicase/u16-totitle-tests: New file.
18517         * tests/unicase/test-u16-totitle.c: New file.
18518
18519         Tests for module 'unicase/u8-totitle'.
18520         * modules/unicase/u8-totitle-tests: New file.
18521         * tests/unicase/test-u8-totitle.c: New file.
18522
18523         New module 'unicase/u32-totitle'.
18524         * lib/unicase/u32-totitle.c: New file.
18525         * modules/unicase/u32-totitle: New file.
18526
18527         New module 'unicase/u16-totitle'.
18528         * lib/unicase/u16-totitle.c: New file.
18529         * modules/unicase/u16-totitle: New file.
18530
18531         New module 'unicase/u8-totitle'.
18532         * lib/unicase/u8-totitle.c: New file.
18533         * lib/unicase/u-totitle.h: New file.
18534         * modules/unicase/u8-totitle: New file.
18535
18536         Tests for module 'unicase/u32-tolower'.
18537         * modules/unicase/u32-tolower-tests: New file.
18538         * tests/unicase/test-u32-tolower.c: New file.
18539
18540         Tests for module 'unicase/u16-tolower'.
18541         * modules/unicase/u16-tolower-tests: New file.
18542         * tests/unicase/test-u16-tolower.c: New file.
18543
18544         Tests for module 'unicase/u8-tolower'.
18545         * modules/unicase/u8-tolower-tests: New file.
18546         * tests/unicase/test-u8-tolower.c: New file.
18547
18548         New module 'unicase/u32-tolower'.
18549         * lib/unicase/u32-tolower.c: New file.
18550         * modules/unicase/u32-tolower: New file.
18551
18552         New module 'unicase/u16-tolower'.
18553         * lib/unicase/u16-tolower.c: New file.
18554         * modules/unicase/u16-tolower: New file.
18555
18556         New module 'unicase/u8-tolower'.
18557         * lib/unicase/u8-tolower.c: New file.
18558         * modules/unicase/u8-tolower: New file.
18559
18560         Tests for module 'unicase/u32-toupper'.
18561         * modules/unicase/u32-toupper-tests: New file.
18562         * tests/unicase/test-u32-toupper.c: New file.
18563
18564         Tests for module 'unicase/u16-toupper'.
18565         * modules/unicase/u16-toupper-tests: New file.
18566         * tests/unicase/test-u16-toupper.c: New file.
18567
18568         Tests for module 'unicase/u8-toupper'.
18569         * modules/unicase/u8-toupper-tests: New file.
18570         * tests/unicase/test-u8-toupper.c: New file.
18571
18572         New module 'unicase/u32-toupper'.
18573         * lib/unicase/u32-toupper.c: New file.
18574         * modules/unicase/u32-toupper: New file.
18575
18576         New module 'unicase/u16-toupper'.
18577         * lib/unicase/u16-toupper.c: New file.
18578         * modules/unicase/u16-toupper: New file.
18579
18580         New module 'unicase/u8-toupper'.
18581         * lib/unicase/u8-toupper.c: New file.
18582         * modules/unicase/u8-toupper: New file.
18583
18584         New module 'unicase/u32-casemap'.
18585         * lib/unicase/u32-casemap.c: New file.
18586         * modules/unicase/u32-casemap: New file.
18587
18588         New module 'unicase/u16-casemap'.
18589         * lib/unicase/u16-casemap.c: New file.
18590         * modules/unicase/u16-casemap: New file.
18591
18592         New module 'unicase/u8-casemap'.
18593         * lib/unicase/unicasemap.h: New file.
18594         * lib/unicase/u8-casemap.c: New file.
18595         * lib/unicase/u-casemap.h: New file.
18596         * modules/unicase/u8-casemap: New file.
18597
18598         New module 'unicase/special-casing'.
18599         * lib/unicase/special-casing.h: New file.
18600         * lib/unicase/special-casing.c: New file.
18601         * lib/unicase/special-casing-table.gperf: New file, generated by
18602         gen-uni-tables.c.
18603         * modules/unicase/special-casing: New file.
18604
18605         Tests for module 'unicase/locale-language'.
18606         * modules/unicase/locale-language-tests: New file.
18607         * tests/unicase/test-locale-language.sh: New file.
18608         * tests/unicase/test-locale-language.c: New file.
18609
18610         New module 'unicase/locale-language'.
18611         * lib/unicase/locale-language.c: New file.
18612         * lib/unicase/locale-languages.gperf: New file.
18613         * modules/unicase/locale-language: New file.
18614
18615         Generate more tables for case conversion and case folding.
18616         * lib/gen-uni-tables.c (SCC_*): New enum items.
18617         (struct special_casing_rule): New type.
18618         (casing_rules, num_casing_rules, allocated_casing_rules): New
18619         variables.
18620         (add_casing_rule, fill_casing_rules): New functions.
18621         (struct casefold_rule): New type.
18622         (casefolding_rules, num_casefolding_rules,
18623         allocated_casefolding_rules): New variables.
18624         (fill_casefolding_rules): New function.
18625         (unicode_casefold): New variable.
18626         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
18627         sort_casing_rules, output_casing_rules): New functions.
18628         (main): Accept to more arguments: SpecialCasing.txt and
18629         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
18630         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
18631         Output mapping for casefolding.
18632
18633         * lib/unicase.h: Include stdbool.h, uninorm.h.
18634         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
18635         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
18636         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
18637         arguments.
18638         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
18639         resultp arguments.
18640         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
18641         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
18642         resultp arguments.
18643         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
18644         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
18645         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
18646         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
18647         declarations.
18648         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
18649
18650 2009-03-08  Bruno Haible  <bruno@clisp.org>
18651
18652         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
18653         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
18654         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
18655         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
18656
18657 2009-03-07  Bruno Haible  <bruno@clisp.org>
18658
18659         Adjust u*_normcmp, u*_normcoll API.
18660         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
18661         u16_normcoll, u32_normcoll): Change failure conventions.
18662         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
18663         errno and return -1.
18664         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
18665
18666 2009-03-07  Bruno Haible  <bruno@clisp.org>
18667
18668         Tests for module 'uninorm/u32-normcoll'.
18669         * modules/uninorm/u32-normcoll-tests: New file.
18670         * tests/uninorm/test-u32-normcoll.c: New file.
18671
18672         Tests for module 'uninorm/u16-normcoll'.
18673         * modules/uninorm/u16-normcoll-tests: New file.
18674         * tests/uninorm/test-u16-normcoll.c: New file.
18675
18676         Tests for module 'uninorm/u8-normcoll'.
18677         * modules/uninorm/u8-normcoll-tests: New file.
18678         * tests/uninorm/test-u8-normcoll.c: New file.
18679
18680 2009-03-07  Bruno Haible  <bruno@clisp.org>
18681
18682         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
18683         tests/uninorm/test-u32-normcmp.c.
18684         * tests/uninorm/test-u32-normcmp.c: Include it.
18685         (test_nonascii): New function, extracted from main. Add some more
18686         tests.
18687         (main): Invoke test_ascii and test_nonascii.
18688         * modules/uninorm/u32-normcmp-tests (Files): Add
18689         tests/uninorm/test-u32-normcmp.h.
18690         (Depends-on): Remove uninorm/u32-normcmp.
18691
18692         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
18693         tests/uninorm/test-u16-normcmp.c.
18694         * tests/uninorm/test-u16-normcmp.c: Include it.
18695         (test_nonascii): New function, extracted from main. Add some more
18696         tests.
18697         (main): Invoke test_ascii and test_nonascii.
18698         * modules/uninorm/u16-normcmp-tests (Files): Add
18699         tests/uninorm/test-u16-normcmp.h.
18700         (Depends-on): Remove uninorm/u16-normcmp.
18701
18702         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
18703         tests/uninorm/test-u8-normcmp.c.
18704         * tests/uninorm/test-u8-normcmp.c: Include it.
18705         (test_nonascii): New function, extracted from main. Add some more
18706         tests.
18707         (main): Invoke test_ascii and test_nonascii.
18708         * modules/uninorm/u8-normcmp-tests (Files): Add
18709         tests/uninorm/test-u8-normcmp.h.
18710         (Depends-on): Remove uninorm/u8-normcmp.
18711
18712 2009-03-07  Bruno Haible  <bruno@clisp.org>
18713
18714         New module 'uninorm/u32-normcoll'.
18715         * lib/uninorm/u32-normcoll.c: New file.
18716         * modules/uninorm/u32-normcoll: New file.
18717
18718         New module 'uninorm/u16-normcoll'.
18719         * lib/uninorm/u16-normcoll.c: New file.
18720         * modules/uninorm/u16-normcoll: New file.
18721
18722         New module 'uninorm/u8-normcoll'.
18723         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
18724         declarations.
18725         * lib/uninorm/u8-normcoll.c: New file.
18726         * lib/uninorm/u-normcoll.h: New file.
18727         * modules/uninorm/u8-normcoll: New file.
18728
18729         New module 'uninorm/u32-normxfrm'.
18730         * lib/uninorm/u32-normxfrm.c: New file.
18731         * modules/uninorm/u32-normxfrm: New file.
18732
18733         New module 'uninorm/u16-normxfrm'.
18734         * lib/uninorm/u16-normxfrm.c: New file.
18735         * modules/uninorm/u16-normxfrm: New file.
18736
18737         New module 'uninorm/u8-normxfrm'.
18738         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
18739         declarations.
18740         * lib/uninorm/u8-normxfrm.c: New file.
18741         * lib/uninorm/u-normxfrm.h: New file.
18742         * modules/uninorm/u8-normxfrm: New file.
18743
18744 2009-03-07  Bruno Haible  <bruno@clisp.org>
18745
18746         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
18747         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
18748         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
18749
18750 2009-03-07  Bruno Haible  <bruno@clisp.org>
18751
18752         New module 'memxfrm'.
18753         * lib/memxfrm.h: New file.
18754         * lib/memxfrm.c: New file.
18755         * modules/memxfrm: New file.
18756
18757 2009-03-07  Bruno Haible  <bruno@clisp.org>
18758
18759         New module 'memcmp2'.
18760         * lib/memcmp2.h: New file.
18761         * lib/memcmp2.c: New file.
18762         * modules/memcmp2: New file.
18763
18764 2009-03-07  Bruno Haible  <bruno@clisp.org>
18765
18766         Tests for module 'uninorm/decomposing-form'.
18767         * modules/uninorm/decomposing-form-tests: New file.
18768         * tests/uninorm/test-decomposing-form.c: New file.
18769
18770         New module 'uninorm/decomposing-form'.
18771         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
18772         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
18773         Add 'decomposing_variant' field.
18774         * lib/uninorm/decomposing-form.c: New file.
18775         * lib/uninorm/nfc.c (uninorm_nfc): Update.
18776         * lib/uninorm/nfd.c (uninorm_nfd): Update.
18777         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
18778         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
18779         * modules/uninorm/decomposing-form: New file.
18780         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
18781         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
18782
18783 2009-03-07  Bruno Haible  <bruno@clisp.org>
18784
18785         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
18786         strings.
18787
18788 2009-03-06  Bruno Haible  <bruno@clisp.org>
18789
18790         Tests for module 'uninorm/u32-normcmp'.
18791         * tests/uninorm/test-u32-normcmp.c: New file.
18792         * modules/uninorm/u32-normcmp-tests: New file.
18793
18794         Tests for module 'uninorm/u16-normcmp'.
18795         * tests/uninorm/test-u16-normcmp.c: New file.
18796         * modules/uninorm/u16-normcmp-tests: New file.
18797
18798         Tests for module 'uninorm/u8-normcmp'.
18799         * tests/uninorm/test-u8-normcmp.c: New file.
18800         * modules/uninorm/u8-normcmp-tests: New file.
18801
18802         New module 'uninorm/u32-normcmp'.
18803         * lib/uninorm/u32-normcmp.c: New file.
18804         * modules/uninorm/u32-normcmp: New file.
18805
18806         New module 'uninorm/u16-normcmp'.
18807         * lib/uninorm/u16-normcmp.c: New file.
18808         * modules/uninorm/u16-normcmp: New file.
18809
18810         New module 'uninorm/u8-normcmp'.
18811         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
18812         declarations.
18813         * lib/uninorm/u8-normcmp.c: New file.
18814         * lib/uninorm/u-normcmp.h: New file.
18815         * modules/uninorm/u8-normcmp: New file.
18816
18817 2009-03-06  Bruno Haible  <bruno@clisp.org>
18818
18819         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
18820         Reported by Eric Blake.
18821
18822 2009-03-06  Eric Blake  <ebb9@byu.net>
18823             Bruno Haible  <bruno@clisp.org>
18824
18825         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
18826         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
18827         condition.
18828         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
18829         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
18830         condition.
18831         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
18832
18833 2009-03-06  Eric Blake  <ebb9@byu.net>
18834
18835         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
18836         to avoid compiler warnings.
18837         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
18838
18839 2009-03-05  Bruno Haible  <bruno@clisp.org>
18840
18841         * tests/test-ftell.c (main): Disable test beyond end of file on
18842         FreeMiNT.
18843         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
18844
18845 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
18846
18847         * lib/filevercmp.c: Move hidden files up in ordering.
18848         * tests/test-filevercmp.c: Add tests for hidden files.
18849
18850 2009-03-04  Bruno Haible  <bruno@clisp.org>
18851
18852         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
18853         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
18854         AM_CFLAGS.
18855         Reported by Simon Josefsson.
18856
18857 2009-03-03  Bruno Haible  <bruno@clisp.org>
18858
18859         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
18860         Reported by Simon Josefsson.
18861
18862         * doc/ld-version-script.texi: Update node reference.
18863
18864 2009-03-03  Bruno Haible  <bruno@clisp.org>
18865
18866         * modules/visibility (License): Change to 'unlimited'.
18867         Suggested by Simon Josefsson.
18868
18869 2009-03-03  Jim Meyering  <meyering@redhat.com>
18870
18871         unlinkdir: cannot_unlink_dir may modify process state
18872         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
18873         it's neither thread-safe nor appropriate for use in a library.
18874
18875 2009-03-03  Eric Blake  <ebb9@byu.net>
18876
18877         test-closein: silence test under Darwin
18878         * tests/test-closein.sh: Ignore stderr from cat, since we don't
18879         care if it dies from EPIPE or EBADF.
18880
18881 2009-03-03  Bruno Haible  <bruno@clisp.org>
18882
18883         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
18884         earlier.
18885         * doc/visibility.texi: Fix @node and @section.
18886
18887 2009-03-03  Simon Josefsson  <simon@josefsson.org>
18888
18889         * doc/gnulib.texi: Link to sections for ld version script and
18890         visibility.
18891         * doc/visibility.texi: Add @node and @section.
18892         * modules/ld-version-script: New module.
18893         * m4/ld-version-script.m4: New file.
18894         * doc/ld-version-script.texi: New file.
18895
18896 2009-03-02  David Lutterkort  <lutter@redhat.com>
18897
18898         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
18899         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18900
18901 2009-03-02  Bruno Haible  <bruno@clisp.org>
18902
18903         * doc/visibility.texi: Mention libtool's -export-symbols option.
18904
18905 2009-03-02  Jim Meyering  <meyering@redhat.com>
18906
18907         announce-gen: new option: --no-print-checksums
18908         * build-aux/announce-gen (usage): Describe it.
18909         (print_checksums): Print a newline here, not in the [*] footnote.
18910         (main): Honor it.
18911
18912 2009-03-01  Bruno Haible  <bruno@clisp.org>
18913
18914         Use socklen_t in the native Windows replacements prototypes.
18915         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
18916         instead of 'int'.
18917         * lib/getsockopt.c (rpl_getsockopt): Likewise.
18918         * lib/setsockopt.c (rpl_setsockopt): Likewise.
18919         * modules/getsockopt (Depends-on): Add socklen.
18920         * modules/setsockopt (Depends-on): Add socklen.
18921
18922 2009-03-01  Bruno Haible  <bruno@clisp.org>
18923
18924         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
18925         least 4.2.
18926
18927 2009-03-01  Eric Blake  <ebb9@byu.net>
18928             Bruno Haible  <bruno@clisp.org>
18929
18930         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
18931         error messages.
18932         * lib/wait-process.c (wait_subprocess): Omit error message about
18933         deadly signal sent to the child of termsigp != NULL.
18934
18935 2009-03-01  Eric Blake  <ebb9@byu.net>
18936
18937         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
18938
18939 2009-03-01  Bruno Haible  <bruno@clisp.org>
18940
18941         Avoid a gcc warning.
18942         * tests/test-sched.c (b): Make global.
18943         Reported by Eric Blake.
18944
18945 2009-01-19  Martin Lambers  <marlam@marlam.de>
18946
18947         Provide POSIX semantics for socket timeout options on W32.
18948         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
18949         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
18950         * modules/setsockopt: Depend on sys_time module for struct timeval.
18951         * modules/getsockopt: Depend on sys_time module for struct timeval.
18952
18953 2009-03-01  Simon Josefsson  <simon@josefsson.org>
18954
18955         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
18956         __USE_GNU, for consistency with netdb.in.h.
18957         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18958
18959 2009-03-01  Bruno Haible  <bruno@clisp.org>
18960
18961         More support for FreeMiNT.
18962         * lib/fseeko.c (rpl_fseeko): Complete last commit.
18963         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18964
18965 2009-03-01  Bruno Haible  <bruno@clisp.org>
18966
18967         More support for FreeMiNT.
18968         * lib/fpurge.c (fpurge): Correct last commit.
18969         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18970
18971 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18972
18973         Fix unportable awk script in vc-list-files.
18974         * build-aux/vc-list-files: In the replacement awk script, use
18975         substr with a second argument of 1, not zero.
18976         Report by Simon Josefsson.
18977
18978 2009-02-28  Bruno Haible  <bruno@clisp.org>
18979
18980         More support for FreeMiNT.
18981         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
18982         to FreeMiNT today.
18983         * lib/fwriting.c (fwriting): Likewise.
18984         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
18985
18986 2009-02-28  Bruno Haible  <bruno@clisp.org>
18987
18988         * tests/test-freadseek.c (main): Disable test beyond end of file on
18989         FreeMiNT.
18990         * tests/test-ftello.c (main): Likewise.
18991         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
18992
18993 2009-02-28  Bruno Haible  <bruno@clisp.org>
18994
18995         Add tentative support for FreeMiNT.
18996         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
18997         * lib/fpurge.c (fpurge): Likewise.
18998         * lib/freadable.c (freadable): Likewise.
18999         * lib/freading.c (freading): Likewise.
19000         * lib/freadptr.c (freadptr): Likewise.
19001         * lib/freadseek.c (freadptrinc): Likewise.
19002         * lib/fseeko.c (rpl_fseeko): Likewise.
19003         * lib/fseterr.c (fseterr): Likewise.
19004         * lib/fwritable.c (fwritable): Likewise.
19005         * lib/fwriting.c (fwriting): Likewise.
19006         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
19007         Hourihane.
19008         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19009
19010 2009-02-28  Bruno Haible  <bruno@clisp.org>
19011
19012         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
19013         SIGCHLD.
19014         Reported by Jim Meyering.
19015
19016 2009-02-28  Bruno Haible  <bruno@clisp.org>
19017
19018         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
19019         Mention the results of these tests on various platforms.
19020         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
19021         order.
19022         * doc/posix-functions/printf.texi: Likewise.
19023         * doc/posix-functions/snprintf.texi: Likewise.
19024         * doc/posix-functions/sprintf.texi: Likewise.
19025         * doc/posix-functions/vfprintf.texi: Likewise.
19026         * doc/posix-functions/vprintf.texi: Likewise.
19027         * doc/posix-functions/vsnprintf.texi: Likewise.
19028         * doc/posix-functions/vsprintf.texi: Likewise.
19029         * doc/glibc-functions/obstack_printf.texi: Likewise.
19030         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
19031
19032 2009-02-28  Bruno Haible  <bruno@clisp.org>
19033
19034         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
19035         Reported by Loïc Minier <lool@dooz.org>.
19036
19037 2009-02-27  Bruno Haible  <bruno@clisp.org>
19038
19039         * gnulib-tool (func_import): Make the sed expression used to create the
19040         sed script for updating the .gitignore file POSIX compliant.
19041         Reported by Eric Blake.
19042
19043 2009-02-27  Bruno Haible  <bruno@clisp.org>
19044
19045         * gnulib-tool (sed): Don't alias as "sed --posix".
19046         Reported by Eric Blake.
19047
19048 2009-02-27  Bruno Haible  <bruno@clisp.org>
19049
19050         Avoid test link errors.
19051         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
19052         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
19053         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
19054         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
19055         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19056
19057 2009-02-27  Bruno Haible  <bruno@clisp.org>
19058
19059         Avoid spurious "(cached)" in configure output.
19060         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
19061         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
19062         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
19063         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
19064         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
19065         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
19066         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
19067         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
19068         Reported by Eric Blake.
19069
19070 2009-02-27  Eric Blake  <ebb9@byu.net>
19071
19072         printf: fix regression in previous patch
19073         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
19074
19075 2009-02-27  Bruno Haible  <bruno@clisp.org>
19076
19077         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
19078         value.
19079         * lib/stdint.in.h: Likewise.
19080         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
19081
19082 2009-02-27  Eric Blake  <ebb9@byu.net>
19083
19084         doc: mention more functions added in cygwin 1.7.0
19085         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
19086         addition.
19087         * doc/posix-functions/open_wmemstream.texi: Likewise.
19088         * doc/posix-functions/wcsnlen.texi: Likewise.
19089         * doc/posix-functions/wcsnrtombs.texi: Likewise.
19090         * doc/posix-functions/wcstod.texi: Likewise.
19091         * doc/posix-functions/wcstof.texi: Likewise.
19092         * doc/posix-functions/wcstoimax.texi: Likewise.
19093         * doc/posix-functions/wcstok.texi: Likewise.
19094         * doc/posix-functions/wcstoumax.texi: Likewise.
19095
19096         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
19097         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
19098         * doc/posix-functions/fprintf.texi: Update.
19099         * doc/posix-functions/printf.texi: Update.
19100         * doc/posix-functions/snprintf.texi: Update.
19101         * doc/posix-functions/sprintf.texi: Update.
19102         * doc/posix-functions/vfprintf.texi: Update.
19103         * doc/posix-functions/vprintf.texi: Update.
19104         * doc/posix-functions/vsnprintf.texi: Update.
19105         * doc/posix-functions/vsprintf.texi: Update.
19106         * doc/glibc-functions/obstack_printf.texi: Update.
19107         * doc/glibc-functions/obstack_vprintf.texi: Update.
19108
19109 2009-02-26  Eric Blake  <ebb9@byu.net>
19110
19111         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
19112         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
19113         compilation bug by using runtime conversion.
19114         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
19115         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
19116         * modules/ceill-tests (Files): Use nan.h.
19117         * modules/floorl-tests (Files): Likewise.
19118         * modules/frexpl-tests (Files): Likewise.
19119         * modules/isnanl-tests (Files): Likewise.
19120         * modules/ldexpl-tests (Files): Likewise.
19121         * modules/roundl-tests (Files): Likewise.
19122         * modules/truncl-tests (Files): Likewise.
19123         * tests/test-ceill.c (main): Use a working NaN.
19124         * tests/test-floorl.c (main): Likewise.
19125         * tests/test-frexpl.c (main): Likewise.
19126         * tests/test-isnan.c (test_long_double): Likewise.
19127         * tests/test-isnanl.h (main): Likewise.
19128         * tests/test-ldexpl.h (main): Likewise.
19129         * tests/test-roundl.h (main): Likewise.
19130         * tests/test-truncl.h (main): Likewise.
19131         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
19132
19133 2009-02-26  Eric Blake  <ebb9@byu.net>
19134             Bruno Haible  <bruno@clisp.org>
19135
19136         Work around a *printf bug with %ls on Solaris.
19137         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
19138         precision is specified, sprintf stops converting the wide string
19139         argument when the number of bytes that have been produced by this
19140         conversion equals or exceeds the precision.
19141         * doc/posix-functions/fprintf.texi: Update.
19142         * doc/posix-functions/printf.texi: Update.
19143         * doc/posix-functions/snprintf.texi: Update.
19144         * doc/posix-functions/sprintf.texi: Update.
19145         * doc/posix-functions/vfprintf.texi: Update.
19146         * doc/posix-functions/vprintf.texi: Update.
19147         * doc/posix-functions/vsnprintf.texi: Update.
19148         * doc/posix-functions/vsprintf.texi: Update.
19149         * doc/glibc-functions/obstack_printf.texi: Update.
19150         * doc/glibc-functions/obstack_vprintf.texi: Update.
19151
19152 2009-02-26  Eric Blake  <ebb9@byu.net>
19153
19154         stdlib: favor compiler check of random.h
19155         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
19156         to avoid an ObjC random.h installed by Swarm.
19157
19158 2009-02-26  Bruno Haible  <bruno@clisp.org>
19159
19160         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
19161         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
19162         Reported by Gary V. Vaughan <gary@gnu.org>.
19163
19164 2009-02-26  Bruno Haible  <bruno@clisp.org>
19165
19166         Fix *printf behaviour regarding the %ls directive.
19167         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
19168         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
19169         NEED_PRINTF_DIRECTIVE_LS.
19170         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
19171         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
19172         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
19173         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
19174         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
19175         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
19176         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
19177         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
19178         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
19179         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
19180         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
19181         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
19182         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
19183         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
19184         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
19185         * doc/posix-functions/fprintf.texi: Update.
19186         * doc/posix-functions/printf.texi: Update.
19187         * doc/posix-functions/snprintf.texi: Update.
19188         * doc/posix-functions/sprintf.texi: Update.
19189         * doc/posix-functions/vfprintf.texi: Update.
19190         * doc/posix-functions/vprintf.texi: Update.
19191         * doc/posix-functions/vsnprintf.texi: Update.
19192         * doc/posix-functions/vsprintf.texi: Update.
19193         * doc/glibc-functions/obstack_printf.texi: Update.
19194         * doc/glibc-functions/obstack_vprintf.texi: Update.
19195         Reported by Eric Blake.
19196
19197 2009-02-25  Bruno Haible  <bruno@clisp.org>
19198
19199         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
19200         with known value.
19201         Reported by Gary V. Vaughan <gary@gnu.org>.
19202
19203 2009-02-25  Bruno Haible  <bruno@clisp.org>
19204
19205         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
19206         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
19207         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
19208         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
19209         Reported by Gary V. Vaughan <gary@gnu.org>.
19210
19211 2009-02-25  Bruno Haible  <bruno@clisp.org>
19212
19213         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
19214         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
19215         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
19216         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
19217         Reported by Gary V. Vaughan <gary@gnu.org>.
19218
19219 2009-02-25  Eric Blake  <ebb9@byu.net>
19220
19221         tests: skip fseek/ftell tests if ungetc is broken
19222         * m4/ungetc.m4: New file.
19223         * modules/fseek-tests: Split test, so ungetc dependency is
19224         separate from rest of test.
19225         * modules/fseeko-tests: Likewise.
19226         * modules/ftell-tests: Likewise.
19227         * modules/ftello-tests: Likewise.
19228         * tests/test-fseek.c (main): Isolate ungetc dependency.
19229         * tests/test-fseeko.c (main): Likewise.
19230         * tests/test-ftell.c (main): Likewise.
19231         * tests/test-ftello.c (main): Likewise.
19232         * tests/test-fseek2.sh: New file.
19233         * tests/test-fseeko2.sh: Likewise.
19234         * tests/test-ftell2.sh: Likewise.
19235         * tests/test-ftello2.sh: Likewise.
19236
19237 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
19238
19239         test-getaddrinfo: fix usage of skip return code 77
19240         * tests/test-gettaddrinfo.c: Return skip code 77 only
19241         for first occurance of skip (4x77 is not 77)
19242
19243 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
19244
19245         strtod: avoid C99 decl-after-statement
19246         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
19247
19248 2009-02-24  Eric Blake  <ebb9@byu.net>
19249
19250         strtod: detect HP-UX 11.31 bug
19251         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
19252         Reported by Gary V. Vaughan.
19253
19254 2009-02-23  Bruno Haible  <bruno@clisp.org>
19255
19256         Fix invalid read past end of memory block.
19257         * lib/vasnprintf.c (DCHAR_SET): Define.
19258         (local_wcslen): Define only when needed.
19259         (local_strnlen, local_wcsnlen): New functions.
19260         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
19261         directives that involve a conversion ourselves.
19262         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
19263         wcsnlen, mbrtowc, wcrtomb.
19264         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
19265         * tests/test-vasprintf-posix.c (test_function): Likewise.
19266         * tests/test-snprintf-posix.h (test_function): Likewise.
19267         * tests/test-sprintf-posix.h (test_function): Likewise.
19268         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19269
19270 2009-02-22  Bruno Haible  <bruno@clisp.org>
19271
19272         Implement new clarified decomposition of Hangul syllables.
19273         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
19274         of type LTV, return only a pairwise decomposition.
19275         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
19276         Likewise.
19277         * tests/uninorm/test-decomposition.c (main): Updated expected result.
19278         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
19279         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
19280
19281 2009-02-22  Bruno Haible  <bruno@clisp.org>
19282
19283         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
19284         zero-length results and shrink excess allocated memory.
19285         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
19286         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
19287         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
19288         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
19289         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
19290         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
19291         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
19292         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
19293         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
19294         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
19295         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
19296         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
19297
19298 2009-02-21  Bruno Haible  <bruno@clisp.org>
19299
19300         * doc/gnulib.texi: Include safe-alloc.texi earlier.
19301         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
19302         spaces after a period. Put a space between a macro name and its
19303         argument list. Trivial rewordings.
19304         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
19305         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
19306         (main): Return 0 explicitly.
19307
19308 2009-02-21  Bruno Haible  <bruno@clisp.org>
19309
19310         Tests for module 'uninorm/filter'.
19311         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
19312         * modules/uninorm/filter-tests: New file.
19313
19314         New module 'uninorm/filter'.
19315         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
19316         uninorm_filter_flush, uninorm_filter_free): New declarations.
19317         * lib/uninorm/uninorm-filter.c: New file.
19318         * modules/uninorm/filter: New file.
19319
19320 2009-02-21  Bruno Haible  <bruno@clisp.org>
19321
19322         Tests for module 'uninorm/nfkc'.
19323         * tests/uninorm/test-nfkc.c: New file.
19324         * tests/uninorm/test-u8-nfkc.c: New file.
19325         * tests/uninorm/test-u16-nfkc.c: New file.
19326         * tests/uninorm/test-u32-nfkc.c: New file.
19327         * tests/uninorm/test-u32-nfkc-big.sh: New file.
19328         * tests/uninorm/test-u32-nfkc-big.c: New file.
19329         * modules/uninorm/nfkc-tests: New file.
19330
19331         New module 'uninorm/nfkc'.
19332         * lib/uninorm/nfkc.c: New file.
19333         * modules/uninorm/nfkc: New file.
19334
19335         Tests for module 'uninorm/nfkd'.
19336         * tests/uninorm/test-nfkd.c: New file.
19337         * tests/uninorm/test-u8-nfkd.c: New file.
19338         * tests/uninorm/test-u16-nfkd.c: New file.
19339         * tests/uninorm/test-u32-nfkd.c: New file.
19340         * tests/uninorm/test-u32-nfkd-big.sh: New file.
19341         * tests/uninorm/test-u32-nfkd-big.c: New file.
19342         * modules/uninorm/nfkd-tests: New file.
19343
19344         New module 'uninorm/nfkd'.
19345         * lib/uninorm/nfkd.c: New file.
19346         * modules/uninorm/nfkd: New file.
19347
19348         Tests for module 'uninorm/nfc'.
19349         * tests/uninorm/test-nfc.c: New file.
19350         * tests/uninorm/test-u8-nfc.c: New file.
19351         * tests/uninorm/test-u16-nfc.c: New file.
19352         * tests/uninorm/test-u32-nfc.c: New file.
19353         * tests/uninorm/test-u32-nfc-big.sh: New file.
19354         * tests/uninorm/test-u32-nfc-big.c: New file.
19355         * modules/uninorm/nfc-tests: New file.
19356
19357         New module 'uninorm/nfc'.
19358         * lib/uninorm/nfc.c: New file.
19359         * modules/uninorm/nfc: New file.
19360
19361         Tests for module 'uninorm/nfd'.
19362         * tests/uninorm/test-nfd.c: New file.
19363         * tests/uninorm/test-u8-nfd.c: New file.
19364         * tests/uninorm/test-u16-nfd.c: New file.
19365         * tests/uninorm/test-u32-nfd.c: New file.
19366         * tests/uninorm/test-u32-nfd-big.sh: New file.
19367         * tests/uninorm/test-u32-nfd-big.c: New file.
19368         * tests/uninorm/test-u32-normalize-big.h: New file.
19369         * tests/uninorm/test-u32-normalize-big.c: New file.
19370         * tests/uninorm/NormalizationTest.txt: New file, created from
19371         Unicode 5.1.0 NormalizationTest.txt.
19372         * modules/uninorm/nfd-tests: New file.
19373
19374         New module 'uninorm/nfd'.
19375         * lib/uninorm/nfd.c: New file.
19376         * modules/uninorm/nfd: New file.
19377
19378         New module 'uninorm/u32-normalize'.
19379         * lib/uninorm/u32-normalize.c: New file.
19380         * modules/uninorm/u32-normalize: New file.
19381
19382         New module 'uninorm/u16-normalize'.
19383         * lib/uninorm/u16-normalize.c: New file.
19384         * modules/uninorm/u16-normalize: New file.
19385
19386         New module 'uninorm/u8-normalize'.
19387         * lib/uninorm/u8-normalize.c: New file.
19388         * lib/uninorm/normalize-internal.h: New file.
19389         * lib/uninorm/u-normalize-internal.h: New file.
19390         * modules/uninorm/u8-normalize: New file.
19391
19392         New module 'uninorm/decompose-internal'.
19393         * lib/uninorm/decompose-internal.c: New file.
19394         * modules/uninorm/decompose-internal: New file.
19395
19396         Tests for module 'uninorm/composition'.
19397         * tests/uninorm/test-composition.c: New file.
19398         * modules/uninorm/composition-tests: New file.
19399
19400         New module 'uninorm/composition'.
19401         * lib/uninorm/composition.c: New file.
19402         * lib/uninorm/composition-table.gperf: New file, generated by
19403         gen-uni-tables.
19404         * modules/uninorm/composition: New file.
19405
19406         Tests for module 'uninorm/compat-decomposition'.
19407         * tests/uninorm/test-compat-decomposition.c: New file.
19408         * modules/uninorm/compat-decomposition-tests: New file.
19409
19410         New module 'uninorm/compat-decomposition'.
19411         * lib/uninorm/decompose-internal.h: New file.
19412         * lib/uninorm/compat-decomposition.c: New file.
19413         * modules/uninorm/compat-decomposition: New file.
19414
19415         Tests for module 'uninorm/canonical-decomposition'.
19416         * tests/uninorm/test-canonical-decomposition.c: New file.
19417         * modules/uninorm/canonical-decomposition-tests: New file.
19418
19419         New module 'uninorm/canonical-decomposition'.
19420         * lib/uninorm/canonical-decomposition.c: New file.
19421         * modules/uninorm/canonical-decomposition: New file.
19422
19423         Tests for module 'uninorm/decomposition'.
19424         * tests/uninorm/test-decomposition.c: New file.
19425         * modules/uninorm/decomposition-tests: New file.
19426
19427         New module 'uninorm/decomposition'.
19428         * lib/uninorm/decomposition.c: New file.
19429         * modules/uninorm/decomposition: New file.
19430
19431         New module 'uninorm/decomposition-table'.
19432         * lib/uninorm/decomposition-table.h: New file.
19433         * lib/uninorm/decomposition-table.c: New file.
19434         * lib/uninorm/decomposition-table1.h: New file, generated by
19435         gen-uni-tables.
19436         * lib/uninorm/decomposition-table2.h: New file, generated by
19437         gen-uni-tables.
19438         * modules/uninorm/decomposition-table: New file.
19439
19440         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
19441         (UC_DECOMP_*): New enumeration items.
19442         (get_decomposition): New function.
19443         (struct decomp_table): New type.
19444         (output_decomposition, output_decomposition_tables): New functions.
19445         (unicode_composition_exclusions): New variable.
19446         (fill_composition_exclusions, debug_output_composition_tables): New
19447         functions.
19448         (main): Accept one more argument. Invoke fill_composition_exclusions.
19449         Output decomposition and composition tables.
19450
19451         New module 'uninorm/base'.
19452         * lib/uninorm.h: New file.
19453         * lib/unictype.h: Update comment.
19454         * modules/uninorm/base: New file.
19455
19456 2009-02-21  David Lutterkort  <lutter@redhat.com>
19457
19458         Tests for module 'safe-alloc'.
19459         * tests/test-safe-alloc.c: New file.
19460         * modules/safe-alloc-tests: New file.
19461
19462         New module 'safe-alloc'.
19463         * lib/safe-alloc.h: New file.
19464         * lib/safe-alloc.c: New file.
19465         * m4/safe-alloc.m4: New file.
19466         * modules/safe-alloc: New file.
19467         * doc/safe-alloc.texi: New file.
19468         * doc/gnulib.texi: Include it.
19469         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
19470         safe-alloc.
19471
19472 2009-02-18  Bruno Haible  <bruno@clisp.org>
19473
19474         Fix link error on non-glibc systems.
19475         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
19476         variable.
19477         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19478
19479 2009-02-18  Jim Meyering  <meyering@redhat.com>
19480
19481         fts: avoid used-uninitialized error due to recent change
19482         * lib/fts.c (fts_read): Guard uses of the new member,
19483         parent->fts_n_dirs_remaining, since it's not relevant for
19484         the parent of a directory specified on the command-line.
19485
19486 2009-02-17  James Youngman  <jay@gnu.org>
19487             Bruno Haible  <bruno@clisp.org>
19488
19489         * m4/include_next.m4: Reformulate comment.
19490
19491 2009-02-16  Jim Meyering  <meyering@redhat.com>
19492
19493         fts: add #if guards so that the fts_lgpl module still builds
19494         * lib/fts.c: Guard just-added hash-table-using parts with
19495         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
19496         Reported by Simon Josefsson.
19497
19498 2009-02-15  Bruno Haible  <bruno@clisp.org>
19499
19500         * modules/array-mergesort-tests: New file.
19501         * tests/test-array-mergesort.c: New file.
19502
19503         New module 'array-mergesort'.
19504         * modules/array-mergesort: New file.
19505         * lib/array-mergesort.h: New file.
19506
19507 2009-02-15  Bruno Haible  <bruno@clisp.org>
19508
19509         Fix 2009-02-07 commit.
19510         * lib/gen-uni-tables.c (output_predicate, output_category,
19511         output_combclass, output_bidi_category, output_decimal_digit,
19512         output_digit, output_numeric, output_mirror, output_scripts,
19513         output_ident_category, output_simple_mapping): Fix format directives.
19514         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
19515
19516 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
19517
19518         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
19519         fixes are available from IBM.
19520
19521 2009-02-13  Jim Meyering  <meyering@redhat.com>
19522
19523         fts: arrange not to stat non-directories in more cases
19524         This makes GNU find (when it doesn't need to stat each file)
19525         *much* more efficient at traversing reiserfs file systems.
19526         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
19527         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
19528         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
19529         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
19530         (leaf_optimization_applies): New function.
19531         (LCO_hash, LCO_compare): New helper functions.
19532         (link_count_optimize_ok): New function.
19533         (fts_stat): Initialize new member (if dir).
19534         (fts_read): Decrement parent's fts_n_dirs_remaining count if
19535         we've just stat'ed a directory.  Skip the stat call when possible.
19536         ---
19537         Note this AFS-related exchange:
19538         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
19539         and note find's pioctl call in find/fstype.c.
19540         But that is necessary only if you want to enable the
19541         optimization for AFS, and for now, I don't.
19542
19543         fts: move a function definition "up" (no semantic change)
19544         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
19545         "up" to precede upcoming use of a related function.
19546
19547 2009-02-11  Jim Meyering  <meyering@redhat.com>
19548
19549         fts: correct internal computation of nlinks (optimization-related)
19550         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
19551         whether the current entry is a directory, so don't test it.
19552
19553 2009-02-10  Bruno Haible  <bruno@clisp.org>
19554
19555         Tests for module 'uniwbrk/ulc-wordbreaks'.
19556         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
19557         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
19558         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
19559
19560         Tests for module 'uniwbrk/u32-wordbreaks'.
19561         * modules/uniwbrk/u32-wordbreaks-tests: New file.
19562         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
19563
19564         Tests for module 'uniwbrk/u16-wordbreaks'.
19565         * modules/uniwbrk/u16-wordbreaks-tests: New file.
19566         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
19567
19568         Tests for module 'uniwbrk/u8-wordbreaks'.
19569         * modules/uniwbrk/u8-wordbreaks-tests: New file.
19570         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
19571
19572 2009-02-10  Bruno Haible  <bruno@clisp.org>
19573
19574         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
19575         property.
19576         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
19577         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
19578         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
19579
19580 2009-02-10  Simon Josefsson  <simon@josefsson.org>
19581
19582         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
19583         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
19584
19585 2009-02-10  Bruno Haible  <bruno@clisp.org>
19586
19587         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
19588         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
19589         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
19590         * lib/unilbrk/u8-possible-linebreaks.c: Update.
19591         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
19592         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
19593
19594 2009-02-09  Simon Josefsson  <simon@josefsson.org>
19595
19596         * lib/sockets.h (gl_fd_to_handle): New function.
19597
19598         * tests/test-sockets.c: Call gl_fd_to_handle.
19599
19600 2009-02-09  Bruno Haible  <bruno@clisp.org>
19601
19602         * doc/havelib.texi: Document the conventions on bi-arch systems.
19603
19604 2009-02-08  Bruno Haible  <bruno@clisp.org>
19605
19606         Document the AC_LIB_LINKFLAGS macro.
19607         * doc/havelib.texi: New file, mostly written on 2005-05-24.
19608         * doc/gnulib.texi: Include it.
19609
19610 2009-02-08  Bruno Haible  <bruno@clisp.org>
19611
19612         Fix wrong order of sections, compared to TOC.
19613         * doc/gnulib.texi: Include relocatable-maint.texi after the
19614         "Regular expressions" node, not before.
19615
19616 2009-02-08  Bruno Haible  <bruno@clisp.org>
19617
19618         Tests for module 'unicase/totitle'.
19619         * modules/unicase/totitle-tests: New file.
19620
19621         Tests for module 'unicase/tolower'.
19622         * modules/unicase/tolower-tests: New file.
19623
19624         Tests for module 'unicase/toupper'.
19625         * modules/unicase/toupper-tests: New file.
19626         * tests/unicase/test-mapping-part1.h: New file.
19627         * tests/unicase/test-mapping-part2.h: New file.
19628
19629         New module 'unicase/totitle'.
19630         * modules/unicase/totitle: New file.
19631         * lib/unicase/totitle.c: New file.
19632
19633         New module 'unicase/tolower'.
19634         * modules/unicase/tolower: New file.
19635         * lib/unicase/tolower.c: New file.
19636
19637         New module 'unicase/toupper'.
19638         * modules/unicase/toupper: New file.
19639         * lib/unicase/toupper.c: New file.
19640         * lib/unicase/simple-mapping.h: New file.
19641
19642         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
19643         (mapping_table): New structure.
19644         (output_simple_mapping): New function.
19645         (main): Invoke output_simple_mapping_test and output_simple_mapping.
19646         * modules/gen-uni-tables (Description): Update.
19647         * lib/unicase/toupper.h: New file, automatically generated by
19648         gen-uni-tables.
19649         * lib/unicase/tolower.h: New file, automatically generated by
19650         gen-uni-tables.
19651         * lib/unicase/totitle.h: New file, automatically generated by
19652         gen-uni-tables.
19653         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
19654         gen-uni-tables.
19655         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
19656         gen-uni-tables.
19657         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
19658         gen-uni-tables.
19659
19660         New module 'unicase/base'.
19661         * modules/unicase/base: New file.
19662         * lib/unicase.h: New file.
19663
19664 2009-02-08  Bruno Haible  <bruno@clisp.org>
19665
19666         New module 'uniwbrk/ulc-wordbreaks'.
19667         * modules/uniwbrk/ulc-wordbreaks: New file.
19668         * lib/uniwbrk/ulc-wordbreaks.c: New file.
19669
19670         New module 'uniwbrk/u32-wordbreaks'.
19671         * modules/uniwbrk/u32-wordbreaks: New file.
19672         * lib/uniwbrk/u32-wordbreaks.c: New file.
19673
19674         New module 'uniwbrk/u16-wordbreaks'.
19675         * modules/uniwbrk/u16-wordbreaks: New file.
19676         * lib/uniwbrk/u16-wordbreaks.c: New file.
19677
19678         New module 'uniwbrk/u8-wordbreaks'.
19679         * modules/uniwbrk/u8-wordbreaks: New file.
19680         * lib/uniwbrk/u8-wordbreaks.c: New file.
19681         * lib/uniwbrk/u-wordbreaks.h: New file.
19682
19683         New module 'uniwbrk/table'.
19684         * modules/uniwbrk/table: New file.
19685         * lib/uniwbrk/wbrktable.h: New file.
19686         * lib/uniwbrk/wbrktable.c: New file.
19687
19688         New module 'uniwbrk/wordbreak-property'.
19689         * modules/uniwbrk/wordbreak-property: New file.
19690         * lib/uniwbrk/wordbreak-property.c: New file.
19691
19692         * lib/gen-uni-tables.c (WBP_*): New enum items.
19693         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
19694         (unicode_org_wbp): New variable.
19695         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
19696         New functions.
19697         (wbp_table): New structure.
19698         (output_wbp, output_wbrk_tables): New functions.
19699         (main): Accept additional argument. Invoke fill_org_wbp,
19700         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
19701         output_wbrk_tables.
19702         * modules/gen-uni-tables (Description): Update.
19703         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
19704         gen-uni-tables.
19705
19706         New module 'uniwbrk/base'.
19707         * modules/uniwbrk/base: New file.
19708         * lib/uniwbrk.h: New file.
19709
19710 2009-02-08  Bruno Haible  <bruno@clisp.org>
19711
19712         Update to Unicode 5.1.0.
19713         * lib/gen-uni-tables.c (is_property_alphabetic): Include
19714         U+2185..U+2188.
19715         (is_property_default_ignorable_code_point): Don't include characters
19716         of category Cc or Cs and not-a-characters.
19717         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
19718         U+0D79, U+109E, U+109F, U+A60C.
19719         * lib/unictype/bidi_of.h: Regenerated.
19720         * lib/unictype/blocks.h: Regenerated.
19721         * lib/unictype/categ_C.h: Regenerated.
19722         * lib/unictype/categ_Cf.h: Regenerated.
19723         * lib/unictype/categ_Cn.h: Regenerated.
19724         * lib/unictype/categ_L.h: Regenerated.
19725         * lib/unictype/categ_Ll.h: Regenerated.
19726         * lib/unictype/categ_Lm.h: Regenerated.
19727         * lib/unictype/categ_Lo.h: Regenerated.
19728         * lib/unictype/categ_Lu.h: Regenerated.
19729         * lib/unictype/categ_M.h: Regenerated.
19730         * lib/unictype/categ_Mc.h: Regenerated.
19731         * lib/unictype/categ_Me.h: Regenerated.
19732         * lib/unictype/categ_Mn.h: Regenerated.
19733         * lib/unictype/categ_N.h: Regenerated.
19734         * lib/unictype/categ_Nd.h: Regenerated.
19735         * lib/unictype/categ_Nl.h: Regenerated.
19736         * lib/unictype/categ_No.h: Regenerated.
19737         * lib/unictype/categ_P.h: Regenerated.
19738         * lib/unictype/categ_Pd.h: Regenerated.
19739         * lib/unictype/categ_Pe.h: Regenerated.
19740         * lib/unictype/categ_Pf.h: Regenerated.
19741         * lib/unictype/categ_Pi.h: Regenerated.
19742         * lib/unictype/categ_Po.h: Regenerated.
19743         * lib/unictype/categ_Ps.h: Regenerated.
19744         * lib/unictype/categ_S.h: Regenerated.
19745         * lib/unictype/categ_Sk.h: Regenerated.
19746         * lib/unictype/categ_Sm.h: Regenerated.
19747         * lib/unictype/categ_So.h: Regenerated.
19748         * lib/unictype/categ_of.h: Regenerated.
19749         * lib/unictype/combining.h: Regenerated.
19750         * lib/unictype/ctype_alnum.h: Regenerated.
19751         * lib/unictype/ctype_alpha.h: Regenerated.
19752         * lib/unictype/ctype_graph.h: Regenerated.
19753         * lib/unictype/ctype_lower.h: Regenerated.
19754         * lib/unictype/ctype_print.h: Regenerated.
19755         * lib/unictype/ctype_punct.h: Regenerated.
19756         * lib/unictype/ctype_upper.h: Regenerated.
19757         * lib/unictype/decdigit.h: Regenerated.
19758         * lib/unictype/digit.h: Regenerated.
19759         * lib/unictype/mirror.h: Regenerated.
19760         * lib/unictype/numeric.h: Regenerated.
19761         * lib/unictype/pr_alphabetic.h: Regenerated.
19762         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
19763         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
19764         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
19765         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
19766         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
19767         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
19768         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
19769         * lib/unictype/pr_combining.h: Regenerated.
19770         * lib/unictype/pr_dash.h: Regenerated.
19771         * lib/unictype/pr_decimal_digit.h: Regenerated.
19772         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
19773         * lib/unictype/pr_deprecated.h: Regenerated.
19774         * lib/unictype/pr_diacritic.h: Regenerated.
19775         * lib/unictype/pr_extender.h: Regenerated.
19776         * lib/unictype/pr_format_control.h: Regenerated.
19777         * lib/unictype/pr_grapheme_base.h: Regenerated.
19778         * lib/unictype/pr_grapheme_extend.h: Regenerated.
19779         * lib/unictype/pr_grapheme_link.h: Regenerated.
19780         * lib/unictype/pr_id_continue.h: Regenerated.
19781         * lib/unictype/pr_id_start.h: Regenerated.
19782         * lib/unictype/pr_ideographic.h: Regenerated.
19783         * lib/unictype/pr_ignorable_control.h: Regenerated.
19784         * lib/unictype/pr_lowercase.h: Regenerated.
19785         * lib/unictype/pr_math.h: Regenerated.
19786         * lib/unictype/pr_numeric.h: Regenerated.
19787         * lib/unictype/pr_other_alphabetic.h: Regenerated.
19788         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
19789         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
19790         * lib/unictype/pr_other_id_continue.h: Regenerated.
19791         * lib/unictype/pr_other_lowercase.h: Regenerated.
19792         * lib/unictype/pr_other_math.h: Regenerated.
19793         * lib/unictype/pr_punctuation.h: Regenerated.
19794         * lib/unictype/pr_sentence_terminal.h: Regenerated.
19795         * lib/unictype/pr_soft_dotted.h: Regenerated.
19796         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
19797         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
19798         * lib/unictype/pr_unified_ideograph.h: Regenerated.
19799         * lib/unictype/pr_uppercase.h: Regenerated.
19800         * lib/unictype/pr_xid_continue.h: Regenerated.
19801         * lib/unictype/pr_xid_start.h: Regenerated.
19802         * lib/unictype/pr_zero_width.h: Regenerated.
19803         * lib/unictype/scripts.h: Regenerated.
19804         * lib/unictype/scripts_byname.gperf: Regenerated.
19805         * lib/unictype/sy_java_ident.h: Regenerated.
19806         * lib/unilbrk/lbrkprop1.h: Regenerated.
19807         * lib/unilbrk/lbrkprop2.h: Regenerated.
19808         * tests/unictype/test-categ_C.c: Regenerated.
19809         * tests/unictype/test-categ_Cf.c: Regenerated.
19810         * tests/unictype/test-categ_Cn.c: Regenerated.
19811         * tests/unictype/test-categ_L.c: Regenerated.
19812         * tests/unictype/test-categ_Ll.c: Regenerated.
19813         * tests/unictype/test-categ_Lm.c: Regenerated.
19814         * tests/unictype/test-categ_Lo.c: Regenerated.
19815         * tests/unictype/test-categ_Lu.c: Regenerated.
19816         * tests/unictype/test-categ_M.c: Regenerated.
19817         * tests/unictype/test-categ_Mc.c: Regenerated.
19818         * tests/unictype/test-categ_Me.c: Regenerated.
19819         * tests/unictype/test-categ_Mn.c: Regenerated.
19820         * tests/unictype/test-categ_N.c: Regenerated.
19821         * tests/unictype/test-categ_Nd.c: Regenerated.
19822         * tests/unictype/test-categ_Nl.c: Regenerated.
19823         * tests/unictype/test-categ_No.c: Regenerated.
19824         * tests/unictype/test-categ_P.c: Regenerated.
19825         * tests/unictype/test-categ_Pd.c: Regenerated.
19826         * tests/unictype/test-categ_Pe.c: Regenerated.
19827         * tests/unictype/test-categ_Pf.c: Regenerated.
19828         * tests/unictype/test-categ_Pi.c: Regenerated.
19829         * tests/unictype/test-categ_Po.c: Regenerated.
19830         * tests/unictype/test-categ_Ps.c: Regenerated.
19831         * tests/unictype/test-categ_S.c: Regenerated.
19832         * tests/unictype/test-categ_Sk.c: Regenerated.
19833         * tests/unictype/test-categ_Sm.c: Regenerated.
19834         * tests/unictype/test-categ_So.c: Regenerated.
19835         * tests/unictype/test-ctype_alnum.c: Regenerated.
19836         * tests/unictype/test-ctype_alpha.c: Regenerated.
19837         * tests/unictype/test-ctype_graph.c: Regenerated.
19838         * tests/unictype/test-ctype_lower.c: Regenerated.
19839         * tests/unictype/test-ctype_print.c: Regenerated.
19840         * tests/unictype/test-ctype_punct.c: Regenerated.
19841         * tests/unictype/test-ctype_upper.c: Regenerated.
19842         * tests/unictype/test-decdigit.h: Regenerated.
19843         * tests/unictype/test-digit.h: Regenerated.
19844         * tests/unictype/test-numeric.h: Regenerated.
19845         * tests/unictype/test-pr_alphabetic.c: Regenerated.
19846         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
19847         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
19848         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
19849         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
19850         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
19851         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
19852         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
19853         * tests/unictype/test-pr_combining.c: Regenerated.
19854         * tests/unictype/test-pr_dash.c: Regenerated.
19855         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
19856         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
19857         * tests/unictype/test-pr_deprecated.c: Regenerated.
19858         * tests/unictype/test-pr_diacritic.c: Regenerated.
19859         * tests/unictype/test-pr_extender.c: Regenerated.
19860         * tests/unictype/test-pr_format_control.c: Regenerated.
19861         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
19862         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
19863         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
19864         * tests/unictype/test-pr_id_continue.c: Regenerated.
19865         * tests/unictype/test-pr_id_start.c: Regenerated.
19866         * tests/unictype/test-pr_ideographic.c: Regenerated.
19867         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
19868         * tests/unictype/test-pr_lowercase.c: Regenerated.
19869         * tests/unictype/test-pr_math.c: Regenerated.
19870         * tests/unictype/test-pr_numeric.c: Regenerated.
19871         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
19872         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
19873         Regenerated.
19874         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
19875         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
19876         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
19877         * tests/unictype/test-pr_other_math.c: Regenerated.
19878         * tests/unictype/test-pr_punctuation.c: Regenerated.
19879         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
19880         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
19881         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
19882         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
19883         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
19884         * tests/unictype/test-pr_uppercase.c: Regenerated.
19885         * tests/unictype/test-pr_xid_continue.c: Regenerated.
19886         * tests/unictype/test-pr_xid_start.c: Regenerated.
19887         * tests/unictype/test-pr_zero_width.c: Regenerated.
19888
19889         Update to Unicode 5.1.0.
19890         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
19891         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
19892         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
19893         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
19894         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
19895         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
19896         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
19897         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
19898         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
19899         (nonspacing_table_ind): Update.
19900         * tests/uniwidth/test-uc_width2.sh: Update expected result.
19901
19902         Update to Unicode 5.1.0.
19903         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
19904         code transform.
19905         * lib/uniname/uniname.c (unicode_character_name,
19906         unicode_name_character): Add the range 0x1Fxxx to the code transform.
19907         * lib/uniname/uninames.h: Regenerated.
19908         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
19909
19910 2009-02-07  Bruno Haible  <bruno@clisp.org>
19911
19912         Merge gen-ctype and gen-lbrk into a single program.
19913         * lib/gen-uni-tables.c: New file, incorporating
19914         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
19915         Add directory prefixes to the names of the generated files.
19916         * lib/unictype/gen-ctype.c: Remove file.
19917         * lib/unilbrk/gen-lbrk.c: Remove file.
19918         * modules/gen-uni-tables: New file.
19919         * modules/unictype/gen-ctype: Remove file.
19920         * modules/unilbrk/gen-lbrk: Remove file.
19921
19922 2009-02-07  Bruno Haible  <bruno@clisp.org>
19923
19924         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
19925
19926         New module 'unistr/u32-strcoll'.
19927         * modules/unistr/u32-strcoll: New file.
19928         * lib/unistr/u32-strcoll.c: New file.
19929
19930         New module 'unistr/u16-strcoll'.
19931         * modules/unistr/u16-strcoll: New file.
19932         * lib/unistr/u16-strcoll.c: New file.
19933
19934         New module 'unistr/u8-strcoll'.
19935         * modules/unistr/u8-strcoll: New file.
19936         * lib/unistr/u8-strcoll.c: New file.
19937         * lib/unistr/u-strcoll.h: New file.
19938
19939 2009-02-07  Bruno Haible  <bruno@clisp.org>
19940
19941         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
19942         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
19943         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
19944         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
19945         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
19946         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
19947
19948 2009-02-07  Bruno Haible  <bruno@clisp.org>
19949
19950         Make 64-bit clean.
19951         * lib/unictype/gen-ctype.c (output_predicate, output_category,
19952         output_combclass, output_bidi_category, output_decimal_digit,
19953         output_digit, output_numeric, output_mirror, output_scripts,
19954         output_ident_category): Use proper width specifier in format strings.
19955
19956 2009-02-07  Bruno Haible  <bruno@clisp.org>
19957
19958         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
19959         failure behaviour.
19960
19961 2009-02-07  Jim Meyering  <meyering@redhat.com>
19962
19963         regex: avoid compilation failure with upcoming gcc-4.4
19964         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
19965         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
19966         "... error: integer overflow in preprocessor expression".
19967
19968 2009-02-05  Ben Pfaff  <blp@gnu.org>
19969
19970         Fix link errors on Windows when close module is used.
19971         * modules/close: Add $(LIB_CLOSE) to Link section.
19972         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
19973         $(LIB_CLOSE) on Windows.
19974
19975 2009-02-05  Jim Meyering  <meyering@redhat.com>
19976
19977         still avoid unused-parameter warnings, but do it cleanly
19978         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
19979         (get_fs_usage): Cast to void instead.
19980         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
19981         (dev_from_mount_options, read_file_system_list): Cast to void.
19982         Prompted by Bruno Haible.
19983
19984 2009-02-04  Jim Meyering  <meyering@redhat.com>
19985
19986         fsusage.c: correct copyright year
19987         * lib/fsusage.c: Reflect year in which the change is pushed into
19988
19989         avoid misc. warnings
19990         * lib/fsusage.c (UNUSED_PARAM): Define.
19991         (get_fs_usage): Mark parameter "disk" as unused.
19992         * lib/getugroups.c (getgrent): Use "void" in prototype.
19993         * lib/mountlist.c: Mark unused parameters.
19994         (read_file_system_list): Declare a local with "const".
19995         * lib/nanosleep.c (getnow): Declare static.
19996         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
19997
19998         dirfd: set errno upon failure
19999         * lib/dirfd.c: Include <errno.h>.
20000         Set errno to ENOTSUP when returning -1.
20001         * modules/dirfd (Depends-on): Add errno.
20002         Suggested by John Kodis <kodis@comcast.net>.
20003
20004 2009-02-01  Bruno Haible  <bruno@clisp.org>
20005
20006         Don't assume sizeof (long) >= sizeof (void *).
20007         * lib/memcmp.c: Include stdint.h.
20008         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
20009         srcp2 to 'const byte *'.
20010         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
20011         types to uintptr_t.
20012         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
20013         * modules/memcmp (Depends-on): Add stdint.
20014         Reported by Ozkan Sezer <sezeroz@gmail.com>.
20015
20016 2009-01-30  Eric Blake  <ebb9@byu.net>
20017
20018         fix more require-before-expand issues
20019         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
20020         expand, AC_PROG_AWK.
20021         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
20022
20023 2009-01-28  Eric Blake  <ebb9@byu.net>
20024
20025         version-etc: use consistent URL formatting
20026         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
20027         Improve formatting.  Use fputs for string without %.
20028
20029 2009-01-28  Jim Meyering  <meyering@redhat.com>
20030
20031         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
20032         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
20033         "underquoted definition of NAME" from autoconf-2.59.
20034
20035 2009-01-28  Bruno Haible  <bruno@clisp.org>
20036
20037         * doc/gnulib.texi: Add "Obsolete modules" to index.
20038
20039 2009-01-28  Jim Meyering  <meyering@redhat.com>
20040
20041         useless-if-before-free: recognize more variants
20042         * build-aux/useless-if-before-free: Also recognize e.g.,
20043         if (NULL != p) free (p);
20044
20045 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
20046
20047         test-getaddrinfo: skip (don't fail) this test when there's no network
20048         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
20049         on the presumption that it means you lack network access.
20050
20051 2009-01-26  Jim Meyering  <meyering@redhat.com>
20052
20053         fflush: avoid warnings on modern systems
20054         * lib/fflush.c (rpl_fflush): Move declarations of locals,
20055         pos and result, into scopes where they're used.
20056
20057 2009-01-26  Eric Blake  <ebb9@byu.net>
20058
20059         Silence warning reintroduced by recent extensions patch.
20060         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
20061         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
20062         autoconf.
20063
20064         Backport improved autoconf semantics of AC_DEFUN_ONCE.
20065         * m4/00gnulib.m4: New file.
20066         * gnulib-tool (func_get_filelist): Always use it.
20067         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
20068         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
20069
20070 2009-01-25  Bruno Haible  <bruno@clisp.org>
20071
20072         Make test-quotearg work on MacOS X and AIX.
20073         * tests/test-quotearg.sh: New file.
20074         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
20075         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
20076         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
20077         include <libintl.h>.
20078         (fake_locale): Remove variable.
20079         (gettext, dgettext, dcgettext): Remove functions.
20080         (main): Instead of setting a fake locale, set a real locale. Call
20081         textdomain and bindtextdomain.
20082         * modules/quotearg-tests (Files): Add the new files.
20083         (Depends-on): Add gettext, setenv, unsetenv.
20084         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
20085         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
20086         Augment TESTS_ENVIRONMENT.
20087
20088 2009-01-25  Bruno Haible  <bruno@clisp.org>
20089
20090         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
20091         fr_FR.ISO8859-1 locale on MacOS X.
20092         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
20093         ja_JP.eucJP locale on MacOS X.
20094         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
20095         zh_CN.GB18030 locale on MacOS X.
20096
20097 2009-01-25  Bruno Haible  <bruno@clisp.org>
20098
20099         Avoid link errors on MacOS X 10.3.
20100         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
20101         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
20102
20103 2009-01-25  Bruno Haible  <bruno@clisp.org>
20104
20105         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
20106         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
20107         * modules/pipe (Files): Remove m4/posix_spawn.m4.
20108         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
20109         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
20110         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
20111         posix_spawnattr_init, posix_spawnattr_setsigmask,
20112         posix_spawnattr_setflags, posix_spawnattr_destroy.
20113
20114         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
20115         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
20116         * modules/execute (Files): Remove m4/posix_spawn.m4.
20117         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
20118         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
20119         posix_spawnattr_init, posix_spawnattr_setsigmask,
20120         posix_spawnattr_setflags, posix_spawnattr_destroy.
20121
20122 2009-01-25  Bruno Haible  <bruno@clisp.org>
20123
20124         * lib/glthread/threadlib.c: Include <stdlib.h>.
20125
20126 2009-01-25  Bruno Haible  <bruno@clisp.org>
20127
20128         * lib/glthread/threadlib.c (dummy): New declaration.
20129
20130 2009-01-25  Bruno Haible  <bruno@clisp.org>
20131
20132         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
20133         multibyte characters also for the GB18030 encoding. Don't crash when
20134         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
20135
20136 2009-01-25  Bruno Haible  <bruno@clisp.org>
20137
20138         Avoid redefining 'struct random_data' on OSF/1 5.1.
20139         * lib/stdlib.in.h: Include <random.h> if it exists.
20140         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
20141         HAVE_RANDOM_H. Include <random.h> when testing whether
20142         'struct random_data' exists.
20143         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
20144
20145 2009-01-25  Bruno Haible  <bruno@clisp.org>
20146
20147         Don't install charset.alias on MacOS X >= 10.3.
20148         * lib/localcharset.c (DARWIN7): New macro.
20149         (get_charset_aliases): Hardcode the result for Darwin7.
20150         * modules/localcharset (install-exec-local): Don't install
20151         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
20152
20153 2009-01-25  Bruno Haible  <bruno@clisp.org>
20154
20155         Don't install charset.alias on mingw and Cygwin.
20156         * modules/localcharset (install-exec-local): Don't install
20157         charset.alias on mingw and Cygwin, if the file does not yet exist.
20158         The result for these platforms is hardcoded in localcharset.c.
20159
20160 2009-01-25  Bruno Haible  <bruno@clisp.org>
20161
20162         Make it possible again to use AC_GNU_SOURCE together with gnulib.
20163         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
20164         before requiring AC_USE_SYSTEM_EXTENSIONS.
20165
20166 2009-01-25  Jim Meyering  <meyering@redhat.com>
20167
20168         c-strtod: avoid warnings
20169         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
20170         "assignment discards qualifiers from pointer target type" warnings.
20171
20172 2009-01-24  Bruno Haible  <bruno@clisp.org>
20173
20174         Add support for non-UTF-8 locales on MacOS X.
20175         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
20176         canonical encodings. For Darwin 7 and newer, don't map traditional
20177         encodings to UTF-8.
20178         Reported by Vincent Lefevre <vincent@vinc17.org>
20179         at <http://savannah.gnu.org/bugs/?25235>.
20180
20181 2009-01-24  Bruno Haible  <bruno@clisp.org>
20182
20183         * doc/gnulib.texi (Obsolete modules): New section.
20184         Reported by Mike Frysinger <vapier@gentoo.org>.
20185
20186 2009-01-24  Bruno Haible  <bruno@clisp.org>
20187
20188         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
20189         (%.dvi): New rule.
20190
20191 2009-01-24  Bruno Haible  <bruno@clisp.org>
20192
20193         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
20194         Reported by Eric Blake.
20195
20196 2009-01-24  Bruno Haible  <bruno@clisp.org>
20197
20198         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
20199         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
20200         Reported by Gary V. Vaughan <gary@gnu.org>.
20201
20202 2009-01-24  Bruno Haible  <bruno@clisp.org>
20203
20204         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
20205
20206 2009-01-23  Bruno Haible  <bruno@clisp.org>
20207
20208         Make c-strtod, c-strtold usable in libraries.
20209         * lib/c-strtod.c: Include string.h instead of xalloc.h.
20210         (C_STRTOD): Call strdup instead of xstrdup.
20211         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
20212         * modules/c-strtold (Depends-on): Likewise.
20213         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
20214         * NEWS: Mention the change.
20215         Reported by Michael Gold <mgold@ncf.ca>.
20216
20217 2009-01-23  Jim Meyering  <meyering@redhat.com>
20218
20219         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
20220         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
20221         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
20222
20223 2009-01-23  Simon Josefsson  <simon@josefsson.org>
20224
20225         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
20226         GNU CoreUtils.
20227         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
20228         * modules/version-etc (Description): Update.
20229
20230 2009-01-22  Bruno Haible  <bruno@clisp.org>
20231
20232         Cache the C locale object.
20233         * lib/c-strtod.c (c_locale_cache): New variable.
20234         (c_locale): New function.
20235         (C_STRTOD): Use it, and don't call freelocale.
20236         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
20237         Suggested by Paolo Bonzini.
20238
20239 2009-01-21  Bruno Haible  <bruno@clisp.org>
20240
20241         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
20242         conditions other than overflow.
20243
20244 2009-01-21  Bruno Haible  <bruno@clisp.org>
20245
20246         * lib/c-strtod.c: Include errno.h.
20247         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
20248         value from STRTOD_L and STRTOD.
20249
20250 2009-01-21  Bruno Haible  <bruno@clisp.org>
20251         and Jim Meyering  <meyering@redhat.com>
20252
20253         nanosleep: skip configure test (fail it) for apple universal builds
20254         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
20255         universal builds, assume that nanosleep does not work.
20256         * modules/nanosleep (Depends-on): Add multiarch.
20257
20258         mktime: skip configure test (fail it) for apple universal builds
20259         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
20260         universal builds, assume that mktime does not work.
20261         * modules/mktime (Depends-on): Add multiarch.
20262
20263 2009-01-21  Eric Blake  <ebb9@byu.net>
20264
20265         multiarch: avoid expand-before-require warning
20266         * modules/multiarch (configure.ac): Require, rather than expand,
20267         gl_MULTIARCH.
20268         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
20269         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
20270         enforce that all clients require it.  Partial reversion of
20271         2008-12-29 patch.
20272
20273         error: avoid expand-before-require warning
20274         * modules/errno (configure.ac): Require, rather than expand,
20275         gl_HEADER_ERRNO_H.
20276         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
20277         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
20278         enforce that all clients require it.
20279
20280         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
20281         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
20282         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
20283         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
20284
20285 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
20286
20287         Revert:
20288         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
20289
20290         regex: do not depend on obsolete modules.
20291         * modules/regex: Remove memcmp and memmove.
20292
20293 2009-01-20  Bruno Haible  <bruno@clisp.org>
20294
20295         Make the 'link' module link on Windows NT 4.
20296         * lib/link.c (_WIN32_WINNT): Don't define.
20297         (CreateHardLinkFuncType): New type.
20298         (CreateHardLinkFunc, initialized): New variables.
20299         (initialize): New function.
20300         (link): Invoke CreateHardLink indirectly through the function pointer.
20301
20302 2009-01-20  Bruno Haible  <bruno@clisp.org>
20303
20304         Fix compilation failure on mingw.
20305         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
20306
20307 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
20308
20309         * doc/c-strtod.texi: Mention a couple of restrictions.
20310
20311 2009-01-20  Jim Meyering  <meyering@redhat.com>
20312
20313         gettimeofday: move more declarations out of functions
20314         * lib/gettimeofday.c: Move extern declarations of tzset and
20315         gmtime out of containing functions.  Prompted by Bruno Haible.
20316
20317 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
20318
20319         regex: do not depend on obsolete modules.
20320         * modules/regex: Remove memcmp and memmove.
20321
20322 2009-01-19  Bruno Haible  <bruno@clisp.org>
20323
20324         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
20325         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
20326         gl_BIGENDIAN, not AC_C_BIGENDIAN.
20327         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
20328         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
20329
20330 2009-01-19  Bruno Haible  <bruno@clisp.org>
20331
20332         * tests/test-link.c: Include <errno.h>.
20333         (main): Exit with code 77 when a hard link cannot be created due to
20334         the file system.
20335         * tests/test-link.sh: Skip test when a hard link cannot be created due
20336         to the file system.
20337         Suggested by Eric Blake.
20338
20339 2009-01-19  Martin Lambers  <marlam@marlam.de>
20340
20341         * modules/link-tests: New file.
20342         * tests/test-link.sh: New file.
20343         * tests/test-link.c: New file.
20344
20345 2009-01-19  Eric Blake  <ebb9@byu.net>
20346
20347         doc: mention another function added in cygwin 1.7.0
20348         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
20349         Another new function in cygwin 1.7.
20350
20351 2009-01-19  Bruno Haible  <bruno@clisp.org>
20352
20353         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
20354         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
20355         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
20356         gl_BIGENDIAN, not AC_C_BIGENDIAN.
20357         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20358         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
20359         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20360         * m4/md4.m4 (gl_MD4): Likewise.
20361         * m4/md5.m4 (gl_MD5): Likewise.
20362         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
20363         * m4/sha1.m4 (gl_SHA1): Likewise.
20364         * m4/sha256.m4 (gl_SHA256): Likewise.
20365         * m4/sha512.m4 (gl_SHA512): Likewise.
20366
20367 2009-01-19  Bruno Haible  <bruno@clisp.org>
20368
20369         * modules/uniname/uniname-tests (Depends-on): Add progname.
20370         * tests/uniname/test-uninames.c: Include progname.h.
20371         (main): Call set_program_name.
20372
20373         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
20374         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
20375         (main): Call set_program_name.
20376
20377         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
20378         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
20379         (main): Call set_program_name.
20380
20381         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
20382         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
20383         (main): Call set_program_name.
20384
20385         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
20386         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
20387         (main): Call set_program_name.
20388
20389         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
20390         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
20391         (main): Call set_program_name.
20392
20393         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
20394         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
20395         (main): Call set_program_name.
20396
20397         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
20398         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
20399         (main): Call set_program_name.
20400
20401         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
20402         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
20403         (main): Call set_program_name.
20404
20405 2009-01-19  Eric Blake  <ebb9@byu.net>
20406
20407         test-unistd: test previous patch
20408         * tests/test-unistd.c: Test *_FILENO macros.
20409
20410         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
20411         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20412         Guarantee a definition.
20413         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
20414         * modules/unistd-safer (Depends-on): Add dependency on unistd.
20415         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
20416         * lib/dup-safer.c (STDERR_FILENO): Likewise.
20417         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20418         Likewise.
20419         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
20420         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
20421         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20422         Likewise.
20423         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
20424         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
20425         (STDERR_FILENO): Likewise.
20426         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
20427         (STDERR_FILENO): Likewise.
20428         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
20429         (STDERR_FILENO): Likewise.
20430         Reported by Elbert Pol.
20431
20432 2009-01-19  Eric Blake  <ebb9@byu.net>
20433
20434         doc: mention more functions added in cygwin 1.7.0
20435         * doc/posix-functions/abort.texi (abort): Update wording related
20436         to cygwin.
20437         * doc/posix-functions/daylight.texi (daylight): Likewise.
20438         * doc/posix-functions/optarg.texi (optarg): Likewise.
20439         * doc/posix-functions/optarg.texi (opterr): Likewise.
20440         * doc/posix-functions/optarg.texi (optind): Likewise.
20441         * doc/posix-functions/optarg.texi (optopt): Likewise.
20442         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
20443         worked in 1.5.x, and was withdrawn in 1.7.
20444         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
20445         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
20446         cygwin versions.
20447         * doc/posix-functions/perror.texi (perror): Likewise.
20448         * doc/posix-functions/printf.texi (printf): Likewise.
20449         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
20450         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
20451         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20452         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20453         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
20454         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
20455         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
20456         Likewise.
20457         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
20458         Likewise.
20459         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
20460         this function.
20461         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
20462         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
20463         Likewise.
20464         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
20465         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
20466         * doc/posix-functions/confstr.texi (confstr): Likewise.
20467         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
20468         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
20469         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
20470         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
20471         * doc/posix-functions/fputws.texi (fputws): Likewise.
20472         * doc/posix-functions/fwide.texi (fwide): Likewise.
20473         * doc/posix-functions/getwc.texi (getwc): Likewise.
20474         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
20475         * doc/posix-functions/putwc.texi (putwc): Likewise.
20476         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
20477         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
20478         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
20479         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
20480         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
20481         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
20482         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
20483         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
20484         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
20485         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
20486         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
20487
20488 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
20489
20490         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
20491         * lib/ioctl.c: Include <sys/ioctl.h>.
20492
20493 2009-01-19  Simon Josefsson  <simon@josefsson.org>
20494
20495         * modules/getdate-tests (Depends-on): Add progname.
20496         * tests/test-getdate.c: Use progname module, to avoid link errors
20497         on non-glibc systems.
20498
20499 2009-01-18  Simon Josefsson  <simon@josefsson.org>
20500
20501         * modules/filenamecat-tests (Depends-on): Add progname.
20502         * modules/fstrcmp-tests (Depends-on): Likewise.
20503
20504         * tests/test-filenamecat.c: Use progname module, to avoid link
20505         errors on non-glibc systems.
20506         * tests/test-fstrcmp.c: Likewise.
20507
20508 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
20509
20510         gettimeofday: avoid warning: nested extern declaration of 'localtime'
20511         * lib/gettimeofday.c: Move extern declaration out of function.
20512
20513 2009-01-18  Bruno Haible  <bruno@clisp.org>
20514
20515         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
20516         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
20517         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
20518
20519 2009-01-18  Bruno Haible  <bruno@clisp.org>
20520
20521         * lib/strftime.c (MEMPCPY): Remove unused macro.
20522         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
20523
20524 2009-01-18  Martin Lambers  <marlam@marlam.de>
20525
20526         New module 'link'.
20527         * lib/unistd.in.h (link): New declaration.
20528         * lib/link.c: New file.
20529         * m4/link.m4: New file.
20530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
20531         HAVE_LINK.
20532         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
20533         * modules/link: New file.
20534         * doc/posix-functions/link.texi: Mention the new module.
20535
20536 2009-01-18  Bruno Haible  <bruno@clisp.org>
20537
20538         * tests/test-avltree_list.c (main): Call set_program_name.
20539         * tests/test-avltree_oset.c (main): Likewise.
20540         * tests/test-obstack-printf.c: Include progname.h.
20541         (main): Call set_program_name.
20542         * tests/test-quotearg.c: Include progname.h.
20543         (main): Call set_program_name.
20544         * tests/test-xmemdup0.c: Include progname.h.
20545         (main): Call set_program_name.
20546
20547 2009-01-18  Bruno Haible  <bruno@clisp.org>
20548
20549         New module 'alphasort'.
20550         * lib/dirent.in.h (alphasort): New declaration.
20551         * lib/alphasort.c: New file, from glibc with modifications.
20552         * m4/alphasort.m4: New file.
20553         * modules/alphasort: New file.
20554         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
20555         HAVE_ALPHASORT.
20556         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
20557         HAVE_ALPHASORT.
20558         * doc/posix-functions/alphasort.texi: Mention the new module and the
20559         portability problems.
20560
20561 2009-01-18  Bruno Haible  <bruno@clisp.org>
20562
20563         New module 'scandir'.
20564         * lib/dirent.in.h (scandir): New declaration.
20565         * lib/scandir.c: New file, from glibc with modifications.
20566         * m4/scandir.m4: New file.
20567         * modules/scandir: New file.
20568         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
20569         HAVE_SCANDIR.
20570         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
20571         HAVE_SCANDIR.
20572         * doc/posix-functions/scandir.texi: Mention the new module and the
20573         portability problems.
20574
20575 2009-01-17  Bruno Haible  <bruno@clisp.org>
20576
20577         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
20578         Update documentation.
20579         (func_remove_suffix): Escape all dots in the suffix. Update
20580         documentation.
20581         (func_filter_filelist): Update documentation.
20582         Reported by Ralf Wildenhues.
20583
20584 2009-01-17  Bruno Haible  <bruno@clisp.org>
20585
20586         * modules/dprintf-posix-tests: New file.
20587         * tests/test-dprintf-posix.sh: New file.
20588         * tests/test-dprintf-posix.c: New file.
20589
20590         New modules 'dprintf', 'dprintf-posix'.
20591         * lib/stdio.in.h (dprintf): New declaration.
20592         * lib/dprintf.c: New file.
20593         * m4/dprintf.m4: New file.
20594         * m4/dprintf-posix.m4: New file.
20595         * modules/dprintf: New file.
20596         * modules/dprintf-posix: New file.
20597         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
20598         HAVE_DPRINTF, REPLACE_DPRINTF.
20599         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
20600         HAVE_DPRINTF, REPLACE_DPRINTF.
20601         * doc/posix-functions/dprintf.texi: Mention the new modules.
20602
20603 2009-01-17  Bruno Haible  <bruno@clisp.org>
20604
20605         * modules/vdprintf-posix-tests: New file.
20606         * tests/test-vdprintf-posix.sh: New file.
20607         * tests/test-vdprintf-posix.c: New file.
20608
20609         New modules 'vdprintf', 'vdprintf-posix'.
20610         * lib/stdio.in.h (vdprintf): New declaration.
20611         * lib/vdprintf.c: New file.
20612         * m4/vdprintf.m4: New file.
20613         * m4/vdprintf-posix.m4: New file.
20614         * modules/vdprintf: New file.
20615         * modules/vdprintf-posix: New file.
20616         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
20617         HAVE_VDPRINTF, REPLACE_VDPRINTF.
20618         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
20619         HAVE_VDPRINTF, REPLACE_VDPRINTF.
20620         * doc/posix-functions/vdprintf.texi: Mention the new modules.
20621
20622 2009-01-17  Bruno Haible  <bruno@clisp.org>
20623
20624         Fix replacement of fopen on mingw.
20625         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
20626         mingw.
20627
20628 2009-01-17  Bruno Haible  <bruno@clisp.org>
20629
20630         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
20631         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
20632
20633 2009-01-17  Bruno Haible  <bruno@clisp.org>
20634
20635         Avoid test-fflush2.sh failure on mingw.
20636         * tests/test-fflush2.c: Include binary-io.h.
20637         (main): Put standard input into binary mode.
20638         * modules/fflush-tests (Depends-on): Add binary-io.
20639
20640 2009-01-17  Bruno Haible  <bruno@clisp.org>
20641
20642         * lib/wchar.in.h: In another particular situation, include only the
20643         system's <wchar.h> file.
20644         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
20645         Reported by Albert Chin-A-Young <china@thewrittenword.com>
20646         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
20647
20648 2009-01-17  Bruno Haible  <bruno@clisp.org>
20649
20650         Support for stripping executables in --enable-relocatable.
20651         * build-aux/install-reloc: Expect one more argument, or an environment
20652         variable RELOC_STRIP_PROG. If set, strip the destination program and
20653         its wrapper.
20654         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
20655         RELOC_STRIP_PROG.
20656         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
20657         to set RELOCATABLE_STRIP.
20658         * NEWS: Mention the new Makefile requirement.
20659
20660 2009-01-17  Bruno Haible  <bruno@clisp.org>
20661
20662         * build-aux/install-reloc: Remove debugging information left over by
20663         C compiler on MacOS X.
20664
20665 2009-01-17  Bruno Haible  <bruno@clisp.org>
20666
20667         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
20668         * lib/progreloc.c (find_executable): Fix type of pointer passed to
20669         _NSGetExecutablePath.
20670
20671 2009-01-16  Jim Meyering  <meyering@redhat.com>
20672
20673         strerror: avoid warnings about discarding "const"
20674         * lib/strerror.c (rpl_strerror): Instead of returning a const
20675         string from each and every "case", use a variable, and add a single
20676         cast after the switch.
20677
20678 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
20679
20680         * lib/arpa_inet.in.h: Add extern "C" block for C++.
20681
20682 2009-01-16  Bruno Haible  <bruno@clisp.org>
20683
20684         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
20685         array initializer syntax that also works in C++ mode.
20686         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20687
20688 2009-01-16  Jim Meyering  <meyering@redhat.com>
20689
20690         poll: suppress a warning
20691         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
20692         to ignore "...unsigned expression < 0 is always false" warnings.
20693
20694 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
20695
20696         poll: remove declarations of unused variables
20697         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
20698         sockbuf and optlen.
20699
20700 2009-01-15  Bruno Haible  <bruno@clisp.org>
20701
20702         Make fflush-after-ungetc POSIX compliant on BSD systems.
20703         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
20704         (clear_ungetc_buffer): Implement also for other systems.
20705         (rpl_fflush): On glibc systems, invoke
20706         clear_ungetc_buffer_preserving_position. Otherwise, invoke
20707         clear_ungetc_buffer after fetching the stream's position, not before.
20708
20709 2009-01-15  Bruno Haible  <bruno@clisp.org>
20710
20711         Make fflush-after-ungetc POSIX compliant on glibc systems.
20712         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
20713         after ungetc.
20714         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
20715         (rpl_fflush): On glibc systems, simply call the system's fflush
20716         function after clearing the ungetc buffer.
20717         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
20718         Instead, lseek only to the end of file, then use the system's fseeko
20719         for the rest. On glibc systems, reset the EOF indicator bit.
20720
20721 2009-01-15  Jim Meyering  <meyering@redhat.com>
20722
20723         openmp.m4: revert quote-adding change, for portability to older autoconf
20724         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
20725         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
20726         Simon Josefsson noticed the problem when using autoconf-2.61.
20727
20728 2009-01-15  Bruno Haible  <bruno@clisp.org>
20729
20730         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
20731         * tests/test-fflush2.c (ASSERT): Always fail.
20732         (main): Add two tests for fflush() after ungetc(), taking into account
20733         the Austin Group's clarification.
20734         Suggested by Eric Blake.
20735
20736 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
20737
20738         mktime.m4: remove K&R-style function prototypes
20739         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
20740         for the Sun C++ compiler.
20741
20742 2009-01-14  Bruno Haible  <bruno@clisp.org>
20743
20744         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
20745         while including <wchar.h>.
20746         * lib/wchar.in.h: In two particular situations on HP-UX, include only
20747         the system's <wchar.h> file.
20748         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20749
20750 2009-01-14  Bruno Haible  <bruno@clisp.org>
20751
20752         * m4/csharp.m4: Don't mention gettext on the serial number line.
20753         * m4/csharpexec.m4: Likewise.
20754         * m4/eaccess.m4: Likewise.
20755         * m4/javaexec.m4: Likewise.
20756         * m4/sig_atomic_t.m4: Likewise.
20757         * m4/tmpdir.m4: Likewise.
20758         * m4/intldir.m4: Bump gettext version.
20759         * m4/lib-ld.m4: Likewise.
20760
20761 2009-01-14  Bruno Haible  <bruno@clisp.org>
20762
20763         * lib/progname.c (set_program_name): Add more comments.
20764         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
20765
20766 2009-01-14  Simon Josefsson  <simon@josefsson.org>
20767
20768         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
20769         were sys/stat.h does not define it.
20770
20771 2009-01-14  Jim Meyering  <meyering@redhat.com>
20772
20773         many *.m4 files: improve m4 quoting
20774         99% of this change was performed by running the following commands:
20775         git ls-files | grep '\.m4$' | xargs perl -pi \
20776           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
20777           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
20778           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
20779           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
20780         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
20781         The remainder were to add Copyright dates, increment serial numbers,
20782         undo some changes in comments, exclude m4/intl.m4, and add quotes
20783         around the "1" in ",1" where the unusual spacing prohibited the
20784         above regexps from doing the job.  For more details, see
20785         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
20786         * m4/acl.m4: Modified.
20787         * m4/afs.m4: Likewise.
20788         * m4/alloca.m4: Likewise.
20789         * m4/argp.m4: Likewise.
20790         * m4/argz.m4: Likewise.
20791         * m4/atexit.m4: Likewise.
20792         * m4/bison-i18n.m4: Likewise.
20793         * m4/bison.m4: Likewise.
20794         * m4/byteswap.m4: Likewise.
20795         * m4/c-stack.m4: Likewise.
20796         * m4/c-strtod.m4: Likewise.
20797         * m4/calloc.m4: Likewise.
20798         * m4/canonicalize-lgpl.m4: Likewise.
20799         * m4/chown.m4: Likewise.
20800         * m4/clock_time.m4: Likewise.
20801         * m4/codeset.m4: Likewise.
20802         * m4/copy-file.m4: Likewise.
20803         * m4/csharp.m4: Likewise.
20804         * m4/csharpcomp.m4: Likewise.
20805         * m4/csharpexec.m4: Likewise.
20806         * m4/d-ino.m4: Likewise.
20807         * m4/d-type.m4: Likewise.
20808         * m4/dirfd.m4: Likewise.
20809         * m4/double-slash-root.m4: Likewise.
20810         * m4/eaccess.m4: Likewise.
20811         * m4/eealloc.m4: Likewise.
20812         * m4/environ.m4: Likewise.
20813         * m4/errno_h.m4: Likewise.
20814         * m4/euidaccess.m4: Likewise.
20815         * m4/execute.m4: Likewise.
20816         * m4/fatal-signal.m4: Likewise.
20817         * m4/fchdir.m4: Likewise.
20818         * m4/fcntl_h.m4: Likewise.
20819         * m4/fileblocks.m4: Likewise.
20820         * m4/filenamecat.m4: Likewise.
20821         * m4/findprog.m4: Likewise.
20822         * m4/flexmember.m4: Likewise.
20823         * m4/fnmatch.m4: Likewise.
20824         * m4/fopen.m4: Likewise.
20825         * m4/fpending.m4: Likewise.
20826         * m4/fprintf-posix.m4: Likewise.
20827         * m4/free.m4: Likewise.
20828         * m4/frexp.m4: Likewise.
20829         * m4/frexpl.m4: Likewise.
20830         * m4/fsusage.m4: Likewise.
20831         * m4/ftruncate.m4: Likewise.
20832         * m4/gc-camellia.m4: Likewise.
20833         * m4/gc-random.m4: Likewise.
20834         * m4/gc.m4: Likewise.
20835         * m4/getaddrinfo.m4: Likewise.
20836         * m4/getcwd-abort-bug.m4: Likewise.
20837         * m4/getcwd-path-max.m4: Likewise.
20838         * m4/getdate.m4: Likewise.
20839         * m4/getdomainname.m4: Likewise.
20840         * m4/getgroups.m4: Likewise.
20841         * m4/gethostname.m4: Likewise.
20842         * m4/gethrxtime.m4: Likewise.
20843         * m4/getline.m4: Likewise.
20844         * m4/getloadavg.m4: Likewise.
20845         * m4/getndelim2.m4: Likewise.
20846         * m4/getpass.m4: Likewise.
20847         * m4/gettext.m4: Likewise.
20848         * m4/gettime.m4: Likewise.
20849         * m4/gettimeofday.m4: Likewise.
20850         * m4/gnulib-common.m4: Likewise.
20851         * m4/group-member.m4: Likewise.
20852         * m4/host-os.m4: Likewise.
20853         * m4/iconv.m4: Likewise.
20854         * m4/iconv_open.m4: Likewise.
20855         * m4/inet_ntop.m4: Likewise.
20856         * m4/inet_pton.m4: Likewise.
20857         * m4/inline.m4: Likewise.
20858         * m4/intldir.m4: Likewise.
20859         * m4/intlmacosx.m4: Likewise.
20860         * m4/intmax.m4: Likewise.
20861         * m4/intmax_t.m4: Likewise.
20862         * m4/inttypes.m4: Likewise.
20863         * m4/inttypes_h.m4: Likewise.
20864         * m4/inttypes-pri.m4: Likewise.
20865         * m4/isapipe.m4: Likewise.
20866         * m4/isnand.m4: Likewise.
20867         * m4/isnanf.m4: Likewise.
20868         * m4/isnanl.m4: Likewise.
20869         * m4/javacomp.m4: Likewise.
20870         * m4/javaexec.m4: Likewise.
20871         * m4/jm-winsz1.m4: Likewise.
20872         * m4/jm-winsz2.m4: Likewise.
20873         * m4/lchown.m4: Likewise.
20874         * m4/lcmessage.m4: Likewise.
20875         * m4/ldexpl.m4: Likewise.
20876         * m4/lib-ld.m4: Likewise.
20877         * m4/lib-link.m4: Likewise.
20878         * m4/libsigsegv.m4: Likewise.
20879         * m4/link-follow.m4: Likewise.
20880         * m4/localcharset.m4: Likewise.
20881         * m4/locale-fr.m4: Likewise.
20882         * m4/locale-ja.m4: Likewise.
20883         * m4/locale-tr.m4: Likewise.
20884         * m4/locale-zh.m4: Likewise.
20885         * m4/lock.m4: Likewise.
20886         * m4/longlong.m4: Likewise.
20887         * m4/ls-mntd-fs.m4: Likewise.
20888         * m4/lstat.m4: Likewise.
20889         * m4/malloc.m4: Likewise.
20890         * m4/mathl.m4: Likewise.
20891         * m4/mbrtowc.m4: Likewise.
20892         * m4/mbstate_t.m4: Likewise.
20893         * m4/mbswidth.m4: Likewise.
20894         * m4/memchr.m4: Likewise.
20895         * m4/memcmp.m4: Likewise.
20896         * m4/memcpy.m4: Likewise.
20897         * m4/memmem.m4: Likewise.
20898         * m4/memmove.m4: Likewise.
20899         * m4/mempcpy.m4: Likewise.
20900         * m4/memrchr.m4: Likewise.
20901         * m4/memset.m4: Likewise.
20902         * m4/minmax.m4: Likewise.
20903         * m4/mkdir-slash.m4: Likewise.
20904         * m4/mkdtemp.m4: Likewise.
20905         * m4/mktime.m4: Likewise.
20906         * m4/mmap-anon.m4: Likewise.
20907         * m4/mountlist.m4: Likewise.
20908         * m4/nanosleep.m4: Likewise.
20909         * m4/nls.m4: Likewise.
20910         * m4/nocrash.m4: Likewise.
20911         * m4/open.m4: Likewise.
20912         * m4/openat.m4: Likewise.
20913         * m4/openmp.m4: Likewise.
20914         * m4/pathmax.m4: Likewise.
20915         * m4/perl.m4: Likewise.
20916         * m4/physmem.m4: Likewise.
20917         * m4/pipe.m4: Likewise.
20918         * m4/po.m4: Likewise.
20919         * m4/poll.m4: Likewise.
20920         * m4/posixtm.m4: Likewise.
20921         * m4/posixver.m4: Likewise.
20922         * m4/printf-frexp.m4: Likewise.
20923         * m4/printf-frexpl.m4: Likewise.
20924         * m4/printf-posix.m4: Likewise.
20925         * m4/printf-posix-rpl.m4: Likewise.
20926         * m4/printf.m4: Likewise.
20927         * m4/progtest.m4: Likewise.
20928         * m4/putenv.m4: Likewise.
20929         * m4/readline.m4: Likewise.
20930         * m4/readlink.m4: Likewise.
20931         * m4/readutmp.m4: Likewise.
20932         * m4/realloc.m4: Likewise.
20933         * m4/regex.m4: Likewise.
20934         * m4/relocatable.m4: Likewise.
20935         * m4/relocatable-lib.m4: Likewise.
20936         * m4/rename-dest-slash.m4: Likewise.
20937         * m4/rename.m4: Likewise.
20938         * m4/rmdir-errno.m4: Likewise.
20939         * m4/rmdir.m4: Likewise.
20940         * m4/roundf.m4: Likewise.
20941         * m4/roundl.m4: Likewise.
20942         * m4/rpmatch.m4: Likewise.
20943         * m4/save-cwd.m4: Likewise.
20944         * m4/selinux-selinux-h.m4: Likewise.
20945         * m4/setenv.m4: Likewise.
20946         * m4/settime.m4: Likewise.
20947         * m4/sig2str.m4: Likewise.
20948         * m4/sig_atomic_t.m4: Likewise.
20949         * m4/signalblocking.m4: Likewise.
20950         * m4/signbit.m4: Likewise.
20951         * m4/sigpipe.m4: Likewise.
20952         * m4/sockets.m4: Likewise.
20953         * m4/sockpfaf.m4: Likewise.
20954         * m4/st_dm_mode.m4: Likewise.
20955         * m4/stat-time.m4: Likewise.
20956         * m4/stdbool.m4: Likewise.
20957         * m4/stdint.m4: Likewise.
20958         * m4/stdint_h.m4: Likewise.
20959         * m4/stpcpy.m4: Likewise.
20960         * m4/stpncpy.m4: Likewise.
20961         * m4/strcase.m4: Likewise.
20962         * m4/strchrnul.m4: Likewise.
20963         * m4/strcspn.m4: Likewise.
20964         * m4/strdup.m4: Likewise.
20965         * m4/strftime.m4: Likewise.
20966         * m4/strndup.m4: Likewise.
20967         * m4/strnlen.m4: Likewise.
20968         * m4/strpbrk.m4: Likewise.
20969         * m4/strptime.m4: Likewise.
20970         * m4/strsep.m4: Likewise.
20971         * m4/strtod.m4: Likewise.
20972         * m4/strtoimax.m4: Likewise.
20973         * m4/strtok_r.m4: Likewise.
20974         * m4/strtol.m4: Likewise.
20975         * m4/strtoll.m4: Likewise.
20976         * m4/strtoul.m4: Likewise.
20977         * m4/strtoull.m4: Likewise.
20978         * m4/strtoumax.m4: Likewise.
20979         * m4/strverscmp.m4: Likewise.
20980         * m4/threadlib.m4: Likewise.
20981         * m4/timegm.m4: Likewise.
20982         * m4/tm_gmtoff.m4: Likewise.
20983         * m4/tmpdir.m4: Likewise.
20984         * m4/tmpfile.m4: Likewise.
20985         * m4/tzset.m4: Likewise.
20986         * m4/uintmax_t.m4: Likewise.
20987         * m4/unlinkdir.m4: Likewise.
20988         * m4/unlocked-io.m4: Likewise.
20989         * m4/uptime.m4: Likewise.
20990         * m4/userspec.m4: Likewise.
20991         * m4/utimbuf.m4: Likewise.
20992         * m4/utime.m4: Likewise.
20993         * m4/utimes-null.m4: Likewise.
20994         * m4/utimes.m4: Likewise.
20995         * m4/vararrays.m4: Likewise.
20996         * m4/vasnprintf.m4: Likewise.
20997         * m4/vfprintf-posix.m4: Likewise.
20998         * m4/vprintf-posix.m4: Likewise.
20999         * m4/wait-process.m4: Likewise.
21000         * m4/wchar_t.m4: Likewise.
21001         * m4/wint_t.m4: Likewise.
21002         * m4/write-any-file.m4: Likewise.
21003         * m4/yield.m4: Likewise.
21004
21005 2009-01-13  Bruno Haible  <bruno@clisp.org>
21006
21007         Avoid test-copy-file.sh failures when ACL support insufficient.
21008         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
21009         TESTS_ENVIRONMENT.
21010         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
21011         Reported by Jim Meyering.
21012
21013 2009-01-13  Bruno Haible  <bruno@clisp.org>
21014
21015         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
21016         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
21017         * modules/unistdio/u8-printf-parse (Files): Likewise.
21018         * modules/unistdio/u32-printf-parse (Files): Likewise.
21019         * modules/unistdio/ulc-printf-parse (Files): Likewise.
21020
21021 2009-01-13  Simon Josefsson  <simon@josefsson.org>
21022
21023         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
21024         and m4/inttypes_h.m4 too.
21025
21026 2009-01-12  Eric Blake  <ebb9@byu.net>
21027
21028         tests: IRIX 6.2 cc can't compile -0.0 into .data
21029         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
21030         rather than at compile-time.
21031         * tests/test-floorl.c (minus_zero): Likewise.
21032         * tests/test-frexpl.c (minus_zero): Likewise.
21033         * tests/test-isnan.c (minus_zerol): Likewise.
21034         * tests/test-isnanl.h (minus_zero): Likewise.
21035         * tests/test-ldexpl.c (minus_zero): Likewise.
21036         * tests/test-roundl.c (minus_zero): Likewise.
21037         * tests/test-signbit.c (minus_zerol): Likewise.
21038         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
21039         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
21040         * tests/test-truncl.c (minus_zero): Likewise.
21041         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
21042         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
21043         Reported by Tom G. Christensen and Nelson H. F. Beebe.
21044
21045 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21046
21047         regex: fix glibc bug 9697
21048         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
21049         handling.
21050
21051 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21052
21053         regex: fix glibc bug 697
21054         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
21055         being NULL also if there are no backreferences.
21056
21057 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21058
21059         regex: merge glibc changes
21060         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
21061         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
21062         re_string_skip_chars, re_string_reconstruct): Likewise.
21063         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
21064
21065 2009-01-07  Jim Meyering  <meyering@redhat.com>
21066
21067         poll: filter through cppi
21068         * lib/poll.c: Indent cpp directives to reflect nesting.
21069
21070 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
21071
21072         poll: don't return uninitialized
21073         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
21074
21075 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
21076
21077         avoid compile failure on AIX 6.1
21078         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
21079         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
21080
21081 2009-01-04  Jim Meyering  <meyering@redhat.com>
21082
21083         remove duplicate inclusion of <stdio.h>
21084         * tests/test-fprintf-posix.c: Likewise.
21085         * tests/test-printf-posix.c: Likewise.
21086         * tests/test-snprintf-posix.c: Likewise.
21087         * tests/test-sprintf-posix.c: Likewise.
21088         * tests/test-vasprintf-posix.c: Likewise.
21089         * tests/test-vfprintf-posix.c: Likewise.
21090         * tests/test-vprintf-posix.c: Likewise.
21091         * tests/test-vsnprintf-posix.c: Likewise.
21092         * tests/test-vsprintf-posix.c: Likewise.
21093
21094 2009-01-03  Jim Meyering  <meyering@redhat.com>
21095
21096         gnulib-tool: fix sed-based filtering
21097         * gnulib-tool (func_filter_filelist): Remove extra backslash
21098         in sed_fff_filter definition.
21099
21100 2009-01-02  Jim Meyering  <meyering@redhat.com>
21101
21102         strftime: avoid compilation failure on Solaris 2.6
21103         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
21104         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
21105         Don't #define mbrlen or mbsinit, since now they're guaranteed to
21106         be available.  Reported by Tom G. Christensen.  Details in
21107         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
21108
21109 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21110             Bruno Haible  <bruno@clisp.org>
21111
21112         Speed up gnulib-tool by doing more string processing through shell
21113         built-ins.
21114         * gnulib-tool (fast_func_append): New variable.
21115         (func_remove_prefix, func_remove_suffix): New functions.
21116         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
21117         (func_filter_filelist): New function.
21118         (func_get_dependencies): Use func_remove_suffix instead of sed.
21119         (func_get_automake_snippet): Use func_filter_filelist instead of a
21120         subshell and sed invocation.
21121
21122 2009-01-01  Bruno Haible  <bruno@clisp.org>
21123
21124         Fix a security bug.
21125         * gnulib-tool (func_import, import, update): Don't allow the characters
21126         '"', '$', '`', '\' in macro arguments that become part of commands that
21127         are evaluated.
21128
21129 2009-01-01  Bruno Haible  <bruno@clisp.org>
21130
21131         * gnulib-tool (func_reset_sigpipe): Add more comments.
21132
21133 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21134
21135         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
21136         func_emit_tests_Makefile_am, func_import): Abort loops early if we
21137         already know the answer.
21138
21139 2009-01-01  Jim Meyering  <meyering@redhat.com>
21140
21141         * lib/version-etc.c (version_etc_va): Update copyright year.
21142
21143 2008-12-30  Bruno Haible  <bruno@clisp.org>
21144
21145         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
21146         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
21147         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
21148
21149 2008-12-29  Eric Blake  <ebb9@byu.net>
21150
21151         multiarch: avoid autoconf AC_REQUIRE bug
21152         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
21153         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
21154         2.63 and older.
21155         Reported by Bruno Haible, and analyzed in
21156         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
21157
21158 2008-12-29  Bruno Haible  <bruno@clisp.org>
21159
21160         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
21161         files in subdirectories correctly.
21162         Reported by Ralf Wildenhues.
21163
21164 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21165
21166         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
21167         rather than 'join FILE -', for Solaris join.
21168
21169 2008-12-29  Bruno Haible  <bruno@clisp.org>
21170
21171         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
21172         quoting.
21173         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
21174         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
21175         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
21176         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
21177         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21178         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
21179         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
21180         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
21181         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
21182         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
21183         * m4/nls.m4 (AM_NLS): Likewise.
21184         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
21185         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
21186         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
21187         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
21188         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
21189         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
21190         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
21191         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
21192         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
21193         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
21194         * m4/xsize.m4 (gl_XSIZE): Likewise.
21195         Suggested by Jim Meyering.
21196
21197 2008-11-17  Bruce Korb  <bkorb@gnu.org>
21198
21199         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
21200         * lib/parse-duration.c: use a switch instead of cascading if's.
21201
21202 2008-12-29  Eric Blake  <ebb9@byu.net>
21203
21204         wchar.h: supply WEOF on Irix 5.3
21205         * lib/wchar.in.h (wint_t): Also supply WEOF.
21206         * lib/wctype.in.h (wint_t): Likewise.
21207         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
21208         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
21209         Reported by Tom G. Christensen.
21210
21211 2008-12-26  Bruno Haible  <bruno@clisp.org>
21212
21213         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
21214         i486, i586, i686.
21215
21216 2008-12-26  Bruno Haible  <bruno@clisp.org>
21217
21218         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
21219
21220 2008-12-26  Bruno Haible  <bruno@clisp.org>
21221
21222         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
21223         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
21224         not __STDC_CONSTANT_MACROS.
21225         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
21226
21227 2008-12-25  Bruno Haible  <bruno@clisp.org>
21228
21229         Add support for universal builds to vasnprintf.
21230         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
21231         universal builds, guess no.
21232         * modules/vasnprintf-posix (Depends-on): Add multiarch.
21233         * modules/vasprintf-posix (Depends-on): Likewise.
21234         * modules/fprintf-posix (Depends-on): Likewise.
21235         * modules/vfprintf-posix (Depends-on): Likewise.
21236         * modules/snprintf-posix (Depends-on): Likewise.
21237         * modules/vsnprintf-posix (Depends-on): Likewise.
21238         * modules/sprintf-posix (Depends-on): Likewise.
21239         * modules/vsprintf-posix (Depends-on): Likewise.
21240         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21241         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21242         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21243         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21244         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21245         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21246         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21247
21248         Add support for universal builds to <inttypes.h>.
21249         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
21250         _SCNu64_PREFIX): In Apple
21251         universal builds, define directly, using _LP64.
21252         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
21253         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
21254         * modules/inttypes (Depends-on): Add multiarch.
21255         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
21256
21257         Add support for universal builds to <stdint.h>.
21258         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
21259         universal builds, define directly, using _LP64.
21260         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
21261         Apple universal builds, don't test for the size and suffix of ptrdiff_t
21262         and size_t.
21263         * modules/stdint (Depends-on): Add multiarch.
21264         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
21265
21266         New module 'multiarch'.
21267         * modules/multiarch: New file.
21268         * m4/multiarch.m4: New file.
21269
21270 2008-12-25  Bruno Haible  <bruno@clisp.org>
21271
21272         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
21273
21274 2008-12-25  Bruno Haible  <bruno@clisp.org>
21275
21276         * modules/btowc (License): Relicense under LGPLv2+.
21277         * modules/mbsinit (License): Likewise.
21278         * modules/mbrtowc (License): Likewise.
21279         * modules/wcrtomb (License): Likewise.
21280         * modules/streq (License): Likewise.
21281         Reported by David Lutterkort <lutter@redhat.com>.
21282
21283 2008-12-23  Bruno Haible  <bruno@clisp.org>
21284
21285         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
21286
21287 2008-12-23  Bruno Haible  <bruno@clisp.org>
21288
21289         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
21290         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
21291         GETADDRINFO_LIB, not in LIBS.
21292         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
21293         * modules/canon-host (Link): Likewise.
21294         * NEWS: Mention the change.
21295         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
21296         GETADDRINFO_LIB.
21297
21298 2008-12-22  Bruno Haible  <bruno@clisp.org>
21299
21300         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
21301         * doc/posix-functions/iswalpha_l.texi: Likewise.
21302         * doc/posix-functions/iswblank_l.texi: Likewise.
21303         * doc/posix-functions/iswcntrl_l.texi: Likewise.
21304         * doc/posix-functions/iswctype_l.texi: Likewise.
21305         * doc/posix-functions/iswdigit_l.texi: Likewise.
21306         * doc/posix-functions/iswgraph_l.texi: Likewise.
21307         * doc/posix-functions/iswlower_l.texi: Likewise.
21308         * doc/posix-functions/iswprint_l.texi: Likewise.
21309         * doc/posix-functions/iswpunct_l.texi: Likewise.
21310         * doc/posix-functions/iswspace_l.texi: Likewise.
21311         * doc/posix-functions/iswupper_l.texi: Likewise.
21312         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21313         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
21314         * doc/posix-functions/open_wmemstream.texi: Likewise.
21315         * doc/posix-functions/swscanf.texi: Likewise.
21316         * doc/posix-functions/towctrans_l.texi: Likewise.
21317         * doc/posix-functions/towlower.texi: Likewise.
21318         * doc/posix-functions/towlower_l.texi: Likewise.
21319         * doc/posix-functions/towupper.texi: Likewise.
21320         * doc/posix-functions/towupper_l.texi: Likewise.
21321         * doc/posix-functions/vfwprintf.texi: Likewise.
21322         * doc/posix-functions/vfwscanf.texi: Likewise.
21323         * doc/posix-functions/vswscanf.texi: Likewise.
21324         * doc/posix-functions/vwprintf.texi: Likewise.
21325         * doc/posix-functions/vwscanf.texi: Likewise.
21326         * doc/posix-functions/wcpcpy.texi: Likewise.
21327         * doc/posix-functions/wcpncpy.texi: Likewise.
21328         * doc/posix-functions/wcscasecmp.texi: Likewise.
21329         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
21330         * doc/posix-functions/wcscoll_l.texi: Likewise.
21331         * doc/posix-functions/wcsdup.texi: Likewise.
21332         * doc/posix-functions/wcsncasecmp.texi: Likewise.
21333         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
21334         * doc/posix-functions/wcsnlen.texi: Likewise.
21335         * doc/posix-functions/wcsnrtombs.texi: Likewise.
21336         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21337         * doc/posix-functions/wctrans_l.texi: Likewise.
21338         * doc/posix-functions/wctype_l.texi: Likewise.
21339         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
21340         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
21341         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
21342         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
21343         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
21344         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
21345         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
21346         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
21347         * doc/glibc-functions/wcschrnul.texi: Likewise.
21348         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21349         * doc/glibc-functions/wcstod_l.texi: Likewise.
21350         * doc/glibc-functions/wcstof_l.texi: Likewise.
21351         * doc/glibc-functions/wcstol_l.texi: Likewise.
21352         * doc/glibc-functions/wcstold_l.texi: Likewise.
21353         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21354         * doc/glibc-functions/wcstoq.texi: Likewise.
21355         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21356         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21357         * doc/glibc-functions/wcstouq.texi: Likewise.
21358         * doc/glibc-functions/wmempcpy.texi: Likewise.
21359
21360 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
21361             Eric Blake  <ebb9@byu.net>
21362             Paolo Bonzini  <bonzini@gnu.org>
21363             Bruno Haible  <bruno@clisp.org>
21364
21365         Make c-stack work on Haiku.
21366         * lib/c-stack.c (SA_ONSTACK): Define fallback.
21367         (c_stack_action): Use SA_ONSTACK flag.
21368
21369 2008-12-22  Bruno Haible  <bruno@clisp.org>
21370
21371         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
21372
21373 2008-12-22  Bruno Haible  <bruno@clisp.org>
21374
21375         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
21376         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
21377         being overridden.
21378         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
21379         New macros.
21380         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
21381         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
21382         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
21383         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
21384
21385 2008-12-22  Bruno Haible  <bruno@clisp.org>
21386
21387         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
21388         from test code.
21389
21390 2008-12-22  Eric Blake  <ebb9@byu.net>
21391
21392         Avoid gcc warnings on cygwin.
21393         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
21394         Avoid unused variable.
21395         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
21396         Likewise.
21397
21398 2008-12-22  Bruno Haible  <bruno@clisp.org>
21399
21400         Remove HAVE_MBRTOWC conditionals.
21401         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
21402         (mbscasecmp): Assume mbrtowc function.
21403         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
21404         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
21405         * lib/mbschr.c: Include mbuiter.h unconditionally.
21406         (mbschr): Assume mbrtowc function.
21407         * lib/mbscspn.c: Include mbuiter.h unconditionally.
21408         (mbscspn): Assume mbrtowc function.
21409         * lib/mbslen.c: Include mbuiter.h unconditionally.
21410         (mbslen): Assume mbrtowc function.
21411         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
21412         (mbsncasecmp): Assume mbrtowc function.
21413         * lib/mbsnlen.c: Include mbiter.h unconditionally.
21414         (mbsnlen): Assume mbrtowc function.
21415         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
21416         (mbspbrk): Assume mbrtowc function.
21417         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
21418         (mbspcasecmp): Assume mbrtowc function.
21419         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
21420         (mbsrchr): Assume mbrtowc function.
21421         * lib/mbssep.c: Include mbuiter.h unconditionally.
21422         (mbssep): Assume mbrtowc function.
21423         * lib/mbsspn.c: Include mbuiter.h unconditionally.
21424         (mbsspn): Assume mbrtowc function.
21425         * lib/mbsstr.c: Include mbuiter.h unconditionally.
21426         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
21427         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
21428         (mbstok_r): Assume mbrtowc function.
21429         * lib/propername.c: Include mbuiter.h unconditionally.
21430         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
21431         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
21432         (trim2): Assume mbrtowc function.
21433         * lib/mbswidth.c (mbsinit): Remove fallback definition.
21434         (mbsnwidth): Assume mbrtowc function.
21435         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
21436         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
21437         fallback definitions.
21438         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
21439
21440 2008-12-22  Bruno Haible  <bruno@clisp.org>
21441
21442         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
21443
21444 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
21445
21446         * modules/regex: Request emulations for the mb*/wc* functions we need.
21447         * m4/regex.m4: Don't look for those functions here.
21448         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
21449
21450 2008-12-22  Bruno Haible  <bruno@clisp.org>
21451
21452         * modules/fnmatch (Depends-on): Remove duplicated dependency.
21453
21454 2008-12-21  Bruno Haible  <bruno@clisp.org>
21455
21456         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
21457         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
21458         (Include): Remove conditionalization.
21459         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
21460         (Include): Remove conditionalization.
21461         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
21462         (Include): Remove conditionalization.
21463         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
21464         * m4/mbfile.m4 (gl_MBFILE): Likewise.
21465         * NEWS: Mention the change.
21466         Reported by Alan Hourihane <alanh@fairlite.co.uk>
21467         via Sergey Poznyakoff <gray@gnu.org.ua>.
21468
21469 2008-12-21  Bruno Haible  <bruno@clisp.org>
21470
21471         * MODULES.html.sh (Extended multibyte and wide character utilities
21472         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
21473         wcrtomb, wcsrtombs.
21474         (Support for systems lacking POSIX:2008): Add accept, bind, close,
21475         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
21476         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
21477         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
21478
21479 2008-12-21  Bruno Haible  <bruno@clisp.org>
21480
21481         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
21482
21483 2008-12-21  Bruno Haible  <bruno@clisp.org>
21484
21485         * modules/wcsnrtombs-tests: New file.
21486         * tests/test-wcsnrtombs1.sh: New file.
21487         * tests/test-wcsnrtombs2.sh: New file.
21488         * tests/test-wcsnrtombs3.sh: New file.
21489         * tests/test-wcsnrtombs4.sh: New file.
21490         * tests/test-wcsnrtombs.c: New file.
21491
21492         New module 'wcsnrtombs'.
21493         * lib/wchar.in.h (wcsnrtombs): New declaration.
21494         * lib/wcsnrtombs.c: New file.
21495         * lib/wcsrtombs-state.c: New file.
21496         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
21497         (internal_state): Remove variable.
21498         * m4/wcsnrtombs.m4: New file.
21499         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
21500         compilation units.
21501         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
21502         HAVE_WCSNRTOMBS.
21503         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
21504         HAVE_WCSNRTOMBS.
21505         * modules/wcsnrtombs: New file.
21506         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
21507         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
21508
21509 2008-12-21  Bruno Haible  <bruno@clisp.org>
21510
21511         * modules/wcsrtombs-tests: New file.
21512         * tests/test-wcsrtombs1.sh: New file.
21513         * tests/test-wcsrtombs2.sh: New file.
21514         * tests/test-wcsrtombs3.sh: New file.
21515         * tests/test-wcsrtombs4.sh: New file.
21516         * tests/test-wcsrtombs.c: New file.
21517
21518         New module 'wcsrtombs'.
21519         * lib/wchar.in.h (wcsrtombs): New declaration.
21520         * lib/wcsrtombs.c: New file.
21521         * m4/wcsrtombs.m4: New file.
21522         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
21523         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
21524         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
21525         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
21526         * modules/wcsrtombs: New file.
21527         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
21528         bugs.
21529
21530 2008-12-21  Bruno Haible  <bruno@clisp.org>
21531
21532         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
21533         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
21534         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
21535         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
21536         if not correct.
21537         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
21538         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
21539         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21540         m4/locale-zh.m4, m4/codeset.m4.
21541         * doc/posix-functions/wcrtomb.texi: Document the bug.
21542
21543 2008-12-21  Bruno Haible  <bruno@clisp.org>
21544
21545         Work around a btowc() bug on IRIX 6.5.
21546         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
21547         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
21548         REPLACE_WTOBC if not.
21549         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
21550         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
21551         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
21552
21553 2008-12-21  Bruno Haible  <bruno@clisp.org>
21554
21555         * modules/wcrtomb-tests: New file.
21556         * tests/test-wcrtomb.sh: New file.
21557         * tests/test-wcrtomb.c: New file.
21558
21559         New module 'wcrtomb'.
21560         * lib/wchar.in.h (wcrtomb): New declaration.
21561         * lib/wcrtomb.c: New file.
21562         * m4/wcrtomb.m4: New file.
21563         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
21564         HAVE_WCRTOMB.
21565         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
21566         HAVE_WCRTOMB.
21567         * modules/wcrtomb: New file.
21568         * doc/posix-functions/wcrtomb.texi: Mention the new module.
21569
21570 2008-12-21  Bruno Haible  <bruno@clisp.org>
21571
21572         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
21573         * modules/mbsrtowcs (Files): Likewise.
21574         * modules/wctob (Files): Likewise.
21575         * modules/c-strcase-tests (Files): Likewise.
21576         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
21577         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
21578         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
21579         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
21580         * modules/vasnprintf-posix-tests (Files): Likewise.
21581
21582 2008-12-21  William Pursell  <bill.pursell@gmail.com>
21583
21584         gitlog-to-changelog: pass all command-line arguments to git-log
21585         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
21586         it is sometimes convenient to filter the commits in various ways.
21587         gitlog-to-changelog only allows --since to specify a start date,
21588         but git-log itself supports many other filtering mechanisms.
21589         At the moment, I want to filter by branch name.  Rather than
21590         adding a --branch option to gitlog-to-changelog, it seems more
21591         flexible to simply pass all options directly to git-log and let
21592         git do the work.  Notice that this effectively makes --since a
21593         redundant option for gitlog-to-changelog, but removing it would
21594         require current usage to change since calls would then require
21595         an additional '--'.
21596
21597 2008-12-21  Bruno Haible  <bruno@clisp.org>
21598
21599         * modules/mbsnrtowcs-tests: New file.
21600         * tests/test-mbsnrtowcs1.sh: New file.
21601         * tests/test-mbsnrtowcs2.sh: New file.
21602         * tests/test-mbsnrtowcs3.sh: New file.
21603         * tests/test-mbsnrtowcs4.sh: New file.
21604         * tests/test-mbsnrtowcs.c: New file.
21605
21606         New module 'mbsnrtowcs'.
21607         * lib/wchar.in.h (mbsnrtowcs): New declaration.
21608         * lib/mbsnrtowcs.c: New file.
21609         * lib/mbsrtowcs-state.c: New file.
21610         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
21611         (internal_state): Remove variable.
21612         * m4/mbsnrtowcs.m4: New file.
21613         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
21614         compilation units.
21615         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
21616         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
21617         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
21618         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
21619         * modules/mbsnrtowcs: New file.
21620         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
21621         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
21622         portability problem.
21623
21624 2008-12-21  Bruno Haible  <bruno@clisp.org>
21625
21626         Work around mbsrtowcs bug.
21627         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
21628         (gl_FUNC_MBSRTOWCS): Invoke it.
21629         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21630         m4/locale-zh.m4.
21631         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
21632
21633 2008-12-21  Bruno Haible  <bruno@clisp.org>
21634
21635         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
21636
21637 2008-12-21  Bruno Haible  <bruno@clisp.org>
21638
21639         Update doc for AIX.
21640         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
21641         16-bit wchar_t type.
21642         * doc/posix-functions/btowc.texi: Likewise.
21643         * doc/posix-functions/fgetwc.texi: Likewise.
21644         * doc/posix-functions/fgetws.texi: Likewise.
21645         * doc/posix-functions/fputwc.texi: Likewise.
21646         * doc/posix-functions/fputws.texi: Likewise.
21647         * doc/posix-functions/fwide.texi: Likewise.
21648         * doc/posix-functions/fwprintf.texi: Likewise.
21649         * doc/posix-functions/fwscanf.texi: Likewise.
21650         * doc/posix-functions/getwchar.texi: Likewise.
21651         * doc/posix-functions/getwc.texi: Likewise.
21652         * doc/posix-functions/iswalnum.texi: Likewise.
21653         * doc/posix-functions/iswalpha.texi: Likewise.
21654         * doc/posix-functions/iswblank.texi: Likewise.
21655         * doc/posix-functions/iswcntrl.texi: Likewise.
21656         * doc/posix-functions/iswctype.texi: Likewise.
21657         * doc/posix-functions/iswdigit.texi: Likewise.
21658         * doc/posix-functions/iswgraph.texi: Likewise.
21659         * doc/posix-functions/iswlower.texi: Likewise.
21660         * doc/posix-functions/iswprint.texi: Likewise.
21661         * doc/posix-functions/iswpunct.texi: Likewise.
21662         * doc/posix-functions/iswspace.texi: Likewise.
21663         * doc/posix-functions/iswupper.texi: Likewise.
21664         * doc/posix-functions/iswxdigit.texi: Likewise.
21665         * doc/posix-functions/mbrtowc.texi: Likewise.
21666         * doc/posix-functions/mbsrtowcs.texi: Likewise.
21667         * doc/posix-functions/mbstowcs.texi: Likewise.
21668         * doc/posix-functions/mbtowc.texi: Likewise.
21669         * doc/posix-functions/putwchar.texi: Likewise.
21670         * doc/posix-functions/putwc.texi: Likewise.
21671         * doc/posix-functions/swprintf.texi: Likewise.
21672         * doc/posix-functions/tolower.texi: Likewise.
21673         * doc/posix-functions/toupper.texi: Likewise.
21674         * doc/posix-functions/towctrans.texi: Likewise.
21675         * doc/posix-functions/ungetwc.texi: Likewise.
21676         * doc/posix-functions/vswprintf.texi: Likewise.
21677         * doc/posix-functions/wcrtomb.texi: Likewise.
21678         * doc/posix-functions/wcscat.texi: Likewise.
21679         * doc/posix-functions/wcschr.texi: Likewise.
21680         * doc/posix-functions/wcscmp.texi: Likewise.
21681         * doc/posix-functions/wcscoll.texi: Likewise.
21682         * doc/posix-functions/wcscpy.texi: Likewise.
21683         * doc/posix-functions/wcscspn.texi: Likewise.
21684         * doc/posix-functions/wcsftime.texi: Likewise.
21685         * doc/posix-functions/wcslen.texi: Likewise.
21686         * doc/posix-functions/wcsncat.texi: Likewise.
21687         * doc/posix-functions/wcsncmp.texi: Likewise.
21688         * doc/posix-functions/wcsncpy.texi: Likewise.
21689         * doc/posix-functions/wcspbrk.texi: Likewise.
21690         * doc/posix-functions/wcsrchr.texi: Likewise.
21691         * doc/posix-functions/wcsrtombs.texi: Likewise.
21692         * doc/posix-functions/wcsspn.texi: Likewise.
21693         * doc/posix-functions/wcsstr.texi: Likewise.
21694         * doc/posix-functions/wcstod.texi: Likewise.
21695         * doc/posix-functions/wcstof.texi: Likewise.
21696         * doc/posix-functions/wcstoimax.texi: Likewise.
21697         * doc/posix-functions/wcstok.texi: Likewise.
21698         * doc/posix-functions/wcstold.texi: Likewise.
21699         * doc/posix-functions/wcstoll.texi: Likewise.
21700         * doc/posix-functions/wcstol.texi: Likewise.
21701         * doc/posix-functions/wcstombs.texi: Likewise.
21702         * doc/posix-functions/wcstoull.texi: Likewise.
21703         * doc/posix-functions/wcstoul.texi: Likewise.
21704         * doc/posix-functions/wcstoumax.texi: Likewise.
21705         * doc/posix-functions/wcswidth.texi: Likewise.
21706         * doc/posix-functions/wcsxfrm.texi: Likewise.
21707         * doc/posix-functions/wctob.texi: Likewise.
21708         * doc/posix-functions/wctomb.texi: Likewise.
21709         * doc/posix-functions/wctrans.texi: Likewise.
21710         * doc/posix-functions/wctype.texi: Likewise.
21711         * doc/posix-functions/wcwidth.texi: Likewise.
21712         * doc/posix-functions/wmemchr.texi: Likewise.
21713         * doc/posix-functions/wmemcmp.texi: Likewise.
21714         * doc/posix-functions/wmemcpy.texi: Likewise.
21715         * doc/posix-functions/wmemmove.texi: Likewise.
21716         * doc/posix-functions/wmemset.texi: Likewise.
21717         * doc/posix-functions/wprintf.texi: Likewise.
21718         * doc/posix-functions/wscanf.texi: Likewise.
21719
21720 2008-12-21  Bruno Haible  <bruno@clisp.org>
21721
21722         Update doc for HP-UX 11.11.
21723         * doc/posix-functions/btowc.texi: Clarify that the function is missing
21724         in HP-UX version 11.00, not in all versions of HP-UX 11.
21725         * doc/posix-functions/fwide.texi: Likewise.
21726         * doc/posix-functions/fwprintf.texi: Likewise.
21727         * doc/posix-functions/fwscanf.texi: Likewise.
21728         * doc/posix-functions/inet_ntop.texi: Likewise.
21729         * doc/posix-functions/inet_pton.texi: Likewise.
21730         * doc/posix-functions/mbrlen.texi: Likewise.
21731         * doc/posix-functions/mbrtowc.texi: Likewise.
21732         * doc/posix-functions/mbsinit.texi: Likewise.
21733         * doc/posix-functions/mbsrtowcs.texi: Likewise.
21734         * doc/posix-functions/swprintf.texi: Likewise.
21735         * doc/posix-functions/swscanf.texi: Likewise.
21736         * doc/posix-functions/towctrans.texi: Likewise.
21737         * doc/posix-functions/vfwprintf.texi: Likewise.
21738         * doc/posix-functions/vswprintf.texi: Likewise.
21739         * doc/posix-functions/vwprintf.texi: Likewise.
21740         * doc/posix-functions/wcrtomb.texi: Likewise.
21741         * doc/posix-functions/wcsrtombs.texi: Likewise.
21742         * doc/posix-functions/wcsstr.texi: Likewise.
21743         * doc/posix-functions/wctob.texi: Likewise.
21744         * doc/posix-functions/wctrans.texi: Likewise.
21745         * doc/posix-functions/wmemchr.texi: Likewise.
21746         * doc/posix-functions/wmemcmp.texi: Likewise.
21747         * doc/posix-functions/wmemcpy.texi: Likewise.
21748         * doc/posix-functions/wmemmove.texi: Likewise.
21749         * doc/posix-functions/wmemset.texi: Likewise.
21750         * doc/posix-functions/wprintf.texi: Likewise.
21751         * doc/posix-functions/wscanf.texi: Likewise.
21752
21753 2008-12-21  Bruno Haible  <bruno@clisp.org>
21754
21755         Work around a portability problem.
21756         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
21757         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
21758
21759 2008-12-20  Bruno Haible  <bruno@clisp.org>
21760
21761         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
21762         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
21763         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
21764         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
21765         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
21766
21767         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
21768         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
21769         set.
21770         (GNULIB_defined_mbstate_t): New macro.
21771         (mbsinit): Redefine if REPLACE_MBSINIT is set.
21772         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
21773         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
21774         reuses the system's mbrtowc function but works around the bugs.
21775         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
21776         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
21777         macros.
21778         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
21779         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
21780         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
21781         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
21782         REPLACE_MBSINIT if mbsinit needs to be overridden.
21783         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
21784         REPLACE_MBSINIT, REPLACE_MBRTOWC.
21785         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
21786         REPLACE_MBSINIT, REPLACE_MBRTOWC.
21787         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21788         m4/locale-zh.m4.
21789         (Depends): Add mbsinit.
21790         * modules/mbsinit (Depends): Add mbrtowc.
21791         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
21792
21793 2008-12-20  Bruno Haible  <bruno@clisp.org>
21794
21795         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
21796         so that there are no conversion errors on AIX.
21797         * tests/test-mbsrtowcs.c (main): LIkewise.
21798
21799 2008-12-20  Bruno Haible  <bruno@clisp.org>
21800
21801         Work around wctob bug on Solaris <= 9.
21802         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
21803         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
21804         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
21805         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
21806         * modules/wctob (Files): Add m4/locale-fr.m4.
21807         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
21808
21809 2008-12-20  Bruno Haible  <bruno@clisp.org>
21810
21811         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
21812         /dev/null.
21813         * tests/test-select-in.sh: Likewise.
21814         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21815
21816 2008-12-20  Bruno Haible  <bruno@clisp.org>
21817
21818         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
21819         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
21820         Cygwin 1.5.x.
21821
21822 2008-12-20  Bruno Haible  <bruno@clisp.org>
21823
21824         Ensure mbstate_t is defined on HP-UX 11.11.
21825         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
21826         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
21827         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
21828         AC_USE_SYSTEM_EXTENSIONS.
21829         * modules/fnmatch (Depends-on): Add extensions.
21830         * modules/mbrlen (Depends-on): Likewise.
21831         * modules/mbrtowc (Depends-on): Likewise.
21832         * modules/mbsinit (Depends-on): Likewise.
21833         * modules/mbsrtowcs (Depends-on): Likewise.
21834         * modules/mbswidth (Depends-on): Likewise.
21835         * modules/quotearg (Depends-on): Likewise.
21836         * modules/strftime (Depends-on): Likewise.
21837
21838 2008-12-20  Bruno Haible  <bruno@clisp.org>
21839
21840         Ensure wctob is declared on IRIX 6.5.
21841         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
21842         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
21843         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
21844         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
21845         of HAVE_WCTOB.
21846         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
21847         HAVE_WCTOB.
21848         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
21849
21850 2008-12-19  Bruno Haible  <bruno@clisp.org>
21851
21852         * modules/mbsrtowcs-tests: New file.
21853         * tests/test-mbsrtowcs1.sh: New file.
21854         * tests/test-mbsrtowcs2.sh: New file.
21855         * tests/test-mbsrtowcs3.sh: New file.
21856         * tests/test-mbsrtowcs4.sh: New file.
21857         * tests/test-mbsrtowcs.c: New file.
21858
21859         New module 'mbsrtowcs'.
21860         * lib/wchar.in.h (mbsrtowcs): New declaration.
21861         * lib/mbsrtowcs.c: New file.
21862         * m4/mbsrtowcs.m4: New file.
21863         * modules/mbsrtowcs: New file.
21864         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
21865         HAVE_MBSRTOWCS.
21866         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
21867         HAVE_MBSRTOWCS.
21868         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
21869
21870 2008-12-19  Bruno Haible  <bruno@clisp.org>
21871
21872         New module 'mbrlen'.
21873         * lib/wchar.in.h (mbrlen): New declaration.
21874         * lib/mbrlen.c: New file.
21875         * m4/mbrlen.m4: New file.
21876         * modules/mbrlen: New file.
21877         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
21878         HAVE_MBRLEN.
21879         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
21880         HAVE_MBRLEN.
21881         * doc/posix-functions/mbrlen.texi: Document the new module.
21882
21883 2008-12-19  Bruno Haible  <bruno@clisp.org>
21884
21885         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
21886         * modules/mbrtowc (Depends-on): Add verify.
21887         Suggested by Paul Eggert.
21888
21889 2008-12-18  Bruno Haible  <bruno@clisp.org>
21890
21891         * modules/mbsinit-tests: New file.
21892         * tests/test-mbsinit.sh: New file.
21893         * tests/test-mbsinit.c: New file.
21894
21895 2008-12-18  Bruno Haible  <bruno@clisp.org>
21896
21897         * modules/mbrtowc-tests: New file.
21898         * tests/test-mbrtowc1.sh: New file.
21899         * tests/test-mbrtowc2.sh: New file.
21900         * tests/test-mbrtowc3.sh: New file.
21901         * tests/test-mbrtowc4.sh: New file.
21902         * tests/test-mbrtowc.c: New file.
21903
21904         New module 'mbrtowc'.
21905         * lib/wchar.in.h (mbstate_t): Override when the system does not have
21906         mbsinit and mbrtowc.
21907         (mbrtowc): New declaration.
21908         * lib/mbrtowc.c: New file.
21909         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
21910         * modules/mbrtowc: New file.
21911         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
21912         HAVE_MBRTOWC.
21913         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
21914         HAVE_MBRTOWC.
21915         * doc/posix-functions/mbrtowc.texi: Document the new module.
21916
21917 2008-12-18  Bruno Haible  <bruno@clisp.org>
21918
21919         New module 'wctob'.
21920         * lib/wchar.in.h (wctob): New declaration.
21921         * lib/wctob.c: New file.
21922         * m4/wctob.m4: New file.
21923         * modules/wctob: New file.
21924         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
21925         HAVE_WCTOB.
21926         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
21927         * doc/posix-functions/wctob.texi: Document the new module.
21928
21929 2008-12-18  Bruno Haible  <bruno@clisp.org>
21930
21931         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
21932         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
21933
21934 2008-12-18  Simon Josefsson  <simon@josefsson.org>
21935
21936         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
21937         G. Christensen" <tgc@jupiterrise.com>.
21938
21939         * lib/flock.c: Need to include errno.h.  Reported by "Tom
21940         G. Christensen" <tgc@jupiterrise.com>.
21941
21942         * lib/flock.c: Need to include string.h.  Reported by "Tom
21943         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
21944         <ebb9@byu.net>.
21945
21946 2008-12-18  Bruno Haible  <bruno@clisp.org>
21947
21948         * m4/locale-ja.m4: New file, from GNU gettext.
21949
21950 2008-12-17  Bruno Haible  <bruno@clisp.org>
21951
21952         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
21953         Suggested by Eric Blake.
21954
21955 2008-12-17  Bruno Haible  <bruno@clisp.org>
21956
21957         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
21958
21959 2008-12-17  Bruno Haible  <bruno@clisp.org>
21960
21961         * lib/mbsinit.c: Include verify.h. Verify an assumption.
21962         * modules/mbsinit (Depends-on): Add verify.
21963         Suggested by Paul Eggert.
21964
21965 2008-12-17  Bruno Haible  <bruno@clisp.org>
21966
21967         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
21968         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
21969         gl_FUNC_MBRTOWC.
21970         * m4/mbiter.m4 (gl_MBITER): LIkewise.
21971         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
21972         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
21973         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
21974         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
21975         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
21976         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
21977         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
21978         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
21979         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
21980         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
21981         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
21982         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
21983         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
21984         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
21985         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
21986         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
21987         * modules/trim (configure.ac): Likewise.
21988
21989 2008-12-17  Bruno Haible  <bruno@clisp.org>
21990
21991         * modules/btowc-tests: New file.
21992         * tests/test-btowc1.sh: New file.
21993         * tests/test-btowc2.sh: New file.
21994         * tests/test-btowc.c: New file.
21995
21996         New module 'btowc'.
21997         * lib/wchar.in.h (btowc): New declaration.
21998         * lib/btowc.c: New file.
21999         * m4/btowc.m4: New file.
22000         * modules/btowc: New file.
22001         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
22002         HAVE_BTOWC.
22003         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
22004         * doc/posix-functions/btowc.texi: Document the new module.
22005
22006 2008-12-17  Bruno Haible  <bruno@clisp.org>
22007
22008         New module 'mbsinit'.
22009         * lib/wchar.in.h (mbsinit): New declaration.
22010         * lib/mbsinit.c: New file.
22011         * m4/mbsinit.m4: New file.
22012         * modules/mbsinit: New file.
22013         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
22014         HAVE_MBSINIT.
22015         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
22016         HAVE_MBSINIT.
22017         * doc/posix-functions/mbsinit.texi: Document the new module.
22018
22019 2008-12-16  Bruno Haible  <bruno@clisp.org>
22020
22021         * lib/unistd.in.h: Add comment.
22022         * tests/test-environ.c: Don't include <stdlib.h>.
22023
22024 2008-12-16  Bruno Haible  <bruno@clisp.org>
22025
22026         * lib/parse-duration.h (parse_duration): Document return value
22027         convention.
22028         * lib/parse-duration.c: Include specification header first. Add
22029         comments.
22030         (_): Remove macro.
22031         (parse_year_month_day, parse_hour_minute_second): Move side effects
22032         outside of strchr call.
22033         (parse_non_iso8601): Move side effects outside of isspace call.
22034         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
22035         call.
22036
22037 2008-12-16  Bruno Haible  <bruno@clisp.org>
22038
22039         * tests/test-parse-duration.sh: Produce no output when the test
22040         succeeds.
22041
22042 2008-12-16  Bruno Haible  <bruno@clisp.org>
22043
22044         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
22045         expressions.
22046
22047 2008-12-15  Bruno Haible  <bruno@clisp.org>
22048
22049         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
22050         * doc/glibc-functions/flistxattr.texi: Likewise.
22051         * doc/glibc-functions/fopencookie.texi: Likewise.
22052         * doc/glibc-functions/fremovexattr.texi: Likewise.
22053         * doc/glibc-functions/fsetxattr.texi: Likewise.
22054         * doc/glibc-functions/getxattr.texi: Likewise.
22055         * doc/glibc-functions/lgetxattr.texi: Likewise.
22056         * doc/glibc-functions/listxattr.texi: Likewise.
22057         * doc/glibc-functions/llistxattr.texi: Likewise.
22058         * doc/glibc-functions/lremovexattr.texi: Likewise.
22059         * doc/glibc-functions/lsetxattr.texi: Likewise.
22060         * doc/glibc-functions/removexattr.texi: Likewise.
22061         * doc/glibc-functions/setxattr.texi: Likewise.
22062         * doc/posix-functions/open_memstream.texi: Likewise.
22063
22064 2008-12-15  Eric Blake  <ebb9@byu.net>
22065
22066         Update doc for cygwin 1.7.
22067         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
22068         functions.
22069         * doc/posix-functions/fchmodat.texi: Likewise.
22070         * doc/posix-functions/fchownat.texi: Likewise.
22071         * doc/posix-functions/fdopendir.texi: Likewise.
22072         * doc/posix-functions/fmemopen.texi: Likewise.
22073         * doc/posix-functions/freeaddrinfo.texi: Likewise.
22074         * doc/posix-functions/fstatat.texi: Likewise.
22075         * doc/posix-functions/futimens.texi: Likewise.
22076         * doc/posix-functions/gai_strerror.texi: Likewise.
22077         * doc/posix-functions/getaddrinfo.texi: Likewise.
22078         * doc/posix-functions/getnameinfo.texi: Likewise.
22079         * doc/posix-functions/if_freenameindex.texi: Likewise.
22080         * doc/posix-functions/if_indextoname.texi: Likewise.
22081         * doc/posix-functions/if_nameindex.texi: Likewise.
22082         * doc/posix-functions/if_nametoindex.texi: Likewise.
22083         * doc/posix-functions/insque.texi: Likewise.
22084         * doc/posix-functions/linkat.texi: Likewise.
22085         * doc/posix-functions/llrint.texi: Likewise.
22086         * doc/posix-functions/llrintf.texi: Likewise.
22087         * doc/posix-functions/llrintl.texi: Likewise.
22088         * doc/posix-functions/lockf.texi: Likewise.
22089         * doc/posix-functions/lrintl.texi: Likewise.
22090         * doc/posix-functions/mkdirat.texi: Likewise.
22091         * doc/posix-functions/mkfifoat.texi: Likewise.
22092         * doc/posix-functions/mknodat.texi: Likewise.
22093         * doc/posix-functions/mq_close.texi: Likewise.
22094         * doc/posix-functions/mq_getattr.texi: Likewise.
22095         * doc/posix-functions/mq_notify.texi: Likewise.
22096         * doc/posix-functions/mq_open.texi: Likewise.
22097         * doc/posix-functions/mq_receive.texi: Likewise.
22098         * doc/posix-functions/mq_send.texi: Likewise.
22099         * doc/posix-functions/mq_setattr.texi: Likewise.
22100         * doc/posix-functions/mq_timedreceive.texi: Likewise.
22101         * doc/posix-functions/mq_timedsend.texi: Likewise.
22102         * doc/posix-functions/mq_unlink.texi: Likewise.
22103         * doc/posix-functions/open_memstream.texi: Likewise.
22104         * doc/posix-functions/openat.texi: Likewise.
22105         * doc/posix-functions/posix_fadvise.texi: Likewise.
22106         * doc/posix-functions/posix_fallocate.texi: Likewise.
22107         * doc/posix-functions/posix_madvise.texi: Likewise.
22108         * doc/posix-functions/posix_memalign.texi: Likewise.
22109         * doc/posix-functions/posix_openpt.texi: Likewise.
22110         * doc/posix-functions/readlinkat.texi: Likewise.
22111         * doc/posix-functions/remque.texi: Likewise.
22112         * doc/posix-functions/renameat.texi: Likewise.
22113         * doc/posix-functions/rintl.texi: Likewise.
22114         * doc/posix-functions/sem_unlink.texi: Likewise.
22115         * doc/posix-functions/shm_open.texi: Likewise.
22116         * doc/posix-functions/shm_unlink.texi: Likewise.
22117         * doc/posix-functions/signgam.texi: Likewise.
22118         * doc/posix-functions/sigset.texi: Likewise.
22119         * doc/posix-functions/stpcpy.texi: Likewise.
22120         * doc/posix-functions/stpncpy.texi: Likewise.
22121         * doc/posix-functions/strerror.texi: Likewise.
22122         * doc/posix-functions/strtod.texi: Likewise.
22123         * doc/posix-functions/symlinkat.texi: Likewise.
22124         * doc/posix-functions/unlinkat.texi: Likewise.
22125         * doc/posix-functions/utimensat.texi: Likewise.
22126         * doc/glibc-functions/bindresvport.texi: Likewise.
22127         * doc/glibc-functions/dn_expand.texi: Likewise.
22128         * doc/glibc-functions/exp10.texi: Likewise.
22129         * doc/glibc-functions/exp10f.texi: Likewise.
22130         * doc/glibc-functions/fgetxattr.texi: Likewise.
22131         * doc/glibc-functions/flistxattr.texi: Likewise.
22132         * doc/glibc-functions/fopencookie.texi: Likewise.
22133         * doc/glibc-functions/freeifaddrs.texi: Likewise.
22134         * doc/glibc-functions/fremovexattr.texi: Likewise.
22135         * doc/glibc-functions/fsetxattr.texi: Likewise.
22136         * doc/glibc-functions/getifaddrs.texi: Likewise.
22137         * doc/glibc-functions/getxattr.texi: Likewise.
22138         * doc/glibc-functions/lgetxattr.texi: Likewise.
22139         * doc/glibc-functions/listxattr.texi: Likewise.
22140         * doc/glibc-functions/llistxattr.texi: Likewise.
22141         * doc/glibc-functions/lremovexattr.texi: Likewise.
22142         * doc/glibc-functions/lsetxattr.texi: Likewise.
22143         * doc/glibc-functions/pow10.texi: Likewise.
22144         * doc/glibc-functions/pow10f.texi: Likewise.
22145         * doc/glibc-functions/rcmd_af.texi: Likewise.
22146         * doc/glibc-functions/removexattr.texi: Likewise.
22147         * doc/glibc-functions/res_init.texi: Likewise.
22148         * doc/glibc-functions/res_mkquery.texi: Likewise.
22149         * doc/glibc-functions/res_query.texi: Likewise.
22150         * doc/glibc-functions/res_querydomain.texi: Likewise.
22151         * doc/glibc-functions/res_send.texi: Likewise.
22152         * doc/glibc-functions/rresvport_af.texi: Likewise.
22153         * doc/glibc-functions/setxattr.texi: Likewise.
22154         * doc/glibc-functions/strcasestr.texi: Likewise.
22155
22156 2008-12-15  Bruno Haible  <bruno@clisp.org>
22157
22158         Fix compilation error on OSF/1 4.0.
22159         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
22160         <sys/time.h>, simply delegate to the system header.
22161         Reported by Daniel Richard G. <oss@teragram.com>.
22162
22163 2008-12-15  Bruno Haible  <bruno@clisp.org>
22164
22165         * doc/posix-functions/openat.texi: Mention the 'openat' module.
22166         * doc/posix-functions/fchmodat.texi: Likewise.
22167         * doc/posix-functions/fchownat.texi: Likewise.
22168         * doc/posix-functions/fdopendir.texi: Likewise.
22169         * doc/posix-functions/fstatat.texi: Likewise.
22170         * doc/posix-functions/mkdirat.texi: Likewise.
22171         * doc/posix-functions/unlinkat.texi: Likewise.
22172
22173 2008-12-14  Bruno Haible  <bruno@clisp.org>
22174
22175         Update doc for POSIX:2008.
22176         * doc/posix-functions/faccessat.texi: New file.
22177         * doc/posix-functions/fchmodat.texi: New file.
22178         * doc/posix-functions/fchownat.texi: New file.
22179         * doc/posix-functions/fdopendir.texi: New file.
22180         * doc/posix-functions/fstatat.texi: New file.
22181         * doc/posix-functions/futimens.texi: New file.
22182         * doc/posix-functions/linkat.texi: New file.
22183         * doc/posix-functions/mkdirat.texi: New file.
22184         * doc/posix-functions/mkfifoat.texi: New file.
22185         * doc/posix-functions/mknodat.texi: New file.
22186         * doc/posix-functions/open_wmemstream.texi: New file.
22187         * doc/posix-functions/openat.texi: New file.
22188         * doc/posix-functions/psiginfo.texi: New file.
22189         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
22190         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
22191         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
22192         * doc/posix-functions/readlinkat.texi: New file.
22193         * doc/posix-functions/renameat.texi: New file.
22194         * doc/posix-functions/strerror_l.texi: New file.
22195         * doc/posix-functions/symlinkat.texi: New file.
22196         * doc/posix-functions/unlinkat.texi: New file.
22197         * doc/posix-functions/utimensat.texi: New file.
22198         * doc/gnulib.texi (Function Substitutes): Add these subsections.
22199
22200 2008-12-14  Bruno Haible  <bruno@clisp.org>
22201
22202         Update doc for POSIX:2008.
22203         * doc/posix-functions/alphasort.texi: Renamed from
22204         doc/glibc-functions/alphasort.texi.
22205         * doc/posix-functions/dirfd.texi: Renamed from
22206         doc/glibc-functions/dirfd.texi.
22207         * doc/posix-functions/dprintf.texi: Renamed from
22208         doc/glibc-functions/dprintf.texi.
22209         * doc/posix-functions/duplocale.texi: Renamed from
22210         doc/glibc-functions/duplocale.texi.
22211         * doc/posix-functions/fexecve.texi: Renamed from
22212         doc/glibc-functions/fexecve.texi.
22213         * doc/posix-functions/fmemopen.texi: Renamed from
22214         doc/glibc-functions/fmemopen.texi.
22215         * doc/posix-functions/freelocale.texi: Renamed from
22216         doc/glibc-functions/freelocale.texi.
22217         * doc/posix-functions/getdate_err.texi: Renamed from
22218         doc/glibc-functions/getdate_err.texi.
22219         * doc/posix-functions/isalnum_l.texi: Renamed from
22220         doc/glibc-functions/isalnum_l.texi.
22221         * doc/posix-functions/isalpha_l.texi: Renamed from
22222         doc/glibc-functions/isalpha_l.texi.
22223         * doc/posix-functions/isblank_l.texi: Renamed from
22224         doc/glibc-functions/isblank_l.texi.
22225         * doc/posix-functions/iscntrl_l.texi: Renamed from
22226         doc/glibc-functions/iscntrl_l.texi.
22227         * doc/posix-functions/isdigit_l.texi: Renamed from
22228         doc/glibc-functions/isdigit_l.texi.
22229         * doc/posix-functions/isgraph_l.texi: Renamed from
22230         doc/glibc-functions/isgraph_l.texi.
22231         * doc/posix-functions/islower_l.texi: Renamed from
22232         doc/glibc-functions/islower_l.texi.
22233         * doc/posix-functions/isprint_l.texi: Renamed from
22234         doc/glibc-functions/isprint_l.texi.
22235         * doc/posix-functions/ispunct_l.texi: Renamed from
22236         doc/glibc-functions/ispunct_l.texi.
22237         * doc/posix-functions/isspace_l.texi: Renamed from
22238         doc/glibc-functions/isspace_l.texi.
22239         * doc/posix-functions/isupper_l.texi: Renamed from
22240         doc/glibc-functions/isupper_l.texi.
22241         * doc/posix-functions/iswalnum_l.texi: Renamed from
22242         doc/glibc-functions/iswalnum_l.texi.
22243         * doc/posix-functions/iswalpha_l.texi: Renamed from
22244         doc/glibc-functions/iswalpha_l.texi.
22245         * doc/posix-functions/iswblank_l.texi: Renamed from
22246         doc/glibc-functions/iswblank_l.texi.
22247         * doc/posix-functions/iswcntrl_l.texi: Renamed from
22248         doc/glibc-functions/iswcntrl_l.texi.
22249         * doc/posix-functions/iswctype_l.texi: Renamed from
22250         doc/glibc-functions/iswctype_l.texi.
22251         * doc/posix-functions/iswdigit_l.texi: Renamed from
22252         doc/glibc-functions/iswdigit_l.texi.
22253         * doc/posix-functions/iswgraph_l.texi: Renamed from
22254         doc/glibc-functions/iswgraph_l.texi.
22255         * doc/posix-functions/iswlower_l.texi: Renamed from
22256         doc/glibc-functions/iswlower_l.texi.
22257         * doc/posix-functions/iswprint_l.texi: Renamed from
22258         doc/glibc-functions/iswprint_l.texi.
22259         * doc/posix-functions/iswpunct_l.texi: Renamed from
22260         doc/glibc-functions/iswpunct_l.texi.
22261         * doc/posix-functions/iswspace_l.texi: Renamed from
22262         doc/glibc-functions/iswspace_l.texi.
22263         * doc/posix-functions/iswupper_l.texi: Renamed from
22264         doc/glibc-functions/iswupper_l.texi.
22265         * doc/posix-functions/iswxdigit_l.texi: Renamed from
22266         doc/glibc-functions/iswxdigit_l.texi.
22267         * doc/posix-functions/isxdigit_l.texi: Renamed from
22268         doc/glibc-functions/isxdigit_l.texi.
22269         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
22270         doc/glibc-functions/mbsnrtowcs.texi.
22271         * doc/posix-functions/mkdtemp.texi: Renamed from
22272         doc/glibc-functions/mkdtemp.texi.
22273         * doc/posix-functions/newlocale.texi: Renamed from
22274         doc/glibc-functions/newlocale.texi.
22275         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
22276         doc/glibc-functions/nl_langinfo_l.texi.
22277         * doc/posix-functions/open_memstream.texi: Renamed from
22278         doc/glibc-functions/open_memstream.texi.
22279         * doc/posix-functions/opterr.texi: Renamed from
22280         doc/glibc-functions/opterr.texi.
22281         * doc/posix-functions/optind.texi: Renamed from
22282         doc/glibc-functions/optind.texi.
22283         * doc/posix-functions/optopt.texi: Renamed from
22284         doc/glibc-functions/optopt.texi.
22285         * doc/posix-functions/psignal.texi: Renamed from
22286         doc/glibc-functions/psignal.texi.
22287         * doc/posix-functions/scandir.texi: Renamed from
22288         doc/glibc-functions/scandir.texi.
22289         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
22290         doc/glibc-functions/sched_get_priority_min.texi.
22291         * doc/posix-functions/signgam.texi: Renamed from
22292         doc/glibc-functions/signgam.texi.
22293         * doc/posix-functions/stpcpy.texi: Renamed from
22294         doc/glibc-functions/stpcpy.texi.
22295         * doc/posix-functions/stpncpy.texi: Renamed from
22296         doc/glibc-functions/stpncpy.texi.
22297         * doc/posix-functions/strcasecmp_l.texi: Renamed from
22298         doc/glibc-functions/strcasecmp_l.texi.
22299         * doc/posix-functions/strcoll_l.texi: Renamed from
22300         doc/glibc-functions/strcoll_l.texi.
22301         * doc/posix-functions/strfmon_l.texi: Renamed from
22302         doc/glibc-functions/strfmon_l.texi.
22303         * doc/posix-functions/strftime_l.texi: Renamed from
22304         doc/glibc-functions/strftime_l.texi.
22305         * doc/posix-functions/strncasecmp_l.texi: Renamed from
22306         doc/glibc-functions/strncasecmp_l.texi.
22307         * doc/posix-functions/strndup.texi: Renamed from
22308         doc/glibc-functions/strndup.texi.
22309         * doc/posix-functions/strnlen.texi: Renamed from
22310         doc/glibc-functions/strnlen.texi.
22311         * doc/posix-functions/strsignal.texi: Renamed from
22312         doc/glibc-functions/strsignal.texi.
22313         * doc/posix-functions/strxfrm_l.texi: Renamed from
22314         doc/glibc-functions/strxfrm_l.texi.
22315         * doc/posix-functions/timer_gettime.texi: Renamed from
22316         doc/glibc-functions/timer_gettime.texi.
22317         * doc/posix-functions/tolower_l.texi: Renamed from
22318         doc/glibc-functions/tolower_l.texi.
22319         * doc/posix-functions/toupper_l.texi: Renamed from
22320         doc/glibc-functions/toupper_l.texi.
22321         * doc/posix-functions/towctrans_l.texi: Renamed from
22322         doc/glibc-functions/towctrans_l.texi.
22323         * doc/posix-functions/towlower_l.texi: Renamed from
22324         doc/glibc-functions/towlower_l.texi.
22325         * doc/posix-functions/towupper_l.texi: Renamed from
22326         doc/glibc-functions/towupper_l.texi.
22327         * doc/posix-functions/uselocale.texi: Renamed from
22328         doc/glibc-functions/uselocale.texi.
22329         * doc/posix-functions/vdprintf.texi: Renamed from
22330         doc/glibc-functions/vdprintf.texi.
22331         * doc/posix-functions/wcpcpy.texi:
22332         Renamed from doc/glibc-functions/wcpcpy.texi.
22333         * doc/posix-functions/wcpncpy.texi: Renamed from
22334         doc/glibc-functions/wcpncpy.texi.
22335         * doc/posix-functions/wcscasecmp.texi: Renamed from
22336         doc/glibc-functions/wcscasecmp.texi.
22337         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
22338         doc/glibc-functions/wcscasecmp_l.texi.
22339         * doc/posix-functions/wcscoll_l.texi: Renamed from
22340         doc/glibc-functions/wcscoll_l.texi.
22341         * doc/posix-functions/wcsdup.texi: Renamed from
22342         doc/glibc-functions/wcsdup.texi.
22343         * doc/posix-functions/wcsncasecmp.texi: Renamed from
22344         doc/glibc-functions/wcsncasecmp.texi.
22345         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
22346         doc/glibc-functions/wcsncasecmp_l.texi.
22347         * doc/posix-functions/wcsnlen.texi: Renamed from
22348         doc/glibc-functions/wcsnlen.texi.
22349         * doc/posix-functions/wcsnrtombs.texi: Renamed from
22350         doc/glibc-functions/wcsnrtombs.texi.
22351         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
22352         doc/glibc-functions/wcsxfrm_l.texi.
22353         * doc/posix-functions/wctrans_l.texi: Renamed from
22354         doc/glibc-functions/wctrans_l.texi.
22355         * doc/posix-functions/wctype_l.texi: Renamed from
22356         doc/glibc-functions/wctype_l.texi.
22357         * doc/gnulib.texi (Function Substitutes): Add these subsections.
22358         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
22359         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
22360         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
22361         these subsections.
22362         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
22363         Remove sections.
22364
22365 2008-12-14  Bruno Haible  <bruno@clisp.org>
22366
22367         Update doc for POSIX:2008.
22368         * doc/posix-functions/*.texi: Update URL of POSIX specification.
22369
22370 2008-12-14  Bruno Haible  <bruno@clisp.org>
22371
22372         Update doc for POSIX:2008.
22373         * doc/pastposix-functions/bcmp.texi: Renamed from
22374         doc/posix-functions/bcmp.texi.
22375         * doc/pastposix-functions/bcopy.texi: Renamed from
22376         doc/posix-functions/bcopy.texi.
22377         * doc/pastposix-functions/bsd_signal.texi: Renamed from
22378         doc/posix-functions/bsd_signal.texi.
22379         * doc/pastposix-functions/bzero.texi: Renamed from
22380         doc/posix-functions/bzero.texi.
22381         * doc/pastposix-functions/ecvt.texi: Renamed from
22382         doc/posix-functions/ecvt.texi.
22383         * doc/pastposix-functions/fcvt.texi: Renamed from
22384         doc/posix-functions/fcvt.texi.
22385         * doc/pastposix-functions/ftime.texi: Renamed from
22386         doc/posix-functions/ftime.texi.
22387         * doc/pastposix-functions/gcvt.texi: Renamed from
22388         doc/posix-functions/gcvt.texi.
22389         * doc/pastposix-functions/getcontext.texi: Renamed from
22390         doc/posix-functions/getcontext.texi.
22391         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
22392         doc/posix-functions/gethostbyaddr.texi.
22393         * doc/pastposix-functions/gethostbyname.texi: Renamed from
22394         doc/posix-functions/gethostbyname.texi.
22395         * doc/pastposix-functions/getwd.texi: Renamed from
22396         doc/posix-functions/getwd.texi.
22397         * doc/pastposix-functions/h_errno.texi: Renamed from
22398         doc/posix-functions/h_errno.texi.
22399         * doc/pastposix-functions/index.texi: Renamed from
22400         doc/posix-functions/index.texi.
22401         * doc/pastposix-functions/makecontext.texi: Renamed from
22402         doc/posix-functions/makecontext.texi.
22403         * doc/pastposix-functions/mktemp.texi: Renamed from
22404         doc/posix-functions/mktemp.texi.
22405         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
22406         doc/posix-functions/pthread_attr_getstackaddr.texi.
22407         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
22408         doc/posix-functions/pthread_attr_setstackaddr.texi.
22409         * doc/pastposix-functions/rindex.texi: Renamed from
22410         doc/posix-functions/rindex.texi.
22411         * doc/pastposix-functions/scalb.texi: Renamed from
22412         doc/posix-functions/scalb.texi.
22413         * doc/pastposix-functions/setcontext.texi: Renamed from
22414         doc/posix-functions/setcontext.texi.
22415         * doc/pastposix-functions/swapcontext.texi: Renamed from
22416         doc/posix-functions/swapcontext.texi.
22417         * doc/pastposix-functions/ualarm.texi: Renamed from
22418         doc/posix-functions/ualarm.texi.
22419         * doc/pastposix-functions/usleep.texi: Renamed from
22420         doc/posix-functions/usleep.texi.
22421         * doc/pastposix-functions/vfork.texi: Renamed from
22422         doc/posix-functions/vfork.texi.
22423         * doc/pastposix-functions/wcswcs.texi: Renamed from
22424         doc/posix-functions/wcswcs.texi.
22425         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
22426         (Function Substitutes): Update.
22427
22428 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22429
22430         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
22431         m4/strerror.m4.
22432
22433 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22434             Bruno Haible  <bruno@clisp.org>
22435
22436         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
22437
22438 2008-12-13  Bruno Haible  <bruno@clisp.org>
22439
22440         * modules/strtoull (Depends-on): Remove unistd.
22441
22442 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22443
22444         * modules/strtoull (Depends-on): Add stdlib.
22445
22446 2008-12-11  Simon Josefsson  <simon@josefsson.org>
22447
22448         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
22449
22450 2008-12-10  Jim Meyering  <meyering@redhat.com>
22451
22452         gl_ASSERT: don't say assertions are disabled when they're not
22453         * m4/assert.m4 (gl_ASSERT): Do not make configure report
22454         "checking whether to enable assertions... no", when they are in
22455         fact enabled.  This is solely a bug in the output of configure.
22456         In spite of saying "no", NDEBUG was not defined in that case.
22457         Also, as noted by Eric Blake, leave assertions enabled upon
22458         --enable-assert=INVALID.
22459
22460 2008-12-10  Bruno Haible  <bruno@clisp.org>
22461
22462         Change MODULES.html to refer to POSIX:2008 where possible.
22463         * MODULES.html.sh (POSIX2008_URL): New variable.
22464         (posix_headers): Remove sys/timeb, ucontext.
22465         (posix2001_headers): New variable.
22466         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
22467         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
22468         index, makecontext, mktemp, pthread_attr_getstackaddr,
22469         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
22470         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
22471         (posix2001_functions): New variable.
22472         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
22473         otherwise.
22474
22475 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22476
22477         add missing include to parse-duration.c
22478         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
22479         * modules/parse-duration (Depends-on): Add xalloc.
22480
22481         fix sed script reading maint.mk
22482         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
22483         (syntax-check-rules): Use it.
22484
22485 2008-12-09  Bruno Haible  <bruno@clisp.org>
22486
22487         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
22488         MacOS X 10.4/PowerPC.
22489         Reported by Simon Josefsson.
22490
22491 2008-12-08  Jim Meyering  <meyering@redhat.com>
22492
22493         work around mingw's lack of some S_IF definitions
22494         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
22495         Reported by Simon Josefsson.
22496
22497 2008-12-08  Bruno Haible  <bruno@clisp.org>
22498
22499         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
22500         applied to variables. Needed on MacOS X 10.4/PowerPC.
22501         Reported by Simon Josefsson.
22502
22503 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
22504         and Eric Blake  <ebb9@byu.net>
22505
22506         assert: honor --enable-assert
22507         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
22508         order to honor --enable-assert, rather than treating it as a
22509         synonym for --disable-assert.
22510
22511 2008-12-08  Jim Meyering  <meyering@redhat.com>
22512
22513         * lib/posixtm.c: Remove now-useless declaration of mktime.
22514
22515         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
22516
22517 2008-12-07  Bruno Haible  <bruno@clisp.org>
22518
22519         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
22520         test_once): Mark functions as static.
22521         * tests/test-tls.c (test_tls): Likewise.
22522
22523 2008-12-07  Bruno Haible  <bruno@clisp.org>
22524
22525         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
22526         iconv_register_autodetect.
22527
22528 2008-12-07  Jim Meyering  <meyering@redhat.com>
22529
22530         posixtm.c: avoid a warning
22531         * lib/posixtm.c (posixtime): Don't initialize tm0.
22532         It's no longer needed to placate gcc4's -Wuninitialized,
22533         and the attempt to placate would elicit a new warning.
22534
22535         unicodeio.c: mark unused parameters
22536         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
22537         (fallback_failure_callback): Likewise.
22538
22539 2008-12-07  Bruno Haible  <bruno@clisp.org>
22540
22541         * gnulib-tool (func_create_testdir): When building the tests
22542         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
22543         Reported by Simon Josefsson.
22544
22545 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22546
22547         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
22548
22549 2008-12-06  Bruno Haible  <bruno@clisp.org>
22550
22551         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
22552         Suggested by Eric Blake.
22553
22554 2008-12-06  Bruno Haible  <bruno@clisp.org>
22555
22556         Fix a c-stack test failure on MacOS X.
22557         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
22558         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
22559         handler for SIGBUS as well.
22560         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
22561         install a signal handler for SIGBUS as well.
22562         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
22563
22564 2008-12-06  Bruno Haible  <bruno@clisp.org>
22565
22566         Advocacy documentation.
22567         * doc/gnulib-intro.texi (Benefits): New section.
22568         * doc/gnulib.texi: Update.
22569
22570 2008-12-06  Bruno Haible  <bruno@clisp.org>
22571
22572         Document the 'manywarnings' module.
22573         * doc/manywarnings.texi: New file.
22574         * doc/gnulib.texi: Include it.
22575
22576 2008-12-05  Eric Blake  <ebb9@byu.net>
22577
22578         tests: silence some gcc warnings
22579         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
22580         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
22581         type mismatches.
22582
22583 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22584             Bruno Haible  <bruno@clisp.org>
22585
22586         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
22587
22588 2008-11-29  Jim Meyering  <meyering@redhat.com>
22589
22590         unicodeio.c: mark unused parameters
22591         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
22592         (fallback_failure_callback): Likewise.
22593
22594         fts: fix a thinko
22595         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
22596         (set_stat_type): Return S_IF*-valued "type" directly.
22597         Prompted by James Youngman's spotting a related bug.
22598         Confirmed by further testing through find.
22599
22600         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
22601         * lib/fts.c (D_TYPE): Define.
22602         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
22603         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
22604         (s_ifmt_shift_bits): New function.
22605         (set_stat_type): New function.
22606         (fts_build): When not calling fts_stat, call set_stat_type
22607         to propagate dirent.d_type info to fts_read caller.
22608         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
22609         fts_statp->st_mode type information may be valid.
22610
22611 2008-11-28  Simon Josefsson  <simon@josefsson.org>
22612
22613         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
22614         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
22615         <sds@gnu.org>.
22616
22617 2008-11-20  Bruno Haible  <bruno@clisp.org>
22618
22619         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
22620         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
22621         INCLUDE_NEXT.
22622         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
22623         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
22624         * modules/math (Makefile.am): Substitute
22625         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
22626         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22627
22628 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
22629             Bruno Haible  <bruno@clisp.org>
22630
22631         * lib/stdint.in.h: Define all type macros so that their expansion is
22632         a single typedef'ed token. Fixes a compilation failure in Boost which
22633         does "using ::int8_t;".
22634
22635 2008-11-18  Simon Josefsson  <simon@josefsson.org>
22636
22637         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
22638         gl_MANYWARN_ALL_GCC.
22639         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
22640         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
22641         * modules/manywarnings: New file.
22642         * MODULES.html.sh: Mention manywarnings module.
22643
22644 2008-11-18  Bruno Haible  <bruno@clisp.org>
22645
22646         * doc/gnulib-tool.texi (Unit tests): New section.
22647
22648 2008-11-18  Simon Josefsson  <simon@josefsson.org>
22649
22650         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
22651         paths like 'lib/po/foo.po'.
22652
22653 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22654
22655         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
22656         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
22657
22658 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22659
22660         * m4/warnings.m4: Use CPPFLAGS to really check whether the
22661         parameter works.
22662
22663 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22664
22665         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
22666
22667 2008-11-17  Bruce Korb  <bkorb@gnu.org>
22668
22669         * modules/parse-duration-tests: New file.
22670         * tests/test-parse-duration.sh: New file.
22671         * tests/test-parse-duration.c: New file.
22672
22673         New module 'parse-duration'.
22674         * lib/parse-duration.h: New file.
22675         * lib/parse-duration.c: New file.
22676         * modules/parse-duration: New file.
22677
22678 2008-11-17  Bruno Haible  <bruno@clisp.org>
22679
22680         * tests/test-select-out.sh: Comment out the first pipe test.
22681         Reported by Simon Josefsson.
22682
22683 2008-11-17  Bruno Haible  <bruno@clisp.org>
22684
22685         * modules/getaddrinfo (Depends-on): Add servent, hostent.
22686         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
22687         gl_HOSTENT.
22688
22689 2008-11-17  Bruno Haible  <bruno@clisp.org>
22690
22691         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
22692         -lnetwork and -lnet. Needed for Haiku and BeOS.
22693
22694 2008-11-16  Bruno Haible  <bruno@clisp.org>
22695
22696         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
22697
22698 2008-11-16  Bruno Haible  <bruno@clisp.org>
22699
22700         Avoid test failure on Haiku.
22701         * tests/test-fsync.c: Include <errno.h>.
22702         (main): Don't require that fsync (0) fails.
22703
22704 2008-11-15  Bruno Haible  <bruno@clisp.org>
22705
22706         New module 'hostent'.
22707         * modules/hostent: New file.
22708         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
22709
22710 2008-11-15  Bruno Haible  <bruno@clisp.org>
22711
22712         New module 'servent'.
22713         * modules/servent: New file.
22714         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
22715
22716 2008-11-15  Bruno Haible  <bruno@clisp.org>
22717
22718         Avoid generating same test program with two different rules.
22719         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
22720         test-frexp to test-frexp-nolibm.
22721         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
22722         test-frexpl to test-frexpl-nolibm.
22723
22724 2008-11-15  Bruno Haible  <bruno@clisp.org>
22725
22726         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
22727         $(FREXPL_LIBM).
22728
22729 2008-11-15  Bruno Haible  <bruno@clisp.org>
22730
22731         * lib/netdb.in.h: Activate the definitions also when the system's
22732         <netdb.h> has 'struct addrinfo'.
22733         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
22734         EAI_OVERFLOW or AI_NUMERICSERV.
22735         * doc/posix-headers/netdb.texi: Document the problem.
22736
22737 2008-11-15  Bruno Haible  <bruno@clisp.org>
22738
22739         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
22740
22741         Make the 'sched' module work on platforms where <sched.h> exists but
22742         is incomplete (such as Haiku).
22743         * lib/sched.in.h; Include the system's <sched.h> if it exists.
22744         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
22745         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
22746         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
22747         HAVE_STRUCT_SCHED_PARAM.
22748         * modules/sched (Depends-on): Add include_next.
22749         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
22750         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
22751         * doc/posix-headers/sched.texi: Document the issue.
22752
22753 2008-11-13  Jim Meyering  <meyering@redhat.com>
22754
22755         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
22756         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
22757         test would fail due to the difference in the Report bugs to ...
22758         line.  The expected address is empty, "<>", while the actual
22759         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
22760
22761 2008-11-12  Bruno Haible  <bruno@clisp.org>
22762
22763         lstat: don't compile lstat.c on systems lacking lstat
22764         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
22765         which don't have lstat; this is handled by lib/sys_stat.in.h already.
22766         Reported by Daniel P. Berrange via Jim Meyering.
22767
22768 2008-11-12  Jim Meyering  <meyering@redhat.com>
22769
22770         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
22771
22772 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22773
22774         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
22775         instead.
22776
22777 2008-11-12  Bruno Haible  <bruno@clisp.org>
22778
22779         * lib/unicodeio.c: Include unistr.h.
22780         (utf8_wctomb): Remove function.
22781         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
22782
22783 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22784
22785         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
22786         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
22787         <bruno@clisp.org>.
22788         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
22789
22790 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22791
22792         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
22793         * doc/gnulib.texi: Add section for warnings.
22794
22795 2008-11-11  Bruno Haible  <bruno@clisp.org>
22796
22797         * lib/sockets.h: Add a comment.
22798
22799 2008-11-11  Karl Berry  <karl@gnu.org>
22800
22801         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
22802
22803 2008-11-11  Eric Blake  <ebb9@byu.net>
22804
22805         fdl.texi: avoid git symlinks
22806         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
22807
22808 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22809
22810         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
22811
22812 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22813
22814         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
22815         (gl_WARN_ADD): Substitute $2 if literal.
22816
22817 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22818
22819         * m4/warning.m4: Remove.
22820
22821 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22822
22823         * m4/warnings.m4: Almost complete rewrite. :-)
22824
22825 2008-11-10  Simon Josefsson  <simon@josefsson.org>
22826
22827         * modules/warnings: New module.
22828         * m4/warnings.m4: New file.
22829         * MODULES.html.sh: Mention warnings module.
22830         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
22831         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22832
22833 2008-11-10  Eric Blake  <ebb9@byu.net>
22834
22835         fdl.texi: make a symlink to the latest version
22836         * doc/standards.texi: Revert today's earlier change.
22837         * doc/fdl-1.2.texi: Rename from old fdl.texi...
22838         * doc/fdl.texi: ...and replace this with a symlink to the newer
22839         fdl-1.3.texi.
22840
22841 2008-11-10  Bruno Haible  <bruno@clisp.org>
22842
22843         * tests/test-select-fd.c (main): Accept the result file name as fourth
22844         argument.
22845         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
22846         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
22847
22848 2008-11-10  Bruno Haible  <bruno@clisp.org>
22849
22850         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
22851         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
22852         as autoconf-substituted macros.
22853         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
22854         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
22855         gl_NETDB_H_DEFAULTS. Set these variables.
22856         * modules/netdb (Makefile.am): Substitute these variables.
22857
22858 2008-11-10  Eric Blake  <ebb9@byu.net>
22859
22860         standards.texi: include correct file for FDL 1.3
22861         * doc/standards.texi (GNU Free Documentation License): Change
22862         include file to pull in FDL 1.3, not 1.2.
22863
22864         fdl.texi: revert accidental change to license
22865         * doc/fdl.texi: This is FDL 1.2, not 1.3.
22866
22867 2008-11-10  Bruno Haible  <bruno@clisp.org>
22868
22869         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
22870         cross-compiling guesses also when the native compile gives no result.
22871
22872 2008-11-10  Bruno Haible  <bruno@clisp.org>
22873
22874         * lib/spawni.c (__spawni): Force variable into the stack.
22875
22876 2008-11-10  Bruno Haible  <bruno@clisp.org>
22877
22878         Add support for Haiku.
22879         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
22880         glibc and BeOS, but also on Haiku.
22881         * lib/fpurge.c (fpurge): Likewise.
22882         * lib/freadable.c (freadable): Likewise.
22883         * lib/freadahead.c (freadahead): Likewise.
22884         * lib/freading.c (freading): Likewise.
22885         * lib/freadptr.c (freadptr): Likewise.
22886         * lib/freadseek.c (freadptrinc): Likewise.
22887         * lib/fseeko.c (rpl_fseeko): Likewise.
22888         * lib/fseterr.c (fseterr): Likewise.
22889         * lib/fwritable.c (fwritable): Likewise.
22890         * lib/fwriting.c (fwriting): Likewise.
22891         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
22892
22893 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
22894
22895         * lib/config.charset: Treat Haiku like BeOS.
22896
22897 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
22898
22899         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
22900         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
22901
22902 2008-11-08  Bruno Haible  <bruno@clisp.org>
22903
22904         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
22905         AC_CACHE_CHECK.
22906
22907 2008-11-08  Bruno Haible  <bruno@clisp.org>
22908
22909         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
22910
22911 2008-11-08  Bruno Haible  <bruno@clisp.org>
22912
22913         * tests/test-select-fd.c: New file.
22914         * tests/test-select-in.sh: New file.
22915         * tests/test-select-out.sh: New file.
22916         * tests/test-select-stdin.c: New file.
22917         * modules/select-tests (Files): Add the new files.
22918         (Depends-on): Add gettimeofday.
22919         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
22920         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
22921         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
22922
22923 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
22924             Bruno Haible  <bruno@clisp.org>
22925
22926         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
22927
22928 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
22929
22930         * build-aux/pmccabe2html: Added support for C++ source files.
22931
22932 2008-11-05  Ben Pfaff  <blp@gnu.org>
22933
22934         Fix lib/close.c build on Windows.
22935         * modules/close (Files): Add lib/w32sock.h.
22936
22937 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
22938
22939         Accept Bison's NEWS format.
22940         * build-aux/announce-gen (print_news_deltas): Tweak
22941         $re_prefix.
22942
22943 2008-11-04  Bruno Haible  <bruno@clisp.org>
22944
22945         * modules/random_r (Maintainer): Add glibc.
22946
22947 2008-11-04  Simon Josefsson  <simon@josefsson.org>
22948
22949         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
22950         by karl@freefriends.org (Karl Berry).
22951         * doc/alloca.texi: Likewise.
22952         * doc/c-ctype.texi: Likewise.
22953         * doc/c-strcase.texi: Likewise.
22954         * doc/c-strcaseeq.texi: Likewise.
22955         * doc/c-strcasestr.texi: Likewise.
22956         * doc/c-strstr.texi: Likewise.
22957         * doc/c-strtod.texi: Likewise.
22958         * doc/c-strtold.texi: Likewise.
22959         * doc/ctime.texi: Likewise.
22960         * doc/error.texi: Likewise.
22961         * doc/fdl.texi: Likewise.
22962         * doc/gcd.texi: Likewise.
22963         * doc/getdate.texi: Likewise.
22964         * doc/gnulib-intro.texi: Likewise.
22965         * doc/gnulib-tool.texi: Likewise.
22966         * doc/gnulib.texi: Likewise.
22967         * doc/inet_ntoa.texi: Likewise.
22968         * doc/maintain.texi: Likewise.
22969         * doc/make-stds.texi: Likewise.
22970         * doc/quote.texi: Likewise.
22971         * doc/regexprops-generic.texi: Likewise.
22972         * doc/standards.texi: Likewise.
22973         * doc/verify.texi: Likewise.
22974         * doc/visibility.texi: Likewise.
22975         * doc/gnulib.texi (GNU Free Documentation License): Include
22976         fdl-1.3.texi instead of fdl.texi.
22977
22978 2008-11-04  Simon Josefsson  <simon@josefsson.org>
22979
22980         * doc/fdl-1.3.texi: New file, from
22981         <http://www.gnu.org/licenses/fdl-1.3.texi>.
22982         * modules/fdl-1.3: Add.
22983         * MODULES.html.sh: Add fdl-1.3.
22984
22985 2008-11-03  Bruno Haible  <bruno@clisp.org>
22986
22987         Make determination of absolute name of header file work with AIX xlc.
22988         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
22989         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
22990         preprocessing.
22991         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
22992         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
22993
22994 2008-11-03  Simon Josefsson  <simon@josefsson.org>
22995
22996         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
22997         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
22998         <ludo@gnu.org>.
22999
23000 2008-11-02  Bruno Haible  <bruno@clisp.org>
23001
23002         Mark 'strpbrk' obsolete.
23003         * modules/strpbrk (Status, Notice): New sections.
23004         * modules/strtok_r (Depends-on): Add strpbrk.
23005
23006 2008-11-02  Bruno Haible  <bruno@clisp.org>
23007
23008         Mark 'strdup' obsolete.
23009         * modules/strdup (Status, Notice): New sections.
23010         * modules/findprog (Depends-on): Add strdup.
23011         * modules/getaddrinfo (Depends-on): Likewise.
23012         * modules/localename (Depends-on): Likewise.
23013         * modules/relocatable-lib (Depends-on): Likewise.
23014         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
23015         * modules/relocatable-prog (Depends-on): Likewise.
23016         * modules/trim (Depends-on): Likewise.
23017         * modules/unictype/gen-ctype (Depends-on): Likewise.
23018         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
23019
23020 2008-11-02  Bruno Haible  <bruno@clisp.org>
23021
23022         Mark 'strcspn' obsolete.
23023         * modules/strcspn (Status, Notice): New sections.
23024
23025 2008-11-02  Bruno Haible  <bruno@clisp.org>
23026
23027         Mark 'rmdir' obsolete.
23028         * modules/rmdir (Status, Notice): New sections.
23029         * modules/clean-temp (Depends-on): Add rmdir.
23030         * modules/openat (Depends-on): Likewise.
23031
23032 2008-11-02  Bruno Haible  <bruno@clisp.org>
23033
23034         Mark 'raise' obsolete.
23035         * modules/raise (Status, Notice): New sections.
23036         (Include): Specify <signal.h>.
23037         * modules/stdio (Depends-on): Add raise.
23038         * modules/write (Depends-on): Likewise.
23039
23040 2008-11-02  Bruno Haible  <bruno@clisp.org>
23041
23042         Mark 'memset' obsolete.
23043         * modules/memset (Status, Notice): New sections.
23044
23045 2008-11-02  Bruno Haible  <bruno@clisp.org>
23046
23047         Mark 'memmove' obsolete.
23048         * modules/memmove (Status, Notice): New sections.
23049         * modules/argp (Depends-on): Add memmove.
23050         * modules/argz (Depends-on): Likewise.
23051         * modules/canonicalize (Depends-on): Likewise.
23052         * modules/canonicalize-lgpl (Depends-on): Likewise.
23053         * modules/fts (Depends-on): Likewise.
23054         * modules/getcwd (Depends-on): Likewise.
23055         * modules/human (Depends-on): Likewise.
23056         * modules/regex (Depends-on): Likewise.
23057         * modules/striconveh (Depends-on): Likewise.
23058         * modules/trim (Depends-on): Likewise.
23059         * modules/unistr/u8-move (Depends-on): Likewise.
23060         * modules/unistr/u16-move (Depends-on): Likewise.
23061         * modules/unistr/u32-move (Depends-on): Likewise.
23062
23063 2008-11-02  Bruno Haible  <bruno@clisp.org>
23064
23065         Mark 'memcpy' obsolete.
23066         * modules/memcpy (Status, Notice): New sections.
23067
23068 2008-11-02  Bruno Haible  <bruno@clisp.org>
23069
23070         Mark 'memcmp' obsolete.
23071         * modules/memcmp (Status, Notice): New sections.
23072         * modules/argmatch (Depends-on): Add memchr.
23073         * modules/backupfile (Depends-on): Likewise.
23074         * modules/c-strcasestr (Depends-on): Likewise.
23075         * modules/crypto/des (Depends-on): Likewise.
23076         * modules/csharpcomp (Depends-on): Likewise.
23077         * modules/fnmatch (Depends-on): Likewise.
23078         * modules/git-merge-changelog (Depends-on): Likewise.
23079         * modules/isnand (Depends-on): Likewise.
23080         * modules/isnand-nolibm (Depends-on): Likewise.
23081         * modules/isnanf (Depends-on): Likewise.
23082         * modules/isnanf-nolibm (Depends-on): Likewise.
23083         * modules/isnanl (Depends-on): Likewise.
23084         * modules/isnanl-nolibm (Depends-on): Likewise.
23085         * modules/mbchar (Depends-on): Likewise.
23086         * modules/memcoll (Depends-on): Likewise.
23087         * modules/quotearg (Depends-on): Likewise.
23088         * modules/regex (Depends-on): Likewise.
23089         * modules/relocatable-prog (Depends-on): Likewise.
23090         * modules/same (Depends-on): Likewise.
23091         * modules/signbit (Depends-on): Likewise.
23092         * modules/strcasestr-simple (Depends-on): Likewise.
23093         * modules/unictype/gen-ctype (Depends-on): Likewise.
23094         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
23095         * modules/uniname/uniname (Depends-on): Likewise.
23096         * modules/unistr/u8-cmp (Depends-on): Likewise.
23097
23098 2008-11-02  Bruno Haible  <bruno@clisp.org>
23099
23100         Mark 'memchr' obsolete.
23101         * modules/memchr (Status, Notice): New sections.
23102         * modules/argp (Depends-on): Add memchr.
23103         * modules/base64 (Depends-on): Likewise.
23104         * modules/c-strcasestr (Depends-on): Likewise.
23105         * modules/chdir-long (Depends-on): Likewise.
23106         * modules/fnmatch (Depends-on): Likewise.
23107         * modules/getsubopt (Depends-on): Likewise.
23108         * modules/git-merge-changelog (Depends-on): Likewise.
23109         * modules/glob (Depends-on): Likewise.
23110         * modules/strcasestr-simple (Depends-on): Likewise.
23111         * modules/strnlen (Depends-on): Likewise.
23112
23113 2008-11-02  Bruno Haible  <bruno@clisp.org>
23114
23115         Mark 'atexit' obsolete.
23116         * modules/atexit (Status, Notice): New sections.
23117         * modules/chdir-long (Depends-on): Add atexit.
23118         * modules/wait-process (Depends-on): Likewise.
23119
23120 2008-11-02  Bruno Haible  <bruno@clisp.org>
23121
23122         * gnulib-tool: New option --with-obsolete.
23123         (func_usage): Document it.
23124         (func_modules_transitive_closure): Drop obsolete dependencies if
23125         incobsolete is not true.
23126         (func_import): Read and save the incobsolete variable to the cache.
23127
23128 2008-11-02  Bruno Haible  <bruno@clisp.org>
23129
23130         * modules/TEMPLATE-EXTENDED: New field 'Status'.
23131         * gnulib-tool: New option --extract-status.
23132         (func_usage): Document it.
23133         (sed_extract_prog): Recognize it.
23134         (func_get_status): New function.
23135
23136 2008-10-30  Simon Josefsson  <simon@josefsson.org>
23137
23138         * modules/sockets (License): Change from LGPL to LGPLv2+.
23139
23140 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23141
23142         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
23143
23144 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23145
23146         * MODULES.html.sh (Support for systems lacking POSIX:2001):
23147         Mention times and sys_times.
23148         * modules/sys_times, modules/sys_times-tests: New modules.
23149         * modules/times, modules/times-tests: Likewise
23150         * m4/sys_times_h.m4: New file.
23151         * lib/sys_times.in.h: Likewise
23152         * lib/times.c: Likewise.
23153         * tests/test-sys_times.c: Likewise.
23154         * tests/test-times.c: Likewise.
23155         * doc/posix-headers/sys_times.texi: Update.
23156         * doc/posix-functions/times.texi: Update.
23157
23158 2008-10-28  Jim Meyering  <meyering@redhat.com>
23159
23160         * modules/tempname (Depends-on): Add lstat.
23161
23162         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
23163
23164 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23165
23166         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
23167         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
23168         using idiom used elsewhere in gnulib.
23169
23170 2008-10-27  Jim Meyering  <meyering@redhat.com>
23171
23172         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
23173
23174 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23175
23176         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
23177         TESTS_ENVIRONMENT, for shell scripts that needs to call built
23178         programs.
23179         * tests/test-argp-2.sh: Use $EXEEXT when needed.
23180
23181 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23182
23183         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
23184
23185 2008-10-27  Bruno Haible  <bruno@clisp.org>
23186
23187         * tests/test-lstat.c: Include <stdio.h>.
23188
23189 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23190
23191         * modules/lstat-tests: New module.
23192         * tests/test-lstat.c: New file.
23193
23194 2008-10-26  Jim Meyering  <meyering@redhat.com>
23195
23196         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
23197
23198 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23199             Bruno Haible  <bruno@clisp.org>
23200
23201         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
23202         * modules/configmake (Include): Add a note that the include must come
23203         after all system headers.
23204         * lib/javaversion.c: Include configmake.h after all other includes.
23205
23206 2008-10-26  Bruno Haible  <bruno@clisp.org>
23207
23208         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
23209         HAVE_STRUCT_RANDOM_DATA to 1.
23210         (gl_STDLIB_H): Simplify.
23211
23212 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23213
23214         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
23215         substitute HAVE_STRUCT_RANDOM_DATA.
23216         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
23217         random_data.
23218         * modules/stdlib (Makefile.am): Substitute
23219         HAVE_STRUCT_RANDOM_DATA.
23220
23221 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23222
23223         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
23224         * doc/gnulib-intro.texi (Copyright): Likewise.
23225
23226 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23227
23228         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
23229         findings.
23230
23231 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
23232             Bruno Haible  <bruno@clisp.org>
23233
23234         * lib/unistd.in.h: Include <winsock2.h>.
23235         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
23236         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
23237         Provide dummy declarations.
23238         (gethostname): Override.
23239         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
23240         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
23241         gl_PREREQ_SYS_H_WINSOCK2.
23242         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
23243         * doc/posix-functions/gethostname.texi: More details.
23244
23245 2008-10-25  Bruno Haible  <bruno@clisp.org>
23246
23247         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
23248         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
23249         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
23250
23251         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
23252         here ...
23253         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
23254         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
23255         gl_UNISTD_H_DEFAULTS.
23256
23257 2008-10-25  Eric Blake  <ebb9@byu.net>
23258
23259         signbit: avoid spurious compiler failure
23260         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
23261         declarations inside function.
23262
23263 2008-10-24  Simon Josefsson  <simon@josefsson.org>
23264             Bruno Haible  <bruno@clisp.org>
23265
23266         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
23267         * modules/random_r (Depends-on): Add stdint.
23268
23269 2008-10-24  Bruno Haible  <bruno@clisp.org>
23270
23271         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
23272         Eggert.
23273         * modules/strerror (License): Likewise.
23274
23275 2008-10-24  Jim Meyering  <meyering@redhat.com>
23276
23277         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
23278         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
23279
23280 2008-10-24  Eric Blake  <ebb9@byu.net>
23281
23282         getgroups: fix compilation when getgroups is available
23283         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
23284         but with <config.h> override of getgroups disabled.
23285
23286 2008-10-24  Simon Josefsson  <simon@josefsson.org>
23287
23288         * doc/gnulib.texi (Header files): Add note about C++ problems.
23289         Explained by Bruno Haible <bruno@clisp.org>.
23290
23291 2008-10-23  Bruno Haible  <bruno@clisp.org>
23292
23293         Define a dummy SA_NODEFER macro on Interix.
23294         * lib/signal.in.h (SA_NODEFER): Define fallback.
23295         Reported by Aleksey Cheusov <cheusov@tut.by> via
23296         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
23297
23298 2008-10-23  Bruno Haible  <bruno@clisp.org>
23299
23300         * modules/freadahead (License): Change to LGPLv2+.
23301         Suggested by Simon Josefsson.
23302
23303 2008-10-23  Jim Meyering  <meyering@redhat.com>
23304
23305         random_r: new module
23306         * modules/random_r: New file.
23307         * m4/random_r.m4: New file.
23308         * lib/random_r.c: New file, from glibc.
23309         * modules/random_r-tests: New file.
23310         * tests/test-random_r.c: New file.
23311         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
23312          Declare.
23313         (RAND_MAX): Define.
23314         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
23315         * modules/stdlib: Substitute them, too.
23316         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
23317         * doc/glibc-functions/initstate_r.texi: Mention the new module.
23318         * doc/glibc-functions/random_r.texi: Likewise.
23319         * doc/glibc-functions/setstate_r.texi: Likewise.
23320         * doc/glibc-functions/srandom_r.texi: Likewise.
23321         * config/srclist.txt: Mention it.
23322
23323 2008-10-23  David Lutterkort  <lutter@redhat.com>
23324
23325         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
23326         link requirement
23327
23328 2008-10-23  Jim Meyering  <meyering@redhat.com>
23329
23330         selinux-h: mark parameters of stub functions as intentionally unused
23331         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
23332         * lib/se-context.in.h: Likewise.
23333
23334 2008-10-22  Simon Josefsson  <simon@josefsson.org>
23335
23336         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
23337
23338 2008-10-22  Simon Josefsson  <simon@josefsson.org>
23339
23340         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
23341
23342 2008-10-22  Eric Blake  <ebb9@byu.net>
23343
23344         glthread/thread: avoid compiler warning
23345         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
23346         Add unreachable abort to silence compiler.
23347
23348 2008-10-22  Eric Blake  <ebb9@byu.net>
23349
23350         netdb: also supply struct addrinfo for cygwin 1.5.x
23351         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
23352         older cygwin.
23353         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
23354         cygwin.
23355         * doc/posix-headers/netdb.texi (netdb.h): Document this.
23356
23357 2008-10-22  Bruno Haible  <bruno@clisp.org>
23358
23359         * users.txt: Update entry about pspp.
23360
23361 2008-10-21  Bruno Haible  <bruno@clisp.org>
23362
23363         Simplification.
23364         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
23365         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
23366
23367         Simplification.
23368         * lib/ioctl.c (ioctl): Don't undefine.
23369         * lib/socket.c (socket): Don't undefine.
23370
23371         Remove unused module indicator macros.
23372         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
23373         GNULIB_$1 as a C macro.
23374
23375         * doc/posix-functions/close.texi: Undo last change.
23376         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
23377         Windows platforms.
23378
23379 2008-10-21  Bruno Haible  <bruno@clisp.org>
23380
23381         Add gethostname() declaration to <unistd.h>.
23382         * lib/unistd.in.h (gethostname): New declaration.
23383         * lib/gethostname.c: Include <unistd.h>.
23384         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
23385         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
23386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
23387         and HAVE_GETHOSTNAME.
23388         * modules/gethostname (Depends-on): Add unistd.
23389         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23390         (Include): Specify <unistd.h>.
23391         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
23392         HAVE_GETHOSTNAME.
23393         * tests/test-gethostname.c: Include <unistd.h> first.
23394
23395 2008-10-21  Bruno Haible  <bruno@clisp.org>
23396
23397         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
23398         * modules/select-tests (Depends-on): Likewise.
23399         Reported by Simon Josefsson.
23400
23401 2008-10-21  Simon Josefsson  <simon@josefsson.org>
23402
23403         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
23404         * lib/accept.c: New file, based on winsock.c.
23405         * lib/bind.c: New file, based on winsock.c.
23406         * lib/connect.c: New file, based on winsock.c.
23407         * lib/getpeername.c: New file, based on winsock.c.
23408         * lib/getsockname.c: New file, based on winsock.c.
23409         * lib/getsockopt.c: New file, based on winsock.c.
23410         * lib/ioctl.c: New file, based on winsock.c.
23411         * lib/listen.c: New file, based on winsock.c.
23412         * lib/recv.c: New file, based on winsock.c.
23413         * lib/recvfrom.c: New file, based on winsock.c.
23414         * lib/send.c: New file, based on winsock.c.
23415         * lib/sendto.c: New file, based on winsock.c.
23416         * lib/setsockopt.c: New file, based on winsock.c.
23417         * lib/shutdown.c: New file, based on winsock.c.
23418         * lib/socket.c: New file, based on winsock.c.
23419         * lib/w32sock.h: New file, based on winsock.c.
23420         * lib/winsock.c: Remove file.
23421         * modules/accept: Likewise.
23422         * modules/bind: Likewise.
23423         * modules/connect: Likewise.
23424         * modules/getpeername: Likewise.
23425         * modules/getsockname: Likewise.
23426         * modules/getsockopt: Likewise.
23427         * modules/ioctl: Likewise.
23428         * modules/listen: Likewise.
23429         * modules/recv: Likewise.
23430         * modules/recvfrom: Likewise.
23431         * modules/send: Likewise.
23432         * modules/sendto: Likewise.
23433         * modules/setsockopt: Likewise.
23434         * modules/shutdown: Likewise.
23435         * modules/socket: Use socket.c instead of winsock.c.
23436         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
23437         * doc/posix-functions/accept.texi: Doc fix.
23438         * doc/posix-functions/bind.texi: Doc fix.
23439         * doc/posix-functions/close.texi: Doc fix.
23440         * doc/posix-functions/connect.texi: Doc fix.
23441         * doc/posix-functions/getpeername.texi: Doc fix.
23442         * doc/posix-functions/getsockname.texi: Doc fix.
23443         * doc/posix-functions/getsockopt.texi: Doc fix.
23444         * doc/posix-functions/ioctl.texi: Doc fix.
23445         * doc/posix-functions/listen.texi: Doc fix.
23446         * doc/posix-functions/recv.texi: Doc fix.
23447         * doc/posix-functions/recvfrom.texi: Doc fix.
23448         * doc/posix-functions/send.texi: Doc fix.
23449         * doc/posix-functions/sendto.texi: Doc fix.
23450         * doc/posix-functions/setsockopt.texi: Doc fix.
23451         * doc/posix-functions/shutdown.texi: Doc fix.
23452         * doc/posix-functions/socket.texi: Doc fix.
23453
23454 2008-10-20  Bruno Haible  <bruno@clisp.org>
23455
23456         Take into account the role of SIGABRT_COMPAT on Windows 2008.
23457         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
23458         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
23459         as an alias for SIGABRT.
23460         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
23461         (sigaction): Map it to SIGABRT.
23462         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
23463
23464 2008-10-20  Bruno Haible  <bruno@clisp.org>
23465
23466         * lib/fts.c: Don't include lstat.h.
23467         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
23468
23469         Move the lstat() declaration to <sys/stat.h>.
23470         * lib/lstat.h: Remove file.
23471         * lib/sys_stat.in.h: Add special invocation convention.
23472         (lstat): New declaration.
23473         * lib/lstat.c (orig_lstat): New function.
23474         (rpl_lstat): Use orig_lstat instead of lstat.
23475         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
23476         AC_C_INLINE. Set REPLACE_LSTAT.
23477         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
23478         and REPLACE_LSTAT.
23479         * modules/lstat (Files): Remove lib/lstat.h.
23480         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
23481         (Include): Specify <sys/stat.h> instead of lstat.h.
23482         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
23483         REPLACE_LSTAT.
23484         * NEWS: Mention the change.
23485
23486 2008-10-20  Bruno Haible  <bruno@clisp.org>
23487
23488         * modules/posix_spawn-tests: New file.
23489         * tests/test-posix_spawn3.c: New file.
23490
23491 2008-10-20  Bruno Haible  <bruno@clisp.org>
23492
23493         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
23494         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
23495         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
23496         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
23497         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
23498
23499 2008-10-20  Bruno Haible  <bruno@clisp.org>
23500
23501         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
23502         of posix_spawn on AIX 5.3.
23503
23504 2008-10-20  Bruno Haible  <bruno@clisp.org>
23505
23506         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
23507
23508 2008-10-20  Bruno Haible  <bruno@clisp.org>
23509
23510         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
23511         of AC_LANG_PROGRAM.
23512
23513 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23514
23515         * lib/netdb.in.h: Don't define GNU specific constants until they
23516         are supported or needed.  Reported by Bruno Haible
23517         <bruno@clisp.org>.
23518
23519 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23520
23521         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
23522
23523 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23524
23525         * lib/getaddrinfo.h: Remove file.
23526         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
23527         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
23528         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
23529         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
23530         * modules/netdb: Substitute GNULIB_GETADDRINFO.
23531         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
23532         * tests/test-getaddrinfo.c: Likewise.
23533         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
23534         * NEWS: Mention change.
23535
23536 2008-10-19  Bruno Haible  <bruno@clisp.org>
23537
23538         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
23539
23540 2008-10-19  Bruno Haible  <bruno@clisp.org>
23541
23542         * lib/wait-process.c: Include simply <sys/wait.h>.
23543         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
23544         WIFSTOPPED): Remove fallback definitions.
23545         * modules/wait-process (Depends-on): Add sys_wait.
23546
23547         New module 'sys_wait'.
23548         * modules/sys_wait: New file.
23549         * lib/sys_wait.in.h: New file, partially copied from
23550         lib/wait-process.c.
23551         * m4/sys_wait_h.m4: New file.
23552         * doc/posix-headers/sys_wait.texi: Mention the new module.
23553
23554 2008-10-19  Bruno Haible  <bruno@clisp.org>
23555
23556         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
23557
23558 2008-10-19  Bruno Haible  <bruno@clisp.org>
23559
23560         Assume that waitpid() fills an 'int' status, not a 'union wait'.
23561         * lib/wait-process.c (WAIT_T): Remove type.
23562         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
23563         (wait_subprocess): Update.
23564
23565 2008-10-19  Bruno Haible  <bruno@clisp.org>
23566
23567         New module 'atoll'.
23568         * modules/atoll: New file.
23569         * lib/stdlib.in.h (atoll): New declaration.
23570         * lib/atoll.c: New file, from glibc with modifications.
23571         * m4/atoll.m4: New file.
23572         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
23573         HAVE_ATOLL.
23574         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
23575         * doc/posix-functions/atoll.texi: Mention the new module.
23576
23577 2008-10-19  Bruno Haible  <bruno@clisp.org>
23578
23579         Add strtoull() declaration to <stdlib.h>.
23580         * lib/stdlib.in.h (strtoull): New declaration.
23581         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
23582         Set HAVE_STRTOULL.
23583         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
23584         HAVE_STRTOULL.
23585         * modules/strtoull (Depends-on): Add stdlib.
23586         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23587         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
23588         HAVE_STRTOULL.
23589
23590 2008-10-19  Bruno Haible  <bruno@clisp.org>
23591
23592         Add strtoll() declaration to <stdlib.h>.
23593         * lib/stdlib.in.h (strtoll): New declaration.
23594         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
23595         Set HAVE_STRTOLL.
23596         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
23597         HAVE_STRTOLL.
23598         * modules/strtoll (Depends-on): Add stdlib.
23599         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23600         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
23601
23602 2008-10-19  Bruno Haible  <bruno@clisp.org>
23603
23604         * modules/bcopy (Depends-on): Add strings.
23605         (Include): Specify <strings.h>.
23606
23607 2008-10-19  Bruno Haible  <bruno@clisp.org>
23608
23609         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
23610
23611 2008-10-19  Bruno Haible  <bruno@clisp.org>
23612
23613         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
23614         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
23615         mingw.
23616
23617 2008-10-19  Bruno Haible  <bruno@clisp.org>
23618
23619         * lib/atanl.c: Don't include isnanl.h.
23620         * lib/cosl.c: Likewise.
23621         * lib/ldexpl.c: Likewise.
23622         * lib/logl.c: Likewise.
23623         * lib/sinl.c: Likewise.
23624         * lib/sqrtl.c: Likewise.
23625         * lib/tanl.c: Likewise.
23626
23627         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
23628         * lib/isnanf.h: Remove file.
23629         * lib/isnand.h: Remove file.
23630         * lib/isnanl.h: Remove file.
23631         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
23632         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
23633         macros.
23634         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
23635         HAVE_ISNANF, don't define it as a C macro.
23636         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
23637         HAVE_ISNAND, don't define it as a C macro.
23638         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
23639         HAVE_ISNANL, don't define it as a C macro.
23640         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
23641         HAVE_ISNAN[FDL].
23642         * modules/isnanf (Files): Remove lib/isnanf.h.
23643         (Depends-on): Add math.
23644         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23645         (Include): Specify <math.h> instead of isnanf.h.
23646         * modules/isnand (Files): Remove lib/isnand.h.
23647         (Depends-on): Add math.
23648         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23649         (Include): Specify <math.h> instead of isnand.h.
23650         * modules/isnanl (Files): Remove lib/isnanl.h.
23651         (Depends-on): Add math.
23652         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23653         (Include): Specify <math.h> instead of isnanl.h.
23654         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
23655         HAVE_ISNAN[FDL].
23656         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
23657         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
23658         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
23659         * NEWS: Mention the change.
23660
23661 2008-10-18  Bruno Haible  <bruno@clisp.org>
23662
23663         Add getusershell(), setusershell(), endusershell() declarations to
23664         <unistd.h>.
23665         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
23666         declarations.
23667         * lib/getusershell.c: Include unistd.h.
23668         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
23669         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
23670         HAVE_GETUSERSHELL.
23671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
23672         and HAVE_GETUSERSHELL.
23673         * modules/getusershell (Depends-on): Add unistd, extensions.
23674         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23675         (Include): Specify <unistd.h>.
23676         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
23677         HAVE_GETUSERSHELL.
23678
23679 2008-10-18  Bruno Haible  <bruno@clisp.org>
23680
23681         Add a getloadavg() declaration to <stdlib.h>.
23682         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
23683         getloadavg declaration.
23684         (getloadavg): New declaration.
23685         * lib/getloadavg.c: Include <stdlib.h> first.
23686         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
23687         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
23688         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
23689         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
23690         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
23691         * modules/getloadavg (Depends-on): Add stdlib, extensions.
23692         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23693         (Include): Specify <stdlib.h>.
23694         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
23695         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
23696
23697 2008-10-18  Bruno Haible  <bruno@clisp.org>
23698
23699         * lib/dirchownmod.c: Don't include lchmod.h.
23700
23701         Move the lchmod() declaration to <sys/stat.h>.
23702         * lib/lchmod.h: Remove file.
23703         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
23704         (lchmod): New declaration, moved here from lib/lchown.h.
23705         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
23706         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
23707         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
23708         and HAVE_LCHMOD.
23709         * modules/lchmod (Files): Remove lib/lchmod.h.
23710         (Depends-on): Add sys_stat, extensions.
23711         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
23712         (Include): Specify <sys/stat.h> instead of lchmod.h.
23713         * modules/sys_stat (Depends-on): Add link-warning.
23714         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
23715         definition of GL_LINK_WARNING.
23716         * NEWS: Mention the change.
23717
23718 2008-10-18  Bruno Haible  <bruno@clisp.org>
23719
23720         * lib/fchdir.c: Don't include dirfd.h.
23721         * lib/fts.c: Likewise.
23722         * lib/getcwd.c: Likewise.
23723         * lib/glob.c: Likewise.
23724
23725         Move the dirfd() declaration to <dirent.h>.
23726         * lib/dirfd.h: Remove file.
23727         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
23728         (dirfd): New declaration.
23729         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
23730         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
23731         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
23732         HAVE_DECL_DIRFD.
23733         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
23734         HAVE_DECL_DIRFD.
23735         * modules/dirfd (Files): Remove lib/dirfd.h.
23736         (Depends-on): Add dirent, extensions.
23737         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
23738         (Include): Specify <dirent.h> instead of dirfd.h.
23739         * modules/dirent (Depends-on): Add link-warning.
23740         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
23741         definition of GL_LINK_WARNING.
23742         * NEWS: Mention the change.
23743
23744 2008-10-18  Bruno Haible  <bruno@clisp.org>
23745
23746         Move the euidaccess() declaration to <unistd.h>.
23747         * lib/euidaccess.h: Remove file.
23748         * lib/unistd.in.h (euidaccess): New declaration.
23749         * lib/euidaccess.c: Don't include euidaccess.h.
23750         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
23751         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
23752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
23753         and HAVE_EUIDACCESS.
23754         * modules/euidaccess (Files): Remove lib/euidaccess.h.
23755         (Depends-on): Add unistd.
23756         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23757         (Include): Specify <unistd.h> instead of euidaccess.h.
23758         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
23759         HAVE_EUIDACCESS.
23760         * NEWS: Mention the change.
23761
23762 2008-10-18  Bruno Haible  <bruno@clisp.org>
23763
23764         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
23765
23766         Move the getdomainname() declaration to <unistd.h>.
23767         * lib/getdomainname.h: Remove file.
23768         * lib/unistd.in.h (getdomainname): New declaration.
23769         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
23770         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23771         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
23772         HAVE_GETDOMAINNAME.
23773         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23774         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
23775         * modules/getdomainname (Files): Remove lib/getdomainname.h.
23776         (Depends-on): Add unistd, extensions.
23777         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23778         (Includes): Specify <unistd.h> instead of getdomainname.h.
23779         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
23780         HAVE_GETDOMAINNAME.
23781         * NEWS: Mention the change.
23782
23783 2008-10-18  Bruno Haible  <bruno@clisp.org>
23784
23785         * modules/dirent: New file.
23786         * m4/dirent_h.m4: New file.
23787         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
23788         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
23789         * modules/fchdir (Files): Remove lib/dirent.in.h.
23790         (Depends-on): Add dirent.
23791         (Makefile.am): Move rules to modules/dirent.
23792         * doc/posix-headers/dirent.texi: Mention the new module.
23793
23794 2008-10-18  Bruno Haible  <bruno@clisp.org>
23795
23796         Avoid -Wunused-parameter warnings in public gnulib header files.
23797         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
23798         macro.
23799         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
23800
23801 2008-10-18  Bruno Haible  <bruno@clisp.org>
23802
23803         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
23804         * doc/glibc-functions/error.texi: Mention the module 'error'.
23805         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
23806         * doc/glibc-functions/getdomainname.texi: Mention the module
23807         'getdomainname'.
23808         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
23809         * doc/glibc-functions/getpagesize.texi: Mention the module
23810         'getpagesize'.
23811         * doc/glibc-functions/getusershell.texi: Mention the module
23812         'getusershell'.
23813         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
23814         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
23815         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
23816         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
23817         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
23818         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
23819         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
23820         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
23821         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
23822         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
23823         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
23824         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
23825         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
23826         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
23827
23828 2008-10-17  Bruno Haible  <bruno@clisp.org>
23829
23830         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
23831         HP-UX and IRIX, use -0.0L.
23832         * tests/test-ceill.c (minus_zero): Likewise.
23833         * tests/test-floorl.c (minus_zero): Likewise.
23834         * tests/test-frexpl.c (minus_zero): Likewise.
23835         * tests/test-isnan.c (minus_zerol): Likewise.
23836         * tests/test-isnanl.h (minus_zero): Likewise.
23837         * tests/test-ldexpl.c (minus_zero): Likewise.
23838         * tests/test-roundl.c (minus_zero): Likewise.
23839         * tests/test-signbit.c (minus_zerol): Likewise.
23840         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
23841         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
23842         * tests/test-truncl.c (minus_zero): Likewise.
23843         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
23844         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
23845         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
23846         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
23847
23848 2008-10-17  Bruno Haible  <bruno@clisp.org>
23849
23850         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
23851         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
23852         that it gets activated only for gcc >= 3.0.
23853         * lib/dirent.in.h: Likewise.
23854         * lib/errno.in.h: Likewise.
23855         * lib/fcntl.in.h: Likewise.
23856         * lib/float.in.h: Likewise.
23857         * lib/iconv.in.h: Likewise.
23858         * lib/inttypes.in.h: Likewise.
23859         * lib/locale.in.h: Likewise.
23860         * lib/math.in.h: Likewise.
23861         * lib/netdb.in.h: Likewise.
23862         * lib/netinet_in.in.h: Likewise.
23863         * lib/search.in.h: Likewise.
23864         * lib/signal.in.h: Likewise.
23865         * lib/spawn.in.h: Likewise.
23866         * lib/stdarg.in.h: Likewise.
23867         * lib/stdint.in.h: Likewise.
23868         * lib/stdio.in.h: Likewise.
23869         * lib/stdlib.in.h: Likewise.
23870         * lib/string.in.h: Likewise.
23871         * lib/strings.in.h: Likewise.
23872         * lib/sys_file.in.h: Likewise.
23873         * lib/sys_ioctl.in.h: Likewise.
23874         * lib/sys_select.in.h: Likewise.
23875         * lib/sys_socket.in.h: Likewise.
23876         * lib/sys_stat.in.h: Likewise.
23877         * lib/sys_time.in.h: Likewise.
23878         * lib/sysexits.in.h: Likewise.
23879         * lib/time.in.h: Likewise.
23880         * lib/unistd.in.h: Likewise.
23881         * lib/wchar.in.h: Likewise.
23882         * lib/wctype.in.h: Likewise.
23883         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23884
23885 2008-10-17  Jim Meyering  <meyering@redhat.com>
23886
23887         ignore-value: don't depend on inline module
23888         * modules/ignore-value (Depends-on): Remove 'inline'.
23889         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
23890         Suggestion from Bruno Haible.
23891
23892 2008-10-17  Bruno Haible  <bruno@clisp.org>
23893
23894         New implementation of condition variables for Win32.
23895         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
23896         (gl_linked_waitqueue_t): New type.
23897         (gl_cond_t): Use it.
23898         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
23899         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
23900         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
23901         (glthread_cond_init_func, glthread_cond_wait_func,
23902         glthread_cond_timedwait_func, glthread_cond_signal_func,
23903         glthread_cond_broadcast_func, glthread_cond_destroy_func):
23904         Reimplemented on the basis of gl_linked_waitqueue_t.
23905         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
23906         gl_waitqueue_t.
23907         (gl_rwlock_t): Update.
23908         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
23909
23910 2008-10-17  Simon Josefsson  <simon@josefsson.org>
23911
23912         * modules/recvfrom (Depends-on): Add dependency on getpeername.
23913         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
23914
23915 2008-10-17  Jim Meyering  <meyering@redhat.com>
23916
23917         ignore-value: new module
23918         * modules/ignore-value: New file.
23919         * lib/ignore-value.h: New file.
23920         * MODULES.html.sh (Compiler warning management): New section,
23921         just for this module.  More to come.
23922
23923 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
23924
23925         open-safer.c: avoid 'signed and unsigned in conditional...' warning
23926         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
23927         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
23928
23929 2008-10-16  Jim Meyering  <meyering@redhat.com>
23930
23931         openat-die.c: avoid 'no previous prototype' warning
23932         * lib/openat-die.c: Include "openat.h".
23933         Reported by Reuben Thomas <rrt@sc3d.org>.
23934
23935 2008-10-16  Simon Josefsson  <simon@josefsson.org>
23936
23937         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
23938         * lib/netdb.in.h: Fix typo.
23939         Reported by Bruno Haible  <bruno@clisp.org>
23940
23941         * lib/netdb.in.h: Include sys/socket.h for platforms without
23942         netdb.h, to get structures like hostent on MinGW.
23943         * modules/netdb (Depends-on): Add sys_socket.
23944
23945 2008-10-15  Simon Josefsson  <simon@josefsson.org>
23946
23947         * modules/netdb, modules/netdb-tests: New file.
23948         * m4/netdb_h.m4: New file.
23949         * lib/netdb.in.h: Add, currently just an empty file pending
23950         definitions.
23951         * tests/test-netdb.c: New file.
23952         * doc/posix-headers/netdb.texi: Mention that we replace it if
23953         needed.
23954         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23955         netdb.
23956
23957 2008-10-15  Simon Josefsson  <simon@josefsson.org>
23958
23959         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
23960         with code.
23961
23962 2008-10-13  Bruno Haible  <bruno@clisp.org>
23963
23964         * lib/glthread/cond.c (glthread_cond_wait_func,
23965         glthread_cond_timedwait_func): Add a comment.
23966
23967 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
23968
23969         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
23970         * tests/test-select.c: Likewise,
23971
23972 2008-10-13  Bruno Haible  <bruno@clisp.org>
23973
23974         * lib/glthread/cond.c (glthread_cond_wait_func,
23975         glthread_cond_timedwait_func): Fix variable name.
23976         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
23977
23978 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
23979
23980         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
23981         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
23982         struct sockaddr.sa_len.
23983         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
23984
23985 2008-10-13  Simon Josefsson  <simon@josefsson.org>
23986
23987         * build-aux/pmccabe2html: Add css and css_url parameters.
23988
23989 2008-10-12  Bruno Haible  <bruno@clisp.org>
23990
23991         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
23992         calling aclx_get.
23993         Reported by Rainer Tammer <tammer@tammer.net>.
23994
23995 2008-10-12  Bruno Haible  <bruno@clisp.org>
23996
23997         Use msvcrt aware primitives for creation/termination of Win32 threads.
23998         * lib/glthread/thread.c: Include <process.h>.
23999         (glthread_create_func): Use _beginthreadex instead of CreateThread.
24000         (wrapper_func): Update signature.
24001         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
24002
24003 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24004             Bruno Haible  <bruno@clisp.org>
24005
24006         Provide a Win32 implementation of the 'cond' module.
24007         * lib/glthread/cond.h [USE_WIN32]: New implementation.
24008         * lib/glthread/cond.c (glthread_cond_init_func,
24009         glthread_cond_wait_func, glthread_cond_timedwait_func,
24010         glthread_cond_signal_func, glthread_cond_broadcast_func,
24011         glthread_cond_destroy_func) [USE_WIN32]: New functions.
24012         * modules/cond (Dependencies): Add gettimeofday.
24013
24014 2008-10-11  Bruno Haible  <bruno@clisp.org>
24015
24016         Make sleep work on older versions of mingw.
24017         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
24018         only whether it exists.
24019         * doc/posix-functions/sleep.texi: Mention the problem with older
24020         versions of mingw.
24021
24022 2008-10-11  Bruno Haible  <bruno@clisp.org>
24023
24024         New module 'shutdown'.
24025         * modules/shutdown: New file.
24026         * lib/sys_socket.in.h (shutdown): New declaration.
24027         * lib/winsock.c (shutdown): New function.
24028         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24029         GNULIB_SHUTDOWN.
24030         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
24031         * doc/posix-functions/shutdown.texi: Document the new module.
24032
24033 2008-10-11  Jim Meyering  <meyering@redhat.com>
24034
24035         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
24036
24037 2008-10-11  Bruno Haible  <bruno@clisp.org>
24038
24039         New module 'fclose'.
24040         * modules/fclose: New file.
24041         * lib/stdio.in.h (fclose): New declaration.
24042         * lib/fclose.c: New file.
24043         * m4/fclose.m4: New file.
24044         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
24045         REPLACE_FCLOSE.
24046         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
24047         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
24048         REPLACE_FCLOSE.
24049         * modules/close (Depends-on): fclose.
24050         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
24051
24052 2008-10-11  Bruno Haible  <bruno@clisp.org>
24053
24054         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
24055         set errno and don't call _close.
24056
24057 2008-10-10  Bruno Haible  <bruno@clisp.org>
24058
24059         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
24060         ACL, not afterwards. Fixes test failure on Cygwin.
24061
24062 2008-10-09  Ben Pfaff  <blp@gnu.org>
24063
24064         * build-aux/announce-gen: Fix gnulib version related part of usage
24065         message.  Die with a useful error message if no tarballs are
24066         found.
24067
24068 2008-10-10  Jim Meyering  <meyering@redhat.com>
24069
24070         bootstrap: use git's --depth=N option only if it's supported
24071         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
24072         recognize the --depth option.  Reported by Pádraig Brady.
24073
24074 2008-10-09  Bruno Haible  <bruno@clisp.org>
24075
24076         New module 'ioctl'.
24077         * modules/ioctl: New file.
24078         * lib/sys_socket.in.h (ioctl): Remove declaration.
24079         * lib/winsock.c: Include <sys/ioctl.h>.
24080         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
24081         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
24082         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
24083         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
24084         * doc/posix-functions/ioctl.texi: Mention the new module.
24085
24086 2008-10-09  Bruno Haible  <bruno@clisp.org>
24087
24088         New module 'sys_ioctl'.
24089         * lib/sys_ioctl.in.h: New file.
24090         * m4/sys_ioctl_h.m4: New file.
24091         * modules/sys_ioctl: New file.
24092         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
24093
24094 2008-10-09  Bruno Haible  <bruno@clisp.org>
24095
24096         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
24097         * lib/winsock.c: Include <stdarg.h>.
24098         (rpl_ioctl): Change to second argument 'int' and then varargs.
24099
24100 2008-10-09  Bruno Haible  <bruno@clisp.org>
24101
24102         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
24103         when the sys_socket module is present and the system has <winsock2.h>.
24104
24105 2008-10-09  Bruno Haible  <bruno@clisp.org>
24106
24107         * doc/posix-functions/close.texi: Mention module 'close' instead of
24108         module 'sys_socket'.
24109
24110 2008-10-09  Bruno Haible  <bruno@clisp.org>
24111
24112         * doc/glibc-headers/sys_ioctl.texi: New file.
24113         * doc/gnulib.texi: Include it.
24114
24115 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24116             Bruno Haible  <bruno@clisp.org>
24117
24118         Combine the two replacements of 'close'.
24119         * lib/sys_socket.in.h (close): Define to a reminder to include
24120         <unistd.h>.
24121         (_gl_close_fd_maybe_socket): New declaration.
24122         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
24123         * lib/winsock.c (close): Remove undefinition.
24124         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
24125         needed for the gnulib module 'close'.
24126         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
24127         define to an error symbol or to a warning, if suitable.
24128         * lib/close.c: Include <sys/socket.h>.
24129         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
24130         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
24131         UNISTD_H_HAVE_WINSOCK2_H.
24132         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
24133         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24134         UNISTD_H_HAVE_WINSOCK2_H.
24135         * modules/sys_socket (Files): Add m4/unistd_h.m4.
24136         (configure.ac): Set a module indicator.
24137         (Makefile.am): Substitute GNULIB_CLOSE.
24138         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
24139         * modules/poll-tests (Depends-on): Add close.
24140         * modules/select-tests (Depends-on): Likewise.
24141
24142 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24143             Bruno Haible  <bruno@clisp.org>
24144
24145         New module 'close'.
24146         * modules/close: New file.
24147         * lib/unistd.in.h (close): Move declaration out of the
24148         FCHDIR_REPLACEMENT scope.
24149         (_gl_unregister_fd): New declaration.
24150         * lib/close.c: New file.
24151         * lib/fchdir.c (rpl_close): Remove function.
24152         * m4/close.m4: New file.
24153         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
24154         close.
24155         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
24156         REPLACE_CLOSE.
24157         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
24158         REPLACE_CLOSE.
24159         * modules/fchdir (Depends-on): Add close.
24160
24161 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24162             Bruno Haible  <bruno@clisp.org>
24163
24164         * lib/fcntl.in.h (open): Simplify conditionals.
24165         (_gl_register_fd): New declaration.
24166         * lib/fchdir.c (rpl_open): Remove function.
24167         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
24168         also.
24169         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
24170         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
24171         open.
24172
24173 2008-10-09  Jim Meyering  <meyering@redhat.com>
24174
24175         GNUmakefile: use the more name-space-friendly "_version"
24176         * top/GNUmakefile (_dummy): Update.
24177         (_version): Rename from "version".
24178
24179 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24180             Bruno Haible  <bruno@clisp.org>
24181
24182         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
24183         rpl_close.
24184         (_gl_register_fd): New function, extracted from rpl_open.
24185         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
24186         (rpl_open, rpl_opendir): Use _gl_register_fd.
24187
24188 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24189
24190         Fix organization of 'open' replacement.
24191         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
24192         (gl_FUNC_OPEN): Use it.
24193         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
24194
24195 2008-10-08  Bruno Haible  <bruno@clisp.org>
24196
24197         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
24198
24199 2008-10-08  Simon Josefsson  <simon@josefsson.org>
24200
24201         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
24202         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
24203         listen).
24204
24205 2008-10-08  Eric Blake  <ebb9@byu.net>
24206
24207         GNUmakefile: add 'make version' target
24208         * top/GNUmakefile (_curr-ver): Split version update rules...
24209         (version): ...into a target.
24210
24211 2008-10-07  Bruno Haible  <bruno@clisp.org>
24212
24213         Use a more portable replacement expression for -0.0L.
24214         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
24215         instead of -0.0L. Fix m4 quotation.
24216
24217         * tests/test-signbit.c: Include <float.h>.
24218         (minus_zero): New variable.
24219         (test_signbitl): Use minus_zero instead of -zero.
24220         * modules/signbit-tests (Depends-on): Add float.
24221
24222         * tests/test-ceill.c: Include <float.h>.
24223         (zero): Remove variable.
24224         (minus_zero): New variable.
24225         (main): Use minus_zero instead of -zero.
24226         * modules/ceill-tests (Depends-on): Add float.
24227
24228         * tests/test-floorl.c: Include <float.h>.
24229         (zero): Remove variable.
24230         (minus_zero): New variable.
24231         (main): Use minus_zero instead of -zero.
24232         * modules/floorl-tests (Depends-on): Add float.
24233
24234         * tests/test-roundl.c: Include <float.h>.
24235         (zero): Remove variable.
24236         (minus_zero): New variable.
24237         (main): Use minus_zero instead of -zero.
24238         * modules/roundl-tests (Depends-on): Add float.
24239
24240         * tests/test-truncl.c: Include <float.h>.
24241         (zero): Remove variable.
24242         (minus_zero): New variable.
24243         (main): Use minus_zero instead of -zero.
24244         * modules/truncl-tests (Depends-on): Add float.
24245
24246         * tests/test-frexpl.c (zero): Remove variable.
24247         (minus_zero): New variable.
24248         (main): Use minus_zero instead of -zero.
24249         * modules/frexpl-tests (Depends-on): Add float.
24250
24251         * tests/test-isnan.c (zerol): Remove variable.
24252         (minus_zerol): New variable.
24253         (test_long_double): Use minus_zerol instead of -zerol.
24254         * modules/isnan-tests (Depends-on): Add float.
24255
24256         * tests/test-isnanl.h (zero): Remove variable.
24257         (minus_zero): New variable.
24258         (main): Use minus_zero instead of -zero.
24259         * modules/isnanl-nolibm-tests (Depends-on): Add float.
24260         * modules/isnanl-tests (Depends-on): Add float.
24261
24262         * tests/test-ldexpl.c (zero): Remove variable.
24263         (minus_zero): New variable.
24264         (main): Use minus_zero instead of -zero.
24265         * modules/ldexpl-tests (Depends-on): Add float.
24266
24267         * tests/test-snprintf-posix.h (zerol): Remove variable.
24268         (minus_zerol): New variable.
24269         (test_function): Use minus_zerol instead of -zerol.
24270         * modules/snprintf-posix-tests (Depends-on): Add float.
24271         * modules/vsnprintf-posix-tests (Depends-on): Add float.
24272
24273         * tests/test-sprintf-posix.h (zerol): Remove variable.
24274         (minus_zerol): New variable.
24275         (test_function): Use minus_zerol instead of -zerol.
24276         * modules/sprintf-posix-tests (Depends-on): Add float.
24277         * modules/vsprintf-posix-tests (Depends-on): Add float.
24278
24279         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
24280         (minus_zerol): New variable.
24281         (test_function): Use minus_zerol instead of -zerol.
24282         * modules/vasnprintf-posix-tests (Depends-on): Add float.
24283
24284         * tests/test-vasprintf-posix.c (zerol): Remove variable.
24285         (minus_zerol): New variable.
24286         (test_function): Use minus_zerol instead of -zerol.
24287         * modules/vasprintf-posix-tests (Depends-on): Add float.
24288
24289 2008-10-07  Simon Josefsson  <simon@josefsson.org>
24290
24291         * MODULES.html.sh (Support for building documentation): Mention
24292         pmccabe2html.  Sort entries.
24293
24294         Add pmccabe2html module, from gnupdf.
24295         * build-aux/pmccabe.css: New file.
24296         * build-aux/pmccabe2html: New file.
24297         * m4/pmccabe2html.m4: New file.
24298         * modules/pmccabe2html: New file.
24299
24300 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
24301
24302         flock: new module
24303         * MODULES.html.sh: Add to list of modules.
24304         * lib/flock.c: flock implementation for Windows and Unix systems
24305         which have fcntl.
24306         * doc/glibc-functions/flock.texi: Update documentation.
24307         * lib/sys_file.in.h: <sys/file.h> header file.
24308         * m4/flock.m4: M4 macros.
24309         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
24310         * modules/flock: flock module.
24311         * modules/flock-tests: flock tests module.
24312         * modules/sys_file: sys/file.h module.
24313         * tests/test-flock.c: test suite for flock.
24314
24315 2008-10-06  Jim Meyering  <meyering@redhat.com>
24316
24317         bootstrap: check for LT_INIT more portably still ;-)
24318         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
24319         Spotted by Bruno Haible.
24320
24321 2008-10-06  Eric Blake  <ebb9@byu.net>
24322
24323         test-signbit: avoid tripping Irix cc bug on -0.0L
24324         * tests/test-signbit.c (minus_zerol): Delete, and replace with
24325         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
24326         entire testsuite consistent and avoids an Irix 6.2 bug.
24327
24328 2008-10-05  Bruno Haible  <bruno@clisp.org>
24329             Jim Meyering  <jim@meyering.net>
24330
24331         Add an option for ignoring EPIPE during close_stdout.
24332         * lib/closeout.h: Include <stdbool.h>.
24333         (close_stdout_set_ignore_EPIPE): New declaration.
24334         * lib/closeout.c: Include <stdbool.h>.
24335         (ignore_EPIPE): New variable.
24336         (close_stdout_set_ignore_EPIPE): New function.
24337         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
24338         * lib/close-stream.c (close_stream): Mention the possible EPIPE
24339         failure.
24340         * modules/closeout (Depends-on): Add stdbool.
24341
24342 2008-10-05  Bruno Haible  <bruno@clisp.org>
24343
24344         * modules/accept: New file.
24345         * modules/bind: New file.
24346         * modules/connect: New file.
24347         * modules/getpeername: New file.
24348         * modules/getsockname: New file.
24349         * modules/getsockopt: New file.
24350         * modules/listen: New file.
24351         * modules/recv: New file.
24352         * modules/recvfrom: New file.
24353         * modules/send: New file.
24354         * modules/sendto: New file.
24355         * modules/setsockopt: New file.
24356         * modules/socket: New file.
24357         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
24358         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
24359         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
24360         the particular module is requested. Add a link warning when the
24361         particular module is not requested.
24362         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
24363         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
24364         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
24365         the particular module is requested.
24366         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
24367         gl_SYS_SOCKET_H_DEFAULTS): New macros.
24368         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
24369         * modules/sys_socket (Depends-on): Add link-warning.
24370         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
24371         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
24372         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
24373         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
24374         GL_LINK_WARNING.
24375         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
24376         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
24377         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
24378         * doc/posix-functions/getpeername.texi: Mention the new module
24379         'getpeername'.
24380         * doc/posix-functions/getsockname.texi: Mention the new module
24381         'getsockname'.
24382         * doc/posix-functions/getsockopt.texi: Mention the new module
24383         'getsockopt'.
24384         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
24385         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
24386         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
24387         * doc/posix-functions/send.texi: Mention the new module 'send'.
24388         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
24389         * doc/posix-functions/setsockopt.texi: Mention the new module
24390         'setsockopt'.
24391         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
24392         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
24393         listen, connect, accept.
24394         * modules/select-tests (Depends-on): Likewise.
24395
24396 2008-10-05  Bruno Haible  <bruno@clisp.org>
24397
24398         * lib/winsock.c (strerror): Remove unused #undef.
24399         (rpl_close): Remove unused local variable.
24400
24401         * modules/sys_socket (Depends-on); Add errno.
24402
24403 2008-10-05  Bruno Haible  <bruno@clisp.org>
24404
24405         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
24406         (select): Add a link warning when the 'select' module is not used.
24407         * modules/sys_select (Depends-on): Add link-warning.
24408         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
24409         Suggested by Paolo Bonzini.
24410
24411 2008-10-05  Jim Meyering  <meyering@redhat.com>
24412
24413         bootstrap: check for LT_INIT more portably
24414         * build-aux/bootstrap: Avoid using grep -E, since it's not
24415         portable enough.  Suggestion from Bruno Haible.
24416
24417 2008-10-05  Bruno Haible  <bruno@clisp.org>
24418
24419         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
24420         as being fixed by gnulib.
24421
24422 2008-10-05  Bruno Haible  <bruno@clisp.org>
24423
24424         * modules/select-tests: New file, mostly copied from
24425         modules/sys_select-tests.
24426         * tests/test-select.c: New file, mostly copied from
24427         tests/test-sys_select.c.
24428         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
24429         * modules/sys_select-tests (Depends-on): Remove all dependencies.
24430         (Makefile.am): Remove test_sys_select_LDADD.
24431
24432         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
24433         to an undefined symbol, for an error message.
24434         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
24435         (gl_SYS_SELECT_H_DEFAULTS): New macro.
24436         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
24437         winsock-select.c here.
24438         * modules/sys_select (Files): Remove lib/winsock-select.c.
24439         (Depends-on): Remove alloca.
24440         (Makefile.am): Substitute GNULIB_SELECT.
24441         * modules/select: New file.
24442         * doc/posix-functions/select.texi: Update.
24443
24444 2008-10-05  Bruno Haible  <bruno@clisp.org>
24445
24446         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
24447         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
24448         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
24449         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
24450         getdtablesize.
24451         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
24452         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
24453
24454 2008-10-05  Bruno Haible  <bruno@clisp.org>
24455
24456         * modules/getdtablesize-tests: New file.
24457         * tests/test-getdtablesize.c: New file.
24458
24459         New module 'getdtablesize'.
24460         * lib/unistd.in.h (getdtablesize): New declaration.
24461         * lib/getdtablesize.c: New file.
24462         * m4/getdtablesize.m4: New file.
24463         * modules/getdtablesize: New file.
24464         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24465         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
24466         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
24467         HAVE_GETDTABLESIZE.
24468         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
24469
24470 2008-10-05  Bruno Haible  <bruno@clisp.org>
24471
24472         * modules/sched (Makefile.am): Fix typo.
24473         Reported by Simon Josefsson.
24474
24475 2008-10-05  Jim Meyering  <meyering@redhat.com>
24476
24477         bootstrap: check for LT_INIT, too
24478         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
24479         are deprecated.  Suggestion from Ralf Wildenhues.
24480
24481 2008-10-05  Bruno Haible  <bruno@clisp.org>
24482
24483         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
24484         overriding them by ours.
24485         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
24486
24487 2008-10-05  Jim Meyering  <meyering@redhat.com>
24488
24489         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
24490         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
24491         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
24492
24493 2008-10-04  Bruno Haible  <bruno@clisp.org>
24494
24495         * modules/dup2 (License): Change to LGPLv2+.
24496         * modules/sleep (License): Likewise.
24497         * modules/perror (License): Likewise.
24498         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
24499         Blake.
24500         * modules/signal (License): Likewise.
24501         * modules/sigprocmask (License): Likewise.
24502         * modules/raise (License): Change to LGPLv2+, with approval by Jim
24503         Meyering.
24504
24505 2008-10-04  Bruno Haible  <bruno@clisp.org>
24506
24507         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
24508         Reported by Rainer Tammer <tammer@tammer.net>.
24509
24510 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
24511             Bruno Haible  <bruno@clisp.org>
24512
24513         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
24514         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
24515         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
24516
24517 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
24518
24519         filevercmp: new module
24520         * lib/filevercmp.h: New function filevercmp comparing version strings.
24521         * lib/filevercmp.c: Implementation of filevercmp function.
24522         * modules/filevercmp: Module metadata.
24523         * tests/test-filevercmp.c: Unit test for new module.
24524         * modules/filevercmp-tests: Unit test metadata.
24525         * MODULES.html.sh: Add filevercmp module.
24526
24527 2008-10-03  Bruno Haible  <bruno@clisp.org>
24528
24529         * lib/c-ctype.h: Add comment.
24530         Reported by Jim Meyering.
24531
24532 2008-10-02  Bruno Haible  <bruno@clisp.org>
24533
24534         * modules/posix_spawn-internal (Depends-on): Add 'open'.
24535
24536 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24537
24538         * build-aux/bootstrap: Allow renaming bootstrap, and change the
24539         name of bootstrap.conf accordingly.
24540
24541 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24542
24543         * build-aux/bootstrap: Install git-merge-changelog configuration
24544         items into .gitconfig if needed.
24545
24546 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24547
24548         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
24549         git repository, and initialize/update it accordingly.
24550
24551 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
24552
24553         * modules/fsync-tests: New file.
24554         * tests/test-fsync.c: New file.
24555
24556         New module 'fsync'.
24557         * lib/fsync.c: New file.
24558         * m4/fsync.m4: New file.
24559         * modules/fsync: New file.
24560         * lib/unistd.in.h (fsync): New declaration.
24561         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
24562         GNULIB_FSYNC and HAVE_FSYNC.
24563         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
24564         * MODULES.html.sh (posix_functions): Add fsync.
24565         * doc/posix-functions/fsync.texi: Mention the new module.
24566
24567 2008-10-02  Jim Meyering  <meyering@redhat.com>
24568
24569         fts.c: sync with similar code from coreutils' remove.c
24570         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
24571         Guard also with "#if defined __linux__", since for now at least,
24572         this code is Linux-kernel-specific.
24573
24574 2008-10-02  Jim Meyering  <meyering@redhat.com>
24575
24576         fts: bug fixes
24577         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
24578         Include <sys/vfs.h>, not <sys/statfs.h>.
24579
24580         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
24581         Include <sys/vfs.h>, not <sys/statfs.h>.
24582
24583 2008-10-01  Bruno Haible  <bruno@clisp.org>
24584
24585         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
24586         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
24587         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
24588         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
24589         * doc/posix-functions/posix_spawnp.texi: Likewise.
24590         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
24591         whether posix_spawn actually works.
24592         * m4/pipe.m4 (gl_PIPE): Likewise.
24593         * modules/execute (Files): Add m4/posix_spawn.m4.
24594         * modules/pipe (Files): Add m4/posix_spawn.m4.
24595         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
24596
24597 2008-10-01  Jim Meyering  <meyering@redhat.com>
24598
24599         remove trailing spaces
24600         * NEWS: Likewise.
24601         * lib/poll.c (poll): Likewise.
24602         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
24603         * lib/winsock.c (rpl_close): Likewise.
24604         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
24605         * modules/yield: Likewise.
24606         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
24607         * tests/test-sys_select.c (connect_to_socket): Likewise.
24608
24609         fts.c: adjust a new interface to be more generally useful
24610         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
24611         (fts_build): Adjust caller.
24612
24613 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24614
24615         * modules/cond-tests: New file.
24616         * tests/test-cond.c: New file.
24617
24618 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24619             Bruno Haible  <bruno@clisp.org>
24620
24621         * modules/cond (Dependencies): Add errno, time.
24622         * lib/glthread/cond.h: Include <time.h>.
24623         (gl_cond_define, gl_cond_define_initialized): Use the same definition
24624         across platforms.
24625
24626 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24627             Bruno Haible  <bruno@clisp.org>
24628
24629         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
24630
24631 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24632             Bruno Haible  <bruno@clisp.org>
24633
24634         * modules/tls-tests (Depends-on): Add thread, yield.
24635         (configure.ac): Remove all checks.
24636         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
24637         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
24638         gl_thread_self): Remove definitions. Include glthread/thread.h and
24639         glthread/yield.h instead.
24640         (test_tls): Pass an additional NULL argument to gl_thread_join.
24641
24642 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24643             Bruno Haible  <bruno@clisp.org>
24644
24645         * modules/lock-tests (Depends-on): Add thread, yield.
24646         (configure.ac): Remove all checks.
24647         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
24648         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
24649         gl_thread_self): Remove definitions. Include glthread/thread.h and
24650         glthread/yield.h instead.
24651         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
24652         additional NULL argument to gl_thread_join.
24653
24654 2008-09-30  Bruno Haible  <bruno@clisp.org>
24655
24656         Fix the Win32 implementation of the 'thread' module.
24657         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
24658         pointer type.
24659         (gl_thread_self): Invoke gl_thread_self_func.
24660         (gl_thread_self_func): New declaration.
24661         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
24662         (do_init_self_key, init_self_key): New functions.
24663         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
24664         Remove some fields.
24665         (running_threads, running_lock): Remove variables.
24666         (get_current_thread_handle): New function.
24667         (gl_thread_self_func, wrapper_func, glthread_create_func,
24668         glthread_join_func, gl_thread_exit_func): Largely rewritten and
24669         simplified.
24670
24671 2008-09-30  Bruno Haible  <bruno@clisp.org>
24672
24673         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
24674         files.
24675
24676 2008-09-30  Jim Meyering  <meyering@redhat.com>
24677
24678         fts.m4: correct the test for statfs.f_type
24679         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
24680         when checking for statfs.f_type.
24681
24682 2008-09-15  Simon Josefsson  <simon@josefsson.org>
24683
24684         tests: avoid some compiler warnings
24685         * tests/test-memchr.c (main): Pass NULL indirectly.
24686         * tests/test-getdate.c (main): Remove unused variable 'ret'.
24687
24688 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
24689
24690         getdate.y: disallow countable dayshifts like "4 yesterday ago"
24691         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
24692         exactly specified dayshifts.
24693         (dayshift): New rule.
24694         (rel): Add dayshift.
24695         (relative_time_table) [tomorrow, yesterday, today, now]:
24696         Use tDAY_SHIFT in place of tDAY_UNIT.
24697         * tests/test-getdate.c: Add tests for now-disallowed countable
24698         dayshifts, e.g., "4 yesterday ago".
24699
24700 2008-09-29  Bruno Haible  <bruno@clisp.org>
24701
24702         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
24703         * tests/test-posix_spawn1.in.sh: Renamed from
24704         tests/test-posix_spawn.in.sh.
24705         * tests/test-posix_spawn2.c: New file.
24706         * tests/test-posix_spawn2.in.sh: New file.
24707         * modules/posix_spawnp-tests (Files): Update.
24708         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
24709
24710 2008-09-29  Bruno Haible  <bruno@clisp.org>
24711
24712         Propagate effects of putenv/setenv/unsetenv to child processes.
24713         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
24714         * lib/pipe.c (create_pipe): Likewise.
24715
24716 2008-09-29  Bruno Haible  <bruno@clisp.org>
24717
24718         Enable use of shell scripts as executables in mingw.
24719         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
24720         run the program as a shell script.
24721         * lib/pipe.c (create_pipe): Likewise.
24722         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
24723         resulting array.
24724
24725 2008-09-29  Eric Blake  <ebb9@byu.net>
24726
24727         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
24728
24729 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
24730
24731         * doc/posix-functions/accept.texi: Update mingw problems.
24732         * doc/posix-functions/bind.texi: Update mingw problems.
24733         * doc/posix-functions/close.texi: Update mingw problems.
24734         * doc/posix-functions/connect.texi: Update mingw problems.
24735         * doc/posix-functions/getpeername.texi: Update mingw problems.
24736         * doc/posix-functions/getsockname.texi: Update mingw problems.
24737         * doc/posix-functions/getsockopt.texi: Update mingw problems.
24738         * doc/posix-functions/ioctl.texi: Update mingw problems.
24739         * doc/posix-functions/listen.texi: Update mingw problems.
24740         * doc/posix-functions/recv.texi: Update mingw problems.
24741         * doc/posix-functions/recvfrom.texi: Update mingw problems.
24742         * doc/posix-functions/select.texi: Update mingw problems.
24743         * doc/posix-functions/send.texi: Update mingw problems.
24744         * doc/posix-functions/sendto.texi: Update mingw problems.
24745         * doc/posix-functions/setsockopt.texi: Update mingw problems.
24746         * doc/posix-functions/socket.texi: Update mingw problems.
24747
24748 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
24749             Bruno Haible  <bruno@clisp.org>
24750
24751         * lib/sys_select.in.h: Include sys/time.h.
24752         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
24753         * modules/sys_select: Depend on sys_time.
24754         * tests/test-sys_select.c: Test that sys/select.h defines struct
24755         timeval fully.
24756
24757 2008-09-29  Bruno Haible  <bruno@clisp.org>
24758
24759         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
24760         * lib/sys_select.in.h: Likewise.
24761
24762 2008-09-29  Bruno Haible  <bruno@clisp.org>
24763
24764         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
24765
24766 2008-09-29  Bruno Haible  <bruno@clisp.org>
24767
24768         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
24769         Set LIBSOCKET instead of augmenting LIBS.
24770         * modules/sockets (Link): New section.
24771         * modules/sockets-tests (test_sockets_LDADD): New variable.
24772         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
24773         * modules/poll-tests (test_poll_LDADD): New variable.
24774         * NEWS: Document the change.
24775
24776 2008-09-29  Bruno Haible  <bruno@clisp.org>
24777
24778         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
24779         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
24780         ARPA_INET_H directly.
24781         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24782
24783 2008-09-28  Bruno Haible  <bruno@clisp.org>
24784
24785         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
24786         from gl_HEADER_SYS_SOCKET.
24787         (gl_HEADER_SYS_SOCKET): Invoke it.
24788         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24789
24790 2008-09-28  Bruno Haible  <bruno@clisp.org>
24791
24792         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
24793         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
24794         Needed on OSF/1 4.0.
24795
24796 2008-09-28  Bruno Haible  <bruno@clisp.org>
24797
24798         Override open more carefully.
24799         * lib/open.c (orig_open): New function.
24800         (rpl_open): Use orig_open instead of open.
24801         * lib/fcntl.in.h: Add special invocation convention.
24802         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
24803         (gl_FUNC_OPEN): Invoke it.
24804
24805         Override freopen more carefully.
24806         * lib/freopen.c (orig_freopen): New function.
24807         (rpl_freopen): Use orig_freopen instead of freopen.
24808         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
24809         (gl_FUNC_FREOPEN): Invoke it.
24810
24811         Override fopen more carefully.
24812         * lib/fopen.c (orig_fopen): New function.
24813         (rpl_fopen): Use orig_fopen instead of fopen.
24814         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
24815         (gl_FUNC_FOPEN): Invoke it.
24816         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
24817
24818 2008-09-28  Bruno Haible  <bruno@clisp.org>
24819
24820         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
24821         SIGPIPE.
24822
24823 2008-09-28  Bruno Haible  <bruno@clisp.org>
24824
24825         * tests/test-sigaction.c (handler, main): Disable the check whether
24826         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
24827         glibc systems with LinuxThreads.
24828
24829 2008-09-28  Bruno Haible  <bruno@clisp.org>
24830
24831         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
24832
24833         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
24834         with AIX xlc.
24835         * lib/fcntl.in.h (open): Likewise.
24836         Reported by Rainer Tammer <tammer@tammer.net>.
24837
24838 2008-09-28  Bruno Haible  <bruno@clisp.org>
24839
24840         * modules/posix_spawnp-tests: New file.
24841         * tests/test-posix_spawn.c: New file.
24842         * tests/test-posix_spawn.in.sh: New file.
24843
24844         New module 'posix_spawnp'.
24845         * modules/posix_spawnp: New file.
24846         * lib/spawnp.c: New file, from GNU libc with modifications.
24847         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
24848
24849         New module 'posix_spawn'.
24850         * modules/posix_spawn: New file.
24851         * lib/spawn.c: New file, from GNU libc with modifications.
24852         * doc/posix-functions/posix_spawn.texi: Mention the new module.
24853
24854         New module 'posix_spawnattr_destroy'.
24855         * modules/posix_spawnattr_destroy: New file.
24856         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
24857         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
24858         module.
24859
24860         New module 'posix_spawnattr_setsigmask'.
24861         * modules/posix_spawnattr_setsigmask: New file.
24862         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
24863         modifications.
24864         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
24865         new module.
24866
24867         New module 'posix_spawnattr_getsigmask'.
24868         * modules/posix_spawnattr_getsigmask: New file.
24869         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
24870         modifications.
24871         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
24872         new module.
24873
24874         New module 'posix_spawnattr_setsigdefault'.
24875         * modules/posix_spawnattr_setsigdefault: New file.
24876         * lib/spawnattr_setdefault.c: New file, from GNU libc with
24877         modifications.
24878         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
24879         new module.
24880
24881         New module 'posix_spawnattr_getsigdefault'.
24882         * modules/posix_spawnattr_getsigdefault: New file.
24883         * lib/spawnattr_getdefault.c: New file, from GNU libc with
24884         modifications.
24885         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
24886         new module.
24887
24888         New module 'posix_spawnattr_setschedpolicy'.
24889         * modules/posix_spawnattr_setschedpolicy: New file.
24890         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
24891         modifications.
24892         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
24893         new module.
24894
24895         New module 'posix_spawnattr_getschedpolicy'.
24896         * modules/posix_spawnattr_getschedpolicy: New file.
24897         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
24898         modifications.
24899         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
24900         new module.
24901
24902         New module 'posix_spawnattr_setschedparam'.
24903         * modules/posix_spawnattr_setschedparam: New file.
24904         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
24905         modifications.
24906         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
24907         new module.
24908
24909         New module 'posix_spawnattr_getschedparam'.
24910         * modules/posix_spawnattr_getschedparam: New file.
24911         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
24912         modifications.
24913         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
24914         new module.
24915
24916         New module 'posix_spawnattr_setpgroup'.
24917         * modules/posix_spawnattr_setpgroup: New file.
24918         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
24919         modifications.
24920         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
24921         module.
24922
24923         New module 'posix_spawnattr_getpgroup'.
24924         * modules/posix_spawnattr_getpgroup: New file.
24925         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
24926         modifications.
24927         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
24928         module.
24929
24930         New module 'posix_spawnattr_setflags'.
24931         * modules/posix_spawnattr_setflags: New file.
24932         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
24933         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
24934         module.
24935
24936         New module 'posix_spawnattr_getflags'.
24937         * modules/posix_spawnattr_getflags: New file.
24938         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
24939         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
24940         module.
24941
24942         New module 'posix_spawnattr_init'.
24943         * modules/posix_spawnattr_init: New file.
24944         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
24945         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
24946         module.
24947
24948         New module 'posix_spawn_file_actions_destroy'.
24949         * modules/posix_spawn_file_actions_destroy: New file.
24950         * lib/spawn_faction_destroy.c: New file, from GNU libc with
24951         modifications.
24952         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
24953         the new module.
24954
24955         New module 'posix_spawn_file_actions_addopen'.
24956         * modules/posix_spawn_file_actions_addopen: New file.
24957         * lib/spawn_faction_addopen.c: New file, from GNU libc with
24958         modifications.
24959         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
24960         the new module.
24961
24962         New module 'posix_spawn_file_actions_adddup2'.
24963         * modules/posix_spawn_file_actions_adddup2: New file.
24964         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
24965         modifications.
24966         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
24967         the new module.
24968
24969         New module 'posix_spawn_file_actions_addclose'.
24970         * modules/posix_spawn_file_actions_addclose: New file.
24971         * lib/spawn_faction_addclose.c: New file, from GNU libc with
24972         modifications.
24973         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
24974         the new module.
24975
24976         New module 'posix_spawn_file_actions_init'.
24977         * modules/posix_spawn_file_actions_init: New file.
24978         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
24979         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
24980         new module.
24981
24982         New module 'posix_spawn-internal'.
24983         * modules/posix_spawn-internal: New file.
24984         * lib/spawn_int.h: New file, from GNU libc with modifications.
24985         * lib/spawni.c: New file, from GNU libc with modifications.
24986         * m4/posix_spawn.m4: New file.
24987
24988         New module 'spawn'.
24989         * modules/spawn: New file.
24990         * lib/spawn.in.h: New file, from GNU libc with modifications.
24991         * m4/spawn_h.m4: New file.
24992         * doc/posix-headers/spawn.texi: Mention the new module.
24993
24994 2008-09-28  Bruno Haible  <bruno@clisp.org>
24995
24996         * modules/sched-tests: New file.
24997         * tests/test-sched.c: New file.
24998
24999         New module 'sched'.
25000         * modules/sched: New file.
25001         * lib/sched.in.h: New file.
25002         * m4/sched_h.m4: New file.
25003         * doc/posix-headers/sched.texi: Mention the new module.
25004
25005 2008-09-27  Eric Blake  <ebb9@byu.net>
25006
25007         Fix previous patch, and tweak references to $0.
25008         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
25009         (func_version, func_gnulib_dir): Don't call this program
25010         gnulib-tool.
25011         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
25012         with using $0 in function.
25013         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
25014         (func_fatal_error): Reuse the name the user invoked us with.
25015
25016 2008-09-27  Bruno Haible  <bruno@clisp.org>
25017
25018         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
25019         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
25020         (gl_ICONV_H): Not here.
25021         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
25022         instead of assigning ICONV_H directly.
25023
25024         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
25025         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
25026         WCHAR_H directly.
25027
25028 2008-09-27  Bruno Haible  <bruno@clisp.org>
25029
25030         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
25031         * modules/arpa_inet (Depends-on): Add link-warning.
25032         (Makefile.am): Insert the definition of GL_LINK-WARNING.
25033         * modules/unistd (Makefile.am): Likewise.
25034
25035 2008-09-26  Bruno Haible  <bruno@clisp.org>
25036
25037         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
25038         variables.
25039         (func_version): Essentially copied from gnulib-tool.
25040         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
25041         func_readlink): Copied from gnulib-tool.
25042
25043 2008-09-26  Bruno Haible  <bruno@clisp.org>
25044
25045         * gnulib-tool (func_version): Change directory to $gnulib_dir before
25046         invoking git-version-gen.
25047
25048 2008-09-26  Bruno Haible  <bruno@clisp.org>
25049
25050         * posix-modules: Update to directory names changed on 2008-01-19.
25051         Remove commas in output before splitting into words. No more need to
25052         avoid 'ftruncate' since 2007-02-19.
25053
25054 2008-09-26  Bruno Haible  <bruno@clisp.org>
25055
25056         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
25057
25058 2008-09-26  Bruno Haible  <bruno@clisp.org>
25059
25060         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
25061         * modules/fwriteerror (Depends-on): Add errno.
25062
25063 2008-09-26  Bruno Haible  <bruno@clisp.org>
25064
25065         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
25066         * tests/test-vc-list-files-cvs.sh: Likewise.
25067
25068 2008-09-26  Bruno Haible  <bruno@clisp.org>
25069
25070         * doc/posix-headers/sys_resource.texi: Reorder items.
25071
25072 2008-09-26  Jim Meyering  <meyering@redhat.com>
25073
25074         fts: tweak inode comparison function
25075         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
25076         inode numbers, as documented.
25077
25078         fts: sort dirent entries on inode number before traversing
25079         This avoids a quadratic, seek-related performance penalty when
25080         operating on a directory containing many entries (measurable at 10k;
25081         3.5 hours at 2 million entries with a cold cache) on certain types
25082         of file systems, including ext3 and ext4, but not tmpfs.
25083         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
25084         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
25085         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
25086         (fs_handles_readdir_ordered_dirents_efficiently): New function.
25087         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
25088         (fts_build): Set the stat.st_ino member from D_INO.
25089         If it is likely to be useful, sort dirent entries on inode number.
25090
25091         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
25092         and the struct statfs.f_type member.
25093         * modules/fts (Depends-on): Add d-ino.
25094
25095 2008-09-26  Bruno Haible  <bruno@clisp.org>
25096
25097         * modules/sigpipe-die (Depends-on): Add sigpipe.
25098
25099         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
25100         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
25101         and GNULIB_STDIO_H_SIGPIPE are set.
25102         * lib/stdio-write.c: New file.
25103         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
25104         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25105         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25106         REPLACE_STDIO_WRITE_FUNCS.
25107         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
25108         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25109         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25110         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
25111         * modules/stdio (Files): Add lib/stdio-write.c.
25112         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
25113         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25114         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25115         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
25116         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
25117         REPLACE_FPRINTF_POSIX.
25118         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
25119         REPLACE_PRINTF_POSIX.
25120         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
25121         REPLACE_VFPRINTF_POSIX.
25122         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
25123         REPLACE_VPRINTF_POSIX.
25124         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
25125         SIGPIPE issue.
25126         * doc/posix-functions/fputc.texi: Likewise.
25127         * doc/posix-functions/fputs.texi: Likewise.
25128         * doc/posix-functions/fwrite.texi: Likewise.
25129         * doc/posix-functions/printf.texi: Likewise.
25130         * doc/posix-functions/putc.texi: Likewise.
25131         * doc/posix-functions/putchar.texi: Likewise.
25132         * doc/posix-functions/puts.texi: Likewise.
25133         * doc/posix-functions/vfprintf.texi: Likewise.
25134         * doc/posix-functions/vprintf.texi: Likewise.
25135
25136         * modules/safe-write (Depends-on): Add write.
25137
25138         * modules/sigpipe-tests: New file.
25139         * tests/test-sigpipe.c: New file.
25140         * tests/test-sigpipe.sh: New file.
25141
25142         * modules/write: New file.
25143         * lib/unistd.in.h: Include <sys/types.h>.
25144         (write): New declaration.
25145         * lib/write.c: New file.
25146         * m4/write.m4: New file.
25147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25148         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
25149         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
25150         GNULIB_WRITE, REPLACE_WRITE.
25151         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
25152         and the SIGPIPE issue.
25153
25154         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
25155         (raise): New declaration.
25156         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
25157         (ext_signal): New function.
25158         (rpl_raise): New function.
25159         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
25160         GNULIB_SIGNAL_H_SIGPIPE.
25161         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
25162         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
25163
25164         * modules/sigpipe: New file.
25165         * m4/sigpipe.m4: New file.
25166
25167 2008-09-25  Derek Price  <derek@ximbiot.com>
25168             Bruno Haible  <bruno@clisp.org>
25169
25170         * gnulib-tool (func_import): Report all license incompatibilities, not
25171         just the first one.
25172
25173 2008-09-25  Bruno Haible  <bruno@clisp.org>
25174
25175         * gnulib-tool (func_import): When computing the edits, consider not
25176         only the Makefile.ams that exist but also those that will be generated.
25177
25178 2008-09-25  Simon Josefsson  <simon@josefsson.org>
25179
25180         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
25181         fixes gnulib-tool --test warning about duplicate dependency.
25182
25183 2008-09-25  Bruno Haible  <bruno@clisp.org>
25184
25185         * gnulib-tool: Don't ask the user to perform edits in the generated
25186         Makefile.ams.
25187         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
25188         apply to the Makefile.am being generated.
25189         (func_emit_tests_Makefile_am): Execute edits that apply to the
25190         Makefile.am being generated.
25191         (func_import): Setup list of Makefile.am edits before emitting the
25192         Makefile.ams, not at the end.
25193         (func_create_testdir): Update.
25194         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25195
25196 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25197
25198         * gnulib-tool (func_import): Store the --tests-base option in the
25199         comment in gnulib-cache.m4.
25200
25201 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
25202
25203         * NEWS: Document increased portability that sys_select now provides.
25204
25205         * lib/sys_select.in.h: Install select wrapper.
25206         * lib/sys_socket.in.h: Use more descriptive name when there is no
25207         select wrapper.
25208         * lib/winsock-select.c: New.
25209         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
25210         Require gl_HEADER_SYS_SOCKET.
25211         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
25212         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
25213         * tests/test-sys_select.c: Add functional tests.
25214
25215 2008-09-24  Eric Blake  <ebb9@byu.net>
25216
25217         open, fopen: close fd leak in last patch
25218         * lib/open.c (rpl_open): Close fd before returning error.
25219         * lib/fopen.c (rpl_fopen): Close fd before returning error.
25220         * doc/posix-functions/open.texi (open): Document that Irix also
25221         has the bug.
25222         * doc/posix-functions/fopen.texi (fopen): Likewise.
25223         Reported by Paolo Bonzini.
25224
25225 2008-09-24  Bruno Haible  <bruno@clisp.org>
25226
25227         Ensure that a filename ending in a slash cannot be used to access a
25228         non-directory.
25229         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
25230         to check whether it's really a directory.
25231         * lib/fopen.c: Include fcntl.h, unistd.h.
25232         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
25233         and fdopen().
25234         * modules/fopen (Depends-on): Add unistd.
25235         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
25236         * tests/test-fopen.c (main): Likewise.
25237         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
25238         * doc/posix-functions/fopen.texi: Likewise.
25239         Reported by Eric Blake.
25240
25241 2008-09-23  Eric Blake  <ebb9@byu.net>
25242
25243         c-stack: avoid compiler optimizations when provoking overflow
25244         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
25245         recursion harder to optimize, to ensure a stack overflow occurs.
25246         * tests/test-c-stack.c (recurse): Likewise.
25247         Borrowed from libsigsegv.
25248
25249         c-stack: work around Irix sigaltstack bug
25250         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
25251         whether sigaltstack uses wrong end of stack_t (copied in part from
25252         libsigsegv).
25253         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
25254         Irix bug, without requiring an over-allocation.
25255         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
25256         bug.
25257
25258         fopen: document mingw bug on directories
25259         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
25260         not allowing a stream visiting a directory, even though reading
25261         from such a stream is not portable.
25262
25263 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25264
25265         * lib/poll.c: Rewrite.
25266         * modules/poll: Depend on alloca.
25267
25268 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25269
25270         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
25271         instead define prototypes for a full set of wrappers.  Ensure
25272         that Cygwin does not use the compatibility code, which is only
25273         for MinGW.
25274         * lib/winsock.c: New.
25275         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
25276         * modules/sys_socket: Add lib/winsock.c.
25277
25278         * modules/poll-tests: Add errno and perror.
25279         * tests/test-poll.c: Use ioctl, not ioctlsocket.
25280
25281 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25282
25283         * tests/test-poll.c: Downgrade minimum needed Winsock version.
25284
25285 2008-09-23  Bruno Haible  <bruno@clisp.org>
25286
25287         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
25288         * doc/glibc-functions/*: Likewise.
25289
25290 2008-09-23  Simon Josefsson  <simon@josefsson.org>
25291
25292         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
25293         success.
25294
25295 2008-09-22  Eric Blake  <ebb9@byu.net>
25296             Bruno Haible  <bruno@clisp.org>
25297
25298         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
25299         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
25300         supply %A but mishandle pseudo-NaN.
25301         Reported by Simon Josefsson.
25302
25303 2008-09-21  Bruno Haible  <bruno@clisp.org>
25304
25305         * tests/test-lock.c (main): Tweak skip message.
25306         * tests/test-tls.c (main): Likewise.
25307
25308 2008-09-21  Bruno Haible  <bruno@clisp.org>
25309
25310         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
25311         whether 'struct sigaction' has sa_sigaction here...
25312         (gl_PREREQ_SIG_HANDLER_H): ... not here.
25313         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
25314
25315 2008-09-21  Bruno Haible  <bruno@clisp.org>
25316
25317         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
25318         section.
25319         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
25320         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
25321         the new section.
25322         (Support for obsolete systems lacking POSIX:2001): New section.
25323         (String handling <string.h>): Move strdup to the new section.
25324         Suggested by Simon Josefsson and Paolo Bonzini.
25325
25326 2008-09-21  Bruno Haible  <bruno@clisp.org>
25327
25328         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
25329         exponents in %e and %g results on 'long double'. Needed for mingw's
25330         improved *printf functions.
25331         * tests/test-vasprintf-posix.c (test_function): Likewise.
25332         * tests/test-snprintf-posix.h (test_function): Likewise.
25333         * tests/test-sprintf-posix.h (test_function): Likewise.
25334         Reported by Eric Blake.
25335
25336 2008-09-21  Bruno Haible  <bruno@clisp.org>
25337
25338         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
25339         * tests/test-sprintf-posix.h (test_function): Likewise.
25340
25341 2008-09-21  Bruno Haible  <bruno@clisp.org>
25342
25343         * modules/getpass (Depends-on): Add strdup-posix.
25344
25345         New module 'strdup-posix'.
25346         * modules/strdup-posix: New file.
25347         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
25348         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
25349         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25350         REPLACE_STRDUP.
25351         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
25352         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
25353         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
25354         strdup-posix.
25355
25356         * modules/strdup (Depends-on): Remove malloc-posix.
25357
25358 2008-09-20  Bruno Haible  <bruno@clisp.org>
25359
25360         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
25361         Wildenhues.
25362
25363 2008-09-20  Bruno Haible  <bruno@clisp.org>
25364
25365         Ensure that wint_t gets defined on IRIX 5.3.
25366         * lib/wchar.in.h (wint_t): Define if not defined by the system.
25367         * lib/wctype.in.h (wint_t): Likewise.
25368         (__wctype_wint_t): Remove type.
25369         (isw*): Use wint_t instead of __wctype_wint_t.
25370         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
25371         * modules/wchar (Files): Add m4/wint_t.m4.
25372         (Makefile.am): Substitute HAVE_WINT_T.
25373         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
25374         * tests/test-wctype.c: Check that wint_t is defined.
25375         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
25376         * doc/posix-headers/wctype.texi: Likewise.
25377         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25378
25379 2008-09-18  Bruno Haible  <bruno@clisp.org>
25380
25381         * gnulib-tool (func_exit): Update comment.
25382
25383 2008-09-18  Simon Josefsson  <simon@josefsson.org>
25384
25385         * modules/getaddrinfo (Depends-on): Remove strdup, this module
25386         assumes strdup exists and does not depend on strdup to return
25387         ENOMEM on out of memory conditions.
25388
25389 2008-09-18  Bruno Haible  <bruno@clisp.org>
25390
25391         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
25392         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
25393         digits for the exponent.
25394
25395 2008-09-18  Jim Meyering  <meyering@redhat.com>
25396             Bruno Haible  <bruno@clisp.org>
25397
25398         * lib/vasnprintf.c (decimal_point_char): Define also if
25399         NEED_PRINTF_INFINITE_LONG_DOUBLE.
25400
25401 2008-09-16  Bruno Haible  <bruno@clisp.org>
25402         and Eric Blake  <ebb9@byu.net>
25403
25404         vasnprintf: support Irix 5.3
25405         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
25406         that mishandle long double infinity.
25407         Reported by Tom G. Christensen.
25408
25409 2008-09-16  Bruno Haible  <bruno@clisp.org>
25410
25411         * doc/glibc-functions/scandir.texi: Mention the function is missing on
25412         Solaris 9.
25413         * doc/glibc-functions/alphasort.texi: Likewise.
25414         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
25415
25416 2008-09-16  Jim Meyering  <meyering@redhat.com>
25417
25418         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
25419         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
25420         a umask modification leak out of a subshell.  Otherwise, the
25421         opensolaris /bin/sh would be accepted and thus cause unwarranted
25422         failures in the coreutils test suite.
25423
25424 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
25425
25426         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
25427         to succeed.
25428
25429 2008-09-16  Jim Meyering  <meyering@redhat.com>
25430
25431         avoid spurious test failure when library is built without ACL support
25432         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
25433         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
25434         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
25435         * tests/test-copy-acl.sh: Likewise.
25436
25437 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25438
25439         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
25440         based on character occurrence counts.
25441
25442 2008-09-15  Eric Blake  <ebb9@byu.net>
25443
25444         tests: avoid some compiler warnings
25445         * tests/test-memchr.c (main): Pass NULL indirectly.
25446         * tests/test-closein.c (main): Avoid unused variable.
25447
25448 2008-09-15  Bruno Haible  <bruno@clisp.org>
25449
25450         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
25451         are missing on OpenBSD 4.0 individually.
25452         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25453
25454 2008-09-15  Bruno Haible  <bruno@clisp.org>
25455
25456         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
25457         * doc/posix-functions/strerror.texi: Mention also Cygwin.
25458         * doc/posix-functions/perror.texi: Likewise.
25459         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
25460         is missing.
25461         Reported by Eric Blake.
25462
25463         * lib/errno.in.h: Use replacement values >= 2000.
25464         Reported by Eric Blake.
25465
25466 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25467
25468         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
25469         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
25470         limit.
25471         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
25472         compareseq was aborted.
25473
25474 2008-09-14  Bruno Haible  <bruno@clisp.org>
25475
25476         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
25477         yvec_edit_count.
25478         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
25479         (fstrcmp_bounded): Simplify result computation accordingly.
25480
25481 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25482
25483         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
25484         (fstrcmp): Define in terms of fstrcmp_bounded.
25485         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
25486         lower_bound argument.
25487         Return quickly if the result is certainly < lower_bound.
25488         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
25489
25490 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25491
25492         * lib/diffseq.h (EARLY_ABORT): New macro.
25493         (compareseq): Change return type to bool. Return true when EARLY_ABORT
25494         evaluates to true.
25495
25496 2008-09-14  Bruno Haible  <bruno@clisp.org>
25497
25498         * modules/perror-tests: New file.
25499         * tests/test-perror.sh: New file.
25500         * tests/test-perror.c: New file.
25501
25502         New module 'perror'.
25503         * lib/stdio.in.h (perror): New declaration.
25504         * lib/perror.c: New file.
25505         * m4/perror.m4: New file.
25506         * modules/perror: New file.
25507         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
25508         * doc/posix-functions/perror.texi: Mention the perror module.
25509         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
25510         REPLACE_PERROR.
25511         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
25512         REPLACE_PERROR.
25513
25514 2008-09-14  Bruno Haible  <bruno@clisp.org>
25515
25516         * modules/stdio (Makefile.am): Reorder to match the order in
25517         lib/stdio.in.h.
25518         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25519
25520 2008-09-13  Bruno Haible  <bruno@clisp.org>
25521
25522         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
25523
25524 2008-09-13  Bruno Haible  <bruno@clisp.org>
25525
25526         Extend strerror to cover the added errno values.
25527         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
25528         (rpl_strerror): Provide error messages for the added errno values and
25529         for the WSA* values.
25530         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
25531         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
25532         strerror.
25533         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
25534         * modules/strerror (Depends-on): Add errno.
25535         * doc/posix-functions/strerror.texi: Document the change.
25536         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
25537         and EOVERFLOW.
25538
25539 2008-09-13  Bruno Haible  <bruno@clisp.org>
25540
25541         * modules/EOVERFLOW: Remove file.
25542         * m4/eoverflow.m4: Remove file.
25543         * modules/EOVERFLOW-tests: Remove file.
25544         * tests/test-EOVERFLOW.c: Remove file.
25545         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
25546         * modules/ftell (Depends-on): Likewise.
25547         * modules/getdelim (Depends-on): Likewise.
25548         * modules/getugroups (Depends-on): Likewise.
25549         * modules/poll (Depends-on): Likewise.
25550         * modules/snprintf (Depends-on): Likewise.
25551         * modules/sprintf-posix (Depends-on): Likewise.
25552         * modules/vasnprintf (Depends-on): Likewise.
25553         * modules/vasprintf (Depends-on): Likewise.
25554         * modules/vfprintf-posix (Depends-on): Likewise.
25555         * modules/vsnprintf (Depends-on): Likewise.
25556         * modules/vsprintf-posix (Depends-on): Likewise.
25557         * modules/xvasprintf (Depends-on): Likewise.
25558         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25559         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
25560         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
25561         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
25562         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25563         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
25564         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
25565         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
25566         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25567         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
25568         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
25569         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
25570         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25571         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
25572         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
25573         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
25574         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25575         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
25576         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
25577         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
25578         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25579         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
25580         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
25581         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
25582         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
25583         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25584         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
25585         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
25586         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
25587         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
25588         * MODULES.html.sh: Remove EOVERFLOW.
25589         * NEWS: Mention the change.
25590
25591 2008-09-13  Bruno Haible  <bruno@clisp.org>
25592
25593         * modules/errno-tests: New file.
25594         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
25595
25596         * lib/errno.in.h: New file.
25597         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
25598         * modules/errno: New file.
25599         * doc/posix-headers/errno.texi: Update documentation.
25600         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
25601
25602 2008-09-13  Bruno Haible  <bruno@clisp.org>
25603
25604         * tests/test-poll.c: Use #if for native Windows, rather than testing
25605         __MSVCRT__.
25606
25607 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25608             Bruno Haible  <bruno@clisp.org>
25609
25610         * lib/glob.c: Don't include <pwd.h> on native Windows.
25611         (WINDOWS32): New macro.
25612         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
25613
25614 2008-09-13  Bruno Haible  <bruno@clisp.org>
25615
25616         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
25617         (ETIMEDOUT): Remove macro.
25618         (glthread_cond_timedwait_multithreaded): New declaration.
25619         (glthread_cond_timedwait): Use it.
25620         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
25621         (glthread_cond_timedwait_multithreaded): New function.
25622
25623 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25624
25625         * modules/poll-tests: Do not check for io.h.
25626         * tests/test-poll.c: Check for __MSVCRT__ instead.
25627
25628 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25629
25630         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
25631         * modules/poll-tests: Add inet_pton, stdbool, sockets.
25632         * tests/test-poll.c: Use them.  Use _pipe on Windows.
25633
25634 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25635
25636         * modules/poll-tests: New.
25637         * tests/test-poll.c: New.
25638
25639 2008-09-12  Eric Blake  <ebb9@byu.net>
25640
25641         frexp: test for NetBSD failure on -0.0
25642         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
25643         not all, bugs from NetBSD 3.0 have been fixed.
25644         * doc/posix-functions/frexp.texi (frexp): Document bug.
25645         Reported by Thomas Klausner.
25646
25647         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
25648         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
25649         literal -0.0.
25650         Reported by Jonathan C. Patschke <jp@centtech.com>.
25651
25652 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25653
25654         * lib/glthread/cond.h: Use dummy implementation also if
25655         USE_WIN32_THREADS.
25656
25657 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25658
25659         * modules/fnmatch-posix (License): Change to LGPLv2+.
25660         * modules/fnmatch-gnu (License): Likewise.
25661
25662 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25663
25664         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
25665
25666 2008-09-11  Jim Meyering  <meyering@redhat.com>
25667
25668         * users.txt: Add gtk-vnc.
25669
25670 2008-09-08  Simon Josefsson  <simon@josefsson.org>
25671
25672         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
25673         rotate amounts.
25674
25675         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
25676         required for 16-bit and 8-bit rotates.
25677         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
25678         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
25679         UINT8_MAX instead of hard-coded constants.
25680         Suggested by Paul Eggert.
25681
25682 2008-09-07  Bruno Haible  <bruno@clisp.org>
25683
25684         * tests/test-striconveh.c (main): Check behaviour when converting from
25685         UTF-7.
25686
25687         Make striconveh work better with stateful encodings.
25688         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
25689         that iconv does not increment the inptr when returning -1/EINVAL.
25690
25691 2008-09-07  Bruno Haible  <bruno@clisp.org>
25692
25693         * build-aux/config.rpath: Update according to libtool-2.2.6.
25694         * build-aux/config.libpath: Likewise.
25695
25696 2008-09-06  Bruno Haible  <bruno@clisp.org>
25697
25698         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
25699         * lib/freadptr.c (freadptr): Likewise.
25700         * lib/freadseek.c (freadptrinc): Likewise.
25701         Reported by Simon Josefsson.
25702
25703 2008-09-06  Bruno Haible  <bruno@clisp.org>
25704
25705         * modules/freadptr (License): Change to LGPLv2+.
25706         * modules/freadseek (License): Likewise.
25707         Suggested by Eric Blake.
25708
25709         * modules/memchr2 (License): Change to LGPLv2+.
25710         Approved by Eric Blake.
25711
25712 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25713             Bruno Haible  <bruno@clisp.org>
25714
25715         Make gnulib-tool work with native 'sed' on AIX.
25716         * gnulib-tool (sed_noop): New variable.
25717         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
25718         func_add_or_update, func_create_testdir): Use it to initialize sed
25719         script variables.
25720         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25721
25722 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
25723             Bruno Haible  <bruno@clisp.org>
25724
25725         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
25726         also works after #include directives.
25727
25728 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
25729
25730         getdate.y: reject an out-of-range timezone value
25731         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
25732         the range [-24...+24].  When specified with only one or two digits,
25733         * tests/test-getdate.c: Tests for the fix.
25734         * doc/getdate.texi: Document this change.
25735
25736 2008-09-03  Bruno Haible  <bruno@clisp.org>
25737
25738         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
25739
25740 2008-09-02  Simon Josefsson  <simon@josefsson.org>
25741
25742         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
25743         <bruce.korb@gmail.com> with ideas from Ben Pfaff
25744         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
25745         Blake <ebb9@byu.net>.
25746
25747         * tests/test-bitrotate.c: Add more test vectors.
25748
25749 2008-09-02  Eric Blake  <ebb9@byu.net>
25750
25751         vasnprintf-posix: handle large precision via %.*d
25752         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
25753         when handling it ourselves.
25754         * tests/test-vasnprintf-posix.c (test_function): Add test.
25755         * tests/test-snprintf-posix.h (test_function): Likewise.
25756         * tests/test-sprintf-posix.h (test_function): Likewise.
25757         * tests/test-vasprintf-posix.c (test_function): Likewise.
25758         Reported by Alain Guibert.
25759
25760 2008-09-01  Eric Blake  <ebb9@byu.net>
25761
25762         c-stack: make configure-time check more robust
25763         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
25764         successful sigaction call.
25765         Reported by Tom G. Christensen.
25766
25767 2008-09-01  Bruno Haible  <bruno@clisp.org>
25768
25769         New module 'findprog-lgpl'.
25770         * modules/findprog-lgpl: New file.
25771         * lib/findprog-lgpl.c: New file.
25772         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
25773         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
25774         to decide whether to use strdup or xstrdup, concatenated_filename or
25775         xconcatenated_filename.
25776
25777 2008-09-01  Bruno Haible  <bruno@clisp.org>
25778
25779         Split module 'concat-filename' into 'concat-filename' (LGPL) and
25780         'xconcat-filename' (GPL).
25781         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
25782         (License): Change to LGPLv2+.
25783         * modules/xconcat-filename: New file.
25784         * lib/concat-filename.h (concatenated_filename): Change specification.
25785         (xconcatenated_filename): New declaration.
25786         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
25787         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
25788         memory situations.
25789         * lib/xconcat-filename.c: New file.
25790         * NEWS: Mention the change.
25791         * lib/findprog.c: Include concat-filename.h, not filename.h.
25792         (find_in_path): Use xconcatenated_filename instead of
25793         concatenated_filename.
25794         * lib/javacomp.c: Include concat-filename.h, not filename.h.
25795         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
25796         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
25797         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
25798         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
25799         instead of concatenated_filename.
25800         * lib/javaexec.c: Include concat-filename.h, not filename.h.
25801         (execute_java_class): Use xconcatenated_filename instead of
25802         concatenated_filename.
25803         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
25804         * modules/javacomp (Depends-on): Likewise.
25805         * modules/javaexec (Depends-on): Likewise.
25806
25807 2008-09-01  Bruno Haible  <bruno@clisp.org>
25808
25809         Split module 'filename' into 'filename' and 'concat-filename'.
25810         * modules/filename: Keep only lib/filename.h.
25811         (License): Change to LGPLv2+.
25812         * modules/concat-filename: New file, extracted from modules/filename.
25813         * lib/filename.h (concatenated_filename): Remove declaration.
25814         * lib/concat-filename.h: New file, extracted from lib/filename.h.
25815         * lib/concat-filename.c: Include concat-filename.h.
25816         * NEWS: Mention the change.
25817
25818 2008-09-01  Simon Josefsson  <simon@josefsson.org>
25819
25820         * lib/bitrotate.h (rotl8, rotr8): Add.
25821
25822         * modules/bitrotate (configure.ac): Need
25823         AC_REQUIRE([AC_C_INLINE]).
25824         (Description): Mention stdint.h.  Reported by Bruno Haible
25825         <bruno@clisp.org>.
25826
25827         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
25828         Paolo Bonzini <bonzini@gnu.org>.
25829
25830 2008-08-31  Bruno Haible  <bruno@clisp.org>
25831
25832         Assume Solaris specific bi-arch conventions on Solaris systems.
25833         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
25834         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
25835         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
25836         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
25837         like acl_libdirstem.
25838         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
25839         acl_libdirstem.
25840         * NEWS: Mention the change.
25841         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
25842
25843 2008-08-31  Jim Meyering  <meyering@redhat.com>
25844
25845         * lib/strftime.h: Add comments describing the two added arguments.
25846
25847         remove duplicate #include directives
25848         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
25849         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
25850
25851 2008-08-31  Bruno Haible  <bruno@clisp.org>
25852
25853         New module 'sigpipe-die'.
25854         * modules/sigpipe-die: New file.
25855         * lib/sigpipe-die.h: New file.
25856         * lib/sigpipe-die.c: New file.
25857         * MODULES.html.sh (Signal handling): Add sigpipe-die.
25858
25859 2008-08-31  Bruno Haible  <bruno@clisp.org>
25860
25861         Don't override previously installed signal handlers.
25862         * lib/fatal-signal.c (saved_sigactions): New variable.
25863         (uninstall_handlers): Reset the signal to the saved handler, not
25864         to SIG_DFL (except when ignored).
25865         (install_handlers): Save the previous handlers.
25866
25867 2008-08-30  Bruno Haible  <bruno@clisp.org>
25868
25869         * gnulib-tool (func_reset_sigpipe): New function.
25870         (func_get_automake_snippet, func_modules_transitive_closure,
25871         func_import): Invoke it before a join command that reads from stdin,
25872         to avoid "echo: write error: Broken pipe" error messages on stderr.
25873         Reported by Sam Steingold <sds@gnu.org>.
25874
25875 2008-08-30  Bruno Haible  <bruno@clisp.org>
25876
25877         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
25878         Code copied from m4/open.m4.
25879         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
25880         access and the filename ends in a slash. Code copied from lib/open.c.
25881         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
25882         * tests/test-fopen.c (main): Check against bug with trailing slash.
25883
25884 2008-08-29  Bruno Haible  <bruno@clisp.org>
25885
25886         Avoid some "gcc -pedantic" warnings.
25887         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
25888         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
25889         * lib/dirent.in.h: Likewise.
25890         * lib/fcntl.in.h: Likewise.
25891         * lib/float.in.h: Likewise.
25892         * lib/iconv.in.h: Likewise.
25893         * lib/inttypes.in.h: Likewise.
25894         * lib/locale.in.h: Likewise.
25895         * lib/math.in.h: Likewise.
25896         * lib/netinet_in.in.h: Likewise.
25897         * lib/search.in.h: Likewise.
25898         * lib/signal.in.h: Likewise.
25899         * lib/stdarg.in.h: Likewise.
25900         * lib/stdint.in.h: Likewise.
25901         * lib/stdio.in.h: Likewise.
25902         * lib/stdlib.in.h: Likewise.
25903         * lib/string.in.h: Likewise.
25904         * lib/strings.in.h: Likewise.
25905         * lib/sys_select.in.h: Likewise.
25906         * lib/sys_socket.in.h: Likewise.
25907         * lib/sys_stat.in.h: Likewise.
25908         * lib/sys_time.in.h: Likewise.
25909         * lib/sysexits.in.h: Likewise.
25910         * lib/time.in.h: Likewise.
25911         * lib/unistd.in.h: Likewise.
25912         * lib/wchar.in.h: Likewise.
25913         * lib/wctype.in.h: Likewise.
25914         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
25915         * modules/fchdir (Makefile.am): Likewise.
25916         * modules/fcntl (Makefile.am): Likewise.
25917         * modules/float (Makefile.am): Likewise.
25918         * modules/iconv_open (Makefile.am): Likewise.
25919         * modules/inttypes (Makefile.am): Likewise.
25920         * modules/locale (Makefile.am): Likewise.
25921         * modules/math (Makefile.am): Likewise.
25922         * modules/netinet_in (Makefile.am): Likewise.
25923         * modules/search (Makefile.am): Likewise.
25924         * modules/signal (Makefile.am): Likewise.
25925         * modules/stdarg (Makefile.am): Likewise.
25926         * modules/stdint (Makefile.am): Likewise.
25927         * modules/stdio (Makefile.am): Likewise.
25928         * modules/stdlib (Makefile.am): Likewise.
25929         * modules/string (Makefile.am): Likewise.
25930         * modules/strings (Makefile.am): Likewise.
25931         * modules/sys_select (Makefile.am): Likewise.
25932         * modules/sys_socket (Makefile.am): Likewise.
25933         * modules/sys_stat (Makefile.am): Likewise.
25934         * modules/sys_time (Makefile.am): Likewise.
25935         * modules/sysexits (Makefile.am): Likewise.
25936         * modules/time (Makefile.am): Likewise.
25937         * modules/unistd (Makefile.am): Likewise.
25938         * modules/wchar (Makefile.am): Likewise.
25939         * modules/wctype (Makefile.am): Likewise.
25940         Reported by Reuben Thomas <rrt@sc3d.org>.
25941
25942 2008-08-29  Bruno Haible  <bruno@clisp.org>
25943
25944         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
25945         any more.
25946
25947 2008-08-29  Simon Josefsson  <simon@josefsson.org>
25948
25949         * MODULES.html.sh (Misc): Add bitrotate.
25950
25951         * modules/bitrotate: New file.
25952
25953         * lib/bitrotate.h: New file.
25954
25955         * modules/bitrotate-tests: New file.
25956
25957         * tests/test-bitrotate.c: New file.
25958
25959         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
25960         on the bitrotate module.
25961
25962         * lib/arctwo.c: Use new bitrotate module.
25963
25964 2008-08-29  Jim Meyering  <meyering@redhat.com>
25965
25966         bootstrap: merge changes from coreutils
25967         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
25968         of copied files.  Remove a kludge, now that this is fixed.
25969         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
25970         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
25971         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
25972
25973 2008-08-29  Bruno Haible  <bruno@clisp.org>
25974
25975         * MODULES.html.sh: Remove --cvs-urls option.
25976
25977 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
25978
25979         maint.mk: adjust to file name change
25980         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
25981
25982 2008-08-28  Jim Meyering  <meyering@redhat.com>
25983
25984         * modules/getndelim2 (License): Relicense to LGPLv2+.
25985         Approved by Richard Stallman for the version of 1995, and by
25986         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
25987
25988 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
25989
25990         * lib/getdelim.c (flockfile, funlockfile): Make all of them
25991         dummy if one is not available.  Do not touch them if
25992         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
25993         (getc_maybe_unlocked): New.
25994         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
25995
25996 2008-08-26  Eric Blake  <ebb9@byu.net>
25997
25998         doc/INSTALL: resync from autoconf
25999         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
26000         (INSTALL_PRELUDE): Delete; this is done more efficiently by
26001         moving...
26002         * install.texi [!autoconf]: ...here.  Resync from autoconf.
26003         * INSTALL: Regenerate.
26004         * INSTALL.ISO: New file.
26005         * INSTALL.UTF-8: Likewise.
26006
26007 2008-08-26  Jim Meyering  <meyering@redhat.com>
26008
26009         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
26010         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
26011         these definitions conditional, so that they may be overridden, too.
26012
26013 2008-08-26  Bruno Haible  <bruno@clisp.org>
26014
26015         Generate INSTALL file variants with prettier quotes.
26016         * doc/Makefile (INSTALL_PRELUDE): New macro.
26017         (INSTALL): Use it.
26018         (INSTALL.ISO, INSTALL.UTF-8): New rules.
26019
26020 2008-08-26  Bruno Haible  <bruno@clisp.org>
26021
26022         Run makeinfo in an English locale.
26023         * doc/Makefile (MAKEINFO): New variable.
26024
26025 2008-08-26  Bruno Haible  <bruno@clisp.org>
26026
26027         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
26028         Suggested by Eric Blake.
26029
26030 2008-08-25  Bruno Haible  <bruno@clisp.org>
26031
26032         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
26033
26034 2008-08-25  Eric Blake  <ebb9@byu.net>
26035
26036         c-stack: test that stack overflow can be caught
26037         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
26038         that platform allows handling stack overflow; at least OS/2 EMX
26039         has sigaltstack, but crashes before transferring control to
26040         handler on stack overflow.
26041         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
26042         check for HAVE_STACK_OVERFLOW_HANDLING.
26043         Reported by Elbert Pol.
26044
26045 2008-08-25  Bruno Haible  <bruno@clisp.org>
26046
26047         * doc/posix-functions/strftime.texi: Fix description of strftime
26048         module.
26049
26050 2008-08-24  Bruno Haible  <bruno@clisp.org>
26051
26052         * tests/uniwidth/test-uc_width2.c: New file.
26053         * tests/uniwidth/test-uc_width2.sh: New file.
26054         * modules/uniwidth/width-tests (Files): Add the new files.
26055         (TESTS): Add uniwidth/test-uc_width2.sh.
26056         (TESTS_ENVIRONMENT): New variable.
26057         (check_PROGRAMS): Add test-uc_width2.
26058         (test_uc_width2_SOURCES): New variable.
26059
26060         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
26061         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
26062         not 0x00AB.
26063         Reported by Alexander V. Lukyanov <lav@netis.ru>.
26064
26065 2008-08-22  Eric Blake  <ebb9@byu.net>
26066
26067         test-lock, test-tls: mention why a test is skipped
26068         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
26069         skipped.
26070         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
26071
26072         count-one-bits: relax license
26073         * modules/count-one-bits (License): Relicense to LGPLv2+.
26074         Suggested by Ludovic Courtès, approved by Ben Pfaff.
26075
26076 2008-08-22  Andreas Schwab  <schwab@suse.de>
26077
26078         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26079         Remove spurious space in assignment.
26080
26081 2008-08-21  Simon Josefsson  <simon@josefsson.org>
26082
26083         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
26084         Paul Eggert <eggert@CS.UCLA.EDU>.
26085
26086 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
26087
26088         * modules/gettext: Add m4/threadlib.m4.
26089
26090 2008-08-19  Eric Blake  <ebb9@byu.net>
26091
26092         test-c-stack: fix compilation failure on FreeBSD 5.0
26093         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
26094         headers before <sys/resource.h>.
26095         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
26096         the bug.
26097         Reported by Nelson H. F. Beebe.
26098
26099         strverscmp: migrate from "strverscmp.h" to <string.h>
26100         * modules/string (Makefile.am): Add new hooks.
26101         * modules/strverscmp (Files): Remove strverscmp.h.
26102         (Depends-on): Add string.
26103         (configure.ac): Add indicator.
26104         (Include): Mention new header.
26105         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
26106         defaults.
26107         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
26108         results.
26109         * lib/strverscmp.h: Delete.
26110         * lib/string.in.h (strverscmp): Provide declaration, when needed.
26111         * tests/test-strverscmp.c (includes): Adjust client.
26112         * lib/check-version.c (includes): Likewise.
26113         * NEWS: Document the change.
26114
26115         strverscmp: add unit test
26116         * modules/strverscmp-tests: New file.
26117         * tests/test-strverscmp.c: Likewise.
26118
26119 2008-08-19  Simon Josefsson  <simon@josefsson.org>
26120
26121         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
26122         regarding Windows crypto stuff, from Mono.
26123
26124 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
26125
26126         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
26127         if present, for intel RND.  Return error on failures.
26128
26129 2008-08-18  Ben Pfaff  <blp@gnu.org>
26130
26131         gitlog-to-changelog: give better diagnostic for failed pipe-open
26132         * build-aux/gitlog-to-changelog: Improve error message: suggest
26133         that the version of Git may be too old.
26134
26135 2008-08-18  Simon Josefsson  <simon@josefsson.org>
26136
26137         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
26138         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
26139
26140 2008-08-18  Bruno Haible  <bruno@clisp.org>
26141
26142         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
26143         pthread_in_use().
26144
26145 2008-08-18  Bruno Haible  <bruno@clisp.org>
26146
26147         * lib/glthread/threadlib.c: Include <pthread.h>.
26148
26149 2008-08-18  Bruno Haible  <bruno@clisp.org>
26150
26151         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
26152         glthread_recursive_lock_* macros.
26153         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
26154         Fix syntax error.
26155
26156 2008-08-18  Bruno Haible  <bruno@clisp.org>
26157
26158         * lib/glthread/thread.c: Avoid forcing a context switch right after
26159         thread creation.
26160
26161 2008-08-17  Bruno Haible  <bruno@clisp.org>
26162
26163         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
26164         * lib/glthread/thread.h: Provide Win32 specific implementation.
26165         * modules/thread (Files): Add lib/glthread/thread.c.
26166         (Depends-on): Add lock.
26167         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
26168
26169 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26170
26171         New module 'yield'.
26172         * modules/yield: New file.
26173         * lib/glthread/yield.h: New file.
26174         * m4/yield.m4: New file.
26175         * MODULES.html.sh (Multithreading): Add yield.
26176
26177 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26178
26179         New module 'thread'.
26180         * modules/thread: New file.
26181         * lib/glthread/thread.h: New file.
26182         * m4/thread.m4: New file.
26183         * MODULES.html.sh (Multithreading): Add thread.
26184
26185 2008-08-17  Bruno Haible  <bruno@clisp.org>
26186
26187         * lib/glthread/lock.h: Include <stdlib.h> always.
26188         * lib/glthread/tls.h: Likewise.
26189         * lib/glthread/cond.h: Likewise.
26190
26191 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26192
26193         New module 'cond'.
26194         * modules/cond: New file.
26195         * lib/glthread/cond.h: New file.
26196         * lib/glthread/cond.c: New file.
26197         * m4/cond.m4: New file.
26198         * MODULES.html.sh (Multithreading): Add cond.
26199
26200 2008-08-16  Eric Blake  <ebb9@byu.net>
26201
26202         c-stack: fix regression on Irix 5.3 from 2008-06-21
26203         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
26204         sa_sigaction...
26205         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
26206         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
26207         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
26208         * modules/signal (Makefile.am): Use the value.
26209         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
26210         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
26211         * doc/posix-headers/signal.texi (signal.h): Document this
26212         portability issue.
26213         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
26214         Reported by Tom G. Christensen.
26215
26216 2008-08-17  Bruno Haible  <bruno@clisp.org>
26217
26218         New module 'threadlib'.
26219         * modules/threadlib: New file.
26220         * lib/glthread/threadlib.c: New file, extracted from
26221         lib/glthread/lock.c.
26222         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
26223         functions.
26224         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
26225         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
26226         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
26227         macros.
26228         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
26229         (gl_DISABLE_THREADS): Remove macro.
26230         * modules/lock (Files): Remove build-aux/config.rpath.
26231         (Depends-on): Remove havelib. Add threadlib.
26232         (configure.ac-early): Remove section.
26233         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
26234         * modules/tls (Depends-on): Remove lock. Add threadlib.
26235         (Link): New section, copied from threadlib.
26236         * MODULES.html.sh (Multithreading): Add threadlib.
26237
26238 2008-08-14  Bruno Haible  <bruno@clisp.org>
26239
26240         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
26241         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
26242         glthread_rwlock_unlock, glthread_rwlock_destroy,
26243         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
26244         glthread_recursive_lock_destroy): Define as macros always.
26245         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
26246         glthread_lock_lock.
26247         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
26248         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
26249         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
26250         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
26251         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
26252         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
26253         (glthread_recursive_lock_lock_func): Renamed from
26254         glthread_recursive_lock_lock.
26255         (glthread_recursive_lock_unlock_func): Renamed from
26256         glthread_recursive_lock_unlock.
26257         (glthread_recursive_lock_destroy_func): Renamed from
26258         glthread_recursive_lock_destroy.
26259
26260 2008-08-14  Bruno Haible  <bruno@clisp.org>
26261
26262         * lib/glthread/lock.h: Renamed from lib/lock.h.
26263         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
26264         * lib/glthread/tls.h: Renamed from lib/tls.h.
26265         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
26266         * lib/fstrcmp.c: Update includes.
26267         * lib/strsignal.c: Update includes.
26268         * modules/lock (Files, Makefile.am): Update.
26269         (Include): Change to "glthread/lock.h".
26270         * modules/tls (Files, Makefile.am): Update.
26271         (Include): Change to "glthread/tls.h".
26272         * tests/test-lock.c: Update includes.
26273         * tests/test-tls.c: Update includes.
26274         * NEWS: Mention the renamed header files.
26275
26276 2008-08-11  Jim Meyering  <meyering@redhat.com>
26277
26278         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
26279
26280 2008-08-11  Eric Blake  <ebb9@byu.net>
26281
26282         test-c-stack: avoid C99-ism
26283         * tests/test-c-stack.c (main): Fix whitespace, move declaration
26284         before statement.
26285         Reported by Alain Guibert.
26286
26287 2008-08-10  Jim Meyering  <meyering@redhat.com>
26288
26289         ensure that return value of uinttostr et al are not ignored
26290         * lib/inttostr.h (__GNUC_PREREQ): Define.
26291         (__attribute_warn_unused_result__): Define.
26292         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
26293
26294 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
26295
26296         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
26297         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
26298
26299 2008-08-07  Jim Meyering  <meyering@redhat.com>
26300
26301         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
26302
26303         * modules/mkstemp (License): Relicense under LGPLv2+.
26304         * modules/tempname (License): Likewise.
26305
26306 2008-08-06  Bruno Haible  <bruno@clisp.org>
26307
26308         * lib/poll.c (poll): Further micro-optimization.
26309
26310 2008-08-06  Jim Meyering  <meyering@redhat.com>
26311
26312         inet_pton.c: use locale-independent tolower
26313         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
26314         (inet_pton6): Use c_tolower rather than tolower.
26315         * modules/inet_pton (Depends-on): Add c-ctype.
26316
26317 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
26318
26319         * lib/poll.c (poll): Avoid division when timeout is 0, cache
26320         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
26321
26322 2008-08-06  Jim Meyering  <meyering@redhat.com>
26323
26324         * modules/inet_pton (License): Relicense under LGPLv2+.
26325
26326 2008-08-03  Bruno Haible  <bruno@clisp.org>
26327
26328         Additional non-aborting API for lock and tls.
26329         * lib/lock.h: Include <errno.h>.
26330         (glthread_lock_init): New macro/function.
26331         (gl_lock_init): Define as wrapper around glthread_lock_init.
26332         (glthread_lock_lock): New macro/function.
26333         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
26334         (glthread_lock_unlock): New macro/function.
26335         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
26336         (glthread_lock_destroy): New macro/function.
26337         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
26338         (glthread_rwlock_init): New macro/function.
26339         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
26340         (glthread_rwlock_rdlock): New macro/function.
26341         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
26342         (glthread_rwlock_wrlock): New macro/function.
26343         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
26344         (glthread_rwlock_unlock): New macro/function.
26345         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
26346         (glthread_rwlock_destroy): New macro/function.
26347         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
26348         (glthread_recursive_lock_init): New macro/function.
26349         (gl_recursive_lock_init): Define as wrapper around
26350         glthread_recursive_lock_init.
26351         (glthread_recursive_lock_lock): New macro/function.
26352         (gl_recursive_lock_lock): Define as wrapper around
26353         glthread_recursive_lock_lock.
26354         (glthread_recursive_lock_unlock): New macro/function.
26355         (gl_recursive_lock_unlock): Define as wrapper around
26356         glthread_recursive_lock_unlock.
26357         (glthread_recursive_lock_destroy): New macro/function.
26358         (gl_recursive_lock_destroy): Define as wrapper around
26359         glthread_recursive_lock_destroy.
26360         (glthread_once): New macro/function.
26361         (gl_once): Define as wrapper around glthread_once.
26362         Update function declarations.
26363         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
26364         glthread_rwlock_init. Return error code.
26365         (glthread_rwlock_rdlock_multithreaded): Renamed from
26366         glthread_rwlock_rdlock. Return error code.
26367         (glthread_rwlock_wrlock_multithreaded): Renamed from
26368         glthread_rwlock_wrlock. Return error code.
26369         (glthread_rwlock_unlock_multithreaded): Renamed from
26370         glthread_rwlock_unlock. Return error code.
26371         (glthread_rwlock_destroy_multithreaded): Renamed from
26372         glthread_rwlock_destroy. Return error code.
26373         (glthread_recursive_lock_init_multithreaded): Renamed from
26374         glthread_recursive_lock_init. Return error code.
26375         (glthread_recursive_lock_lock_multithreaded): Renamed from
26376         glthread_recursive_lock_lock. Return error code.
26377         (glthread_recursive_lock_unlock_multithreaded): Renamed from
26378         glthread_recursive_lock_unlock. Return error code.
26379         (glthread_recursive_lock_destroy_multithreaded): Renamed from
26380         glthread_recursive_lock_destroy. Return error code.
26381         (glthread_once_call): Make static.
26382         (glthread_once_multithreaded): Renamed from glthread_once.
26383         * lib/tls.h: Include <errno.h>.
26384         (glthread_tls_key_init): New macro/function.
26385         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
26386         (glthread_tls_set): New macro/function.
26387         (gl_tls_set): Define as wrapper around glthread_tls_set.
26388         (glthread_tls_key_destroy): New macro/function.
26389         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
26390         Update function declarations.
26391         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
26392         glthread_tls_get.
26393         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
26394
26395 2008-08-04  Eric Blake  <ebb9@byu.net>
26396
26397         gnumakefile: use space, not TAB, outside of targets
26398         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
26399
26400 2008-08-02  Jim Meyering  <meyering@redhat.com>
26401
26402         getdate.y: avoid locale-dependent date parsing failure
26403         In Turkish locales, getdate would fail to recognize keywords
26404         containing a lowercase "i".  The solution is not to rely on
26405         locale-sensitive case-conversion.
26406         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
26407         (lookup_word): Use c_toupper in place of toupper.
26408         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
26409         Reported by Vefa Bicakci <bicave@superonline.com> in
26410         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
26411         * modules/getdate (Depends-on): Add c-ctype.
26412
26413 2008-08-02  Bruno Haible  <bruno@clisp.org>
26414
26415         * gnulib-tool (func_import): When updating or creating a .gitignore
26416         file, prepend each added line with a slash, and ignore leading slashes
26417         from the existing lines.
26418         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
26419
26420 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26421
26422         Portability fix for GNU make 3.79.1.
26423         * top/GNUmakefile: Avoid 'else COND', which older GNU make
26424         versions do not understand.
26425
26426 2008-08-01  Bruno Haible  <bruno@clisp.org>
26427
26428         Work around bug of HP-UX 10.20 cc with -0.0 literal.
26429         * tests/test-isnanf.h (zero): New variable.
26430         (main): Avoid literal -0.0f.
26431         * tests/test-isnand.h (zero): New variable.
26432         (main): Avoid literal -0.0.
26433         * tests/test-isnanl.h (zero): New variable.
26434         (main): Avoid literal -0.0L.
26435         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
26436         (test_float, test_double, test_long_double): Avoid literals -0.0f,
26437         -0.0, -0.0L.
26438         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
26439         (test_signbitd): Avoid literal -0.0.
26440         (test_signbitl): Avoid literal -0.0L.
26441         * tests/test-ceilf1.c (zero): New variable.
26442         (main): Avoid literal -0.0f.
26443         * tests/test-ceill.c (zero): New variable.
26444         (main): Avoid literal -0.0L.
26445         * tests/test-floorf1.c (zero): New variable.
26446         (main): Avoid literal -0.0f.
26447         * tests/test-floorl.c (zero): New variable.
26448         (main): Avoid literal -0.0L.
26449         * tests/test-roundf1.c (zero): New variable.
26450         (main): Avoid literal -0.0f.
26451         * tests/test-round1.c (zero): New variable.
26452         (main): Avoid literal -0.0.
26453         * tests/test-roundl.c (zero): New variable.
26454         (main): Avoid literal -0.0L.
26455         * tests/test-truncf1.c (zero): New variable.
26456         (main): Avoid literal -0.0f.
26457         * tests/test-trunc1.c (zero): New variable.
26458         (main): Avoid literal -0.0.
26459         * tests/test-truncl.c (zero): New variable.
26460         (main): Avoid literal -0.0L.
26461         * tests/test-frexp.c (zero): New variable.
26462         (main): Avoid literal -0.0.
26463         * tests/test-frexpl.c (zero): New variable.
26464         (main): Avoid literal -0.0L.
26465         * tests/test-ldexpl.c (zero): New variable.
26466         (main): Avoid literal -0.0L.
26467         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
26468         (zerod, zerol): New variables.
26469         (test_function): Avoid literals -0.0, -0.0L.
26470         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
26471         (zerod, zerol): New variables.
26472         (test_function): Avoid literals -0.0, -0.0L.
26473         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
26474         (zerod, zerol): New variables.
26475         (test_function): Avoid literals -0.0, -0.0L.
26476         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
26477         (zerod, zerol): New variables.
26478         (test_function): Avoid literals -0.0, -0.0L.
26479         * tests/test-strtod.c (zero): New variable.
26480         (main): Avoid literal -0.0.
26481         Reported by Jonathan C. Patschke <jp@centtech.com>.
26482
26483 2008-07-31  Jim Meyering  <meyering@redhat.com>
26484
26485         sha256.h: correct definition of SHA224_DIGEST_SIZE
26486         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
26487         Reported by Paulie Pena IV <paulie4@gmail.com>.
26488         Define as 224 / 8, rather than as a literal.
26489         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
26490         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
26491         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
26492
26493 2008-07-31  Bruno Haible  <bruno@clisp.org>
26494
26495         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
26496         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
26497         Reported by Jonathan Patschke <jp@centtech.com>.
26498
26499 2008-07-31  Bruno Haible  <bruno@clisp.org>
26500
26501         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
26502         Reported by Paolo Bonzini <bonzini@gnu.org>.
26503
26504 2008-07-30  Eric Blake  <ebb9@byu.net>
26505
26506         test-strtod: allow compilation without -lm
26507         * tests/test-strtod.c (main): Avoid link dependence on fabs.
26508         Reported by Dennis Clarke <blastwave@gmail.com>.
26509
26510 2008-07-28  Jim Meyering  <meyering@redhat.com>
26511
26512         bootstrap: work also when there are no .po files in po/
26513         * build-aux/bootstrap (update_po_files): Complete the change
26514         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
26515
26516 2008-07-27  Jim Meyering  <meyering@redhat.com>
26517
26518         * users.txt: Add zile.
26519
26520 2008-07-26  Ben Pfaff  <blp@gnu.org>
26521
26522         Add missing dependencies on new m4/exponent[fdl].m4 files.
26523         * modules/isnanf-nolibm: Add m4/exponentf.m4.
26524         * modules/isnand-nolibm: Add m4/exponentd.m4.
26525         * modules/isnanl-nolibm: Add m4/exponentl.m4.
26526         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
26527         m4/isnan[fdl].m4, because the macros actually used moved.
26528         Reported by Jim Meyering.
26529
26530 2008-07-14  Ben Pfaff  <blp@gnu.org>
26531
26532         Add isinf module.
26533         * lib/isinf.c: New file.
26534         * lib/math.in.h: Define isinf macro if we have decided to replace
26535         it.
26536         * m4/isinf.m4: New file.
26537         * m4/math_h.m4: Initialize and substitute variables for isinf
26538         module.
26539         * modules/isinf: New file.
26540         * modules/isinf-tests: New file.
26541         * modules/math: Add substitutions for new module.
26542         * tests/test-isinf.c: New file.
26543         * doc/posix-functions/isinf.texi: Mention new module.
26544         * MODULES.html.sh: Mention new module.
26545
26546 2008-07-14  Ben Pfaff  <blp@gnu.org>
26547
26548         Factor out some macros for use by additional modules.
26549         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
26550         exponentf.m4.
26551         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
26552         exponentd.m4.
26553         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
26554         file exponentl.m4.
26555         * m4/exponentf.m4: New file.
26556         * m4/exponentd.m4: New file.
26557         * m4/exponentl.m4: New file.
26558         * modules/isnanf: Use new file m4/exponentf.m4.
26559         * modules/isnand: Use new file m4/exponentd.m4.
26560         * modules/isnanl: Use new file m4/exponentl.m4.
26561
26562 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
26563
26564         mktime.c: normalize tp->tm_isdst value to -1/0/1.
26565         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
26566         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
26567         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
26568
26569         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
26570         readlink on platforms without PATH_MAX.
26571
26572 2008-07-21  Eric Blake  <ebb9@byu.net>
26573
26574         Warn, not fail, on stale version.
26575         * top/GNUmakefile (_curr-ver): Tone down previous patch.
26576
26577         Don't allow installation with stale devel version number.
26578         * top/GNUmakefile (_is-install-target): New macro.
26579         (_curr-ver): Forbid installation with stale version number.
26580
26581 2008-07-20  Bruno Haible  <bruno@clisp.org>
26582
26583         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
26584         TESTS_ENVIRONMENT.
26585         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
26586
26587 2008-07-20  Bruno Haible  <bruno@clisp.org>
26588
26589         * lib/c-stack.h (c_stack_action): Add documentation.
26590         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
26591
26592 2008-07-20  Bruno Haible  <bruno@clisp.org>
26593
26594         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
26595         * modules/readlink (License): Likewise.
26596
26597 2008-07-17  Eric Blake  <ebb9@byu.net>
26598
26599         * modules/c-stack (Link): Fix typo.
26600
26601         Make c-stack use libsigsegv, when available.
26602         * modules/c-stack (Depends-on): Add libsigsegv.
26603         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
26604         needed.
26605         * lib/c-stack.c (SIGSTKSZ): Define fallback.
26606         (segv_handler, overflow_handler, c_stack_action)
26607         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
26608         implementation when libsigsegv is available, but only when using
26609         the library is necessary.
26610         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
26611         comment, explaining why XSI check fails on Linux.
26612         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
26613         * tests/test-c-stack2.sh: Tweak skip message.
26614         * NEWS: Document new link-time requirements.
26615
26616 2008-07-16  Eric Blake  <ebb9@byu.net>
26617
26618         c-stack: Expose false positives when not using libsigsegv.
26619         * modules/c-stack-tests (Files): Expand test.
26620         * tests/test-c-stack.c (main): Add means to conditionally trigger
26621         non-overflow SIGSEGV.
26622         * tests/test-c-stack2.sh: New file.
26623
26624 2008-07-14  Bruno Haible  <bruno@clisp.org>
26625
26626         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
26627         Reported by Eric Blake.
26628
26629 2008-07-14  Sam Steingold  <sds@gnu.org>
26630             Bruno Haible  <bruno@clisp.org>
26631
26632         New module libsigsegv.
26633         * modules/libsigsegv: New file.
26634         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
26635         modifications.
26636         * MODULES.html.sh (Signal handling): New section.
26637
26638 2008-07-14  Bruno Haible  <bruno@clisp.org>
26639
26640         * modules/unictype/ctype-* (Description): Add the word "function".
26641         Improves the resulting doc in MODULES.html.
26642
26643 2008-07-12  Ben Pfaff  <blp@gnu.org>
26644
26645         Add longlong module.
26646         * modules/longlong: New file.
26647
26648 2008-07-12  Bruno Haible  <bruno@clisp.org>
26649
26650         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
26651         to empty.
26652
26653 2008-07-10  Ben Pfaff  <blp@gnu.org>
26654
26655         Add isnan module.
26656         * doc/posix-functions/isnan.texi: Mention new module.
26657         * lib/math.in.h: Define isnan macro if we have decided to replace
26658         it.
26659         * m4/isnan.m4: New file.
26660         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
26661         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
26662         also.
26663         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
26664         redundancy.
26665         * m4/math_h.m4: Initialize and substitute variables for isnan
26666         module.
26667         * modules/isnan: New file.
26668         * modules/isnan-tests: New file.
26669         * modules/math: Add substitutions for new module.
26670         * tests/test-isnan.c: New file.
26671         * MODULES.html.sh: Mention new module.
26672
26673 2008-07-10  Ben Pfaff  <blp@gnu.org>
26674
26675         Add isnanf module.
26676         * lib/isnanf.m4: New file.
26677         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
26678         (gl_HAVE_ISNANF_IN_LIBM): New macro.
26679         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
26680         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
26681         * modules/isnanf: New file.
26682         * modules/isnanf-tests: New file.
26683         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
26684         files.
26685         * tests/test-isnanf-nolibm.c: factored most of its contents into
26686         new file tests/test-isnanf.h.
26687         * tests/test-isnanf.h: New file.
26688         * tests/test-isnanf.c: New file.
26689         * MODULES.html.sh: Mention new module.
26690         * doc/glibc-functions/isnanf.texi: Mention new module.
26691
26692 2008-07-10  Ben Pfaff  <blp@gnu.org>
26693
26694         Add isnand module.
26695         * lib/isnand.h: New file.
26696         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
26697         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
26698         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
26699         functionality also.
26700         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
26701         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
26702         (gl_HAVE_ISNAND_IN_LIBM): New macro.
26703         * modules/isnand: New file.
26704         * modules/isnand-tests: New file.
26705         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
26706         files.
26707         * tests/test-isnand-nolibm.c: factored most of its contents into
26708         new file tests/test-isnand.h.
26709         * tests/test-isnand.h: New file.
26710         * tests/test-isnand.c: New file.
26711         * MODULES.html.sh: Mention new module.
26712
26713 2008-07-10  Ben Pfaff  <blp@gnu.org>
26714
26715         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
26716         * lib/isnand.h: Rename lib/isnand-nolibm.h.
26717         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
26718         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
26719         * modules/isnanf-nolibm: Update references to renamed files.
26720         * modules/isnand-nolibm: Likewise.
26721         * modules/isnanf-nolibm-tests: Likewise.
26722         * modules/isnand-nolibm-tests: Likewise.
26723         * lib/frexp.c: Likewise.
26724         * lib/isfinite.c: Likewise.
26725         * lib/signbitd.c: Likewise.
26726         * lib/signbitf.c: Likewise.
26727         * lib/vasnprintf.c: Likewise.
26728         * tests/test-ceilf1.c: Likewise.
26729         * tests/test-ceilf2.c: Likewise.
26730         * tests/test-floorf1.c: Likewise.
26731         * tests/test-floorf2.c: Likewise.
26732         * tests/test-frexp.c: Likewise.
26733         * tests/test-round1.c: Likewise.
26734         * tests/test-round2.c: Likewise.
26735         * tests/test-roundf1.c: Likewise.
26736         * tests/test-strtod.c: Likewise.
26737         * tests/test-trunc1.c: Likewise.
26738         * tests/test-trunc2.c: Likewise.
26739         * tests/test-truncf1.c: Likewise.
26740         * tests/test-truncf2.c: Likewise.
26741         * NEWS: Mention the renamed header files.
26742
26743 2008-07-11  Jim Meyering  <meyering@redhat.com>
26744
26745         vc-list-files: make the last-resort awk code more portable
26746         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
26747         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
26748         does not support it.
26749
26750 2008-07-10  Eric Blake  <ebb9@byu.net>
26751
26752         Work with tar's bootstrap.
26753         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
26754         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
26755         an m4 comment.
26756
26757 2008-07-09  Jim Meyering  <meyering@redhat.com>
26758
26759         posix-shell.m4: fix typo that made this test malfunction
26760         * m4/posix-shell.m4: Remove capitalization in variable name.
26761
26762 2008-07-08  Bruno Haible  <bruno@clisp.org>
26763
26764         * m4/onceonly.m4: Update comments.
26765         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26766
26767 2008-07-04  Jim Meyering  <meyering@redhat.com>
26768
26769         * users.txt: Add vc-dwim.
26770         (bison, coreutils): Use the gitweb URL.
26771
26772 2008-07-03  Jim Meyering  <meyering@redhat.com>
26773
26774         * users.txt: Add libffcall.  From Sam Steingold.
26775
26776 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
26777
26778         getdate.y: do not ignore TZ with relative day, month or year offset
26779         * lib/getdate.y (get_date): Move the tz-handling block to follow the
26780         relative-date-handling, since otherwise, the latter would clobber the
26781         sole output (an updated Start value) of the tz-handling block.
26782         * tests/test-getdate.c: Tests for the fix
26783
26784 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26785
26786         Recognize 'foo_LIBRARIES += libgnu.a'.
26787         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
26788         makefile snippet has already specified an installation location,
26789         also using '+='.
26790
26791 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
26792
26793         getdate.y: factor out common actions
26794         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
26795         Use them in place of open-coded actions.
26796
26797 2008-07-01  Simon Josefsson  <simon@josefsson.org>
26798
26799         Add self-test for getdate module.
26800         * modules/getdate-tests: New file.
26801         * tests/test-getdate.c: New file.
26802
26803 2008-06-29  Bruno Haible  <bruno@clisp.org>
26804
26805         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
26806         .gitignore.
26807         Reported by Sylvain Beucler <beuc@beuc.net>.
26808
26809 2008-06-29  Bruno Haible  <bruno@clisp.org>
26810
26811         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
26812         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
26813
26814 2008-06-29  Bruno Haible  <bruno@clisp.org>
26815
26816         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
26817         EXTRA_DIST.
26818         Reported by Sylvain Beucler <beuc@beuc.net>.
26819
26820 2008-06-26  Jim Meyering  <meyering@redhat.com>
26821
26822         make several modules depend on the "open" module
26823         This provides slightly increased consistency when opening-for-write
26824         the name of a non-directory spelled with a trailing slash.
26825         * modules/chdir-safer: Likewise.
26826         * modules/chown: Likewise.
26827         * modules/clean-temp: Likewise.
26828         * modules/copy-file: Likewise.
26829         * modules/fchdir: Likewise.
26830         * modules/fcntl-safer: Likewise.
26831         * modules/pipe: Likewise.
26832         * modules/utime: Likewise.
26833         Prompted by Eric Blake and Bruno Haible.
26834
26835 2008-06-24  Andreas Schwab  <schwab@suse.de>
26836
26837         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
26838         literals can be used as initializers for global variables.
26839
26840 2008-06-23  Eric Blake  <ebb9@byu.net>
26841
26842         Make gnulib-cache.m4 easier to diff.
26843         * gnulib-tool (func_import): Allow newlines when reading cached
26844         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
26845
26846 2008-06-23  Bruno Haible  <bruno@clisp.org>
26847
26848         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
26849         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
26850         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
26851         m4/signalblocking.m4.
26852         (gl_PREREQ_SIGACTION): Don't invoke it.
26853         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
26854         gl_PREREQ_SIG_HANDLER_H.
26855         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
26856         Don't check for sigaction here.
26857
26858 2008-06-23  Bruno Haible  <bruno@clisp.org>
26859
26860         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
26861         (install_handlers): Don't set the SA_RESETHAND flag.
26862
26863 2008-06-23  Bruno Haible  <bruno@clisp.org>
26864
26865         * m4/sigaction.m4: Comment fixes.
26866         * lib/signal.in.h: Likewise.
26867
26868 2008-06-23  Eric Blake  <ebb9@byu.net>
26869
26870         Fix typo.
26871         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
26872
26873         Avoid SA_ namespace.
26874         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
26875         Reported by Ralf Wildenhues.
26876
26877         Avoid test failure due to SA_RESTORER.
26878         * tests/test-sigaction.c (SA_MASK): New macro.
26879         (main): Avoid failing due to extension flags being set.
26880         Reported by Jim Meyering.
26881
26882         Revert use of sig-handler.h in sigprocmask.c.
26883         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
26884         it requires the existence of struct sigaction.
26885         * lib/sigprocmask.c (handler_t): Restore typedef.
26886         (rpl_signal, old_handlers): Use local type.
26887
26888 2008-06-22  Bruno Haible  <bruno@clisp.org>
26889
26890         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
26891         conditionally.
26892         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26893
26894 2008-06-22  Bruno Haible  <bruno@clisp.org>
26895
26896         * doc/posix-functions/siginterrupt.texi: Move note.
26897
26898         * lib/signal.in.h (SA_RESTART): New macro.
26899         * lib/sigaction.c: Update comment.
26900
26901         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
26902
26903         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
26904         (gl_PREREQ_SIGPROCMASK): Invoke it.
26905         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
26906
26907         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
26908
26909         * lib/sigprocmask.c: Update a comment.
26910
26911 2008-06-21  Eric Blake  <ebb9@byu.net>
26912
26913         Use sigaction module rather than signal().
26914         * modules/c-stack (Depends-on): Add sigaction.
26915         * modules/fatal-signal (Depends-on): Likewise.
26916         * modules/nanosleep (Depends-on): Likewise.
26917         * modules/sigprocmask (Files): Add sig-handler.h.
26918         * modules/sigaction (Files): Likewise.
26919         * lib/sig-handler.h (get_handler): New file, suggested by Paul
26920         Eggert.
26921         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
26922         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
26923         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
26924         (init_fatal_signals): Likewise.
26925         * lib/nanosleep.c (rpl_nanosleep): Likewise.
26926         (siginterrupt): Delete fallback.
26927         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
26928         instead.
26929         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
26930         siginterrupt.
26931
26932         New module sigaction, for mingw.
26933         * modules/sigaction: New module...
26934         * modules/sigaction-tests: ...and its test.
26935         * m4/sigaction.m4: New file.
26936         * lib/sigaction.c: Likewise.
26937         * tests/test-sigaction.c: Likewise.
26938         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
26939         * modules/signal (Makefile.am): Likewise.
26940         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
26941         needed.
26942         * doc/posix-headers/signal.texi (signal.h): Mention provided
26943         types.
26944         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
26945         that sigaction is preferable.
26946         * doc/posix-functions/sigaction.texi (sigaction): Mention new
26947         module.
26948         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26949         sigaction.
26950
26951         Improve robustness of sigprocmask by overriding signal.
26952         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
26953         is in use.
26954         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
26955         (SIGKILL, SIGSTOP): Provide fallbacks.
26956         (rpl_signal): Implement.
26957         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
26958         signal can be called inside handlers.
26959
26960         Fix nanosleep module on mingw.
26961         * modules/nanosleep (Depends-on): Add sys_select.
26962         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
26963
26964         Fix licensing of sigprocmask.
26965         * modules/raise (License): Relicense as LGPL.
26966
26967 2008-06-21  Bruno Haible  <bruno@clisp.org>
26968
26969         * lib/propername.c (proper_name_utf8): Don't use the transliterated
26970         result if it contains question marks.
26971         Reported by Michael Geng <linux@michaelgeng.de>.
26972
26973 2008-06-19  Bruno Haible  <bruno@clisp.org>
26974
26975         Fix CVS-ism.
26976         * doc/gnulib.texi: Include updated-stamp.texi.
26977         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
26978         (updated-stamp.texi): New rule.
26979         (gnulib.info): Depend on it.
26980         * doc/.gitignore: Add updated-stamp.texi.
26981         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
26982
26983 2008-06-19  Bruno Haible  <bruno@clisp.org>
26984
26985         * doc/Makefile (gnulib.info): Update and simplify dependencies.
26986         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26987
26988 2008-06-19  Eric Blake  <ebb9@byu.net>
26989
26990         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
26991         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
26992         Reported by Stepan Kasal.
26993
26994 2008-06-18  Bruno Haible  <bruno@clisp.org>
26995
26996         * lib/fatal-signal.c (init_fatal_signals): Add comment.
26997         Reported by Eric Blake.
26998
26999 2008-06-18  Eric Blake  <ebb9@byu.net>
27000
27001         Work around cygwin 1.5.25 strsignal bug.
27002         * tests/test-strsignal.c: Allow for const char *.
27003         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
27004
27005 2008-06-18  Simon Josefsson  <simon@josefsson.org>
27006
27007         * users.txt: Update URL to article and add author/date
27008         information.
27009
27010 2008-06-17  Bruno Haible  <bruno@clisp.org>
27011
27012         New macro gl_DISABLE_THREADS.
27013         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
27014         if the user did not pass --enable-threads or --disable-threads option.
27015         (gl_DISABLE_THREADS): New macro.
27016         Reported by Eric Blake <ebb9@byu.net>.
27017
27018 2008-06-17  Bruno Haible  <bruno@clisp.org>
27019
27020         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
27021         when the macro ignores it.
27022         Based on a patch by Eric Blake <ebb9@byu.net>.
27023
27024 2008-06-17  Bruno Haible  <bruno@clisp.org>
27025
27026         * modules/tls (License): Change to LGPLv2+.
27027         Reported by Eric Blake.
27028
27029 2008-06-17  Eric Blake  <ebb9@byu.net>
27030
27031         Simplify c-stack prerequisites.
27032         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
27033         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
27034         no longer requires <ucontext.h> to exist.  Optimize setrlimit
27035         check.
27036         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
27037         <sys/resource.h>.
27038
27039         Move c-stack test into testsuite.
27040         * modules/c-stack-tests: New file.
27041         * lib/c-stack.c [DEBUG]: Move test program...
27042         * tests/test-c-stack.c: ...into this new file.  Skip rather than
27043         fail test if sigaltstack is lacking.
27044         * tests/test-c-stack.sh: New driver file.
27045
27046 2008-06-16  Eric Blake  <ebb9@byu.net>
27047
27048         Use raise module consistently.
27049         * modules/fatal-signal (Depends-on): Add raise.
27050         * modules/sigprocmask (Depends-on): Likewise.
27051         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
27052         * lib/sigprocmask.c (sigprocmask): Likewise.
27053         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
27054         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
27055
27056         Fix compliance bug in sigpending.
27057         * lib/sigprocmask.c (sigpending): Return pending array via
27058         parameter, not return value.
27059
27060 2008-06-14  Eric Blake  <ebb9@byu.net>
27061
27062         Improve obstack-printf test code.
27063         * tests/test-obstack-printf.c (test_function): Fix comment, and
27064         simplify usage of obstack_* in macros.  Add a test for coverage.
27065         Reported by Bruno Haible.
27066
27067 2008-06-14  Bruno Haible  <bruno@clisp.org>
27068
27069         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
27070         array size as a constant, not as a const variable.
27071         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
27072         AC_USE_SYSTEM_EXTENSIONS.
27073         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
27074         Test whether the obstack_printf function actually exists.
27075         * modules/obstack-printf (Depends-on): Add extensions.
27076         (Include): Remove obstack.h.
27077         * modules/obstack-printf-posix (Depends-on): Add extensions.
27078         (Include): Remove obstack.h.
27079
27080 2008-06-13  Eric Blake  <ebb9@byu.net>
27081
27082         Add obstack-printf and obstack-printf-posix modules.
27083         * modules/obstack-printf: New file.
27084         * modules/obstack-printf-posix: Likewise.
27085         * MODULES.html.sh (Misc): Mention them.
27086         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
27087         Likewise.
27088         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
27089         Likewise.
27090         * modules/stdio (Makefile.am): Accomodate new modules.
27091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27092         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
27093         Declare.
27094         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
27095         functions.
27096         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
27097         (gl_REPLACE_OBSTACK_PRINTF): New macros
27098         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
27099         * tests/test-obstack-printf.c: New file.
27100         * modules/obstack-printf-tests: Likewise.
27101         * modules/obstack-printf-posix-tests: Likewise.
27102
27103 2008-06-11  Bruno Haible  <bruno@clisp.org>
27104
27105         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
27106         * lib/open.c: Include errno.h.
27107         (open): Fail when attempting to write to a file that has a trailing
27108         slash.
27109         * tests/test-open.c (main): Test against trailing slash bug.
27110         * doc/posix-functions/open.texi: Mention the trailing slash bug.
27111
27112 2008-06-10  Bruno Haible  <bruno@clisp.org>
27113
27114         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
27115         for $? to work inside the trap command, with various /bin/sh-s.
27116         * tests/test-vc-list-files-cvs.sh: Likewise.
27117
27118 2008-06-10  Bruno Haible  <bruno@clisp.org>
27119
27120         * lib/acl-internal.h: Don't include gettext.h here.
27121         * lib/set-mode-acl.c: Include gettext.h here.
27122         * lib/copy-acl.c: Likewise.
27123
27124 2008-06-10  Bruno Haible  <bruno@clisp.org>
27125
27126         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
27127         * lib/wait-process.c (wait_subprocess): Likewise.
27128         * lib/execute.h (execute): Add termsigp argument.
27129         * lib/execute.c (execute): Likewise.
27130         * lib/csharpcomp.c (compile_csharp_using_pnet,
27131         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
27132         * lib/csharpexec.c (execute_csharp_using_pnet,
27133         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
27134         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
27135         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
27136         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
27137         is_jikes_present): Update.
27138         * lib/javaexec.c (execute_java_class): Update.
27139         * lib/javaversion.c (execute_and_read_line): Update.
27140         * NEWS: Document the changes.
27141         Reported by Eric Blake.
27142
27143 2008-06-10  Eric Blake  <ebb9@byu.net>
27144
27145         Add missing include.
27146         * tests/test-strstr.c (includes): Add <signal.h>.
27147         * tests/test-strcasestr.c (includes): Likewise.
27148         * tests/test-memmem.c (includes): Likewise.
27149
27150 2008-06-10  Bruno Haible  <bruno@clisp.org>
27151
27152         * lib/wait-process.c (wait_subprocess): Add an assertion.
27153
27154 2008-06-10  Bruno Haible  <bruno@clisp.org>
27155
27156         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
27157
27158 2008-06-10  Bruno Haible  <bruno@clisp.org>
27159
27160         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
27161         using alarm().
27162         * tests/test-strcasestr.c (main): Likewise.
27163         * tests/test-strstr.c (main): Likewise.
27164
27165 2008-06-09  Bruno Haible  <bruno@clisp.org>
27166
27167         Work around the Solaris 10 ACE ACLs ABI change.
27168         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
27169         declare if ACL_NO_TRIVIAL is present.
27170         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
27171         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
27172         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
27173         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
27174         define if ACL_NO_TRIVIAL is present.
27175         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
27176         and use the current ABI.
27177         (file_has_acl): Use same #if condition as elsewhere.
27178         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
27179         in use, and use the current ABI.
27180         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
27181         Reported by Jim Meyering.
27182
27183 2008-06-09  Eric Blake  <ebb9@byu.net>
27184
27185         Work around environments that (stupidly) ignore SIGALRM.
27186         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
27187         before using alarm().
27188         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27189         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27190         Reported by Ian Beckwith <ianb@erislabs.net>.
27191
27192         Produce autobuild blurb earlier in log.
27193         * modules/autobuild (configure.ac-early): Move AB_INIT here.
27194
27195 2008-06-09  Jim Meyering  <meyering@redhat.com>
27196         and Ondřej Vašík  <ovasik@redhat.com>
27197
27198         utimens.c: correct kernel bug work-around
27199         Ondřej Vašík found that the invalid return value of 280 indicates
27200         failure, not success, and the kernel bug we're trying to work
27201         around affects not just the utimensat call, but also the fallback
27202         futimens call.
27203         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
27204         not success.
27205         [HAVE_FUTIMENS]: Use the same work-around, here.
27206
27207 2008-06-09  Jim Meyering  <meyering@redhat.com>
27208
27209         add more guards around definition of ACE_-related code
27210         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
27211         ALLOW and ACE_OWNER are also defined.
27212
27213 2008-06-08  Bruno Haible  <bruno@clisp.org>
27214
27215         * lib/acl-internal.h: Add me as co-author.
27216         * lib/file-has-acl.c: Likewise.
27217         * lib/set-mode-acl.c: Likewise.
27218         * lib/copy-acl.c: Likewise.
27219
27220 2008-06-08  Bruno Haible  <bruno@clisp.org>
27221
27222         Add support for AIX ACLs.
27223         * lib/acl-internal.h (acl_nontrivial): New declaration.
27224         * lib/file-has-acl.c (acl_nontrivial): New function.
27225         (file_has_acl): Add implementation using AIX 4 ACL API.
27226         * lib/set-mode-acl.c (qset_acl): Likewise.
27227         * lib/copy-acl.c (qcopy_acl): Likewise.
27228
27229 2008-06-08  Bruno Haible  <bruno@clisp.org>
27230
27231         Add support for HP-UX ACLs.
27232         * lib/acl-internal.h (acl_nontrivial): New declaration.
27233         * lib/file-has-acl.c (acl_nontrivial): New function.
27234         (file_has_acl): Add implementation using HP-UX 11 ACL API.
27235         * lib/set-mode-acl.c (qset_acl): Likewise.
27236         * lib/copy-acl.c (qcopy_acl): Likewise.
27237
27238 2008-06-08  Bruno Haible  <bruno@clisp.org>
27239
27240         Add support for Cygwin ACLs.
27241         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
27242         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
27243         the chmod_or_fchmod call.
27244         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
27245
27246 2008-06-08  Bruno Haible  <bruno@clisp.org>
27247
27248         Fix bug with setuid modes in Solaris 10+ code.
27249         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
27250         succeeded, when the mode contains some special bits.
27251
27252 2008-06-08  Bruno Haible  <bruno@clisp.org>
27253
27254         Add support for Solaris 7..10 ACLs.
27255         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
27256         declarations.
27257         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
27258         functions.
27259         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
27260         * lib/set-mode-acl.c (qset_acl): Likewise.
27261         * lib/copy-acl.c (qcopy_acl): Likewise.
27262
27263 2008-06-08  Bruno Haible  <bruno@clisp.org>
27264
27265         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
27266         declaration.
27267         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
27268         (acl_access_nontrivial): Remove MacOS X case.
27269         (file_has_acl): Use acl_extended_nontrivial.
27270         * lib/copy-acl.c (qcopy_acl): Likewise.
27271
27272 2008-06-08  Bruno Haible  <bruno@clisp.org>
27273
27274         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
27275
27276 2008-06-08  Jim Meyering  <meyering@redhat.com>
27277
27278         * modules/acl (Maintainer): Add Bruno Haible.
27279
27280 2008-06-07  Bruno Haible  <bruno@clisp.org>
27281
27282         Improve support for Tru64 ACLs.
27283         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
27284         ACL on OSF/1.
27285
27286 2008-06-07  Bruno Haible  <bruno@clisp.org>
27287
27288         Add support for MacOS X ACLs.
27289         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
27290         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
27291         * lib/set-mode-acl.c (qset_acl): Likewise.
27292         * lib/copy-acl.c (qcopy_acl): Likewise.
27293
27294 2008-06-07  Bruno Haible  <bruno@clisp.org>
27295
27296         Fix memory leak introduced on 2008-05-22.
27297         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
27298         use.
27299
27300 2008-06-07  Bruno Haible  <bruno@clisp.org>
27301
27302         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
27303         to construct an empty ACL.
27304
27305 2008-06-07  Bruno Haible  <bruno@clisp.org>
27306
27307         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
27308         precisely.
27309         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
27310
27311 2008-06-07  Bruno Haible  <bruno@clisp.org>
27312
27313         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
27314         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
27315
27316 2008-06-07  Bruno Haible  <bruno@clisp.org>
27317
27318         * doc/posix-functions/_setjmp.texi: Explain the use of this function
27319         regardless of POSIX.
27320         * doc/posix-functions/_longjmp.texi: Likewise.
27321         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
27322         SystemV platform in this case.
27323
27324 2008-06-06  Eric Blake  <ebb9@byu.net>
27325
27326         Document abort() bugs.
27327         * doc/posix-functions/abort.texi (abort): Mention anomalies.
27328
27329         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
27330         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
27331         sigsetjmp.
27332         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
27333         siglongjmp, but only as a macro.
27334         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
27335         is obsolete.
27336         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
27337
27338         Tweak documentation to cover cygwin argz bugs.
27339         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
27340         argz bug fix; no code change needed since no cygwin releases
27341         occurred between the last fix and the bug being tested.
27342         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
27343         module and recently fixed cygwin bugs.
27344         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
27345         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
27346         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
27347         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
27348         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
27349         Likewise.
27350         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
27351         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
27352         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
27353         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
27354         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
27355         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
27356         Likewise.
27357
27358         Avoid gcc warning on cygwin.
27359         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
27360         !ACL_NO_TRIVIAL]: Avoid unused variable.
27361
27362 2008-06-05  Eric Blake  <ebb9@byu.net>
27363
27364         Be tolerant of UNKNOWN version in gnulib-tool test dir.
27365         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
27366         git-version-gen fails to come up with a version.
27367         Reported by Simon Josefsson.
27368
27369 2008-06-05  Jim Meyering  <meyering@redhat.com>
27370             Paul Eggert  <eggert@cs.ucla.edu>
27371
27372         utimens.c: work around a probable Linux kernel bug
27373         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
27374         appears to be a kernel bug that causes utimensat to return 280
27375         instead of 0, indicating success.
27376
27377 2008-06-04  Bruno Haible  <bruno@clisp.org>
27378
27379         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
27380         2008-06-01 commit.
27381
27382 2008-06-04  Bruno Haible  <bruno@clisp.org>
27383
27384         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
27385         * lib/file-has-acl.c (acl_access_nontrivial): New function.
27386         (file_has_acl): Use it. Save errno afterwards.
27387         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
27388
27389 2008-06-03  Bruno Haible  <bruno@clisp.org>
27390
27391         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
27392         draft code. Simplify #ifs.
27393         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
27394         Put Solaris code after POSIX-draft code. Fix comments regarding
27395         Solaris 10, HP-UX. Mention Cygwin.
27396         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
27397
27398 2008-06-03  Eric Blake  <ebb9@byu.net>
27399
27400         Provide fallback for older kernels.
27401         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
27402         Provide runtime fallback if kernel lacks support.
27403         Reported by Mike Frysinger.
27404
27405 2008-06-02  Bruno Haible  <bruno@clisp.org>
27406
27407         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
27408         it exists.
27409
27410 2008-06-02  Bruno Haible  <bruno@clisp.org>
27411
27412         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
27413         * lib/copy-acl.c (qcopy_acl): Update comment.
27414
27415 2008-06-02  Bruno Haible  <bruno@clisp.org>
27416
27417         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
27418         like ACL APIs.
27419
27420 2008-06-02  Bruno Haible  <bruno@clisp.org>
27421
27422         * tests/test-file-has-acl.sh: Use different code for Cygwin.
27423         * tests/test-set-mode-acl.sh: Likewise.
27424         * tests/test-copy-acl.sh: Likewise.
27425         * tests/test-copy-file.sh: Likewise.
27426
27427 2008-06-02  Bruno Haible  <bruno@clisp.org>
27428
27429         * tests/test-file-has-acl.sh: Remove unused code.
27430
27431 2008-06-01  Bruno Haible  <bruno@clisp.org>
27432
27433         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
27434         (copy_acl): Just a wrapper around qcopy_acl that emits the error
27435         messages.
27436         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
27437
27438 2008-06-01  Bruno Haible  <bruno@clisp.org>
27439
27440         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
27441         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
27442         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
27443         APIs.
27444         * modules/acl-tests (configure.ac): Remove tests now contained in
27445         m4/acl.m4.
27446
27447 2008-06-02  Jim Meyering  <meyering@redhat.com>
27448
27449         announce-gen: use a better key-server host name
27450         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
27451         it may be more consistently reliable.  Suggested by Werner Koch
27452         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
27453
27454 2008-06-01  Bruno Haible  <bruno@clisp.org>
27455
27456         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
27457         Reported by Voroskoi Andras <voroskoi@gmail.com>.
27458
27459 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
27460
27461         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
27462
27463 2008-06-01  Bruno Haible  <bruno@clisp.org>
27464
27465         New ACL tests.
27466         * tests/test-file-has-acl.sh: New file.
27467         * tests/test-file-has-acl.c: New file.
27468         * tests/test-set-mode-acl.sh: New file.
27469         * tests/test-set-mode-acl.c: New file.
27470         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
27471         * tests/test-copy-acl.c: New file.
27472         * modules/acl-tests: New file, based on modules/copy-file-tests.
27473         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
27474         (Depends-on): Add acl-tests.
27475         (configure.ac): Remove checks.
27476         (Makefile.am): Don't create test-sameacls program here any more.
27477
27478 2008-06-01  Bruno Haible  <bruno@clisp.org>
27479
27480         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
27481         * tests/test-sameacls.c: Include progname.h.
27482         (main): Invoke set_program_name. Portability fixes for MacOS X,
27483         Solaris, HP-UX.
27484
27485 2008-06-01  Bruno Haible  <bruno@clisp.org>
27486
27487         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
27488         function.
27489         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
27490
27491 2008-06-01  Bruno Haible  <bruno@clisp.org>
27492
27493         * modules/rpmatch (Depends-on): Add strdup.
27494
27495 2008-06-01  Bruno Haible  <bruno@clisp.org>
27496
27497         * lib/pipe.c: Include unistd-safer.h.
27498         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
27499         * modules/pipe (Depends-on): Add unistd-safer.
27500
27501 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27502
27503         * modules/autobuild (configure.ac): Call AB_INIT.
27504
27505 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27506
27507         * tests/test-getaddrinfo.c: Don't print debug messages by default.
27508         Suggested by Bruno Haible <bruno@clisp.org>.
27509
27510 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27511
27512         * tests/test-base64.c: Cast size_t to unsigned long when invoking
27513         printf.  Use %lu instead of %d.  Reported by Bruno Haible
27514         <bruno@clisp.org>.
27515
27516 2008-05-29  Eric Blake  <ebb9@byu.net>
27517
27518         Prefer new POSIX 200x interfaces over futimesat.
27519         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
27520         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
27521         when available.
27522         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
27523
27524 2008-05-28  Bruno Haible  <bruno@clisp.org>
27525
27526         * modules/stpcpy (License): Change to LGPLv2+.
27527         Requested by David Lutterkort <dlutter@redhat.com>.
27528
27529 2008-05-27  Bruno Haible  <bruno@clisp.org>
27530
27531         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
27532         current mingw.
27533         Reported by Jose E. Marchesi <jemarch@gnu.org>.
27534
27535 2008-05-27  Bruno Haible  <bruno@clisp.org>
27536
27537         * modules/iconv_open (Link): New section, from module 'iconv'.
27538         * modules/striconv (Link): Likewise.
27539         * modules/striconveh (Link): Likewise.
27540         * modules/xstriconv (Link): Likewise.
27541         * modules/unicodeio (Link): Likewise.
27542         * modules/propername (Link): Likewise.
27543         Reported by Jim Meyering.
27544
27545 2008-05-26  Jim Meyering  <meyering@redhat.com>
27546
27547         sha256: do not artificially restrict buffer length to be < 2^32
27548         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
27549         uint32_t to size_t.
27550         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
27551         to match.
27552
27553         avoid unaligned access errors, e.g., on sparc
27554         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
27555         direct access through a possibly-unaligned uint64* pointer.
27556         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
27557         direct access through a possibly-unaligned uint32* pointer.
27558         Prompted by this patch from Tom "spot" Callaway:
27559         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
27560
27561         sha512.c: fix typo in comment
27562         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
27563
27564 2008-05-25  Bruno Haible  <bruno@clisp.org>
27565
27566         * lib/set-mode-acl.c: Renamed from lib/acl.c.
27567         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
27568         (Makefile.am): Update lib_SOURCES.
27569
27570 2008-05-25  Bruno Haible  <bruno@clisp.org>
27571
27572         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
27573
27574 2008-05-25  Jim Meyering  <meyering@redhat.com>
27575
27576         useless-if-before-free: freed expr may have white-space differences
27577         * build-aux/useless-if-before-free: Recognize cases in which the
27578         freed expression differs from the tested one in embedded white
27579         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
27580         $1 was used, so we can't make any regexp shy.  Improved tests now
27581         detect this.
27582
27583         useless-if-before-free: accept white space in the expression.
27584         * build-aux/useless-if-before-free: For now, any white space
27585         in the expression must be identical in the free argument.
27586
27587         useless-if-before-free: efficiency tweak
27588         * build-aux/useless-if-before-free: Make the expression-matching
27589         regexp "shy".
27590         Make the *outer* regexp shy, not the expr-matching one.
27591
27592         update code-in-comment to accept cast of free arg
27593         * build-aux/useless-if-before-free: Update regexp.
27594
27595 2008-05-25  Bruno Haible  <bruno@clisp.org>
27596
27597         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
27598         * modules/copy-file-tests (Files, Makefile.am): Update.
27599         * tests/test-copy-file.c (func_test_copy): Update.
27600
27601 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
27602
27603         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
27604
27605 2008-05-23  Bruno Haible  <bruno@clisp.org>
27606
27607         Improve support for ACLs on OSF/1.
27608         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
27609         Remove fallback for unknown flavors of ACLs.
27610
27611 2008-05-22  Bruno Haible  <bruno@clisp.org>
27612
27613         Add support for ACLs on OSF/1.
27614         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
27615         replacements.
27616         (acl_free_text): New macro fallback.
27617         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
27618         acl_free.
27619         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
27620         acl_free_text function. Require AC_C_INLINE.
27621
27622 2008-05-22  Bruno Haible  <bruno@clisp.org>
27623
27624         Make copy_acl work on MacOS X 10.5.
27625         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
27626         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
27627         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
27628         If MODE_INSIDE_ACL, don't assume that every system has the same text
27629         representation for ACLs as FreeBSD.
27630         * lib/copy-acl.c (copy_acl): Add support for platforms with
27631         !MODE_INSIDE_ACL.
27632         * lib/file-has-acl.c (file_has_acl): Likewise.
27633         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
27634         FreeBSD, MacOS X, or IRIX, respectively.
27635
27636 2008-05-22  Bruno Haible  <bruno@clisp.org>
27637
27638         * lib/acl.h: Don't include <sys/acl.h>.
27639         (GETACLCNT): Move fallback to lib/acl-internal.h.
27640         * lib/acl-internal.h: Include <sys/acl.h> here.
27641         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
27642
27643 2008-05-22  Bruno Haible  <bruno@clisp.org>
27644
27645         Split off copy_acl function to separate file.
27646         * lib/copy-acl.c: New file, extracted from lib/acl.c.
27647         * lib/acl.c (copy_acl): Moved function to separate file.
27648         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
27649         * modules/acl (Files): Add lib/copy-acl.c.
27650         (Makefiles.am): Augment lib_SOURCES.
27651
27652 2008-05-22  Bruno Haible  <bruno@clisp.org>
27653
27654         * modules/copy-file-tests: New file.
27655         * tests/test-copy-file.sh: New file.
27656         * tests/test-copy-file.c: New file.
27657         * tests/test-copy-file-sameacls.c: New file.
27658
27659 2008-05-22  Eric Blake  <ebb9@byu.net>
27660
27661         Avoid gcc warning.
27662         * tests/test-memcmp.c (main): Pass NULL indirectly.
27663
27664 2008-05-21  Bruno Haible  <bruno@clisp.org>
27665
27666         Add reference doc about ACLs.
27667         * doc/acl-resources.txt: New file.
27668         * doc/acl-cygwin.txt: New file.
27669
27670 2008-05-21  Bruno Haible  <bruno@clisp.org>
27671
27672         Avoid one more warning from gcc.
27673         * lib/vasnprintf.c (IF_LINT): Update comments.
27674         (VASNPRINTF): Use it also for the 'prefix' array initializer.
27675
27676 2008-05-21  Jim Meyering  <meyering@redhat.com>
27677
27678         avoid a warning from gcc
27679         * lib/vasnprintf.c (IF_LINT): Define.
27680         (scale10_round_decimal_long_double):
27681         Use it to avoid a "may be used uninitialized" warning.
27682         (scale10_round_decimal_double): Likewise.
27683
27684 2008-05-21  Simon Josefsson  <simon@josefsson.org>
27685
27686         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
27687         declared.
27688
27689 2008-05-20  Bruno Haible  <bruno@clisp.org>
27690
27691         * tests/test-memcmp.c (main): Test also the sign of the result. Test
27692         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
27693
27694 2008-05-20  Simon Josefsson  <simon@josefsson.org>
27695
27696         * modules/memcmp-tests: New file.
27697         * tests/test-memcmp.c: New file.
27698
27699 2008-05-19  Bruno Haible  <bruno@clisp.org>
27700
27701         * modules/propername (Notice, configure.ac): Put quoted "..." into
27702         --keyword option.
27703         * lib/propername.h: Update comments accordingly.
27704         Reported by Eric Blake.
27705
27706 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
27707
27708         * modules/getpass-gnu (Depends-on): Add fseeko.
27709
27710 2008-05-19  Simon Josefsson  <simon@josefsson.org>
27711
27712         * modules/base64-tests: New file.
27713
27714 2008-05-19  Bo Borgerson <gigabo@gmail.com>
27715
27716         * lib/base64.c (base64_decode_ctx): If a decode context structure
27717         was passed in use it to ignore newlines.  If a context structure
27718         was _not_ passed in, continue to treat newlines as garbage (this
27719         is the historical behavior).  Formerly base64_decode.
27720         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
27721         takes a decode context structure.
27722         * lib/base64.h (base64_decode): Macro for four-argument calls.
27723         (base64_decode_alloc): Likewise.
27724         * lib/base64.c (base64_decode_ctx): If a decode context structure
27725         was passed in use it to ignore newlines.  If a context structure
27726         was _not_ passed in, continue to treat newlines as garbage (this
27727         is the historical behavior).  Formerly base64_decode.
27728         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
27729         takes a decode context structure.
27730         * lib/base64.h (base64_decode): Macro for four-argument calls.
27731         (base64_decode_alloc): Likewise.
27732
27733 2008-05-19  Jim Meyering  <meyering@redhat.com>
27734
27735         avoid a warning from gcc
27736         * lib/trim.c (IF_LINT): Define.
27737         (trim2): Use it to avoid a "may be used uninitialized" warning.
27738
27739         Fix doc typo.
27740         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
27741
27742 2008-05-19  Bruno Haible  <bruno@clisp.org>
27743
27744         * doc/glibc-functions/getpass.texi: Document limits of other
27745         implementations.
27746
27747 2008-05-19  Simon Josefsson  <simon@josefsson.org>
27748             Bruno Haible <bruno@clisp.org>
27749
27750         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
27751
27752 2008-05-18  Bruno Haible  <bruno@clisp.org>
27753
27754         * modules/propername: New file, from GNU gettext.
27755         * lib/propername.h: New file, from GNU gettext.
27756         * lib/propername.c: New file, from GNU gettext.
27757         * MODULES.html.sh (Internationalization functions): Add propername.
27758
27759 2008-05-16  Jim Meyering  <meyering@redhat.com>
27760             Bruno Haible  <bruno@clisp.org>
27761
27762         Avoid some warnings from "gcc -Wshadow".
27763         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
27764
27765 2008-05-15  Eric Blake  <ebb9@byu.net>
27766
27767         Extend previous patch to cygwin 1.7.0.
27768         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
27769         fast implementation in cygwin >= 1.7.0.
27770         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27771         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27772
27773 2008-05-15  Bruno Haible  <bruno@clisp.org>
27774
27775         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
27776         implementation in glibc >= 2.9.
27777         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27778         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27779
27780 2008-05-15  Bruno Haible  <bruno@clisp.org>
27781
27782         * MODULES.html.sh (Internationalization functions): Remove linebreak.
27783         (Unicode string functions): Add unilbrk/*.
27784         Reported by Karl Berry.
27785
27786 2008-05-15  Eric Blake  <ebb9@byu.net>
27787
27788         Fix violation of <stdbool.h> replacement in regex.
27789         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
27790         * lib/regexec.c (re_search_internal): Likewise.
27791         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
27792
27793 2008-05-15  Jim Meyering  <meyering@redhat.com>
27794
27795         avoid distracting test output when git or cvs is not found
27796         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
27797         * tests/test-vc-list-files-git.sh: Likewise.
27798
27799 2008-05-15  Eric Blake  <ebb9@byu.net>
27800
27801         Glibc finally accepted the memmem speedup code, bugzilla #5514.
27802         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
27803         glibc version.
27804         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27805         * doc/posix-functions/strstr.texi (strstr): Likewise.
27806         * lib/str-two-way.h (MAX): Sychronize with glibc.
27807
27808 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
27809
27810         * lib/regcomp.c (optimize_utf8): Add a note on why we test
27811         opr.ctx_type.
27812         (calc_first): Initialize constraint field.
27813         (duplicate_node_closure): Use it instead of special casing ANCHORS.
27814         Fix grammar.
27815         (duplicate_node): Merge constraint field for all node types.
27816         (calc_eclosure_iter): Look at constraint field for all node types.
27817         * lib/regex_internal.c (create_cd_newstate): Don't look at
27818         opr.ctx_type.
27819
27820 2008-05-14  Bruno Haible  <bruno@clisp.org>
27821
27822         Help GCC to do better code generation.
27823         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
27824         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
27825         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
27826         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
27827         Declare with attribute 'malloc' if supported.
27828
27829 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
27830
27831         use "echo STR|wc -c" rather than unportable "expr length STR"
27832         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
27833         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
27834
27835 2008-05-14  Jim Meyering  <meyering@redhat.com>
27836
27837         use dd ibs=$n count=1 ... rather than less-portable head -c$n
27838         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
27839         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
27840         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
27841         via Collin Lasse.
27842
27843 2008-05-14  Eric Blake  <ebb9@byu.net>
27844
27845         Avoid quadratic growth in gl_LIBSOURCES.
27846         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
27847         Suggested by Bruno Haible.
27848
27849         Test xmemdup0.
27850         * modules/xmemdup0-tests: New file.
27851         * tests/test-xmemdup0.c: Likewise.
27852
27853 2008-05-13  Eric Blake  <ebb9@byu.net>
27854
27855         Split xmemdup0 into its own module.
27856         * modules/xmemdup0: New file.
27857         * lib/xmemdup0.h: Likewise.
27858         * lib/xmemdup0.c: Likewise.
27859         * MODULES.html.sh (Memory management functions): Add xmemdup0.
27860         * lib/xalloc.h (xmemdup0): Remove.
27861         * lib/xmalloc.c (xmemdup0): Likewise.
27862
27863 2008-05-13  Eric Blake  <ebb9@byu.net>
27864             Bruno Haible  <bruno@clisp.org>
27865
27866         Reduce number of forks required during autoconf.
27867         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
27868         and gl_LIBSOURCES_DIR.
27869         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
27870         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
27871         m4_syscmd per file.
27872         <m4_foreach_w>: Move...
27873         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
27874
27875 2008-05-13  Eric Blake  <ebb9@byu.net>
27876
27877         * gnulib-tool: Fix various comment typos.
27878
27879 2008-05-12  Bruno Haible  <bruno@clisp.org>
27880
27881         Tailor the linebreaking algorithm.
27882         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
27883
27884 2008-05-12  Bruno Haible  <bruno@clisp.org>
27885
27886         Update to Unicode 5.0.0.
27887         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
27888         LBP_JV, LBP_JT. Redistribute values.
27889         (unilbrk_table): Change size.
27890         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
27891         Unicode TR#14 rev. 22.
27892         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
27893         LBP_JV, LBP_JT. Redistribute values.
27894         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
27895         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
27896         Update.
27897         * lib/unilbrk/lbrkprop1.h: Regenerated.
27898         * lib/unilbrk/lbrkprop2.h: Regenerated.
27899         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
27900         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
27901         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
27902         Likewise.
27903         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
27904         Likewise.
27905         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
27906         result.
27907         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
27908         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
27909         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
27910         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
27911         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
27912         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
27913
27914 2008-05-11  Bruno Haible  <bruno@clisp.org>
27915
27916         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
27917
27918 2008-05-11  Bruno Haible  <bruno@clisp.org>
27919
27920         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
27921         * modules/unilbrk/gen-lbrk: New file.
27922
27923 2008-05-11  Bruno Haible  <bruno@clisp.org>
27924
27925         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
27926         * m4/sha512.m4 (gl_SHA512): Likewise.
27927
27928 2008-05-11  Jim Meyering  <meyering@redhat.com>
27929
27930         New modules: crypto/sha256, crypto/sha512 (from coreutils)
27931         * modules/crypto/sha256: New file.
27932         * modules/crypto/sha512: Likewise.
27933         * lib/sha256.c: Likewise.
27934         * lib/sha256.h: Likewise.
27935         * lib/sha512.c: Likewise.
27936         * lib/sha512.h: Likewise.
27937         * lib/u64.h: Likewise.
27938         * m4/sha256.m4: Likewise.
27939         * m4/sha512.m4: Likewise.
27940         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
27941
27942 2008-05-10  Bruno Haible  <bruno@clisp.org>
27943
27944         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
27945         (Input/Output <stdio.h>): Add xprintf.
27946         (Signal handling <signal.h>): Add strsignal.
27947         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
27948         (Core language properties): Add func.
27949         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
27950         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
27951         strings.
27952         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
27953         (Input/output): New section.
27954         (File system functions): Add openat-die, stat-macros.
27955         (Networking functions): Add sockets.
27956         (Unicode string functions): Add unictype/*.
27957         (Support for building libraries and executables): Add gperf.
27958         (Support for building documentation): Add agpl-3.0.
27959         (Misc): Add nocrash.
27960
27961 2008-05-10  Bruno Haible  <bruno@clisp.org>
27962
27963         * modules/unictype/gen-ctype: New file.
27964
27965 2008-05-10  Jim Meyering  <meyering@redhat.com>
27966
27967         Make chdir-safer.c more efficient on a system with no symlinks.
27968         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
27969         also if ELOOP is zero.  Suggested by Bruno Haible.
27970
27971         Make chdir-safer.c slightly safer.
27972         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
27973         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
27974
27975         Avoid compile failure on systems without ELOOP (like mingw).
27976         * lib/chdir-safer.c (ELOOP): Define if not already defined.
27977         Reported by Bruno Haible.
27978
27979 2008-05-10  Bruno Haible  <bruno@clisp.org>
27980
27981         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
27982         (is_utf8_encoding): Use a case-insensitive comparison.
27983         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
27984         streq.
27985
27986 2008-05-10  Bruno Haible  <bruno@clisp.org>
27987
27988         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
27989         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
27990         * lib/unilbrk/ulc-common.h (iconv_string_length,
27991         iconv_string_keeping_offsets): Remove declarations.
27992         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
27993         Don't include <iconv.h>, streq.h, xsize.h.
27994         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
27995         conversion.
27996         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
27997         <iconv.h>, streq.h, xsize.h.
27998         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
27999         conversion.
28000         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
28001         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
28002         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
28003         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
28004
28005 2008-05-10  Bruno Haible  <bruno@clisp.org>
28006
28007         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
28008         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
28009
28010         * modules/unilbrk/u32-width-linebreaks-tests: New file.
28011         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
28012
28013         * modules/unilbrk/u16-width-linebreaks-tests: New file.
28014         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
28015
28016         * modules/unilbrk/u8-width-linebreaks-tests: New file.
28017         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
28018
28019         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
28020         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
28021
28022         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
28023         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
28024
28025         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
28026         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
28027
28028         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
28029         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
28030
28031 2008-05-10  Bruno Haible  <bruno@clisp.org>
28032
28033         Split up 'linebreak' module.
28034         * lib/unilbrk.h: New file, based on lib/linebreak.h.
28035         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
28036         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
28037         modifications.
28038         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
28039         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
28040         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
28041         lib/linebreak.c.
28042         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
28043         lib/linebreak.c.
28044         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
28045         lib/linebreak.c.
28046         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
28047         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
28048         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
28049         lib/linebreak.c.
28050         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
28051         lib/linebreak.c.
28052         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
28053         lib/linebreak.c.
28054         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
28055         lib/linebreak.c.
28056         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
28057         lib/linebreak.c.
28058         * modules/unilbrk/base: New file.
28059         * modules/unilbrk/tables: New file.
28060         * modules/unilbrk/u8-possible-linebreaks: New file.
28061         * modules/unilbrk/u16-possible-linebreaks: New file.
28062         * modules/unilbrk/u32-possible-linebreaks: New file.
28063         * modules/unilbrk/ulc-common: New file.
28064         * modules/unilbrk/ulc-possible-linebreaks: New file.
28065         * modules/unilbrk/u8-width-linebreaks: New file.
28066         * modules/unilbrk/u16-width-linebreaks: New file.
28067         * modules/unilbrk/u32-width-linebreaks: New file.
28068         * modules/unilbrk/ulc-width-linebreaks: New file.
28069         * lib/linebreak.h: Remove file.
28070         * lib/linebreak.c: Remove file.
28071         * m4/linebreak.m4: Remove file.
28072         * modules/linebreak: Remove file.
28073         * NEWS: Mention the changes.
28074
28075 2008-05-09  Eric Blake  <ebb9@byu.net>
28076
28077         Add xmemdup0.
28078         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
28079         implementation.
28080         * lib/xmalloc.c (xmemdup0): New C implementation.
28081
28082 2008-05-08  Bruno Haible  <bruno@clisp.org>
28083
28084         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
28085
28086 2008-05-07  Eric Blake  <ebb9@byu.net>
28087
28088         Support cross-compilation of <wctype.h>.
28089         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
28090         AC_CACHE_CHECK.
28091
28092 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
28093
28094         * build-aux/vc-list-files: Add support for bzr.
28095
28096 2008-05-03  Jim Meyering  <meyering@redhat.com>
28097
28098         avoid failed assertion with tight malloc
28099         * tests/test-getndelim2.c: Correct an off-by-one assertion.
28100
28101 2008-05-03  Simon Josefsson  <simon@josefsson.org>
28102
28103         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
28104         are needed from arpa/inet.h.
28105         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
28106         Reported by Bruno Haible.
28107
28108 2008-05-02  Jim Meyering  <meyering@redhat.com>
28109
28110         avoid compilation error on FreeBSD 6
28111         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
28112
28113 2008-05-01  Jim Meyering  <meyering@redhat.com>
28114
28115         useless-if-before-free: correct --help's exit status description
28116         * build-aux/useless-if-before-free (usage): Like grep, exit 0
28117         for one or more matches, etc.  Reported by Bruno Haible.
28118
28119         vc-list-files: make the stand-alone gnulib test work
28120         * modules/vc-list-files-tests (configure.ac):
28121         Define and AC_SUBST abs_aux_dir.
28122         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
28123         $(abs_top_srcdir) to each script and having each of them
28124         duplicate the work of setting PATH, set PATH here, using
28125         the new variable, abs_aux_dir instead.
28126         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
28127         * tests/test-vc-list-files-git.sh: Likewise.
28128         Reported by Bruno Haible.
28129
28130 2008-05-01  Bruno Haible  <bruno@clisp.org>
28131
28132         * lib/getndelim2.c (getndelim2): Fix newsize computation during
28133         reallocation. Rename 'done' to 'found_delimiter'.
28134
28135 2008-05-01  Jim Meyering  <meyering@redhat.com>
28136
28137         vc-list-files: accommodate /bin/sh like the one from Solaris 10
28138         * build-aux/vc-list-files: Use `...`, not $(...).
28139
28140 2008-04-30  Jim Meyering  <meyering@redhat.com>
28141
28142         add tests for vc-list-files
28143         * modules/vc-list-files-tests: New module.
28144         * tests/test-vc-list-files-cvs.sh: New file.
28145         * tests/test-vc-list-files-git.sh: New file.
28146
28147         avoid a warning from gcc
28148         * lib/getndelim2.c (IF_LINT): Define.
28149         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
28150
28151         vc-list-files: work properly with build-aux/cvsu, too
28152         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
28153         to all cvs-based clauses.
28154
28155         vc-list-files: work properly in the CVS+awk case, too
28156         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
28157
28158         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
28159         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
28160         take more than one file argument, so .  Add quotes, just in case $dir
28161         ever contains a shell meta-character.  Prompted by Soren Hansen in
28162         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
28163
28164 2008-04-29  Eric Blake  <ebb9@byu.net>
28165
28166         Optimize getndelim2 to use block operations when possible.
28167         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
28168         freadseek, and memchr2.
28169         * lib/getndelim2.c (getndelim2): Use them for block reads.
28170
28171 2008-04-29  Bruno Haible  <bruno@clisp.org>
28172
28173         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
28174         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28175         * modules/inet_ntop (Depends-on): Add extensions.
28176         * modules/inet_pton (Depends-on): Likewise.
28177         Reported by Simon Josefsson.
28178
28179 2008-04-29  Jim Meyering  <meyering@redhat.com>
28180
28181         When the is more than one match in a block, match all of them.
28182         * build-aux/useless-if-before-free: Iterate through each block
28183         until there are no more matches.
28184
28185         Fix broken useless-if-before-free script.
28186         * build-aux/useless-if-before-free: Fix typo: missing "?" after
28187         the expression to match cast of argument to free-like function.
28188
28189 2008-04-29  Eric Blake  <ebb9@byu.net>
28190
28191         Use new header.
28192         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
28193
28194 2008-04-29  Jim Meyering  <meyering@redhat.com>
28195
28196         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
28197         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
28198         by gnulib to exist and to declare e.g., inet_ntop.
28199         Don't include "inet_ntop.h", now removed.
28200
28201         * m4/arpa_inet_h.m4: Remove trailing blanks.
28202
28203 2008-04-29  Eric Blake  <ebb9@byu.net>
28204
28205         Silence valgrind on safe reads beyond potential array bounds.
28206         * lib/rawmemchr.valgrind: New file.
28207         * lib/strchrnul.valgrind: Likewise.
28208         * modules/rawmemchr (Files): Distribute new file.
28209         * modules/strchrnul (Files): Likewise.
28210         Suggested by Bruno Haible.
28211
28212 2008-04-29  Bruno Haible  <bruno@clisp.org>
28213
28214         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
28215         (inet_ntop, inet_pton): Change portability warning's wording.
28216         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
28217         Invoke gl_CHECK_NEXT_HEADERS.
28218         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
28219         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
28220         set ARPA_INET_H.
28221         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28222         * modules/arpa_inet (Description): No longer only for systems that
28223         lack it.
28224         (Depends-on): Add include_next.
28225         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
28226         HAVE_ARPA_INET_H.
28227
28228 2008-04-29  Jim Meyering  <meyering@redhat.com>
28229
28230         * modules/mkdir (License): Re-license as LGPLv2+.
28231
28232 2008-04-29  Bruno Haible  <bruno@clisp.org>
28233
28234         * modules/rawmemchr (Maintainer): Set to Eric.
28235         * modules/strchrnul (Maintainer): Likewise.
28236
28237 2008-04-29  Simon Josefsson  <simon@josefsson.org>
28238
28239         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
28240         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
28241
28242         * modules/arpa_inet (arpa/inet.h): Use them.
28243
28244 2008-04-28  Eric Blake  <ebb9@byu.net>
28245
28246         Test getndelim2.
28247         * modules/getndelim2-tests: New file.
28248         * tests/test-getndelim2.c: Likewise.
28249         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
28250         stream.
28251         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
28252
28253         * MODULES.html.sh: Document new module.
28254
28255 2008-04-20  Bruno Haible  <bruno@clisp.org>
28256
28257         * lib/c-stack.c (die): Use raise.
28258         * modules/c-stack (Depends-on): Add raise.
28259
28260 2008-04-28  Bruno Haible  <bruno@clisp.org>
28261
28262         Expect rpmatch to be declared.
28263         * lib/yesno.c (rpmatch): Remove declaration.
28264
28265         Declare rpmatch.
28266         * lib/stdlib.in.h (rpmatch): New declaration.
28267         * lib/rpmatch.c: Include <stdlib.h> first.
28268         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
28269         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
28270         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
28271         HAVE_RPMATCH.
28272         * modules/rpmatch (Depends-on): Add stdlib, extensions.
28273         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28274         (Include): Set to <stdlib.h>.
28275         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
28276         HAVE_RPMATCH.
28277         * NEWS: Document the change.
28278
28279 2008-04-28  Bruno Haible  <bruno@clisp.org>
28280
28281         Change rpmatch to use nl_langinfo when appropriate.
28282         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
28283         (N_): New macro.
28284         (localized_pattern): New function/macro.
28285         (try): Remove match, nomatch arguments. Copy the pattern into safe
28286         memory before caching it.
28287         (rpmatch): Use localized_pattern. Add translator comments.
28288         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
28289         Suggested by Eric Blake.
28290         * modules/rpmatch (Depends-on): Add stdbool.
28291
28292 2008-04-28  Eric Blake  <ebb9@byu.net>
28293
28294         Add rawmemchr module, matching glibc.
28295         * modules/string (Makefile.am): New indicator.
28296         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
28297         * lib/string.in.h (rawmemchr): Declare when appropriate.
28298         * modules/rawmemchr: New file.
28299         * m4/rawmemchr.m4: Likewise.
28300         * lib/rawmemchr.c: Likewise.
28301         * modules/rawmemchr-tests: Likewise.
28302         * tests/test-rawmemchr.c: Likewise.
28303         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
28304         module.
28305         * modules/strchrnul (Depends-on): Add rawmemchr.
28306         * lib/strchrnul.c (strchrnul): Optimize a corner case.
28307
28308         Whitespace cleanup.
28309         * tests/test-strchrnul.c: Reindent.
28310         * lib/strchrnul.c: Likewise.
28311
28312         Optimize and test strchrnul.
28313         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
28314         * modules/strchrnul-tests: New file.
28315         * tests/test-strchrnul.c: Likewise.
28316
28317         Remove intprops dependency.
28318         * modules/memchr (Depends-on): Remove intprops.
28319         * modules/memrchr (Depends-on): Likewise.
28320         * modules/memchr2 (Depends-on): Likewise.
28321         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
28322         * lib/memrchr.c (__memrchr): Likewise.
28323         * lib/memrchr2.c (memchr2): Likewise.
28324         Reported by Simon Josefsson.
28325
28326 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28327
28328         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
28329         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28330
28331 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28332
28333         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
28334
28335         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
28336
28337         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
28338
28339         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
28340         declarations.
28341         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
28342
28343         * m4/inet_pton.m4: Don't check for header files.
28344
28345         * m4/inet_ntop.m4: Don't check for header files.
28346
28347 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28348
28349         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
28350         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
28351         trigger for cygwin).
28352         Reported by Bruno Haible  <bruno@clisp.org>.
28353
28354 2008-04-28  Bruno Haible  <bruno@clisp.org>
28355
28356         * doc/posix-functions/strdup.texi: Mention mingw problem.
28357
28358 2008-04-27  Bruno Haible  <bruno@clisp.org>
28359
28360         * modules/stat-time-tests (Depends-on): Add sleep.
28361         * tests/test-stat-time.c (force_unlink): New function.
28362         (cleanup): Use it.
28363         (test_mtime): Remove the ctime related tests.
28364         (test_ctime): New function, containing the ctime related tests.
28365         (main): Call test_ctime, except on native Windows platforms.
28366
28367 2008-04-27  Bruno Haible  <bruno@clisp.org>
28368
28369         * lib/rpmatch.c (rpmatch): Add some comments.
28370         Reported by James Youngman <jay@gnu.org>.
28371
28372 2008-04-27  Bruno Haible  <bruno@clisp.org>
28373
28374         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
28375         quiet NaNs.
28376
28377 2008-04-27  Bruno Haible  <bruno@clisp.org>
28378
28379         Make test-yesno.sh work on mingw.
28380         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
28381         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
28382         (main): Set stdin to binary mode.
28383         * modules/yesno-tests (Depends-on): Add binary-io.
28384
28385 2008-04-27  Bruno Haible  <bruno@clisp.org>
28386
28387         Fix 'isfinite' on x86, x86_64, ia64 platforms.
28388         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
28389         argument that lie outside the IEEE 854 domain.
28390         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
28391         (gl_ISFINITE): Use it.
28392         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
28393
28394 2008-04-27  Bruno Haible  <bruno@clisp.org>
28395
28396         Allow local renaming in config.h.
28397         * lib/memrchr.c (memrchr): Don't undefine outside libc.
28398
28399 2008-04-27  Bruno Haible  <bruno@clisp.org>
28400
28401         * lib/memchr.c (__memchr): Change type of 'i'.
28402         * lib/memchr2.c (memchr2): Likewise.
28403
28404 2008-04-26  Eric Blake  <ebb9@byu.net>
28405         and Bruno Haible  <bruno@clisp.org>
28406
28407         Optimize and test memrchr.
28408         * modules/memrchr (Depends-on): Add intprops.
28409         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
28410         * modules/memrchr-tests: New file.
28411         * tests/test-memrchr.c: New file.
28412
28413 2008-04-26  Bruno Haible  <bruno@clisp.org>
28414
28415         Add tentative support for DragonFly BSD.
28416         * lib/stdio-impl.h: Add macros for DragonFly BSD.
28417         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
28418         fp.
28419         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
28420         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
28421         * lib/fpurge.c (fpurge): Likewise.
28422         * lib/freadable.c (freaadable): Likewise.
28423         * lib/freadahead.c (freadahead): Likewise.
28424         * lib/freading.c (freading): Likewise.
28425         * lib/freadptr.c (freadptr): Likewise.
28426         * lib/freadseek.c (freadptrinc): Likewise.
28427         * lib/fseeko.c (fseeko): Likewise.
28428         * lib/fseterr.c (fseterr): Likewise.
28429         * lib/fwritable.c (fwritable): Likewise.
28430         * lib/fwriting.c (fwriting): Likewise.
28431
28432 2008-04-26  Bruno Haible  <bruno@clisp.org>
28433
28434         * lib/stdio-impl.h: New file.
28435         * lib/fbufmode.c: Include stdio-impl.h.
28436         (fbufmode): Use fp_, remove redundant #defines.
28437         * lib/fflush.c: Include stdio-impl.h.
28438         (clear_ungetc_buffer): Remove redundant #defines.
28439         * lib/fpurge.c: Include stdio-impl.h.
28440         (fpurge): Remove redundant #defines.
28441         * lib/freadable.c: Include stdio-impl.h.
28442         (freadable): Remove redundant #defines.
28443         * lib/freadahead.c: Include stdio-impl.h.
28444         (freadahead): Remove redundant #defines.
28445         * lib/freading.c: Include stdio-impl.h.
28446         (freading): Remove redundant #defines.
28447         * lib/freadptr.c: Include stdio-impl.h.
28448         (freadptr): Remove redundant #defines.
28449         * lib/freadseek.c: Include stdio-impl.h.
28450         (freadptrinc): Remove redundant #defines.
28451         * lib/fseeko.c: Include stdio-impl.h.
28452         (rpl_fseeko): Remove redundant #defines.
28453         * lib/fseterr.c: Include stdio-impl.h.
28454         (fseterr): Remove redundant #defines.
28455         * lib/fwritable.c: Include stdio-impl.h.
28456         (fwritable: Remove redundant #defines.
28457         * lib/fwriting.c: Include stdio-impl.h.
28458         (fwriting): Remove redundant #defines.
28459         * modules/fbufmode (Files): Add lib/stdio-impl.h.
28460         * modules/fflush (Files): Likewise.
28461         * modules/fpurge (Files): Likewise.
28462         * modules/freadable (Files): Likewise.
28463         * modules/freadahead (Files): Likewise.
28464         * modules/freading (Files): Likewise.
28465         * modules/freadptr (Files): Likewise.
28466         * modules/freadseek (Files): Likewise.
28467         * modules/fseeko (Files): Likewise.
28468         * modules/fseterr (Files): Likewise.
28469         * modules/fwritable (Files): Likewise.
28470         * modules/fwriting (Files): Likewise.
28471
28472 2008-04-26  Bruno Haible  <bruno@clisp.org>
28473
28474         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
28475         restore_seek_optimization, update_fpos_cache): New functions, extracted
28476         from rpl_fflush.
28477         (rpl_fflush): Use them.
28478         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
28479         (gl_REPLACE_FFLUSH): Use it.
28480
28481 2008-04-26  Bruno Haible  <bruno@clisp.org>
28482
28483         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
28484         on Solaris.
28485         * tests/test-xstrtoimax.sh: Likewise.
28486         * tests/test-xstrtoumax.sh: Likewise.
28487         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28488
28489 2008-04-26  Bruno Haible  <bruno@clisp.org>
28490
28491         * modules/memchr-tests: New file.
28492         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
28493
28494 2008-04-26  Eric Blake  <ebb9@byu.net>
28495             Bruno Haible  <bruno@clisp.org>
28496
28497         * lib/memchr.c: Include intprops.h.
28498         (__memchr): Optimize parallel detection of matching bytes. Rename local
28499         variables. Add explanatory comments.
28500
28501 2008-04-26  Bruno Haible  <bruno@clisp.org>
28502
28503         Fix module 'memchr', broken since 2000-10-28.
28504         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
28505
28506 2008-04-26  Bruno Haible  <bruno@clisp.org>
28507
28508         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
28509         comments.
28510
28511 2008-04-25  Eric Blake  <ebb9@byu.net>
28512
28513         Use native fstatat on cygwin 1.7.0.
28514         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
28515         first.
28516
28517 2008-04-23  Eric Blake  <ebb9@byu.net>
28518
28519         Improve memchr2 performance.
28520         * lib/memchr2.c (memchr2): Further optimize parallel detection of
28521         NUL bytes.
28522         * modules/memchr2 (Depends-on): Use intprops.h.
28523
28524 2008-04-23  Simon Josefsson  <simon@josefsson.org>
28525
28526         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
28527         an inline function instead of a CPP macro.  Patch by Ben Pfaff
28528         <blp@cs.stanford.edu>.
28529
28530 2008-04-23  Simon Josefsson  <simon@josefsson.org>
28531
28532         * lib/arpa_inet.in.h: New file.
28533
28534         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
28535         (Makefile.am): Sed in substitute header file.
28536
28537         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
28538         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
28539
28540         * modules/inet_ntop (configure.ac): Use
28541         gl_ARPA_INET_MODULE_INDICATOR.
28542
28543         * modules/inet_pton (configure.ac): Use
28544         gl_ARPA_INET_MODULE_INDICATOR.
28545
28546 2008-04-22  Jim Meyering  <meyering@redhat.com>
28547
28548         * modules/verify (License): Re-license as LGPLv2+.
28549
28550 2008-04-22  Simon Josefsson  <simon@josefsson.org>
28551
28552         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
28553         parameter to void* as per POSIX standard (MinGW uses char*).
28554
28555 2008-04-21  Bruno Haible  <bruno@clisp.org>
28556
28557         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
28558         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
28559         Define to replacements if REPLACE_ISWCNTRL is 1.
28560         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
28561         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
28562         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
28563         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
28564         what it fixes.
28565         * doc/posix-functions/iswalpha.texi: Likewise.
28566         * doc/posix-functions/iswblank.texi: Likewise.
28567         * doc/posix-functions/iswcntrl.texi: Likewise.
28568         * doc/posix-functions/iswdigit.texi: Likewise.
28569         * doc/posix-functions/iswgraph.texi: Likewise.
28570         * doc/posix-functions/iswlower.texi: Likewise.
28571         * doc/posix-functions/iswprint.texi: Likewise.
28572         * doc/posix-functions/iswpunct.texi: Likewise.
28573         * doc/posix-functions/iswspace.texi: Likewise.
28574         * doc/posix-functions/iswupper.texi: Likewise.
28575         * doc/posix-functions/iswxdigit.texi: Likewise.
28576         Reported by Alain Guibert.
28577
28578 2008-04-21  Bruno Haible  <bruno@clisp.org>
28579
28580         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
28581         Patch by Alain Guibert.
28582
28583 2008-04-21  Bruno Haible  <bruno@clisp.org>
28584
28585         Fix test failures on mingw.
28586         * tests/test-xstrtol.c (print_no_progname): New function.
28587         (main): Install it in error_print_progname hook.
28588         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
28589         * tests/test-xstrtoimax.sh: Likewise.
28590         * tests/test-xstrtoumax.sh: Likewise.
28591
28592 2008-04-21  Bruno Haible  <bruno@clisp.org>
28593
28594         Fix test failure on mingw.
28595         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
28596
28597 2008-04-21  Bruno Haible  <bruno@clisp.org>
28598
28599         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
28600         Actually assign a value.
28601
28602 2008-04-20  Bruno Haible  <bruno@clisp.org>
28603
28604         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
28605         take 2.
28606         * lib/canonicalize.c (canonicalize_file_name): Elide if the
28607         'canonicalize-lgpl' module is also used.
28608         * lib/canonicalize-lgpl.c: Undo last change.
28609         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
28610
28611 2008-04-20  Bruno Haible  <bruno@clisp.org>
28612
28613         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
28614         config.h. Provide _mkdir based fallback for mingw.
28615         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
28616         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
28617         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
28618         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
28619         rather than defining mkdir in config.h.
28620         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
28621         (gl_SYS_STAT_H_DEFAULTS): New macro.
28622         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
28623         HAVE_IO_H any more.
28624         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
28625         HAVE_DECL_MKDIR and HAVE_IO_H.
28626
28627 2008-04-20  Bruno Haible  <bruno@clisp.org>
28628
28629         * lib/isapipe.c: Port to native Windows platforms.
28630
28631 2008-04-20  Bruno Haible  <bruno@clisp.org>
28632
28633         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
28634
28635 2008-04-21  Eric Blake  <ebb9@byu.net>
28636
28637         Work around preprocessors that don't handle UINTMAX_MAX.
28638         * lib/memchr2.c (memchr2): Avoid embedded #if.
28639         Reported by Alain Guibert, fix suggested by Bruno Haible.
28640
28641 2008-04-21  Simon Josefsson  <simon@josefsson.org>
28642
28643         * doc/posix-functions/strftime.texi (strftime): Explain better
28644         Windows incompatibility.  Suggested by Micah Cowan
28645         <micah@cowan.name>.
28646
28647 2008-04-20  Bruno Haible  <bruno@clisp.org>
28648
28649         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
28650         unistr/u8-mblen.
28651
28652 2008-04-20  Bruno Haible  <bruno@clisp.org>
28653
28654         Fix test failure on platforms with non-GNU iconv.
28655         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
28656         (U_TO_U8): Use it, rather than u16_to_u8.
28657         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
28658         units at the end of the input string.
28659         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
28660
28661 2008-04-20  Bruno Haible  <bruno@clisp.org>
28662
28663         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
28664         when the resulting length is 0.
28665         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
28666
28667 2008-04-20  Bruno Haible  <bruno@clisp.org>
28668
28669         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
28670         works.
28671         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
28672
28673 2008-04-20  Bruno Haible  <bruno@clisp.org>
28674
28675         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
28676         * modules/tsearch-tests (configure.ac): Test for initstate function.
28677
28678 2008-04-20  Bruno Haible  <bruno@clisp.org>
28679
28680         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
28681         for nlink_t if missing.
28682         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
28683
28684 2008-04-19  Bruno Haible  <bruno@clisp.org>
28685
28686         Work around snprintf bug on Linux libc5.
28687         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
28688         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
28689         gl_SNPRINTF_SIZE1.
28690         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28691         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
28692         that test failed.
28693         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
28694         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
28695         * modules/snprintf (Files): Add m4/printf.m4.
28696         * modules/vsnprintf (Files): Likewise.
28697         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
28698         * doc/posix-functions/vsnprintf.texi: Likewise.
28699
28700 2008-04-19  Bruno Haible  <bruno@clisp.org>
28701
28702         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
28703         from 0.0058 to less than 10^-7.
28704
28705 2008-04-19  Bruno Haible  <bruno@clisp.org>
28706
28707         Fix rounding when a precision is given.
28708         * lib/vasnprintf.c (is_borderline): New function.
28709         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
28710         9...9x.
28711         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
28712         %e, %g.
28713         * tests/test-vasprintf-posix.c (test_function): Likewise.
28714         * tests/test-snprintf-posix.h (test_function): Likewise.
28715         * tests/test-sprintf-posix.h (test_function): Likewise.
28716         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
28717         * tests/test-printf-posix.h (test_function): Likewise.
28718         * tests/test-printf-posix.output: Update.
28719         Reported by John Darrington <john@darrington.wattle.id.au> via
28720         Ben Pfaff <blp@cs.stanford.edu>.
28721
28722 2008-04-18  Simon Josefsson  <simon@josefsson.org>
28723
28724         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
28725         Suggested by Bruno Haible <bruno@clisp.org>.
28726
28727 2008-04-17  Bruno Haible  <bruno@clisp.org>
28728
28729         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
28730         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
28731         implementation.
28732         Patch by Bruce Merry <bmerry@gmail.com>.
28733
28734 2008-04-17  Simon Josefsson  <simon@josefsson.org>
28735
28736         * doc/posix-functions/strftime.texi (strftime): Mention that %e
28737         doesn't work under Windows.
28738
28739 2008-04-16  Bruno Haible  <bruno@clisp.org>
28740
28741         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
28742         New macros.
28743         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
28744         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
28745         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
28746         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
28747         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
28748         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
28749         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
28750         macros.
28751         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
28752         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
28753         Northern Sotho, Uighur.
28754
28755 2008-04-16  Bruno Haible  <bruno@clisp.org>
28756
28757         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
28758         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
28759         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
28760         Reported by Daniel Bergström <daniel@octocode.com>.
28761
28762 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
28763             Bruno Haible  <bruno@clisp.org>
28764
28765         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
28766         function.
28767         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
28768         New functions, mostly extracted from gl_locale_name_default.
28769         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
28770
28771 2008-04-16  Eric Blake  <ebb9@byu.net>
28772
28773         Adjust strtod detection to catch glibc 2.7 bug.
28774         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
28775         Reported by John Gatewood Ham.
28776
28777 2008-04-16  Bruno Haible  <bruno@clisp.org>
28778
28779         Add tentative support for Linux libc5.
28780         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
28781         * lib/fpurge.c (fpurge): Likewise.
28782         * lib/freadable.c (freadable): Likewise.
28783         * lib/freadahead.c (freadahead): Likewise.
28784         * lib/freading.c (freading): Likewise.
28785         * lib/freadptr.c (freadptr): Likewise.
28786         * lib/freadseek.c (freadptrinc): Likewise.
28787         * lib/fseeko.c (rpl_fseeko): Likewise.
28788         * lib/fseterr.c (fseterr): Likewise.
28789         * lib/fwritable.c (fwritable): Likewise.
28790         * lib/fwriting.c (fwriting): Likewise.
28791         Reported by Alain Guibert <alguibert+bts@free.fr>.
28792
28793 2008-04-15  Bruno Haible  <bruno@clisp.org>
28794
28795         * modules/mathl (configure.ac): Define module indicator.
28796
28797 2008-04-15  Bruno Haible  <bruno@clisp.org>
28798
28799         * lib/logl.c (logl): Remove unused variables.
28800
28801 2008-04-15  Bruno Haible  <bruno@clisp.org>
28802
28803         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
28804         fails.
28805
28806 2008-04-15  Bruno Haible  <bruno@clisp.org>
28807
28808         * lib/trim.c (trim2): Fix argument of isspace() macro.
28809
28810 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
28811
28812         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
28813         to 0.
28814         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
28815
28816 2008-04-14  Bruno Haible  <bruno@clisp.org>
28817
28818         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
28819         AC_LANG_PROGRAM argument.
28820         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
28821         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
28822         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28823         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28824         * m4/math_h.m4 (gl_MATH_H): Likewise.
28825         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
28826         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28827         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
28828         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
28829         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
28830         * m4/regex.m4 (gl_REGEX): Likewise.
28831         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
28832         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
28833         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28834         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
28835         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
28836         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28837         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28838         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28839
28840 2008-04-14  Jim Meyering  <meyering@redhat.com>
28841
28842         test-strtod: fix typos: s/abs/fabs/
28843         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
28844
28845 2008-04-13  Bruno Haible  <bruno@clisp.org>
28846
28847         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
28848         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
28849         module is also used and while not building the reloc-wrapper.
28850
28851 2008-04-13  Bruno Haible  <bruno@clisp.org>
28852
28853         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
28854
28855 2008-04-13  Bruno Haible  <bruno@clisp.org>
28856
28857         Fix AIX compilation failure introduced on 2008-04-02.
28858         * tests/test-frexp.c (exp): Undefine before redefining.
28859         * tests/test-frexpl.c (exp): Likewise.
28860
28861 2008-04-13  Bruno Haible  <bruno@clisp.org>
28862
28863         Work around a HP-UX stdio bug.
28864         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
28865         * tests/test-ftello.c (main): Likewise.
28866         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
28867         * doc/posix-functions/ftello.texi: Likewise.
28868
28869 2008-04-13  Bruno Haible  <bruno@clisp.org>
28870
28871         Make test-signbit pass on HP-UX/hppa.
28872         * tests/test-signbit.c (minus_zerol): New variable.
28873         (test_signbitl): Use it.
28874
28875 2008-04-13  Bruno Haible  <bruno@clisp.org>
28876
28877         Make truncl work on OSF/1 4.0.
28878         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
28879         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
28880         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
28881         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
28882         HAVE_DECL_TRUNCL.
28883         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
28884         HAVE_DECL_TRUNCL.
28885         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
28886
28887 2008-04-13  Bruno Haible  <bruno@clisp.org>
28888
28889         * lib/unictype.h: Remove trailing comma from enumeration definitions.
28890
28891 2008-04-13  Bruno Haible  <bruno@clisp.org>
28892
28893         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
28894         expression, so as to avoid HP-UX 11 cc compiler bug.
28895
28896 2008-04-13  Bruno Haible  <bruno@clisp.org>
28897
28898         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
28899
28900 2008-04-13  Bruno Haible  <bruno@clisp.org>
28901
28902         * lib/git-merge-changelog.c: Remove empty declaration outside of
28903         functions.
28904
28905 2008-04-13  Bruno Haible  <bruno@clisp.org>
28906
28907         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
28908
28909 2008-04-13  Bruno Haible  <bruno@clisp.org>
28910
28911         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
28912         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
28913         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
28914         also if it exists but lacks definitions of the SHUT_* macros.
28915         * modules/sys_socket (Description): Update.
28916         Reported by Elbert Pol <e.pol@chello.nl>.
28917
28918 2008-04-13  Bruno Haible  <bruno@clisp.org>
28919
28920         * lib/localcharset.c (OS2): Don't redefine if already defined.
28921         Reported by Elbert Pol <e.pol@chello.nl>.
28922
28923 2008-04-13  Bruno Haible  <bruno@clisp.org>
28924
28925         * lib/binary-io.h [__EMX__]: Include <io.h>.
28926         Reported by Elbert Pol <e.pol@chello.nl>.
28927
28928 2008-04-12  Bruno Haible  <bruno@clisp.org>
28929
28930         * lib/fpucw.h: Enable the definitions also for x86_64.
28931         Needed for NetBSD/x86_64.
28932         Reported by Thomas Klausner <tk@giga.or.at>.
28933
28934 2008-04-12  Bruno Haible  <bruno@clisp.org>
28935
28936         * tests/test-strtod.c: Include isnand.h.
28937         (main): Use isnand instead of isnan.
28938         Reported by Jim Meyering.
28939
28940 2008-04-12  Bruno Haible  <bruno@clisp.org>
28941
28942         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
28943         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
28944
28945 2008-04-12  Jim Meyering  <meyering@redhat.com>
28946
28947         * m4/math_h.m4 (gl_MATH_H): Fix typos.
28948
28949 2008-04-12  Bruno Haible  <bruno@clisp.org>
28950
28951         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
28952         Reported by Elbert Pol <e.pol@chello.nl>.
28953
28954 2008-04-12  Eric Blake  <ebb9@byu.net>
28955
28956         Work around Solaris 10 math.h bug.
28957         * m4/math_h.m4 (gl_MATH_H): Check for bug.
28958         (gl_MATH_H_DEFAULTS): Set up default.
28959         * modules/math (Makefile.am): Replace new indicators.
28960         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
28961         * tests/test-math.c (main): Test this.
28962         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
28963         * doc/posix-headers/math.texi (math.h): Mention bug.
28964         Reported by Nelson H. F. Beebe and Jim Meyering.
28965
28966 2008-04-11  Bruno Haible  <bruno@clisp.org>
28967
28968         Adapt to future versions of Apple GCC.
28969         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
28970         Reported by Peter O'Gorman <peter@pogma.com>.
28971
28972 2008-04-11  Bruno Haible  <bruno@clisp.org>
28973
28974         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
28975
28976 2008-04-11  Bruno Haible  <bruno@clisp.org>
28977
28978         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
28979
28980         * modules/getaddrinfo-tests (Makefile.am): Define
28981         test_getaddrinfo_LDADD.
28982
28983 2008-04-11  Bruno Haible  <bruno@clisp.org>
28984
28985         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
28986         (init): Fix syntax error.
28987         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
28988         is declared.
28989
28990 2008-04-11  Bruno Haible  <bruno@clisp.org>
28991
28992         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
28993         * modules/glob (Depends-on): Add stdbool.
28994
28995 2008-04-11  Bruno Haible  <bruno@clisp.org>
28996
28997         * lib/trim.c: Include <string.h>.
28998
28999 2008-04-11  Eric Blake  <ebb9@byu.net>
29000
29001         Avoid compile failure on OS/2.
29002         * lib/regex_internal.h (internal_function): Disable optimization
29003         on OS/2 (__EMX__), where it caused compiler error.
29004         Reported by Elbert Pol.
29005
29006 2008-04-11  Bruno Haible  <bruno@clisp.org>
29007
29008         Flush the standard error stream before aborting. Needed on mingw.
29009         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
29010         * tests/test-array_list.c (ASSERT): Likewise.
29011         * tests/test-array_oset.c (ASSERT): Likewise.
29012         * tests/test-avltree_list.c (ASSERT): Likewise.
29013         * tests/test-avltree_oset.c (ASSERT): Likewise.
29014         * tests/test-avltreehash_list.c (ASSERT): Likewise.
29015         * tests/test-binary-io.c (ASSERT): Likewise.
29016         * tests/test-byteswap.c (ASSERT): Likewise.
29017         * tests/test-c-ctype.c (ASSERT): Likewise.
29018         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
29019         * tests/test-c-strcasestr.c (ASSERT): Likewise.
29020         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
29021         * tests/test-c-strstr.c (ASSERT): Likewise.
29022         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
29023         * tests/test-canonicalize.c (ASSERT): Likewise.
29024         * tests/test-carray_list.c (ASSERT): Likewise.
29025         * tests/test-ceilf1.c (ASSERT): Likewise.
29026         * tests/test-ceilf2.c (ASSERT): Likewise.
29027         * tests/test-ceill.c (ASSERT): Likewise.
29028         * tests/test-count-one-bits.c (ASSERT): Likewise.
29029         * tests/test-fbufmode.c (ASSERT): Likewise.
29030         * tests/test-fflush2.c (ASSERT): Likewise.
29031         * tests/test-floorf1.c (ASSERT): Likewise.
29032         * tests/test-floorf2.c (ASSERT): Likewise.
29033         * tests/test-floorl.c (ASSERT): Likewise.
29034         * tests/test-fopen.c (ASSERT): Likewise.
29035         * tests/test-fpending.c (ASSERT): Likewise.
29036         * tests/test-fprintf-posix.c (ASSERT): Likewise.
29037         * tests/test-fpurge.c (ASSERT): Likewise.
29038         * tests/test-freadable.c (ASSERT): Likewise.
29039         * tests/test-freadahead.c (ASSERT): Likewise.
29040         * tests/test-freading.c (ASSERT): Likewise.
29041         * tests/test-freadptr.c (ASSERT): Likewise.
29042         * tests/test-freadptr2.c (ASSERT): Likewise.
29043         * tests/test-freadseek.c (ASSERT): Likewise.
29044         * tests/test-freopen.c (ASSERT): Likewise.
29045         * tests/test-frexp.c (ASSERT): Likewise.
29046         * tests/test-frexpl.c (ASSERT): Likewise.
29047         * tests/test-fseek.c (ASSERT): Likewise.
29048         * tests/test-fseeko.c (ASSERT): Likewise.
29049         * tests/test-fstrcmp.c (ASSERT): Likewise.
29050         * tests/test-ftell.c (ASSERT): Likewise.
29051         * tests/test-ftello.c (ASSERT): Likewise.
29052         * tests/test-func.c (ASSERT): Likewise.
29053         * tests/test-fwritable.c (ASSERT): Likewise.
29054         * tests/test-fwriting.c (ASSERT): Likewise.
29055         * tests/test-getdelim.c (ASSERT): Likewise.
29056         * tests/test-getline.c (ASSERT): Likewise.
29057         * tests/test-i-ring.c (ASSERT): Likewise.
29058         * tests/test-iconv-utf.c (ASSERT): Likewise.
29059         * tests/test-iconv.c (ASSERT): Likewise.
29060         * tests/test-isfinite.c (ASSERT): Likewise.
29061         * tests/test-isnand.c (ASSERT): Likewise.
29062         * tests/test-isnanf.c (ASSERT): Likewise.
29063         * tests/test-isnanl.h (ASSERT): Likewise.
29064         * tests/test-ldexpl.c (ASSERT): Likewise.
29065         * tests/test-linked_list.c (ASSERT): Likewise.
29066         * tests/test-linkedhash_list.c (ASSERT): Likewise.
29067         * tests/test-localename.c (ASSERT): Likewise.
29068         * tests/test-lseek.c (ASSERT): Likewise.
29069         * tests/test-mbscasecmp.c (ASSERT): Likewise.
29070         * tests/test-mbscasestr1.c (ASSERT): Likewise.
29071         * tests/test-mbscasestr2.c (ASSERT): Likewise.
29072         * tests/test-mbscasestr3.c (ASSERT): Likewise.
29073         * tests/test-mbscasestr4.c (ASSERT): Likewise.
29074         * tests/test-mbschr.c (ASSERT): Likewise.
29075         * tests/test-mbscspn.c (ASSERT): Likewise.
29076         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
29077         * tests/test-mbspbrk.c (ASSERT): Likewise.
29078         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
29079         * tests/test-mbsrchr.c (ASSERT): Likewise.
29080         * tests/test-mbsspn.c (ASSERT): Likewise.
29081         * tests/test-mbsstr1.c (ASSERT): Likewise.
29082         * tests/test-mbsstr2.c (ASSERT): Likewise.
29083         * tests/test-mbsstr3.c (ASSERT): Likewise.
29084         * tests/test-memchr2.c (ASSERT): Likewise.
29085         * tests/test-memmem.c (ASSERT): Likewise.
29086         * tests/test-open.c (ASSERT): Likewise.
29087         * tests/test-printf-frexp.c (ASSERT): Likewise.
29088         * tests/test-printf-frexpl.c (ASSERT): Likewise.
29089         * tests/test-printf-posix.c (ASSERT): Likewise.
29090         * tests/test-quotearg.c (ASSERT): Likewise.
29091         * tests/test-rbtree_list.c (ASSERT): Likewise.
29092         * tests/test-rbtree_oset.c (ASSERT): Likewise.
29093         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
29094         * tests/test-round1.c (ASSERT): Likewise.
29095         * tests/test-roundf1.c (ASSERT): Likewise.
29096         * tests/test-roundl.c (ASSERT): Likewise.
29097         * tests/test-signbit.c (ASSERT): Likewise.
29098         * tests/test-sleep.c (ASSERT): Likewise.
29099         * tests/test-snprintf-posix.c (ASSERT): Likewise.
29100         * tests/test-snprintf.c (ASSERT): Likewise.
29101         * tests/test-sprintf-posix.c (ASSERT): Likewise.
29102         * tests/test-stat-time.c (ASSERT): Likewise.
29103         * tests/test-strcasestr.c (ASSERT): Likewise.
29104         * tests/test-strerror.c (ASSERT): Likewise.
29105         * tests/test-striconv.c (ASSERT): Likewise.
29106         * tests/test-striconveh.c (ASSERT): Likewise.
29107         * tests/test-striconveha.c (ASSERT): Likewise.
29108         * tests/test-strsignal.c (ASSERT): Likewise.
29109         * tests/test-strstr.c (ASSERT): Likewise.
29110         * tests/test-strtod.c (ASSERT): Likewise.
29111         * tests/test-trunc1.c (ASSERT): Likewise.
29112         * tests/test-trunc2.c (ASSERT): Likewise.
29113         * tests/test-truncf1.c (ASSERT): Likewise.
29114         * tests/test-truncf2.c (ASSERT): Likewise.
29115         * tests/test-truncl.c (ASSERT): Likewise.
29116         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
29117         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
29118         * tests/test-vasnprintf.c (ASSERT): Likewise.
29119         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
29120         * tests/test-vasprintf.c (ASSERT): Likewise.
29121         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
29122         * tests/test-vprintf-posix.c (ASSERT): Likewise.
29123         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
29124         * tests/test-vsnprintf.c (ASSERT): Likewise.
29125         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
29126         * tests/test-wcwidth.c (ASSERT): Likewise.
29127         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
29128         * tests/test-xprintf-posix.c (ASSERT): Likewise.
29129         * tests/test-xvasprintf.c (ASSERT): Likewise.
29130         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
29131         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
29132         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
29133         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
29134         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
29135         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
29136         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
29137         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
29138         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
29139         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
29140         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
29141         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
29142         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
29143         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
29144         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
29145         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
29146         * tests/unictype/test-block_list.c (ASSERT): Likewise.
29147         * tests/unictype/test-block_of.c (ASSERT): Likewise.
29148         * tests/unictype/test-block_test.c (ASSERT): Likewise.
29149         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
29150         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
29151         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
29152         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
29153         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
29154         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
29155         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
29156         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
29157         * tests/unictype/test-combining.c (ASSERT): Likewise.
29158         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
29159         * tests/unictype/test-digit.c (ASSERT): Likewise.
29160         * tests/unictype/test-mirror.c (ASSERT): Likewise.
29161         * tests/unictype/test-numeric.c (ASSERT): Likewise.
29162         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
29163         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
29164         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
29165         * tests/unictype/test-scripts.c (ASSERT): Likewise.
29166         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
29167         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
29168         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
29169         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
29170         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
29171         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
29172         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
29173         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
29174         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
29175         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
29176         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
29177         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
29178         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
29179         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
29180         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
29181         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
29182         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
29183         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
29184         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
29185         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
29186         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
29187         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
29188         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
29189         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
29190         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
29191         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
29192         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
29193         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
29194         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
29195         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
29196         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
29197         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
29198         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
29199         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
29200         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
29201         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
29202         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
29203         Reported by Eric Blake.
29204
29205 2008-04-11  Bruno Haible  <bruno@clisp.org>
29206
29207         * lib/wchar.in.h: Tweak comment.
29208
29209 2008-04-11  Bruno Haible  <bruno@clisp.org>
29210
29211         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
29212         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
29213         gl_COMMON.
29214         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
29215
29216 2008-04-11  Bruno Haible  <bruno@clisp.org>
29217
29218         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
29219
29220 2008-04-11  Simon Josefsson  <simon@josefsson.org>
29221
29222         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
29223         of attempting to use non-existing /dev/*random.  Based on patch
29224         from Adam Strzelecki <ono@java.pl> in
29225         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
29226
29227 2008-04-08  Bruno Haible  <bruno@clisp.org>
29228
29229         Add tentative support for emx+gcc.
29230         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
29231         * lib/fpurge.c (fpurge): Likewise.
29232         * lib/freadable.c (freadable): Likewise.
29233         * lib/freadahead.c (freadahead): Likewise.
29234         * lib/freading.c (freading): Likewise.
29235         * lib/freadptr.c (freadptr): Likewise.
29236         * lib/freadseek.c (freadptrinc): Likewise.
29237         * lib/fseeko.c (rpl_fseeko): Likewise.
29238         * lib/fseterr.c (fseterr): Likewise.
29239         * lib/fwritable.c (fwritable): Likewise.
29240         * lib/fwriting.c (fwriting): Likewise.
29241         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
29242
29243 2008-04-09  Eric Blake  <ebb9@byu.net>
29244
29245         Avoid some autoconf warnings.
29246         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
29247         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
29248         * m4/afs.m4 (gl_AFS): Likewise.
29249         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
29250         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
29251         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29252         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
29253         (gl_INTEGER_TYPE_SUFFIX): Likewise.
29254         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
29255         (AC_CHECK_DECLS_ONCE): Likewise.
29256         Rename file...
29257         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
29258         gnulib-tool requires autoconf 2.59 or better.
29259         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
29260
29261 2008-04-08  Eric Blake  <ebb9@byu.net>
29262
29263         Use 'git describe --match' if present (added in git 1.5.5).
29264         * build-aux/git-version-gen: Limit result to tags that match 'v*'
29265         if possible.
29266
29267 2008-04-08  Bruno Haible  <bruno@clisp.org>
29268
29269         Add tentative support for OpenServer.
29270         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
29271         _ptr, _cnt.
29272         * lib/fpurge.c (fpurge): Likewise.
29273         * lib/freadable.c (freadable): Likewise.
29274         * lib/freadahead.c (freadahead): Likewise.
29275         * lib/freading.c (freading): Likewise.
29276         * lib/freadptr.c (freadptr): Likewise.
29277         * lib/freadseek.c (freadptrinc): Likewise.
29278         * lib/fseeko.c (rpl_fseeko): Likewise.
29279         * lib/fseterr.c (fseterr): Likewise.
29280         * lib/fwritable.c (fwritable): Likewise.
29281         * lib/fwriting.c (fwriting): Likewise.
29282         Reported by Roger Cornelius <rac@tenzing.org> and
29283         Brian K. White <brian@aljex.com>.
29284
29285 2008-04-06  Jim Meyering  <meyering@redhat.com>
29286
29287         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
29288
29289 2008-04-06  Bruno Haible  <bruno@clisp.org>
29290
29291         Avoid possible error with non-ASCII bytes in UTF-8 locales.
29292         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
29293         * tests/test-printf-posix.sh: Likewise.
29294         * tests/test-vfprintf-posix.sh: Likewise.
29295         * tests/test-vprintf-posix.sh: Likewise.
29296         * tests/test-xprintf-posix.sh: Likewise.
29297
29298 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29299
29300         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
29301         hide error from 'ls', needed on OS/2.
29302         Report by Elbert Pol <elbert.pol@gmail.com>.
29303
29304 2008-04-04  Eric Blake  <ebb9@byu.net>
29305
29306         Make test-fseeko.c failures meaningful.
29307         * tests/test-fseeko.c: Print line number on failure.
29308         * tests/test-fseek.c: Likewise.
29309         Reported by Nelson H. F. Beebe.
29310
29311         Improve strtod bug detection check.
29312         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
29313         required for Solaris 10.
29314         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
29315
29316 2008-04-04  Bruno Haible  <bruno@clisp.org>
29317
29318         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
29319         by m4/setenv.m4.
29320
29321 2008-04-03  Eric Blake  <ebb9@byu.net>
29322
29323         Ensure sane .version contents.
29324         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
29325         version string.
29326         * build-aux/git-version-gen: Improve documentation.
29327
29328         Make GNU make output nicer.
29329         * top/GNUmakefile [!_have-Makefile]: Add dependency on
29330         MAKECMDGOALS to enforce message for all command line targets.  Set
29331         srcdir for use in maint.mk.
29332
29333         Another maintainer tweak.
29334         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
29335         a target that regenerates version.
29336
29337 2008-04-03  Jim Meyering  <meyering@redhat.com>
29338
29339         vc-list-files: don't cause coreutils "make po-check" failure
29340         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
29341
29342 2008-04-03  Eric Blake  <ebb9@byu.net>
29343
29344         Allow VPATH usage of vc-list-files.
29345         * build-aux/vc-list-files (scriptversion): Add timestamp.
29346         (options): Add --help, --version, -C.
29347         (CVS): Support installed cvsu.
29348
29349 2008-04-02  Bruno Haible  <bruno@clisp.org>
29350
29351         Avoid some "statement with no effect" warnings from gcc.
29352         * tests/test-wctype.c (main): Explicitly ignore unused values.
29353         Reported by Jim Meyering.
29354
29355 2008-04-02  Jim Meyering  <meyering@redhat.com>
29356
29357         Avoid some warnings from "gcc -Wshadow".
29358         * tests/test-frexp.c (exp): Define to a different identifier.
29359         * tests/test-frexpl.c (exp): Likewise.
29360
29361 2008-04-03  Jim Meyering  <meyering@redhat.com>
29362
29363         bootstrap: remove dangling *.[ch] symlinks from lib
29364         * build-aux/bootstrap [dangling symlink removal]: Move find's
29365         -depth option to precede all others, to avoid a warning.
29366         Remove *.[ch] files too, and from "$source_base" (usually lib/).
29367
29368 2008-04-02  Bruno Haible  <bruno@clisp.org>
29369
29370         Avoid some warnings from "gcc -Wshadow".
29371         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
29372         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
29373         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
29374         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
29375         Reported by Jim Meyering.
29376
29377 2008-04-01  Bruno Haible  <bruno@clisp.org>
29378
29379         Fix test to work on IRIX 6.5 with cc.
29380         * tests/test-math.c (numeric_equal): New function.
29381         (main): Use it.
29382
29383 2008-04-01  Bruno Haible  <bruno@clisp.org>
29384
29385         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
29386
29387 2008-04-01  Bruno Haible  <bruno@clisp.org>
29388
29389         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
29390         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29391         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
29392         (Depends-on): Remove math.
29393
29394         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
29395         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29396         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
29397         (Depends-on): Remove math.
29398
29399         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
29400         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29401         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
29402         (Depends-on): Remove math.
29403         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
29404         (Depends-on): Remove math.
29405
29406         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
29407         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29408         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
29409         (Depends-on): Remove math.
29410         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
29411         (Depends-on): Remove math.
29412
29413         * tests/test-round1.c: Include nan.h.
29414         (main): Use NaNd instead of NAN.
29415         * modules/round-tests (Files): Add tests/nan.h.
29416
29417         * tests/test-trunc1.c: Include nan.h.
29418         (main): Use NaNd instead of NAN.
29419         * modules/trunc-tests (Files): Add tests/nan.h.
29420
29421         * tests/test-roundf1.c: Include nan.h.
29422         (main): Use NaNf instead of NAN.
29423         * modules/roundf-tests (Files): Add tests/nan.h.
29424
29425         * tests/test-truncf1.c: Include nan.h.
29426         (main): Use NaNf instead of NAN.
29427         * modules/truncf-tests (Files): Add tests/nan.h.
29428
29429         * tests/test-ceilf1.c: Include nan.h.
29430         (main): Use NaNf instead of NAN.
29431         * modules/ceilf-tests (Files): Add tests/nan.h.
29432
29433         * tests/test-floorf1.c: Include nan.h.
29434         (main): Use NaNf instead of NAN.
29435         * modules/floorf-tests (Files): Add tests/nan.h.
29436
29437         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
29438         (main): Use NaNf instead of NAN.
29439         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
29440
29441         * tests/test-isnand.c: Include nan.h instead of <math.h>.
29442         (main): Use NaNd instead of NAN.
29443         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
29444
29445         * tests/test-frexp.c: Include nan.h.
29446         (main): Use NaNd instead of NAN.
29447         * modules/frexp-tests (Files): Add tests/nan.h.
29448
29449         * lib/isnan.c: Don't include <math.h>.
29450         (FUNC): Don't use NAN macro.
29451         * modules/isnand-nolibm (Depends-on): Remove math.
29452         * modules/isnanf-nolibm (Depends-on): Remove math.
29453         * modules/isnanl (Depends-on): Remove math.
29454         * modules/isnanl-nolibm (Depends-on): Remove math.
29455
29456         * tests/nan.h: New file.
29457
29458 2008-04-01  Eric Blake  <ebb9@byu.net>
29459
29460         Fix typos.
29461         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
29462         values to be the right type.
29463
29464         For now, cater to gnulib strtod inaccuracies.
29465         * tests/test-strtod.c (main): Allow 1-ulp error on expected
29466         fractional results.  While not as nice from a QoI perspective, it
29467         is a quicker patch than correctly implementing decimal to binary
29468         rounding.
29469
29470 2008-03-31  Eric Blake  <ebb9@byu.net>
29471
29472         Guarantee a definition of NAN.
29473         * lib/math.in.h (NAN): Define if missing.
29474         * tests/test-math.c (main): Test it.
29475         * doc/posix-headers/math.texi (math.h): Document this.
29476         * lib/isnan.c (rpl_isnand): Use it.
29477         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
29478         * tests/test-floorf1.c (NaN): Likewise.
29479         * tests/test-frexp.c (NaN): Likewise.
29480         * tests/test-isnand.c (NaN): Likewise.
29481         * tests/test-isnanf.c (NaN): Likewise.
29482         * tests/test-round1.c (NaN): Likewise.
29483         * tests/test-roundf1.c (NaN): Likewise.
29484         * tests/test-snprintf-posix.h (NaN): Likewise.
29485         * tests/test-sprintf-posix.h (NaN): Likewise.
29486         * tests/test-trunc1.c (NaN): Likewise.
29487         * tests/test-truncf1.c (NaN): Likewise.
29488         * tests/test-vasnprintf-posix.c (NaN): Likewise.
29489         * tests/test-vasprintf-posix.c (NaN): Likewise.
29490         * modules/isnand-nolibm (Depends-on): Add math.
29491         * modules/isnanf-nolibm (Depends-on): Likewise.
29492         * modules/isnanl (Depends-on): Likewise.
29493         * modules/isnanl-nolibm (Depends-on): Likewise.
29494         * modules/snprintf-posix-tests (Depends-on): Likewise.
29495         * modules/sprintf-posix-tests (Depends-on): Likewise.
29496         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
29497         * modules/vsprintf-posix-tests (Depends-on): Likewise.
29498         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
29499         * modules/vasprintf-posix-tests (Depends-on): Likewise.
29500
29501 2008-03-31  Bruno Haible  <bruno@clisp.org>
29502
29503         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
29504         * doc/posix-functions/strtod.texi: Likewise.
29505
29506 2008-03-31  Bruno Haible  <bruno@clisp.org>
29507
29508         * tests/test-strtod.c (main): Don't use C99 syntax.
29509
29510 2008-03-31  Bruno Haible  <bruno@clisp.org>
29511
29512         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
29513         Reported by Eric Blake.
29514
29515 2008-03-31  Jim Meyering  <meyering@redhat.com>
29516
29517         Don't compare actual signbit return values.
29518         * tests/test-strtod.c (main): Rather, compare only their
29519         zero/non-zero nature.
29520
29521 2008-03-31  Eric Blake  <ebb9@byu.net>
29522
29523         More strtod documentation.
29524         * doc/posix-functions/strtod.texi (strtod): Interpret more test
29525         failures as distinct bugs.
29526
29527 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
29528
29529         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
29530         Problem reported by Erik Benada in
29531         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
29532
29533 2008-03-30  Bruno Haible  <bruno@clisp.org>
29534
29535         * tests/test-strtod.c: Add comments about which assertion fails on which
29536         platform.
29537         * doc/posix-functions/strtod.texi: Add info about many more platforms.
29538
29539 2008-03-30  Eric Blake  <ebb9@byu.net>
29540
29541         Test signbit behavior on zeros.
29542         * tests/test-signbit.c (test_signbitf): Add tests for zero.
29543         (test_signbitd, test_signbitl): Likewise.
29544
29545         More strtod touchups.
29546         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
29547         sign of negative underflow, for now.  Use .5, not .1.
29548         * doc/posix-functions/strtod.texi (strtod): Mention these
29549         limitations.
29550         Reported by Jim Meyering.
29551
29552 2008-03-30  Bruno Haible  <bruno@clisp.org>
29553
29554         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
29555         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
29556
29557 2008-03-30  Bruno Haible  <bruno@clisp.org>
29558
29559         Avoid failure when attempting to return empty iconv results on some
29560         platforms.
29561         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
29562         allocation, don't report ENOMEM when the resulting string is empty.
29563
29564 2008-03-30  Bruno Haible  <bruno@clisp.org>
29565
29566         Fix buffer overrun.
29567         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
29568         Don't consider the width for tmp_length. Check count against tmp_length
29569         before doing the padding. Ensure enough allocation during padding.
29570
29571 2008-03-30  Eric Blake  <ebb9@byu.net>
29572
29573         strtod touchups.
29574         * lib/strtod.c (strtod): Avoid compiler warnings.
29575         Reported by Jim Meyering.
29576
29577 2008-03-30  Bruno Haible  <bruno@clisp.org>
29578
29579         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
29580         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
29581         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
29582         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
29583         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
29584         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
29585         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
29586         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
29587
29588         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
29589         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
29590         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
29591         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
29592         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
29593         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
29594         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
29595         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
29596
29597         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
29598         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
29599         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
29600         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
29601         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
29602         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
29603         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
29604         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
29605
29606         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
29607         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
29608
29609         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
29610         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
29611
29612         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
29613         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
29614
29615         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
29616         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
29617         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
29618
29619         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
29620         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
29621         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
29622
29623         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
29624         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
29625         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
29626
29627         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
29628         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
29629         * modules/vasprintf (Depends-on): Add EOVERFLOW.
29630
29631         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
29632         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
29633         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
29634         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
29635         (Depends-on): Add EOVERFLOW.
29636         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
29637         (Depends-on): Add EOVERFLOW.
29638         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
29639         (Depends-on): Add EOVERFLOW.
29640         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
29641         (Depends-on): Add EOVERFLOW.
29642         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
29643         (Depends-on): Add EOVERFLOW.
29644         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
29645         (Depends-on): Add EOVERFLOW.
29646         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
29647         (Depends-on): Add EOVERFLOW.
29648         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
29649         (Depends-on): Add EOVERFLOW.
29650
29651         * lib/sprintf.c (EOVERFLOW): Remove fallback.
29652         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
29653         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
29654
29655         * lib/snprintf.c (EOVERFLOW): Remove fallback.
29656         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
29657         * modules/snprintf (Depends-on): Add EOVERFLOW.
29658
29659         * lib/poll.c (EOVERFLOW): Remove fallback.
29660         * modules/poll (Depends-on): Add EOVERFLOW.
29661
29662         * lib/getugroups.c (EOVERFLOW): Remove fallback.
29663         * modules/getugroups (Depends-on): Add EOVERFLOW.
29664
29665         * lib/getdelim.c (EOVERFLOW): Remove fallback.
29666         * modules/getdelim (Depends-on): Add EOVERFLOW.
29667
29668         * lib/ftell.c (EOVERFLOW): Remove fallback.
29669         * modules/ftell (Depends-on): Add EOVERFLOW.
29670
29671         * lib/fprintf.c (EOVERFLOW): Remove fallback.
29672         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
29673         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
29674
29675         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
29676
29677         * modules/EOVERFLOW-tests: New file.
29678         * tests/test-EOVERFLOW.c: New file.
29679
29680         * modules/EOVERFLOW: New file.
29681         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
29682
29683 2008-03-30  Bruno Haible  <bruno@clisp.org>
29684
29685         Fix bug introduced on 2007-06-10.
29686         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
29687         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
29688
29689 2008-03-30  Bruno Haible  <bruno@clisp.org>
29690
29691         Improve freadseek's efficiency after ungetc.
29692         * lib/freadseek.c: Include freadahead.h.
29693         (freadptrinc): New function, extracted from freadseek.
29694         (freadseek): Use it in a loop. Use freadahead to determine the number
29695         of loop iterations.
29696         * modules/freadseek (Depends-on): Add freadahead.
29697         (configure.ac): Require AC_C_INLINE.
29698
29699 2008-03-30  Bruno Haible  <bruno@clisp.org>
29700
29701         * lib/freadseek.c (freadseek): Don't ignore the return value of
29702         freadptr.
29703
29704 2008-03-29  Eric Blake  <ebb9@byu.net>
29705
29706         Add hex float support.
29707         * modules/strtod (Depends-on): Add c-ctype.
29708         (Link): Mention POW_LIB.
29709         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
29710         whitespace between 'e' and exponent.
29711         * tests/test-strtod.c (main): Enable hex float tests.
29712         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
29713         now provides.
29714
29715         Document various strtod bugs, with some fixes.
29716         * doc/posix-functions/strtod.texi (strtod): Document bugs with
29717         "-0x", "inf", "nan", and hex constants.
29718         * doc/posix-functions/atof.texi (atof): Likewise.
29719         * modules/stdlib (Makefile.am): Support strtod.
29720         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
29721         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
29722         detect additional strtod bugs.
29723         * lib/stdlib.in.h (rpl_strtod): Add declarations.
29724         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
29725         bool where appropriate.  Parse 'inf' and 'nan'.
29726         * tests/test-strtod.c: New file.
29727         * modules/strtod (Depends-on): Add stdbool, stdlib.
29728         (configure.ac): Turn on module indicator.
29729         * modules/strtod-tests: New module.
29730
29731 2008-03-29  Eric Blake  <ebb9@byu.net>
29732
29733         Fix ftell on mingw.
29734         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
29735         * modules/ftell-tests (Depends-on): Add binary-io.
29736         * modules/ftello-tests (Depends-on): Likewise.
29737         * tests/test-ftell.c (main): Enhance test to cover behavior after
29738         ungetc.  Enforce binary mode.
29739         * tests/test-ftello.c (main): Likewise.
29740
29741         Pass test-freadseek on cygwin.
29742         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
29743         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
29744         ungetc buffer.
29745
29746         * tests/test-fflush2.c (main): Fix typo.
29747
29748 2008-03-29  Bruno Haible  <bruno@clisp.org>
29749
29750         * tests/test-fflush2.c (main): Temporarily disable the contents of
29751         this test.
29752         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
29753         Reported by Eric Blake.
29754
29755 2008-03-28  Simon Josefsson  <simon@josefsson.org>
29756
29757         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
29758         (GC_SHA224_DIGEST_SIZE): Add.
29759
29760         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
29761         (gc_hash_digest_length): Likewise.
29762         (gc_hash_buffer): Likewise.
29763
29764 2008-03-25  Bruno Haible  <bruno@clisp.org>
29765
29766         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
29767         detail which gettext release to use.
29768         Reported by Simon Josefsson.
29769
29770 2008-03-26  Jim Meyering  <meyering@redhat.com>
29771
29772         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
29773         * modules/gnumakefile (clean-GNUmakefile): Also, use
29774         test ... && ... || : syntax rather than if-then ... fi.
29775
29776         gnumakefile: Don't double-quote-expand $(VPATH) value.
29777         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
29778
29779 2008-03-24  Eric Blake  <ebb9@byu.net>
29780
29781         Alter GNUmakefile to install into top directory.
29782         * modules/maintainer-makefile: Split, and add dependency...
29783         * modules/gnumakefile: to this new module.
29784         * build-aux/GNUmakefile: Move...
29785         * top/GNUmakefile: ...here.
29786         * build-aux/maint.mk: Move...
29787         * top/maint.mk: ...here.
29788         * MODULES.html.sh (Support for maintaining...): Document new
29789         module.
29790
29791 2008-03-23  Bruno Haible  <bruno@clisp.org>
29792
29793         * gnulib-tool: New options --vc-files, --no-vc-files.
29794         (func_usage): Document them.
29795         (vc_files): New variable.
29796         (func_import): Consider vc_files.
29797         (func_create_testdir): Set vc_files to empty.
29798         Suggested by Jim Meyering and Karl Berry.
29799
29800 2008-03-23  Bruno Haible  <bruno@clisp.org>
29801
29802         Fix regex compilation error on HP-UX 11.
29803         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
29804         * modules/regex (Files): Add m4/mbstate_t.m4.
29805         Reported by Ton Voon <ton.voon@altinity.com>.
29806
29807 2008-03-23  Bruno Haible  <bruno@clisp.org>
29808
29809         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
29810
29811 2008-03-23  Eric Blake  <ebb9@byu.net>
29812             Bruno Haible  <bruno@clisp.org>
29813
29814         Install files from top/ in the destination directory.
29815         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
29816         augmentation also for the files from top/.
29817         (func_import, func_create_testdir): Rewrite file names:
29818         top/filename -> filename.
29819
29820 2008-03-23  Bruno Haible  <bruno@clisp.org>
29821
29822         Tweak "gnulib --version" output.
29823         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
29824
29825 2008-03-23  Bruno Haible  <bruno@clisp.org>
29826
29827         Tweak "gnulib --version" output.
29828         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
29829         rather than contents of ChangeLog, when possible.
29830
29831 2008-03-21  Eric Blake  <ebb9@byu.net>
29832
29833         More --version tweaks.
29834         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
29835         date of last ChangeLog entry.
29836
29837 2008-03-21  Jim Meyering  <meyering@redhat.com>
29838
29839         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
29840
29841 2008-03-20  Eric Blake  <ebb9@byu.net>
29842
29843         VPATH fix.
29844         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
29845
29846 2008-03-20  Simon Josefsson  <simon@josefsson.org>
29847
29848         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
29849         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
29850
29851 2008-03-20  Eric Blake  <ebb9@byu.net>
29852
29853         Sync GNUmakefile with coreutils.
29854         * build-aux/GNUmakefile (have-Makefile): Rename...
29855         (_have-Makefile): ...to this, for namespace consideration.
29856         (GNUmakefile.cfg): Include, if present.
29857         (_autoreconf): Define a default.
29858         (_is-dist-target): New rule for rebuilds to pick up intra-release
29859         version.
29860         (maint-cfg.mk): Rename...
29861         (cfg.mk): ...to this.
29862
29863 2008-03-18  Jim Meyering  <meyering@redhat.com>
29864
29865         New script and module: mktempd
29866         * MODULES.html.sh (maint+release support): Add mktempd.
29867         * build-aux/mktempd: New file.
29868         * modules/mktempd: New file.
29869
29870 2008-03-15  Jim Meyering  <meyering@redhat.com>
29871
29872         Undo last change.
29873         * lib/sha1.c, lib/md5.c: 63 != ~63.
29874         Reported by Andreas Schwab.
29875
29876         sha1.c, md5.c: Hoist a redundant expression.
29877         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
29878         "ctx->buflen" only once, before calling *_process_block.
29879         * lib/md5.c (md5_process_bytes): Likewise.
29880
29881 2008-03-14  Eric Blake  <ebb9@byu.net>
29882
29883         Bump copyright year in files generated by gnulib-tool.
29884         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
29885         gnulib-tool, rather than hard-coding it.
29886
29887         Fix 'gnulib-tool --version' output to work with git.
29888         * gnulib-tool (func_gnulib_dir): New function, extracted from...
29889         (startup): ...here.
29890         (func_version): Use it to invoke git-version-gen, rather than
29891         relying on CVS keyword expansion.  Modernize wording.
29892         (cvsdatestamp, last_checkin_date, version): Kill unused
29893         variables.
29894
29895 2008-03-12  Jim Meyering  <meyering@redhat.com>
29896
29897         Recognize optional cast of the argument to free.
29898         * build-aux/useless-if-before-free: Update regexps.
29899
29900         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
29901
29902 2008-03-11  Bruno Haible  <bruno@clisp.org>
29903
29904         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
29905         by a single package.
29906         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
29907         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
29908         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
29909         Reported by Sam Steingold <sds@gnu.org>.
29910
29911 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29912
29913         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
29914         repositories.
29915
29916 2008-03-11  Bruno Haible  <bruno@clisp.org>
29917
29918         Avoid conflicts between local macro definitions.
29919         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
29920         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
29921
29922 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
29923             Bruno Haible  <bruno@clisp.org>
29924
29925         Make va_copy work with some version of xlc on AIX 5.1.
29926         * lib/stdarg.in.h: New file.
29927         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
29928         On AIX, use a <stdarg.h> file substitute.
29929         * modules/stdarg (Files): Add lib/stdarg.in.h.
29930         (Depends-on): Add include_next.
29931         (Makefile.am): Build a stdarg.h substitute if requested.
29932         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
29933
29934 2008-03-10  Bruno Haible  <bruno@clisp.org>
29935
29936         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
29937         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29938         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
29939
29940 2008-03-10  Bruno Haible  <bruno@clisp.org>
29941
29942         * modules/stdlib (Depends-on): Add include_next, remove
29943         absolute-header.
29944
29945 2008-03-09  Bruno Haible  <bruno@clisp.org>
29946
29947         * lib/freadahead.h (freadahead): Document more precisely.
29948         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
29949         the sum of both buffer sizes.
29950         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
29951         * NEWS: Document the change.
29952
29953 2008-03-09  Bruno Haible  <bruno@clisp.org>
29954
29955         Extend freadptr to return also the buffer size.
29956         * lib/freadptr.h (freadptr): Add sizep argument.
29957         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
29958         (freadptr): Add sizep argument. Determine buffer size like freadahead
29959         does.
29960         * tests/test-freadptr.c: Don't include freadahead.h.
29961         (main): Adapt for new calling convention of freadptr.
29962         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
29963         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
29964         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
29965         tests/test-freadptr2.sh.
29966         (Depends): Remove freadahead.
29967         (TESTS): Add test-freadptr2.sh.
29968         (check_PROGRAMS): Add test-freadptr2.
29969
29970 2008-03-09  Bruno Haible  <bruno@clisp.org>
29971
29972         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
29973         Report and solution by Simon Josefsson.
29974
29975 2008-03-06  Bruno Haible  <bruno@clisp.org>
29976
29977         Make fflush after ungetc work on BSD platforms.
29978         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
29979         * tests/test-fflush2.c: New file.
29980         * tests/test-fflush2.sh: New file.
29981         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
29982         tests/test-fflush2.c.
29983         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
29984         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
29985
29986 2008-03-06  Eric Blake  <ebb9@byu.net>
29987
29988         Likewise for ftello.
29989         * modules/ftello (Dependencies): Add extensions.
29990         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
29991
29992 2008-03-06  Bruno Haible  <bruno@clisp.org>
29993
29994         * modules/fseeko (Dependencies): Add extensions.
29995         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
29996         Needed on glibc systems.
29997
29998 2008-03-06  Bruno Haible  <bruno@clisp.org>
29999
30000         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
30001         email address.
30002         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30003
30004 2008-03-06  Bruno Haible  <bruno@clisp.org>
30005
30006         * users.txt: Add libgnupdf.
30007
30008 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
30009
30010         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
30011         (Header File Substitutes, Function Substitutes,
30012         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
30013         (Build robot for gnulib): Fix typo.
30014
30015 2008-03-06  Bruno Haible  <bruno@clisp.org>
30016
30017         * doc/gnulib-tool.texi (VCS Issues): Small updates.
30018         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30019
30020 2008-03-06  Bruno Haible  <bruno@clisp.org>
30021
30022         * doc/func.texi: New file, extracted from doc/gnulib.texi.
30023         * doc/gnulib.texi: Include it.
30024
30025 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30026
30027         * modules/func (License): Change license to unlimited; there was
30028         no LGPL parts in the module anyway.
30029
30030 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30031
30032         * modules/__func__: Renamed to modules/func.
30033         * modules/__func__-tests: Renamed to modules/func-tests.
30034         * tests/test-__func__.c: Renamed to tests/test-func.c.
30035         * m4/__func__.m4: Renamed to m4/func.m4.
30036         * doc/gnulib.texi (__func__): Section renamed to func.
30037         Suggested by Eric Blake <ebb9@byu.net>.
30038
30039 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30040
30041         * doc/gnulib.texi (__func__): Use C99 terminology when talking
30042         about __func__.  Make example self-contained.  Suggested by Eric
30043         Blake <ebb9@byu.net>.
30044
30045         * tests/test-__func__.c (main): Avoid extraneous () around __func.
30046         Suggested by Eric Blake <ebb9@byu.net>.
30047
30048 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30049
30050         * modules/__func__: New file.
30051         * modules/__func__-tests: New file.
30052         * tests/test-__func__.c: New file.
30053         * m4/__func__.m4: New file.
30054         * doc/gnulib.texi (__func__): Document __func__ module.
30055
30056 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30057
30058         * modules/byteswap (License): Re-license as LGPLv2+.
30059
30060 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30061
30062         * doc/Makefile: Add pdf target.
30063
30064 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30065
30066         * modules/inline (License): Use 'unlimited', since there are only
30067         *.m4 files in this module.
30068
30069 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
30070             Bruno Haible  <bruno@clisp.org>
30071
30072         Add support for HP C 7.1 on OpenVMS 8.3.
30073         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
30074
30075 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
30076
30077         Update VMS specifics.
30078         * lib/getopt.c [VMS]: Remove include of unixlib.h.
30079
30080 2008-03-02  Jim Meyering  <meyering@redhat.com>
30081
30082         Remove the last dependency on the "free" module.
30083         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
30084         Reported by Bob Proulx.
30085
30086         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
30087
30088         Remove useless "if" tests before free.  Deprecate "free" module.
30089         * doc/posix-functions/free.texi: Mention that this
30090         module is no longer useful.
30091         * modules/free (Notice): Say this module is obsolete.
30092         * modules/readutmp (Depends-on): Remove free.
30093         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
30094         * lib/putenv.c (putenv): Likewise.
30095         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
30096         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
30097         * tests/test-c-strcasestr.c (main): Likewise.
30098         * tests/test-c-strstr.c (main): Likewise.
30099         * tests/test-mbscasestr1.c (main): Likewise.
30100         * tests/test-mbscasestr2.c (main): Likewise.
30101         * tests/test-mbsstr1.c (main): Likewise.
30102         * tests/test-mbsstr2.c (main): Likewise.
30103         * tests/test-memmem.c (main): Likewise.
30104         * tests/test-strcasestr.c (main): Likewise.
30105         * tests/test-striconv.c (main): Likewise.
30106         * tests/test-striconveh.c (main): Likewise.
30107         * tests/test-striconveha.c (main): Likewise.
30108         * tests/test-strstr.c (main): Likewise.
30109
30110         * build-aux/git-version-gen: Adjust a comment and the Usage string.
30111
30112         bootstrap: sync from coreutils again
30113         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
30114
30115 2008-03-01  Jim Meyering  <meyering@redhat.com>
30116
30117         bootstrap: sync from coreutils
30118         * build-aux/bootstrap (update_po_files): Copy a .po file into place
30119         also when the target doesn't exist.
30120
30121 2008-03-01  Eric Blake  <ebb9@byu.net>
30122
30123         Fix bugs in last patch.
30124         * lib/memchr2.c (memchr2): Fix typo.
30125         * tests/test-memchr2.c: Test previous bug, and don't use GNU
30126         extension.
30127         Reported by Bruce Korb.
30128
30129         New module 'memchr2'.
30130         * modules/memchr2: New file.
30131         * modules/memchr2-tests: Likewise.
30132         * lib/memchr2.h: Likewise.
30133         * lib/memchr2.c: Likewise, based on memchr.c.
30134         * tests/test-memchr2.c: New test.
30135         * MODULES.html.sh (String handling): Add memchr2.
30136
30137 2008-02-29  Bruno Haible  <bruno@clisp.org>
30138
30139         * modules/freadseek-tests: New file.
30140         * tests/test-freadseek.sh: New file.
30141         * tests/test-freadseek.c: New file.
30142
30143         New module 'freadseek'.
30144         * modules/freadseek: New file.
30145         * lib/freadseek.h: New file.
30146         * lib/freadseek.c: New file.
30147         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
30148
30149 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
30150
30151         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
30152         wydawca.
30153
30154         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
30155         program_invocation_name and program_invocation_short_name are
30156         present.
30157
30158 2008-02-28  Bruno Haible  <bruno@clisp.org>
30159
30160         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
30161         * tests/test-freadptr.sh: Also test non-seekable stdin.
30162
30163 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
30164
30165         * build-aux/bootstrap (source_base, m4_base)
30166         (doc_base, tests_base): New variables.
30167         (gnulib_tool_options): Do not hardcode base directories, use
30168         the above variables instead.
30169
30170 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
30171
30172         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
30173
30174 2008-02-28  Bruno Haible  <bruno@clisp.org>
30175
30176         * modules/freadptr-tests: New file.
30177         * tests/test-freadptr.sh: New file.
30178         * tests/test-freadptr.c: New file.
30179
30180         New module 'freadptr'.
30181         * modules/freadptr: New file.
30182         * lib/freadptr.h: New file.
30183         * lib/freadptr.c: New file.
30184         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
30185
30186 2008-02-26  Karl Berry  <karl@freefriends.org>
30187
30188         Sync from Libtool:
30189         * libltdl/argz.c (argz_add, argz_count): New functions.
30190         * libltdl/argz.in.h: Declare them.
30191         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
30192
30193 2008-02-22  Bruno Haible  <bruno@clisp.org>
30194
30195         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
30196         is a pointer type.  Needed for HP-UX 10.
30197         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
30198         * doc/posix-functions/gmtime_r.texi: Likewise.
30199         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
30200
30201 2008-02-24  Bruno Haible  <bruno@clisp.org>
30202
30203         * modules/environ-tests: New file.
30204         * tests/test-environ.c: New file.
30205
30206         New module 'environ'.
30207         * modules/environ: New file.
30208         * lib/unistd.in.h (environ): New declaration.
30209         * m4/environ.m4: New file.
30210         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
30211         after use.
30212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
30213         HAVE_DECL_ENVIRON.
30214         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
30215         HAVE_DECL_ENVIRON.
30216         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
30217         wrong claim that 'environ' is missing on some systems.
30218         * modules/execute (Depends-on): Add environ.
30219         * lib/execute.c (environ): Remove fallback declaration.
30220         * modules/pipe (Depends-on): Add environ.
30221         * lib/pipe.c (environ): Remove fallback declaration.
30222         * modules/setenv (Depends-on): Add environ.
30223         * lib/setenv.c (environ): Remove fallback declaration.
30224         * modules/unsetenv (Depends-on): Add environ.
30225         * lib/unsetenv.c (environ): Remove fallback declaration.
30226         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
30227         m4/environ.m4.
30228         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
30229         (gl_PREREQ_UNSETENV): Likewise.
30230
30231 2008-02-24  Bruno Haible  <bruno@clisp.org>
30232
30233         * doc/posix-functions/environ.texi: Document the MacOS X problem.
30234
30235 2008-02-20  Bob Proulx  <bob@proulx.com>
30236
30237         Enable use of older two part flavor 'git describe'.
30238         * build-aux/git-version-gen: If using the older two part flavor of
30239         git version then recreate the third part now present in the
30240         newer three part flavor of git describe.
30241
30242 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
30243
30244         * lib/fts.c (fts_build): Typo correction to comment.
30245
30246 2008-02-17  Bruno Haible  <bruno@clisp.org>
30247
30248         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
30249         generating no-op conflicts.
30250
30251 2008-02-17  Bruno Haible  <bruno@clisp.org>
30252
30253         Speed up by 10%.
30254         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
30255         result_entries, rather than an index-based loop.
30256
30257 2008-02-17  Bruno Haible  <bruno@clisp.org>
30258
30259         Speed up by 25%.
30260         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
30261         'hashcode_cached'.
30262         (entry_create): New function.
30263         (entry_hashcode): Use the cached hashcode if possible.
30264         (read_changelog_file, try_split_merged_entry): Use entry_create.
30265
30266 2008-02-17  Bruno Haible  <bruno@clisp.org>
30267
30268         Speed up from O(n^2) to O(n) for long ChangeLog files.
30269         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
30270         (read_changelog_file): Change implementation of entries_reversed list
30271         to rbtreehash.
30272         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
30273
30274 2008-02-17  Bruno Haible  <bruno@clisp.org>
30275
30276         New option --split-merged-entry.
30277         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
30278         (find_paragraph_end, try_split_merged_entry): New functions.
30279         (long_options): Add option --split-merged-entry.
30280         (usage): Document option --split-merged-entry.
30281         (main): Implement option --split-merged-entry.
30282         Reported by Eric Blake.
30283
30284 2008-02-17  Bruno Haible  <bruno@clisp.org>
30285
30286         * lib/git-merge-changelog.c: Include c-strstr.h.
30287         (main): Support the "git pull --rebase" situation.
30288         * modules/git-merge-changelog (Depends-on): Add c-strstr.
30289         Reported by Eric Blake.
30290
30291 2008-02-16  Eric Blake  <ebb9@byu.net>
30292
30293         Avoid doubling \ in common case of "c-maybe" quoting style.
30294         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
30295         eliding outer quotes.
30296         * lib/quotearg.h: Document this.
30297         * tests/test-quotearg.c (result_strings, inputs, results_g)
30298         (flag_results, locale_results): Test it by adding a new string to
30299         each test group.
30300         (compare_strings): Test new string.
30301
30302 2008-02-13  Eric Blake  <ebb9@byu.net>
30303
30304         Avoid trigraph quoting in default output.
30305         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
30306         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
30307         unless explicitly requested.
30308         * tests/test-quotearg.c (flag_results, main): Add additional tests.
30309
30310 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
30311
30312         Don't rely on signed integer overflowing to negative value.
30313         * lib/getugroups.c (getugroups): Include <limits.h>.
30314         Instead, compare against INT_MAX, and increment only if the test passes.
30315
30316 2008-02-13  Jim Meyering  <meyering@redhat.com>
30317         and Eric Blake  <ebb9@byu.net>
30318
30319         Avoid shadowing warning and compile errors on Linux.
30320         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
30321         forwarding macros on Linux.
30322         (dcgettext): Define a stub, for Linux.
30323         (results_g, main): Avoid warnings.
30324
30325 2008-02-12  Eric Blake  <ebb9@byu.net>
30326
30327         Silence warning in last patch.
30328         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
30329
30330         Quotearg part 4: add tests, fix c-maybe colon quoting.
30331         * lib/quotearg.h: Improve documentation.
30332         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
30333         escapes when adding outer quotes.  When quoting trigraphs, use
30334         valid C notation.  When quoting NUL, omit extra characters if next
30335         character is not digit.  Alter prototype.
30336         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
30337         callers.
30338         * modules/quotearg-tests: New module.
30339         * tests/test-quotearg.c: New test.
30340
30341 2008-02-07  Eric Blake  <ebb9@byu.net>
30342
30343         Quotearg part 3: add flag to control outer quote elision.
30344         * lib/quotearg.h (c_maybe_quoting_style): New style.
30345         (enum quoting_flags): Better documentation of flags.
30346         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
30347         c-maybe style.
30348         (quotearg_buffer_restyled): Handle new flag to elide outer
30349         quotes.
30350
30351         Quotearg part 2: add flag that can control NUL elision.
30352         * lib/quotearg.h (set_quoting_flags): New prototype.
30353         * lib/quotearg.c (struct quoting_options): Add flag field.
30354         (set_quoting_flags): New function.
30355         (quotearg_buffer_restyled): Add flags parameter.
30356         (quotearg_alloc_mem): Set the flag if length cannot be returned.
30357         (quotearg_n_options): Set the flag, since length cannot be
30358         returned.
30359         (quoting_options_from_style): Default flags correctly.
30360
30361         Quotearg part 1: more wrappers, restore quotearg_char state.
30362         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
30363         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
30364         (quotearg_colon_mem): New wrappers.
30365         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
30366         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
30367         functions.
30368         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
30369         (quotearg_colon_mem): New functions.
30370
30371 2008-02-11  Bruno Haible  <bruno@clisp.org>
30372
30373         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
30374         library in the current directory: it does not work with parallel make.
30375         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30376
30377 2008-02-11  Bruno Haible  <bruno@clisp.org>
30378
30379         * .gitattributes: New file.
30380
30381 2008-02-11  Jim Meyering  <meyering@redhat.com>
30382
30383         useless-if-before-free: Fix reversed exit values.
30384         * build-aux/useless-if-before-free: Use correct values
30385         for EXIT_MATCH and EXIT_NO_MATCH.
30386
30387         * build-aux/useless-if-before-free: Close stdout carefully.
30388
30389 2008-02-10  Bruno Haible  <bruno@clisp.org>
30390
30391         New module 'git-merge-changelog'.
30392         * modules/git-merge-changelog: New file.
30393         * lib/git-merge-changelog.c: New file.
30394
30395 2008-02-10  Jim Meyering  <meyering@redhat.com>
30396
30397         useless-if-before-free: New option: --list (-l).
30398
30399         useless-if-before-free: Don't exit immediately upon open failure.
30400         * build-aux/useless-if-before-free: Exit 2 for errors.
30401         Upon failure to open a file, don't exit immediately.
30402         Rather, just warn and continue with any remaining files.
30403
30404 2008-02-10  Bruno Haible  <bruno@clisp.org>
30405
30406         New abstract list operation 'node_set_value'.
30407         * lib/gl_list.h (gl_list_node_set_value): New function.
30408         (struct gl_list_implementation): New field node_set_value.
30409         * lib/gl_list.c (gl_list_node_set_value): New function.
30410         * lib/gl_array_list.c (gl_array_node_set_value): New function.
30411         (gl_array_list_implementation): Update.
30412         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
30413         (gl_carray_list_implementation): Update.
30414         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
30415         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
30416         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
30417         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
30418         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
30419         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
30420         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
30421         Update.
30422         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
30423         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
30424         (gl_sublist_list_implementation): Update.
30425
30426 2008-02-10  Bruno Haible  <bruno@clisp.org>
30427
30428         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
30429         Needed when ELEMENT is #defined to 'some_type *'.
30430
30431 2008-02-10  Jim Meyering  <meyering@redhat.com>
30432
30433         New script and module: useless-if-before-free
30434         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
30435         * build-aux/useless-if-before-free: New file.
30436         * modules/useless-if-before-free: New file.
30437
30438         * build-aux/gitlog-to-changelog: Use committer date, not author date.
30439
30440         xstrtol_error: Fix typo.
30441         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
30442         s/exit_failure/exit_status/.
30443
30444 2008-02-09  Jim Meyering  <meyering@redhat.com>
30445
30446         New script and module: gitlog-to-changelog
30447         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
30448         * modules/gitlog-to-changelog: New file.
30449         * build-aux/gitlog-to-changelog: New file.
30450
30451 2008-02-08  Jim Meyering  <meyering@redhat.com>
30452
30453         Avoid two "parameter unused" warnings.
30454         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
30455         Mark "st" as used.
30456
30457         Use "git COMMAND", not "git-COMMAND".
30458         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
30459         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
30460         * build-aux/git-version-gen: Use "git status", not "git-status".
30461
30462 2008-02-07  Bruno Haible  <bruno@clisp.org>
30463
30464         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
30465         Avoids a crash on Windows Vista.
30466         Reported by Adam Strzelecki <ono@java.pl> via
30467         Simon Josefsson <simon@josefsson.org>.
30468
30469 2008-02-06  Bruno Haible  <bruno@clisp.org>
30470
30471         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
30472         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
30473         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
30474         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
30475         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30476         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30477         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
30478         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
30479         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30480         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30481         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30482         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30483         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30484         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30485         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30486         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
30487         left-adjust flag.
30488         * tests/test-snprintf-posix.h (test_function): Likewise.
30489         * tests/test-sprintf-posix.h (test_function): Likewise.
30490         * tests/test-vasprintf-posix.c (test_function): Likewise.
30491         * doc/posix-functions/fprintf.texi: Update.
30492         * doc/posix-functions/printf.texi: Update.
30493         * doc/posix-functions/snprintf.texi: Update.
30494         * doc/posix-functions/sprintf.texi: Update.
30495         * doc/posix-functions/vfprintf.texi: Update.
30496         * doc/posix-functions/vprintf.texi: Update.
30497         * doc/posix-functions/vsnprintf.texi: Update.
30498         * doc/posix-functions/vsprintf.texi: Update.
30499         Reported by Peter Fales <psfales@alcatel-lucent.com>.
30500
30501 2008-02-06  Bruno Haible  <bruno@clisp.org>
30502
30503         Fix bug introduced on 2008-01-26.
30504         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
30505
30506 2008-02-06  Bruno Haible  <bruno@clisp.org>
30507
30508         Fix bug introduced on 2007-06-10.
30509         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
30510         !NEED_PRINTF_FLAG_ZERO.
30511
30512 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
30513
30514         getloadavg: use libperfstat on AIX5
30515         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
30516
30517 2008-02-03  Bruno Haible  <bruno@clisp.org>
30518
30519         * lib/diffseq.h: Add comments about required #includes.
30520         Reported by Michael Biggs <gnulib@doubleplum.net>.
30521
30522 2008-02-01  Bruno Haible  <bruno@clisp.org>
30523
30524         * users.txt: Add gnuit.
30525
30526 2008-01-31  Bruno Haible  <bruno@clisp.org>
30527
30528         * lib/md4.c (set_uint32): Mark as inline.
30529         * lib/md5.c (set_uint32): Likewise.
30530         * lib/sha1.c (set_uint32): Likewise.
30531         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
30532         * m4/md5.m4 (gl_MD5): Likewise.
30533         * m4/sha1.m4 (gl_SHA1): Likewise.
30534
30535 2008-01-31  Jim Meyering  <meyering@redhat.com>
30536
30537         Use "sizeof VAR", rather than a literal "4".
30538         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
30539         * lib/md4.c (md4_read_ctx): Likewise.
30540         * lib/sha1.c (sha1_read_ctx): Likewise.
30541
30542 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30543
30544         * tests/test-sha1.c: New file, based on test-md5.c.
30545
30546         * modules/crypto/sha1-tests: New file.
30547
30548 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30549
30550         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
30551
30552 2008-01-31  Jim Meyering  <meyering@redhat.com>
30553
30554         Prefer "sizeof v" over the equivalent "4".
30555         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
30556         * lib/md5.c (set_uint32): Likewise.
30557         * lib/sha1.c (set_uint32): Likewise.
30558
30559 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30560
30561         * lib/sha1.c (set_uint32): Mark function as static.
30562
30563 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30564
30565         md2: clarify comments to say that alignment is not required.
30566         * lib/md2.h: Remove warning about alignment in comment.
30567         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
30568         never been required.
30569
30570 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30571
30572         md4: adapt alignment constraint fix from sha1.
30573         * lib/md4.c (set_uint32): New function, from sha1.c
30574         (md4_read_ctx): Use it.
30575         (md4_finish_ctx): Doc fix.
30576         * lib/md4.h: Doc fix.
30577
30578 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30579
30580         md5: adapt alignment constraint fix from sha1.
30581         * lib/md5.c (set_uint32): New function, from sha1.c
30582         (md5_read_ctx): Use it.
30583         (md5_finish_ctx): Doc fix.
30584         * lib/md5.h: Doc fix.
30585
30586 2008-01-30  Peter Palfrader  <weasel@debian.org>
30587
30588         sha1: remove the result buffer alignment constraint
30589         * lib/sha1.c (set_uint32): New function.
30590         (sha1_read_ctx): Rewrite to remove the result buffer alignment
30591         constraint.
30592         (sha1_finish_ctx): Remove comment warning about alignment constraint.
30593         * lib/sha1.h: Likewise.
30594
30595 2008-01-30  Andreas Schwab  <schwab@suse.de>
30596             Bruno Haible  <bruno@clisp.org>
30597
30598         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
30599         correct definition of LDBL_MIN_EXP.
30600
30601 2008-01-30  Karl Berry  <karl@gnu.org>
30602
30603         * config/srclist-update: try to preserve x bit on updates.
30604         * config/srclistvars.sh: update for karl.
30605
30606 2008-01-29  Jim Meyering  <meyering@redhat.com>
30607
30608         vasnprintf.c: Avoid warning about unused label
30609         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
30610         "overflow" label definition and associated code with the
30611         same cpp condition that guards the sole use of that label.
30612
30613 2008-01-26  Bruno Haible  <bruno@clisp.org>
30614
30615         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
30616         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
30617         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
30618         * lib/isnanl-nolibm.h (isnanl): Likewise.
30619         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30620
30621 2008-01-26  Bruno Haible  <bruno@clisp.org>
30622
30623         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
30624         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
30625
30626 2008-01-26  Bruno Haible  <bruno@clisp.org>
30627
30628         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
30629         GCC >= 4.0 built-in.
30630         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
30631
30632 2008-01-26  Bruno Haible  <bruno@clisp.org>
30633
30634         Rename isnan, applicable to 'double' only, to isnand.
30635         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
30636         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
30637         (configure.ac): Update.
30638         (Include): Replace "isnan.h" with "isnand.h".
30639         * m4/isnand.m4: Renamed from m4/isnan.m4.
30640         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
30641         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
30642         instead of isnan.c.
30643         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
30644         instead of HAVE_ISNAN_IN_LIBC.
30645         (isnand): Renamed from isnan.
30646         * lib/isnand.c: New file.
30647         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
30648         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
30649         (Makefile.am): Update.
30650         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
30651         Include isnand.h instead of isnan.h.
30652         (main): Test isnand instead of isnan.
30653         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
30654         isnan-nolibm.
30655         * modules/frexp (Depends-on): Likewise.
30656         * modules/frexp-tests (Depends-on): Likewise.
30657         * modules/frexp-nolibm (Depends-on): Likewise.
30658         * modules/frexp-nolibm-tests (Depends-on): Likewise.
30659         * modules/isfinite (Depends-on): Likewise.
30660         * modules/round-tests (Depends-on): Likewise.
30661         * modules/signbit (Depends-on): Likewise.
30662         * modules/signbit-tests (Depends-on): Likewise.
30663         * modules/snprintf-posix (Depends-on): Likewise.
30664         * modules/sprintf-posix (Depends-on): Likewise.
30665         * modules/trunc-tests (Depends-on): Likewise.
30666         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30667         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30668         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30669         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30670         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30671         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30672         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30673         * modules/vasnprintf-posix (Depends-on): Likewise.
30674         * modules/vasprintf-posix (Depends-on): Likewise.
30675         * modules/vfprintf-posix (Depends-on): Likewise.
30676         * modules/vsnprintf-posix (Depends-on): Likewise.
30677         * modules/vsprintf-posix (Depends-on): Likewise.
30678         * lib/frexp.c: Include isnand.h instead of isnan.h.
30679         (ISNAN): Set to isnand instead of isnan.
30680         * lib/isfinite.c: Include isnand.h instead of isnan.h.
30681         (gl_isfinited): Use isnand instead of isnan.
30682         * lib/signbitd.c: Include isnand.h instead of isnan.h.
30683         (gl_signbitd): Use isnand instead of isnan.
30684         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
30685         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
30686         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
30687         (main): Use isnand instead of isnan.
30688         * tests/test-round1.c: Include isnand.h.
30689         (main): Use isnand instead of isnan.
30690         * tests/test-round2.c: Include isnand.h instead of isnan.h.
30691         (ISNAN): Set to isnand instead of isnan.
30692         * tests/test-trunc1.c: Include isnand.h.
30693         (main): Use isnand instead of isnan.
30694         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
30695         (equal): Use isnand instead of isnan.
30696         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
30697         isnand-nolibm.
30698         * NEWS: Mention the change.
30699
30700 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
30701             Bruno Haible  <bruno@clisp.org>
30702
30703         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
30704         the GCC builtins for signbits are present and set
30705         REPLACE_SIGNBIT_USING_GCC if so.
30706         * lib/math.in.h (signbit): Define using GCC builtins if
30707         REPLACE_SIGNBIT_USING_GCC is set.
30708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
30709         REPLACE_SIGNBIT_USING_GCC.
30710         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
30711
30712 2008-01-25  Jim Meyering  <meyering@redhat.com>
30713
30714         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
30715         * lib/poll.c: Include <config.h>, not "config.h".
30716         * tests/test-getaddrinfo.c: Likewise.
30717
30718 2008-01-25  Simon Josefsson  <simon@josefsson.org>
30719
30720         * modules/sockets-tests: New file.
30721
30722 2008-01-24  Simon Josefsson  <simon@josefsson.org>
30723
30724         * modules/sockets: New module, can be used to call WSA_Startup and
30725         WSA_Cleanup when needed.
30726
30727         * lib/sockets.h, lib/sockets.c: New files.
30728
30729         * m4/sockets.m4: New file.
30730
30731         * tests/test-sockets.c: New file.
30732
30733 2008-01-19  Bruno Haible  <bruno@clisp.org>
30734
30735         * doc/posix-headers: Renamed from doc/headers.
30736         * doc/posix-functions: Renamed from doc/functions.
30737         * doc/gnulib.texi: Update.
30738
30739 2008-01-19  Bruno Haible  <bruno@clisp.org>
30740
30741         * doc/glibc-functions/strcasestr.texi: Include contents of
30742         doc/functions/strcasestr.texi, fixing the list of platforms.
30743         * doc/functions/strcasestr.texi: Remove file.
30744
30745 2008-01-19  Bruno Haible  <bruno@clisp.org>
30746
30747         * doc/glibc-functions/memmem.texi: Include contents of
30748         doc/functions/memmem.texi.
30749         * doc/functions/memmem.texi: Remove file.
30750
30751 2008-01-18  Bruno Haible  <bruno@clisp.org>
30752
30753         * doc/glibc-functions/*.texi: New files.
30754         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
30755         to use the new files.
30756
30757 2008-01-17  Bruno Haible  <bruno@clisp.org>
30758
30759         * tests/test-gethostname.c (main): Fix printf statement.
30760
30761 2008-01-17  Simon Josefsson  <simon@josefsson.org>
30762
30763         * modules/gethostname-tests: New file.
30764
30765         * tests/test-gethostname.c: New file.
30766
30767 2008-01-17  Simon Josefsson  <simon@josefsson.org>
30768
30769         * lib/gethostname.c: Include string.h unconditionally, strncpy is
30770         used by the UNAME case.  Reported by Bruno Haible
30771         <bruno@clisp.org>.
30772
30773 2008-01-17  Eric Blake  <ebb9@byu.net>
30774
30775         Convert c-strcasestr to be more efficient.
30776         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
30777         (Depends-on): Add c-strcase, remove malloca, strnlen.
30778         * tests/test-c-strcasestr.c (main): Enhance test.
30779         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
30780
30781 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
30782
30783         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
30784         Use it in creating po/Makevars.
30785
30786 2008-01-15  Simon Josefsson  <simon@josefsson.org>
30787
30788         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
30789         Applications that requires it should initialize libgcrypt
30790         manually.
30791
30792 2008-01-16  Simon Josefsson  <simon@josefsson.org>
30793
30794         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
30795
30796 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
30797
30798         Fix problem with getdate on mingw32 reported by Simon Josefsson
30799         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
30800         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
30801         tzname", when deciding whether to declare tzname.
30802         * lib/strftime.c (tzname): Likewise.
30803
30804 2008-01-15  Bruno Haible  <bruno@clisp.org>
30805
30806         Work around a MacOS X 10.5 bug in frexpl().
30807         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
30808         * doc/functions/frexpl.texi: Document the bug.
30809         Reported by Elias Pipping <pipping@gentoo.org>.
30810
30811 2008-01-14  Eric Blake  <ebb9@byu.net>
30812
30813         Touch up previous patch.
30814         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
30815         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
30816
30817         Convert strcasestr module to use Two-Way algorithm.
30818         * modules/strcasestr-simple: New module, based on the old
30819         strcasestr, but with Two-Way rather than KMP.
30820         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
30821         * lib/string.in.h (rpl_strcasestr): Declare.
30822         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
30823         performance.
30824         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
30825         * modules/string (Makefile.am): Support strcasestr.
30826         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
30827         * modules/strcasestr-tests (Depends-on): Check for alarm.
30828         * tests/test-strcasestr.c: Augment test.
30829         * lib/str-two-way.h: Clean up stray macro.
30830         * NEWS: Document new module.
30831         * MODULES.html.sh (string handling): Likewise.
30832         * doc/functions/strcasestr.texi: New file.
30833         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
30834         here, since it is not a POSIX function.
30835
30836 2008-01-14  Colin Watson  <cjwatson@debian.org>
30837             Bruno Haible  <bruno@clisp.org>
30838
30839         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
30840         works fine; if not, set REPLACE_STRSIGNAL.
30841         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
30842         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30843         REPLACE_STRSIGNAL.
30844         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
30845         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
30846         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
30847
30848 2008-01-14  Bruno Haible  <bruno@clisp.org>
30849
30850         * modules/strsignal (Include): Change to <string.h>.
30851
30852 2008-01-14  Colin Watson  <cjwatson@debian.org>
30853
30854         * modules/argp (Notice): Add a notice recommending to change
30855         XGETTEXT_OPTIONS.
30856         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
30857
30858 2008-01-13  Colin Watson  <cjwatson@debian.org>
30859
30860         * modules/strsignal-tests: New file.
30861         * tests/test-strsignal.c: New file.
30862
30863         * lib/strsignal.c: New file, from glibc with modifications.
30864         * lib/siglist.h: New file, from glibc with modifications.
30865         * lib/string.in.h (strsignal): New declaration.
30866         * m4/strsignal.m4: New file.
30867         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30868         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
30869         * modules/strsignal: New file.
30870         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
30871         HAVE_DECL_STRSIGNAL.
30872
30873 2008-01-13  Bruno Haible  <bruno@clisp.org>
30874
30875         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
30876         locale encoding is not ASCII. Needed for OpenBSD 4.0.
30877         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
30878         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30879
30880 2008-01-13  Bruno Haible  <bruno@clisp.org>
30881
30882         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
30883         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
30884         * lib/argp.h (__attribute__): Likewise.
30885         * lib/c-stack.c (__attribute__): Likewise.
30886         * lib/error.h (__attribute__): Likewise.
30887         * lib/fts.c (__attribute__): Likewise.
30888         * lib/openat.h (__attribute__): Likewise.
30889         * lib/stdio.in.h (__attribute__): Likewise.
30890         * lib/string.in.h (__attribute__): Likewise.
30891         * lib/utimens.c (__attribute__): Likewise.
30892         * lib/vasnprintf.h (__attribute__): Likewise.
30893         * lib/xalloc.h (__attribute__): Likewise.
30894         * lib/xprintf.h (__attribute__): Likewise.
30895         * lib/xstrtol.h (__attribute__): Likewise.
30896         * lib/xvasprintf.h (__attribute__): Likewise.
30897
30898 2008-01-12  Bruno Haible  <bruno@clisp.org>
30899
30900         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
30901         * doc/glibc-headers/a.out.texi: New file.
30902         * doc/glibc-headers/aliases.texi: New file.
30903         * doc/glibc-headers/alloca.texi: New file.
30904         * doc/glibc-headers/ar.texi: New file.
30905         * doc/glibc-headers/argp.texi: New file.
30906         * doc/glibc-headers/argz.texi: New file.
30907         * doc/glibc-headers/byteswap.texi: New file.
30908         * doc/glibc-headers/crypt.texi: New file.
30909         * doc/glibc-headers/endian.texi: New file.
30910         * doc/glibc-headers/envz.texi: New file.
30911         * doc/glibc-headers/err.texi: New file.
30912         * doc/glibc-headers/error.texi: New file.
30913         * doc/glibc-headers/execinfo.texi: New file.
30914         * doc/glibc-headers/fpu_control.texi: New file.
30915         * doc/glibc-headers/fstab.texi: New file.
30916         * doc/glibc-headers/fts.texi: New file.
30917         * doc/glibc-headers/getopt.texi: New file.
30918         * doc/glibc-headers/ieee754.texi: New file.
30919         * doc/glibc-headers/ifaddrs.texi: New file.
30920         * doc/glibc-headers/libintl.texi: New file.
30921         * doc/glibc-headers/mcheck.texi: New file.
30922         * doc/glibc-headers/mntent.texi: New file.
30923         * doc/glibc-headers/obstack.texi: New file.
30924         * doc/glibc-headers/paths.texi: New file.
30925         * doc/glibc-headers/printf.texi: New file.
30926         * doc/glibc-headers/pty.texi: New file.
30927         * doc/glibc-headers/resolv.texi: New file.
30928         * doc/glibc-headers/shadow.texi: New file.
30929         * doc/glibc-headers/sysexits.texi: New file.
30930         * doc/glibc-headers/ttyent.texi: New file.
30931
30932 2008-01-12  Jim Meyering  <meyering@redhat.com>
30933
30934         announce-gen: emit Gnulib's git-based version string.
30935         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
30936         New option --gnulib-version=V, where V is expected to be
30937         the output of running git describe in the gnulib directory.
30938         (get_tool_versions): Request feedback on xdelta.  I suspect it's
30939         not useful, and plan to stop publishing an xdelta file with each
30940         coreutils release.
30941
30942         * build-aux/announce-gen: Also check for lzma-compressed files.
30943
30944 2008-01-11  Bruno Haible  <bruno@clisp.org>
30945
30946         * tests/test-memmem.c (main): Increase maximum allowed time.
30947         * tests/test-strstr.c (main): Likewise.
30948
30949 2008-01-11  Bruno Haible  <bruno@clisp.org>
30950
30951         * doc/functions/memmem.texi: Add more precisions about platforms.
30952         * doc/functions/strstr.texi: Likewise.
30953
30954 2008-01-10  Eric Blake  <ebb9@byu.net>
30955
30956         * m4/strstr.m4: Delete cruft from copy-n-paste.
30957         Reported by Bruno Haible.
30958
30959 2008-01-10  Bruno Haible  <bruno@clisp.org>
30960
30961         Make c-strstr rely on strstr.
30962         * lib/c-strstr.c: Don't include str-kmp.h.
30963         (c_strstr): Define in terms of strstr.
30964         * modules/c-strstr (Files): Remove lib/str-kmp.h.
30965         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
30966
30967 2008-01-10  Bruno Haible  <bruno@clisp.org>
30968
30969         * doc/gnulib.texi (String Functions in C Locale): New section.
30970         * doc/c-ctype.texi: New file.
30971         * doc/c-strcase.texi: New file.
30972         * doc/c-strcaseeq.texi: New file.
30973         * doc/c-strcasestr.texi: New file.
30974         * doc/c-strstr.texi: New file.
30975         * doc/c-strtod.texi: New file.
30976         * doc/c-strtold.texi: New file.
30977
30978 2008-01-10  Eric Blake  <ebb9@byu.net>
30979
30980         * lib/relocatable.h: Fix a comment.
30981
30982 2008-01-10  Eric Blake  <ebb9@byu.net>
30983
30984         Share two-way algorithm.
30985         * lib/str-two-way.h: New file, merged from...
30986         * lib/memmem.c: ...here...
30987         * lib/strstr.c: ...and here.
30988         * modules/memmem (Files): Use it.
30989         * modules/strstr (Files): Likewise.
30990
30991         Avoid quadratic strstr implementations.
30992         * lib/strstr.c: New file.
30993         * m4/strstr.m4: Likewise.
30994         * modules/strstr: Likewise.
30995         * modules/strstr-tests: Likewise.
30996         * tests/test-strstr.c: Likewise.
30997         * lib/string.in.h (rpl_strstr): Declare.
30998         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
30999         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
31000         * modules/string (Makefile.am): Likewise.
31001         * MODULES.html.sh (string handling): Mention new module.
31002         * doc/functions/strstr.texi (strstr): Document the bug.
31003
31004 2008-01-10  Bruno Haible  <bruno@clisp.org>
31005
31006         * lib/relocatable.h (relocate): State whether result is freshly
31007         allocated or not.
31008         * lib/relocatable.c (relocate): Return a freshly allocated string
31009         instead of a pointer to a privately held string.
31010         Reported by Sylvain Beucler <beuc@gnu.org>.
31011
31012 2008-01-10  Colin Watson  <cjwatson@debian.org>
31013
31014         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
31015         s/S_ISNLK/S_ISLNK/.
31016
31017 2008-01-09  Bruno Haible  <bruno@clisp.org>
31018
31019         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
31020         and other files.
31021         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
31022         if it's only a guess.
31023         * modules/memmem: Simplify by depending on memmem-simple.
31024
31025 2008-01-09  Bruno Haible  <bruno@clisp.org>
31026
31027         Work around OpenBSD 4.0 tdelete() bug.
31028         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
31029         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
31030         macros and don't redefine the enum values.
31031         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
31032         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
31033         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
31034
31035 2008-01-09  Bruno Haible  <bruno@clisp.org>
31036
31037         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
31038         (main): Don't perform the tests if setlocale did not install a UTF-8
31039         locale. Needed on OpenBSD 4.0.
31040         * modules/wcwidth-tests (Depends-on): Add localcharset.
31041
31042 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
31043
31044         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
31045         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
31046         * NEWS: announce this.
31047         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
31048
31049 2008-01-09  Simon Josefsson  <simon@josefsson.org>
31050         and Eric Blake  <ebb9@byu.net>
31051
31052         Add memmem-simple module.
31053         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
31054         (gl_FUNC_MEMMEM): Separate performance from presence checks.
31055         * modules/memmem-simple: New file.
31056         * modules/memmem (Description): Tweak.
31057         * MODULES.html.sh (string handling): Mention new module.
31058         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
31059         addressed by memmem-simple.
31060         * NEWS: Document the difference.
31061
31062 2008-01-09  Eric Blake  <ebb9@byu.net>
31063
31064         Give gcc some memmem optimization hints.
31065         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
31066         (strcasestr): Declare as pure.
31067         * modules/memmem (Maintainer): Claim my implementation.
31068
31069 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31070
31071         Support AIX 6.1 and higher.
31072         * build-aux/config.libpath: Likewise.
31073         * build-aux/config.rpath: Likewise.
31074
31075 2008-01-08  Jim Meyering  <meyering@redhat.com>
31076             Bruno Haible  <bruno@clisp.org>
31077
31078         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
31079         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
31080         Reported by Peter Fales in
31081         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
31082
31083 2008-01-08  Bruno Haible  <bruno@clisp.org>
31084
31085         * modules/unictype/category-of (Depends-on): Add
31086         unictype/category-none.
31087         * modules/unictype/category-and-tests (Depends-on): Add
31088         unictype/category-{L,N,Lu,Nd}.
31089         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
31090         * modules/unictype/category-or-tests (Depends-on): Add
31091         unictype/category-{L,N}.
31092         * modules/unictype/category-name-tests (Depends-on): Add
31093         unictype/category-{Z,Nl}.
31094         Reported by Simon Josefsson.
31095
31096 2008-01-08  Bruno Haible  <bruno@clisp.org>
31097
31098         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
31099         convention better.
31100         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
31101         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
31102         Reported by Peter Miller <millerp@canb.auug.org.au>.
31103
31104 2008-01-08  Eric Blake  <ebb9@byu.net>
31105
31106         Rewrite memmem to guarantee linear complexity without malloc.
31107         * lib/memmem.c (memmem): Use Two-Way rather than
31108         Knuth-Morris-Pratt, to allow O(1) space usage.
31109         (critical_factorization, two_way_short_needle)
31110         (two_way_long_needle): New functions.
31111         (knuth_morris_pratt): Delete.
31112         * modules/memmem (Depends-on): No longer need malloca or stdbool.
31113         Add stdint.
31114         * tests/test-memmem.c (main): Add tests for periodic needle and
31115         sublinear performance.
31116         * doc/functions/memmem.texi (memmem): Document other deficiencies
31117         in cygwin and older glibc.
31118
31119 2008-01-08  Bruno Haible  <bruno@clisp.org>
31120
31121         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
31122         augmentation.
31123
31124 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
31125
31126         Add a configure time option: --disable-acl.
31127         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
31128         AC_ARG_ENABLE(acl).
31129
31130 2008-01-06  Simon Josefsson  <simon@josefsson.org>
31131
31132         * tests/test-localename.c: Don't include obsolete "setenv.h".
31133
31134         * modules/localename-tests (Depends-on): Need unsetenv.
31135
31136 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31137
31138         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
31139
31140 2008-01-06  Colin Watson  <cjwatson@debian.org>
31141
31142         * users.txt: Add man-db.
31143
31144 2008-01-07  Bruno Haible  <bruno@clisp.org>
31145
31146         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
31147         previous section name.
31148
31149 2008-01-07  Bruno Haible  <bruno@clisp.org>
31150
31151         * lib/progname.c (set_program_name): Don't strip off a leading
31152         "lt-" prefix outside a .libs directory.
31153         Suggested by Paul Eggert.
31154
31155 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
31156             Bruno Haible  <bruno@clisp.org>
31157
31158         Improve memory cleanup in 'relocatable' module.
31159         * lib/relocatable.h (compute_curr_prefix): Change return type to
31160         'char *'.
31161         * lib/relocatable.c (compute_curr_prefix): Change return type to
31162         'char *'. Free curr_installdir after use.
31163         (relocate): Free curr_prefix_better after use.
31164         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
31165
31166 2008-01-01  Bruno Haible  <bruno@clisp.org>
31167
31168         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
31169         failure on older glibc systems.
31170         Reported by Peter Fales <psfales@alcatel-lucent.com>.
31171
31172 2008-01-05  Eric Blake  <ebb9@byu.net>
31173
31174         Avoid quadratic system memmem.
31175         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
31176         Reported by Ralf Wildenhues.
31177
31178         Fix memmem test for mingw.
31179         * modules/memmem-tests (configure.ac): Check for alarm.
31180         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
31181         it.
31182         * doc/functions/memmem.texi: New file.
31183         * doc/gnulib.texi (Function Substitutes): Add memmem.
31184         Reported by Bruno Haible.
31185
31186 2008-01-04  Bruno Haible  <bruno@clisp.org>
31187
31188         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
31189         Require gl_HEADER_STRINGS_H_DEFAULTS, not
31190         gl_HEADER_STRING_H_DEFAULTS.
31191
31192 2008-01-04  Eric Blake  <ebb9@byu.net>
31193
31194         Shorten duration of memmem test.
31195         * tests/test-memmem.c (main): Use alarm to declare failure if test
31196         is taking too long.
31197         Reported by Ralf Wildenhues.
31198
31199 2007-12-21  Simon Josefsson  <simon@josefsson.org>
31200
31201         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
31202         string, needed by strerror.
31203
31204 2008-01-03  Colin Watson  <cjwatson@debian.org>
31205             Bruno Haible  <bruno@clisp.org>
31206
31207         * doc/gnulib-tool.texi (Localization): New section.
31208
31209 2008-01-02  Bruno Haible  <bruno@clisp.org>
31210
31211         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
31212         variables to 'unsigned char *' type.
31213         Reported by Paul Eggert.
31214
31215 2008-01-02  Jim Meyering  <jim@meyering.net>
31216
31217         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
31218
31219 2007-12-31  Jim Meyering  <jim@meyering.net>
31220
31221         Avoid use of private FTS type name.
31222         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
31223
31224 2007-12-30  Karl Berry  <karl@gnu.org>
31225
31226         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
31227         work around defect in Texinfo and/or the standalone Info browser.
31228
31229 2007-12-30  Bruno Haible  <bruno@clisp.org>
31230
31231         Unify 5 copies of the KMP code.
31232         * lib/str-kmp.h: New file.
31233         * lib/c-strcasestr.c: Include str-kmp.h.
31234         (knuth_morris_pratt): Remove function.
31235         (c_strcasestr): Update.
31236         * lib/c-strstr.c: Include str-kmp.h.
31237         (knuth_morris_pratt): Remove function.
31238         (c_strcasestr): Update.
31239         * lib/mbscasestr.c: Include str-kmp.h.
31240         (knuth_morris_pratt_unibyte): Remove function.
31241         * lib/mbsstr.c: Include str-kmp.h.
31242         (knuth_morris_pratt_unibyte): Remove function.
31243         * lib/strcasestr.c: Include str-kmp.h.
31244         (knuth_morris_pratt): Remove function.
31245         (strcasestr): Update.
31246         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
31247         * modules/c-strstr (Files): Likewise.
31248         * modules/mbscasestr (Files): Likewise.
31249         * modules/mbsstr (Files): Likewise.
31250         * modules/strcasestr (Files): Likewise.
31251         Suggested by Paul Eggert.
31252
31253 2007-12-30  Bruno Haible  <bruno@clisp.org>
31254
31255         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
31256         defined.
31257
31258 2007-12-30  Bruno Haible  <bruno@clisp.org>
31259
31260         * lib/xmalloca.h: Include xalloc.h.
31261         (xnmalloca): New macro.
31262
31263 2007-12-30  Bruno Haible  <bruno@clisp.org>
31264
31265         * lib/malloca.h (nmalloca): New macro.
31266         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
31267         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
31268         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
31269         knuth_morris_pratt_multibyte): Likewise.
31270         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
31271         knuth_morris_pratt_multibyte): Likewise.
31272         * lib/memmem.c (knuth_morris_pratt): Likewise.
31273         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
31274
31275 2007-12-25  Bruno Haible  <bruno@clisp.org>
31276
31277         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
31278         * lib/glob.c: Don't include openat.h.
31279         (link_exists2_p): Add back the code that deals with the
31280         !GLOB_ALTDIRFUNC case.
31281         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
31282         let it do the filename concatenation.
31283         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
31284         * modules/glob (Depends-on): Remove openat.
31285
31286 2007-12-31  Bruno Haible  <bruno@clisp.org>
31287
31288         * modules/dirfd (License): Change to LGPLv2+.
31289         Approved by Jim Meyering.
31290
31291 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
31292
31293         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
31294         when multiplying M by sizeof (size_t).
31295
31296 2007-12-10  Martin Lambers  <marlam@marlam.de>
31297
31298         Override getpagesize on mingw.
31299         * lib/getpagesize.c: New file.
31300         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
31301         * modules/getpagesize (Files): Add lib/getpagesize.c.
31302         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
31303         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31304         REPLACE_GETPAGESIZE.
31305         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
31306
31307 2007-12-25  Bruno Haible  <bruno@clisp.org>
31308
31309         * modules/localcharset (Notice): New field.
31310         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
31311         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
31312
31313 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31314             Bruno Haible  <bruno@clisp.org>
31315
31316         Avoid using the syntax symbol() in formatted documentation.
31317         * MODULES.html.sh (func_module): When replacing symbol() with a
31318         hyperlink, remove the parentheses. Show an error if some remain.
31319         Recognize and render the '...' syntax.
31320         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
31321         Rework. Add paragraph about GCC's inlining.
31322         * doc/alloca.texi: Likewise.
31323         * doc/error.texi: Remove parentheses from symbol reference.
31324         * doc/gnulib-intro.texi: Likewise.
31325         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
31326         * modules/fnmatch (Description): Reword to say "the ... function".
31327         * modules/full-read (Description): Likewise.
31328         * modules/full-write (Description): Likewise.
31329         * modules/safe-read (Description): Likewise.
31330         * modules/safe-write (Description): Likewise.
31331         * modules/strchrnul (Description): Likewise.
31332         * modules/trim (Description): Likewise.
31333         * modules/error (Description): Remove parentheses from symbol
31334         references.
31335         * modules/verror (Description): Likewise.
31336         Reported by Karl Berry.
31337
31338 2007-12-25  Bruno Haible  <bruno@clisp.org>
31339
31340         Fixup after 2007-10-16 commit.
31341         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
31342
31343 2007-12-24  Bruno Haible  <bruno@clisp.org>
31344
31345         Make --enable-relocatable work with DESTDIR.
31346         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
31347         to compute installdir from destprog.
31348         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
31349         also set the RELOC_DESTDIR variable.
31350         Reported by Левашев Иван <octagram@bluebottle.com>.
31351
31352 2007-12-24  Bruno Haible  <bruno@clisp.org>
31353
31354         Fix link error due to xalloc_die().
31355         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
31356         of xreadlink.
31357         * lib/relocwrapper.c: Update comments.
31358         * build-aux/install-reloc: Remove xreadlink.c from file list.
31359         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
31360         xreadlink.c.
31361         Reported by Левашев Иван <octagram@bluebottle.com>.
31362
31363 2007-12-24  Bruno Haible  <bruno@clisp.org>
31364
31365         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
31366         * lib/setenv.h: Remove file.
31367         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
31368         lib/setenv.h.
31369         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
31370         (Depends-on): Add stdlib.
31371         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
31372         gl_FUNC_UNSETENV.
31373         (Include): Replace setenv.h with <stdlib.h>.
31374         * modules/unsetenv: New file.
31375         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
31376         * lib/unsetenv.c: Include <stdlib.h> first.
31377         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
31378         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
31379         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
31380         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
31381         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
31382         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
31383         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
31384         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
31385         * doc/functions/unsetenv.texi: Update.
31386         * modules/xsetenv (Depends-on): Add unsetenv.
31387         * modules/getdate (Depends-on): Likewise.
31388         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
31389         * lib/xsetenv.c: Don't include setenv.h.
31390         * lib/getdate.y: Likewise.
31391         * lib/relocwrapper.c: Likewise.
31392         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
31393         (Depends-on): Add stdlib.
31394         * NEWS: Mention the changes.
31395         Reported by Левашев Иван <octagram@bluebottle.com>.
31396
31397 2007-12-23  Bruno Haible  <bruno@clisp.org>
31398
31399         * lib/memmem.c (memmem): Use lowercase variable names. Tab
31400         indentation.
31401
31402 2007-12-23  Bruno Haible  <bruno@clisp.org>
31403
31404         * lib/c-strcasestr.c: Add more comments.
31405         * lib/c-strstr.c: Likewise.
31406         * lib/mbscasestr.c: Likewise.
31407         * lib/mbsstr.c: Likewise.
31408         * lib/strcasestr.c: Likewise.
31409         * lib/memmem.c: Likewise.
31410
31411 2007-12-23  Bruno Haible  <bruno@clisp.org>
31412
31413         * tests/test-memmem.c: Include <string.h> first.
31414
31415 2007-12-22  Bruno Haible  <bruno@clisp.org>
31416
31417         * gnulib-tool (func_create_testdir): Change $auxdir while generating
31418         the contents of $testsbase.
31419         Reported by Ralf Wildenhues.
31420
31421 2007-12-22  Bruno Haible  <bruno@clisp.org>
31422
31423         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
31424         two variables local_ldadd_before, local_ldadd_last.
31425
31426 2007-12-20  Eric Blake  <ebb9@byu.net>
31427
31428         Work around circular library issue when cross-compiling.
31429         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
31430         that progname.o does not need to pull in rpl_memcmp.
31431
31432 2007-12-19  Eric Blake  <ebb9@byu.net>
31433
31434         Fix memmem to avoid O(n^2) worst-case complexity.
31435         * lib/memmem.c (knuth_morris_pratt): New function.
31436         (memmem): Use it if first few naive iterations fail.
31437         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
31438         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
31439         * modules/memchr (License): Likewise.
31440         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
31441         malloca.
31442         * tests/test-memmem.c: Rewrite, borrowing ideas from
31443         test-mbsstr1.c; the old version wouldn't even compile!
31444         * modules/memmem-tests: New file.
31445         * lib/string.in.h (rpl_memmem): Add declaration.
31446         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
31447         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
31448         REPLACE_MEMMEM.
31449
31450 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
31451
31452         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
31453         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
31454         before any system include files, and undef after them all.  This
31455         should fix a problem on VMS reported by John E. Malmberg in
31456         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
31457
31458 2007-12-17  Eric Blake  <ebb9@byu.net>
31459
31460         Revert addition of verify, for BSD/OS.
31461         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
31462         can't handle large files, for the sake of obsolete platforms.
31463         * modules/fseeko (Depends-on): Remove verify.
31464         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
31465         * doc/functions/ftello.texi (ftello): Likewise.
31466         * doc/functions/fgetpos.texi (fgetpos): Likewise.
31467         Reported by Larry Jones.
31468
31469 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
31470
31471         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
31472         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
31473
31474 2007-12-17  Jim Meyering  <meyering@redhat.com>
31475
31476         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
31477         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
31478         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
31479         * modules/getcwd (Depends-on): Add openat.
31480         Reported by Petr Salinger.
31481
31482 2007-12-17  Bruno Haible  <bruno@clisp.org>
31483
31484         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
31485         avoid a segmentation fault of the configure test on x86_64 systems.
31486
31487 2007-12-15  Jim Meyering  <meyering@redhat.com>
31488
31489         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
31490
31491 2007-12-13  Eric Blake  <ebb9@byu.net>
31492
31493         Another fseek test.
31494         * tests/test-fseek.c (main): Also test ungetc handling.
31495         * tests/test-fseeko.c (main): Likewise.
31496         * modules/fseeko (Depends-on): Add verify.
31497         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
31498         large.
31499         Reported by Larry Jones.
31500
31501         Fix fseeko on mingw.
31502         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
31503         seek.
31504
31505         Beef up fseek tests.
31506         * tests/test-fseek.c (main): Also test eof handling.
31507         * tests/test-fseeko.c (main): Likewise.
31508         Reported by Larry Jones.
31509
31510 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
31511
31512         Fix fseeko on BSD-based platforms.
31513         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
31514         successful seek.
31515
31516 2007-12-12  Eric Blake  <ebb9@byu.net>
31517
31518         Allow circular dependency of separate libtests.a
31519         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
31520         when use_libtests.
31521
31522 2007-12-11  Eric Blake  <ebb9@byu.net>
31523
31524         Fix bug with -0.0L in previous patch.
31525         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
31526         * tests/test-isnan.c (main): Also test on zeroes.
31527         * tests/test-isnanf.c (main): Likewise.
31528         * tests/test-isnanl.h (main): Likewise.
31529
31530         Detect pseudo-denormals on x86 even when cross-compiling.
31531         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
31532         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
31533         invalid bit patterns that happen to satisfy ==.
31534
31535         Avoid link failures with separate libtests.a.
31536         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
31537         last, to satisfy circular dependencies.
31538
31539 2007-12-11  Eric Blake  <ebb9@byu.net>
31540         and Bruno Haible  <bruno@clisp.org>
31541
31542         Fix OpenBSD 4.0 <float.h> handling of long double.
31543         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
31544         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
31545         * doc/headers/float.texi (float.h): Document OpenBSD bug.
31546
31547 2007-12-11  Jim Meyering  <meyering@redhat.com>
31548
31549         * users.txt: Add libvirt.
31550
31551         Support versions of autoconf prior to 2.59c.
31552         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
31553         if it is not already defined.
31554
31555 2007-12-09  Bruno Haible  <bruno@clisp.org>
31556
31557         Let 'gnulib-tool --import' collect sources needed for the tests in
31558         tests/ rather than in lib/.
31559         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
31560         argument. If true, add rules to generate libtests.a, and put libtests.a
31561         into $(LDADD). Consider source files in subdirectories and set
31562         uses_subdirs.
31563         (func_emit_initmacro_start, func_emit_initmacro_end,
31564         func_emit_initmacro_done): Pass all arguments explicitly.
31565         (func_import): Determine two module lists main_modules,
31566         testsrelated_modules. Determine use_libtests. Determine two variables
31567         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
31568         instead of just sed_transform_lib_file. Determine two variables
31569         main_files and testsrelated_files. Compute 'files' as the union of
31570         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
31571         func_add_or_update. In the generated gnulib-comp.m4, collect the
31572         object files for tests/ in different variables than those for lib/.
31573         Substitute LIBTESTS_LIBDEPS.
31574         (func_create_testdir): Combine the uses_subdirs results from
31575         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
31576
31577 2007-12-09  Bruno Haible  <bruno@clisp.org>
31578
31579         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
31580         the build-aux directory.
31581
31582 2007-12-09  Bruno Haible  <bruno@clisp.org>
31583
31584         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
31585         introduced on 2006-09-09.
31586
31587 2007-12-07  Jim Meyering  <meyering@redhat.com>
31588
31589         Let these macros work also with autoconf-2.59.
31590         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
31591         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
31592         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
31593
31594 2007-12-06  Jim Meyering  <meyering@redhat.com>
31595
31596         Avoid a configure-time syntax error in gl_FUNC_ACL.
31597         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
31598         function in each branch, before testing the cache variable.
31599
31600 2007-12-04  Eric Blake  <ebb9@byu.net>
31601
31602         Make scripts executable.
31603         * build-aux/config.guess: Add execute permissions.
31604         * build-aux/config.sub: Likewise.
31605         * build-aux/gendocs.sh: Likewise.
31606
31607         Fix frexp on mingw.
31608         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
31609         cross-compiling.
31610         * doc/functions/frexp.texi (frexp): Document the bug.
31611
31612         Make cygwin fseeko check more reliable.
31613         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
31614         version numbers, rather than unrelated feature check.
31615         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
31616         * doc/functions/ftello.texi (ftello): Likewise.
31617         Reported by Bruno Haible.
31618
31619         * m4/strerror.m4: Bump version number.
31620
31621 2007-12-03  Bruno Haible  <bruno@clisp.org>
31622
31623         * doc/functions/mprotect.texi: Mention the mingw problem.
31624
31625 2007-12-03  Eric Blake  <ebb9@byu.net>
31626
31627         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
31628         REPLACE_STRERROR is initialized before this macro.
31629
31630 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
31631
31632         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
31633         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
31634         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
31635         put -lsec in even for programs other than 'ls'.  This fixes a problem
31636         for gettext reported by Bruno Haible in
31637         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
31638         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
31639         Add support for Solaris 10.  This isn't efficient, but should get the
31640         job done for now.
31641
31642 2007-12-03  James Youngman  <jay@gnu.org>
31643
31644         * doc/regexprops-generic.texi: change "an close-group" to "a
31645         close-group" and "illegal" to "not allowed".
31646
31647 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31648
31649         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
31650         pr_byname.h. Needed for the rare case when the maintainer has done
31651         "make maintainer-clean" in the source directory and then attempts a
31652         build outside the source directory.
31653         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
31654         scripts_byname.h.
31655
31656 2007-12-02  Martin Lambers <marlam@marlam.de>
31657             Bruno Haible  <bruno@clisp.org>
31658
31659         * lib/getpagesize.h: Remove file.
31660         * lib/unistd.in.h: Include declaration of getpagesize here.
31661         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
31662         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
31663         HAVE_SYS_PARAM_H.
31664         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
31665         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
31666         * modules/getpagesize (Files): Remove lib/getpagesize.h.
31667         (Depends-on): Add unistd.
31668         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
31669         (Include): Use <unistd.h> instead of getpagesize.h.
31670         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
31671         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
31672         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
31673         gl_GETPAGESIZE invocation, already handled by module dependency.
31674         * lib/pagealign_alloc.c: Don't include getpagesize.h.
31675
31676 2007-12-02  Bruno Haible  <bruno@clisp.org>
31677
31678         * modules/strings-tests: New file.
31679         * tests/test-strings.c: New file.
31680
31681         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
31682         * lib/strings.in.h: New file.
31683         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
31684         * m4/strings_h.m4: New file.
31685         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
31686         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
31687         * modules/strings: New file.
31688         * modules/string (Makefile.am): Update.
31689         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
31690         Reported by Karl Berry.
31691
31692 2007-12-01  Eric Blake  <ebb9@byu.net>
31693
31694         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
31695         accomodate fix in cygwin 1.5.25.
31696
31697 2007-12-01  Jim Meyering  <meyering@redhat.com>
31698
31699         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
31700         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
31701         that would inhibit utf8-optimization of a regexp containing line-
31702         or buffer-anchors, e.g., `^', `$'.
31703
31704 2007-11-30  Bruno Haible  <bruno@clisp.org>
31705
31706         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
31707         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
31708         glthread_recursive_lock_init.
31709         * lib/lock.c (glthread_recursive_lock_init)
31710         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
31711         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
31712
31713 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
31714
31715         New function qset_acl, like set_acl but with syscall semantics.
31716         * lib/acl.h (qset_acl): New decl.
31717         * lib/acl.c (qset_acl): New function.
31718         (set_acl): Use new function.  Use more-consistent diagnostics.
31719
31720 2007-11-28  Jim Meyering  <meyering@redhat.com>
31721
31722         * modules/physmem (License): Change from GPL to LGPLv2+.
31723
31724 2007-11-26  Bruno Haible  <bruno@clisp.org>
31725
31726         * lib/vasnprintf.c (decode_long_double): Don't abort if the
31727         'long double' type has excess precision.
31728         Reported by Jim Meyering in
31729         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
31730
31731 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31732
31733         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
31734         Sync from <http://gnu.org/licenses>.
31735         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
31736         with license text from same location.
31737         * doc/maintain.texi, doc/standards.texi:  Sync from
31738         <http://savannah.gnu.org/projects/gnustandards>.
31739
31740 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
31741         and Jim Meyering  <meyering@redhat.com>
31742
31743         Adjust getdate' grammar to accept a slightly more regular language.
31744         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
31745         Before, the former was rejected.
31746         * lib/getdate.y (digits_to_date_time): New function, factored
31747         out of ...
31748         (number): ...here.  Just call digits_to_date_time.
31749         (hybrid): New non-terminal to handle an <unsigned number,
31750         signed relative offset> sequence consistently.
31751
31752 2007-11-18  Jim Meyering  <meyering@redhat.com>
31753
31754         Pull my changes from coreutils:
31755         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
31756         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
31757         use of $gnulib_tool_option_extras, so that it's separated from the
31758         preceding argument.
31759
31760         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
31761         * build-aux/bootstrap (cp_mark_as_generated): Create any required
31762         parent destination directories before copying a file into place.
31763
31764 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
31765
31766         bootstrap: work also with 4-argument variant of AC_INIT
31767         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
31768
31769 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
31770
31771         Port test-getaddrinfo to Solaris.
31772         Problem reported by Bruno Haible in
31773         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
31774         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
31775         explanation of setting 'hints'.
31776         Don't reject an implementation merely because it returns EAI_SERVICE.
31777         (EAI_SERVICE): Define to 0 if not defined.
31778
31779 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
31780
31781         The license of gnu-make and posix-shell is now "GPLed build tool".
31782         * modules/gnu-make (License): Likewise.
31783         * modules/posix-shell (License): Likewise.
31784
31785         New module posix-shell, for determining a POSIX shell
31786         or perhaps something that is close enough to a POSIX shell.
31787         * m4/posix-shell.m4: New file.
31788         * modules/posix-shell: New file.
31789
31790         * MODULES.html.sh: Mention new module.
31791
31792         New module gnu-make, for determining whether we're using GNU Make.
31793         * m4/gnu-make.m4: New file.
31794         * modules/gnu-make: New file.
31795         * MODULES.html.sh: Mention new module.
31796
31797 2007-11-14  Jim Meyering  <meyering@redhat.com>
31798
31799         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
31800         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
31801         use this macro to create a function _definition_.
31802         Remove useless "#undef ARGMATCH_DIE".
31803
31804 2007-11-14  Bruno Haible  <bruno@clisp.org>
31805
31806         * lib/config.charset: Update for OpenBSD 4.1.
31807         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
31808
31809 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
31810
31811         Document 64-bit #if problems in stdint.texi.
31812         * doc/headers/stdint.texi (stdint.h): Mention problems with
31813         64-bit-#if, and how to work around them.
31814
31815         Don't insist on 'long long int' support in the preprocessor.  It
31816         breaks too many things.  For example, PRIdMAX still uses a 'long
31817         long int' format with the latest Sun compiler, even though
31818         HAVE_LONG_LONG_INT isn't defined due to that compiler's
31819         preprocessor problem.  This causes the latest coreutils to dump
31820         core on Solaris 10 sparc with the Sun C compiler.
31821         Instead, fix the 2007-10-16 problem in a different way, by evaluating
31822         the troublesome expressions at configure-time, not at #if-time.
31823         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
31824         preprocessor.
31825         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
31826         compile-time C checks, done at 'configure'-time.
31827         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
31828         * modules/inttypes (Makefile): Substitute the new symbols that
31829         gl_INTTYPES_H now generates.
31830         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
31831
31832 2007-11-12  Bruno Haible  <bruno@clisp.org>
31833
31834         Tests for Unicode character classification functions.
31835
31836         * modules/unictype/bidicategory-byname-tests: New file.
31837         * modules/unictype/bidicategory-name-tests: New file.
31838         * modules/unictype/bidicategory-of-tests: New file.
31839         * modules/unictype/bidicategory-test-tests: New file.
31840         * modules/unictype/block-list-tests: New file.
31841         * modules/unictype/block-of-tests: New file.
31842         * modules/unictype/block-test-tests: New file.
31843         * modules/unictype/category-C-tests: New file.
31844         * modules/unictype/category-Cc-tests: New file.
31845         * modules/unictype/category-Cf-tests: New file.
31846         * modules/unictype/category-Cn-tests: New file.
31847         * modules/unictype/category-Co-tests: New file.
31848         * modules/unictype/category-Cs-tests: New file.
31849         * modules/unictype/category-L-tests: New file.
31850         * modules/unictype/category-Ll-tests: New file.
31851         * modules/unictype/category-Lm-tests: New file.
31852         * modules/unictype/category-Lo-tests: New file.
31853         * modules/unictype/category-Lt-tests: New file.
31854         * modules/unictype/category-Lu-tests: New file.
31855         * modules/unictype/category-M-tests: New file.
31856         * modules/unictype/category-Mc-tests: New file.
31857         * modules/unictype/category-Me-tests: New file.
31858         * modules/unictype/category-Mn-tests: New file.
31859         * modules/unictype/category-N-tests: New file.
31860         * modules/unictype/category-Nd-tests: New file.
31861         * modules/unictype/category-Nl-tests: New file.
31862         * modules/unictype/category-No-tests: New file.
31863         * modules/unictype/category-P-tests: New file.
31864         * modules/unictype/category-Pc-tests: New file.
31865         * modules/unictype/category-Pd-tests: New file.
31866         * modules/unictype/category-Pe-tests: New file.
31867         * modules/unictype/category-Pf-tests: New file.
31868         * modules/unictype/category-Pi-tests: New file.
31869         * modules/unictype/category-Po-tests: New file.
31870         * modules/unictype/category-Ps-tests: New file.
31871         * modules/unictype/category-S-tests: New file.
31872         * modules/unictype/category-Sc-tests: New file.
31873         * modules/unictype/category-Sk-tests: New file.
31874         * modules/unictype/category-Sm-tests: New file.
31875         * modules/unictype/category-So-tests: New file.
31876         * modules/unictype/category-Z-tests: New file.
31877         * modules/unictype/category-Zl-tests: New file.
31878         * modules/unictype/category-Zp-tests: New file.
31879         * modules/unictype/category-Zs-tests: New file.
31880         * modules/unictype/category-and-not-tests: New file.
31881         * modules/unictype/category-and-tests: New file.
31882         * modules/unictype/category-byname-tests: New file.
31883         * modules/unictype/category-name-tests: New file.
31884         * modules/unictype/category-none-tests: New file.
31885         * modules/unictype/category-of-tests: New file.
31886         * modules/unictype/category-or-tests: New file.
31887         * modules/unictype/category-test-withtable-tests: New file.
31888         * modules/unictype/combining-class-tests: New file.
31889         * modules/unictype/ctype-alnum-tests: New file.
31890         * modules/unictype/ctype-alpha-tests: New file.
31891         * modules/unictype/ctype-blank-tests: New file.
31892         * modules/unictype/ctype-cntrl-tests: New file.
31893         * modules/unictype/ctype-digit-tests: New file.
31894         * modules/unictype/ctype-graph-tests: New file.
31895         * modules/unictype/ctype-lower-tests: New file.
31896         * modules/unictype/ctype-print-tests: New file.
31897         * modules/unictype/ctype-punct-tests: New file.
31898         * modules/unictype/ctype-space-tests: New file.
31899         * modules/unictype/ctype-upper-tests: New file.
31900         * modules/unictype/ctype-xdigit-tests: New file.
31901         * modules/unictype/decimal-digit-tests: New file.
31902         * modules/unictype/digit-tests: New file.
31903         * modules/unictype/mirror-tests: New file.
31904         * modules/unictype/numeric-tests: New file.
31905         * modules/unictype/property-alphabetic-tests: New file.
31906         * modules/unictype/property-ascii-hex-digit-tests: New file.
31907         * modules/unictype/property-bidi-arabic-digit-tests: New file.
31908         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
31909         * modules/unictype/property-bidi-block-separator-tests: New file.
31910         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
31911         * modules/unictype/property-bidi-common-separator-tests: New file.
31912         * modules/unictype/property-bidi-control-tests: New file.
31913         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
31914         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
31915         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
31916         * modules/unictype/property-bidi-european-digit-tests: New file.
31917         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
31918         * modules/unictype/property-bidi-left-to-right-tests: New file.
31919         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
31920         * modules/unictype/property-bidi-other-neutral-tests: New file.
31921         * modules/unictype/property-bidi-pdf-tests: New file.
31922         * modules/unictype/property-bidi-segment-separator-tests: New file.
31923         * modules/unictype/property-bidi-whitespace-tests: New file.
31924         * modules/unictype/property-byname-tests: New file.
31925         * modules/unictype/property-combining-tests: New file.
31926         * modules/unictype/property-composite-tests: New file.
31927         * modules/unictype/property-currency-symbol-tests: New file.
31928         * modules/unictype/property-dash-tests: New file.
31929         * modules/unictype/property-decimal-digit-tests: New file.
31930         * modules/unictype/property-default-ignorable-code-point-tests: New file.
31931         * modules/unictype/property-deprecated-tests: New file.
31932         * modules/unictype/property-diacritic-tests: New file.
31933         * modules/unictype/property-extender-tests: New file.
31934         * modules/unictype/property-format-control-tests: New file.
31935         * modules/unictype/property-grapheme-base-tests: New file.
31936         * modules/unictype/property-grapheme-extend-tests: New file.
31937         * modules/unictype/property-grapheme-link-tests: New file.
31938         * modules/unictype/property-hex-digit-tests: New file.
31939         * modules/unictype/property-hyphen-tests: New file.
31940         * modules/unictype/property-id-continue-tests: New file.
31941         * modules/unictype/property-id-start-tests: New file.
31942         * modules/unictype/property-ideographic-tests: New file.
31943         * modules/unictype/property-ids-binary-operator-tests: New file.
31944         * modules/unictype/property-ids-trinary-operator-tests: New file.
31945         * modules/unictype/property-ignorable-control-tests: New file.
31946         * modules/unictype/property-iso-control-tests: New file.
31947         * modules/unictype/property-join-control-tests: New file.
31948         * modules/unictype/property-left-of-pair-tests: New file.
31949         * modules/unictype/property-line-separator-tests: New file.
31950         * modules/unictype/property-logical-order-exception-tests: New file.
31951         * modules/unictype/property-lowercase-tests: New file.
31952         * modules/unictype/property-math-tests: New file.
31953         * modules/unictype/property-non-break-tests: New file.
31954         * modules/unictype/property-not-a-character-tests: New file.
31955         * modules/unictype/property-numeric-tests: New file.
31956         * modules/unictype/property-other-alphabetic-tests: New file.
31957         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
31958         * modules/unictype/property-other-grapheme-extend-tests: New file.
31959         * modules/unictype/property-other-id-continue-tests: New file.
31960         * modules/unictype/property-other-id-start-tests: New file.
31961         * modules/unictype/property-other-lowercase-tests: New file.
31962         * modules/unictype/property-other-math-tests: New file.
31963         * modules/unictype/property-other-uppercase-tests: New file.
31964         * modules/unictype/property-paired-punctuation-tests: New file.
31965         * modules/unictype/property-paragraph-separator-tests: New file.
31966         * modules/unictype/property-pattern-syntax-tests: New file.
31967         * modules/unictype/property-pattern-white-space-tests: New file.
31968         * modules/unictype/property-private-use-tests: New file.
31969         * modules/unictype/property-punctuation-tests: New file.
31970         * modules/unictype/property-quotation-mark-tests: New file.
31971         * modules/unictype/property-radical-tests: New file.
31972         * modules/unictype/property-sentence-terminal-tests: New file.
31973         * modules/unictype/property-soft-dotted-tests: New file.
31974         * modules/unictype/property-space-tests: New file.
31975         * modules/unictype/property-terminal-punctuation-tests: New file.
31976         * modules/unictype/property-test-tests: New file.
31977         * modules/unictype/property-titlecase-tests: New file.
31978         * modules/unictype/property-unassigned-code-value-tests: New file.
31979         * modules/unictype/property-unified-ideograph-tests: New file.
31980         * modules/unictype/property-uppercase-tests: New file.
31981         * modules/unictype/property-variation-selector-tests: New file.
31982         * modules/unictype/property-white-space-tests: New file.
31983         * modules/unictype/property-xid-continue-tests: New file.
31984         * modules/unictype/property-xid-start-tests: New file.
31985         * modules/unictype/property-zero-width-tests: New file.
31986         * modules/unictype/scripts-tests: New file.
31987         * modules/unictype/syntax-c-ident-tests: New file.
31988         * modules/unictype/syntax-c-whitespace-tests: New file.
31989         * modules/unictype/syntax-java-ident-tests: New file.
31990         * modules/unictype/syntax-java-whitespace-tests: New file.
31991         * tests/unictype/test-bidi_byname.c: New file.
31992         * tests/unictype/test-bidi_name.c: New file.
31993         * tests/unictype/test-bidi_of.c: New file.
31994         * tests/unictype/test-bidi_test.c: New file.
31995         * tests/unictype/test-block_list.c: New file.
31996         * tests/unictype/test-block_of.c: New file.
31997         * tests/unictype/test-block_test.c: New file.
31998         * tests/unictype/test-categ_and.c: New file.
31999         * tests/unictype/test-categ_and_not.c: New file.
32000         * tests/unictype/test-categ_byname.c: New file.
32001         * tests/unictype/test-categ_name.c: New file.
32002         * tests/unictype/test-categ_none.c: New file.
32003         * tests/unictype/test-categ_of.c: New file.
32004         * tests/unictype/test-categ_or.c: New file.
32005         * tests/unictype/test-categ_test_withtable.c: New file.
32006         * tests/unictype/test-combining.c: New file.
32007         * tests/unictype/test-decdigit.c: New file.
32008         * tests/unictype/test-digit.c: New file.
32009         * tests/unictype/test-mirror.c: New file.
32010         * tests/unictype/test-numeric.c: New file.
32011         * tests/unictype/test-pr_byname.c: New file.
32012         * tests/unictype/test-pr_test.c: New file.
32013         * tests/unictype/test-predicate-part1.h: New file.
32014         * tests/unictype/test-predicate-part2.h: New file.
32015         * tests/unictype/test-scripts.c: New file.
32016         * tests/unictype/test-sy_c_ident.c: New file.
32017         * tests/unictype/test-sy_java_ident.c: New file.
32018
32019         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
32020         for Unicode 5.0.0.
32021         * tests/unictype/test-categ_Cc.c: Likewise.
32022         * tests/unictype/test-categ_Cf.c: Likewise.
32023         * tests/unictype/test-categ_Cn.c: Likewise.
32024         * tests/unictype/test-categ_Co.c: Likewise.
32025         * tests/unictype/test-categ_Cs.c: Likewise.
32026         * tests/unictype/test-categ_L.c: Likewise.
32027         * tests/unictype/test-categ_Ll.c: Likewise.
32028         * tests/unictype/test-categ_Lm.c: Likewise.
32029         * tests/unictype/test-categ_Lo.c: Likewise.
32030         * tests/unictype/test-categ_Lt.c: Likewise.
32031         * tests/unictype/test-categ_Lu.c: Likewise.
32032         * tests/unictype/test-categ_M.c: Likewise.
32033         * tests/unictype/test-categ_Mc.c: Likewise.
32034         * tests/unictype/test-categ_Me.c: Likewise.
32035         * tests/unictype/test-categ_Mn.c: Likewise.
32036         * tests/unictype/test-categ_N.c: Likewise.
32037         * tests/unictype/test-categ_Nd.c: Likewise.
32038         * tests/unictype/test-categ_Nl.c: Likewise.
32039         * tests/unictype/test-categ_No.c: Likewise.
32040         * tests/unictype/test-categ_P.c: Likewise.
32041         * tests/unictype/test-categ_Pc.c: Likewise.
32042         * tests/unictype/test-categ_Pd.c: Likewise.
32043         * tests/unictype/test-categ_Pe.c: Likewise.
32044         * tests/unictype/test-categ_Pf.c: Likewise.
32045         * tests/unictype/test-categ_Pi.c: Likewise.
32046         * tests/unictype/test-categ_Po.c: Likewise.
32047         * tests/unictype/test-categ_Ps.c: Likewise.
32048         * tests/unictype/test-categ_S.c: Likewise.
32049         * tests/unictype/test-categ_Sc.c: Likewise.
32050         * tests/unictype/test-categ_Sk.c: Likewise.
32051         * tests/unictype/test-categ_Sm.c: Likewise.
32052         * tests/unictype/test-categ_So.c: Likewise.
32053         * tests/unictype/test-categ_Z.c: Likewise.
32054         * tests/unictype/test-categ_Zl.c: Likewise.
32055         * tests/unictype/test-categ_Zp.c: Likewise.
32056         * tests/unictype/test-categ_Zs.c: Likewise.
32057         * tests/unictype/test-ctype_alnum.c: Likewise.
32058         * tests/unictype/test-ctype_alpha.c: Likewise.
32059         * tests/unictype/test-ctype_blank.c: Likewise.
32060         * tests/unictype/test-ctype_cntrl.c: Likewise.
32061         * tests/unictype/test-ctype_digit.c: Likewise.
32062         * tests/unictype/test-ctype_graph.c: Likewise.
32063         * tests/unictype/test-ctype_lower.c: Likewise.
32064         * tests/unictype/test-ctype_print.c: Likewise.
32065         * tests/unictype/test-ctype_punct.c: Likewise.
32066         * tests/unictype/test-ctype_space.c: Likewise.
32067         * tests/unictype/test-ctype_upper.c: Likewise.
32068         * tests/unictype/test-ctype_xdigit.c: Likewise.
32069         * tests/unictype/test-decdigit.h: Likewise.
32070         * tests/unictype/test-digit.h: Likewise.
32071         * tests/unictype/test-numeric.h: Likewise.
32072         * tests/unictype/test-pr_alphabetic.c: Likewise.
32073         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
32074         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
32075         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
32076         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
32077         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
32078         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
32079         * tests/unictype/test-pr_bidi_control.c: Likewise.
32080         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
32081         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
32082         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
32083         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
32084         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
32085         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
32086         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
32087         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
32088         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
32089         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
32090         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
32091         * tests/unictype/test-pr_combining.c: Likewise.
32092         * tests/unictype/test-pr_composite.c: Likewise.
32093         * tests/unictype/test-pr_currency_symbol.c: Likewise.
32094         * tests/unictype/test-pr_dash.c: Likewise.
32095         * tests/unictype/test-pr_decimal_digit.c: Likewise.
32096         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
32097         * tests/unictype/test-pr_deprecated.c: Likewise.
32098         * tests/unictype/test-pr_diacritic.c: Likewise.
32099         * tests/unictype/test-pr_extender.c: Likewise.
32100         * tests/unictype/test-pr_format_control.c: Likewise.
32101         * tests/unictype/test-pr_grapheme_base.c: Likewise.
32102         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
32103         * tests/unictype/test-pr_grapheme_link.c: Likewise.
32104         * tests/unictype/test-pr_hex_digit.c: Likewise.
32105         * tests/unictype/test-pr_hyphen.c: Likewise.
32106         * tests/unictype/test-pr_id_continue.c: Likewise.
32107         * tests/unictype/test-pr_id_start.c: Likewise.
32108         * tests/unictype/test-pr_ideographic.c: Likewise.
32109         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
32110         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
32111         * tests/unictype/test-pr_ignorable_control.c: Likewise.
32112         * tests/unictype/test-pr_iso_control.c: Likewise.
32113         * tests/unictype/test-pr_join_control.c: Likewise.
32114         * tests/unictype/test-pr_left_of_pair.c: Likewise.
32115         * tests/unictype/test-pr_line_separator.c: Likewise.
32116         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
32117         * tests/unictype/test-pr_lowercase.c: Likewise.
32118         * tests/unictype/test-pr_math.c: Likewise.
32119         * tests/unictype/test-pr_non_break.c: Likewise.
32120         * tests/unictype/test-pr_not_a_character.c: Likewise.
32121         * tests/unictype/test-pr_numeric.c: Likewise.
32122         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
32123         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
32124         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
32125         * tests/unictype/test-pr_other_id_continue.c: Likewise.
32126         * tests/unictype/test-pr_other_id_start.c: Likewise.
32127         * tests/unictype/test-pr_other_lowercase.c: Likewise.
32128         * tests/unictype/test-pr_other_math.c: Likewise.
32129         * tests/unictype/test-pr_other_uppercase.c: Likewise.
32130         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
32131         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
32132         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
32133         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
32134         * tests/unictype/test-pr_private_use.c: Likewise.
32135         * tests/unictype/test-pr_punctuation.c: Likewise.
32136         * tests/unictype/test-pr_quotation_mark.c: Likewise.
32137         * tests/unictype/test-pr_radical.c: Likewise.
32138         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
32139         * tests/unictype/test-pr_soft_dotted.c: Likewise.
32140         * tests/unictype/test-pr_space.c: Likewise.
32141         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
32142         * tests/unictype/test-pr_titlecase.c: Likewise.
32143         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
32144         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
32145         * tests/unictype/test-pr_uppercase.c: Likewise.
32146         * tests/unictype/test-pr_variation_selector.c: Likewise.
32147         * tests/unictype/test-pr_white_space.c: Likewise.
32148         * tests/unictype/test-pr_xid_continue.c: Likewise.
32149         * tests/unictype/test-pr_xid_start.c: Likewise.
32150         * tests/unictype/test-pr_zero_width.c: Likewise.
32151         * tests/unictype/test-sy_c_whitespace.c: Likewise.
32152         * tests/unictype/test-sy_java_whitespace.c: Likewise.
32153
32154 2007-11-12  Bruno Haible  <bruno@clisp.org>
32155
32156         Unicode character classification functions.
32157         * lib/unictype.h: New file.
32158         * modules/unictype/base: New file.
32159         * modules/unictype/category-L: New file.
32160         * modules/unictype/category-Lu: New file.
32161         * modules/unictype/category-Ll: New file.
32162         * modules/unictype/category-Lt: New file.
32163         * modules/unictype/category-Lm: New file.
32164         * modules/unictype/category-Lo: New file.
32165         * modules/unictype/category-M: New file.
32166         * modules/unictype/category-Mn: New file.
32167         * modules/unictype/category-Mc: New file.
32168         * modules/unictype/category-Me: New file.
32169         * modules/unictype/category-N: New file.
32170         * modules/unictype/category-Nd: New file.
32171         * modules/unictype/category-Nl: New file.
32172         * modules/unictype/category-No: New file.
32173         * modules/unictype/category-P: New file.
32174         * modules/unictype/category-Pc: New file.
32175         * modules/unictype/category-Pd: New file.
32176         * modules/unictype/category-Ps: New file.
32177         * modules/unictype/category-Pe: New file.
32178         * modules/unictype/category-Pi: New file.
32179         * modules/unictype/category-Pf: New file.
32180         * modules/unictype/category-Po: New file.
32181         * modules/unictype/category-S: New file.
32182         * modules/unictype/category-Sm: New file.
32183         * modules/unictype/category-Sc: New file.
32184         * modules/unictype/category-Sk: New file.
32185         * modules/unictype/category-So: New file.
32186         * modules/unictype/category-Z: New file.
32187         * modules/unictype/category-Zs: New file.
32188         * modules/unictype/category-Zl: New file.
32189         * modules/unictype/category-Zp: New file.
32190         * modules/unictype/category-C: New file.
32191         * modules/unictype/category-Cc: New file.
32192         * modules/unictype/category-Cf: New file.
32193         * modules/unictype/category-Cs: New file.
32194         * modules/unictype/category-Co: New file.
32195         * modules/unictype/category-Cn: New file.
32196         * modules/unictype/category-or: New file.
32197         * modules/unictype/category-of: New file.
32198         * modules/unictype/category-test: New file.
32199         * modules/unictype/category-test-withtable: New file.
32200         * modules/unictype/category-byname: New file.
32201         * modules/unictype/category-none: New file.
32202         * modules/unictype/category-and: New file.
32203         * modules/unictype/category-and-not: New file.
32204         * modules/unictype/category-name: New file.
32205         * modules/unictype/combining-class: New file.
32206         * modules/unictype/category-all: New file.
32207         * modules/unictype/bidicategory-all: New file.
32208         * modules/unictype/bidicategory-byname: New file.
32209         * modules/unictype/bidicategory-name: New file.
32210         * modules/unictype/bidicategory-of: New file.
32211         * modules/unictype/bidicategory-test: New file.
32212         * modules/unictype/decimal-digit: New file.
32213         * modules/unictype/digit: New file.
32214         * modules/unictype/numeric: New file.
32215         * modules/unictype/mirror: New file.
32216         * modules/unictype/property-white-space: New file.
32217         * modules/unictype/property-alphabetic: New file.
32218         * modules/unictype/property-other-alphabetic: New file.
32219         * modules/unictype/property-not-a-character: New file.
32220         * modules/unictype/property-default-ignorable-code-point: New file.
32221         * modules/unictype/property-other-default-ignorable-code-point: New
32222         file.
32223         * modules/unictype/property-deprecated: New file.
32224         * modules/unictype/property-logical-order-exception: New file.
32225         * modules/unictype/property-variation-selector: New file.
32226         * modules/unictype/property-private-use: New file.
32227         * modules/unictype/property-unassigned-code-value: New file.
32228         * modules/unictype/property-uppercase: New file.
32229         * modules/unictype/property-other-uppercase: New file.
32230         * modules/unictype/property-lowercase: New file.
32231         * modules/unictype/property-other-lowercase: New file.
32232         * modules/unictype/property-titlecase: New file.
32233         * modules/unictype/property-soft-dotted: New file.
32234         * modules/unictype/property-id-start: New file.
32235         * modules/unictype/property-other-id-start: New file.
32236         * modules/unictype/property-id-continue: New file.
32237         * modules/unictype/property-other-id-continue: New file.
32238         * modules/unictype/property-xid-start: New file.
32239         * modules/unictype/property-xid-continue: New file.
32240         * modules/unictype/property-pattern-white-space: New file.
32241         * modules/unictype/property-pattern-syntax: New file.
32242         * modules/unictype/property-join-control: New file.
32243         * modules/unictype/property-grapheme-base: New file.
32244         * modules/unictype/property-grapheme-extend: New file.
32245         * modules/unictype/property-other-grapheme-extend: New file.
32246         * modules/unictype/property-grapheme-link: New file.
32247         * modules/unictype/property-bidi-control: New file.
32248         * modules/unictype/property-bidi-left-to-right: New file.
32249         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
32250         * modules/unictype/property-bidi-arabic-right-to-left: New file.
32251         * modules/unictype/property-bidi-european-digit: New file.
32252         * modules/unictype/property-bidi-eur-num-separator: New file.
32253         * modules/unictype/property-bidi-eur-num-terminator: New file.
32254         * modules/unictype/property-bidi-arabic-digit: New file.
32255         * modules/unictype/property-bidi-common-separator: New file.
32256         * modules/unictype/property-bidi-block-separator: New file.
32257         * modules/unictype/property-bidi-segment-separator: New file.
32258         * modules/unictype/property-bidi-whitespace: New file.
32259         * modules/unictype/property-bidi-non-spacing-mark: New file.
32260         * modules/unictype/property-bidi-boundary-neutral: New file.
32261         * modules/unictype/property-bidi-pdf: New file.
32262         * modules/unictype/property-bidi-embedding-or-override: New file.
32263         * modules/unictype/property-bidi-other-neutral: New file.
32264         * modules/unictype/property-hex-digit: New file.
32265         * modules/unictype/property-ascii-hex-digit: New file.
32266         * modules/unictype/property-ideographic: New file.
32267         * modules/unictype/property-unified-ideograph: New file.
32268         * modules/unictype/property-radical: New file.
32269         * modules/unictype/property-ids-binary-operator: New file.
32270         * modules/unictype/property-ids-trinary-operator: New file.
32271         * modules/unictype/property-zero-width: New file.
32272         * modules/unictype/property-space: New file.
32273         * modules/unictype/property-non-break: New file.
32274         * modules/unictype/property-iso-control: New file.
32275         * modules/unictype/property-format-control: New file.
32276         * modules/unictype/property-dash: New file.
32277         * modules/unictype/property-hyphen: New file.
32278         * modules/unictype/property-punctuation: New file.
32279         * modules/unictype/property-line-separator: New file.
32280         * modules/unictype/property-paragraph-separator: New file.
32281         * modules/unictype/property-quotation-mark: New file.
32282         * modules/unictype/property-sentence-terminal: New file.
32283         * modules/unictype/property-terminal-punctuation: New file.
32284         * modules/unictype/property-currency-symbol: New file.
32285         * modules/unictype/property-math: New file.
32286         * modules/unictype/property-other-math: New file.
32287         * modules/unictype/property-paired-punctuation: New file.
32288         * modules/unictype/property-left-of-pair: New file.
32289         * modules/unictype/property-combining: New file.
32290         * modules/unictype/property-composite: New file.
32291         * modules/unictype/property-decimal-digit: New file.
32292         * modules/unictype/property-numeric: New file.
32293         * modules/unictype/property-diacritic: New file.
32294         * modules/unictype/property-extender: New file.
32295         * modules/unictype/property-ignorable-control: New file.
32296         * modules/unictype/property-test: New file.
32297         * modules/unictype/property-byname: New file.
32298         * modules/unictype/property-all: New file.
32299         * modules/unictype/scripts: New file.
32300         * modules/unictype/scripts-all: New file.
32301         * modules/unictype/block-of: New file.
32302         * modules/unictype/block-test: New file.
32303         * modules/unictype/block-list: New file.
32304         * modules/unictype/block-all: New file.
32305         * modules/unictype/syntax-c-whitespace: New file.
32306         * modules/unictype/syntax-java-whitespace: New file.
32307         * modules/unictype/syntax-c-ident: New file.
32308         * modules/unictype/syntax-java-ident: New file.
32309         * modules/unictype/ctype-alnum: New file.
32310         * modules/unictype/ctype-alpha: New file.
32311         * modules/unictype/ctype-cntrl: New file.
32312         * modules/unictype/ctype-digit: New file.
32313         * modules/unictype/ctype-graph: New file.
32314         * modules/unictype/ctype-lower: New file.
32315         * modules/unictype/ctype-print: New file.
32316         * modules/unictype/ctype-punct: New file.
32317         * modules/unictype/ctype-space: New file.
32318         * modules/unictype/ctype-upper: New file.
32319         * modules/unictype/ctype-xdigit: New file.
32320         * modules/unictype/ctype-blank: New file.
32321         * lib/unictype/bidi_byname.c: New file.
32322         * lib/unictype/bidi_name.c: New file.
32323         * lib/unictype/bidi_of.c: New file.
32324         * lib/unictype/bidi_test.c: New file.
32325         * lib/unictype/bitmap.h: New file.
32326         * lib/unictype/block_test.c: New file.
32327         * lib/unictype/blocks.c: New file.
32328         * lib/unictype/categ_C.c: New file.
32329         * lib/unictype/categ_Cc.c: New file.
32330         * lib/unictype/categ_Cf.c: New file.
32331         * lib/unictype/categ_Cn.c: New file.
32332         * lib/unictype/categ_Co.c: New file.
32333         * lib/unictype/categ_Cs.c: New file.
32334         * lib/unictype/categ_L.c: New file.
32335         * lib/unictype/categ_Ll.c: New file.
32336         * lib/unictype/categ_Lm.c: New file.
32337         * lib/unictype/categ_Lo.c: New file.
32338         * lib/unictype/categ_Lt.c: New file.
32339         * lib/unictype/categ_Lu.c: New file.
32340         * lib/unictype/categ_M.c: New file.
32341         * lib/unictype/categ_Mc.c: New file.
32342         * lib/unictype/categ_Me.c: New file.
32343         * lib/unictype/categ_Mn.c: New file.
32344         * lib/unictype/categ_N.c: New file.
32345         * lib/unictype/categ_Nd.c: New file.
32346         * lib/unictype/categ_Nl.c: New file.
32347         * lib/unictype/categ_No.c: New file.
32348         * lib/unictype/categ_P.c: New file.
32349         * lib/unictype/categ_Pc.c: New file.
32350         * lib/unictype/categ_Pd.c: New file.
32351         * lib/unictype/categ_Pe.c: New file.
32352         * lib/unictype/categ_Pf.c: New file.
32353         * lib/unictype/categ_Pi.c: New file.
32354         * lib/unictype/categ_Po.c: New file.
32355         * lib/unictype/categ_Ps.c: New file.
32356         * lib/unictype/categ_S.c: New file.
32357         * lib/unictype/categ_Sc.c: New file.
32358         * lib/unictype/categ_Sk.c: New file.
32359         * lib/unictype/categ_Sm.c: New file.
32360         * lib/unictype/categ_So.c: New file.
32361         * lib/unictype/categ_Z.c: New file.
32362         * lib/unictype/categ_Zl.c: New file.
32363         * lib/unictype/categ_Zp.c: New file.
32364         * lib/unictype/categ_Zs.c: New file.
32365         * lib/unictype/categ_and.c: New file.
32366         * lib/unictype/categ_and_not.c: New file.
32367         * lib/unictype/categ_byname.c: New file.
32368         * lib/unictype/categ_name.c: New file.
32369         * lib/unictype/categ_none.c: New file.
32370         * lib/unictype/categ_of.c: New file.
32371         * lib/unictype/categ_or.c: New file.
32372         * lib/unictype/categ_test.c: New file.
32373         * lib/unictype/combining.c: New file.
32374         * lib/unictype/ctype_alnum.c: New file.
32375         * lib/unictype/ctype_alpha.c: New file.
32376         * lib/unictype/ctype_blank.c: New file.
32377         * lib/unictype/ctype_cntrl.c: New file.
32378         * lib/unictype/ctype_digit.c: New file.
32379         * lib/unictype/ctype_graph.c: New file.
32380         * lib/unictype/ctype_lower.c: New file.
32381         * lib/unictype/ctype_print.c: New file.
32382         * lib/unictype/ctype_punct.c: New file.
32383         * lib/unictype/ctype_space.c: New file.
32384         * lib/unictype/ctype_upper.c: New file.
32385         * lib/unictype/ctype_xdigit.c: New file.
32386         * lib/unictype/decdigit.c: New file.
32387         * lib/unictype/digit.c: New file.
32388         * lib/unictype/identsyntaxmap.h: New file.
32389         * lib/unictype/mirror.c: New file.
32390         * lib/unictype/numeric.c: New file.
32391         * lib/unictype/pr_alphabetic.c: New file.
32392         * lib/unictype/pr_ascii_hex_digit.c: New file.
32393         * lib/unictype/pr_bidi_arabic_digit.c: New file.
32394         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
32395         * lib/unictype/pr_bidi_block_separator.c: New file.
32396         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
32397         * lib/unictype/pr_bidi_common_separator.c: New file.
32398         * lib/unictype/pr_bidi_control.c: New file.
32399         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
32400         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
32401         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
32402         * lib/unictype/pr_bidi_european_digit.c: New file.
32403         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
32404         * lib/unictype/pr_bidi_left_to_right.c: New file.
32405         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
32406         * lib/unictype/pr_bidi_other_neutral.c: New file.
32407         * lib/unictype/pr_bidi_pdf.c: New file.
32408         * lib/unictype/pr_bidi_segment_separator.c: New file.
32409         * lib/unictype/pr_bidi_whitespace.c: New file.
32410         * lib/unictype/pr_byname.c: New file.
32411         * lib/unictype/pr_byname.gperf: New file.
32412         * lib/unictype/pr_combining.c: New file.
32413         * lib/unictype/pr_composite.c: New file.
32414         * lib/unictype/pr_currency_symbol.c: New file.
32415         * lib/unictype/pr_dash.c: New file.
32416         * lib/unictype/pr_decimal_digit.c: New file.
32417         * lib/unictype/pr_default_ignorable_code_point.c: New file.
32418         * lib/unictype/pr_deprecated.c: New file.
32419         * lib/unictype/pr_diacritic.c: New file.
32420         * lib/unictype/pr_extender.c: New file.
32421         * lib/unictype/pr_format_control.c: New file.
32422         * lib/unictype/pr_grapheme_base.c: New file.
32423         * lib/unictype/pr_grapheme_extend.c: New file.
32424         * lib/unictype/pr_grapheme_link.c: New file.
32425         * lib/unictype/pr_hex_digit.c: New file.
32426         * lib/unictype/pr_hyphen.c: New file.
32427         * lib/unictype/pr_id_continue.c: New file.
32428         * lib/unictype/pr_id_start.c: New file.
32429         * lib/unictype/pr_ideographic.c: New file.
32430         * lib/unictype/pr_ids_binary_operator.c: New file.
32431         * lib/unictype/pr_ids_trinary_operator.c: New file.
32432         * lib/unictype/pr_ignorable_control.c: New file.
32433         * lib/unictype/pr_iso_control.c: New file.
32434         * lib/unictype/pr_join_control.c: New file.
32435         * lib/unictype/pr_left_of_pair.c: New file.
32436         * lib/unictype/pr_line_separator.c: New file.
32437         * lib/unictype/pr_logical_order_exception.c: New file.
32438         * lib/unictype/pr_lowercase.c: New file.
32439         * lib/unictype/pr_math.c: New file.
32440         * lib/unictype/pr_non_break.c: New file.
32441         * lib/unictype/pr_not_a_character.c: New file.
32442         * lib/unictype/pr_numeric.c: New file.
32443         * lib/unictype/pr_other_alphabetic.c: New file.
32444         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
32445         * lib/unictype/pr_other_grapheme_extend.c: New file.
32446         * lib/unictype/pr_other_id_continue.c: New file.
32447         * lib/unictype/pr_other_id_start.c: New file.
32448         * lib/unictype/pr_other_lowercase.c: New file.
32449         * lib/unictype/pr_other_math.c: New file.
32450         * lib/unictype/pr_other_uppercase.c: New file.
32451         * lib/unictype/pr_paired_punctuation.c: New file.
32452         * lib/unictype/pr_paragraph_separator.c: New file.
32453         * lib/unictype/pr_pattern_syntax.c: New file.
32454         * lib/unictype/pr_pattern_white_space.c: New file.
32455         * lib/unictype/pr_private_use.c: New file.
32456         * lib/unictype/pr_punctuation.c: New file.
32457         * lib/unictype/pr_quotation_mark.c: New file.
32458         * lib/unictype/pr_radical.c: New file.
32459         * lib/unictype/pr_sentence_terminal.c: New file.
32460         * lib/unictype/pr_soft_dotted.c: New file.
32461         * lib/unictype/pr_space.c: New file.
32462         * lib/unictype/pr_terminal_punctuation.c: New file.
32463         * lib/unictype/pr_test.c: New file.
32464         * lib/unictype/pr_titlecase.c: New file.
32465         * lib/unictype/pr_unassigned_code_value.c: New file.
32466         * lib/unictype/pr_unified_ideograph.c: New file.
32467         * lib/unictype/pr_uppercase.c: New file.
32468         * lib/unictype/pr_variation_selector.c: New file.
32469         * lib/unictype/pr_white_space.c: New file.
32470         * lib/unictype/pr_xid_continue.c: New file.
32471         * lib/unictype/pr_xid_start.c: New file.
32472         * lib/unictype/pr_zero_width.c: New file.
32473         * lib/unictype/scripts.c: New file.
32474         * lib/unictype/sy_c_ident.c: New file.
32475         * lib/unictype/sy_c_whitespace.c: New file.
32476         * lib/unictype/sy_java_ident.c: New file.
32477         * lib/unictype/sy_java_whitespace.c: New file.
32478
32479         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
32480         Unicode 5.0.0.
32481         * lib/unictype/blocks.h: Likewise.
32482         * lib/unictype/categ_C.h: Likewise.
32483         * lib/unictype/categ_Cc.h: Likewise.
32484         * lib/unictype/categ_Cf.h: Likewise.
32485         * lib/unictype/categ_Cn.h: Likewise.
32486         * lib/unictype/categ_Co.h: Likewise.
32487         * lib/unictype/categ_Cs.h: Likewise.
32488         * lib/unictype/categ_L.h: Likewise.
32489         * lib/unictype/categ_Ll.h: Likewise.
32490         * lib/unictype/categ_Lm.h: Likewise.
32491         * lib/unictype/categ_Lo.h: Likewise.
32492         * lib/unictype/categ_Lt.h: Likewise.
32493         * lib/unictype/categ_Lu.h: Likewise.
32494         * lib/unictype/categ_M.h: Likewise.
32495         * lib/unictype/categ_Mc.h: Likewise.
32496         * lib/unictype/categ_Me.h: Likewise.
32497         * lib/unictype/categ_Mn.h: Likewise.
32498         * lib/unictype/categ_N.h: Likewise.
32499         * lib/unictype/categ_Nd.h: Likewise.
32500         * lib/unictype/categ_Nl.h: Likewise.
32501         * lib/unictype/categ_No.h: Likewise.
32502         * lib/unictype/categ_P.h: Likewise.
32503         * lib/unictype/categ_Pc.h: Likewise.
32504         * lib/unictype/categ_Pd.h: Likewise.
32505         * lib/unictype/categ_Pe.h: Likewise.
32506         * lib/unictype/categ_Pf.h: Likewise.
32507         * lib/unictype/categ_Pi.h: Likewise.
32508         * lib/unictype/categ_Po.h: Likewise.
32509         * lib/unictype/categ_Ps.h: Likewise.
32510         * lib/unictype/categ_S.h: Likewise.
32511         * lib/unictype/categ_Sc.h: Likewise.
32512         * lib/unictype/categ_Sk.h: Likewise.
32513         * lib/unictype/categ_Sm.h: Likewise.
32514         * lib/unictype/categ_So.h: Likewise.
32515         * lib/unictype/categ_Z.h: Likewise.
32516         * lib/unictype/categ_Zl.h: Likewise.
32517         * lib/unictype/categ_Zp.h: Likewise.
32518         * lib/unictype/categ_Zs.h: Likewise.
32519         * lib/unictype/categ_of.h: Likewise.
32520         * lib/unictype/combining.h: Likewise.
32521         * lib/unictype/ctype_alnum.h: Likewise.
32522         * lib/unictype/ctype_alpha.h: Likewise.
32523         * lib/unictype/ctype_blank.h: Likewise.
32524         * lib/unictype/ctype_cntrl.h: Likewise.
32525         * lib/unictype/ctype_digit.h: Likewise.
32526         * lib/unictype/ctype_graph.h: Likewise.
32527         * lib/unictype/ctype_lower.h: Likewise.
32528         * lib/unictype/ctype_print.h: Likewise.
32529         * lib/unictype/ctype_punct.h: Likewise.
32530         * lib/unictype/ctype_space.h: Likewise.
32531         * lib/unictype/ctype_upper.h: Likewise.
32532         * lib/unictype/ctype_xdigit.h: Likewise.
32533         * lib/unictype/decdigit.h: Likewise.
32534         * lib/unictype/digit.h: Likewise.
32535         * lib/unictype/mirror.h: Likewise.
32536         * lib/unictype/numeric.h: Likewise.
32537         * lib/unictype/pr_alphabetic.h: Likewise.
32538         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
32539         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
32540         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
32541         * lib/unictype/pr_bidi_block_separator.h: Likewise.
32542         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
32543         * lib/unictype/pr_bidi_common_separator.h: Likewise.
32544         * lib/unictype/pr_bidi_control.h: Likewise.
32545         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
32546         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
32547         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
32548         * lib/unictype/pr_bidi_european_digit.h: Likewise.
32549         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
32550         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
32551         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
32552         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
32553         * lib/unictype/pr_bidi_pdf.h: Likewise.
32554         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
32555         * lib/unictype/pr_bidi_whitespace.h: Likewise.
32556         * lib/unictype/pr_combining.h: Likewise.
32557         * lib/unictype/pr_composite.h: Likewise.
32558         * lib/unictype/pr_currency_symbol.h: Likewise.
32559         * lib/unictype/pr_dash.h: Likewise.
32560         * lib/unictype/pr_decimal_digit.h: Likewise.
32561         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
32562         * lib/unictype/pr_deprecated.h: Likewise.
32563         * lib/unictype/pr_diacritic.h: Likewise.
32564         * lib/unictype/pr_extender.h: Likewise.
32565         * lib/unictype/pr_format_control.h: Likewise.
32566         * lib/unictype/pr_grapheme_base.h: Likewise.
32567         * lib/unictype/pr_grapheme_extend.h: Likewise.
32568         * lib/unictype/pr_grapheme_link.h: Likewise.
32569         * lib/unictype/pr_hex_digit.h: Likewise.
32570         * lib/unictype/pr_hyphen.h: Likewise.
32571         * lib/unictype/pr_id_continue.h: Likewise.
32572         * lib/unictype/pr_id_start.h: Likewise.
32573         * lib/unictype/pr_ideographic.h: Likewise.
32574         * lib/unictype/pr_ids_binary_operator.h: Likewise.
32575         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
32576         * lib/unictype/pr_ignorable_control.h: Likewise.
32577         * lib/unictype/pr_iso_control.h: Likewise.
32578         * lib/unictype/pr_join_control.h: Likewise.
32579         * lib/unictype/pr_left_of_pair.h: Likewise.
32580         * lib/unictype/pr_line_separator.h: Likewise.
32581         * lib/unictype/pr_logical_order_exception.h: Likewise.
32582         * lib/unictype/pr_lowercase.h: Likewise.
32583         * lib/unictype/pr_math.h: Likewise.
32584         * lib/unictype/pr_non_break.h: Likewise.
32585         * lib/unictype/pr_not_a_character.h: Likewise.
32586         * lib/unictype/pr_numeric.h: Likewise.
32587         * lib/unictype/pr_other_alphabetic.h: Likewise.
32588         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
32589         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
32590         * lib/unictype/pr_other_id_continue.h: Likewise.
32591         * lib/unictype/pr_other_id_start.h: Likewise.
32592         * lib/unictype/pr_other_lowercase.h: Likewise.
32593         * lib/unictype/pr_other_math.h: Likewise.
32594         * lib/unictype/pr_other_uppercase.h: Likewise.
32595         * lib/unictype/pr_paired_punctuation.h: Likewise.
32596         * lib/unictype/pr_paragraph_separator.h: Likewise.
32597         * lib/unictype/pr_pattern_syntax.h: Likewise.
32598         * lib/unictype/pr_pattern_white_space.h: Likewise.
32599         * lib/unictype/pr_private_use.h: Likewise.
32600         * lib/unictype/pr_punctuation.h: Likewise.
32601         * lib/unictype/pr_quotation_mark.h: Likewise.
32602         * lib/unictype/pr_radical.h: Likewise.
32603         * lib/unictype/pr_sentence_terminal.h: Likewise.
32604         * lib/unictype/pr_soft_dotted.h: Likewise.
32605         * lib/unictype/pr_space.h: Likewise.
32606         * lib/unictype/pr_terminal_punctuation.h: Likewise.
32607         * lib/unictype/pr_titlecase.h: Likewise.
32608         * lib/unictype/pr_unassigned_code_value.h: Likewise.
32609         * lib/unictype/pr_unified_ideograph.h: Likewise.
32610         * lib/unictype/pr_uppercase.h: Likewise.
32611         * lib/unictype/pr_variation_selector.h: Likewise.
32612         * lib/unictype/pr_white_space.h: Likewise.
32613         * lib/unictype/pr_xid_continue.h: Likewise.
32614         * lib/unictype/pr_xid_start.h: Likewise.
32615         * lib/unictype/pr_zero_width.h: Likewise.
32616         * lib/unictype/scripts.h: Likewise.
32617         * lib/unictype/scripts_byname.gperf: Likewise.
32618         * lib/unictype/sy_c_ident.h: Likewise.
32619         * lib/unictype/sy_c_whitespace.h: Likewise.
32620         * lib/unictype/sy_java_ident.h: Likewise.
32621         * lib/unictype/sy_java_whitespace.h: Likewise.
32622
32623         * lib/unictype/Makefile: New file.
32624         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
32625         glibc.
32626         * lib/unictype/3level.h: New file, copied from glibc.
32627         * lib/unictype/3levelbit.h: New file.
32628
32629 2007-11-11  Bruno Haible  <bruno@clisp.org>
32630
32631         * modules/gperf: New file.
32632         * modules/iconv_open (Depends-on): Add it.
32633         (Makefile.am): Remove the GPERF definition.
32634
32635 2007-11-11  Bruno Haible  <bruno@clisp.org>
32636
32637         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
32638         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
32639
32640 2007-11-11  Bruno Haible  <bruno@clisp.org>
32641
32642         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
32643         (usage): Remove function.
32644
32645 2007-11-11  Bruno Haible  <bruno@clisp.org>
32646
32647         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
32648         gl_FUNC_CEILF_LIBS.
32649         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
32650         gl_FUNC_CEIL_LIBS.
32651         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
32652         gl_FUNC_CEILL_LIBS.
32653         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
32654         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
32655         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
32656
32657 2007-11-11  Bruno Haible  <bruno@clisp.org>
32658
32659         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
32660         roundf were declared but do not exist on functions.
32661         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
32662         roundl were declared but do not exist on functions.
32663         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
32664         HAVE_FLOORL_AND_CEILL, respectively.
32665         Needed for Sun C on Solaris 10.
32666
32667 2007-11-11  Bruno Haible  <bruno@clisp.org>
32668
32669         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
32670         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
32671         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
32672         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
32673         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
32674         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
32675         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
32676         HAVE_DECL_ROUNDF.
32677         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
32678         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
32679         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
32680         of HAVE_DECL_ROUND*.
32681         * modules/math (Makefile.am): Update.
32682
32683 2007-11-10  Bruno Haible  <bruno@clisp.org>
32684
32685         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
32686         ptrdiff_t as m4/intl.m4.
32687
32688 2007-11-10  Jim Meyering  <meyering@redhat.com>
32689
32690         Avoid link failure for the argmatch test.
32691         * tests/test-argmatch.c (usage): Define function to avoid a link
32692         failure: argmatch_die requires a usage function.
32693
32694 2007-11-09  Bruno Haible  <bruno@clisp.org>
32695
32696         * doc/functions/snprintf.texi: Mention BeOS deficiency.
32697         * doc/functions/vsnprintf.texi: Likewise.
32698         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
32699         with a size argument < 2.
32700
32701 2007-11-09  Bruno Haible  <bruno@clisp.org>
32702
32703         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
32704         buffer. Fixes an inefficiency introduced on 2007-11-03.
32705
32706 2007-11-09  Bruno Haible  <bruno@clisp.org>
32707
32708         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
32709         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
32710
32711 2007-11-08  Jim Meyering  <meyering@redhat.com>
32712
32713         Change cache variable name prefix "jm_" to "gl_" everywhere.
32714         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
32715         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
32716         * m4/uptime.m4: s/gl_/jm_/
32717
32718 2007-11-07  Bruno Haible  <bruno@clisp.org>
32719
32720         Update to GNU gettext 0.17.
32721         * m4/intl.m4: Update to GNU gettext 0.17.
32722         * m4/po.m4: Likewise.
32723         * modules/gettext (Files): Remove m4/ulonglong.m4.
32724         (configure.ac): Require gettext infrastructure from version 0.17.
32725
32726 2007-11-06  Bruno Haible  <bruno@clisp.org>
32727
32728         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
32729         symbolic values are not defined in a public header.
32730         * lib/freadable.c (freadable) [QNX]: Likewise.
32731         * lib/freadahead.c (freadahead) [QNX]: Likewise.
32732         * lib/freading.c (freading) [QNX]: Likewise.
32733         * lib/fseterr.c (fseterr) [QNX]: Likewise.
32734         * lib/fwritable.c (fwritable) [QNX]: Likewise.
32735         * lib/fwriting.c (fwriting) [QNX]: Likewise.
32736         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
32737         Reported by Alain Magloire.
32738
32739         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
32740
32741 2007-11-05  Bruno Haible  <bruno@clisp.org>
32742
32743         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
32744         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
32745         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
32746         Reported by Eric Blake.
32747
32748 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32749             Bruno Haible  <bruno@clisp.org>
32750
32751         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
32752         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
32753         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
32754         (malloc): Undefine also before including <stdlib.h>.
32755         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
32756         Needed on OSF/1 4.0.
32757
32758 2007-11-05  Jim Meyering  <meyering@redhat.com>
32759
32760         git-version-gen: sync from coreutils.
32761         * build-aux/git-version-gen: Add comments.
32762         Change the first '-' to '.' in the snapshot version string,
32763         e.g., 6.9-377-08144 -> 6.9.377-08144
32764         Remove first parameter.
32765         Don't declare a version "-dirty" merely because a time
32766         stamp has changed.
32767
32768 2007-11-04  Bruno Haible  <bruno@clisp.org>
32769
32770         * lib/lock.h: Protect all macro definitions containing an 'if'
32771         statement through a "do { ... } while (0)".
32772         * lib/tls.h: Likewise.
32773
32774 2007-11-04  Bruno Haible  <bruno@clisp.org>
32775
32776         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
32777
32778 2007-11-04  Bruno Haible  <bruno@clisp.org>
32779
32780         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
32781         * modules/fprintf-posix (Depends-on): Add nocrash.
32782         * modules/snprintf-posix (Depends-on): Likewise.
32783         * modules/sprintf-posix (Depends-on): Likewise.
32784         * modules/vasnprintf-posix (Depends-on): Likewise.
32785         * modules/vasprintf-posix (Depends-on): Likewise.
32786         * modules/vfprintf-posix (Depends-on): Likewise.
32787         * modules/vsnprintf-posix (Depends-on): Likewise.
32788         * modules/vsprintf-posix (Depends-on): Likewise.
32789         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32790         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32791         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32792         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32793         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32794         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32795         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32796
32797 2007-11-04  Bruno Haible  <bruno@clisp.org>
32798
32799         * modules/nocrash: New file.
32800         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
32801         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
32802
32803 2007-11-04  Bruno Haible  <bruno@clisp.org>
32804
32805         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
32806         precision handling.
32807         * tests/test-vasprintf-posix.c (test_function): Likewise.
32808         * tests/test-snprintf-posix.h (test_function): Likewise.
32809         * tests/test-sprintf-posix.h (test_function): Likewise.
32810
32811         Fix *printf behaviour for large precisions on mingw and BeOS.
32812         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
32813         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
32814         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
32815         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
32816         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32817         gl_PRINTF_PRECISION and test its result. Invoke
32818         gl_PREREQ_VASNPRINTF_PRECISION.
32819         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32820         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32821         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32822         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32823         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32824         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32825         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32826         * doc/functions/fprintf.texi: Update.
32827         * doc/functions/printf.texi: Update.
32828         * doc/functions/snprintf.texi: Update.
32829         * doc/functions/sprintf.texi: Update.
32830         * doc/functions/vfprintf.texi: Update.
32831         * doc/functions/vprintf.texi: Update.
32832         * doc/functions/vsnprintf.texi: Update.
32833         * doc/functions/vsprintf.texi: Update.
32834
32835 2007-11-04  Bruno Haible  <bruno@clisp.org>
32836
32837         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
32838
32839 2007-11-04  Bruno Haible  <bruno@clisp.org>
32840
32841         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
32842         Reported by Sylvain Beucler <beuc@gnu.org>.
32843
32844 2007-11-03  Bruno Haible  <bruno@clisp.org>
32845
32846         * tests/test-fprintf-posix2.sh: New file.
32847         * tests/test-fprintf-posix2.c: New file.
32848         * modules/fprintf-posix-tests (Files): Add them.
32849         (TESTS): Add test-fprintf-posix2.sh.
32850         (configure.ac): Check for getrlimit and setrlimit.
32851         (check_PROGRAMS): Add test-fprintf-posix2.
32852
32853         * tests/test-printf-posix2.sh: New file.
32854         * tests/test-printf-posix2.c: New file.
32855         * modules/printf-posix-tests (Files): Add them.
32856         (TESTS): Add test-printf-posix2.sh.
32857         (configure.ac): Check for getrlimit and setrlimit.
32858         (check_PROGRAMS): Add test-printf-posix2.
32859
32860         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
32861         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
32862         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
32863         (decode_double): New function, copied from decode_long_double.
32864         (scale10_round_decimal_decoded): New function, extracted from
32865         scale10_round_decimal_long_double.
32866         (scale10_round_decimal_long_double): Use it.
32867         (scale10_round_decimal_double): New function.
32868         (floorlog10): New function.
32869         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
32870         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
32871         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
32872         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32873         gl_PRINTF_ENOMEM and test its result. Invoke
32874         gl_PREREQ_VASNPRINTF_ENOMEM.
32875         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32876         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32877         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32878         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32879         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32880         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32881         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32882         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
32883         * modules/snprintf-posix (Depends-on): Likewise.
32884         * modules/sprintf-posix (Depends-on): Likewise.
32885         * modules/vasnprintf-posix (Depends-on): Likewise.
32886         * modules/vasprintf-posix (Depends-on): Likewise.
32887         * modules/vfprintf-posix (Depends-on): Likewise.
32888         * modules/vsnprintf-posix (Depends-on): Likewise.
32889         * modules/vsprintf-posix (Depends-on): Likewise.
32890         * doc/functions/fprintf.texi: Update.
32891         * doc/functions/printf.texi: Update.
32892         * doc/functions/snprintf.texi: Update.
32893         * doc/functions/sprintf.texi: Update.
32894         * doc/functions/vfprintf.texi: Update.
32895         * doc/functions/vprintf.texi: Update.
32896         * doc/functions/vsnprintf.texi: Update.
32897         * doc/functions/vsprintf.texi: Update.
32898
32899 2007-11-03  Bruno Haible  <bruno@clisp.org>
32900
32901         * modules/frexp-nolibm-tests: New file.
32902
32903         * modules/frexp-nolibm: New file.
32904         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
32905
32906 2007-11-03  Bruno Haible  <bruno@clisp.org>
32907
32908         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
32909         value is C99 compliant.
32910         Needed for OSF/1 5.1.
32911
32912 2007-11-03  Bruno Haible  <bruno@clisp.org>
32913
32914         Fix out-of-memory handling of vasnprintf.
32915         * lib/printf-parse.c: Include <errno.h>.
32916         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
32917         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
32918         is already set.
32919
32920 2007-11-02  Eric Blake  <ebb9@byu.net>
32921
32922         Fix tests on cygwin.
32923         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
32924
32925 2007-11-01  Bruno Haible  <bruno@clisp.org>
32926
32927         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
32928         warning.
32929         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
32930         needed for POSIX compatibility.
32931
32932 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
32933
32934         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
32935         for compatibility with GNU.
32936
32937 2007-11-01  Bruno Haible  <bruno@clisp.org>
32938
32939         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
32940         (putenv): Renamed from rpl_putenv. Change argument type from
32941         'const char *' to 'char *'.
32942         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
32943         of defining putenv in config.h, just set REPLACE_PUTENV.
32944         * modules/putenv (Depends-on): Add stdlib.
32945         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32946         (Include): Use <stdlib.h>.
32947         * lib/stdlib.in.h (putenv): New declaration.
32948         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
32949         REPLACE_PUTENV.
32950         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
32951         REPLACE_PUTENV.
32952         Needed for MacOS X 10.5.0.
32953         Reported by Peter O'Gorman <peter@pogma.com>.
32954
32955 2007-11-01  Jim Meyering  <meyering@redhat.com>
32956
32957         Treat an empty date string exactly like "0".
32958         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
32959         if the remaining date string (to be parsed) is empty, use "0".
32960         Reported by Mischa Molhoek and discussed in this thread:
32961         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
32962
32963 2007-10-31  Bruno Haible  <bruno@clisp.org>
32964
32965         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
32966         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
32967         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
32968         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
32969         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
32970         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
32971
32972 2007-10-31  Bruno Haible  <bruno@clisp.org>
32973
32974         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
32975         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
32976         (AC_TYPE_LONG_LONG_INT): Use it.
32977         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
32978         it as well.
32979         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
32980         to m4/longlong.m4.
32981         * modules/stdint (Files): Remove m4/ulonglong.m4.
32982         * modules/strtoull (Files): Use m4/longlong.m4 instead of
32983         m4/ulonglong.m4.
32984         * modules/strtoumax (Files): Likewise.
32985
32986 2007-10-30  Bruno Haible  <bruno@clisp.org>
32987
32988         * modules/xvasprintf-posix: New file.
32989         Suggested by Eric Blake.
32990
32991 2007-10-30  Bruno Haible  <bruno@clisp.org>
32992
32993         * modules/xprintf-posix-tests: New file.
32994         * tests/test-xprintf-posix.sh: New file.
32995         * tests/test-xprintf-posix.c: New file.
32996         * tests/test-xfprintf-posix.c: New file.
32997
32998         * modules/xprintf-posix: New file.
32999
33000 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33001
33002         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
33003         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
33004         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
33005
33006 2007-10-29  Bruno Haible  <bruno@clisp.org>
33007
33008         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
33009         contain the special marker '_cv_'.
33010         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
33011         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
33012         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
33013         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
33014         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
33015         Reported by Ralf Wildenhues.
33016
33017 2007-10-29  Bruno Haible  <bruno@clisp.org>
33018
33019         * gnulib-tool (func_import): When --lgpl is not specified, set
33020         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
33021         GPLv3.
33022         Reported by Simon Josefsson.
33023
33024 2007-10-28  Bruno Haible  <bruno@clisp.org>
33025
33026         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
33027         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
33028         HAVE_DECL_ISFINITE.
33029         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
33030         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
33031         HAVE_DECL_ISFINITE.
33032
33033 2007-10-28  Bruno Haible  <bruno@clisp.org>
33034
33035         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
33036         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
33037
33038 2007-10-28  Bruno Haible  <bruno@clisp.org>
33039
33040         Fix link errors with Sun C 5.0 on Solaris 10.
33041         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
33042         function is declared but not present in the compiler's libm.
33043         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
33044         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
33045         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
33046         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
33047         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
33048         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
33049         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
33050         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
33051         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
33052         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
33053         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
33054         HAVE_DECL_FLOORL.
33055
33056 2007-10-28  Bruno Haible  <bruno@clisp.org>
33057
33058         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
33059         gl_FUNC_FLOORL. Cache the result.
33060         (gl_FUNC_FLOORL): Use it.
33061         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
33062         gl_FUNC_CEILL. Cache the result.
33063         (gl_FUNC_CEILL): Use it.
33064
33065         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
33066         gl_FUNC_FLOOR. Cache the result.
33067         (gl_FUNC_FLOOR): Use it.
33068         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
33069         gl_FUNC_CEIL. Cache the result.
33070         (gl_FUNC_CEIL): Use it.
33071
33072         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
33073         gl_FUNC_FLOORF. Cache the result.
33074         (gl_FUNC_FLOORF): Use it.
33075         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
33076         gl_FUNC_CEILF. Cache the result.
33077         (gl_FUNC_CEILF): Use it.
33078
33079 2007-10-28  Bruno Haible  <bruno@clisp.org>
33080
33081         * gnulib-tool: Allow specifying the LGPL version number through
33082         --lgpl=2 or --lgpl=3.
33083         (func_usage): Document --lgpl with argument.
33084         Handle --lgpl=... arguments.
33085         (func_import): Recognize also gl_LGPL calls with an argument. When
33086         --lgpl=2 is used and the module's license is just LGPL, report an
33087         error. Set sed_transform_lib_file according to the lgpl variable. In
33088         the generated files, use --lgpl or gl_LGPL invocations with argument,
33089         if necessary.
33090         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
33091         an LGPv2+ license.
33092         * doc/gnulib-tool.texi (Modified imports): Update explanation of
33093         gl_LGPL macro.
33094
33095 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33096             Bruno Haible  <bruno@clisp.org>
33097
33098         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
33099         (u16_uctomb_aux): Likewise.
33100         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
33101         !HAVE_INLINE.
33102         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
33103
33104 2007-10-28  Bruno Haible  <bruno@clisp.org>
33105
33106         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
33107         Invoke AM_GETTEXT_OPTION if it exists.
33108         * modules/vasprintf: Likewise.
33109         * modules/verror: Likewise.
33110         * modules/xprintf: Likewise.
33111         * modules/xvasprintf: Likewise.
33112
33113 2007-10-27  Ben Pfaff  <blp@gnu.org>
33114
33115         * lib/math.in.h: Define isfinite macro and prototypes for
33116         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
33117         implementations.
33118         * m4/math_h.m4: New substitutions for isfinite module.
33119         * lib/isfinite.c: New file.
33120         * m4/isfinite.m4: New file.
33121         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
33122         * modules/isfinite: New file.
33123         * modules/isfinite-tests: New file.
33124         * tests/tests-isfinite.c: New file.
33125         * doc/functions/isfinite.texi: Mention isfinite module.
33126         * MODULES.html.sh: Mention new module.
33127
33128 2007-10-27  Ben Pfaff  <blp@gnu.org>
33129
33130         Ralf Wildenhues reported that Tru64 4.0D declares the round
33131         functions but does not have definitions.
33132         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
33133         cannot be found in any library, set the output variable to
33134         "missing" instead of "".
33135         * m4/round.m4: Also use our substitute if we cannot find round in
33136         any library, even if it is declared.
33137         * m4/roundf.m4: Likewise for roundf.
33138         * m4/roundl.m4: Likewise for roundl.
33139         * lib/math.in.h: Undefine roundf, round, roundl before defining
33140         their replacements, to allow for hypothetical systems where these
33141         may be defined as macros but not available in libraries.
33142
33143 2007-10-27  Bruno Haible  <bruno@clisp.org>
33144
33145         * doc/gnulib.texi: Invoke @firstparagraphindent.
33146         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
33147         changes in gnulib.
33148         (Source changes): New section.
33149
33150 2007-10-26  Bruno Haible  <bruno@clisp.org>
33151
33152         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
33153         borrowed from autoconf.
33154
33155 2007-10-26  Bruno Haible  <bruno@clisp.org>
33156
33157         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
33158         strerror returned the empty string. Needed on HP-UX 11.00.
33159
33160 2007-10-24  Micah Cowan  <micah@cowan.name>
33161
33162         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
33163         * build-aux/bootstrap: Remove support for now-unnecessary option,
33164         --cvs-user, and envvars CVS_USER, CVS_RSH.
33165
33166 2007-10-24  Jim Meyering  <meyering@redhat.com>
33167
33168         Avoid diagnostics from sha1sum when there is no cached checksum.
33169         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
33170         if the po.s1 file hasn't been created yet.
33171
33172         * build-aux/bootstrap: Sync from coreutils:
33173         2007-10-24  Jim Meyering  <meyering@redhat.com>
33174         Get gnulib from the git repository, not from an obsolete cvs one.
33175         * build-aux/bootstrap: Suggestion from Micah Cowan.
33176         2007-10-04  Jim Meyering  <jim@meyering.net>
33177         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
33178         (update_po_files): Work also when there are no .po files in po/.
33179
33180 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33181
33182         * README: Append ".git" to git and cg examples.
33183         Problem reported by Benoit Sigoure.
33184
33185 2007-10-23  Micah Cowan  <micah@cowan.name>
33186
33187         * users.txt: Add wget.
33188
33189 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33190
33191         Fix linking of some unistdio tests on FreeBSD.
33192         * modules/unistdio/u16-vsnprintf-tests
33193         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
33194         * modules/unistdio/u16-vsprintf-tests
33195         (test_u16_vsnprintf1_LDADD): Likewise.
33196         * modules/unistdio/u32-vsnprintf-tests
33197         (test_u32_vsnprintf1_LDADD): Likewise.
33198         * modules/unistdio/u32-vsprintf-tests
33199         (test_u32_vsprintf1_LDADD): Likewise.
33200         * modules/unistdio/u8-vsnprintf-tests
33201         (test_u8_vsnprintf1_LDADD): Likewise.
33202         * modules/unistdio/u8-vsprintf-tests
33203         (test_u8_vsprintf1_LDADD): Likewise.
33204         * modules/unistdio/ulc-vsnprintf-tests
33205         (test_ulc_vsnprintf1_LDADD): Likewise.
33206         * modules/unistdio/ulc-vsprintf-tests
33207         (test_ulc_vsprintf1_LDADD): Likewise.
33208
33209         Fix linking of some uniconv tests on FreeBSD.
33210         * modules/uniconv/u16-conv-from-enc-tests
33211         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
33212         * modules/uniconv/u16-conv-to-enc-tests
33213         (test_u16_conv_to_enc_LDADD): Likewise.
33214         * modules/uniconv/u16-strconv-from-enc-tests
33215         (test_u16_strconv_from_enc_LDADD): Likewise.
33216         * modules/uniconv/u16-strconv-to-enc-tests
33217         (test_u16_strconv_to_enc_LDADD): Likewise.
33218         * modules/uniconv/u32-conv-from-enc-tests
33219         (test_u32_conv_from_enc_LDADD): Likewise.
33220         * modules/uniconv/u32-conv-to-enc-tests
33221         (test_u32_conv_to_enc_LDADD): Likewise.
33222         * modules/uniconv/u32-strconv-from-enc-tests
33223         (test_u32_strconv_from_enc_LDADD): Likewise.
33224         * modules/uniconv/u32-strconv-to-enc-tests
33225         (test_u32_strconv_to_enc_LDADD): Likewise.
33226         * modules/uniconv/u8-conv-from-enc-tests
33227         (test_u8_conv_from_enc_LDADD): Likewise.
33228         * modules/uniconv/u8-conv-to-enc-tests
33229         (test_u8_conv_to_enc_LDADD): Likewise.
33230         * modules/uniconv/u8-strconv-from-enc-tests
33231         (test_u8_strconv_from_enc_LDADD): Likewise.
33232         * modules/uniconv/u8-strconv-to-enc-tests
33233         (test_u8_strconv_to_enc_LDADD): Likewise.
33234
33235 2007-10-22  Bruno Haible  <bruno@clisp.org>
33236
33237         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
33238         size.
33239
33240 2007-10-22  Eric Blake  <ebb9@byu.net>
33241
33242         Tweak x*printf documentation.
33243         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
33244         variable name and comments.
33245         Suggested by Bruno Haible.
33246
33247 2007-10-22  Bruno Haible  <bruno@clisp.org>
33248
33249         * lib/acl.c (copy_acl): Fix file name in comment.
33250
33251 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
33252
33253         Fix Tru64 problem with stdbool.h.
33254         * lib/stdbool.in.h (false, true):
33255         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
33256         Don't declare as an enum in this situation; it runs afoul of Tru64.
33257         Problem reported by Steven M. Schweda in
33258         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
33259
33260 2007-10-22  Eric Blake  <ebb9@byu.net>
33261
33262         Also wrap vf?printf.
33263         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
33264         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
33265         (xvprintf, xvfprintf): New functions.
33266
33267 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33268
33269         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
33270         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
33271
33272         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
33273         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
33274
33275 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
33276
33277         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
33278         by Bruno Haible.
33279
33280 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33281
33282         * lib/getloadavg.c
33283         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
33284         Undef `sys' after including sys/table.h, for Tru64 4.0D.
33285
33286         * tests/test-i-ring.c: Work for C89.
33287
33288 2007-10-22  Bruno Haible  <bruno@clisp.org>
33289
33290         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
33291         -1u, in preprocessor expression, so that we don't test for the bug
33292         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
33293         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
33294
33295 2007-10-22  Eric Blake  <ebb9@byu.net>
33296
33297         * tests/test-yesno.sh: Silence stderr during test.
33298
33299 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33300
33301         * modules/crypto/gc-camellia: New file.
33302
33303         * m4/gc-camellia.m4: New file.
33304
33305         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
33306
33307         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
33308
33309 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33310
33311         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
33312         --help to stdout.  Reported by sms@antinode.org (Steven
33313         M. Schweda).
33314
33315 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33316
33317         * users.txt: Fix link to libksba.
33318
33319 2007-10-21  Ben Pfaff  <blp@gnu.org>
33320
33321         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
33322         round.c roundf implementation that depends on floorf and ceilf to
33323         be tested unconditionally.
33324
33325 2007-10-21  Ben Pfaff  <blp@gnu.org>
33326
33327         * m4/check-libm-func.m4: Removed.
33328         * m4/check-math-lib.m4: New file.
33329         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
33330         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
33331         definition and lack of AC_LIBOBJ([roundf]).
33332         * m4/roundl.m4: Ditto, and similarly for roundl.
33333         * modules/round: Reference new m4 file.
33334         * modules/roundf: Ditto.
33335         * modules/roundl: Ditto.
33336         * tests/test-round2.c (main): Use ROUND instead of round.
33337         Bug report from Bruno Haible.
33338
33339 2007-10-21  Bruno Haible  <bruno@clisp.org>
33340
33341         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
33342         context.
33343
33344 2007-10-21  Bruno Haible  <bruno@clisp.org>
33345
33346         * tests/test-wcwidth.c (main): Allow negative result for some control
33347         characters.
33348
33349         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
33350         Needed on OSF/1 5.1.
33351
33352 2007-10-21  Bruno Haible  <bruno@clisp.org>
33353
33354         * tests/test-floorf1.c: Include isnanf.h.
33355         (main): Use isnanf() instead of isnan().
33356         * tests/test-ceilf1.c: Include isnanf.h.
33357         (main): Use isnanf() instead of isnan().
33358         * tests/test-truncf1.c: Include isnanf.h.
33359         (main): Use isnanf() instead of isnan().
33360         * tests/test-roundf1.c: Include isnanf.h.
33361         (main): Use isnanf() instead of isnan().
33362
33363 2007-10-21  Eric Blake  <ebb9@byu.net>
33364
33365         * users.txt: Update URL for m4.
33366
33367 2007-10-21  Bruno Haible  <bruno@clisp.org>
33368
33369         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
33370
33371 2007-10-21  Bruno Haible  <bruno@clisp.org>
33372
33373         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
33374         Git's management files if the CVS files are not present.
33375
33376 2007-10-20  Bruno Haible  <bruno@clisp.org>
33377
33378         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
33379         gcc-3.4.x.
33380
33381 2007-10-20  Ben Pfaff  <blp@gnu.org>
33382
33383         * lib/math.in.h: Declare round, roundf, roundl if we are providing
33384         implementations.
33385         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
33386         * lib/round.c: New file.
33387         * lib/roundf.c: New file.
33388         * lib/roundl.c: New file.
33389         * m4/round.m4: New file.
33390         * m4/roundf.m4: New file.
33391         * m4/roundl.m4: New file.
33392         * m4/check-libm-func-m4: New file.
33393         * modules/math: Replace round, roundf, roundl related @VARS@ in
33394         math.in.h.
33395         * modules/round: New file.
33396         * modules/round-tests: New file.
33397         * modules/roundf: New file.
33398         * modules/roundf-tests: New file.
33399         * modules/roundl: New file.
33400         * modules/roundl-tests: New file.
33401         * tests/test-round1.c: New file.
33402         * tests/test-round2.c: New file.
33403         * tests/test-roundf1.c: New file.
33404         * tests/test-roundf2.c: New file.
33405         * tests/test-roundl.c: New file.
33406         * doc/functions/round.texi: Mention round module.
33407         * doc/functions/roundf.texi: Mention roundf module.
33408         * doc/functions/roundl.texi: Mention roundl module.
33409         * MODULES.html.sh: Mention new modules.
33410         Thanks to Bruno Haible for suggestions.
33411
33412 2007-10-20  Jim Meyering  <meyering@redhat.com>
33413
33414         * lib/xprintf.c: Include <config.h> unconditionally.
33415
33416         Change xprintf's license to GPL.
33417         * modules/xprintf (License): s/LGPL/GPL/, since this module
33418         depends on modules (exit and exitfail) which are GPL.
33419         Suggestion from Bruno Haible.
33420
33421         xprintf fixes.
33422         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
33423         Use a clearer diagnostic.
33424         Patch from Bruno Haible.
33425
33426 2007-10-20  Bruno Haible  <bruno@clisp.org>
33427
33428         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
33429         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
33430         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33431
33432 2007-10-20  Bruno Haible  <bruno@clisp.org>
33433
33434         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
33435         precision in the comparison result > x - 1 or similar.
33436         * tests/test-ceilf2.c (correct_result_p): Likewise.
33437         * tests/test-truncf2.c (correct_result_p): Likewise.
33438         * tests/test-trunc2.c (correct_result_p): Likewise.
33439         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33440
33441 2007-10-20  Bruno Haible  <bruno@clisp.org>
33442
33443         * modules/ceil: New file.
33444         * m4/ceil.m4: New file.
33445         * doc/functions/ceil.texi: Mention the 'ceil' module.
33446
33447 2007-10-20  Bruno Haible  <bruno@clisp.org>
33448
33449         * modules/floor: New file.
33450         * m4/floor.m4: New file.
33451         * doc/functions/floor.texi: Mention the 'floor' module.
33452
33453 2007-10-20  Bruno Haible  <bruno@clisp.org>
33454
33455         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
33456         of %a.
33457         * modules/floorf-tests (Depends-on): Likewise.
33458         * modules/truncf-tests (Depends-on): Likewise.
33459         * modules/trunc-tests (Depends-on): Likewise.
33460         Reported by Ben Pfaff.
33461
33462 2007-10-19  Jim Meyering  <meyering@redhat.com>
33463
33464         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
33465         Don't bother testing specific errno values.  Just test ferror.
33466
33467         New module: xprintf
33468         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
33469
33470 2007-10-19  Bruno Haible  <bruno@clisp.org>
33471
33472         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
33473         syntax.
33474         * modules/javaexec (Makefile.am): Likewise.
33475         * modules/relocatable-prog (Makefile.am): Likewise.
33476         Suggested by Jim Meyering.
33477
33478 2007-10-18  Bruno Haible  <bruno@clisp.org>
33479
33480         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
33481         Reported by Jim Meyering.
33482
33483 2007-10-18  Eric Blake  <ebb9@byu.net>
33484
33485         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
33486
33487 2007-10-18  Bruno Haible  <bruno@clisp.org>
33488
33489         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
33490         the format string into writable memory. Needed in Fortify conditions.
33491
33492 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
33493             Bruno Haible  <bruno@clisp.org>
33494
33495         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
33496         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
33497         * modules/trim (Depends-on): Add mbchar.
33498         (configure.ac): Add gl_FUNC_MBRTOWC.
33499         (Makefile.am): Augment lib_SOURCES.
33500
33501 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
33502
33503         Modify glob.c to use fstatat and dirfd, to simplify it.
33504         Suggested by Eric Blake.
33505         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
33506         Don't include <stdbool.h>; not used.
33507         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
33508         (link_exists_p): Simplify implementation, since we can now assume
33509         dirfd and fstatat.
33510         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
33511
33512 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33513
33514         * gnulib-tool (func_get_dependencies): Fix sed script to
33515         match only tests.
33516
33517 2007-10-17  Bruno Haible  <bruno@clisp.org>
33518
33519         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
33520         allow locale names without encoding suffix.
33521         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
33522         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
33523
33524 2007-10-16  Bruno Haible  <bruno@clisp.org>
33525
33526         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
33527         * lib/getgroups.c (getgroups): Likewise.
33528         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
33529
33530 2007-10-16  Bruno Haible  <bruno@clisp.org>
33531
33532         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
33533         * modules/malloc-posix (License): Likewise.
33534         * modules/realloc-posix (License): Likewise.
33535         * modules/calloc-posix (License): Likewise.
33536         * modules/intprops (License): Change from GPL to LGPL, with
33537         Paul Eggert's approval.
33538
33539 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33540
33541         Merge glibc changes into lib/glob.c.
33542
33543         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
33544         2007-10-15 04:59:03 UTC.  Here are the changes:
33545
33546         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
33547
33548         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
33549
33550         * lib/glob.c: Add some branch prediction throughout.
33551
33552         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
33553
33554         [BZ #5103]
33555         * lib/glob.c (glob): Recognize patterns starting \/.
33556
33557         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
33558
33559         [BZ #3996]
33560         * lib/glob.c (attribute_hidden): Define if not defined.
33561         (glob): Unescape dirname, filename or username when needed and not
33562         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
33563         is NULL.  Handle unescaped [ in pattern without closing ].
33564         Don't pass GLOB_CHECK down to recursive glob for directories.
33565         (__glob_pattern_type): New function.
33566         (__glob_pattern_p): Implement using __glob_pattern_type.
33567         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
33568         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
33569         Remove unreachable code.
33570
33571         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
33572
33573         * lib/glob.c (glob_in_dir): Add some comments and asserts to
33574         explain why there are no leaks.
33575
33576         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
33577
33578         [BZ #3253]
33579         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
33580         time, rather allocate increasingly bigger arrays of pointers, if
33581         possible with alloca, if too large with malloc.
33582
33583 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33584
33585         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
33586         Problem reported by H.Merijn Brand in
33587         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
33588         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
33589         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
33590
33591 2007-10-15  Bruno Haible  <bruno@clisp.org>
33592
33593         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
33594         with explicit rpl_ prefix.
33595         * lib/fopen.c (fopen): Likewise.
33596         * lib/freopen.c (freopen): Likewise.
33597         * lib/iconv.c (iconv): Likewise.
33598         * lib/iconv_close.c (iconv_close): Likewise.
33599
33600 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33601
33602         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
33603
33604 2007-10-15  Bruno Haible  <bruno@clisp.org>
33605
33606         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
33607         <stddef.h> instead of <stdlib.h> since we only need NULL.
33608         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33609
33610 2007-10-15  Bruno Haible  <bruno@clisp.org>
33611
33612         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
33613         Replace paragraph talking about LIBOBJS.
33614         Reported by Colin Watson <cjwatson@debian.org>.
33615
33616 2007-10-15  Bruno Haible  <bruno@clisp.org>
33617
33618         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
33619         <stdlib.h> before using NULL.
33620
33621 2007-10-15  Simon Josefsson  <simon@josefsson.org>
33622
33623         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
33624         Reported by Albert Chin <china@thewrittenword.com>.
33625
33626 2007-10-14  Bruno Haible  <bruno@clisp.org>
33627
33628         * modules/iconv_open-utf-tests: New file.
33629         * tests/test-iconv-utf.c: New file.
33630
33631         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
33632         * modules/iconv_open-utf: New file.
33633         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
33634         (iconv, iconv_close): New declarations.
33635         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
33636         be defined.
33637         (iconv_open): Add special handling of conversion between UTF-8 and
33638         UTF-{16,32}{BE,LE}.
33639         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
33640         * lib/iconv_close.c: New file.
33641         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
33642         gl_FUNC_ICONV_OPEN.
33643         (gl_FUNC_ICONV_OPEN): Use it.
33644         (gl_FUNC_ICONV_OPEN_UTF): New macro.
33645         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
33646         and REPLACE_ICONV_UTF.
33647         * modules/iconv_open (Depends-on): Add c-strcase.
33648         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
33649         ICONV_CONST.
33650         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
33651
33652 2007-10-13  Albert Chin  <china@thewrittenword.com>
33653             Bruno Haible  <bruno@clisp.org>
33654
33655         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
33656         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
33657
33658 2007-10-13  Bruno Haible  <bruno@clisp.org>
33659
33660         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
33661         defined, use the ISO C99 inline semantics.
33662         * lib/argp.h (ARGP_EI): Likewise.
33663
33664 2007-10-13  Bruno Haible  <bruno@clisp.org>
33665
33666         Handle 'inline' change in gcc 4.3.0.
33667         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
33668         argp_fmtstream_write, argp_fmtstream_set_lmargin,
33669         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
33670         argp_fmtstream_point): Disable 'extern' declaration if the function
33671         definition is going to be provided inline.
33672         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
33673         semantics, not the ISO C99 inline semantics.
33674         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
33675         'extern' declaration if the function definition is going to be provided
33676         inline.
33677         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
33678         the GNU C inline semantics, not the ISO C99 inline semantics. With
33679         GCC 4.2, avoid a warning.
33680
33681 2007-10-13  Bruno Haible  <bruno@clisp.org>
33682
33683         * lib/freading.h (freading): Enable the use of __freading for
33684         glibc >= 2.7.
33685         * lib/freading.c (freading): Likewise.
33686
33687 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
33688
33689         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
33690         "warning: C99 inline functions are not supported; using GNU89".
33691
33692 2007-10-12  Bruno Haible  <bruno@clisp.org>
33693
33694         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
33695         of 2.
33696         * tests/test-ceilf2.c: New file.
33697         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
33698
33699         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
33700         * modules/ceilf-tests: Update.
33701
33702 2007-10-12  Bruno Haible  <bruno@clisp.org>
33703
33704         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
33705         of 2.
33706         * tests/test-floorf2.c: New file.
33707         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
33708
33709         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
33710         * modules/floorf-tests: Update.
33711
33712 2007-10-12  Bruno Haible  <bruno@clisp.org>
33713
33714         * tests/test-trunc2.c: New file.
33715         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
33716
33717         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
33718         * modules/trunc-tests: Update.
33719
33720 2007-10-12  Bruno Haible  <bruno@clisp.org>
33721
33722         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
33723         of 2.
33724         * tests/test-truncf2.c: New file.
33725         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
33726
33727         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
33728         * modules/truncf-tests: Update.
33729
33730 2007-10-11  Eric Blake  <ebb9@byu.net>
33731
33732         Don't claim strerror is broken on Interix.
33733         * doc/functions/strerror.texi (strerror): Known broken systems are
33734         now Solaris 8, and not Interix.
33735         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
33736         Interix on cross-compile.
33737         Reported by Martin Koeppe in
33738         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
33739
33740 2007-10-11  Bruno Haible  <bruno@clisp.org>
33741
33742         * modules/i-ring-tests: New file.
33743         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
33744         instead of assert.
33745
33746 2007-10-11  Bruno Haible  <bruno@clisp.org>
33747
33748         * modules/filenamecat-tests: New file.
33749         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
33750         * lib/filenamecat.c: Remove test code.
33751
33752 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
33753
33754         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
33755
33756         * lib/strerror.c: Include <string.h> always, to test interface,
33757         and to remove the need for the dummy.
33758         Include intprops.h to compute width instead of doing it ourselves
33759         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
33760         (strerror): Define it to return NULL if there's no system strerror.
33761         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
33762         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
33763         ancient pre-strerror Unix systems well any more.  Saying "unknown
33764         system error" is enough.
33765         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
33766         simpler strerror.c implementation.
33767         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
33768         Simplify the tests to reflect the simpler strerror implementation.
33769         * modules/strerror (Depends-on): Add intprops.
33770
33771 2007-10-09  Eric Blake  <ebb9@byu.net>
33772
33773         Silence test-fpending.
33774         * modules/fpending-tests (Files): Add wrapper script.
33775         * tests/test-fpending.sh: New file.
33776
33777 2007-10-09  Bruno Haible  <bruno@clisp.org>
33778
33779         * MODULES.html.sh (func_module): Don't create a hyperlink for
33780         function names like 'printf_frexp'.
33781         (Misc): Add crc, memxor.
33782         (Characteristics of floating types): New section.
33783         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
33784         isnanf-nolibm, signbit, trunc, truncf, truncl.
33785         (Enhancements for ISO C 99 functions): New subsection Input/output.
33786         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
33787         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
33788         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
33789         (Compatibility checks for POSIX:2001 functions): Add clock-time.
33790         (Enhancements for POSIX:2001 functions): Add chdir-long.
33791         (File system functions): Add areadlink, chdir-safer, read-file.
33792         Remove cycle-check.
33793         (File system as inode set): New section.
33794         (Date and time): Add gethrxtime.
33795         (Multithreading): Add openmp.
33796         (Internationalization functions): Add localename.
33797         (Unicode string functions): Add unistr/u*-mbsnlen.
33798         (Support for maintaining and releasing projects): Add git-version-gen.
33799         (Lone files): Remove directories.
33800
33801 2007-10-08  Ben Pfaff  <blp@gnu.org>
33802
33803         * lib/xmalloca.h: Fix typo in comment.
33804
33805 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
33806
33807         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
33808         when avoiding problems with integer overflow.  Use a portable test
33809         instead.
33810
33811 2007-10-08  Simon Josefsson  <simon@josefsson.org>
33812
33813         * modules/dummy (License): Change to LGPLv2+.
33814         * modules/float (License): Likewise
33815         * modules/realloc (License): Likewise
33816         * modules/stdlib (License): Likewise
33817
33818 2007-10-07  Bruno Haible  <bruno@clisp.org>
33819
33820         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
33821         * floor.c (TWO_MANT_DIG): Likewise.
33822         * ceil.c (TWO_MANT_DIG): Likewise.
33823         Reported by Ben Pfaff.
33824
33825 2007-10-07  Bruno Haible  <bruno@clisp.org>
33826
33827         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
33828         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
33829         * lib/frexp.c (FUNC): Likewise.
33830         * lib/printf-frexp.h (printf_frexp): Likewise.
33831         * lib/printf-frexpl.h (printf_frexpl): Likewise.
33832         * lib/printf-frexp.c (FUNC): Likewise.
33833         Suggested by Jim Meyering.
33834
33835 2007-10-07  Jim Meyering  <meyering@redhat.com>
33836
33837         Make xnanosleep's integer overflow test more robust.
33838         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
33839         so that gcc-4.3.0 doesn't optimize away this test for overflow.
33840
33841 2007-10-07  Bruno Haible  <bruno@clisp.org>
33842
33843         * NEWS: Mention the license change.
33844
33845         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
33846         abbreviations in the modules files.
33847
33848         Change copyright notice from GPLv2+ to GPLv3+.
33849         * README: Change copyright notice.
33850         * MODULES.html.sh: Likewise.
33851         * build-aux/bootstrap.conf: Likewise.
33852         * build-aux/config.libpath: Likewise.
33853         * build-aux/csharpcomp.sh.in: Likewise.
33854         * build-aux/csharpexec.sh.in: Likewise.
33855         * build-aux/install-reloc: Likewise.
33856         * build-aux/javacomp.sh.in: Likewise.
33857         * build-aux/javaexec.sh.in: Likewise.
33858         * build-aux/ldd.sh.in: Likewise.
33859         * build-aux/reloc-ldflags: Likewise.
33860         * build-aux/relocatable.sh.in: Likewise.
33861         * build-aux/x-to-1.in: Likewise.
33862         * check-module: Likewise.
33863         * config/srclistvars.sh: Likewise.
33864         * gnulib-tool: Likewise.
33865         * lib/acl-internal.h: Likewise.
33866         * lib/acl.c: Likewise.
33867         * lib/acl.h: Likewise.
33868         * lib/acl_entries.c: Likewise.
33869         * lib/areadlink-with-size.c: Likewise.
33870         * lib/areadlink.c: Likewise.
33871         * lib/areadlink.h: Likewise.
33872         * lib/argmatch.c: Likewise.
33873         * lib/argmatch.h: Likewise.
33874         * lib/argp-ba.c: Likewise.
33875         * lib/argp-eexst.c: Likewise.
33876         * lib/argp-fmtstream.c: Likewise.
33877         * lib/argp-fmtstream.h: Likewise.
33878         * lib/argp-fs-xinl.c: Likewise.
33879         * lib/argp-help.c: Likewise.
33880         * lib/argp-namefrob.h: Likewise.
33881         * lib/argp-parse.c: Likewise.
33882         * lib/argp-pin.c: Likewise.
33883         * lib/argp-pv.c: Likewise.
33884         * lib/argp-pvh.c: Likewise.
33885         * lib/argp-xinl.c: Likewise.
33886         * lib/argp.h: Likewise.
33887         * lib/at-func.c: Likewise.
33888         * lib/atanl.c: Likewise.
33889         * lib/backupfile.c: Likewise.
33890         * lib/backupfile.h: Likewise.
33891         * lib/basename.c: Likewise.
33892         * lib/binary-io.h: Likewise.
33893         * lib/byteswap.in.h: Likewise.
33894         * lib/c-stack.c: Likewise.
33895         * lib/c-stack.h: Likewise.
33896         * lib/c-strcasestr.c: Likewise.
33897         * lib/c-strcasestr.h: Likewise.
33898         * lib/c-strstr.c: Likewise.
33899         * lib/c-strstr.h: Likewise.
33900         * lib/c-strtod.c: Likewise.
33901         * lib/calloc.c: Likewise.
33902         * lib/canon-host.c: Likewise.
33903         * lib/canon-host.h: Likewise.
33904         * lib/canonicalize-lgpl.c: Likewise.
33905         * lib/canonicalize.c: Likewise.
33906         * lib/canonicalize.h: Likewise.
33907         * lib/ceil.c: Likewise.
33908         * lib/ceilf.c: Likewise.
33909         * lib/ceill.c: Likewise.
33910         * lib/chdir-long.c: Likewise.
33911         * lib/chdir-long.h: Likewise.
33912         * lib/chdir-safer.c: Likewise.
33913         * lib/chdir-safer.h: Likewise.
33914         * lib/chown.c: Likewise.
33915         * lib/classpath.c: Likewise.
33916         * lib/classpath.h: Likewise.
33917         * lib/clean-temp.c: Likewise.
33918         * lib/clean-temp.h: Likewise.
33919         * lib/cloexec.c: Likewise.
33920         * lib/close-stream.c: Likewise.
33921         * lib/closein.c: Likewise.
33922         * lib/closein.h: Likewise.
33923         * lib/closeout.c: Likewise.
33924         * lib/closeout.h: Likewise.
33925         * lib/concat-filename.c: Likewise.
33926         * lib/copy-file.c: Likewise.
33927         * lib/copy-file.h: Likewise.
33928         * lib/count-one-bits.h: Likewise.
33929         * lib/crc.c: Likewise.
33930         * lib/crc.h: Likewise.
33931         * lib/creat-safer.c: Likewise.
33932         * lib/csharpcomp.c: Likewise.
33933         * lib/csharpcomp.h: Likewise.
33934         * lib/csharpexec.c: Likewise.
33935         * lib/csharpexec.h: Likewise.
33936         * lib/cycle-check.c: Likewise.
33937         * lib/cycle-check.h: Likewise.
33938         * lib/diacrit.c: Likewise.
33939         * lib/diacrit.h: Likewise.
33940         * lib/diffseq.h: Likewise.
33941         * lib/dirchownmod.c: Likewise.
33942         * lib/dirent.in.h: Likewise.
33943         * lib/dirfd.c: Likewise.
33944         * lib/dirfd.h: Likewise.
33945         * lib/dirname.c: Likewise.
33946         * lib/dirname.h: Likewise.
33947         * lib/dummy.c: Likewise.
33948         * lib/dup-safer.c: Likewise.
33949         * lib/dup2.c: Likewise.
33950         * lib/eealloc.h: Likewise.
33951         * lib/error.c: Likewise.
33952         * lib/error.h: Likewise.
33953         * lib/euidaccess.c: Likewise.
33954         * lib/exclude.c: Likewise.
33955         * lib/exclude.h: Likewise.
33956         * lib/execute.c: Likewise.
33957         * lib/execute.h: Likewise.
33958         * lib/exitfail.c: Likewise.
33959         * lib/exitfail.h: Likewise.
33960         * lib/expl.c: Likewise.
33961         * lib/fatal-signal.c: Likewise.
33962         * lib/fatal-signal.h: Likewise.
33963         * lib/fbufmode.c: Likewise.
33964         * lib/fbufmode.h: Likewise.
33965         * lib/fchdir.c: Likewise.
33966         * lib/fchmodat.c: Likewise.
33967         * lib/fchownat.c: Likewise.
33968         * lib/fcntl--.h: Likewise.
33969         * lib/fcntl-safer.h: Likewise.
33970         * lib/fcntl.in.h: Likewise.
33971         * lib/fd-safer.c: Likewise.
33972         * lib/fflush.c: Likewise.
33973         * lib/file-has-acl.c: Likewise.
33974         * lib/file-set.c: Likewise.
33975         * lib/file-type.c: Likewise.
33976         * lib/file-type.h: Likewise.
33977         * lib/fileblocks.c: Likewise.
33978         * lib/filemode.c: Likewise.
33979         * lib/filemode.h: Likewise.
33980         * lib/filename.h: Likewise.
33981         * lib/filenamecat.c: Likewise.
33982         * lib/filenamecat.h: Likewise.
33983         * lib/findprog.c: Likewise.
33984         * lib/findprog.h: Likewise.
33985         * lib/float.in.h: Likewise.
33986         * lib/floor.c: Likewise.
33987         * lib/floorf.c: Likewise.
33988         * lib/floorl.c: Likewise.
33989         * lib/fopen-safer.c: Likewise.
33990         * lib/fopen.c: Likewise.
33991         * lib/fpending.c: Likewise.
33992         * lib/fpending.h: Likewise.
33993         * lib/fprintf.c: Likewise.
33994         * lib/fprintftime.h: Likewise.
33995         * lib/fpucw.h: Likewise.
33996         * lib/fpurge.c: Likewise.
33997         * lib/fpurge.h: Likewise.
33998         * lib/freadable.c: Likewise.
33999         * lib/freadable.h: Likewise.
34000         * lib/freadahead.c: Likewise.
34001         * lib/freadahead.h: Likewise.
34002         * lib/freading.c: Likewise.
34003         * lib/freading.h: Likewise.
34004         * lib/free.c: Likewise.
34005         * lib/freopen.c: Likewise.
34006         * lib/frexp.c: Likewise.
34007         * lib/frexpl.c: Likewise.
34008         * lib/fseek.c: Likewise.
34009         * lib/fseterr.c: Likewise.
34010         * lib/fseterr.h: Likewise.
34011         * lib/fstatat.c: Likewise.
34012         * lib/fstrcmp.c: Likewise.
34013         * lib/fstrcmp.h: Likewise.
34014         * lib/fsusage.c: Likewise.
34015         * lib/fsusage.h: Likewise.
34016         * lib/ftell.c: Likewise.
34017         * lib/ftello.c: Likewise.
34018         * lib/fts-cycle.c: Likewise.
34019         * lib/fts.c: Likewise.
34020         * lib/fts_.h: Likewise.
34021         * lib/full-read.c: Likewise.
34022         * lib/full-read.h: Likewise.
34023         * lib/full-write.c: Likewise.
34024         * lib/full-write.h: Likewise.
34025         * lib/fwritable.c: Likewise.
34026         * lib/fwritable.h: Likewise.
34027         * lib/fwriteerror.c: Likewise.
34028         * lib/fwriteerror.h: Likewise.
34029         * lib/fwriting.c: Likewise.
34030         * lib/fwriting.h: Likewise.
34031         * lib/gcd.c: Likewise.
34032         * lib/gcd.h: Likewise.
34033         * lib/getcwd.c: Likewise.
34034         * lib/getdate.h: Likewise.
34035         * lib/getdate.y: Likewise.
34036         * lib/getdomainname.c: Likewise.
34037         * lib/getdomainname.h: Likewise.
34038         * lib/getgroups.c: Likewise.
34039         * lib/gethostname.c: Likewise.
34040         * lib/gethrxtime.c: Likewise.
34041         * lib/gethrxtime.h: Likewise.
34042         * lib/getloadavg.c: Likewise.
34043         * lib/getndelim2.c: Likewise.
34044         * lib/getndelim2.h: Likewise.
34045         * lib/getnline.c: Likewise.
34046         * lib/getnline.h: Likewise.
34047         * lib/getopt.c: Likewise.
34048         * lib/getopt.in.h: Likewise.
34049         * lib/getopt1.c: Likewise.
34050         * lib/getopt_int.h: Likewise.
34051         * lib/getpagesize.h: Likewise.
34052         * lib/getsubopt.c: Likewise.
34053         * lib/gettime.c: Likewise.
34054         * lib/getugroups.c: Likewise.
34055         * lib/getugroups.h: Likewise.
34056         * lib/getusershell.c: Likewise.
34057         * lib/gl_anyavltree_list1.h: Likewise.
34058         * lib/gl_anyavltree_list2.h: Likewise.
34059         * lib/gl_anyhash_list1.h: Likewise.
34060         * lib/gl_anyhash_list2.h: Likewise.
34061         * lib/gl_anylinked_list1.h: Likewise.
34062         * lib/gl_anylinked_list2.h: Likewise.
34063         * lib/gl_anyrbtree_list1.h: Likewise.
34064         * lib/gl_anyrbtree_list2.h: Likewise.
34065         * lib/gl_anytree_list1.h: Likewise.
34066         * lib/gl_anytree_list2.h: Likewise.
34067         * lib/gl_anytree_oset.h: Likewise.
34068         * lib/gl_anytreehash_list1.h: Likewise.
34069         * lib/gl_anytreehash_list2.h: Likewise.
34070         * lib/gl_array_list.c: Likewise.
34071         * lib/gl_array_list.h: Likewise.
34072         * lib/gl_array_oset.c: Likewise.
34073         * lib/gl_array_oset.h: Likewise.
34074         * lib/gl_avltree_list.c: Likewise.
34075         * lib/gl_avltree_list.h: Likewise.
34076         * lib/gl_avltree_oset.c: Likewise.
34077         * lib/gl_avltree_oset.h: Likewise.
34078         * lib/gl_avltreehash_list.c: Likewise.
34079         * lib/gl_avltreehash_list.h: Likewise.
34080         * lib/gl_carray_list.c: Likewise.
34081         * lib/gl_carray_list.h: Likewise.
34082         * lib/gl_linked_list.c: Likewise.
34083         * lib/gl_linked_list.h: Likewise.
34084         * lib/gl_linkedhash_list.c: Likewise.
34085         * lib/gl_linkedhash_list.h: Likewise.
34086         * lib/gl_list.c: Likewise.
34087         * lib/gl_list.h: Likewise.
34088         * lib/gl_oset.c: Likewise.
34089         * lib/gl_oset.h: Likewise.
34090         * lib/gl_rbtree_list.c: Likewise.
34091         * lib/gl_rbtree_list.h: Likewise.
34092         * lib/gl_rbtree_oset.c: Likewise.
34093         * lib/gl_rbtree_oset.h: Likewise.
34094         * lib/gl_rbtreehash_list.c: Likewise.
34095         * lib/gl_rbtreehash_list.h: Likewise.
34096         * lib/gl_sublist.c: Likewise.
34097         * lib/gl_sublist.h: Likewise.
34098         * lib/group-member.c: Likewise.
34099         * lib/group-member.h: Likewise.
34100         * lib/hard-locale.c: Likewise.
34101         * lib/hard-locale.h: Likewise.
34102         * lib/hash-pjw.c: Likewise.
34103         * lib/hash-pjw.h: Likewise.
34104         * lib/hash-triple.c: Likewise.
34105         * lib/hash.c: Likewise.
34106         * lib/hash.h: Likewise.
34107         * lib/human.c: Likewise.
34108         * lib/human.h: Likewise.
34109         * lib/i-ring.c: Likewise.
34110         * lib/i-ring.h: Likewise.
34111         * lib/idcache.c: Likewise.
34112         * lib/imaxabs.c: Likewise.
34113         * lib/imaxdiv.c: Likewise.
34114         * lib/inet_pton.c: Likewise.
34115         * lib/inet_pton.h: Likewise.
34116         * lib/intprops.h: Likewise.
34117         * lib/inttostr.c: Likewise.
34118         * lib/inttostr.h: Likewise.
34119         * lib/inttypes.in.h: Likewise.
34120         * lib/isapipe.c: Likewise.
34121         * lib/isdir.c: Likewise.
34122         * lib/isnan.c: Likewise.
34123         * lib/isnan.h: Likewise.
34124         * lib/isnanf.c: Likewise.
34125         * lib/isnanf.h: Likewise.
34126         * lib/isnanl-nolibm.h: Likewise.
34127         * lib/isnanl.c: Likewise.
34128         * lib/isnanl.h: Likewise.
34129         * lib/javacomp.c: Likewise.
34130         * lib/javacomp.h: Likewise.
34131         * lib/javaexec.c: Likewise.
34132         * lib/javaexec.h: Likewise.
34133         * lib/javaversion.c: Likewise.
34134         * lib/javaversion.h: Likewise.
34135         * lib/javaversion.java: Likewise.
34136         * lib/lbrkprop.h: Likewise.
34137         * lib/lchmod.h: Likewise.
34138         * lib/lchown.c: Likewise.
34139         * lib/ldexpl.c: Likewise.
34140         * lib/linebreak.c: Likewise.
34141         * lib/linebreak.h: Likewise.
34142         * lib/linebuffer.c: Likewise.
34143         * lib/linebuffer.h: Likewise.
34144         * lib/locale.in.h: Likewise.
34145         * lib/logl.c: Likewise.
34146         * lib/long-options.c: Likewise.
34147         * lib/long-options.h: Likewise.
34148         * lib/lstat.c: Likewise.
34149         * lib/lstat.h: Likewise.
34150         * lib/math.in.h: Likewise.
34151         * lib/mbchar.c: Likewise.
34152         * lib/mbchar.h: Likewise.
34153         * lib/mbfile.h: Likewise.
34154         * lib/mbiter.h: Likewise.
34155         * lib/mbscasecmp.c: Likewise.
34156         * lib/mbscasestr.c: Likewise.
34157         * lib/mbschr.c: Likewise.
34158         * lib/mbscspn.c: Likewise.
34159         * lib/mbslen.c: Likewise.
34160         * lib/mbsncasecmp.c: Likewise.
34161         * lib/mbsnlen.c: Likewise.
34162         * lib/mbspbrk.c: Likewise.
34163         * lib/mbspcasecmp.c: Likewise.
34164         * lib/mbsrchr.c: Likewise.
34165         * lib/mbssep.c: Likewise.
34166         * lib/mbsspn.c: Likewise.
34167         * lib/mbsstr.c: Likewise.
34168         * lib/mbstok_r.c: Likewise.
34169         * lib/mbswidth.c: Likewise.
34170         * lib/mbswidth.h: Likewise.
34171         * lib/mbuiter.h: Likewise.
34172         * lib/memcasecmp.c: Likewise.
34173         * lib/memcasecmp.h: Likewise.
34174         * lib/memchr.c: Likewise.
34175         * lib/memcmp.c: Likewise.
34176         * lib/memcoll.c: Likewise.
34177         * lib/memcoll.h: Likewise.
34178         * lib/memcpy.c: Likewise.
34179         * lib/memrchr.c: Likewise.
34180         * lib/mkancesdirs.c: Likewise.
34181         * lib/mkdir-p.c: Likewise.
34182         * lib/mkdir-p.h: Likewise.
34183         * lib/mkdir.c: Likewise.
34184         * lib/mkdirat.c: Likewise.
34185         * lib/mkdtemp.c: Likewise.
34186         * lib/mkstemp-safer.c: Likewise.
34187         * lib/mkstemp.c: Likewise.
34188         * lib/modechange.c: Likewise.
34189         * lib/modechange.h: Likewise.
34190         * lib/mountlist.c: Likewise.
34191         * lib/mountlist.h: Likewise.
34192         * lib/mpsort.c: Likewise.
34193         * lib/nanosleep.c: Likewise.
34194         * lib/obstack.c: Likewise.
34195         * lib/obstack.h: Likewise.
34196         * lib/open-safer.c: Likewise.
34197         * lib/open.c: Likewise.
34198         * lib/openat-die.c: Likewise.
34199         * lib/openat-priv.h: Likewise.
34200         * lib/openat-proc.c: Likewise.
34201         * lib/openat.c: Likewise.
34202         * lib/openat.h: Likewise.
34203         * lib/pagealign_alloc.c: Likewise.
34204         * lib/pagealign_alloc.h: Likewise.
34205         * lib/physmem.c: Likewise.
34206         * lib/physmem.h: Likewise.
34207         * lib/pipe-safer.c: Likewise.
34208         * lib/pipe.c: Likewise.
34209         * lib/pipe.h: Likewise.
34210         * lib/posixtm.c: Likewise.
34211         * lib/posixtm.h: Likewise.
34212         * lib/posixver.c: Likewise.
34213         * lib/printf-frexp.c: Likewise.
34214         * lib/printf-frexp.h: Likewise.
34215         * lib/printf-frexpl.c: Likewise.
34216         * lib/printf-frexpl.h: Likewise.
34217         * lib/printf.c: Likewise.
34218         * lib/progname.c: Likewise.
34219         * lib/progname.h: Likewise.
34220         * lib/progreloc.c: Likewise.
34221         * lib/putenv.c: Likewise.
34222         * lib/quote.c: Likewise.
34223         * lib/quote.h: Likewise.
34224         * lib/quotearg.c: Likewise.
34225         * lib/quotearg.h: Likewise.
34226         * lib/raise.c: Likewise.
34227         * lib/readline.c: Likewise.
34228         * lib/readline.h: Likewise.
34229         * lib/readlink.c: Likewise.
34230         * lib/readtokens.c: Likewise.
34231         * lib/readtokens.h: Likewise.
34232         * lib/readtokens0.c: Likewise.
34233         * lib/readtokens0.h: Likewise.
34234         * lib/readutmp.c: Likewise.
34235         * lib/readutmp.h: Likewise.
34236         * lib/realloc.c: Likewise.
34237         * lib/relocwrapper.c: Likewise.
34238         * lib/rename-dest-slash.c: Likewise.
34239         * lib/rename.c: Likewise.
34240         * lib/rmdir.c: Likewise.
34241         * lib/rpmatch.c: Likewise.
34242         * lib/safe-read.c: Likewise.
34243         * lib/safe-read.h: Likewise.
34244         * lib/safe-write.c: Likewise.
34245         * lib/safe-write.h: Likewise.
34246         * lib/same-inode.h: Likewise.
34247         * lib/same.c: Likewise.
34248         * lib/same.h: Likewise.
34249         * lib/save-cwd.c: Likewise.
34250         * lib/save-cwd.h: Likewise.
34251         * lib/savedir.c: Likewise.
34252         * lib/savedir.h: Likewise.
34253         * lib/savewd.c: Likewise.
34254         * lib/savewd.h: Likewise.
34255         * lib/search.in.h: Likewise.
34256         * lib/setenv.c: Likewise.
34257         * lib/setenv.h: Likewise.
34258         * lib/settime.c: Likewise.
34259         * lib/sh-quote.c: Likewise.
34260         * lib/sh-quote.h: Likewise.
34261         * lib/sig2str.c: Likewise.
34262         * lib/sig2str.h: Likewise.
34263         * lib/signal.in.h: Likewise.
34264         * lib/signbitd.c: Likewise.
34265         * lib/signbitf.c: Likewise.
34266         * lib/signbitl.c: Likewise.
34267         * lib/sigprocmask.c: Likewise.
34268         * lib/sincosl.c: Likewise.
34269         * lib/sleep.c: Likewise.
34270         * lib/sprintf.c: Likewise.
34271         * lib/sqrtl.c: Likewise.
34272         * lib/stat-time.h: Likewise.
34273         * lib/stdio--.h: Likewise.
34274         * lib/stdio-safer.h: Likewise.
34275         * lib/stdlib--.h: Likewise.
34276         * lib/stdlib-safer.h: Likewise.
34277         * lib/stdlib.in.h: Likewise.
34278         * lib/stpcpy.c: Likewise.
34279         * lib/stpncpy.c: Likewise.
34280         * lib/strchrnul.c: Likewise.
34281         * lib/strcspn.c: Likewise.
34282         * lib/strerror.c: Likewise.
34283         * lib/strftime.c: Likewise.
34284         * lib/strftime.h: Likewise.
34285         * lib/striconveh.c: Likewise.
34286         * lib/striconveh.h: Likewise.
34287         * lib/striconveha.c: Likewise.
34288         * lib/striconveha.h: Likewise.
34289         * lib/stripslash.c: Likewise.
34290         * lib/strnlen1.c: Likewise.
34291         * lib/strnlen1.h: Likewise.
34292         * lib/strtod.c: Likewise.
34293         * lib/strtoimax.c: Likewise.
34294         * lib/strtok_r.c: Likewise.
34295         * lib/strtol.c: Likewise.
34296         * lib/strtoll.c: Likewise.
34297         * lib/strtoul.c: Likewise.
34298         * lib/strtoull.c: Likewise.
34299         * lib/sysexits.in.h: Likewise.
34300         * lib/tempname.c: Likewise.
34301         * lib/tempname.h: Likewise.
34302         * lib/timespec.h: Likewise.
34303         * lib/tls.c: Likewise.
34304         * lib/tls.h: Likewise.
34305         * lib/tmpdir.c: Likewise.
34306         * lib/tmpdir.h: Likewise.
34307         * lib/tmpfile-safer.c: Likewise.
34308         * lib/tmpfile.c: Likewise.
34309         * lib/trigl.c: Likewise.
34310         * lib/trigl.h: Likewise.
34311         * lib/trim.c: Likewise.
34312         * lib/trim.h: Likewise.
34313         * lib/trunc.c: Likewise.
34314         * lib/truncf.c: Likewise.
34315         * lib/truncl.c: Likewise.
34316         * lib/tsearch.c: Likewise.
34317         * lib/unicodeio.c: Likewise.
34318         * lib/unicodeio.h: Likewise.
34319         * lib/unistd--.h: Likewise.
34320         * lib/unistd-safer.h: Likewise.
34321         * lib/unistdio/ulc-fprintf.c: Likewise.
34322         * lib/unistdio/ulc-vfprintf.c: Likewise.
34323         * lib/unlinkdir.c: Likewise.
34324         * lib/unlinkdir.h: Likewise.
34325         * lib/unlocked-io.h: Likewise.
34326         * lib/unsetenv.c: Likewise.
34327         * lib/userspec.c: Likewise.
34328         * lib/utime.c: Likewise.
34329         * lib/utimecmp.c: Likewise.
34330         * lib/utimecmp.h: Likewise.
34331         * lib/utimens.c: Likewise.
34332         * lib/verify.h: Likewise.
34333         * lib/verror.c: Likewise.
34334         * lib/verror.h: Likewise.
34335         * lib/version-etc-fsf.c: Likewise.
34336         * lib/version-etc.c: Likewise.
34337         * lib/version-etc.h: Likewise.
34338         * lib/vfprintf.c: Likewise.
34339         * lib/vprintf.c: Likewise.
34340         * lib/vsprintf.c: Likewise.
34341         * lib/w32spawn.h: Likewise.
34342         * lib/wait-process.c: Likewise.
34343         * lib/wait-process.h: Likewise.
34344         * lib/wcwidth.c: Likewise.
34345         * lib/write-any-file.c: Likewise.
34346         * lib/xalloc-die.c: Likewise.
34347         * lib/xalloc.h: Likewise.
34348         * lib/xasprintf.c: Likewise.
34349         * lib/xgetcwd.c: Likewise.
34350         * lib/xgetcwd.h: Likewise.
34351         * lib/xgetdomainname.c: Likewise.
34352         * lib/xgetdomainname.h: Likewise.
34353         * lib/xgethostname.c: Likewise.
34354         * lib/xmalloc.c: Likewise.
34355         * lib/xmalloca.c: Likewise.
34356         * lib/xmalloca.h: Likewise.
34357         * lib/xmemcoll.c: Likewise.
34358         * lib/xnanosleep.c: Likewise.
34359         * lib/xreadlink.c: Likewise.
34360         * lib/xreadlink.h: Likewise.
34361         * lib/xsetenv.c: Likewise.
34362         * lib/xsetenv.h: Likewise.
34363         * lib/xstriconv.c: Likewise.
34364         * lib/xstriconv.h: Likewise.
34365         * lib/xstrndup.c: Likewise.
34366         * lib/xstrndup.h: Likewise.
34367         * lib/xstrtod.c: Likewise.
34368         * lib/xstrtod.h: Likewise.
34369         * lib/xstrtol-error.c: Likewise.
34370         * lib/xstrtol.c: Likewise.
34371         * lib/xstrtol.h: Likewise.
34372         * lib/xtime.h: Likewise.
34373         * lib/xvasprintf.c: Likewise.
34374         * lib/xvasprintf.h: Likewise.
34375         * lib/yesno.c: Likewise.
34376         * lib/yesno.h: Likewise.
34377         * posix-modules: Likewise.
34378         * tests/test-alloca-opt.c: Likewise.
34379         * tests/test-arcfour.c: Likewise.
34380         * tests/test-arctwo.c: Likewise.
34381         * tests/test-argmatch.c: Likewise.
34382         * tests/test-argp-2.sh: Likewise.
34383         * tests/test-argp.c: Likewise.
34384         * tests/test-arpa_inet.c: Likewise.
34385         * tests/test-array_list.c: Likewise.
34386         * tests/test-array_oset.c: Likewise.
34387         * tests/test-atexit.c: Likewise.
34388         * tests/test-avltree_list.c: Likewise.
34389         * tests/test-avltree_oset.c: Likewise.
34390         * tests/test-avltreehash_list.c: Likewise.
34391         * tests/test-base64.c: Likewise.
34392         * tests/test-binary-io.c: Likewise.
34393         * tests/test-byteswap.c: Likewise.
34394         * tests/test-c-ctype.c: Likewise.
34395         * tests/test-c-strcasecmp.c: Likewise.
34396         * tests/test-c-strcasestr.c: Likewise.
34397         * tests/test-c-strncasecmp.c: Likewise.
34398         * tests/test-c-strstr.c: Likewise.
34399         * tests/test-canonicalize-lgpl.c: Likewise.
34400         * tests/test-canonicalize.c: Likewise.
34401         * tests/test-carray_list.c: Likewise.
34402         * tests/test-ceilf.c: Likewise.
34403         * tests/test-ceill.c: Likewise.
34404         * tests/test-count-one-bits.c: Likewise.
34405         * tests/test-crc.c: Likewise.
34406         * tests/test-dirname.c: Likewise.
34407         * tests/test-fbufmode.c: Likewise.
34408         * tests/test-fcntl.c: Likewise.
34409         * tests/test-fflush.c: Likewise.
34410         * tests/test-floorf.c: Likewise.
34411         * tests/test-floorl.c: Likewise.
34412         * tests/test-fopen.c: Likewise.
34413         * tests/test-fprintf-posix.c: Likewise.
34414         * tests/test-fprintf-posix.h: Likewise.
34415         * tests/test-fpurge.c: Likewise.
34416         * tests/test-freadable.c: Likewise.
34417         * tests/test-freadahead.c: Likewise.
34418         * tests/test-freading.c: Likewise.
34419         * tests/test-freopen.c: Likewise.
34420         * tests/test-frexp.c: Likewise.
34421         * tests/test-frexpl.c: Likewise.
34422         * tests/test-fseek.c: Likewise.
34423         * tests/test-fseeko.c: Likewise.
34424         * tests/test-fseterr.c: Likewise.
34425         * tests/test-fstrcmp.c: Likewise.
34426         * tests/test-ftell.c: Likewise.
34427         * tests/test-ftello.c: Likewise.
34428         * tests/test-fwritable.c: Likewise.
34429         * tests/test-fwriting.c: Likewise.
34430         * tests/test-getaddrinfo.c: Likewise.
34431         * tests/test-getpass.c: Likewise.
34432         * tests/test-gettimeofday.c: Likewise.
34433         * tests/test-hmac-md5.c: Likewise.
34434         * tests/test-hmac-sha1.c: Likewise.
34435         * tests/test-iconv.c: Likewise.
34436         * tests/test-iconvme.c: Likewise.
34437         * tests/test-inttypes.c: Likewise.
34438         * tests/test-isnan.c: Likewise.
34439         * tests/test-isnanf.c: Likewise.
34440         * tests/test-isnanl-nolibm.c: Likewise.
34441         * tests/test-isnanl.c: Likewise.
34442         * tests/test-isnanl.h: Likewise.
34443         * tests/test-ldexpl.c: Likewise.
34444         * tests/test-linked_list.c: Likewise.
34445         * tests/test-linkedhash_list.c: Likewise.
34446         * tests/test-locale.c: Likewise.
34447         * tests/test-localename.c: Likewise.
34448         * tests/test-lock.c: Likewise.
34449         * tests/test-lseek.c: Likewise.
34450         * tests/test-malloca.c: Likewise.
34451         * tests/test-math.c: Likewise.
34452         * tests/test-mbscasecmp.c: Likewise.
34453         * tests/test-mbscasestr1.c: Likewise.
34454         * tests/test-mbscasestr2.c: Likewise.
34455         * tests/test-mbscasestr3.c: Likewise.
34456         * tests/test-mbscasestr4.c: Likewise.
34457         * tests/test-mbschr.c: Likewise.
34458         * tests/test-mbscspn.c: Likewise.
34459         * tests/test-mbsncasecmp.c: Likewise.
34460         * tests/test-mbspbrk.c: Likewise.
34461         * tests/test-mbspcasecmp.c: Likewise.
34462         * tests/test-mbsrchr.c: Likewise.
34463         * tests/test-mbsspn.c: Likewise.
34464         * tests/test-mbsstr1.c: Likewise.
34465         * tests/test-mbsstr2.c: Likewise.
34466         * tests/test-mbsstr3.c: Likewise.
34467         * tests/test-md5.c: Likewise.
34468         * tests/test-memmem.c: Likewise.
34469         * tests/test-netinet_in.c: Likewise.
34470         * tests/test-open.c: Likewise.
34471         * tests/test-printf-frexp.c: Likewise.
34472         * tests/test-printf-frexpl.c: Likewise.
34473         * tests/test-printf-posix.c: Likewise.
34474         * tests/test-printf-posix.h: Likewise.
34475         * tests/test-rbtree_list.c: Likewise.
34476         * tests/test-rbtree_oset.c: Likewise.
34477         * tests/test-rbtreehash_list.c: Likewise.
34478         * tests/test-read-file.c: Likewise.
34479         * tests/test-rijndael.c: Likewise.
34480         * tests/test-search.c: Likewise.
34481         * tests/test-signbit.c: Likewise.
34482         * tests/test-sleep.c: Likewise.
34483         * tests/test-snprintf-posix.c: Likewise.
34484         * tests/test-snprintf-posix.h: Likewise.
34485         * tests/test-snprintf.c: Likewise.
34486         * tests/test-sprintf-posix.c: Likewise.
34487         * tests/test-sprintf-posix.h: Likewise.
34488         * tests/test-stat-time.c: Likewise.
34489         * tests/test-stdbool.c: Likewise.
34490         * tests/test-stdint.c: Likewise.
34491         * tests/test-stdio.c: Likewise.
34492         * tests/test-stdlib.c: Likewise.
34493         * tests/test-stpncpy.c: Likewise.
34494         * tests/test-strcasestr.c: Likewise.
34495         * tests/test-striconv.c: Likewise.
34496         * tests/test-striconveh.c: Likewise.
34497         * tests/test-striconveha.c: Likewise.
34498         * tests/test-string.c: Likewise.
34499         * tests/test-sys_select.c: Likewise.
34500         * tests/test-sys_socket.c: Likewise.
34501         * tests/test-sys_stat.c: Likewise.
34502         * tests/test-sys_time.c: Likewise.
34503         * tests/test-sysexits.c: Likewise.
34504         * tests/test-time.c: Likewise.
34505         * tests/test-tls.c: Likewise.
34506         * tests/test-trunc.c: Likewise.
34507         * tests/test-truncf.c: Likewise.
34508         * tests/test-truncl.c: Likewise.
34509         * tests/test-unistd.c: Likewise.
34510         * tests/test-vasnprintf-posix.c: Likewise.
34511         * tests/test-vasnprintf-posix2.c: Likewise.
34512         * tests/test-vasnprintf.c: Likewise.
34513         * tests/test-vasprintf-posix.c: Likewise.
34514         * tests/test-vasprintf.c: Likewise.
34515         * tests/test-verify.c: Likewise.
34516         * tests/test-vfprintf-posix.c: Likewise.
34517         * tests/test-vprintf-posix.c: Likewise.
34518         * tests/test-vsnprintf-posix.c: Likewise.
34519         * tests/test-vsnprintf.c: Likewise.
34520         * tests/test-vsprintf-posix.c: Likewise.
34521         * tests/test-wchar.c: Likewise.
34522         * tests/test-wctype.c: Likewise.
34523         * tests/test-wcwidth.c: Likewise.
34524         * tests/test-xstrtol.c: Likewise.
34525         * tests/test-xvasprintf.c: Likewise.
34526         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34527         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34528         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34529         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34530         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34531         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34532         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34533         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34534         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34535         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34536         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34537         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34538         * tests/uniname/test-uninames.c: Likewise.
34539         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34540         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
34541         * tests/unistdio/test-u16-printf1.h: Likewise.
34542         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34543         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34544         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34545         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34546         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34547         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34548         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34549         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
34550         * tests/unistdio/test-u32-printf1.h: Likewise.
34551         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34552         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34553         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34554         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34555         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34556         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34557         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34558         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
34559         * tests/unistdio/test-u8-printf1.h: Likewise.
34560         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34561         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34562         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34563         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34564         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34565         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34566         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34567         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
34568         * tests/unistdio/test-ulc-printf1.h: Likewise.
34569         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34570         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34571         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34572         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34573         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34574         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34575         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34576         * tests/uniwidth/test-u16-width.c: Likewise.
34577         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34578         * tests/uniwidth/test-u32-width.c: Likewise.
34579         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34580         * tests/uniwidth/test-u8-width.c: Likewise.
34581         * tests/uniwidth/test-uc_width.c: Likewise.
34582         * config/srclist-update: Likewise.
34583         (fixlicense): Update to GPLv3+.
34584
34585         Change copyright notice from LGPLv2.1+ to LGPLv3+.
34586         * tests/test-tsearch.c: Change copyright notice.
34587
34588         Change copyright notice from LGPLv2.0+ to LGPLv3+.
34589         * lib/c-strcaseeq.h: Change copyright notice.
34590         * lib/streq.h: Likewise.
34591         * lib/uniconv.h: Likewise.
34592         * lib/uniconv/u-conv-from-enc.h: Likewise.
34593         * lib/uniconv/u-conv-to-enc.h: Likewise.
34594         * lib/uniconv/u-strconv-from-enc.h: Likewise.
34595         * lib/uniconv/u-strconv-to-enc.h: Likewise.
34596         * lib/uniconv/u16-conv-from-enc.c: Likewise.
34597         * lib/uniconv/u16-conv-to-enc.c: Likewise.
34598         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
34599         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
34600         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
34601         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
34602         * lib/uniconv/u32-conv-from-enc.c: Likewise.
34603         * lib/uniconv/u32-conv-to-enc.c: Likewise.
34604         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
34605         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
34606         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
34607         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
34608         * lib/uniconv/u8-conv-from-enc.c: Likewise.
34609         * lib/uniconv/u8-conv-to-enc.c: Likewise.
34610         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
34611         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
34612         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
34613         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
34614         * lib/uniname.h: Likewise.
34615         * lib/uniname/uniname.c: Likewise.
34616         * lib/unistdio.h: Likewise.
34617         * lib/unistdio/u-asnprintf.h: Likewise.
34618         * lib/unistdio/u-asprintf.h: Likewise.
34619         * lib/unistdio/u-printf-args.c: Likewise.
34620         * lib/unistdio/u-printf-args.h: Likewise.
34621         * lib/unistdio/u-printf-parse.h: Likewise.
34622         * lib/unistdio/u-snprintf.h: Likewise.
34623         * lib/unistdio/u-sprintf.h: Likewise.
34624         * lib/unistdio/u-vasprintf.h: Likewise.
34625         * lib/unistdio/u-vsnprintf.h: Likewise.
34626         * lib/unistdio/u-vsprintf.h: Likewise.
34627         * lib/unistdio/u16-asnprintf.c: Likewise.
34628         * lib/unistdio/u16-asprintf.c: Likewise.
34629         * lib/unistdio/u16-printf-parse.c: Likewise.
34630         * lib/unistdio/u16-snprintf.c: Likewise.
34631         * lib/unistdio/u16-sprintf.c: Likewise.
34632         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
34633         * lib/unistdio/u16-u16-asprintf.c: Likewise.
34634         * lib/unistdio/u16-u16-snprintf.c: Likewise.
34635         * lib/unistdio/u16-u16-sprintf.c: Likewise.
34636         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
34637         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
34638         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
34639         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
34640         * lib/unistdio/u16-vasnprintf.c: Likewise.
34641         * lib/unistdio/u16-vasprintf.c: Likewise.
34642         * lib/unistdio/u16-vsnprintf.c: Likewise.
34643         * lib/unistdio/u16-vsprintf.c: Likewise.
34644         * lib/unistdio/u32-asnprintf.c: Likewise.
34645         * lib/unistdio/u32-asprintf.c: Likewise.
34646         * lib/unistdio/u32-printf-parse.c: Likewise.
34647         * lib/unistdio/u32-snprintf.c: Likewise.
34648         * lib/unistdio/u32-sprintf.c: Likewise.
34649         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
34650         * lib/unistdio/u32-u32-asprintf.c: Likewise.
34651         * lib/unistdio/u32-u32-snprintf.c: Likewise.
34652         * lib/unistdio/u32-u32-sprintf.c: Likewise.
34653         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
34654         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
34655         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
34656         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
34657         * lib/unistdio/u32-vasnprintf.c: Likewise.
34658         * lib/unistdio/u32-vasprintf.c: Likewise.
34659         * lib/unistdio/u32-vsnprintf.c: Likewise.
34660         * lib/unistdio/u32-vsprintf.c: Likewise.
34661         * lib/unistdio/u8-asnprintf.c: Likewise.
34662         * lib/unistdio/u8-asprintf.c: Likewise.
34663         * lib/unistdio/u8-printf-parse.c: Likewise.
34664         * lib/unistdio/u8-snprintf.c: Likewise.
34665         * lib/unistdio/u8-sprintf.c: Likewise.
34666         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
34667         * lib/unistdio/u8-u8-asprintf.c: Likewise.
34668         * lib/unistdio/u8-u8-snprintf.c: Likewise.
34669         * lib/unistdio/u8-u8-sprintf.c: Likewise.
34670         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
34671         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
34672         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
34673         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
34674         * lib/unistdio/u8-vasnprintf.c: Likewise.
34675         * lib/unistdio/u8-vasprintf.c: Likewise.
34676         * lib/unistdio/u8-vsnprintf.c: Likewise.
34677         * lib/unistdio/u8-vsprintf.c: Likewise.
34678         * lib/unistdio/ulc-asnprintf.c: Likewise.
34679         * lib/unistdio/ulc-asprintf.c: Likewise.
34680         * lib/unistdio/ulc-printf-parse.c: Likewise.
34681         * lib/unistdio/ulc-snprintf.c: Likewise.
34682         * lib/unistdio/ulc-sprintf.c: Likewise.
34683         * lib/unistdio/ulc-vasnprintf.c: Likewise.
34684         * lib/unistdio/ulc-vasprintf.c: Likewise.
34685         * lib/unistdio/ulc-vsnprintf.c: Likewise.
34686         * lib/unistdio/ulc-vsprintf.c: Likewise.
34687         * lib/unistr.h: Likewise.
34688         * lib/unistr/u-cpy-alloc.h: Likewise.
34689         * lib/unistr/u-cpy.h: Likewise.
34690         * lib/unistr/u-endswith.h: Likewise.
34691         * lib/unistr/u-move.h: Likewise.
34692         * lib/unistr/u-set.h: Likewise.
34693         * lib/unistr/u-startswith.h: Likewise.
34694         * lib/unistr/u-stpcpy.h: Likewise.
34695         * lib/unistr/u-stpncpy.h: Likewise.
34696         * lib/unistr/u-strcat.h: Likewise.
34697         * lib/unistr/u-strcpy.h: Likewise.
34698         * lib/unistr/u-strcspn.h: Likewise.
34699         * lib/unistr/u-strdup.h: Likewise.
34700         * lib/unistr/u-strlen.h: Likewise.
34701         * lib/unistr/u-strncat.h: Likewise.
34702         * lib/unistr/u-strncpy.h: Likewise.
34703         * lib/unistr/u-strnlen.h: Likewise.
34704         * lib/unistr/u-strpbrk.h: Likewise.
34705         * lib/unistr/u-strspn.h: Likewise.
34706         * lib/unistr/u-strstr.h: Likewise.
34707         * lib/unistr/u-strtok.h: Likewise.
34708         * lib/unistr/u16-check.c: Likewise.
34709         * lib/unistr/u16-chr.c: Likewise.
34710         * lib/unistr/u16-cmp.c: Likewise.
34711         * lib/unistr/u16-cpy-alloc.c: Likewise.
34712         * lib/unistr/u16-cpy.c: Likewise.
34713         * lib/unistr/u16-endswith.c: Likewise.
34714         * lib/unistr/u16-mblen.c: Likewise.
34715         * lib/unistr/u16-mbsnlen.c: Likewise.
34716         * lib/unistr/u16-mbtouc-aux.c: Likewise.
34717         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
34718         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
34719         * lib/unistr/u16-mbtouc.c: Likewise.
34720         * lib/unistr/u16-mbtoucr.c: Likewise.
34721         * lib/unistr/u16-move.c: Likewise.
34722         * lib/unistr/u16-next.c: Likewise.
34723         * lib/unistr/u16-prev.c: Likewise.
34724         * lib/unistr/u16-set.c: Likewise.
34725         * lib/unistr/u16-startswith.c: Likewise.
34726         * lib/unistr/u16-stpcpy.c: Likewise.
34727         * lib/unistr/u16-stpncpy.c: Likewise.
34728         * lib/unistr/u16-strcat.c: Likewise.
34729         * lib/unistr/u16-strchr.c: Likewise.
34730         * lib/unistr/u16-strcmp.c: Likewise.
34731         * lib/unistr/u16-strcpy.c: Likewise.
34732         * lib/unistr/u16-strcspn.c: Likewise.
34733         * lib/unistr/u16-strdup.c: Likewise.
34734         * lib/unistr/u16-strlen.c: Likewise.
34735         * lib/unistr/u16-strmblen.c: Likewise.
34736         * lib/unistr/u16-strmbtouc.c: Likewise.
34737         * lib/unistr/u16-strncat.c: Likewise.
34738         * lib/unistr/u16-strncmp.c: Likewise.
34739         * lib/unistr/u16-strncpy.c: Likewise.
34740         * lib/unistr/u16-strnlen.c: Likewise.
34741         * lib/unistr/u16-strpbrk.c: Likewise.
34742         * lib/unistr/u16-strrchr.c: Likewise.
34743         * lib/unistr/u16-strspn.c: Likewise.
34744         * lib/unistr/u16-strstr.c: Likewise.
34745         * lib/unistr/u16-strtok.c: Likewise.
34746         * lib/unistr/u16-to-u32.c: Likewise.
34747         * lib/unistr/u16-to-u8.c: Likewise.
34748         * lib/unistr/u16-uctomb-aux.c: Likewise.
34749         * lib/unistr/u16-uctomb.c: Likewise.
34750         * lib/unistr/u32-check.c: Likewise.
34751         * lib/unistr/u32-chr.c: Likewise.
34752         * lib/unistr/u32-cmp.c: Likewise.
34753         * lib/unistr/u32-cpy-alloc.c: Likewise.
34754         * lib/unistr/u32-cpy.c: Likewise.
34755         * lib/unistr/u32-endswith.c: Likewise.
34756         * lib/unistr/u32-mblen.c: Likewise.
34757         * lib/unistr/u32-mbsnlen.c: Likewise.
34758         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
34759         * lib/unistr/u32-mbtouc.c: Likewise.
34760         * lib/unistr/u32-mbtoucr.c: Likewise.
34761         * lib/unistr/u32-move.c: Likewise.
34762         * lib/unistr/u32-next.c: Likewise.
34763         * lib/unistr/u32-prev.c: Likewise.
34764         * lib/unistr/u32-set.c: Likewise.
34765         * lib/unistr/u32-startswith.c: Likewise.
34766         * lib/unistr/u32-stpcpy.c: Likewise.
34767         * lib/unistr/u32-stpncpy.c: Likewise.
34768         * lib/unistr/u32-strcat.c: Likewise.
34769         * lib/unistr/u32-strchr.c: Likewise.
34770         * lib/unistr/u32-strcmp.c: Likewise.
34771         * lib/unistr/u32-strcpy.c: Likewise.
34772         * lib/unistr/u32-strcspn.c: Likewise.
34773         * lib/unistr/u32-strdup.c: Likewise.
34774         * lib/unistr/u32-strlen.c: Likewise.
34775         * lib/unistr/u32-strmblen.c: Likewise.
34776         * lib/unistr/u32-strmbtouc.c: Likewise.
34777         * lib/unistr/u32-strncat.c: Likewise.
34778         * lib/unistr/u32-strncmp.c: Likewise.
34779         * lib/unistr/u32-strncpy.c: Likewise.
34780         * lib/unistr/u32-strnlen.c: Likewise.
34781         * lib/unistr/u32-strpbrk.c: Likewise.
34782         * lib/unistr/u32-strrchr.c: Likewise.
34783         * lib/unistr/u32-strspn.c: Likewise.
34784         * lib/unistr/u32-strstr.c: Likewise.
34785         * lib/unistr/u32-strtok.c: Likewise.
34786         * lib/unistr/u32-to-u16.c: Likewise.
34787         * lib/unistr/u32-to-u8.c: Likewise.
34788         * lib/unistr/u32-uctomb.c: Likewise.
34789         * lib/unistr/u8-check.c: Likewise.
34790         * lib/unistr/u8-chr.c: Likewise.
34791         * lib/unistr/u8-cmp.c: Likewise.
34792         * lib/unistr/u8-cpy-alloc.c: Likewise.
34793         * lib/unistr/u8-cpy.c: Likewise.
34794         * lib/unistr/u8-endswith.c: Likewise.
34795         * lib/unistr/u8-mblen.c: Likewise.
34796         * lib/unistr/u8-mbsnlen.c: Likewise.
34797         * lib/unistr/u8-mbtouc-aux.c: Likewise.
34798         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
34799         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
34800         * lib/unistr/u8-mbtouc.c: Likewise.
34801         * lib/unistr/u8-mbtoucr.c: Likewise.
34802         * lib/unistr/u8-move.c: Likewise.
34803         * lib/unistr/u8-next.c: Likewise.
34804         * lib/unistr/u8-prev.c: Likewise.
34805         * lib/unistr/u8-set.c: Likewise.
34806         * lib/unistr/u8-startswith.c: Likewise.
34807         * lib/unistr/u8-stpcpy.c: Likewise.
34808         * lib/unistr/u8-stpncpy.c: Likewise.
34809         * lib/unistr/u8-strcat.c: Likewise.
34810         * lib/unistr/u8-strchr.c: Likewise.
34811         * lib/unistr/u8-strcmp.c: Likewise.
34812         * lib/unistr/u8-strcpy.c: Likewise.
34813         * lib/unistr/u8-strcspn.c: Likewise.
34814         * lib/unistr/u8-strdup.c: Likewise.
34815         * lib/unistr/u8-strlen.c: Likewise.
34816         * lib/unistr/u8-strmblen.c: Likewise.
34817         * lib/unistr/u8-strmbtouc.c: Likewise.
34818         * lib/unistr/u8-strncat.c: Likewise.
34819         * lib/unistr/u8-strncmp.c: Likewise.
34820         * lib/unistr/u8-strncpy.c: Likewise.
34821         * lib/unistr/u8-strnlen.c: Likewise.
34822         * lib/unistr/u8-strpbrk.c: Likewise.
34823         * lib/unistr/u8-strrchr.c: Likewise.
34824         * lib/unistr/u8-strspn.c: Likewise.
34825         * lib/unistr/u8-strstr.c: Likewise.
34826         * lib/unistr/u8-strtok.c: Likewise.
34827         * lib/unistr/u8-to-u16.c: Likewise.
34828         * lib/unistr/u8-to-u32.c: Likewise.
34829         * lib/unistr/u8-uctomb-aux.c: Likewise.
34830         * lib/unistr/u8-uctomb.c: Likewise.
34831         * lib/unitypes.h: Likewise.
34832         * lib/uniwidth.h: Likewise.
34833         * lib/uniwidth/cjk.h: Likewise.
34834         * lib/uniwidth/u16-strwidth.c: Likewise.
34835         * lib/uniwidth/u16-width.c: Likewise.
34836         * lib/uniwidth/u32-strwidth.c: Likewise.
34837         * lib/uniwidth/u32-width.c: Likewise.
34838         * lib/uniwidth/u8-strwidth.c: Likewise.
34839         * lib/uniwidth/u8-width.c: Likewise.
34840         * lib/uniwidth/width.c: Likewise.
34841
34842 2007-10-07  Bruno Haible  <bruno@clisp.org>
34843
34844         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
34845         The file is still under LGPL (see modules/inttypes).
34846
34847 2007-10-06  Bruno Haible  <bruno@clisp.org>
34848
34849         * modules/trunc (Dependencies): Add 'extensions'.
34850         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
34851         Reported by Ben Pfaff <blp@gnu.org>.
34852
34853 2007-10-06  Bruno Haible  <bruno@clisp.org>
34854
34855         * modules/freopen-tests: New file.
34856         * tests/test-freopen.c: New file.
34857
34858         * modules/fopen-tests: New file.
34859         * tests/test-fopen.c: New file.
34860
34861         * modules/fopen: New file.
34862         * lib/fopen.c: New file.
34863         * m4/fopen.m4: New file.
34864         * modules/freopen: New file.
34865         * lib/freopen.c: New file.
34866         * m4/freopen.m4: New file.
34867         * lib/stdio.in.h (fopen, freopen): New declarations.
34868         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
34869         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
34870         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
34871         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
34872         * doc/functions/fopen.texi: Mention the 'fopen' module.
34873         * doc/functions/freopen.texi: Mention the 'freopen' module.
34874
34875 2007-10-06  Bruno Haible  <bruno@clisp.org>
34876
34877         * modules/open-tests: New file.
34878         * tests/test-open.c: New file.
34879
34880         * modules/open: New file.
34881         * lib/open.c: New file.
34882         * m4/open.m4: New file.
34883         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
34884         lib/open.c does.
34885         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
34886         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
34887         macros.
34888         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
34889         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
34890         REPLACE_OPEN.
34891         * doc/functions/open.texi: Mention the 'open' module.
34892
34893 2007-10-04  Bruno Haible  <bruno@clisp.org>
34894
34895         * modules/ceill-tests: New file.
34896         * tests/test-ceill.c: New file.
34897
34898         * modules/ceill: New file.
34899         * lib/ceill.c: Replace entire file.
34900         * m4/ceill.m4: New file.
34901         * lib/math.in.h (ceill): Replace declaration.
34902         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
34903         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
34904         * doc/functions/ceill.texi: Mention the 'ceill' module.
34905         * modules/mathl (Files): Remove lib/ceill.c.
34906         (Depends-on): Add ceill.
34907
34908 2007-10-04  Bruno Haible  <bruno@clisp.org>
34909
34910         * modules/ceilf-tests: New file.
34911         * tests/test-ceilf.c: New file.
34912
34913         * modules/ceilf: New file.
34914         * lib/ceil.c: New file.
34915         * lib/ceilf.c: New file.
34916         * m4/ceilf.m4: New file.
34917         * lib/math.in.h (ceilf): New declaration.
34918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
34919         HAVE_DECL_CEILF.
34920         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
34921         HAVE_DECL_CEILF.
34922         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
34923
34924 2007-10-04  Bruno Haible  <bruno@clisp.org>
34925
34926         * modules/floorl-tests: New file.
34927         * tests/test-floorl.c: New file.
34928
34929         * modules/floorl: New file.
34930         * lib/floorl.c: Replace entire file.
34931         * m4/floorl.m4: New file.
34932         * lib/math.in.h (floorl): Replace declaration.
34933         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
34934         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
34935         * doc/functions/floorl.texi: Mention the 'floorl' module.
34936         * modules/mathl (Files): Remove lib/floorl.c.
34937         (Depends-on): Add floorl.
34938
34939 2007-10-04  Bruno Haible  <bruno@clisp.org>
34940
34941         * modules/floorf-tests: New file.
34942         * tests/test-floorf.c: New file.
34943
34944         * modules/floorf: New file.
34945         * lib/floor.c: New file.
34946         * lib/floorf.c: New file.
34947         * m4/floorf.m4: New file.
34948         * lib/math.in.h (floorf): New declaration.
34949         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
34950         HAVE_DECL_FLOORF.
34951         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
34952         HAVE_DECL_FLOORF.
34953         * doc/functions/floorf.texi: Mention the 'floorf' module.
34954
34955 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
34956             Bruno Haible  <bruno@clisp.org>
34957
34958         Advertise for the Git server instead of the CVS server.
34959         * doc/gnulib-intro.texi (Steady Development): Mention the Git
34960         repository instead of the CVS one.
34961         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
34962         about all VCS systems generically.
34963         * doc/gnulib.texi (Introduction): Capitalize `Git'.
34964
34965 2007-10-04  Bruno Haible  <bruno@clisp.org>
34966
34967         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
34968         means.
34969         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
34970
34971 2007-10-04  Bruno Haible  <bruno@clisp.org>
34972
34973         * modules/truncl-tests: New file.
34974         * tests/test-truncl.c: New file.
34975
34976         * modules/truncl: New file.
34977         * lib/truncl.c: New file.
34978         * m4/truncl.m4: New file.
34979         * lib/math.in.h (truncl): New declaration.
34980         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
34981         HAVE_DECL_TRUNCL.
34982         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
34983         HAVE_DECL_TRUNCL.
34984         * doc/functions/truncl.texi: Mention the 'truncl' module.
34985
34986 2007-10-04  Bruno Haible  <bruno@clisp.org>
34987
34988         * modules/truncf-tests: New file.
34989         * tests/test-truncf.c: New file.
34990
34991         * modules/truncf: New file.
34992         * lib/trunc.c: Make paramerizable through USE_* macros.
34993         * lib/truncf.c: New file.
34994         * m4/truncf.m4: New file.
34995         * lib/math.in.h (truncf): New declaration.
34996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
34997         HAVE_DECL_TRUNCF.
34998         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
34999         HAVE_DECL_TRUNCF.
35000         * doc/functions/truncf.texi: Mention the 'truncf' module.
35001
35002 2007-10-03  Bruno Haible  <bruno@clisp.org>
35003
35004         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
35005         augmentation also for tests modules.
35006         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
35007         * modules/atexit-tests (Makefile.am): Likewise.
35008         * modules/binary-io-tests (Makefile.am): Likewise.
35009         * modules/c-strcase-tests (Makefile.am): Likewise.
35010         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
35011         * modules/canonicalize-tests (Makefile.am): Likewise.
35012         * modules/closein-tests (Makefile.am): Likewise.
35013         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35014         * modules/freadahead-tests (Makefile.am): Likewise.
35015         * modules/fseek-tests (Makefile.am): Likewise.
35016         * modules/fseeko-tests (Makefile.am): Likewise.
35017         * modules/ftell-tests (Makefile.am): Likewise.
35018         * modules/ftello-tests (Makefile.am): Likewise.
35019         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
35020         * modules/isnanl-tests (Makefile.am): Likewise.
35021         * modules/lseek-tests (Makefile.am): Likewise.
35022         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35023         * modules/mbscasestr-tests (Makefile.am): Likewise.
35024         * modules/mbschr-tests (Makefile.am): Likewise.
35025         * modules/mbscspn-tests (Makefile.am): Likewise.
35026         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35027         * modules/mbspbrk-tests (Makefile.am): Likewise.
35028         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35029         * modules/mbsrchr-tests (Makefile.am): Likewise.
35030         * modules/mbsspn-tests (Makefile.am): Likewise.
35031         * modules/mbsstr-tests (Makefile.am): Likewise.
35032         * modules/printf-posix-tests (Makefile.am): Likewise.
35033         * modules/snprintf-posix-tests (Makefile.am): Likewise.
35034         * modules/sprintf-posix-tests (Makefile.am): Likewise.
35035         * modules/tsearch-tests (Makefile.am): Likewise.
35036         * modules/uniname/uniname-tests (Makefile.am): Likewise.
35037         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
35038         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
35039         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
35040         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
35041         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
35042         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
35043         * modules/vprintf-posix-tests (Makefile.am): Likewise.
35044         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
35045         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
35046         * modules/xstrtoimax-tests (Makefile.am): Likewise.
35047         * modules/xstrtol-tests (Makefile.am): Likewise.
35048         * modules/xstrtoumax-tests (Makefile.am): Likewise.
35049         * modules/yesno-tests (Makefile.am): Likewise.
35050
35051 2007-10-03  Bruno Haible  <bruno@clisp.org>
35052
35053         * modules/trunc-tests: New file.
35054         * tests/test-trunc.c: New file.
35055
35056         * modules/trunc: New file.
35057         * lib/trunc.c: New file.
35058         * m4/trunc.m4: New file.
35059         * lib/math.in.h (trunc): New declaration.
35060         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
35061         HAVE_DECL_TRUNC.
35062         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
35063         HAVE_DECL_TRUNC.
35064         * doc/functions/trunc.texi: Mention the 'trunc' module.
35065
35066 2007-10-03  Bruno Haible  <bruno@clisp.org>
35067
35068         * tests/test-fpending.c: New file, mostly copied
35069         from coreutils/lib/t-fpending.c.
35070         * modules/fpending-tests: New file.
35071
35072 2007-10-03  Bruno Haible  <bruno@clisp.org>
35073
35074         Port the stdio extensions to QNX (untested).
35075         * lib/fseterr.c (fseterr): Add support for QNX.
35076         * lib/fbufmode.c (fbufmode): Likewise.
35077         * lib/freadable.c (freadable): Likewise.
35078         * lib/fwritable.c (fwritable): Likewise.
35079         * lib/freading.c (freading): Likewise.
35080         * lib/fwriting.c (fwriting): Likewise.
35081         * lib/freadahead.c (freadahed): Likewise.
35082         * lib/fpurge.c (fpurge): Likewise.
35083         * lib/fseeko.c (rpl_fseeko): Likewise.
35084
35085 2007-10-03  Bruno Haible  <bruno@clisp.org>
35086             Jim Meyering  <jim@meyering.net>
35087             Eric Blake  <ebb9@byu.net>
35088
35089         * doc/relocatable.texi: Use @command instead of @program.
35090
35091 2007-10-02  Jim Meyering  <jim@meyering.net>
35092
35093         Perform one more "_.h" -> ".in.h" substitution.
35094         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
35095         instead of unistd_.h here, too.
35096
35097 2007-10-01  Bruno Haible  <bruno@clisp.org>
35098
35099         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
35100         Needed for the alloca-opt module.
35101
35102 2007-09-30  Bruno Haible  <bruno@clisp.org>
35103
35104         * lib/alloca.in.h: Renamed from lib/alloca_.h.
35105         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
35106         alloca_.h.
35107         * lib/argz.in.h: Renamed from lib/argz_.h.
35108         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
35109         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
35110         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
35111         byteswap_.h.
35112         * lib/dirent.in.h: Renamed from lib/dirent_.h.
35113         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
35114         dirent_.h.
35115         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
35116         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
35117         fcntl_.h.
35118         * lib/float.in.h: Renamed from lib/float_.h.
35119         * modules/float (Files, Makefile.am): Use float.in.h instead of
35120         float_.h.
35121         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
35122         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
35123         fnmatch_.h.
35124         * lib/getopt.in.h: Renamed from lib/getopt_.h.
35125         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
35126         getopt_.h.
35127         * lib/glob.in.h: Renamed from lib/glob_.h.
35128         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
35129         * lib/iconv.in.h: Renamed from lib/iconv_.h.
35130         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
35131         iconv_.h.
35132         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
35133         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
35134         inttypes_.h.
35135         * lib/locale.in.h: Renamed from lib/locale_.h.
35136         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
35137         locale_.h.
35138         * lib/math.in.h: Renamed from lib/math_.h.
35139         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
35140         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
35141         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
35142         of netinet_in_.h. Add dependency.
35143         * lib/poll.in.h: Renamed from lib/poll_.h.
35144         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
35145         * lib/search.in.h: Renamed from lib/search_.h.
35146         * modules/search (Files, Makefile.am): Use search.in.h instead of
35147         search_.h.
35148         * lib/signal.in.h: Renamed from lib/signal_.h.
35149         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
35150         _signal.h.
35151         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
35152         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
35153         stdbool_.h.
35154         * lib/stdint.in.h: Renamed from lib/stdint_.h.
35155         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
35156         stdint_.h.
35157         * lib/stdio.in.h: Renamed from lib/stdio_.h.
35158         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
35159         stdio_.h.
35160         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
35161         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
35162         stdlib_.h.
35163         * lib/string.in.h: Renamed from lib/string_.h.
35164         * modules/string (Files, Makefile.am): Use string.in.h instead of
35165         string_.h.
35166         * doc/gnulib-tool.texi (Initial import): Update.
35167         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
35168         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
35169         of sys_select_.h. Add dependency.
35170         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
35171         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
35172         of sys_socket_.h.
35173         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
35174         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
35175         sys_stat_.h.
35176         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
35177         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
35178         sys_time_.h.
35179         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
35180         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
35181         sysexits_.h.
35182         * lib/time.in.h: Renamed from lib/time_.h.
35183         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
35184         * lib/unistd.in.h: Renamed from lib/unistd_.h.
35185         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
35186         unistd_.h.
35187         * lib/wchar.in.h: Renamed from lib/wchar_.h.
35188         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
35189         wchar_.h.
35190         * lib/wctype.in.h: Renamed from lib/wctype_.h.
35191         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
35192         wctype_.h.
35193         * build-aux/bootstrap (slurp): Update.
35194         * lib/.cppi-disable: Update.
35195
35196 2007-09-30  Bruno Haible  <bruno@clisp.org>
35197
35198         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
35199         Needed on BeOS.
35200
35201 2007-09-30  Bruno Haible  <bruno@clisp.org>
35202
35203         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
35204
35205 2007-09-29  Bruno Haible  <bruno@clisp.org>
35206
35207         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
35208
35209 2007-09-29  Bruno Haible  <bruno@clisp.org>
35210
35211         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
35212         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
35213         * build-aux/install-reloc: Compile also areadlink.c.
35214         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
35215
35216 2007-09-29  Bruno Haible  <bruno@clisp.org>
35217
35218         * gnulib-tool (func_emit_initmacro_done): Indentation.
35219
35220 2007-09-29  Bruno Haible  <bruno@clisp.org>
35221
35222         * README: Add CVS checkout update instructions.
35223         Info from Bob Proulx <bob@proulx.com>.
35224
35225 2007-09-28  Eric Blake  <ebb9@byu.net>
35226
35227         Provide move-if-change.
35228         * build-aux/move-if-change: New file, based on best practice
35229         rather than any canonical upstream location.
35230
35231 2007-09-28  Jim Meyering  <jim@meyering.net>
35232
35233         Fix canonicalize loop-detection corner case.
35234         Do not attempt to stat the symlink values stored via seen_triple.
35235         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
35236         on linux-2.6.18, (but not 2.6.22).
35237         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
35238         triple_compare.  The former compares dev,ino,filename, while the latter
35239         would actually stat dirname(filename) when dev and ino were equal.
35240         * lib/hash-triple.c: Install <string.h>.
35241         (STREQ): Define.
35242         (triple_compare_ino_str): New function.
35243         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
35244
35245 2007-09-28  Eric Blake  <ebb9@byu.net>
35246
35247         Enforce that AC_REPLACE_FUNCS files exist.
35248         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
35249         override check for typos.
35250
35251         Fix test-closein on Solaris 10.
35252         * tests/test-closein.c (main): Don't assume stdin can be inherited
35253         closed on all systems.
35254         * tests/test-closein.sh: Likewise.
35255         Reported by Piotr Tarnowski.
35256
35257 2007-09-28  Jim Meyering  <jim@meyering.net>
35258
35259         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
35260
35261 2007-09-27  Jim Meyering  <jim@meyering.net>
35262
35263         canonicalize: Avoid a false-positive cycle failure.
35264         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
35265         Sort.  Remove cycle-check.
35266         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
35267         not cycle-check.h.
35268         (seen_triple): New function.
35269         (canonicalize_filename_mode): Use it instead of cycle-check.
35270         * tests/test-canonicalize.c: Add a test for this bug.
35271         * tests/test-canonicalize.sh: Set up and run the test.
35272
35273         New module, file-set, from coreutils.
35274         * modules/file-set: Define it.
35275         * lib/file-set.c, lib/file-set.h: Implement.
35276
35277         New module, hash-triple, from coreutils.
35278         * modules/hash-triple: Define it.
35279         * lib/hash-triple.c, lib/hash-triple.h: Implement.
35280
35281 2007-09-25  Eric Blake  <ebb9@byu.net>
35282
35283         Fix strerror on Interix.
35284         * lib/string_.h (strerror): Declare replacement.
35285         * doc/functions/strerror.texi (strerror): Document the Interix
35286         shortcoming.
35287         * modules/string (Makefile.am): Support new hooks.
35288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
35289         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
35290         gl_FUNC_STRERROR_SEPARATE.
35291         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
35292         * lib/strerror.c (rpl_strerror): Provide replacement.
35293         * modules/strerror (Depends-on): Add string.
35294         (configure.ac): Detect use of module.
35295         * tests/test-strerror.c: New file.
35296         * modules/strerror-tests: New test module.
35297         * modules/argp (Depends-on): Add strerror.
35298         * modules/error (Depends-on): Likewise.
35299         Reported by Martin Koeppe.
35300
35301 2007-09-24  Bruno Haible  <bruno@clisp.org>
35302
35303         * README: Update git instructions.
35304
35305 2007-09-24  Eric Blake  <ebb9@byu.net>
35306
35307         Revert fpending breakage from 2007-09-08.
35308         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
35309         __fpending.c.
35310
35311 2007-09-24  Jim Meyering  <jim@meyering.net>
35312
35313         filenamecat.c: Add a test.
35314         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
35315         showing how the function works when DIR is the empty string.
35316
35317 2007-09-21  Simon Josefsson  <simon@josefsson.org>
35318
35319         * tests/test-canonicalize.sh: Turn on executable bit.
35320
35321 2007-09-19  Eric Blake  <ebb9@byu.net>
35322
35323         * README: Update CVS instructions.
35324
35325 2007-09-18  Bruno Haible  <bruno@clisp.org>
35326
35327         * modules/areadlink: New file.
35328         * lib/areadlink.h (areadlink): New declaration.
35329         * lib/areadlink.c: New file, based on lib/xreadlink.c.
35330
35331 2007-09-17  Jim Meyering  <jim@meyering.net>
35332
35333         * lib/savewd.c (ESTALE) [!defined]: Define.
35334         Reported to be required on Interix by Martin Koeppe.
35335
35336 2007-09-17  Bruno Haible  <bruno@clisp.org>
35337
35338         * gnulib-tool (func_version): Use $version.
35339
35340 2007-09-16  Bruno Haible  <bruno@clisp.org>
35341
35342         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
35343         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
35344         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
35345         Reported by Greg Schafer <gschafer@zip.com.au>.
35346
35347 2007-09-15  Bruno Haible  <bruno@clisp.org>
35348
35349         * gnulib-tool (sed): Try a little harder to make bash understand the
35350         alias.
35351         Reported by Bruce Korb <bruce.korb@gmail.com>.
35352
35353 2007-09-13  Eric Blake  <ebb9@byu.net>
35354
35355         * ChangeLog: Remove conflict markers.
35356
35357 2007-09-13  Simon Josefsson  <simon@josefsson.org>
35358
35359         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
35360         Reported by Bruno Haible <bruno@clisp.org>.
35361
35362 2007-09-12  Bruno Haible  <bruno@clisp.org>
35363
35364         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
35365         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
35366         is not defined.
35367
35368 2007-09-12  Eric Blake  <ebb9@byu.net>
35369
35370         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
35371         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
35372         Autoconf definition.
35373         * modules/euidaccess (Depends-on): Add extensions, for
35374         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
35375         * modules/fnmatch (Depends-on): Likewise.
35376         * modules/getaddrinfo (Depends-on): Likewise.
35377         * modules/getdelim (Depends-on): Likewise.
35378         * modules/getline (Depends-on): Likewise.
35379         * modules/getsubopt (Depends-on): Likewise.
35380         * modules/gettext (Depends-on): Likewise.
35381         * modules/group-member (Depends-on): Likewise.
35382         * modules/mbchar (Depends-on): Likewise.
35383         * modules/memmem (Depends-on): Likewise.
35384         * modules/mempcpy (Depends-on): Likewise.
35385         * modules/memrchr (Depends-on): Likewise.
35386         * modules/pagealign_alloc (Depends-on): Likewise.
35387         * modules/readutmp (Depends-on): Likewise.
35388         * modules/stpcpy (Depends-on): Likewise.
35389         * modules/stpncpy (Depends-on): Likewise.
35390         * modules/strchrnul (Depends-on): Likewise.
35391         * modules/strndup (Depends-on): Likewise.
35392         * modules/strsep (Depends-on): Likewise.
35393         * modules/strverscmp (Depends-on): Likewise.
35394         * modules/vasprintf (Depends-on): Likewise.
35395         * modules/wcwidth (Depends-on): Likewise.
35396         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
35397         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
35398         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
35399         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
35400         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
35401         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35402         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
35403         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
35404         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
35405         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35406         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
35407         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
35408         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
35409         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
35410         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
35411         * m4/readutmp.m4 (gl_READUTMP): Likewise.
35412         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35413         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
35414         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35415         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
35416         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
35417         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
35418         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
35419         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
35420         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
35421         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
35422         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
35423         so that lock.m4 can be used in gettext without extensions module.
35424
35425 2007-09-11  Bruno Haible  <bruno@clisp.org>
35426
35427         * m4/isc-posix.m4: Remove file.
35428         Suggested by Eric Blake.
35429
35430 2007-09-11  Eric Blake  <ebb9@byu.net>
35431
35432         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
35433
35434 2007-09-10  Bruno Haible  <bruno@clisp.org>
35435
35436         * posix-modules: Fix typo in error message.
35437         Reported by Matt <mkraai@beckman.com>.
35438
35439 2007-09-09  Bruno Haible  <bruno@clisp.org>
35440
35441         * doc/functions/getdelim.texi: Update list of platforms lacking the
35442         function.
35443         * doc/functions/getline.texi: Likewise.
35444
35445 2007-09-09  Jim Meyering  <jim@meyering.net>
35446
35447         * lib/hash.c (hash_initialize): Detect calloc failure.
35448         Reported by Bruno Haible.
35449
35450 2007-09-09  Bruno Haible  <bruno@clisp.org>
35451
35452         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
35453         malloc or realloc fails.
35454
35455 2007-09-09  Bruno Haible  <bruno@clisp.org>
35456
35457         * modules/getcwd (Depends-on): Add malloc-posix.
35458         * modules/glob (Depends-on): Likewise.
35459         * modules/putenv (Depends-on): Likewise.
35460         * modules/strdup (Depends-on): Likewise.
35461         * modules/getdelim (Depends-on): Add realloc-posix.
35462         * modules/read-file (Depends-on): Likewise.
35463
35464 2007-09-09  Bruno Haible  <bruno@clisp.org>
35465
35466         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
35467         (gl_FUNC_MALLOC_POSIX): Require it.
35468         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
35469         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
35470         * modules/realloc (Files): Add m4/malloc.m4.
35471         * modules/calloc (Files): Likewise.
35472
35473 2007-09-09  Bruno Haible  <bruno@clisp.org>
35474
35475         * modules/malloc-posix: New file.
35476         * modules/malloc (Depends-on): Add malloc-posix.
35477         * lib/malloc.c: Include errno.h.
35478         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
35479         and a POSIX-compatible malloc into a single function. Set ENOMEM
35480         when returning NULL.
35481         * m4/malloc.m4: New file.
35482         * doc/functions/malloc.texi: Mention the malloc-posix module.
35483         * lib/stdlib_.h (malloc): New declaration.
35484         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35485         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
35486         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
35487         and HAVE_MALLOC_POSIX.
35488
35489 2007-09-09  Bruno Haible  <bruno@clisp.org>
35490
35491         * modules/realloc-posix: New file.
35492         * modules/realloc (Depends-on): Add realloc-posix.
35493         * lib/realloc.c: Include errno.h.
35494         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
35495         and a POSIX-compatible realloc into a single function. Set ENOMEM
35496         when returning NULL.
35497         * m4/realloc.m4: New file.
35498         * doc/functions/realloc.texi: Mention the realloc-posix module.
35499         * lib/stdlib_.h (realloc): New declaration.
35500         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35501         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
35502         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
35503         and HAVE_REALLOC_POSIX.
35504
35505 2007-09-09  Bruno Haible  <bruno@clisp.org>
35506
35507         * modules/calloc-posix: New file.
35508         * modules/calloc (Depends-on): Add calloc-posix.
35509         * lib/calloc.c: Include errno.h.
35510         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
35511         and a POSIX-compatible calloc into a single function. Set ENOMEM
35512         when returning NULL.
35513         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
35514         * doc/functions/calloc.texi: Mention the calloc-posix module.
35515         * lib/stdlib_.h (calloc): New declaration.
35516         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35517         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
35518         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
35519         and HAVE_CALLOC_POSIX.
35520
35521 2007-09-09  Bruno Haible  <bruno@clisp.org>
35522
35523         Allow for modules to show an arbitrary notice.
35524         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
35525         * gnulib-tool: New option --extract-notice.
35526         (func_usage): Document it.
35527         (sed_extract_prog): Update.
35528         (func_get_notice): New function.
35529         (func_modules_notice): New function.
35530         (func_import, func_create_testdir): Invoke it.
35531         Suggested by Jim Meyering.
35532
35533 2007-09-09  Bruno Haible  <bruno@clisp.org>
35534
35535         * gnulib-tool: New options --verbose, --quiet.
35536         (func_usage): Document them.
35537         (verbose): New variable.
35538         (func_execute_command): New function.
35539         (func_import): Don't show the module list and the file list if
35540         $verbose < 0.
35541         (func_create_testdir): Likewise. Use func_execute_command.
35542         (func_create_megatestdir): Use func_execute_command.
35543
35544 2007-09-08  Bruno Haible  <bruno@clisp.org>
35545
35546         * gnulib-tool (func_import): Prefer rsync over wget when available,
35547         for fetching the PO files.
35548
35549 2007-09-08  Bruno Haible  <bruno@clisp.org>
35550
35551         * posix-modules: New file. Portions copied from gnulib-tool.
35552         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
35553
35554 2007-09-08  Jim Meyering  <jim@meyering.net>
35555
35556         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
35557         * lib/fpending.h: Rename from __fpending.h.
35558         * lib/fpending.c: Rename from __fpending.c.
35559         Include "fpending.h", not "__fpending.h".
35560         * lib/__fpending.h, lib/__fpending.c: Remove files.
35561         * modules/fpending (Files): Reflect new file names.
35562         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
35563
35564 2007-09-08  Bruno Haible  <bruno@clisp.org>
35565
35566         * m4/inttypes-h.m4: Remove stub file.
35567
35568 2007-09-07  Simon Josefsson  <simon@josefsson.org>
35569
35570         * doc/headers/stdint.texi: Discuss #include_next issue.
35571
35572 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
35573
35574         * build-aux/bootstrap: Remove obsolete comment about wget --help.
35575
35576 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35577
35578         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
35579         in variable name.
35580
35581 2007-09-03  Jim Meyering  <jim@meyering.net>
35582
35583         New module: git-version-gen.
35584         * modules/git-version-gen: New file.
35585
35586         Import changes from coreutils for bootstrap script.
35587
35588         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
35589
35590         bootstrap: uses rsync to download the .po files
35591         * build-aux/bootstrap (po_download_command_format): New global.
35592         (download_po_files): Use rsync.
35593         (update_po_files): Don't remove .po files after download,
35594         so future rsync runs can take advantage of the copies.
35595
35596         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
35597
35598         Solve the unnecessary-.po-file-regeneration problem once and for all.
35599         * build-aux/bootstrap (download_po_files): New function, renamed from
35600         get_translations.  Now, downloads, but doesn't update LINGUAS.
35601         (update_po_files): New function.
35602
35603         bootstrap: Ignore more.
35604         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
35605         uniwidth to e.g., lib/.gitignore.
35606         (slurp): Handle the sys_stat_.h -> sys mapping, too.
35607
35608         * build-aux/bootstrap: New setting: vc_ignore.
35609         (insert_sorted_if_absent): Create $file if absent.
35610         Adapt to new, possibly empty, list: $vc_ignore.
35611
35612         bootstrap: generate more ignorable names
35613         * build-aux/bootstrap (slurp): When generating ignorable names,
35614         also map .sin to .sed, .gperf to .c, and .y to .c.
35615
35616 2007-09-03  Jim Meyering  <jim@meyering.net>
35617
35618         * build-aux/git-version-gen: New file, from coreutils.  For details, see
35619         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
35620
35621 2007-09-02  Bruno Haible  <bruno@clisp.org>
35622
35623         Fix mis-recognition of 'mcs' on QNX 6.
35624         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
35625         output contains the string "Mono".
35626         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
35627         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
35628
35629 2007-09-01  Bruno Haible  <bruno@clisp.org>
35630
35631         Fix collision between uniwidth/* and linebreak modules.
35632         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
35633         u32_width): Remove declarations.
35634         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
35635         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
35636         streq3, streq2, streq1, streq0): Remove functions.
35637         (STREQ): Remove macro.
35638         (is_cjk_encoding): Remove function.
35639         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
35640         (uc_width, u8_width, u16_width, u32_width): Remove functions.
35641         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
35642         * NEWS: Document the change.
35643
35644 2007-09-01  Bruno Haible  <bruno@clisp.org>
35645
35646         * lib/streq.h: Add double-inclusion guard.
35647
35648 2007-09-01  Karl Berry  <karl@gnu.org>
35649
35650         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
35651
35652 2007-08-28  Jim Meyering  <jim@meyering.net>
35653
35654         Rename mreadlink_with_size to areadlink_with_size.
35655         * NEWS: Document the change.
35656         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
35657         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
35658         * lib/mreadlink.h: Rename this to...
35659         * lib/areadlink.h: ...this.
35660         * modules/mreadlink-with-size: Rename this to...
35661         * modules/areadlink-with-size: ...this.
35662         * lib/canonicalize.c: Reflect the renaming.
35663         * modules/canonicalize: Likewise.
35664
35665 2007-08-26  Bruno Haible  <bruno@clisp.org>
35666
35667         * gnulib-tool (func_import): When deciding which files to remove,
35668         consider also dangling symbolic links.
35669         Reported by Eric Blake.
35670
35671 2007-08-26  Bruno Haible  <bruno@clisp.org>
35672
35673         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
35674
35675 2007-08-23  Simon Josefsson  <simon@josefsson.org>
35676
35677         * lib/readline.c: Don't include getline.h, the prototype is now
35678         found in stdio.h.
35679
35680 2007-08-23  Jim Meyering  <jim@meyering.net>
35681
35682         Getdelim touchup.
35683         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
35684         around the funlockfile call, since funlockfile never sets errno.
35685         Don't set errno upon failed realloc.
35686
35687 2007-08-22  Eric Blake  <ebb9@byu.net>
35688
35689         Getline touchups.
35690         * lib/getdelim.c (getdelim): Revert regression that required *n to
35691         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
35692         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
35693         getdelim, rather than whether implementation is missing.
35694         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
35695         * lib/stdio_.h (getline): Also declare if replacement is
35696         required.
35697         * doc/functions/getdelim.texi: New file.
35698         * doc/functions/getline.texi: Likewise.
35699         * doc/gnulib.texi (Function Substitutes): Add new files.
35700         Reported by Bruno Haible.
35701
35702 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
35703
35704         * users.txt: Add Guile.
35705
35706 2007-08-22  Eric Blake  <ebb9@byu.net>
35707
35708         * tests/test-getdelim.c (main): Use remove, not unlink.
35709         * tests/test-getline.c (main): Likewise.
35710
35711         Move getline and getdelim into stdio.h, per POSIX 200x.
35712         * modules/getline (Files): Remove getline.h.
35713         (Depends-on): Add stdio.
35714         (configure.ac): Add module indicator.
35715         * modules/getdelim (Files): Remove getdelim.h.
35716         (Depends-on): Add stdio.
35717         (configure.ac): Add module indicator.
35718         * modules/stdio (Makefile.am): Work with new indicators.
35719         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35720         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
35721         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35722         * lib/getdelim.h: Delete.
35723         * lib/getline.h: Delete.
35724         * lib/stdio_.h (getdelim, getline): Declare.
35725         * modules/getdelim-tests: New module.
35726         * modules/getline-tests: Likewise.
35727         * tests/test-getdelim.c: New file.
35728         * tests/test-getline.c: Likewise.
35729         * NEWS: Document the change.
35730         * lib/getline.c: Update choice of header.
35731         * lib/csharpcomp.c: Likewise.
35732         * lib/getpass.c: Likewise.
35733         * lib/javacomp.c: Likewise.
35734         * lib/javaversion.c: Likewise.
35735         * lib/yesno.c: Likewise.
35736         * lib/getdelim.c: Likewise.
35737         (getdelim): Set errno on failure, and avoid memory leak.
35738
35739 2007-08-19  Bruno Haible  <bruno@clisp.org>
35740
35741         * modules/closein (Depends-on): Add freadahead.
35742         * lib/closein.c: Include freadahead.h.
35743         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
35744         is zero.
35745
35746 2007-08-19  Bruno Haible  <bruno@clisp.org>
35747
35748         * modules/freadahead-tests: New file.
35749         * tests/test-freadahead.sh: New file.
35750         * tests/test-freadahead.c: New file.
35751
35752         * modules/freadahead: New file.
35753         * lib/freadahead.h: New file.
35754         * lib/freadahead.c: New file.
35755         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
35756         fbufmode, fpurge, freadable, fwritable.
35757
35758 2007-08-19  Eric Blake  <ebb9@byu.net>
35759
35760         Test yesno in combination with closein.
35761         * lib/yesno.c (yesno): Document use of stdin.
35762         * modules/yesno-tests (Files): New module.
35763         * tests/test-yesno.c (main): New file.
35764         * tests/test-yesno.sh: Likewise.
35765
35766 2007-08-19  Bruno Haible  <bruno@clisp.org>
35767
35768         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
35769         * lib/fseeko.c (rpl_fseeko): Likewise.
35770         * lib/fseterr.c (fseterr): Likewise.
35771
35772 2007-08-19  Bruno Haible  <bruno@clisp.org>
35773
35774         * tests/test-lseek.c (main): Disable a test for BeOS.
35775         * doc/functions/lseek.texi: Document the BeOS bug.
35776
35777 2007-08-19  Bruno Haible  <bruno@clisp.org>
35778             Eric Blake  <ebb9@byu.net>
35779
35780         * lib/lseek.c: Include <sys/stat.h>.
35781         (rpl_lseek): Add workaround code also for Unix platforms.
35782         Needed for BeOS.
35783         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
35784         * doc/functions/lseek.texi: Document BeOS definiency.
35785
35786 2007-08-18  Bruno Haible  <bruno@clisp.org>
35787
35788         * modules/fstrcmp-tests: New file.
35789         * tests/test-fstrcmp.c: New file.
35790
35791 2007-08-18  Bruno Haible  <bruno@clisp.org>
35792
35793         * modules/fstrcmp: New file, from GNU gettext with modifications.
35794         * lib/fstrcmp.h: New file, from GNU gettext.
35795         * lib/fstrcmp.c: New file, from GNU gettext.
35796         * MODULES.html.sh (String handling): Add fstrcmp.
35797
35798 2007-08-18  Bruno Haible  <bruno@clisp.org>
35799
35800         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
35801         'bool'.
35802         (diag, compareseq): Remove const from the ctxt argument.
35803         (USE_HEURISTIC): Undefine at the end.
35804
35805 2007-08-18  Jim Meyering  <jim@meyering.net>
35806
35807         New file: lib/idcache.h
35808         * NEWS: Mention the addition.
35809         * modules/idcache (Files): Add lib/idcache.h
35810         * lib/idcache.c: Include "idcache.h".
35811         Don't include <sys/types.h>.
35812         Add a FIXME comment.
35813         Move file-scoped "static" declarations to the top.
35814         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
35815
35816 2007-08-17  Bruno Haible  <bruno@clisp.org>
35817         and Paul Eggert  <eggert@cs.ucla.edu>
35818
35819         * MODULES.html.sh: Add diffseq.
35820         * modules/diffseq: New file.
35821         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
35822         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
35823
35824 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
35825
35826         Import changes from coreutils for bootstrap script.
35827
35828         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
35829
35830         * build-aux/bootstrap (slurp): Work even in environments where
35831         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
35832         current code does not slurp files whose names start with ".", and
35833         this looks like it might be a troublesome area.
35834
35835         2007-07-11  Jim Meyering  <jim@meyering.net>
35836
35837         If there's a GPL vN copyright comment, require that N == 3.
35838
35839         2007-07-08  Jim Meyering  <jim@meyering.net>
35840
35841         Run the coreutils-specific code only if tests/Makefile.am.in exists.
35842         * build-aux/bootstrap (mam_template): Move definition out of loop.
35843
35844         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
35845
35846         * build-aux/bootstrap (symlink_to_dir): Rename function from
35847         symlink_to_gnulib.  Add a directory parameter.  Update all
35848         callers.
35849         (cp_mark_as_generated): Also check for -- and link to -- files in
35850         gl/.
35851
35852         2007-07-08  Jim Meyering  <jim@meyering.net>
35853
35854         Adapt to deeper hierarchy in gnulib.
35855         * build-aux/bootstrap (symlink_to_dir): If the destination
35856         directory doesn't exist, create it. This is required at least for
35857         "lib/uniwidth/cjk.h".
35858
35859         2007-05-15  Jim Meyering  <jim@meyering.net>
35860
35861         * build-aux/bootstrap: Now that generated Makefile.am files
35862         are no longer under version control, they must be created at
35863         bootstrap time.
35864
35865 2007-08-14  Ben Pfaff  <blp@gnu.org>
35866
35867         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
35868
35869 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
35870
35871         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
35872         given the changes below.
35873         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
35874         even on hosts that have padding bits beyond the supported 64.
35875
35876 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35877
35878         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
35879         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
35880         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
35881         depends on it.
35882         (xstrtol_error): Remove.
35883         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
35884         but with a different signature.
35885         (ATTRIBUTE_NORETURN, __attribute__): New macros.
35886         * lib/xstrtol-error.c: Include exitfail.h.
35887         (xstrtol_fatal): New function, with a different signature from the
35888         old xstrtol_error, so that the caller need not worry about passing
35889         in an exit status, or about storage management of the option argument.
35890         (xstrtol_error): Now a static function.  Redo signature to
35891         implement xstrtol_fatal.  Output the correct number of hyphens in
35892         front of the option so that the caller need not worry about
35893         storage management.
35894         (N_): New macro.
35895         (_): Remove; not used now.
35896         * modules/xstrtol: Depend on getopt.
35897         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
35898         of old STRTOL_FATAL_ERROR macro.
35899         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
35900         of test program.
35901         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
35902         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
35903
35904 2007-08-08  Eric Blake  <ebb9@byu.net>
35905
35906         * lib/xstrtol-error.c: Add missing include.
35907
35908         Move xstrtol messages into gnulib domain, when --pobase is used.
35909         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
35910         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
35911         * modules/xstrtol (Files): Distribute new file.
35912         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
35913         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
35914         * tests/test-xstrtol.c: ...into new file.
35915         * tests/test-xstrtoul.c: Also test xstrtoul.
35916         * tests/test-xstrtoimax.c: Also test xstrtoimax.
35917         * tests/test-xstrtoumax.c: Also test xstrtoumax.
35918         * tests/test-xstrtol.sh: Drive the tests.
35919         * tests/test-xstrtoimax.sh: Likewise.
35920         * tests/test-xstrtoumax.sh: Likewise.
35921         * modules/xstrtol-tests: New module.
35922         * modules/xstrtoimax-tests: Likewise.
35923         * modules/xstrtoumax-tests: Likewise.
35924
35925 2007-08-08  Jim Meyering  <jim@meyering.net>
35926
35927         New function: mfile_name_concat.
35928         * lib/filenamecat.c (mfile_name_concat): New function, just like
35929         file_name_concat, but return NULL upon failure rather than exiting
35930         with a diagnostic.
35931         * lib/filenamecat.h: Declare it.
35932
35933 2007-08-07  Bruno Haible  <bruno@clisp.org>
35934
35935         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
35936         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
35937         warning from gcc.
35938         Reported by Eric Blake.
35939
35940 2007-08-07  Simon Josefsson  <simon@josefsson.org>
35941
35942         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
35943         * modules/crypto/arcfour (License): Likewise.
35944         * modules/crypto/des-tests (License): Likewise.
35945         * modules/crypto/gc-arctwo-tests (License): Likewise.
35946         * modules/crypto/gc-des-tests (License): Likewise.
35947         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
35948         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
35949         * modules/crypto/gc-md2-tests (License): Likewise.
35950         * modules/crypto/gc-md4-tests (License): Likewise.
35951         * modules/crypto/gc-md5-tests (License): Likewise.
35952         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
35953         * modules/crypto/gc-rijndael-tests (License): Likewise.
35954         * modules/crypto/gc-sha1-tests (License): Likewise.
35955         * modules/crypto/gc-tests (License): Likewise.
35956         * modules/crypto/hmac-md5 (License): Likewise.
35957         * modules/crypto/hmac-sha1 (License): Likewise.
35958         * modules/crypto/md2-tests (License): Likewise.
35959         * modules/crypto/md4-tests (License): Likewise.
35960         * modules/crypto/md5 (License): Likewise.
35961         * modules/crypto/rijndael (License): Likewise.
35962         * modules/crypto/sha1 (License): Likewise.
35963         * modules/memxor (License): Likewise.
35964
35965 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
35966         and Bruno Haible  <bruno@clisp.org>
35967
35968         * NEWS: Describe interface changes to human, xstrtol.
35969         * lib/human.h: Include <xstrtol.h>.
35970         (human_options): Return enum strtol_error, not int.  Remove
35971         bool arg; take int * instead.
35972         * lib/human.c: Don't include "gettext.h".
35973         (_): Remove; no longer used.
35974         Don't include <xstrtol.h>, since human.h does it.
35975         (human_options): Adjust to abovementioned interface changes.
35976         Do not report error to stderr; that's now the caller's
35977         responsibility.
35978         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
35979         interface change.
35980         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
35981         Str, Argument_type_string.  All uses changed.  Put " argument"
35982         in diagnostics to make them clearer.  Change wording of suffix
35983         message for clarity.
35984         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
35985         Argument_type_string.
35986         (STRTOL_FATAL_WARN): Remove; no longer used.
35987         * modules/human (Depends-on): Remove gettext-h.
35988
35989 2007-08-06  Simon Josefsson  <simon@josefsson.org>
35990
35991         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
35992
35993 2007-07-31  Bruno Haible  <bruno@clisp.org>
35994
35995         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
35996         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
35997         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
35998
35999 2007-07-31  Bruno Haible  <bruno@clisp.org>
36000
36001         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
36002         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
36003
36004 2007-07-30  Bruno Haible  <bruno@clisp.org>
36005
36006         * modules/base64 (License): Use the synonymous term "LGPLv2+".
36007         * modules/c-ctype (License): Likewise.
36008         * modules/c-strcase (License): Likewise.
36009         * modules/check-version (License): Likewise.
36010         * modules/iconv (License): Likewise.
36011         * modules/iconv_open (License): Likewise.
36012         * modules/read-file (License): Likewise.
36013         * modules/striconv (License): Likewise.
36014         * modules/strverscmp (License): Likewise.
36015         * modules/vasprintf (License): Likewise.
36016         * modules/crypto/des (License): Likewise.
36017         * modules/crypto/gc (License): Likewise.
36018         * modules/crypto/gc-arcfour (License): Likewise.
36019         * modules/crypto/gc-arctwo (License): Likewise.
36020         * modules/crypto/gc-des (License): Likewise.
36021         * modules/crypto/gc-hmac-md5 (License): Likewise.
36022         * modules/crypto/gc-hmac-sha1 (License): Likewise.
36023         * modules/crypto/gc-md2 (License): Likewise.
36024         * modules/crypto/gc-md4 (License): Likewise.
36025         * modules/crypto/gc-md5 (License): Likewise.
36026         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
36027         * modules/crypto/gc-random (License): Likewise.
36028         * modules/crypto/gc-rijndael (License): Likewise.
36029         * modules/crypto/gc-sha1 (License): Likewise.
36030         * modules/crypto/md2 (License): Likewise.
36031         * modules/crypto/md4 (License): Likewise.
36032
36033 2007-07-30  Jim Meyering  <jim@meyering.net>
36034
36035         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
36036         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
36037         it has valid stat data.  This bug would cause du not to count the
36038         sizes of inaccessible directories.
36039         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
36040         in <http://bugzilla.redhat.com/250077>.
36041
36042 2007-07-25  Peter O'Gorman  <peter@pogma.com>
36043             Bruno Haible  <bruno@clisp.org>
36044
36045         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
36046         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
36047         #include_next, gives a diagnostic about it, but reports no error in
36048         the exit code.
36049         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
36050
36051 2007-07-24  Ben Pfaff  <blp@gnu.org>
36052
36053         Improve name: "count-one-bits" is better than "popcount".
36054         * MODULES.html.sh: Update name.
36055         * lib/popcount.h: Renamed lib/count-one-bits.h.
36056         (popcount): Renamed count_one_bits.
36057         (popcountl): Renamed count_one_bits_l.
36058         (popcountll): Renamed count_one_bits_ll.
36059         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
36060         * modules/popcount: Renamed module/count-one-bits.
36061         * modules/popcount-tests: Renamed module/count-one-bits-tests.
36062         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
36063
36064 2007-07-23  Ben Pfaff  <blp@gnu.org>
36065
36066         * lib/popcount.h (popcount32): Reduce size of constants, to allow
36067         better code generation, and add U to large constants to avoid
36068         warnings, in non-GCC case.
36069         Suggested by Bruno Haible.
36070
36071 2007-07-23  Ben Pfaff  <blp@gnu.org>
36072
36073         * lib/popcount.h: Use verify_true instead of if...abort.
36074         * modules/popcount: Depend on verify module.
36075         Suggested by Jim Meyering.
36076
36077 2007-07-23  Bruno Haible  <bruno@clisp.org>
36078
36079         * gnulib-tool (func_import): Create a .cvsignore file also when the
36080         directory is not yet in CVS but the toplevel directory is. When
36081         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
36082         Reported by Karl Berry.
36083
36084 2007-07-22  Ben Pfaff  <blp@gnu.org>
36085
36086         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
36087         case.
36088         Suggested by Eric Blake.
36089
36090 2007-07-22  Ben Pfaff  <blp@gnu.org>
36091
36092         New module: popcount.
36093         * MODULES.html.sh: Add popcount.
36094         * modules/popcount: New file.
36095         * modules/popcount-tests: New file.
36096         * tests/test-popcount.c: New file.
36097         * lib/popcount.h: New file.
36098         * m4/popcount.m4: New file.
36099
36100 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
36101
36102         * build-aux/announce-gen: Update to GPLv3.
36103
36104         * build-aux/config.guess: Update from config.
36105
36106 2007-07-21  Bruno Haible  <bruno@clisp.org>
36107
36108         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
36109         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
36110
36111 2007-07-20  Jim Meyering  <jim@meyering.net>
36112
36113         * check-module: Diagnose a self-dependency.
36114
36115 2007-07-19  Bruno Haible  <bruno@clisp.org>
36116
36117         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
36118         empty.
36119         Reported by Eric Blake.
36120
36121 2007-07-18  Bruno Haible  <bruno@clisp.org>
36122
36123         * gnulib-tool: New options --po-base, --po-domain.
36124         (func_usage): Document them.
36125         (pobase, po_domain): New variables.
36126         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
36127         DEFAULT_TEXT_DOMAIN.
36128         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
36129         (func_import): Consider pobase and po_domain. Create a po/ directory.
36130         (func_create_testdir): Set pobase and po_domain to empty.
36131         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
36132         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
36133
36134 2007-07-18  Bruno Haible  <bruno@clisp.org>
36135
36136         * gnulib-tool (func_get_automake_snippet): Synthesize also an
36137         EXTRA_DIST augmentation for files in build-aux/.
36138
36139 2007-07-16  Bruno Haible  <bruno@clisp.org>
36140
36141         * modules/lseek (License): Use the synonymous term "LGPLv2+".
36142         * modules/getdelim (License): Likewise.
36143
36144 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36145
36146         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
36147         * modules/d-type (License): Likewise.
36148         * modules/extensions (License): Likewise.
36149         * modules/fnmatch (License): Likewise.
36150         * modules/fseeko (License): Likewise.
36151         * modules/getaddrinfo (License): Likewise.
36152         * modules/getline (License): Likewise.
36153         * modules/getlogin_r (License): Likewise.
36154         * modules/getpass (License): Likewise.
36155         * modules/gettimeofday (License): Likewise.
36156         * modules/glob (License): Likewise.
36157         * modules/inet_ntop (License): Likewise.
36158         * modules/malloc (License): Likewise.
36159         * modules/malloca (License): Likewise.
36160         * modules/memmem (License): Likewise.
36161         * modules/mempcpy (License): Likewise.
36162         * modules/memset (License): Likewise.
36163         * modules/minmax (License): Likewise.
36164         * modules/mktime (License): Likewise.
36165         * modules/netinet_in (License): Likewise.
36166         * modules/pathmax (License): Likewise.
36167         * modules/poll (License): Likewise.
36168         * modules/regex (License): Likewise.
36169         * modules/snprintf (License): Likewise.
36170         * modules/stdbool (License): Likewise.
36171         * modules/stdint (License): Likewise.
36172         * modules/stdio (License): Likewise.
36173         * modules/strcase (License): Likewise.
36174         * modules/strcasestr (License): Likewise.
36175         * modules/strdup (License): Likewise.
36176         * modules/string (License): Likewise.
36177         * modules/strndup (License): Likewise.
36178         * modules/strnlen (License): Likewise.
36179         * modules/strpbrk (License): Likewise.
36180         * modules/strptime (License): Likewise.
36181         * modules/strsep (License): Likewise.
36182         * modules/sys_select (License): Likewise.
36183         * modules/sys_socket (License): Likewise.
36184         * modules/sys_stat (License): Likewise.
36185         * modules/sys_time (License): Likewise.
36186         * modules/time (License): Likewise.
36187         * modules/time_r (License): Likewise.
36188         * modules/timegm (License): Likewise.
36189         * modules/unistd (License): Likewise.
36190         * modules/vsnprintf (License): Likewise.
36191         * modules/wctype (License): Likewise.
36192
36193 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36194
36195         * modules/argz (License): LGPLv2+.
36196
36197 2007-07-15  Karl Berry  <karl@gnu.org>
36198
36199         * doc/gnulib.texi: revise node structure per new fdl.texi.
36200
36201 2007-07-14  Bruno Haible  <bruno@clisp.org>
36202
36203         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
36204         the output file.
36205         * lib/uniname/uninames.h: Regenerated.
36206
36207 2007-07-14  Karl Berry  <karl@gnu.org>
36208
36209         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
36210         omitting sectioning and index commands.
36211
36212 2007-07-13  Bruno Haible  <bruno@clisp.org>
36213
36214         New gnulib-tool option --more-symlinks.
36215         * gnulib-tool (func_usage): Document --more-symlinks.
36216         (do_copyrights): New variable.
36217         Recognize option --more-symlinks.
36218         (func_import): Don't add a copyright notice transform to
36219         sed_transform_lib_file if do_copyrights is empty.
36220
36221 2007-07-13  Bruno Haible  <bruno@clisp.org>
36222
36223         * lib/vasnprintf.c (decimal_point_char): Define also if
36224         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
36225         && !NEED_PRINTF_DIRECTIVE_A.
36226         Reported by Clemens Koller <clemens.koller@anagramm.de> via
36227         Gary V. Vaughan <gary@gnu.org>.
36228
36229 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
36230
36231         * lib/inttypes_.h: Undo previous change, since it was fixed
36232         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
36233
36234 2007-07-13  Bruno Haible  <bruno@clisp.org>
36235
36236         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
36237         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
36238
36239 2007-07-13  Jim Meyering  <jim@meyering.net>
36240
36241         df: Don't fail for Tru64's "file-on-file mount".
36242         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
36243         so we fall through and use statfs instead.  Details here:
36244         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
36245         Reported by Albert Chin.
36246
36247 2007-07-13  Bruno Haible  <bruno@clisp.org>
36248
36249         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
36250         * modules/configmake (License): Likewise.
36251         * modules/gettext (License): Likewise.
36252         * modules/gettext-h (License): Likewise.
36253         * modules/include_next (License): Likewise.
36254         * modules/link-warning (License): Likewise.
36255         * modules/localcharset (License): Likewise.
36256         * modules/localename (License): Likewise.
36257         * modules/lock (License): Likewise.
36258         * modules/relocatable-lib-lgpl (License): Likewise.
36259         * modules/size_max (License): Likewise.
36260         * modules/vasnprintf (License): Likewise.
36261         * modules/wchar (License): Likewise.
36262         * modules/xsize (License): Likewise.
36263
36264 2007-07-13  Bruno Haible  <bruno@clisp.org>
36265
36266         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
36267         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
36268
36269 2007-07-12  Bruno Haible  <bruno@clisp.org>
36270
36271         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
36272         in the modules files.
36273
36274 2007-07-11  Karl Berry  <karl@gnu.org>
36275
36276         * MODULES.html.sh (func_module): use
36277          sed -e '\|^'"${includefile}"'$|d'
36278          instead of /.../d, to avoid errors on $includefile's containing /.
36279
36280 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
36281
36282         * gnulib-tool (func_import): Avoid duplication of --avoid
36283         statements
36284         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
36285         names to `_' in variable names.
36286
36287 2007-07-10  Eric Blake  <ebb9@byu.net>
36288
36289         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
36290         * NEWS: Document this change.
36291
36292 2007-07-08  Bruno Haible  <bruno@clisp.org>
36293
36294         Update to Unicode 5.0.
36295         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
36296         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
36297         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
36298         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
36299         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
36300         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
36301         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
36302         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
36303         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
36304         U+10A3F, U+1D242..U+1D244.
36305         (nonspacing_table_ind): Update.
36306         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
36307         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
36308
36309 2007-07-08  Bruno Haible  <bruno@clisp.org>
36310
36311         Update to Unicode 5.0.
36312         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
36313         code transform. Extend the name index field of unicode_name_to_code and
36314         unicode_code_to_name from 16 to 24 bits.
36315         * lib/uniname/uniname.c (unicode_character_name,
36316         unicode_name_character): Add the range 0x12xxx to the code transform.
36317         * lib/uniname/uninames.h: Regenerated.
36318         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
36319
36320 2007-07-07  Bruno Haible  <bruno@clisp.org>
36321
36322         * modules/wcwidth-tests: New file.
36323         * tests/test-wcwidth.c: New file.
36324
36325         Work around MacOS X wcwidth() bug.
36326         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
36327         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
36328         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
36329         original wcwidth in non-UTF-8 locales.
36330         * modules/wcwidth (Depends-on): Add localcharset, streq,
36331         uniwidth/width.
36332         * doc/functions/wcwidth.texi: Update.
36333
36334 2007-07-07  Bruno Haible  <bruno@clisp.org>
36335
36336         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
36337         (wcwidth): New declaration.
36338         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
36339         macros.
36340         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
36341         here. Prepare for creating <wchar.h> unconditionally.
36342         * modules/wchar (Depends-on): Add link-warning.
36343         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
36344         REPLACE_WCWIDTH, and GL_LINK_WARNING.
36345         * lib/wcwidth.h: Remove file.
36346         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
36347         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
36348         * modules/wcwidth (Files): Remove lib/wcwidth.h.
36349         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
36350         (Include): Replace wcwidth.h with <wchar.h>.
36351         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
36352         * lib/mbchar.h: Don't include wcwidth.h.
36353         * lib/mbswidth.c: Likewise.
36354         * NEWS: Mention the change.
36355
36356 2007-07-07  Bruno Haible  <bruno@clisp.org>
36357
36358         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
36359         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
36360         definition with an external declaration.
36361         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
36362         defined as a function. Remove AC_C_INLINE requirement.
36363         * modules/wcwidth (Files): Add lib/wcwidth.c.
36364         (Makefile.am): Remove redundant statement.
36365
36366 2007-07-07  Bruno Haible  <bruno@clisp.org>
36367
36368         * MODULES.html.sh (Unicode string functions): Add the new modules.
36369
36370         * tests/uniwidth/test-u32-strwidth.c: New file.
36371         * modules/uniwidth/u32-strwidth-tests: New file.
36372
36373         * lib/uniwidth/u32-strwidth.c: New file.
36374         * modules/uniwidth/u32-strwidth: New file.
36375
36376         * tests/uniwidth/test-u16-strwidth.c: New file.
36377         * modules/uniwidth/u16-strwidth-tests: New file.
36378
36379         * lib/uniwidth/u16-strwidth.c: New file.
36380         * modules/uniwidth/u16-strwidth: New file.
36381
36382         * tests/uniwidth/test-u8-strwidth.c: New file.
36383         * modules/uniwidth/u8-strwidth-tests: New file.
36384
36385         * lib/uniwidth/u8-strwidth.c: New file.
36386         * modules/uniwidth/u8-strwidth: New file.
36387
36388         * tests/uniwidth/test-u32-width.c: New file.
36389         * modules/uniwidth/u32-width-tests: New file.
36390
36391         * lib/uniwidth/u32-width.c: New file.
36392         * modules/uniwidth/u32-width: New file.
36393
36394         * tests/uniwidth/test-u16-width.c: New file.
36395         * modules/uniwidth/u16-width-tests: New file.
36396
36397         * lib/uniwidth/u16-width.c: New file.
36398         * modules/uniwidth/u16-width: New file.
36399
36400         * tests/uniwidth/test-u8-width.c: New file.
36401         * modules/uniwidth/u8-width-tests: New file.
36402
36403         * lib/uniwidth/u8-width.c: New file.
36404         * modules/uniwidth/u8-width: New file.
36405
36406         * tests/uniwidth/test-uc_width.c: New file.
36407         * modules/uniwidth/width-tests: New file.
36408
36409         * lib/uniwidth/width.c: New file, from GNU libiconv.
36410         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
36411         * modules/uniwidth/width: New file.
36412
36413         * lib/uniwidth.h: New file, from GNU libiconv.
36414         * modules/uniwidth/base: New file.
36415
36416 2007-07-07  Bruno Haible  <bruno@clisp.org>
36417
36418         * lib/uniname.h: New file, from GNU gettext.
36419         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
36420         * lib/uniname/uninames.h: New file, from GNU gettext.
36421         * lib/uniname/uniname.c: New file, from GNU gettext.
36422         * tests/uniname/test-uninames.sh: New file.
36423         * tests/uniname/test-uninames.c: New file, from GNU gettext.
36424         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
36425         * modules/uniname/base: New file.
36426         * modules/uniname/uniname: New file.
36427         * modules/uniname/uniname-tests: New file.
36428         * MODULES.html.sh (Unicode string functions): Add the new modules.
36429
36430 2007-07-06  Bruno Haible  <bruno@clisp.org>
36431
36432         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
36433
36434 2007-07-06  Bruno Haible  <bruno@clisp.org>
36435
36436         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
36437         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
36438         includes <cygwin/sys_time.h> which includes <sys/select.h> which
36439         include <sys/time.h>.
36440         Reported by Eric Blake.
36441
36442 2007-07-06  Eric Blake  <ebb9@byu.net>
36443
36444         Fix testing canonicalize on cygwin.
36445         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
36446         Revert patch from 2007-06-19.
36447         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
36448         canonicalize module is also in use.
36449         * tests/test-canonicalize.c: New file.
36450         * tests/test-canonicalize.sh: Likewise.
36451         * modules/canonicalize-tests: Likewise.
36452
36453 2007-07-06  Jim Meyering  <jim@meyering.net>
36454
36455         * lib/getugroups.c (getugroups): Detect getgrent failure.
36456         Adjust comment to reflect reality: this function may return -1.
36457
36458 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36459
36460         * build-aux/bootstrap (TP_URL,get_translations): Update to use
36461         the new TP address.
36462         (usage): Fix typo
36463         (gnulib_mk): New variable.
36464
36465 2007-07-05  Jim Meyering  <jim@meyering.net>
36466
36467         Don't let endgrent clobber errno, no matter how improbable.
36468         * lib/getugroups.c (getugroups): Save and restore errno around
36469         endgrent call.
36470
36471         Close the group DB even when failing with 2^31 or more members.
36472         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
36473
36474 2007-07-04  Jim Meyering  <jim@meyering.net>
36475
36476         * lib/getugroups.h: New file.
36477         * lib/getugroups.c: Include "getugroups.h".
36478         Remove uses of "register" keyword.
36479         Move local variable, "cp", down into scope where used.
36480         Give "username" parameter the "const" attribute.
36481         * modules/getugroups (Files): Add lib/getugroups.h
36482
36483 2007-07-04  Karl Berry  <karl@gnu.org>
36484
36485         * MODULES.html.sh (func_all_modules): Complete rename of
36486         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
36487
36488 2007-07-02  Bruno Haible  <bruno@clisp.org>
36489
36490         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
36491         mode, when inttypes.h comes from gnulib.
36492         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36493
36494 2007-07-02  Simon Josefsson  <simon@josefsson.org>
36495
36496         * NEWS: Mention lgpl module name change.
36497
36498         * modules/lgpl-2.1: Renamed from lgpl.
36499
36500         * NEWS: Mention gpl module name change.
36501
36502         * modules/gpl-3.0: New file, based on gpl-2.0.
36503
36504         * modules/gpl-2.0: Renamed from gpl.
36505
36506         * modules/gpl: Fix filename, doc/gpl.texi is now found at
36507         doc/gpl-2.0.texi.
36508
36509 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
36510
36511         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
36512         #define __STDC_LIMIT_MACROS temporarily while including
36513         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
36514         Problem reported by Joel E. Denny in
36515         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
36516
36517 2007-07-01  Bruno Haible  <bruno@clisp.org>
36518
36519         * lib/unistdio.h: New file.
36520         * lib/unistdio/u-asnprintf.h: New file.
36521         * lib/unistdio/u-asprintf.h: New file.
36522         * lib/unistdio/u-printf-args.c: New file.
36523         * lib/unistdio/u-printf-args.h: New file.
36524         * lib/unistdio/u-printf-parse.h: New file.
36525         * lib/unistdio/u-snprintf.h: New file.
36526         * lib/unistdio/u-sprintf.h: New file.
36527         * lib/unistdio/u-vasprintf.h: New file.
36528         * lib/unistdio/u-vsnprintf.h: New file.
36529         * lib/unistdio/u-vsprintf.h: New file.
36530         * lib/unistdio/ulc-asnprintf.c: New file.
36531         * lib/unistdio/ulc-asprintf.c: New file.
36532         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
36533         * lib/unistdio/ulc-printf-parse.c: New file.
36534         * lib/unistdio/ulc-snprintf.c: New file.
36535         * lib/unistdio/ulc-sprintf.c: New file.
36536         * lib/unistdio/ulc-vasnprintf.c: New file.
36537         * lib/unistdio/ulc-vasprintf.c: New file.
36538         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
36539         * lib/unistdio/ulc-vsnprintf.c: New file.
36540         * lib/unistdio/ulc-vsprintf.c: New file.
36541         * lib/unistdio/u8-asnprintf.c: New file.
36542         * lib/unistdio/u8-asprintf.c: New file.
36543         * lib/unistdio/u8-printf-parse.c: New file.
36544         * lib/unistdio/u8-snprintf.c: New file.
36545         * lib/unistdio/u8-sprintf.c: New file.
36546         * lib/unistdio/u8-vasnprintf.c: New file.
36547         * lib/unistdio/u8-vasprintf.c: New file.
36548         * lib/unistdio/u8-vsnprintf.c: New file.
36549         * lib/unistdio/u8-vsprintf.c: New file.
36550         * lib/unistdio/u8-u8-asnprintf.c: New file.
36551         * lib/unistdio/u8-u8-asprintf.c: New file.
36552         * lib/unistdio/u8-u8-snprintf.c: New file.
36553         * lib/unistdio/u8-u8-sprintf.c: New file.
36554         * lib/unistdio/u8-u8-vasnprintf.c: New file.
36555         * lib/unistdio/u8-u8-vasprintf.c: New file.
36556         * lib/unistdio/u8-u8-vsnprintf.c: New file.
36557         * lib/unistdio/u8-u8-vsprintf.c: New file.
36558         * lib/unistdio/u16-asnprintf.c: New file.
36559         * lib/unistdio/u16-asprintf.c: New file.
36560         * lib/unistdio/u16-printf-parse.c: New file.
36561         * lib/unistdio/u16-snprintf.c: New file.
36562         * lib/unistdio/u16-sprintf.c: New file.
36563         * lib/unistdio/u16-vasnprintf.c: New file.
36564         * lib/unistdio/u16-vasprintf.c: New file.
36565         * lib/unistdio/u16-vsnprintf.c: New file.
36566         * lib/unistdio/u16-vsprintf.c: New file.
36567         * lib/unistdio/u16-u16-asnprintf.c: New file.
36568         * lib/unistdio/u16-u16-asprintf.c: New file.
36569         * lib/unistdio/u16-u16-snprintf.c: New file.
36570         * lib/unistdio/u16-u16-sprintf.c: New file.
36571         * lib/unistdio/u16-u16-vasnprintf.c: New file.
36572         * lib/unistdio/u16-u16-vasprintf.c: New file.
36573         * lib/unistdio/u16-u16-vsnprintf.c: New file.
36574         * lib/unistdio/u16-u16-vsprintf.c: New file.
36575         * lib/unistdio/u32-asnprintf.c: New file.
36576         * lib/unistdio/u32-asprintf.c: New file.
36577         * lib/unistdio/u32-printf-parse.c: New file.
36578         * lib/unistdio/u32-snprintf.c: New file.
36579         * lib/unistdio/u32-sprintf.c: New file.
36580         * lib/unistdio/u32-vasnprintf.c: New file.
36581         * lib/unistdio/u32-vasprintf.c: New file.
36582         * lib/unistdio/u32-vsnprintf.c: New file.
36583         * lib/unistdio/u32-vsprintf.c: New file.
36584         * lib/unistdio/u32-u32-asnprintf.c: New file.
36585         * lib/unistdio/u32-u32-asprintf.c: New file.
36586         * lib/unistdio/u32-u32-snprintf.c: New file.
36587         * lib/unistdio/u32-u32-sprintf.c: New file.
36588         * lib/unistdio/u32-u32-vasnprintf.c: New file.
36589         * lib/unistdio/u32-u32-vasprintf.c: New file.
36590         * lib/unistdio/u32-u32-vsnprintf.c: New file.
36591         * lib/unistdio/u32-u32-vsprintf.c: New file.
36592         * tests/unistdio/test-ulc-asnprintf1.c: New file.
36593         * tests/unistdio/test-ulc-asnprintf1.h: New file.
36594         * tests/unistdio/test-ulc-printf1.h: New file.
36595         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
36596         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
36597         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
36598         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
36599         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
36600         * tests/unistdio/test-ulc-vasprintf1.c: New file.
36601         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
36602         * tests/unistdio/test-ulc-vsprintf1.c: New file.
36603         * tests/unistdio/test-u8-asnprintf1.c: New file.
36604         * tests/unistdio/test-u8-asnprintf1.h: New file.
36605         * tests/unistdio/test-u8-printf1.h: New file.
36606         * tests/unistdio/test-u8-vasnprintf1.c: New file.
36607         * tests/unistdio/test-u8-vasnprintf2.c: New file.
36608         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
36609         * tests/unistdio/test-u8-vasnprintf3.c: New file.
36610         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
36611         * tests/unistdio/test-u8-vasprintf1.c: New file.
36612         * tests/unistdio/test-u8-vsnprintf1.c: New file.
36613         * tests/unistdio/test-u8-vsprintf1.c: New file.
36614         * tests/unistdio/test-u16-asnprintf1.c: New file.
36615         * tests/unistdio/test-u16-asnprintf1.h: New file.
36616         * tests/unistdio/test-u16-printf1.h: New file.
36617         * tests/unistdio/test-u16-vasnprintf1.c: New file.
36618         * tests/unistdio/test-u16-vasnprintf2.c: New file.
36619         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
36620         * tests/unistdio/test-u16-vasnprintf3.c: New file.
36621         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
36622         * tests/unistdio/test-u16-vasprintf1.c: New file.
36623         * tests/unistdio/test-u16-vsnprintf1.c: New file.
36624         * tests/unistdio/test-u16-vsprintf1.c: New file.
36625         * tests/unistdio/test-u32-asnprintf1.c: New file.
36626         * tests/unistdio/test-u32-asnprintf1.h: New file.
36627         * tests/unistdio/test-u32-printf1.h: New file.
36628         * tests/unistdio/test-u32-vasnprintf1.c: New file.
36629         * tests/unistdio/test-u32-vasnprintf2.c: New file.
36630         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
36631         * tests/unistdio/test-u32-vasnprintf3.c: New file.
36632         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
36633         * tests/unistdio/test-u32-vasprintf1.c: New file.
36634         * tests/unistdio/test-u32-vsnprintf1.c: New file.
36635         * tests/unistdio/test-u32-vsprintf1.c: New file.
36636         * modules/unistdio/base: New file.
36637         * modules/unistdio/u-printf-args: New file.
36638         * modules/unistdio/ulc-asnprintf: New file.
36639         * modules/unistdio/ulc-asprintf: New file.
36640         * modules/unistdio/ulc-fprintf: New file.
36641         * modules/unistdio/ulc-printf-parse: New file.
36642         * modules/unistdio/ulc-snprintf: New file.
36643         * modules/unistdio/ulc-sprintf: New file.
36644         * modules/unistdio/ulc-vasnprintf: New file.
36645         * modules/unistdio/ulc-vasprintf: New file.
36646         * modules/unistdio/ulc-vfprintf: New file.
36647         * modules/unistdio/ulc-vsnprintf: New file.
36648         * modules/unistdio/ulc-vsprintf: New file.
36649         * modules/unistdio/u8-asnprintf: New file.
36650         * modules/unistdio/u8-asprintf: New file.
36651         * modules/unistdio/u8-printf-parse: New file.
36652         * modules/unistdio/u8-snprintf: New file.
36653         * modules/unistdio/u8-sprintf: New file.
36654         * modules/unistdio/u8-vasnprintf: New file.
36655         * modules/unistdio/u8-vasprintf: New file.
36656         * modules/unistdio/u8-vsnprintf: New file.
36657         * modules/unistdio/u8-vsprintf: New file.
36658         * modules/unistdio/u8-u8-asnprintf: New file.
36659         * modules/unistdio/u8-u8-asprintf: New file.
36660         * modules/unistdio/u8-u8-snprintf: New file.
36661         * modules/unistdio/u8-u8-sprintf: New file.
36662         * modules/unistdio/u8-u8-vasnprintf: New file.
36663         * modules/unistdio/u8-u8-vasprintf: New file.
36664         * modules/unistdio/u8-u8-vsnprintf: New file.
36665         * modules/unistdio/u8-u8-vsprintf: New file.
36666         * modules/unistdio/u16-asnprintf: New file.
36667         * modules/unistdio/u16-asprintf: New file.
36668         * modules/unistdio/u16-printf-parse: New file.
36669         * modules/unistdio/u16-snprintf: New file.
36670         * modules/unistdio/u16-sprintf: New file.
36671         * modules/unistdio/u16-vasnprintf: New file.
36672         * modules/unistdio/u16-vasprintf: New file.
36673         * modules/unistdio/u16-vsnprintf: New file.
36674         * modules/unistdio/u16-vsprintf: New file.
36675         * modules/unistdio/u16-u16-asnprintf: New file.
36676         * modules/unistdio/u16-u16-asprintf: New file.
36677         * modules/unistdio/u16-u16-snprintf: New file.
36678         * modules/unistdio/u16-u16-sprintf: New file.
36679         * modules/unistdio/u16-u16-vasnprintf: New file.
36680         * modules/unistdio/u16-u16-vasprintf: New file.
36681         * modules/unistdio/u16-u16-vsnprintf: New file.
36682         * modules/unistdio/u16-u16-vsprintf: New file.
36683         * modules/unistdio/u32-asnprintf: New file.
36684         * modules/unistdio/u32-asprintf: New file.
36685         * modules/unistdio/u32-printf-parse: New file.
36686         * modules/unistdio/u32-snprintf: New file.
36687         * modules/unistdio/u32-sprintf: New file.
36688         * modules/unistdio/u32-vasnprintf: New file.
36689         * modules/unistdio/u32-vasprintf: New file.
36690         * modules/unistdio/u32-vsnprintf: New file.
36691         * modules/unistdio/u32-vsprintf: New file.
36692         * modules/unistdio/u32-u32-asnprintf: New file.
36693         * modules/unistdio/u32-u32-asprintf: New file.
36694         * modules/unistdio/u32-u32-snprintf: New file.
36695         * modules/unistdio/u32-u32-sprintf: New file.
36696         * modules/unistdio/u32-u32-vasnprintf: New file.
36697         * modules/unistdio/u32-u32-vasprintf: New file.
36698         * modules/unistdio/u32-u32-vsnprintf: New file.
36699         * modules/unistdio/u32-u32-vsprintf: New file.
36700         * modules/unistdio/ulc-asnprintf-tests: New file.
36701         * modules/unistdio/ulc-vasnprintf-tests: New file.
36702         * modules/unistdio/ulc-vasprintf-tests: New file.
36703         * modules/unistdio/ulc-vsnprintf-tests: New file.
36704         * modules/unistdio/ulc-vsprintf-tests: New file.
36705         * modules/unistdio/u8-asnprintf-tests: New file.
36706         * modules/unistdio/u8-vasnprintf-tests: New file.
36707         * modules/unistdio/u8-vasprintf-tests: New file.
36708         * modules/unistdio/u8-vsnprintf-tests: New file.
36709         * modules/unistdio/u8-vsprintf-tests: New file.
36710         * modules/unistdio/u16-asnprintf-tests: New file.
36711         * modules/unistdio/u16-vasnprintf-tests: New file.
36712         * modules/unistdio/u16-vasprintf-tests: New file.
36713         * modules/unistdio/u16-vsnprintf-tests: New file.
36714         * modules/unistdio/u16-vsprintf-tests: New file.
36715         * modules/unistdio/u32-asnprintf-tests: New file.
36716         * modules/unistdio/u32-vasnprintf-tests: New file.
36717         * modules/unistdio/u32-vasprintf-tests: New file.
36718         * modules/unistdio/u32-vsnprintf-tests: New file.
36719         * modules/unistdio/u32-vsprintf-tests: New file.
36720         * MODULES.html.sh (Unicode string functions): Add the new modules.
36721
36722 2007-07-01  Bruno Haible  <bruno@clisp.org>
36723
36724         * lib/sprintf.c (sprintf): Limit the available length estimation,
36725         to avoid address wraparound.
36726         * lib/vsprintf.c (vsprintf): Likewise.
36727         * modules/sprintf-posix (Dependencies): Add stdint.
36728         * modules/vsprintf-posix (Dependencies): Likewise.
36729
36730 2007-07-01  Bruno Haible  <bruno@clisp.org>
36731
36732         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
36733         Windows PATH as well. Conservative double-quoting. Comments.
36734
36735 2007-07-01  Bruno Haible  <bruno@clisp.org>
36736             Eric Blake  <ebb9@byu.net>
36737             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36738
36739         * gnulib-tool (self_abspathname): Fix algorithm to cope with
36740         empty components in $PATH, denoting '.'.
36741
36742 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36743
36744         * gnulib-tool: Fix indentation.
36745         (func_create_megatestdir): Likewise.
36746         Report by Bruno Haible.
36747
36748 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36749
36750         Sync from Automake.
36751         * build-aux/gnupload: Fix shell portability issues with for loops.
36752         Report by Karl Berry.
36753
36754 2007-06-29  Simon Josefsson  <simon@josefsson.org>
36755
36756         * build-aux/maint.mk (POURL): Use translationproject.org.
36757
36758 2007-06-27  Simon Josefsson  <simon@josefsson.org>
36759             Bruno Haible  <bruno@clisp.org>
36760
36761         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
36762         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
36763         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
36764         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
36765         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
36766
36767 2007-06-27  Bruno Haible  <bruno@clisp.org>
36768
36769         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
36770         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
36771
36772 2007-06-26  Karl Berry  <karl@gnu.org>
36773
36774         * MODULES.html.sh: remove xreadlink-with-size.
36775
36776 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
36777
36778         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
36779         method that I hope also handles the double-include problem noted
36780         by Bruno Haible in
36781         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
36782
36783 2007-06-23  Bruno Haible  <bruno@clisp.org>
36784
36785         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36786         Don't let the 'mostlyclean' target fail if the last subdirectory could
36787         not be removed.
36788         Reported by Karl Berry.
36789
36790 2007-06-23  Bruno Haible  <bruno@clisp.org>
36791
36792         * gnulib-tool (echo): Add a speedier workaround for ksh.
36793         * tests/test-echo.sh: Likewise.
36794
36795 2007-06-23  Bruno Haible  <bruno@clisp.org>
36796
36797         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
36798         * tests/test-echo.sh: Likewise.
36799
36800 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36801
36802         * gnulib-tool (IFS): Initialize early, so we don't set it to
36803         empty later.
36804         (self_abspathname): Rewrite algorithm to set it, reindent.
36805         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
36806         (func_create_megatestdir): Merge some sed scripts.
36807
36808 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
36809
36810         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
36811         exposed by Sun Studio 11 cc on Solaris 8.
36812
36813 2007-06-22  Bruno Haible  <bruno@clisp.org>
36814
36815         * gnulib-tool (echo): Ensure the echo primitive does not interpret
36816         backslashes.
36817         * tests/test-echo.sh: New file.
36818
36819 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36820
36821         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
36822         simplify `sed_replace_build_aux' scripts, they are portable but
36823         echoing them with `echo' is not.
36824         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
36825
36826 2007-06-21  Karl Berry  <karl@gnu.org>
36827
36828         * config/srclist.txt: guess we can't handle the licenses via
36829         srclist at the moment.
36830
36831 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
36832
36833         * MODULES.html.sh: Add include_next.
36834         * modules/include_next: New file.
36835
36836 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
36837
36838         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
36839         INCLUDE_NEXT.
36840         (gl_CHECK_NEXT_HEADERS): New macro.
36841         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
36842         the obsolescent gl_ABSOLUTE_HEADER.
36843         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
36844         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
36845         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
36846         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36847         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
36848         * m4/math_h.m4 (gl_MATH_H): Likewise.
36849         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
36850         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36851         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
36852         * m4/stdint.m4 (gl_STDINT_H): Likewise.
36853         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
36854         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
36855         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
36856         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36857         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
36858         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
36859         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
36860         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
36861         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
36862         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
36863         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36864         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
36865         * m4/inttypes.m4 (gl_INTTYPES_H): Define
36866         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
36867         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
36868         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
36869         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
36870         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
36871         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
36872         * lib/float_.h: Likewise.
36873         * lib/inttypes_.h: Likewise.
36874         * lib/math_.h: Likewise.
36875         * lib/search_.h: Likewise.
36876         * lib/signal_.h: Likewise.
36877         * lib/stdint_.h: Likewise.
36878         * lib/stdio_.h: Likewise.
36879         * lib/stdlib_.h: Likewise.
36880         * lib/string_.h: Likewise.
36881         * lib/sys_stat_.h: Likewise.
36882         * lib/sys_time_.h: Likewise.
36883         * lib/time_.h: Likewise.
36884         * lib/unistd_.h: Likewise.
36885         * lib/wchar_.h: Likewise.
36886         * lib/wctype_.h: Likewise.
36887         * lib/dirent_.h: Likewise.
36888         * lib/iconv_.h: Likewise.
36889         * lib/locale_.h: Likewise.
36890         * lib/netinet_in_.h: Likewise.
36891         * lib/sys_select_.h: Likewise.
36892         * lib/sys_socket_.h: Likewise.
36893         * lib/sysexits_.h: Likewise.
36894         * modules/fcntl (Depends-on): Depend on include_next, not
36895         absolute_header.
36896         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
36897         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
36898         * modules/fchdir: Likewise.
36899         * modules/float: Likewise.
36900         * modules/iconv_open: Likewise.
36901         * modules/inttypes: Likewise.
36902         * modules/locale: Likewise.
36903         * modules/math: Likewise.
36904         * modules/netinet_in: Likewise.
36905         * modules/search: Likewise.
36906         * modules/signal: Likewise.
36907         * modules/stdint: Likewise.
36908         * modules/stdio: Likewise.
36909         * modules/stdlib: Likewise.
36910         * modules/string: Likewise.
36911         * modules/sys_select: Likewise.
36912         * modules/sys_socket: Likewise.
36913         * modules/sys_stat: Likewise.
36914         * modules/sys_time: Likewise.
36915         * modules/sysexits: Likewise.
36916         * modules/time: Likewise.
36917         * modules/unistd: Likewise.
36918         * modules/wchar: Likewise.
36919         * modules/wctype: Likewise.
36920         * modules/sys_stat: Change maintainer to "all".
36921         * modules/unistd: Likewise.
36922
36923 2007-06-20  Karl Berry  <karl@gnu.org>
36924
36925         * config/srclist.txt: track www changes in license files.
36926
36927 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
36928
36929         * build-aux/bootstrap: Remove stray dot.
36930         Make sure build_aux settings are honored when linking
36931         gnulib_extra_files.
36932
36933 2007-06-19  Eric Blake  <ebb9@byu.net>
36934
36935         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
36936         Allow compilation on cygwin.
36937
36938 2007-06-19  Jim Meyering  <jim@meyering.net>
36939
36940         xreadlink-with-size: Remove module.  No longer used.
36941         Ex-callers now use xreadlink or mreadlink-with-size.
36942         * modules/xreadlink-with-size: Remove module.
36943         * lib/xreadlink-with-size.c: Remove file.
36944         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
36945         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
36946         just before the function definition *is* accurate.
36947
36948         Eliminate one way canonicalize_filename_mode could exit.
36949         * lib/canonicalize.c (canonicalize_filename_mode):
36950         Use mreadlink_with_size, not xreadlink_with_size.
36951
36952 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
36953
36954         Detect porting problems to FreeBSD/arm, which has time_t wider than
36955         long int.  Original problem reported for GNU diff by Xin Li in
36956         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
36957         * modules/getdate (Depends-on): Add intprops, verify.
36958         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
36959         is an integer type no wider than long int.
36960
36961 2007-06-18  Jim Meyering  <jim@meyering.net>
36962
36963         New module: mreadlink-with-size.
36964         * MODULES.html.sh: Add mreadlink-with-size.
36965         * modules/mreadlink-with-size: New module
36966         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
36967         not xreadlink-with-size.
36968         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
36969
36970 2007-06-16  Bruno Haible  <bruno@clisp.org>
36971
36972         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
36973         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
36974         Reported by Gary V. Vaughan <gary@gnu.org>.
36975
36976 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
36977
36978         Revamp lchown so that it lives in unistd.h where it belongs.
36979         * lib/lchown.h: Remove.
36980         * lib/dirchownmod.c: Don't include lib/lchown.h.
36981         * lib/fchownat.c: Likewise.
36982         * lib/openat.c: Likewise.
36983         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
36984         does not follow symlinks.
36985         (EOPNOTSUPP): Define if not defined.
36986         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
36987         is defined to 0.
36988         (lchown): New decl.
36989         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
36990         Do not check for lchown decl.
36991         Set REPLACE_LCHOWN.
36992         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
36993         REPLACE_LCHOWN.
36994         * modules/chown: Make it clear it follows symlinks.
36995         * modules/lchown: Make it clear it doesn't follow symlinks.
36996         (Files): Remove lib/lchown.h
36997         (Depends-on): Add unistd.
36998         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
36999         (Include): Include <unistd.h>, not "lchown.h".
37000         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
37001         REPLACE_LCHOWN.
37002
37003 2007-06-15  Jim Meyering  <jim@meyering.net>
37004
37005         Change license (GPL to LGPL) of fsusage and dependents.
37006         * modules/fsusage (License): Change to LGPL.
37007         * modules/full-read (License): Likewise.
37008         * modules/full-write (License): Likewise.
37009         * modules/safe-read (License): Likewise.
37010         * modules/safe-write (License): Likewise.
37011
37012 2007-06-14  Ben Pfaff  <blp@gnu.org>
37013
37014         Missing part of allocsa -> malloca transition.
37015         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
37016         gl_MALLOCA.
37017
37018 2007-06-12  Bruno Haible  <bruno@clisp.org>
37019
37020         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
37021         to ia64, x86_64, i386.
37022         Reported by Eric Blake.
37023
37024 2007-06-12  Bruno Haible  <bruno@clisp.org>
37025
37026         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
37027         cross-compiling to x86_64.
37028
37029 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
37030
37031         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
37032         glitch reported by Ralf Wildenhues in
37033         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
37034
37035         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
37036         Vin Shelton.
37037
37038 2007-06-11  Bruno Haible  <bruno@clisp.org>
37039
37040         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
37041         replacement string.
37042         Reported by Eric Blake.
37043
37044 2007-06-10  Bruno Haible  <bruno@clisp.org>
37045
37046         Prepare vasnprintf code for use with Unicode strings.
37047         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
37048         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
37049         TYPE_U32_STRING.
37050         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
37051         a_u32_string variants.
37052         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
37053         * lib/printf-args.c: Don't include config.h and the specification
37054         header if PRINTF_FETCHARGS is already defined.
37055         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
37056         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
37057         TYPE_U16_STRING, TYPE_U32_STRING.
37058         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
37059         u16_directive, u16_directives, u32_directive, u32_directives): New
37060         types.
37061         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
37062         New declarations.
37063         * lib/printf-parse.c: Don't include config.h and the specification
37064         header if PRINTF_PARSE is already defined. Eliminate the set of
37065         parameters for WIDE_CHAR_VERSION; the user of this file must provide
37066         them now. Include c-ctype.h.
37067         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
37068         directive and CHAR_T_ONLY_ASCII.
37069         * lib/vasnprintf.c: Don't include config.h and the specification header
37070         if VASNPRINTF is already defined.
37071         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
37072         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
37073         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
37074         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
37075         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
37076         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
37077         code accordingly.
37078         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
37079         pad_ourselves also in this case, with the 'c' and 's' directives, and
37080         with a different notion of "width".
37081         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
37082
37083 2007-06-10  Bruno Haible  <bruno@clisp.org>
37084
37085         * modules/unistr/u32-mbsnlen: New file.
37086         * lib/unistr/u32-mbsnlen.c: New file.
37087
37088         * modules/unistr/u16-mbsnlen: New file.
37089         * lib/unistr/u16-mbsnlen.c: New file.
37090
37091         * modules/unistr/u8-mbsnlen: New file.
37092         * lib/unistr/u8-mbsnlen.c: New file.
37093
37094         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
37095         declarations.
37096
37097 2007-06-10  Bruno Haible  <bruno@clisp.org>
37098
37099         * lib/string_.h (mbsnlen): New declaration.
37100         * lib/mbsnlen.c: New file.
37101         * m4/mbsnlen.m4: New file.
37102         * modules/mbsnlen: New file.
37103         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
37104         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
37105         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
37106
37107 2007-06-10  Bruno Haible  <bruno@clisp.org>
37108
37109         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
37110
37111 2007-06-10  Bruno Haible  <bruno@clisp.org>
37112
37113         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
37114         * lib/mbuiter.h: Likewise.
37115
37116 2007-06-10  Bruno Haible  <bruno@clisp.org>
37117
37118         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
37119         declaration.
37120
37121 2007-06-10  Karl Berry  <karl@gnu.org>
37122
37123         * config/srclist.txt: remove gettext entries, Bruno prefers
37124         to update individually.
37125
37126 2007-06-10  Bruno Haible  <bruno@clisp.org>
37127
37128         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
37129         'maxlen'. Ensure only length + width bytes are allocated, not
37130         length + 1 + width.
37131
37132 2007-06-09  Bruno Haible  <bruno@clisp.org>
37133
37134         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
37135         (CHAR_T): Remove macro.
37136         (VASNPRINTF): Update.
37137
37138 2007-06-09  Bruno Haible  <bruno@clisp.org>
37139
37140         * MODULES.html.sh (Unicode string functions): Add the new modules.
37141
37142         * modules/uniconv/u32-conv-to-enc: New file.
37143         * lib/uniconv/u32-conv-to-enc.c: New file.
37144         * modules/uniconv/u32-conv-to-enc-tests: New file.
37145         * tests/uniconv/test-u32-conv-to-enc.c: New file.
37146
37147         * modules/uniconv/u16-conv-to-enc: New file.
37148         * lib/uniconv/u16-conv-to-enc.c: New file.
37149         * lib/uniconv/u-conv-to-enc.h: New file.
37150         * modules/uniconv/u16-conv-to-enc-tests: New file.
37151         * tests/uniconv/test-u16-conv-to-enc.c: New file.
37152
37153         * modules/uniconv/u8-conv-to-enc: New file.
37154         * lib/uniconv/u8-conv-to-enc.c: New file.
37155         * modules/uniconv/u8-conv-to-enc-tests: New file.
37156         * tests/uniconv/test-u8-conv-to-enc.c: New file.
37157
37158         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
37159         u32_conv_to_encoding): New declarations.
37160
37161 2007-06-09  Bruno Haible  <bruno@clisp.org>
37162
37163         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
37164
37165 2007-06-09  Bruno Haible  <bruno@clisp.org>
37166
37167         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
37168         * modules/malloca: Renamed from modules/allocsa, updated.
37169         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
37170         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
37171         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
37172         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
37173         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
37174         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
37175         * modules/xmalloca: Renamed from modules/xallocsa, updated.
37176         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
37177         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
37178         * modules/c-strcasestr (Depends-on): Update.
37179         * lib/c-strcasestr.c: Update.
37180         * modules/c-strstr (Depends-on): Update.
37181         * lib/c-strstr.c: Update.
37182         * modules/canonicalize-lgpl (Depends-on): Update.
37183         * lib/canonicalize-lgpl.c: Update.
37184         * modules/clean-temp (Depends-on): Update.
37185         * lib/clean-temp.c: Update.
37186         * modules/csharpcomp (Depends-on): Update.
37187         * lib/csharpcomp.c: Update.
37188         * modules/csharpexec (Depends-on): Update.
37189         * lib/csharpexec.c: Update.
37190         * modules/javacomp (Depends-on): Update.
37191         * lib/javacomp.c: Update.
37192         * modules/javaexec (Depends-on): Update.
37193         * lib/javaexec.c: Update.
37194         * modules/mbscasestr (Depends-on): Update.
37195         * lib/mbscasestr.c: Update.
37196         * modules/mbsstr (Depends-on): Update.
37197         * lib/mbsstr.c: Update.
37198         * modules/setenv (Depends-on): Update.
37199         * lib/setenv.c: Update.
37200         * modules/strcasestr (Depends-on): Update.
37201         * lib/strcasestr.c: Update.
37202         * modules/striconveha (Depends-on): Update.
37203         * lib/striconveha.c: Update.
37204         * modules/relocatable-prog-wrapper (Files): Update.
37205         * lib/relocwrapper.c: Update.
37206         * build-aux/install-reloc: Update.
37207         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
37208
37209 2007-06-08  Bruno Haible  <bruno@clisp.org>
37210
37211         Port to uClibc.
37212         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
37213         * lib/fpurge.c (fpurge): Likewise.
37214         * lib/freading.c (freading): Likewise.
37215         * lib/fseeko.c (rpl_fseeko): Likewise.
37216         * lib/fseterr.c (fseterr): Likewise.
37217         * lib/fwriting.c (fwriting): Likewise.
37218         * tests/test-fflush.c (main): Avoid a failure on uClibc.
37219
37220 2007-06-08  Bruno Haible  <bruno@clisp.org>
37221
37222         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
37223         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
37224         * modules/gettext (Files): Add m4/intlmacosx.m4.
37225
37226 2007-06-07  Bruno Haible  <bruno@clisp.org>
37227
37228         * modules/localename-tests: New file.
37229         * tests/test-localename.c: New file.
37230
37231         New module 'localename'.
37232         * lib/localename.h: New file.
37233         * lib/localename.c: New file, from GNU gettext.
37234         * m4/localename.m4: New file.
37235         * modules/localename: New file.
37236
37237 2007-06-07  Bruno Haible  <bruno@clisp.org>
37238
37239         Work around the lack of <wchar.h> on some builds of uClibc.
37240         * doc/headers/wchar.texi: Update.
37241         * lib/wchar_.h: Include <wchar.h> only if it exists.
37242         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
37243         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
37244         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
37245         doesn't exist.
37246         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
37247         * modules/mbfile (Depends-on): Add wchar.
37248         * modules/mbiter (Depends-on): Likewise.
37249         * modules/mbuiter (Depends-on): Likewise.
37250         Reported by Simon Josefsson.
37251
37252 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
37253
37254         Work around problem reported by Steven M. Schweda in
37255         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
37256         Tru64 5.1B with the Compaq compiler environment installed declares
37257         an 'isblank' function but does not define it in the C library.
37258         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
37259         * lib/regex_internal.h (isblank): Likewise.
37260         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
37261         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
37262
37263 2007-06-05  Bruno Haible  <bruno@clisp.org>
37264
37265         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
37266         ia64.
37267         * modules/printf-safe: New file.
37268         * modules/fprintf-posix (Depends-on): Add printf-safe.
37269         * modules/printf-posix (Depends-on): Likewise.
37270         * modules/snprintf-posix (Depends-on): Likewise.
37271         * modules/sprintf-posix (Depends-on): Likewise.
37272         * modules/vasnprintf-posix (Depends-on): Likewise.
37273         * modules/vasprintf-posix (Depends-on): Likewise.
37274         * modules/vfprintf-posix (Depends-on): Likewise.
37275         * modules/vprintf-posix (Depends-on): Likewise.
37276         * modules/vsnprintf-posix (Depends-on): Likewise.
37277         * modules/vsprintf-posix (Depends-on): Likewise.
37278         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
37279         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
37280         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
37281         "no" on i386, x86_64, ia64.
37282         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
37283         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37284         on i386, x86_64, ia64.
37285         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
37286         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37287         on i386, x86_64, ia64.
37288         * tests/test-vasnprintf-posix.c: Include float.h.
37289         (LDBL80_WORDS): New macro.
37290         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37291         on i386, x86_64, ia64.
37292         * tests/test-vasprintf-posix.c: Include float.h.
37293         (LDBL80_WORDS): New macro.
37294         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37295         on i386, x86_64, ia64.
37296         * tests/test-snprintf-posix.c: Include float.h.
37297         * tests/test-sprintf-posix.c: Likewise.
37298         * tests/test-vsnprintf-posix.c: Likewise.
37299         * tests/test-vsprintf-posix.c: Likewise.
37300
37301 2007-06-05  Bruno Haible  <bruno@clisp.org>
37302
37303         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
37304         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
37305         non-IEEE numbers on i386, x86_64, ia64.
37306         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
37307         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
37308         * tests/test-isnanl.h: Include float.h.
37309         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
37310
37311 2007-06-05  Bruno Haible  <bruno@clisp.org>
37312
37313         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
37314         also the %a / %A. Handle the %a / %A code before this extra handling.
37315
37316 2007-06-05  Bruno Haible  <bruno@clisp.org>
37317
37318         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
37319         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
37320
37321 2007-06-05  Bruno Haible  <bruno@clisp.org>
37322
37323         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
37324         typo in variable name.
37325
37326 2007-06-05  Eric Blake  <ebb9@byu.net>
37327
37328         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
37329         Reported by Simon Josefsson.
37330
37331 2007-06-04  Bruno Haible  <bruno@clisp.org>
37332
37333         Avoid test failures on some PowerPC platforms.
37334         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
37335         Define differently for PowerPC.
37336         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
37337         Reported by Gary V. Vaughan <gary@gnu.org>.
37338
37339 2007-06-02  Bruno Haible  <bruno@clisp.org>
37340
37341         Fix test-stdint failure on FreeBSD/ia64.
37342         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
37343         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
37344         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
37345         * doc/headers/stdint.texi: Update.
37346
37347 2007-06-01  Bruno Haible  <bruno@clisp.org>
37348
37349         * tests/test-binary-io.c (main): Pass a third argument to open().
37350         Reported by Gary V. Vaughan <gary@gnu.org>.
37351
37352 2007-06-01  Bruno Haible  <bruno@clisp.org>
37353
37354         * doc/functions/frexpl.texi: Update for mingw.
37355
37356 2007-06-01  Bruno Haible  <bruno@clisp.org>
37357
37358         * tests/test-lseek.c (main): Disable test of errno for invalid third
37359         argument.
37360         * doc/functions/lseek.texi: Update.
37361         Reported by Gary V. Vaughan <gary@gnu.org>.
37362
37363 2007-05-28  Bruno Haible  <bruno@clisp.org>
37364
37365         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
37366
37367 2007-05-31  Eric Blake  <ebb9@byu.net>
37368
37369         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
37370         cross compiling.
37371
37372 2007-05-30  Eric Blake  <ebb9@byu.net>
37373         and Bruno Haible  <bruno@clisp.org>
37374
37375         Work around mingw test failures exposed by m4-1.4.9b.
37376         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
37377         * tests/test-unistd.c: Disable uid_t and git_t tests for the
37378         moment.
37379
37380 2007-05-30  Bruno Haible  <bruno@clisp.org>
37381
37382         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
37383         assuming that they are closed. Needed on HP-UX 11.
37384
37385 2007-05-29  Bruno Haible  <bruno@clisp.org>
37386
37387         Fix a problem with #include_next.
37388         * lib/dirent_.h: Split the double-inclusion guard.
37389         * lib/fcntl_.h: Likewise.
37390         * lib/float_.h: Likewise.
37391         * lib/iconv_.h: Likewise.
37392         * lib/inttypes_.h: Likewise.
37393         * lib/locale_.h: Likewise.
37394         * lib/math_.h: Likewise.
37395         * lib/netinet_in_.h: Likewise.
37396         * lib/search_.h: Likewise.
37397         * lib/signal_.h: Likewise.
37398         * lib/stdint_.h: Likewise.
37399         * lib/stdio_.h: Likewise.
37400         * lib/stdlib_.h: Likewise.
37401         * lib/string_.h: Likewise.
37402         * lib/sys_select_.h: Likewise.
37403         * lib/sys_socket_.h: Likewise.
37404         * lib/sys_stat_.h: Likewise.
37405         * lib/sys_time_.h: Likewise.
37406         * lib/sysexits_.h: Likewise.
37407         * lib/time_.h: Likewise.
37408         * lib/unistd_.h: Likewise.
37409         * lib/wchar_.h: Likewise.
37410         * lib/wctype_.h: Likewise.
37411
37412 2007-05-29  Bruno Haible  <bruno@clisp.org>
37413
37414         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
37415         for the moment.
37416
37417 2007-05-29  Bruno Haible  <bruno@clisp.org>
37418
37419         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
37420         invocation.
37421         Reported by Eric Blake.
37422
37423 2007-05-29  Bruno Haible  <bruno@clisp.org>
37424
37425         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
37426         compiling case.
37427
37428 2007-05-29  Eric Blake  <ebb9@byu.net>
37429             Bruno Haible  <bruno@clisp.org>
37430
37431         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
37432         cross compiles.
37433
37434 2007-05-28  Eric Blake  <ebb9@byu.net>
37435
37436         * modules/closein-tests (test_closein_LDADD): Support test on
37437         cygwin with libtool.
37438
37439 2007-05-28  Bruno Haible  <bruno@clisp.org>
37440
37441         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
37442         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37443         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37444         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37445         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37446         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37447         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37448         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37449         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37450
37451 2007-05-28  Eric Blake  <ebb9@byu.net>
37452
37453         Unconditionally include <config.h> in unit tests.
37454         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
37455         * tests/test-allocsa.c, tests/test-arcfour.c,
37456         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
37457         tests/test-array_list.c, tests/test-array_oset.c,
37458         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
37459         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
37460         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
37461         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
37462         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
37463         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
37464         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
37465         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
37466         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
37467         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
37468         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
37469         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
37470         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
37471         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
37472         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
37473         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
37474         test-md5.c, test-memmem.c, test-printf-posix.c,
37475         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
37476         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
37477         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
37478         test-strcasestr.c, test-striconv.c, test-striconveh.c,
37479         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
37480         test-vasnprintf-posix2.c, test-vasnprintf.c,
37481         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
37482         test-vfprintf-posix.c, test-vprintf-posix.c,
37483         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
37484         test-xvasprintf.c: Likewise.
37485
37486 2007-05-28  Bruno Haible  <bruno@clisp.org>
37487
37488         * gnulib-tool (func_import): Remember the --with-tests command-line
37489         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
37490         Reported by Eric Blake.
37491
37492 2007-05-28  Bruno Haible  <bruno@clisp.org>
37493
37494         * modules/ftell-tests: New file.
37495         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
37496         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
37497
37498         * lib/ftell.c: New file.
37499         * modules/ftell: New file.
37500         * m4/ftell.m4: New file.
37501         * doc/functions/ftell.texi: Update.
37502         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
37503         REPLACE_FTELL.
37504         * lib/stdio_.h (rpl_ftell): New declaration.
37505         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
37506         REPLACE_FTELL.
37507
37508 2007-05-28  Eric Blake  <ebb9@byu.net>
37509
37510         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
37511
37512 2007-05-28  Bruno Haible  <bruno@clisp.org>
37513
37514         * modules/fseek-tests: New file.
37515         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
37516         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
37517
37518         * lib/fseek.c: New file.
37519         * modules/fseek: New file.
37520         * m4/fseek.m4: New file.
37521         * doc/functions/fseek.texi: Update.
37522         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
37523         REPLACE_FSEEK.
37524         * lib/stdio_.h (rpl_fseek): New declaration.
37525         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
37526         REPLACE_FSEEK.
37527
37528 2007-05-28  Bruno Haible  <bruno@clisp.org>
37529
37530         * lib/stdio_.h (fflush): More comments.
37531
37532 2007-05-28  Bruno Haible  <bruno@clisp.org>
37533
37534         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
37535         runtime test.
37536
37537 2007-05-28  Eric Blake  <ebb9@byu.net>
37538
37539         Improve lseek module.
37540         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
37541         * lib/unistd_.h (lseek): Scale back link warning message.
37542         * tests/test-lseek.c: Beef up test.
37543         * tests/test-lseek.sh: Exercise more facets of lseek.
37544         Reported by Bruno Haible.
37545
37546 2007-05-28  Bruno Haible  <bruno@clisp.org>
37547
37548         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
37549         to define.
37550
37551 2007-05-27  Bruno Haible  <bruno@clisp.org>
37552
37553         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
37554
37555 2007-05-27  Bruno Haible  <bruno@clisp.org>
37556
37557         * modules/openmp: New file.
37558         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
37559         Noah Misch.
37560
37561 2007-05-26  Bruno Haible  <bruno@clisp.org>
37562
37563         * modules/chdir-long (Depends-on): Add fchdir.
37564         * modules/chdir-safer (Depends-on): Likewise.
37565         * modules/fts (Depends-on): Likewise.
37566         * modules/fts-lgpl (Depends-on): Likewise.
37567         * modules/openat (Depends-on): Likewise.
37568         * modules/savewd (Depends-on): Likewise.
37569
37570 2007-05-24  Eric Blake  <ebb9@byu.net>
37571
37572         Fix lseek on mingw.
37573         * modules/lseek: New module.
37574         * m4/lseek.m4: New file.
37575         * lib/lseek.c: New file.
37576         * modules/lseek-tests: New file.
37577         * tests/test-lseek.c: New file.
37578         * tests/test-lseek.sh: New file.
37579         * MODULES.html.sh: Document lseek module.
37580         * modules/fflush (Depends-on): Add lseek, fseeko.
37581         * modules/fseeko (Depends-on): Likewise.
37582         * modules/ftello (Depends-on): Likewise.
37583         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
37584         broken.
37585         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
37586         broken.
37587         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
37588         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
37589         * lib/ftello.c (rpl_ftello): Likewise.
37590         * tests/test-fseeko.c (main): Test this.
37591         * tests/test-fseeko.sh: Likewise.
37592         * tests/test-ftello.c (main): Likewise.
37593         * tests/test-ftello.sh: Likewise.
37594         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
37595         implies replacing fseek.
37596         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
37597         HAVE_FTELLO.
37598         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
37599         * modules/unistd (Makefile.am): Likewise.
37600         * lib/unistd_.h (lseek): Declare a replacement.
37601         * doc/functions/lseek.texi (lseek): Document this fix.
37602         * doc/functions/fseek.texi (fseek): Likewise.
37603         * doc/functions/ftell.texi (ftell): Likewise.
37604
37605 2007-05-24  Bruno Haible  <bruno@clisp.org>
37606
37607         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
37608         in the printed representation of a NaN.
37609         * tests/test-vasprintf-posix.c (test_function): Likewise.
37610         * tests/test-snprintf-posix.h (test_function): Likewise.
37611         * tests/test-sprintf-posix.h (test_function): Likewise.
37612         Reported by Eric Blake.
37613
37614 2007-05-23  Eric Blake  <ebb9@byu.net>
37615
37616         Fix fseeko/ftello on cygwin 1.5.24.
37617         * doc/functions/fseeko.texi (fseeko): Document the fix.
37618         * doc/functions/ftello.texi (ftello): Document the fix.
37619         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
37620         * doc/functions/stdout.text (stdout): New file.
37621         * doc/functions/stderr.text (stderr): New file.
37622         * doc/gnulib.texi (Function Substitutes): Use new files.
37623         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
37624         prior to 1.7.0.
37625         * tests/test-ftello.c (main): Likewise for ftello.
37626         * tests/test-fseeko.sh: New file.
37627         * tests/test-ftello.sh: New file.
37628         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
37629         with seekable stdin.
37630         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
37631         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
37632         (gl_REPLACE_FSEEKO): New macro.
37633         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
37634         * modules/fseeko (Files): Distribute fseeko.c.
37635         * modules/ftello (Files): Distribute ftello.c.
37636         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
37637         mode.
37638         * lib/ftello.c (rpl_ftello): New file.
37639         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
37640         fseeko, ftello.
37641         (gl_STDIN_LARGE_OFFSET): New macro.
37642         * modules/stdio (Makefile.am): Perform the replacement.
37643         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
37644
37645 2007-05-23  Bruno Haible  <bruno@clisp.org>
37646
37647         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
37648         GNULIB_POSIXCHECK is defined.
37649
37650 2007-05-21  Bruno Haible  <bruno@clisp.org>
37651
37652         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
37653         Check also the output for NaN arguments. When cross-compiling, guess
37654         no on IRIX.
37655         * lib/vasnprintf.c: Update comments.
37656         * tests/test-vasnprintf-posix.c (strisnan): New function.
37657         (test_function): Use it.
37658         * tests/test-vasprintf-posix.c (strisnan): New function.
37659         (test_function): Use it.
37660         * tests/test-snprintf-posix.h (strisnan): New function.
37661         (test_function): Use it.
37662         * tests/test-sprintf-posix.h (strisnan): New function.
37663         (test_function): Use it.
37664         Reported by Eric Blake.
37665
37666 2007-05-20  Bruno Haible  <bruno@clisp.org>
37667
37668         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
37669         numbers that fails on BeOS.
37670         * doc/functions/frexpl.texi: Update.
37671
37672 2007-05-20  Jim Meyering  <jim@meyering.net>
37673
37674         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
37675         forced upon us by glibc-2.6.
37676
37677 2007-05-20  Bruno Haible  <bruno@clisp.org>
37678
37679         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
37680         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
37681         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
37682         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
37683         NEED_PRINTF_INFINITE.
37684         (is_infinitel): New function.
37685         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
37686         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
37687         gl_PREREQ_VASNPRINTF_INFINITE.
37688         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
37689         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37690         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
37691         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
37692         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
37693         gl_PREREQ_VASNPRINTF_INFINITE.
37694         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37695         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37696         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37697         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37698         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37699         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37700         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37701         * doc/functions/fprintf.texi: Update.
37702         * doc/functions/printf.texi: Update.
37703         * doc/functions/snprintf.texi: Update.
37704         * doc/functions/sprintf.texi: Update.
37705         * doc/functions/vfprintf.texi: Update.
37706         * doc/functions/vprintf.texi: Update.
37707         * doc/functions/vsnprintf.texi: Update.
37708         * doc/functions/vsprintf.texi: Update.
37709
37710 2007-05-20  Bruno Haible  <bruno@clisp.org>
37711
37712         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
37713         was not found in libc.
37714         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
37715
37716 2007-05-20  Bruno Haible  <bruno@clisp.org>
37717
37718         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
37719         printed as "-nan" instead of "nan".
37720         * tests/test-vasprintf-posix.c (test_function): Likewise.
37721         * tests/test-snprintf-posix.h (test_function): Likewise.
37722         * tests/test-sprintf-posix.h (test_function): Likewise.
37723         Needed for HP-UX 11.
37724
37725 2007-05-20  Jim Meyering  <jim@meyering.net>
37726
37727         Fix buggy test for the fchownat-deref bug.
37728         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
37729         symlink required for the run-test.  Without it, this test would
37730         always declare that fchownat doesn't work, and client code would
37731         unnecessarily use the replacement function with fixed libc.
37732         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
37733         Reported by Greg Schafer.
37734
37735 2007-05-19  Bruno Haible  <bruno@clisp.org>
37736
37737         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
37738         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
37739         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
37740         Needed for IRIX 6.5 and Solaris 2.5.1.
37741
37742 2007-05-19  Bruno Haible  <bruno@clisp.org>
37743
37744         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
37745         (test_function): Skip tests involving -0.0 on platforms where
37746         -0.0 = 0.0.
37747         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
37748         (test_function): Skip tests involving -0.0 on platforms where
37749         -0.0 = 0.0.
37750         * tests/test-snprintf-posix.h (have_minus_zero): New function.
37751         (test_function): Skip tests involving -0.0 on platforms where
37752         -0.0 = 0.0.
37753         * tests/test-sprintf-posix.h (have_minus_zero): New function.
37754         (test_function): Skip tests involving -0.0 on platforms where
37755         -0.0 = 0.0.
37756         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
37757         tests.
37758         * tests/test-printf-posix.h (test_function): Likewise.
37759         * tests/test-printf-posix.output: Remove all -0.0 related results.
37760         Needed for IRIX 6.5.
37761
37762 2007-05-19  Bruno Haible  <bruno@clisp.org>
37763
37764         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
37765         printed as "nan0x7fffffff" instead of "nan".
37766         * tests/test-vasprintf-posix.c (test_function): Likewise.
37767         * tests/test-snprintf-posix.h (test_function): Likewise.
37768         * tests/test-sprintf-posix.h (test_function): Likewise.
37769         * tests/test-fprintf-posix.h (NaN): Remove macro.
37770         (test_function): Remove all NaN related tests.
37771         * tests/test-printf-posix.h (NaN): Remove macro.
37772         (test_function): Remove all NaN related tests.
37773         * tests/test-printf-posix.output: Remove all NaN related results.
37774         Needed for IRIX 6.5.
37775
37776 2007-05-19  Bruno Haible  <bruno@clisp.org>
37777
37778         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
37779         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
37780
37781 2007-05-19  Bruno Haible  <bruno@clisp.org>
37782
37783         * lib/float_.h: New file.
37784         * m4/float_h.m4: New file.
37785         * modules/float: New file.
37786         * modules/isnanl (Dependencies): Add float.
37787         * modules/isnanl-nolibm (Dependencies): Likewise.
37788         * modules/mathl (Dependencies): Likewise.
37789         * modules/printf-frexpl (Dependencies): Likewise.
37790         * modules/signbit (Dependencies): Likewise.
37791         * modules/vasnprintf (Dependencies): Likewise.
37792         * doc/headers/float.texi: Update.
37793
37794 2007-05-19  Jim Meyering  <jim@meyering.net>
37795
37796         * lib/utimens.c (gl_futimens): Rename from futimens,
37797         now that glibc-2.6 declares futimens.
37798         * lib/utimens.h: Likewise.
37799
37800 2007-05-19  Bruno Haible  <bruno@clisp.org>
37801
37802         Avoid test failures on mingw.
37803         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
37804         * tests/test-printf-posix.sh: Likewise.
37805         * tests/test-vfprintf-posix.sh: Likewise.
37806         * tests/test-vprintf-posix.sh: Likewise.
37807
37808 2007-05-19  Bruno Haible  <bruno@clisp.org>
37809
37810         Fix *printf result for NaN, Inf, -0.0 on mingw.
37811         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
37812         * lib/vasnprintf.c: Include math.h and isnan.h.
37813         (is_infinite_or_zero): New function.
37814         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
37815         values in the %f, %F, %e, %E, %g, %G directives.
37816         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
37817         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37818         gl_PRINTF_INFINITE and test its result. Invoke
37819         gl_PREREQ_VASNPRINTF_INFINITE.
37820         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37821         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37822         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37823         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37824         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37825         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37826         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37827         * doc/functions/fprintf.texi: Update.
37828         * doc/functions/printf.texi: Update.
37829         * doc/functions/snprintf.texi: Update.
37830         * doc/functions/sprintf.texi: Update.
37831         * doc/functions/vfprintf.texi: Update.
37832         * doc/functions/vprintf.texi: Update.
37833         * doc/functions/vsnprintf.texi: Update.
37834         * doc/functions/vsprintf.texi: Update.
37835
37836 2007-05-19  Bruno Haible  <bruno@clisp.org>
37837
37838         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
37839         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
37840         Instead of multiplying with 10^k, set extra_zeroes to k.
37841         (scale10_round_long_double): Remove function.
37842
37843 2007-05-18  Bruno Haible  <bruno@clisp.org>
37844
37845         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
37846         introduced on 2007-05-06.
37847
37848 2007-05-18  Bruno Haible  <bruno@clisp.org>
37849
37850         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
37851         %g directives.
37852         * tests/test-vasprintf-posix.c (test_function): Likewise.
37853         * tests/test-snprintf-posix.h (test_function): Likewise.
37854         * tests/test-sprintf-posix.h (test_function): Likewise.
37855
37856 2007-05-18  Bruno Haible  <bruno@clisp.org>
37857
37858         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
37859         (strmatch): New function.
37860         (test_function): Test the %f directive on numbers of various exponents.
37861         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
37862         (strmatch): New function.
37863         (test_function): Test the %f directive on numbers of various exponents.
37864         * tests/test-snprintf-posix.h (strmatch): New function.
37865         (test_function): Test the %f directive on numbers of various exponents.
37866         * tests/test-sprintf-posix.h (strmatch): New function.
37867         (test_function): Test the %f directive on numbers of various exponents.
37868         * tests/test-snprintf-posix.c (SIZEOF): New macro.
37869         * tests/test-sprintf-posix.c (SIZEOF): New macro.
37870         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
37871         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
37872
37873 2007-05-18  Bruno Haible  <bruno@clisp.org>
37874
37875         Add support for 'long double' number output.
37876         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
37877         * lib/vasnprintf.c: Include math.h and float+.h.
37878         (mp_limb_t): New type.
37879         (GMP_LIMB_BITS): New macro.
37880         (mp_twolimb_t): New type.
37881         (GMP_TWOLIMB_BITS): New macro.
37882         (mpn_t): New type.
37883         (multiply, divide, convert_to_decimal, decode_long_double,
37884         scale10_round_long_double, scale10_round_decimal_long_double,
37885         floorlog10l): New functions.
37886         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
37887         for the %f, %F, %e, %E, %g, %G directives.
37888         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
37889         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37890         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
37891         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
37892         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37893         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37894         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37895         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37896         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37897         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37898         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37899         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
37900         * modules/snprintf-posix (Depends-on): Likewise.
37901         * modules/sprintf-posix (Depends-on): Likewise.
37902         * modules/vasnprintf-posix (Depends-on): Likewise.
37903         * modules/vasprintf-posix (Depends-on): Likewise.
37904         * modules/vfprintf-posix (Depends-on): Likewise.
37905         * modules/vsnprintf-posix (Depends-on): Likewise.
37906         * modules/vsprintf-posix (Depends-on): Likewise.
37907         * modules/vasnprintf (Files): Add lib/float+.h.
37908         * doc/functions/fprintf.texi: Update.
37909         * doc/functions/printf.texi: Update.
37910         * doc/functions/snprintf.texi: Update.
37911         * doc/functions/sprintf.texi: Update.
37912         * doc/functions/vfprintf.texi: Update.
37913         * doc/functions/vprintf.texi: Update.
37914         * doc/functions/vsnprintf.texi: Update.
37915         * doc/functions/vsprintf.texi: Update.
37916
37917 2007-05-18  Bruno Haible  <bruno@clisp.org>
37918
37919         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
37920
37921 2007-05-18  Bruno Haible  <bruno@clisp.org>
37922
37923         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
37924         for printing 64-bit integers. Needed for mingw.
37925
37926 2007-05-18  Bruno Haible  <bruno@clisp.org>
37927
37928         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
37929         gl_FUNC_FREXPL_WORKS.
37930         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
37931
37932 2007-05-18  Bruno Haible  <bruno@clisp.org>
37933
37934         * modules/frexpl-nolibm-tests: New file.
37935
37936         * modules/frexpl-nolibm: New file.
37937         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
37938
37939 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
37940
37941         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
37942         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
37943         GCC 4.2, which otherwise issues a lot of warnings.
37944         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
37945         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
37946         Likewise.
37947         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
37948         * modules/iconv_open (iconv.h): Likewise.
37949         * modules/locale (locale.h): Likewise.
37950         * modules/netinet_in (netinet/in.h): Likewise.
37951         * modules/sys_select (sys_select.h): Likewise.
37952         * modules/sys_socket (sys/socket.h): Likewise.
37953         * modules/sys_stat (sys/stat.h): Likewise.
37954         * modules/sysexits (sysexits.h): Likewise.
37955         * modules/unistd (unistd.h): Likewise.
37956
37957 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37958
37959         * modules/closein-tests (Makefile.am): Distribute
37960         `test-closein.sh'.
37961
37962 2007-05-17  Bruno Haible  <bruno@clisp.org>
37963
37964         * tests/test-printf-posix.output: Renamed from
37965         tests/test-fprintf-posix.out.
37966         * modules/fprintf-posix-tests: Update.
37967         * modules/printf-posix-tests: Update.
37968         * modules/vfprintf-posix-tests: Update.
37969         * modules/vprintf-posix-tests: Update.
37970         * tests/test-fprintf-posix.sh: Update.
37971         * tests/test-printf-posix.sh: Update.
37972         * tests/test-vfprintf-posix.sh: Update.
37973         * tests/test-vprintf-posix.sh: Update.
37974         Reported by Ralf Wildenhues.
37975
37976 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
37977
37978         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
37979         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
37980         GCC 4.2, which otherwise issues a lot of warnings.
37981         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
37982         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
37983         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
37984         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
37985         it should no longer be needed.
37986         * lib/string_.h: Likewise.
37987         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
37988         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
37989         * modules/inttypes (inttypes.h): Likewise.
37990         * modules/math (math.h): Likewise.
37991         * modules/search (search.h): Likewise.
37992         * modules/signal (signal.h): Likewise.
37993         * modules/stdint (stdint.h): Likewise.
37994         * modules/stdio (stdio.h): Likewise.
37995         * modules/stdlib (stdlib.h): Likewise.
37996         * modules/string (string.h): Likewise.
37997         * modules/sys_time (sys/time.h): Likewise.
37998         * modules/time (time.h): Likewise.
37999         * modules/wchar (wchar.h): Likewise.
38000         * modules/wctype (wtype.h): Likewise.
38001
38002 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
38003
38004         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
38005
38006 2007-05-13  Bruno Haible  <bruno@clisp.org>
38007
38008         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
38009         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
38010         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
38011         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
38012         (gl_PREREQ_STRTOK_R): Don't require it here.
38013
38014 2007-05-13  Bruno Haible  <bruno@clisp.org>
38015
38016         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
38017         when used in C++ mode.
38018
38019 2007-05-12  Bruno Haible  <bruno@clisp.org>
38020
38021         * lib/linebuffer.h: Tweak doc.
38022         * lib/linebuffer.c: Likewise.
38023
38024 2007-05-12  James Youngman  <jay@gnu.org>
38025
38026         * lib/linebuffer.c (readlinebuffer_delim): New function,
38027         like readlinebuffer, but use a caller-specified delimiter.
38028         (readlinebuffer): Just call readlinebuffer_delim with '\n'
38029         as the delimiter.
38030         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
38031
38032 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38033
38034         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
38035         * modules/openat (Files): Remove openat-die.c.
38036         (Depends-on): Add openat-die.
38037         * modules/openat-die: New module.
38038
38039 2007-05-06  Bruno Haible  <bruno@clisp.org>
38040
38041         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
38042         Update with info about Cygwin.
38043         * doc/functions/fprintf.texi: Update.
38044         * doc/functions/printf.texi: Update.
38045         * doc/functions/snprintf.texi: Update.
38046         * doc/functions/sprintf.texi: Update.
38047         * doc/functions/vfprintf.texi: Update.
38048         * doc/functions/vprintf.texi: Update.
38049         * doc/functions/vsnprintf.texi: Update.
38050         * doc/functions/vsprintf.texi: Update.
38051         Reported by Eric Blake.
38052
38053 2007-05-06  Bruno Haible  <bruno@clisp.org>
38054
38055         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
38056         padding ourselves for the floating-point directives.
38057         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
38058         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
38059         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38060         gl_PRINTF_FLAG_ZERO and test its result. Invoke
38061         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
38062         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38063         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
38064         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38065         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38066         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38067         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38068         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38069         * tests/test-snprintf-posix.h (test_function): Also check the width
38070         and some flags in the %f directive.
38071         * tests/test-sprintf-posix.h (test_function): Likewise.
38072         * tests/test-vasnprintf-posix.c (test_function): Likewise.
38073         * tests/test-vasprintf-posix.c (test_function): Likewise.
38074         * doc/functions/fprintf.texi: Update.
38075         * doc/functions/printf.texi: Update.
38076         * doc/functions/snprintf.texi: Update.
38077         * doc/functions/sprintf.texi: Update.
38078         * doc/functions/vfprintf.texi: Update.
38079         * doc/functions/vprintf.texi: Update.
38080         * doc/functions/vsnprintf.texi: Update.
38081         * doc/functions/vsprintf.texi: Update.
38082
38083 2007-05-06  Bruno Haible  <bruno@clisp.org>
38084
38085         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
38086         pass the ' flag character to sprintf or snprintf.
38087         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
38088         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
38089         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38090         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
38091         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
38092         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38093         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
38094         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38095         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38096         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38097         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38098         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38099         * tests/test-snprintf-posix.h (test_function): Also check the grouping
38100         flag.
38101         * tests/test-sprintf-posix.h (test_function): Likewise.
38102         * tests/test-vasnprintf-posix.c (test_function): Likewise.
38103         * tests/test-vasprintf-posix.c (test_function): Likewise.
38104         * doc/functions/fprintf.texi: Update.
38105         * doc/functions/printf.texi: Update.
38106         * doc/functions/snprintf.texi: Update.
38107         * doc/functions/sprintf.texi: Update.
38108         * doc/functions/vfprintf.texi: Update.
38109         * doc/functions/vprintf.texi: Update.
38110         * doc/functions/vsnprintf.texi: Update.
38111         * doc/functions/vsprintf.texi: Update.
38112
38113 2007-05-01  Bruno Haible  <bruno@clisp.org>
38114
38115         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
38116
38117 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
38118
38119         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
38120         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
38121
38122 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
38123
38124         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
38125         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
38126         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
38127
38128 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
38129
38130         * lib/argp-help.c (struct hol_entry): New member `ord'.
38131         (HOL_ENTRY_PTRCMP): Use ord for comparison
38132         (hol_sort): Initialize ord.
38133
38134 2007-05-01  Bruno Haible  <bruno@clisp.org>
38135
38136         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
38137         Reported by Eric Blake.
38138         * doc/gnulib.texi (Function Substitutes): Update.
38139
38140 2007-05-01  Bruno Haible  <bruno@clisp.org>
38141
38142         * doc/functions.texi: Remove file, now redundant through
38143         doc/functions/*.texi.
38144
38145 2007-05-01  Bruno Haible  <bruno@clisp.org>
38146
38147         * modules/argp (Depends-on): Add sleep.
38148
38149 2007-05-01  Bruno Haible  <bruno@clisp.org>
38150
38151         * modules/sleep-tests: New file.
38152         * tests/test-sleep.c: New file.
38153
38154         * modules/sleep: New file.
38155         * lib/sleep.c: New file.
38156         * m4/sleep.m4: New file.
38157         * lib/unistd_.h (sleep): New declaration.
38158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
38159         HAVE_SLEEP.
38160         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
38161         * doc/functions/sleep.texi: Document the sleep module.
38162
38163 2007-05-01  Bruno Haible  <bruno@clisp.org>
38164
38165         * lib/sigprocmask.h: Remove file.
38166         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
38167         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
38168         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
38169         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
38170         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
38171         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
38172         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
38173         HAVE_SIGSET_T as a shell variable.
38174         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
38175         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
38176         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
38177         (Depends-on): Add signal. Remove verify.
38178         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
38179         (Include): Mention <signal.h> instead of sigprocmask.h.
38180         * NEWS: Mention the change.
38181         * lib/fatal-signal.c: Don't include sigprocmask.h.
38182
38183 2007-05-01  Bruno Haible  <bruno@clisp.org>
38184
38185         * modules/signal: New file.
38186         * lib/signal_.h: New file.
38187         * m4/signal_h.m4: New file.
38188
38189 2007-05-01  Bruno Haible  <bruno@clisp.org>
38190
38191         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
38192         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
38193         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
38194         HAVE_WCTYPE_CTMP_BUG into wctype.h.
38195
38196 2007-05-01  Bruno Haible  <bruno@clisp.org>
38197
38198         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
38199         configure time.
38200         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
38201         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
38202         * modules/sys_stat (Makefile.am): Substitute their values into
38203         sys/stat.h.
38204
38205 2007-05-01  Bruno Haible  <bruno@clisp.org>
38206
38207         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
38208         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
38209         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
38210
38211 2007-05-01  Bruno Haible  <bruno@clisp.org>
38212
38213         * doc/header/assert.texi: Undo last change: don't mention the gnulib
38214         'assert' module here.
38215
38216 2007-05-01  Bruno Haible  <bruno@clisp.org>
38217
38218         * doc/functions/*.texi: New files.
38219         * doc/functions/google-ranking.txt: New file.
38220         * doc/gnulib.texi (Function Substitutes): New chapter.
38221         (ctime, inet_ntoa): Remove sections.
38222         * doc/ctime.texi: Remove file.
38223         * doc/inet_ntoa.texi: Remove file.
38224         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
38225         dependencies.
38226         (%.info): New rule, specifying a --reference-limit.
38227
38228 2007-05-01  Bruno Haible  <bruno@clisp.org>
38229
38230         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
38231
38232 2007-05-01  Bruno Haible  <bruno@clisp.org>
38233
38234         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
38235         the portability of 'mkdir' to mingw systems.
38236
38237 2007-05-01  Bruno Haible  <bruno@clisp.org>
38238
38239         * doc/headers/google-ranking.txt: New file.
38240
38241 2007-04-30  Eric Blake  <ebb9@byu.net>
38242
38243         Prefer fseeko to fseek.
38244         * modules/getpass (Depends-on): Add fseeko.
38245         * lib/getpass.c (getpass): Use fseeko, not fseek.
38246
38247 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
38248
38249         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
38250         assumes the sorting is stable, while most qsort implementations
38251         are not.  Use argument addresses to ensure they never compare as
38252         equal.
38253
38254         * tests/test-argp-2.sh (usage-indent test): Fix output
38255         (func_compare): Restore diff options
38256         * tests/test-argp.c: Restore #include "progname.h"
38257
38258 2007-04-29  Bruno Haible  <bruno@clisp.org>
38259
38260         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
38261         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38262         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
38263         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38264         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
38265         (configure.ac): Define CHECK_SNPRINTF_POSIX.
38266         (TESTS, check_PROGRAMS): Add test-snprintf.
38267         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
38268         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
38269         (TESTS, check_PROGRAMS): Add test-vsnprintf.
38270         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
38271         assertions that fail on HP-UX, OSF/1, or IRIX.
38272         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
38273
38274 2007-04-29  Bruno Haible  <bruno@clisp.org>
38275
38276         * MODULES.html.sh (posix_functions): Remove 'contents'.
38277
38278 2007-04-29  Karl Berry  <karl@gnu.org>
38279
38280         * config/srclist.txt (gendocs_template_min): new entry.
38281
38282 2007-04-29  Bruno Haible  <bruno@clisp.org>
38283
38284         Work around fpurge bug on BSD systems.
38285         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
38286         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
38287         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
38288         fpurge to rpl_fpurge if the system already has this function.
38289         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
38290         the case where the system already has this function. Correct invariants
38291         on BSD systems.
38292         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
38293         BSD systems.
38294
38295 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
38296
38297         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
38298         proposed by Sven Verdoolaege.
38299
38300         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
38301         options.
38302         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
38303         (usage and help tests): Update
38304
38305 2007-04-29  Bruno Haible  <bruno@clisp.org>
38306
38307         * tests/test-fflush.c (main): Use a file of size 17, not 10.
38308         Print more information in case of failure. Disable a test on BeOS.
38309
38310 2007-04-29  Bruno Haible  <bruno@clisp.org>
38311
38312         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
38313         This helps debugging on systems on which no gdb is available.
38314
38315 2007-04-29  Bruno Haible  <bruno@clisp.org>
38316
38317         * lib/freading.h: Improve comments.
38318         * lib/fwriting.h: Likewise.
38319         * tests/test-freading.c (main): Don't check freading immediately after
38320         repositioning. Needed for glibc.
38321
38322 2007-04-29  Bruno Haible  <bruno@clisp.org>
38323
38324         * lib/freading.c (freading): Trivial simplification.
38325
38326 2007-04-28  Bruno Haible  <bruno@clisp.org>
38327
38328         * tests/test-fwriting.c (main): Also test the interaction between
38329         fflush and fwriting.
38330         * modules/fwriting-tests (Depends-on): Add fflush.
38331
38332         * tests/test-freading.c (main): Also test the interaction between
38333         fflush and freading.
38334         * modules/freading-tests (Depends-on): Add fflush.
38335
38336 2007-04-28  Bruno Haible  <bruno@clisp.org>
38337
38338         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
38339         fseeko and ftello.
38340         Suggested by Eric Blake.
38341
38342 2007-04-28  Jim Meyering  <jim@meyering.net>
38343
38344         Avoid false-negative in gl_STDINT_H's C99 conformance test.
38345         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
38346         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
38347
38348 2007-04-27  Eric Blake  <ebb9@byu.net>
38349
38350         * doc/headers/assert.texi (assert.h): Document assert module use.
38351
38352 2007-04-27  Bruno Haible  <bruno@clisp.org>
38353
38354         * doc/headers/*.texi: New files.
38355         * doc/gnulib.texi (Header File Substitutes): New chapter.
38356         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
38357         dependencies.
38358         (standards.info ,standards.html, standards.dvi): Update dependencies.
38359         (mostlyclean, clean): New targets.
38360
38361 2007-04-27  Bruno Haible  <bruno@clisp.org>
38362
38363         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
38364         * modules/sysexits (Files, Makefile.am): Update.
38365
38366         * lib/sys_socket_.h: Renamed from lib/socket_.h.
38367         * modules/sys_socket (Files, Makefile.am): Update.
38368
38369         * lib/sys_stat_.h: Renamed from lib/stat_.h.
38370         * modules/sys_stat (Files, Makefile.am): Update.
38371
38372 2007-04-27  Eric Blake  <ebb9@byu.net>
38373
38374         * lib/freading.h: Improve comments.
38375         * lib/fwriting.h: Likewise.
38376         * lib/fflush.c: Likewise.
38377
38378         Fix closein for mingw.
38379         * modules/closein-tests: Add tests for closein.
38380         * tests/test-closein.c: New file.
38381         * tests/test-closein.sh: Likewise.
38382         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
38383         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
38384
38385 2007-04-27  Bruno Haible  <bruno@clisp.org>
38386
38387         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
38388         version is < 6.
38389         * lib/math_.h [__DECC]: Likewise.
38390         * lib/stdio_.h [__DECC]: Likewise.
38391         * lib/stdlib_.h [__DECC]: Likewise.
38392         * lib/string_.h [__DECC]: Likewise.
38393         * lib/time_.h [__DECC]: Likewise.
38394         * lib/wchar_.h [__DECC]: Likewise.
38395         * lib/wctype_.h [__DECC]: Likewise.
38396
38397 2007-04-27  Bruno Haible  <bruno@clisp.org>
38398
38399         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
38400
38401 2007-04-27  Bruno Haible  <bruno@clisp.org>
38402
38403         * lib/fflush.c: Add comments.
38404         * modules/fpurge-tests (Depends-on): Add fflush.
38405         * modules/freadable-tests (Depends-on): Likewise.
38406         * modules/fwritable-tests (Depends-on): Likewise.
38407
38408 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
38409
38410         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
38411         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
38412         Report by Bruno Haible <bruno@clisp.org>.
38413
38414 2007-04-26  Eric Blake  <ebb9@byu.net>
38415
38416         Fix fflush on mingw.
38417         * modules/fflush (Depends-on): Add freading.
38418         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
38419         but unread data.
38420
38421 2007-04-26  Eric Blake  <ebb9@byu.net>
38422         and Bruno Haible  <bruno@clisp.org>
38423
38424         Implement freading and fwriting.
38425         * lib/freading.c: New file.
38426         * lib/freading.h: Likewise.
38427         * m4/freading.m4: Likewise.
38428         * modules/freading: Likewise.
38429         * modules/freading-tests: Likewise.
38430         * tests/test-freading.c: Likewise.
38431         * lib/fwriting.c: New file.
38432         * lib/fwriting.h: Likewise.
38433         * m4/fwriting.m4: Likewise.
38434         * modules/fwriting: Likewise.
38435         * modules/fwriting-tests: Likewise.
38436         * tests/test-fwriting.c: Likewise.
38437         * MODULES.html.sh (File stream based Input/Output): Mention them.
38438
38439 2007-04-26  Bruno Haible  <bruno@clisp.org>
38440
38441         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
38442         'long' when we assume it.
38443         Suggested by Eric Blake.
38444
38445 2007-04-26  Bruno Haible  <bruno@clisp.org>
38446
38447         Ensure fseeko, ftello are declared on glibc systems.
38448         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
38449         * modules/fseeko (configure.ac-early): Likewise.
38450         * modules/ftello (configure.ac-early): Likewise.
38451         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
38452         AC_FUNC_FSEEKO for this.
38453         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
38454         (gl_CHECK_FSEEKO): Remove macro.
38455
38456 2007-04-26  Bruno Haible  <bruno@clisp.org>
38457
38458         * tests/test-fflush.c (main): Also check the ftell result after
38459         fflush and fseek/fseeko.
38460         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
38461         file descriptor position cache in the stream.
38462         * lib/fseeko.c (rpl_fseeko): Likewise.
38463
38464 2007-04-26  Bruno Haible  <bruno@clisp.org>
38465
38466         * modules/fflush-tests (Depends-on): Add fseeko.
38467
38468 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
38469             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38470
38471         * lib/argz_.h: ensure error_t definition is obtained in same
38472         mechanism system argz.h would have.
38473         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
38474         argz facilities are known bad.  Err on the side of caution if
38475         cross-compiling.
38476
38477 2007-04-25  Eric Blake  <ebb9@byu.net>
38478
38479         * lib/fpurge.c (includes): Use stdlib.h for free.
38480         * tests/test-fflush.c (main): Also test fflush-fseeko.
38481
38482 2007-04-25  Bruno Haible  <bruno@clisp.org>
38483
38484         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
38485         * lib/fseeko.c: New file.
38486         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
38487         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
38488         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
38489         gl_FUNC_FSEEKO.
38490         (gl_FUNC_FSEEKO): Invoke it.
38491         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
38492         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
38493         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
38494
38495 2007-04-25  Bruno Haible  <bruno@clisp.org>
38496
38497         * modules/fflush (Depends-on): Add ftello.
38498
38499 2007-04-25  Bruno Haible  <bruno@clisp.org>
38500
38501         * modules/ftello-tests: New file.
38502         * tests/test-ftello.c: New file.
38503
38504         * modules/ftello: New file.
38505         * m4/ftello.m4: New file.
38506         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
38507         HAVE_FTELLO.
38508         * lib/stdio_.h (ftello): New declaration.
38509         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
38510         HAVE_FTELLO.
38511
38512 2007-04-25  Bruno Haible  <bruno@clisp.org>
38513
38514         * modules/fseeko-tests: New file.
38515         * tests/test-fseeko.c: New file.
38516
38517         * modules/fseeko: New file.
38518         * m4/fseeko.m4: New file.
38519         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
38520         HAVE_FSEEKO.
38521         * lib/stdio_.h (fseeko): New declaration.
38522         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
38523         HAVE_FSEEKO.
38524
38525 2007-04-25  Bruno Haible  <bruno@clisp.org>
38526
38527         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
38528
38529 2007-04-25  Bruno Haible  <bruno@clisp.org>
38530
38531         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
38532         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
38533         * tests/test-unistd.c: Likewise.
38534         * tests/test-fcntl.c: Likewise.
38535
38536 2007-04-23  Eric Blake  <ebb9@byu.net>
38537
38538         * lib/fflush.c: Fix missing include.
38539         Reported by Bruno Haible.
38540
38541 2007-04-23  Bruno Haible  <bruno@clisp.org>
38542
38543         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
38544         Reported by Eric Blake.
38545
38546 2007-04-23  Bruno Haible  <bruno@clisp.org>
38547
38548         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
38549
38550 2007-04-23  Bruno Haible  <bruno@clisp.org>
38551
38552         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
38553
38554 2007-04-23  Bruno Haible  <bruno@clisp.org>
38555
38556         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
38557         Needed on HP-UX 11.
38558
38559 2007-04-16  Eric Blake  <ebb9@byu.net>
38560
38561         Make fflush rely on fpurge.
38562         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
38563         open coding all variants.
38564         * modules/fflush (Depends-on): Add fpurge and unistd.
38565         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
38566         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
38567
38568         Fix --with-tests compilation on cygwin.
38569         * modules/argmatch-tests (Makefile.am): List gnulib library first
38570         in LDADD.
38571         * modules/argp-tests (Makefile.am): Likewise.
38572         * modules/array-list-tests (Makefile.am): Likewise.
38573         * modules/array-oset-tests (Makefile.am): Likewise.
38574         * modules/avltree-list-tests (Makefile.am): Likewise.
38575         * modules/avltree-oset-tests (Makefile.am): Likewise.
38576         * modules/avltreehash-list-tests (Makefile.am): Likewise.
38577         * modules/carray-list-tests (Makefile.am): Likewise.
38578         * modules/dirname-tests (Makefile.am): Likewise.
38579         * modules/frexp-tests (Makefile.am): Likewise.
38580         * modules/isnanl-tests (Makefile.am): Likewise.
38581         * modules/linked-list-tests (Makefile.am): Likewise.
38582         * modules/linkedhash-list-tests (Makefile.am): Likewise.
38583         * modules/lock-tests (Makefile.am): Likewise.
38584         * modules/rbtree-list-tests (Makefile.am): Likewise.
38585         * modules/rbtree-oset-tests (Makefile.am): Likewise.
38586         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
38587         * modules/tls-tests (Makefile.am): Likewise.
38588         * modules/tsearch-tests (Makefile.am): Likewise.
38589         * modules/xvasprintf-tests (Makefile.am): Likewise.
38590
38591         Fix fpurge for cygwin.
38592         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
38593         value.
38594         * modules/fpurge-tests (Depends-on): Clean up trash.
38595
38596 2007-04-16  Simon Josefsson  <simon@josefsson.org>
38597
38598         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
38599
38600         * m4/autobuild.m4: Re-indent.
38601
38602 2007-04-13  Bruno Haible  <bruno@clisp.org>
38603
38604         * modules/fpurge-tests: New file.
38605         * tests/test-fpurge.c: New file.
38606
38607         * modules/fpurge: New file.
38608         * lib/fpurge.h: New file.
38609         * lib/fpurge.c: New file.
38610         * m4/fpurge.m4: New file.
38611
38612 2007-04-13  Bruno Haible  <bruno@clisp.org>
38613
38614         * modules/fbufmode-tests: New file.
38615         * tests/test-fbufmode.c: New file.
38616
38617         * modules/fbufmode: New file.
38618         * lib/fbufmode.h: New file.
38619         * lib/fbufmode.c: New file.
38620         * m4/fbufmode.m4: New file.
38621
38622 2007-04-13  Bruno Haible  <bruno@clisp.org>
38623
38624         * modules/fwritable-tests: New file.
38625         * tests/test-fwritable.c: New file.
38626
38627         * modules/fwritable: New file.
38628         * lib/fwritable.h: New file.
38629         * lib/fwritable.c: New file.
38630         * m4/fwritable.m4: New file.
38631
38632 2007-04-13  Bruno Haible  <bruno@clisp.org>
38633
38634         * modules/freadable-tests: New file.
38635         * tests/test-freadable.c: New file.
38636
38637         * modules/freadable: New file.
38638         * lib/freadable.h: New file.
38639         * lib/freadable.c: New file.
38640         * m4/freadable.m4: New file.
38641
38642 2007-04-13  Bruno Haible  <bruno@clisp.org>
38643
38644         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
38645         MOSTLYCLEANFILES.
38646
38647 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
38648
38649         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
38650         gzip bootstrap.conf to avoid dragging in i18n machinery.
38651         (gnulib_tool_option): Use it.
38652
38653 2007-04-13  Bruno Haible  <bruno@clisp.org>
38654
38655         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
38656         %F directives.
38657         * tests/test-vasprintf-posix.c (test_function): Likewise.
38658         * tests/test-snprintf-posix.h (test_function): Likewise.
38659         * tests/test-sprintf-posix.h (test_function): Likewise.
38660         * tests/test-fprintf-posix.h (test_function): Likewise.
38661         * tests/test-printf-posix.h (test_function): Likewise.
38662         * tests/test-fprintf-posix.out: Likewise.
38663
38664 2007-04-13  Bruno Haible  <bruno@clisp.org>
38665
38666         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
38667         * modules/tls-tests (configure.ac): Likewise.
38668         Reported by Arto C. Nirkko <anirkko@insel.ch>.
38669
38670 2007-04-13  Bruno Haible  <bruno@clisp.org>
38671
38672         * lib/tls.c (glthread_tls_get): Fix return type.
38673         Patch by Arto C. Nirkko <anirkko@insel.ch>.
38674
38675 2007-04-12  Eric Blake  <ebb9@byu.net>
38676
38677         * modules/gettime (Depends-on): Remove gettime.
38678         Reported by Dmitry V. Levin.
38679
38680 2007-04-12  Bruno Haible  <bruno@clisp.org>
38681
38682         * modules/fflush (Include): Mention <stdio.h>.
38683         * modules/strtoimax (Include): Mention <inttypes.h>.
38684         * modules/strtoumax (Include): Likewise.
38685
38686 2007-04-12  Eric Blake  <ebb9@byu.net>
38687
38688         * .cvsignore: New file.
38689         * .gitignore: Likewise.
38690
38691 2007-04-12  Bruno Haible  <bruno@clisp.org>
38692
38693         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
38694         not before, since $(LDADD) often contains libgnu.a.
38695         * modules/striconv-tests (test_striconv_LDADD): Likewise.
38696         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
38697         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
38698         Needed on Cygwin.
38699
38700 2007-04-12  Eric Blake  <ebb9@byu.net>
38701
38702         Work around glibc's failure to flush stdin on fclose.
38703         * lib/closein.c (close_stdin): Flush stdin before closing.
38704
38705         Work around glibc's failure to reset seekable stdin on exit.
38706         * modules/closein: New module.
38707         * lib/closein.c: New file.
38708         * lib/closein.h: Likewise.
38709         * m4/closein.m4: Likewise.
38710         * MODULES.html.sh (File stream based Input/Output): Document it.
38711
38712 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38713
38714         * gnulib-tool: Rename generated 'autobuild' script to
38715         'do-autobuild' in --create-megatestdir output.
38716
38717         * doc/gnulib.texi (Build robot for gnulib): Fix.
38718
38719 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38720
38721         * modules/sysexits (Depends-on): Add absolute-header.
38722
38723 2007-04-12  Eric Blake  <ebb9@byu.net>
38724
38725         No need to preserve errno on success.
38726         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
38727         Reported by Bruno Haible.
38728
38729 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38730
38731         * MODULES.html.sh (Support for maintaining and releasing
38732         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
38733
38734 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38735
38736         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
38737
38738 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38739
38740         * modules/autobuild: New module.
38741
38742         * m4/autobuild.m4: New file.
38743
38744 2007-04-11  Bruno Haible  <bruno@clisp.org>
38745
38746         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
38747         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
38748         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
38749         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
38750         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38751         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38752         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38753         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38754         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38755         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38756         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
38757         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38758         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38759         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
38760         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38761         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38762         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
38763         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38764         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38765         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
38766         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38767         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38768         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
38769         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38770         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38771         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
38772         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38773         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38774         Reported by Eric Blake.
38775
38776 2007-04-11  Bruno Haible  <bruno@clisp.org>
38777
38778         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
38779
38780 2007-04-10  Bruno Haible  <bruno@clisp.org>
38781
38782         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
38783         for NaN and Infinity. Needed on FreeBSD 6.1.
38784         * tests/test-vasnprintf-posix.c (test_function): Undo last change
38785         regarding results for "%010a" of Infinity and NaN.
38786         * tests/test-vasprintf-posix.c (test_function): Likewise.
38787         * tests/test-snprintf-posix.h (test_function): Likewise.
38788         * tests/test-sprintf-posix.h (test_function): Likewise.
38789         * tests/test-fprintf-posix.h (test_function): Likewise.
38790         * tests/test-printf-posix.h (test_function): Likewise.
38791         * tests/test-fprintf-posix.out: Likewise.
38792
38793 2007-04-10  Bruno Haible  <bruno@clisp.org>
38794
38795         * modules/locale-tests: New file.
38796         * tests/test-locale.c: New file.
38797
38798         * modules/locale: New file.
38799         * lib/locale_.h: New file.
38800         * m4/locale_h.m4: New file.
38801
38802 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
38803             Bruno Haible  <bruno@clisp.org>
38804
38805         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
38806         be determined, test for availability of the copysignf, copysign,
38807         copysignl functions.
38808         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
38809         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
38810         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
38811
38812 2007-04-09  Eric Blake  <ebb9@byu.net>
38813
38814         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
38815         * modules/stdio (Makefile.am): Support fflush.
38816         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38817         * modules/fflush: New file.
38818         * lib/fflush.c: Likewise.
38819         * m4/fflush.m4: Likewise.
38820         * modules/fflush-tests: New test.
38821         * tests/test-fflush.c: Likewise.
38822         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
38823
38824 2007-04-06  Bruno Haible  <bruno@clisp.org>
38825
38826         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
38827         (VASNPRINTF): Use signbit for faster determination whether to print a
38828         minus sign.
38829         * modules/vasnprintf (Files): Remove lib/float+.h.
38830         * modules/fprintf-posix (Depends-on): Add signbit.
38831         * modules/snprintf-posix (Depends-on): Likewise.
38832         * modules/sprintf-posix (Depends-on): Likewise.
38833         * modules/vasnprintf-posix (Depends-on): Likewise.
38834         * modules/vasprintf-posix (Depends-on): Likewise.
38835         * modules/vfprintf-posix (Depends-on): Likewise.
38836         * modules/vsnprintf-posix (Depends-on): Likewise.
38837         * modules/vsprintf-posix (Depends-on): Likewise.
38838
38839 2007-04-06  Bruno Haible  <bruno@clisp.org>
38840
38841         * tests/test-frexp.c (main): Test also the sign bit of zero results.
38842         * tests/test-frexpl.c (main): Likewise.
38843         * tests/test-ldexpl.c (main): Likewise.
38844         * modules/frexp-tests (Depends-on): Add signbit.
38845         * modules/frexpl-tests (Depdends-on): Likewise.
38846         * modules/ldexpl-tests (Depdends-on): Likewise.
38847
38848 2007-04-06  Bruno Haible  <bruno@clisp.org>
38849
38850         * modules/signbit-tests: New file.
38851         * tests/test-signbit.c: New file.
38852
38853         * modules/signbit: New file.
38854         * lib/signbitf.c: New file.
38855         * lib/signbitd.c: New file.
38856         * lib/signbitl.c: New file.
38857         * m4/signbit.m4: New file.
38858         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
38859         (signbit): New macro.
38860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
38861         REPLACE_SIGNBIT.
38862         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
38863         REPLACE_FREXPL into math.h.
38864
38865 2007-04-06  Bruno Haible  <bruno@clisp.org>
38866
38867         * modules/isnanf-nolibm-tests: New file.
38868         * tests/test-isnanf.c: New file.
38869
38870         * modules/isnanf-nolibm: New file.
38871         * lib/isnanf.h: New file.
38872         * lib/isnanf.c: New file.
38873         * lib/isnan.c: Consider the USE_FLOAT macro.
38874         * m4/isnanf.m4: New file.
38875
38876 2007-04-06  Bruno Haible  <bruno@clisp.org>
38877
38878         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
38879         (Link): New section.
38880
38881         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
38882
38883 2007-04-06  Bruno Haible  <bruno@clisp.org>
38884
38885         Assume the 'long double' type.
38886         * m4/longdouble.m4: Remove file.
38887         * config/srclist.txt: Don't mention longdouble.m4.
38888         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
38889         * lib/float+.h: Likewise.
38890         * lib/frexp.c: Likewise.
38891         * lib/printf-args.h: Likewise.
38892         * lib/printf-args.c: Likewise.
38893         * lib/printf-frexp.c: Likewise.
38894         * lib/printf-parse.c: Likewise.
38895         * lib/vasnprintf.c: Likewise.
38896         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
38897         * m4/intl.m4: Likewise.
38898         * m4/isnanl.m4: Likewise.
38899         * m4/printf.m4: Likewise.
38900         * m4/printf-frexpl.m4: Likewise.
38901         * m4/vasnprintf.m4: Likewise.
38902         * modules/allocsa (Files): Remove m4/longdouble.m4.
38903         * modules/gettext (Files): Likewise.
38904         * modules/relocatable-prog-wrapper (Files): Likewise.
38905         * modules/vasnprintf (Files): Likewise.
38906         * modules/isnanl (Files): Likewise.
38907         (Include): Simplify.
38908         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
38909         (Include): Simplify.
38910         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
38911         (Include): Simplify.
38912         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
38913         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38914         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
38915         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38916         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
38917         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38918         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
38919         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38920         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
38921         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38922         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
38923         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38924         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
38925         * tests/test-isnanl.c: Likewise.
38926         * tests/test-snprintf-posix.h: Likewise.
38927         * tests/test-sprintf-posix.h: Likewise.
38928         * tests/test-vasnprintf-posix.c: Likewise.
38929         * tests/test-vasnprintf-posix2.c: Likewise.
38930         * tests/test-vasprintf-posix.c: Likewise.
38931
38932 2007-04-06  Bruno Haible  <bruno@clisp.org>
38933
38934         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
38935         * lib/math_.h [__DECC]: Include the overridden include file through
38936         #include_next, outside the double-inclusion guard.
38937         * lib/stdio_.h [__DECC]: Likewise.
38938         * lib/stdlib_.h [__DECC]: Likewise.
38939         * lib/string_.h [__DECC]: Likewise.
38940         * lib/time_.h [__DECC]: Likewise.
38941         * lib/wchar_.h [__DECC]: Likewise.
38942         * lib/wctype_.h [__DECC]: Likewise.
38943         * lib/inttypes_.h [__DECC]: Likewise.
38944         Reported by Albert Chin <china@thewrittenword.com> in
38945         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
38946
38947 2007-04-04  Eric Blake  <ebb9@byu.net>
38948
38949         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
38950         1.5.x.
38951
38952 2007-04-04  Bruno Haible  <bruno@clisp.org>
38953
38954         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
38955         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
38956
38957 2007-04-04  Bruno Haible  <bruno@clisp.org>
38958
38959         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
38960         results for "%010a" of Infinity and NaN.
38961         * tests/test-vasprintf-posix.c (test_function): Likewise.
38962         * tests/test-snprintf-posix.h (test_function): Likewise.
38963         * tests/test-sprintf-posix.h (test_function): Likewise.
38964         * tests/test-fprintf-posix.h (test_function): Remove these tests.
38965         * tests/test-printf-posix.h (test_function): Likewise.
38966         * tests/test-fprintf-posix.out: Update.
38967         Needed for FreeBSD 6.1.
38968
38969 2007-04-04  Bruno Haible  <bruno@clisp.org>
38970
38971         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
38972         directly used by the gnulib modules nor by gnulib-tool.
38973
38974 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
38975
38976         * DEPENDENCIES: Give overall description of version dependency
38977         desirability.  Use more-typical names for apps.
38978         Add shell, coreutils, diffutils, grep, tar, gzip.
38979
38980 2007-04-04  Simon Josefsson  <simon@josefsson.org>
38981
38982         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
38983
38984 2007-04-04  Karl Berry  <karl@gnu.org>
38985
38986         * MODULES.html.sh (func_module): missing '.
38987
38988 2007-04-03  Bruno Haible  <bruno@clisp.org>
38989
38990         * modules/argmatch-tests (Makefile.am): New variable
38991         test_argmatch_LDADD.
38992         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
38993         * modules/array-list-tests (Makefile.am): New variable
38994         test_array_list_LDADD.
38995         * modules/array-oset-tests (Makefile.am): New variable
38996         test_array_oset_LDADD.
38997         * modules/avltree-list-tests (Makefile.am): New variable
38998         test_avltree_list_LDADD.
38999         * modules/avltree-oset-tests (Makefile.am): New variable
39000         test_avltree_oset_LDADD.
39001         * modules/avltreehash-list-tests (Makefile.am): New variable
39002         test_avltreehash_list_LDADD.
39003         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
39004         test_canonicalize_lgpl_LDADD.
39005         * modules/carray-list-tests (Makefile.am): New variable
39006         test_carray_list_LDADD.
39007         * modules/dirname-tests (Makefile.am): New variable
39008         test_dirname_LDADD.
39009         * modules/linked-list-tests (Makefile.am): New variable
39010         test_linked_list_LDADD.
39011         * modules/linkedhash-list-tests (Makefile.am): New variable
39012         test_linkedhash_list_LDADD.
39013         * modules/rbtree-list-tests (Makefile.am): New variable
39014         test_rbtree_list_LDADD.
39015         * modules/rbtree-oset-tests (Makefile.am): New variable
39016         test_rbtree_oset_LDADD.
39017         * modules/rbtreehash-list-tests (Makefile.am): New variable
39018         test_rbtreehash_list_LDADD.
39019         * modules/xvasprintf-tests (Makefile.am): New variable
39020         test_xvasprintf_LDADD.
39021         Reported by Eric Blake.
39022
39023 2007-04-03  Eric Blake  <ebb9@byu.net>
39024
39025         * DEPENDENCIES: Weaken m4 requirements.
39026
39027 2007-04-03  Bruno Haible  <bruno@clisp.org>
39028
39029         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
39030         * modules/isnanl-tests (configure.ac): Likewise.
39031
39032 2007-04-03  Ben Pfaff  <blp@gnu.org>
39033
39034         * modules/iconv_open: Add $(srcdir)/ to source directory
39035         references in Makefile fragments that call gperf, to fix VPATH
39036         builds.
39037
39038 2007-04-03  Bruno Haible  <bruno@clisp.org>
39039
39040         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
39041         * lib/ldexpl.c: Undo last change.
39042
39043 2007-04-03  Bruno Haible  <bruno@clisp.org>
39044
39045         * modules/printf-frexpl (Depends-on): Undo last change.
39046         (Files): Add m4/ldexpl.m4.
39047
39048 2007-04-03  Bruno Haible  <bruno@clisp.org>
39049
39050         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
39051         * modules/isnanl (Link): New section.
39052
39053         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
39054         * modules/frexp (Link): New section.
39055
39056         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
39057         * modules/frexpl (Link): New section.
39058
39059         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
39060         * modules/ldexpl (Link): New section.
39061
39062 2007-04-03  Bruno Haible  <bruno@clisp.org>
39063
39064         * modules/TEMPLATE-EXTENDED: New file.
39065         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
39066
39067 2007-04-03  Bruno Haible  <bruno@clisp.org>
39068
39069         * DEPENDENCIES: New file.
39070         Suggested by Simon Josefsson.
39071
39072 2007-04-03  Bruno Haible  <bruno@clisp.org>
39073
39074         * doc/gnulib.texi: Escape @.
39075
39076 2007-04-03  James Youngman  <jay@gnu.org>
39077         and Paul Eggert  <eggert@cs.ucla.edu>
39078
39079         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
39080         birthtime on all systems that have birthtime, not just those which
39081         use st_birthtimensec rather than st_birthtim.  Putting zero in
39082         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
39083         that the birth time is not available for files on an NFS mount.
39084
39085 2007-04-03  Simon Josefsson  <simon@josefsson.org>
39086
39087         * modules/memxor: Move back from crypto/, suggested by Bruno.
39088         * modules/crypto/hmac-sha1: Fix memxor dependency.
39089
39090         * modules/crypto/gc: Moved from ../.
39091
39092 2007-04-02  Eric Blake  <ebb9@byu.net>
39093
39094         * lib/ldexpl.c (includes): Avoid libm.
39095
39096         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
39097
39098 2007-04-02  Bruno Haible  <bruno@clisp.org>
39099
39100         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
39101         on IRIX.
39102
39103 2007-04-02  Bruno Haible  <bruno@clisp.org>
39104
39105         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
39106         x86 or x86_64 platforms running MacOS X.
39107         Reported by Ryan Schmidt <@ryandesign.com>.
39108
39109 2007-04-02  Bruno Haible  <bruno@clisp.org>
39110
39111         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
39112         i386.
39113
39114 2007-04-01  Simon Josefsson  <simon@josefsson.org>
39115
39116         * modules/crypto/arcfour: Moved from ../.
39117         * modules/crypto/arcfour-tests: Moved from ../.
39118         * modules/crypto/arctwo: Moved from ../.
39119         * modules/crypto/arctwo-tests: Moved from ../.
39120         * modules/crypto/des: Moved from ../.
39121         * modules/crypto/des-tests: Moved from ../.
39122         * modules/crypto/gc-arcfour: Moved from ../.
39123         * modules/crypto/gc-arcfour-tests: Moved from ../.
39124         * modules/crypto/gc-arctwo: Moved from ../.
39125         * modules/crypto/gc-arctwo-tests: Moved from ../.
39126         * modules/crypto/gc-des: Moved from ../.
39127         * modules/crypto/gc-des-tests: Moved from ../.
39128         * modules/crypto/gc-hmac-md5: Moved from ../.
39129         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
39130         * modules/crypto/gc-hmac-sha1: Moved from ../.
39131         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
39132         * modules/crypto/gc-md2: Moved from ../.
39133         * modules/crypto/gc-md2-tests: Moved from ../.
39134         * modules/crypto/gc-md4: Moved from ../.
39135         * modules/crypto/gc-md4-tests: Moved from ../.
39136         * modules/crypto/gc-md5: Moved from ../.
39137         * modules/crypto/gc-md5-tests: Moved from ../.
39138         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
39139         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
39140         * modules/crypto/gc-random: Moved from ../.
39141         * modules/crypto/gc-rijndael: Moved from ../.
39142         * modules/crypto/gc-rijndael-tests: Moved from ../.
39143         * modules/crypto/gc-sha1: Moved from ../.
39144         * modules/crypto/gc-sha1-tests: Moved from ../.
39145         * modules/crypto/gc-tests: Moved from ../.
39146         * modules/crypto/hmac-md5: Moved from ../.
39147         * modules/crypto/hmac-md5-tests: Moved from ../.
39148         * modules/crypto/hmac-sha1: Moved from ../.
39149         * modules/crypto/hmac-sha1-tests: Moved from ../.
39150         * modules/crypto/md2: Moved from ../.
39151         * modules/crypto/md2-tests: Moved from ../.
39152         * modules/crypto/md4: Moved from ../.
39153         * modules/crypto/md4-tests: Moved from ../.
39154         * modules/crypto/md5: Moved from ../.
39155         * modules/crypto/md5-tests: Moved from ../.
39156         * modules/crypto/memxor: Moved from ../.
39157         * modules/crypto/rijndael: Moved from ../.
39158         * modules/crypto/rijndael-tests: Moved from ../.
39159         * modules/crypto/sha1: Moved from ../.
39160
39161 2007-03-30  James Youngman  <jay@gnu.org>
39162
39163         * tests/test-stat-time.c (prepare_test): use chmod() rather than
39164         rename() to change the ctime of a file (because ctime is unaffected
39165         by rename on jfs2 on AIX 5.1).
39166         (main): Start by doing cleanup, in case a previous run failed leaving
39167         test files behind.
39168
39169 2007-03-31  Bruno Haible  <bruno@clisp.org>
39170
39171         Support old proprietary implementations of iconv.
39172         * modules/iconv_open: New file.
39173         * lib/iconv_.h: New file.
39174         * m4/iconv_h.m4: New file.
39175         * lib/iconv_open.c: New file.
39176         * lib/iconv_open-aix.gperf: New file.
39177         * lib/iconv_open-hpux.gperf: New file.
39178         * lib/iconv_open-irix.gperf: New file.
39179         * lib/iconv_open-osf.gperf: New file.
39180         * m4/iconv_open.m4: New file.
39181         * modules/linebreak (Depends-on): Add iconv_open.
39182         * modules/striconv (Depends-on): Likewise.
39183         * modules/striconveh (Depends-on): Likewise.
39184         * modules/unicodeio (Depends-on): Likewise.
39185         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
39186         (iconv_t)(-1).
39187         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
39188         conversion if cd is (iconv_t)(-1).
39189         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
39190         is not possible.
39191
39192 2007-03-31  Bruno Haible  <bruno@clisp.org>
39193
39194         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
39195         work on Solaris either. Protect also second use of "autodetect_jp".
39196
39197 2007-03-31  Bruno Haible  <bruno@clisp.org>
39198
39199         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
39200         the function is not present.
39201
39202 2007-03-31  Bruno Haible  <bruno@clisp.org>
39203
39204         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
39205         the function is not present.
39206
39207 2007-03-31  Bruno Haible  <bruno@clisp.org>
39208
39209         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
39210         a bug in HP-UX iconv_open().
39211
39212 2007-03-31  Bruno Haible  <bruno@clisp.org>
39213
39214         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
39215         (Mathematics <math.h>): New section, add fpieee.
39216         (Input/output <stdio.h>): Add fseterr.
39217         (Mathematics <math.h>): New section, add printf-frexp.
39218         (Container data structures): Add sublist.
39219         (Core language properties): Add fpucw, inline.
39220         (Functions for greatest-width integer types <inttypes.h>): Add
39221         imaxabs, imaxdiv, inttypes.
39222         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
39223         isnanl-nolibm, ldexp.
39224         (Mathematics <math.h>): New section, add printf-frexpl.
39225         (Support for systems lacking POSIX:2001): Add fprintf-posix,
39226         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
39227         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
39228         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
39229         (Unicode string functions): Add unistr/u*-mbtoucr.
39230         (Java): Add javacomp-script, javaexec-script.
39231         (C#): Add csharpcomp-script, csharpexec-script.
39232         (Support for building libraries and executables): Add havelib,
39233         relocatable-*.
39234         (Support for maintaining and releasing projects): Renamed from
39235         'Support for maintaining and release projects'. Add announce-gen.
39236
39237 2007-03-31  Bruno Haible  <bruno@clisp.org>
39238
39239         * README: Talk primarily about git.
39240         (git and CVS): Renamed from CVS.
39241         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
39242         gnulib is available through git.
39243         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
39244
39245 2007-03-30  Bruno Haible  <bruno@clisp.org>
39246
39247         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
39248         * lib/poll_.h: Likewise.
39249         * lib/stat_.h: Likewise.
39250         * lib/sys_time_.h: Likewise.
39251         * lib/sysexit_.h: Likewise.
39252         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
39253         * lib/stdbool_.h: Likewise.
39254         * lib/byteswap_.h: Add double-inclusion guard.
39255
39256 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
39257
39258         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
39259
39260 2007-03-30  Karl Berry  <karl@gnu.org>
39261
39262         * config/srclist-update: double space after USA in the license
39263         substitution, since that's how it's usually (?) written.
39264
39265 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39266
39267         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
39268         reported by Bruno Haible.
39269
39270 2007-03-29  Bruno Haible  <bruno@clisp.org>
39271
39272         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
39273         a bug in AIX iconv().
39274
39275 2007-03-29  Bruno Haible  <bruno@clisp.org>
39276
39277         * modules/ldexpl-tests: New file.
39278         * tests/test-ldexpl.c: New file.
39279
39280 2007-03-29  Bruno Haible  <bruno@clisp.org>
39281
39282         * lib/ldexpl.c: Include fpucw.h.
39283         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
39284         multiplication.
39285         * modules/ldexpl (Depends-on): Add fpucw.
39286
39287 2007-03-29  Bruno Haible  <bruno@clisp.org>
39288
39289         * modules/ldexpl: New file.
39290         * m4/ldexpl.m4: New file.
39291         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
39292         set.
39293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
39294         REPLACE_LDEXPL.
39295         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
39296         REPLACE_LDEXPL.
39297         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
39298         gl_FUNC_LDEXPL_WORKS.
39299         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
39300         * modules/mathl (Files): Remove lib/ldexpl.c.
39301         (Depends-on): Add ldexpl.
39302
39303 2007-03-29  Bruno Haible  <bruno@clisp.org>
39304
39305         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
39306
39307 2007-03-29  Bruno Haible  <bruno@clisp.org>
39308
39309         * tests/test-striconveh.c (main): Don't assume that a direct conversion
39310         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
39311         and possibly also HP-UX.
39312         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
39313         work on AIX, IRIX, HP-UX, OSF/1.
39314         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
39315         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39316         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
39317         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39318         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
39319         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39320
39321 2007-03-29  Bruno Haible  <bruno@clisp.org>
39322
39323         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
39324
39325 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
39326
39327         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
39328         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
39329
39330 2007-03-29  Eric Blake  <ebb9@byu.net>
39331
39332         * lib/acl-internal.h: Remove redundant include.
39333         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
39334         Cygwin when a file is locked.
39335
39336 2007-03-29  Bruno Haible  <bruno@clisp.org>
39337
39338         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
39339         file.
39340         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
39341
39342 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
39343
39344         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
39345         try to remove a parent directory if the child couldn't be removed
39346         (except for the first rmdir, which could fail because the child
39347         doesn't exist).  Problem reported by Jeff Blaine in
39348         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
39349
39350 2007-03-28  Bruno Haible  <bruno@clisp.org>
39351
39352         * lib/striconveh.c (utf8conv_carefully): New function.
39353         (mem_cd_iconveh_internal): Invoke it.
39354
39355 2007-03-28  Bruno Haible  <bruno@clisp.org>
39356
39357         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
39358         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
39359         input.
39360         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
39361         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
39362         unistr/u8-uctomb.
39363
39364 2007-03-28  Bruno Haible  <bruno@clisp.org>
39365
39366         * modules/unistr/u8-mbtoucr: New file.
39367         * lib/unistr/u8-mbtoucr.c: New file.
39368         * modules/unistr/u16-mbtoucr: New file.
39369         * lib/unistr/u16-mbtoucr.c: New file.
39370         * modules/unistr/u16-mbtoucr: New file.
39371         * lib/unistr/u16-mbtoucr.c: New file.
39372         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
39373
39374 2007-03-27  Simon Josefsson  <simon@josefsson.org>
39375             Bruno Haible  <bruno@clisp.org>
39376
39377         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
39378         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
39379         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
39380
39381         * m4/stdio_h.m4: Add stubs for vasprintf too.
39382
39383         * modules/stdio: Support vasprintf in sed command.
39384
39385         * modules/vasprintf: Depend on stdio for prototypes.  Remove
39386         vasprintf.h.  Add stdio module indicator.
39387
39388         * lib/stdio_.h: Declare asprintf and vasprintf, based on
39389         vasprintf.h.
39390
39391         * lib/vasprintf.h: File removed.
39392
39393         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
39394         * lib/vasprintf.c: Ditto.
39395         * lib/xvasprintf.c: Ditto.
39396         * tests/test-vasprintf-posix.c: Ditto.
39397         * tests/test-vasprintf.c: Ditto.
39398
39399 2007-03-27  Bruno Haible  <bruno@clisp.org>
39400
39401         Make vasnprintf multithread-safe.
39402         * lib/vasnprintf.c (decimal_point_char): New function.
39403         (VASNPRINTF): Use it.
39404         Suggested by Simon Josefsson.
39405
39406 2007-03-27  Eric Blake  <ebb9@byu.net>
39407
39408         Support sub-second birthtime on cygwin.
39409         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
39410         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
39411         (get_stat_birthtime): Also work with st_birthtim.
39412
39413 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
39414
39415         * lib/stat-time.h (USE_BIRTHTIME): Remove.
39416         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
39417         (get_stat_birthtime_ns): Do not try to use "spare" fields.
39418         (get_stat_birthtime_ns): Simplify compile-time tests.
39419         (get_stat_birthtime): Change the API to look like
39420         get_stat_mtime etc., except return a negative tv_nsec on error.
39421         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
39422         Don't check for "spare" fields.
39423         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
39424         or for struct stat.st_birthtime, as these tests aren't used.
39425         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
39426
39427 2007-03-27  Bruno Haible  <bruno@clisp.org>
39428
39429         * lib/stat-time.h: Include <sys/stat.h>.
39430
39431 2007-03-27  James Youngman  <jay@gnu.org>
39432
39433         * lib/stat-time.h (get_stat_birthtime): New function for
39434           retrieving st_birthtime as provided by UFS2 (hence *BSD).
39435         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
39436           and its variants.
39437         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
39438         * modules/stat-time-test: New file.
39439         * tests/test-stat-time.c: New test, devised by Bruno Haible.
39440
39441 2007-03-26  Bruno Haible  <bruno@clisp.org>
39442
39443         Better support of signalling NaNs.
39444         * lib/atanl.c: Include isnanl.h.
39445         (atanl): Perform test for NaN at the beginning of the function and
39446         through a call to isnanl.
39447         * lib/cosl.c: Include isnanl.h.
39448         (cosl): Perform test for NaN at the beginning of the function and
39449         through a call to isnanl.
39450         * lib/ldexpl.c: Include isnanl.h.
39451         (ldexpl): Perform test for NaN through a call to isnanl.
39452         * lib/logl.c: Include isnanl.h.
39453         (logl): Perform test for NaN at the beginning of the function and
39454         through a call to isnanl.
39455         * lib/sinl.c: Include isnanl.h.
39456         (sinl): Perform test for NaN at the beginning of the function and
39457         through a call to isnanl.
39458         * lib/sqrtl.c: Include isnanl.h.
39459         (sqrtl): Perform test for NaN at the beginning of the function and
39460         through a call to isnanl.
39461         * lib/tanl.c: Include isnanl.h.
39462         (tanl): Perform test for NaN at the beginning of the function and
39463         through a call to isnanl.
39464         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
39465         * modules/mathl (Depends-on): Add isnanl.
39466
39467 2007-03-26  Eric Blake  <ebb9@byu.net>
39468
39469         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
39470         regression in logic sense of previous patch.
39471
39472 2007-03-26  Bruno Haible  <bruno@clisp.org>
39473
39474         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
39475         unportable shell command "if ! ...".
39476         Reported by Ralf Wildenhues.
39477
39478 2007-03-25  Bruno Haible  <bruno@clisp.org>
39479
39480         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
39481         <sysexits.h> file, and only add EX_CONFIG.
39482         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
39483         absolute file name and whether it is sufficient. Substitute also
39484         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
39485         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
39486         ABSOLUTE_SYSEXITS_H into sysexits.h.
39487
39488 2007-03-25  Bruno Haible  <bruno@clisp.org>
39489
39490         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
39491         hints is NULL.
39492
39493 2007-03-25  Bruno Haible  <bruno@clisp.org>
39494
39495         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
39496         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
39497
39498 2007-03-25  Bruno Haible  <bruno@clisp.org>
39499
39500         * lib/vasnprintf.c: Include langinfo.h.
39501         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
39502         multithread-safe.
39503         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
39504         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
39505         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39506         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39507         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39508         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39509         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39510         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
39511         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39512         Reported by Simon Josefsson.
39513
39514 2007-03-25  Bruno Haible  <bruno@clisp.org>
39515
39516         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
39517         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
39518         * modules/vasnprintf (Depends-on): Add stdint.
39519
39520 2007-03-25  Bruno Haible  <bruno@clisp.org>
39521
39522         * modules/fpieee: New file.
39523         * m4/fpieee.m4: New file.
39524         * modules/isnan-nolibm (Depends-on): Add fpieee.
39525         * modules/isnanl-nolibm (Depends-on): Add fpieee.
39526         * modules/isnanl (Depends-on): Add fpieee.
39527
39528 2007-03-25  Bruno Haible  <bruno@clisp.org>
39529
39530         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
39531
39532 2007-03-25  Bruno Haible  <bruno@clisp.org>
39533
39534         Avoid test failures on IRIX 6.5.
39535         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
39536         (main): Use it.
39537         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
39538         macros.
39539         (main): Use them.
39540
39541 2007-03-25  Bruno Haible  <bruno@clisp.org>
39542
39543         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
39544         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
39545         exists but doesn't work.
39546         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
39547         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
39548         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
39549         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
39550
39551 2007-03-25  Bruno Haible  <bruno@clisp.org>
39552
39553         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
39554         returns inf. Needed on IRIX 6.5.
39555
39556 2007-03-25  Bruno Haible  <bruno@clisp.org>
39557
39558         * tests/test-frexpl.c: Include isnanl-nolibm.h.
39559         (main): Use isnanl instead of x != x idiom.
39560         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
39561
39562         * tests/test-frexp.c: Include isnan.h.
39563         (main): Use isnan instead of x != x idiom.
39564         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
39565
39566 2007-03-25  Bruno Haible  <bruno@clisp.org>
39567
39568         * tests/test-frexp.c (NaN): New function/macro.
39569         (main): Use it instead of 0.0 / 0.0.
39570         * tests/test-isnan.c (NaN): New function/macro.
39571         (main): Use it instead of 0.0 / 0.0.
39572         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
39573         (test_function): Use it instead of 0.0 / 0.0.
39574         * tests/test-vasprintf-posix.c (NaN): New function/macro.
39575         (test_function): Use it instead of 0.0 / 0.0.
39576         * tests/test-snprintf-posix.h (NaN): New function/macro.
39577         (test_function): Use it instead of 0.0 / 0.0.
39578         * tests/test-sprintf-posix.h (NaN): New function/macro.
39579         (test_function): Use it instead of 0.0 / 0.0.
39580         * tests/test-fprintf-posix.h (NaN): New function/macro.
39581         (test_function): Use it instead of 0.0 / 0.0.
39582         * tests/test-printf-posix.h (NaN): New function/macro.
39583         (test_function): Use it instead of 0.0 / 0.0.
39584
39585         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
39586
39587 2007-03-25  Bruno Haible  <bruno@clisp.org>
39588
39589         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
39590
39591 2007-03-25  Bruno Haible  <bruno@clisp.org>
39592
39593         * lib/regexec.c (merge_state_with_log): Make static.
39594
39595 2007-03-25  Bruno Haible  <bruno@clisp.org>
39596
39597         * lib/trigl.c (kernel_rem_pio2): Make static.
39598
39599 2007-03-25  Bruno Haible  <bruno@clisp.org>
39600
39601         * lib/sincosl.c (sincosl_table): Make static.
39602
39603 2007-03-25  Bruno Haible  <bruno@clisp.org>
39604
39605         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
39606         if the compiler does not support C99.
39607
39608 2007-03-25  Bruno Haible  <bruno@clisp.org>
39609
39610         * modules/time (Makefile.am): Ensure all rule action lines start with a
39611         tab.
39612
39613 2007-03-24  Bruno Haible  <bruno@clisp.org>
39614
39615         * modules/tsearch-tests: New file.
39616         * tests/test-tsearch.sh: New file.
39617         * tests/test-tsearch.c: New file, mostly copied from glibc.
39618
39619         * modules/search-tests: New file.
39620         * tests/test-search.c: New file.
39621
39622         * modules/search: New file.
39623         * lib/search_.h: New file, incorporating lib/tsearch.h.
39624         * m4/search_h.m4: New file.
39625         * lib/tsearch.h: Remove file.
39626         * lib/tsearch.c: Include search.h instead of tsearch.h.
39627         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
39628         HAVE_TSEARCH.
39629         * modules/tsearch (Files): Remove lib/tsearch.h.
39630         (Depends-on): Add search.
39631         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
39632         (Include): Change tsearch.h into search.h.
39633
39634 2007-03-24  Bruno Haible  <bruno@clisp.org>
39635
39636         * modules/fpucw: New file.
39637         * lib/fpucw.h: New file.
39638         * lib/frexp.c: Include fpucw.h.
39639         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
39640         (FUNC): Use them.
39641         * lib/printf-frexp.c: Include fpucw.h.
39642         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
39643         (FUNC): Use them.
39644         * lib/vasnprintf.c: Include fpucw.h.
39645         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
39646         'long double' calculations.
39647         * tests/test-frexpl.c: Include fpucw.h.
39648         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
39649         * tests/test-printf-frexpl.c: Include fpucw.h.
39650         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
39651         * modules/frexpl (Depends-on): Add fpucw.
39652         * modules/printf-frexpl (Depends-on): Likewise.
39653         * modules/fprintf-posix (Depends-on): Likewise.
39654         * modules/snprintf-posix (Depends-on): Likewise.
39655         * modules/sprintf-posix (Depends-on): Likewise.
39656         * modules/vasnprintf-posix (Depends-on): Likewise.
39657         * modules/vasprintf-posix (Depends-on): Likewise.
39658         * modules/vfprintf-posix (Depends-on): Likewise.
39659         * modules/vsnprintf-posix (Depends-on): Likewise.
39660         * modules/vsprintf-posix (Depends-on): Likewise.
39661         * modules/frexpl-tests (Depends-on): Likewise.
39662         * modules/printf-frexpl-tests (Depends-on): Likewise.
39663
39664 2007-03-24  Bruno Haible  <bruno@clisp.org>
39665
39666         * lib/float+.h: New file.
39667         * lib/isnan.c: Include float+.h.
39668         (SIZE): New macro.
39669         (FUNC): Compare only SIZE bytes of the value.
39670         * lib/vasnprintf.c: Include float+.h.
39671         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
39672         SIZEOF_LDBL or SIZEOF_DBL bytes.
39673         * modules/isnan-nolibm (Files): Add lib/float+.h.
39674         * modules/isnanl-nolibm (Files): Add lib/float+.h.
39675         * modules/isnanl (Files): Add lib/float+.h.
39676         * modules/vasnprintf (Files): Add lib/float+.h.
39677
39678 2007-03-24  Bruno Haible  <bruno@clisp.org>
39679
39680         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
39681         include isnanl-nolibm.h.
39682
39683 2007-03-24  Bruno Haible  <bruno@clisp.org>
39684
39685         * tests/test-read-file.c (main): Don't produce spurious output for
39686         expected situations. Make the test fail if it encountered unexpected
39687         results.
39688
39689 2007-03-24  Bruno Haible  <bruno@clisp.org>
39690
39691         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
39692         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
39693
39694 2007-03-24  Bruno Haible  <bruno@clisp.org>
39695
39696         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
39697
39698 2007-03-24  Bruno Haible  <bruno@clisp.org>
39699
39700         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
39701         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
39702
39703         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
39704         * modules/utf8-ucs4: Turn into a symbolic link to module
39705         unistr/u8-mbtouc.
39706
39707         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
39708         utf8-ucs4-unsafe.
39709         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
39710         unistr/u8-mbtouc-unsafe.
39711
39712         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
39713         * modules/utf16-ucs4: Turn into a symbolic link to module
39714         unistr/u16-mbtouc.
39715
39716         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
39717         utf16-ucs4-unsafe.
39718         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
39719         unistr/u16-mbtouc-unsafe.
39720
39721         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
39722         * modules/ucs4-utf8: Turn into a symbolic link to module
39723         unistr/u8-ubtomb.
39724
39725         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
39726         * modules/ucs4-utf16: Turn into a symbolic link to module
39727         unistr/u16-ubtomb.
39728
39729 2007-03-24  Bruno Haible  <bruno@clisp.org>
39730
39731         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
39732         Enable the function only if HAVE_INLINE.
39733         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
39734         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
39735         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
39736         Enable the function only if HAVE_INLINE.
39737         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
39738         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
39739         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
39740         Enable the function only if HAVE_INLINE.
39741         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
39742         Enable the function only if HAVE_INLINE.
39743         * modules/utf8-ucs4: Update.
39744         * modules/utf8-ucs4-unsafe: Update.
39745         * modules/utf16-ucs4: Update.
39746         * modules/utf16-ucs4-unsafe: Update.
39747         * modules/ucs4-utf8: Update.
39748         * modules/ucs4-utf16: Update.
39749
39750 2007-03-24  Bruno Haible  <bruno@clisp.org>
39751
39752         * lib/utf8-ucs4.h: Remove file.
39753         * lib/utf8-ucs4-unsafe.h: Remove file.
39754         * lib/utf16-ucs4.h: Remove file.
39755         * lib/utf16-ucs4-unsafe.h: Remove file.
39756         * lib/ucs4-utf8.h: Remove file.
39757         * lib/ucs4-utf16.h: Remove file.
39758         * lib/unistr.h: Include their previous contents.
39759         * m4/utf-ucs4.m4: Remove file.
39760         * m4/ucs4-utf.m4: Remove file.
39761         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
39762         (Depends-on): Add unistr/base.
39763         (configure.ac): Remove gl_UTF_UCS4.
39764         (Makefile.am): Update.
39765         (Include): Change to unistr.h.
39766         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
39767         (Depends-on): Add unistr/base.
39768         (configure.ac): Remove gl_UTF_UCS4.
39769         (Makefile.am): Update.
39770         (Include): Change to unistr.h.
39771         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
39772         (Depends-on): Add unistr/base.
39773         (configure.ac): Remove gl_UTF_UCS4.
39774         (Makefile.am): Update.
39775         (Include): Change to unistr.h.
39776         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
39777         (Depends-on): Add unistr/base.
39778         (configure.ac): Remove gl_UTF_UCS4.
39779         (Makefile.am): Update.
39780         (Include): Change to unistr.h.
39781         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
39782         (Depends-on): Add unistr/base.
39783         (configure.ac): Remove gl_UCS4_UTF.
39784         (Makefile.am): Update.
39785         (Include): Change to unistr.h.
39786         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
39787         (Depends-on): Add unistr/base.
39788         (configure.ac): Remove gl_UCS4_UTF.
39789         (Makefile.am): Update.
39790         (Include): Change to unistr.h.
39791         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
39792         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
39793         utf8-ucs4-unsafe.h.
39794         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
39795         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
39796         utf16-ucs4-unsafe.h.
39797         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
39798         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
39799         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
39800         * lib/unistr/u8-strchr.c: Likewise.
39801         * lib/unistr/u8-strrchr.c: Likewise.
39802         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
39803         * lib/unistr/u16-strchr.c: Likewise.
39804         * lib/unistr/u16-strrchr.c: Likewise.
39805         * lib/striconveh.c: Update.
39806         * lib/linebreak.c: Update.
39807
39808 2007-03-24  Bruno Haible  <bruno@clisp.org>
39809
39810         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
39811         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
39812
39813 2007-03-22  Bruno Haible  <bruno@clisp.org>
39814
39815         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
39816
39817 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
39818
39819         * MODULES.html.sh (File system functions): New module write-any-file.
39820         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
39821         * m4/write-any-file.m4: New files.
39822
39823 2007-03-23  Eric Blake  <ebb9@byu.net>
39824
39825         * gnulib-tool: Rearrange space-tab sequences, since some editors
39826         like to eat them.
39827
39828 2007-03-23  Eric Blake  <ebb9@byu.net>
39829
39830         * lib/version-etc.c (version_etc_va): Update license wording to
39831         be more concise.  Recommended by Richard Stallman.
39832
39833 2007-03-22  Bruno Haible  <bruno@clisp.org>
39834
39835         * lib/poll.c (MSG_PEEK): New fallback definition.
39836
39837 2007-03-22  Bruno Haible  <bruno@clisp.org>
39838
39839         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
39840         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
39841         (main): Update.
39842         Fixes a compilation error on BeOS.
39843
39844 2007-03-22  Bruno Haible  <bruno@clisp.org>
39845
39846         * modules/frexpl-tests: New file.
39847         * tests/test-frexpl.c: New file.
39848
39849         * modules/frexpl: New file.
39850         * m4/frexpl.m4: New file.
39851         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
39852         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
39853         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
39854         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
39855         (Depends-on): Add frexpl. Remove isnanl-nolibm.
39856         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
39857
39858 2007-03-22  Bruno Haible  <bruno@clisp.org>
39859
39860         * lib/frexpl.c: Share code with lib/frexp.c.
39861         * modules/mathl (Files): Add lib/frexp.c.
39862         (Depends-on): Add isnanl-nolibm.
39863
39864 2007-03-22  Bruno Haible  <bruno@clisp.org>
39865
39866         * modules/printf-frexp (Files): Add m4/frexp.m4.
39867         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
39868         only if the found frexp function actually works.
39869
39870 2007-03-22  Bruno Haible  <bruno@clisp.org>
39871
39872         * lib/frexp.c: Remove older implementation that uses divisions.
39873
39874 2007-03-21  Bruno Haible  <bruno@clisp.org>
39875
39876         * modules/frexp-tests: New file.
39877         * tests/test-frexp.c: New file.
39878
39879         * modules/frexp: New file.
39880         * lib/frexp.c: New file.
39881         * m4/frexp.m4: New file.
39882         * lib/math_.h (frexp): New declaration.
39883         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
39884         REPLACE_FREXP.
39885         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
39886
39887 2007-03-21  Bruno Haible  <bruno@clisp.org>
39888
39889         * modules/isnanl-tests: New file.
39890         * tests/test-isnanl.c: New file.
39891
39892         * modules/isnanl: New file.
39893         * lib/isnanl.h: New file.
39894         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
39895         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
39896         gl_FUNC_ISNANL_WORKS.
39897         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
39898         New macros.
39899
39900 2007-03-21  Bruno Haible  <bruno@clisp.org>
39901
39902         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
39903         lib/isnanl.h.
39904         (Include): Update.
39905         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
39906         * lib/vasnprintf.c: Update.
39907         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
39908         tests/test-isnanl.h, remove tests/test-isnanl.c.
39909         (Makefile.am): Update.
39910         * tests/test-isnanl-nolibm.c: New file.
39911         * tests/test-isnanl.h: New file.
39912         * tests/test-isnanl.c: Remove file.
39913
39914 2007-03-21  Jim Meyering  <jim@meyering.net>
39915
39916         When trying to open ".", treat ESTALE like EACCES.
39917         * lib/savewd.c (savewd_save): Resort to forking not just upon
39918         failure with EACCES, but also when errno is ESTALE.
39919
39920 2007-03-20  Bruno Haible  <bruno@clisp.org>
39921
39922         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
39923         Needed on AIX 5.1. Reported by Matthew Woehlke.
39924
39925 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39926
39927         Suggestions by Bruno Haible:
39928         * lib/acl-internal.h: Include "gettext.h" rather than rolling
39929         our own.
39930         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
39931         * modules/acl (Depends-on): Add gettext.
39932
39933 2007-03-19  Bruno Haible  <bruno@clisp.org>
39934
39935         * modules/iconvme: Remove file.
39936         * lib/iconvme.h: Remove file.
39937         * lib/iconvme.c: Remove file.
39938         * m4/iconvme.m4: Remove file.
39939
39940 2007-03-19  Bruno Haible  <bruno@clisp.org>
39941
39942         * doc/relocatable-maint.texi: Break long shell script line.
39943         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
39944
39945 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39946
39947         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
39948         handle file_has_acl.
39949         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
39950         * lib/acl.c: Move header inclusions and related macro defns into
39951         lib/acl-internal.h.
39952         (S_ISLNK): Remove defn, since that's now done for us.
39953         (file_has_acl): Move to lib/file-has-acl.c.
39954         Call acl_trivial if available.  This is the crucial part of the fix.
39955         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
39956         shared within the library.  Rewrite a bit, partly to make it compatible
39957         with the GNU coding style.
39958         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
39959         Remove unnecessary double-quotes.
39960         Don't test for acl_to_text; the build will catch that.
39961         Replace acl_entries if it doesn't exist and it is needed.
39962         Check for -lsec and acl_trivial (as used on Solaris 10).
39963         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
39964         lib/file-has-acl.c.
39965         (Depends-on): Add sys_stat, for S_ISLNK.
39966
39967 2007-03-19  Ben Pfaff  <blp@gnu.org>
39968
39969         * doc/gnulib.texi: Fix typos.
39970         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
39971
39972 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39973
39974         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
39975         If size is zero here, buf must be zero.
39976
39977 2007-03-19  Simon Josefsson  <simon@josefsson.org>
39978
39979         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
39980         <bruno@clisp.org>.
39981
39982 2007-03-18  Bruno Haible  <bruno@clisp.org>
39983
39984         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
39985         Suggested by Eric Blake.
39986
39987 2007-03-18  Ben Pfaff  <blp@gnu.org>
39988
39989         * doc/relocatable.texi: Recommend using as prefix a directory
39990         that does not exist and will never be created.  Based on
39991         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
39992         and others.
39993
39994 2007-03-17  Bruno Haible  <bruno@clisp.org>
39995
39996         * lib/fchownat.c: Include lchown.h.
39997
39998 2007-03-17  Bruno Haible  <bruno@clisp.org>
39999
40000         Fix endless loop when the given allocated size was > INT_MAX.
40001         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
40002         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
40003         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
40004         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
40005         * lib/sprintf.c (sprintf): Likewise.
40006
40007 2007-03-17  Bruno Haible  <bruno@clisp.org>
40008
40009         * tests/test-argp-2.sh (func_compare): Output a context diff.
40010
40011 2007-03-17  Bruno Haible  <bruno@clisp.org>
40012
40013         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
40014         locale's decimal-point character.
40015
40016 2007-03-17  Bruno Haible  <bruno@clisp.org>
40017
40018         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
40019         before comparing it. Needed because on some platforms (e.g. x86) a
40020         'long double' occupies less bytes than sizeof (long double).
40021
40022 2007-03-17  Bruno Haible  <bruno@clisp.org>
40023
40024         * tests/test-crc.c (main): Make printf statements 64-bit clean.
40025         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
40026         * tests/test-getaddrinfo.c (simple): Likewise.
40027         * tests/test-read-file.c (main): Likewise.
40028
40029 2007-03-17  Bruno Haible  <bruno@clisp.org>
40030
40031         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
40032
40033 2007-03-17  Bruno Haible  <bruno@clisp.org>
40034
40035         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
40036         unused variable.
40037
40038 2007-03-17  Bruno Haible  <bruno@clisp.org>
40039
40040         * tests/test-c-strcasecmp.c: Include c-strcase.h.
40041         * tests/test-c-strncasecmp.c: Likewise.
40042
40043 2007-03-17  Bruno Haible  <bruno@clisp.org>
40044
40045         * modules/stdlib (Depends-on): Add unistd.
40046         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
40047         Needed for MacOS X 10.3.
40048
40049 2007-03-17  Bruno Haible  <bruno@clisp.org>
40050
40051         * lib/unistr/u-strdup.h: Include <stdlib.h>.
40052
40053 2007-03-17  Bruno Haible  <bruno@clisp.org>
40054
40055         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
40056
40057 2007-03-17  Bruno Haible  <bruno@clisp.org>
40058
40059         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
40060         to reflect files copied from gnulib (with or without modifications).
40061         Suggested by Jim Meyering.
40062
40063 2007-03-17  Eric Blake  <ebb9@byu.net>
40064
40065         * NEWS: Document stdlib change from 2007-02-18.
40066
40067 2007-03-17  Jim Meyering  <jim@meyering.net>
40068
40069         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
40070         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
40071         someone uses a name containing shell meta-characters.
40072         Reported by Alfred M. Szmidt.
40073
40074         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
40075
40076 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
40077
40078         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
40079         and copy gettext configuration files only if configure.ac contains
40080         a use of AM_GNU_GETTEXT_VERSION.
40081
40082 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
40083
40084         * build-aux/bootstrap (gnulib_name): New variable.
40085         (gnulib_tool_options): Use it.
40086
40087 2007-03-13  Simon Josefsson  <simon@josefsson.org>
40088
40089         * tests/test-des.c: Use new namespace.
40090
40091 2007-03-15  Bruno Haible  <bruno@clisp.org>
40092
40093         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
40094         Reported by James Youngman <jay@gnu.org>.
40095
40096 2007-03-15  Bruno Haible  <bruno@clisp.org>
40097
40098         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
40099         declared prototype. Needed with cc on OSF/1 5.1.
40100
40101 2007-03-15  Bruno Haible  <bruno@clisp.org>
40102
40103         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
40104         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
40105         (struct gl_list_implementation): Add dispose_fn argument to the
40106         'create_empty', 'create' methods.
40107         (struct gl_list_impl_base): Add field 'dispose_fn'.
40108         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
40109         argument.
40110         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
40111         dispose_fn argument.
40112         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
40113         dispose_fn on the dropped values.
40114         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
40115         dispose_fn argument.
40116         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
40117         dropped values.
40118         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
40119         (gl_tree_remove_node): Call dispose_fn on the dropped value.
40120         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
40121         (gl_tree_remove_node): Call dispose_fn on the dropped value.
40122         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
40123         argument.
40124         (gl_tree_list_free): Call dispose_fn on the dropped values.
40125         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
40126         the dropped values.
40127         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
40128         Add dispose_fn argument.
40129         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
40130         Call dispose_fn on the dropped values.
40131         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
40132         Add dispose_fn argument.
40133         (gl_sublist_create): Initialize the 'dispose_fn' field.
40134         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
40135         * tests/test-array_list.c (main): Update.
40136         * tests/test-carray_list.c (main): Update.
40137         * tests/test-avltree_list.c (main): Update.
40138         * tests/test-rbtree_list.c (main): Update.
40139         * tests/test-avltreehash_list.c (main): Update.
40140         * tests/test-rbtreehash_list.c (main): Update.
40141         * tests/test-linked_list.c (main): Update.
40142         * tests/test-linkedhash_list.c (main): Update.
40143         * tests/test-array_oset.c (main): Update.
40144
40145 2007-03-15  Bruno Haible  <bruno@clisp.org>
40146
40147         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
40148         (gl_oset_create_empty): Add dispose_fn argument.
40149         (struct gl_oset_implementation): Add dispose_fn argument to
40150         'create_empty' method.
40151         (struct gl_oset_impl_base): Add dispose_fn field.
40152         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
40153         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
40154         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
40155         values.
40156         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
40157         (gl_tree_oset_free): Call dispose_fn on the dropped values.
40158         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
40159         dropped value.
40160         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
40161         dropped value.
40162         * tests/test-array_oset.c (main): Update.
40163         * tests/test-avltree_oset.c (main): Update.
40164         * tests/test-rbtree_oset.c (main): Update.
40165         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
40166
40167 2007-03-13  Bruno Haible  <bruno@clisp.org>
40168
40169         * tests/test-stdbool.c (i): Update after last patch.
40170
40171 2007-03-12  Bruno Haible  <bruno@clisp.org>
40172
40173         * lib/quotearg.c: Include <wctype.h> early, before the definition of
40174         the iswprint macro. Needed on Solaris 2.5.1.
40175
40176 2007-03-12  Bruno Haible  <bruno@clisp.org>
40177
40178         * tests/test-printf-frexp.c (main): Declare x as volatile.
40179
40180 2007-03-12  Simon Josefsson  <simon@josefsson.org>
40181
40182         * doc/gnulib.texi (Build robot for gnulib): New section.
40183
40184 2007-03-12  Jim Meyering  <jim@meyering.net>
40185
40186         * build-aux/bootstrap: New file.
40187         * build-aux/bootstrap.conf: New file, from coreutils.
40188
40189 2007-03-11  Bruno Haible  <bruno@clisp.org>
40190
40191         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
40192
40193 2007-03-12  Simon Josefsson  <simon@josefsson.org>
40194
40195         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
40196         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
40197         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
40198
40199 2007-03-11  Bruno Haible  <bruno@clisp.org>
40200
40201         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
40202         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
40203
40204 2007-03-11  Bruno Haible  <bruno@clisp.org>
40205
40206         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
40207         formula. Needed for SunPRO C 5.0.
40208
40209 2007-03-11  Bruno Haible  <bruno@clisp.org>
40210
40211         * modules/long-options (Depends-on): Add getopt.
40212
40213 2007-03-11  Bruno Haible  <bruno@clisp.org>
40214
40215         * modules/modechange (Depends-on): Add stdbool.
40216
40217 2007-03-11  Bruno Haible  <bruno@clisp.org>
40218
40219         * modules/i-ring (Depends-on): Add stdbool.
40220
40221 2007-03-11  Bruno Haible  <bruno@clisp.org>
40222
40223         * modules/gc-des (Depends-on): Add stdbool.
40224
40225 2007-03-11  Bruno Haible  <bruno@clisp.org>
40226
40227         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
40228
40229 2007-03-11  Bruno Haible  <bruno@clisp.org>
40230
40231         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
40232
40233 2007-03-11  Bruno Haible  <bruno@clisp.org>
40234
40235         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
40236
40237 2007-03-11  Bruno Haible  <bruno@clisp.org>
40238
40239         * lib/vasnprintf.c (sprintf): Undefine.
40240
40241 2007-03-11  Bruno Haible  <bruno@clisp.org>
40242
40243         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
40244         initializers in SunPRO C and Compaq C compilers.
40245
40246 2007-03-11  Bruno Haible  <bruno@clisp.org>
40247
40248         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
40249         decrementing code ANSI C compliant.
40250
40251 2007-03-11  Bruno Haible  <bruno@clisp.org>
40252
40253         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
40254         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
40255
40256 2007-03-11  Bruno Haible  <bruno@clisp.org>
40257
40258         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
40259         <stdbool.h> substitute doesn't pass.
40260
40261 2007-03-11  Bruno Haible  <bruno@clisp.org>
40262
40263         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
40264
40265 2007-03-11  Bruno Haible  <bruno@clisp.org>
40266
40267         * gnulib-tool (func_create_megatestdir): Create also an autobuild
40268         script, for submission to autobuild.josefsson.org.
40269
40270 2007-03-10  Bruno Haible  <bruno@clisp.org>
40271
40272         * modules/canonicalize-lgpl-tests: New file.
40273         * tests/test-canonicalize-lgpl.sh: New file.
40274         * tests/test-canonicalize-lgpl.c: New file.
40275
40276         * modules/c-strcase-tests: New file.
40277         * tests/test-c-strcase.sh: New file.
40278         * tests/test-c-strcasecmp.c: New file.
40279         * tests/test-c-strncasecmp.c: New file.
40280
40281         * modules/atexit-tests: New file.
40282         * tests/test-atexit.sh: New file.
40283         * tests/test-atexit.c: New file.
40284
40285 2007-03-10  Bruno Haible  <bruno@clisp.org>
40286
40287         * tests/test-binary-io.sh: Use temporary filenames that are not so
40288         likely to clash with those of other tests (in a parallel make).
40289         * tests/test-binary-io.c: Likewise.
40290
40291 2007-03-10  Bruno Haible  <bruno@clisp.org>
40292
40293         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
40294         fallback; use #error instead.
40295         Suggested by Simon Josefsson.
40296
40297 2007-03-10  Bruno Haible  <bruno@clisp.org>
40298
40299         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
40300         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
40301         first and the last.
40302
40303 2007-03-10  Bruno Haible  <bruno@clisp.org>
40304
40305         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
40306
40307 2007-03-10  Bruno Haible  <bruno@clisp.org>
40308
40309         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
40310         "make distcheck".
40311         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
40312         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
40313         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
40314
40315 2007-03-10  Bruno Haible  <bruno@clisp.org>
40316
40317         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
40318         variable.
40319         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
40320         variable.
40321
40322 2007-03-09  Eric Blake  <ebb9@byu.net>
40323         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
40324
40325         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
40326         types are not being provided by gnulib.
40327         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
40328         types are supported.
40329
40330 2007-03-10  Bruno Haible  <bruno@clisp.org>
40331
40332         * lib/stdio_.h (__attribute__): New macro.
40333         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
40334         vsprintf): Specify __attribute__ __format__ for GCC.
40335         Suggested by Eric Blake.
40336
40337 2007-03-09  Bruno Haible  <bruno@clisp.org>
40338
40339         * modules/printf-posix-tests: New file.
40340         * tests/test-printf-posix.sh: New file.
40341         * tests/test-printf-posix.c: New file.
40342
40343         * modules/printf-posix: New file.
40344         * lib/printf.c: New file.
40345         * m4/printf-posix-rpl.m4: New file.
40346         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
40347         REPLACE_PRINTF.
40348         * lib/stdio_.h (printf): New declaration.
40349         (format, __format__, ____printf____, ____scanf____, ____strftime____,
40350         ____strfmon____): New macros.
40351         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
40352         REPLACE_PRINTF.
40353
40354 2007-03-09  Bruno Haible  <bruno@clisp.org>
40355
40356         * tests/test-vasnprintf-posix2.sh: New file.
40357         * tests/test-vasnprintf-posix2.c: New file.
40358         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
40359         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
40360         (Makefile.am): Activate test-vasnprintf-posix2.sh.
40361
40362         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
40363         a locale dependent decimal point, rather than always '.'.
40364
40365 2007-03-09  Eric Blake  <ebb9@byu.net>
40366
40367         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
40368         spite of platforms like Tandem/NSK that define it to -1.
40369
40370 2007-03-08  Bruno Haible  <bruno@clisp.org>
40371
40372         * modules/vprintf-posix-tests: New file.
40373         * tests/test-vprintf-posix.sh: New file.
40374         * tests/test-vprintf-posix.c: New file.
40375         * tests/test-printf-posix.h: New file.
40376
40377         * modules/vprintf-posix: New file.
40378         * lib/vprintf.c: New file.
40379         * m4/vprintf-posix.m4: New file.
40380         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
40381         REPLACE_VPRINTF.
40382         * lib/stdio_.h (vprintf): New declaration.
40383         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
40384         REPLACE_VPRINTF.
40385
40386 2007-03-08  Bruno Haible  <bruno@clisp.org>
40387
40388         * modules/fprintf-posix-tests: New file.
40389         * tests/test-fprintf-posix.sh: New file.
40390         * tests/test-fprintf-posix.c: New file.
40391
40392         * modules/fprintf-posix: New file.
40393         * lib/fprintf.c: New file.
40394         * m4/fprintf-posix.m4: New file.
40395         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
40396         REPLACE_FPRINTF.
40397         * lib/stdio_.h (fprintf): New declaration.
40398         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
40399         REPLACE_FPRINTF.
40400
40401 2007-03-08  Bruno Haible  <bruno@clisp.org>
40402
40403         * modules/vfprintf-posix-tests: New file.
40404         * tests/test-vfprintf-posix.sh: New file.
40405         * tests/test-vfprintf-posix.c: New file.
40406         * tests/test-fprintf-posix.h: New file.
40407         * tests/test-fprintf-posix.out: New file.
40408
40409         * modules/vfprintf-posix: New file.
40410         * lib/vfprintf.c: New file.
40411         * m4/vfprintf-posix.m4: New file.
40412         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
40413         REPLACE_VFPRINTF.
40414         * lib/stdio_.h (vfprintf): New declaration.
40415         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
40416         REPLACE_VFPRINTF.
40417
40418 2007-03-08  Bruno Haible  <bruno@clisp.org>
40419
40420         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
40421
40422 2007-03-08  Bruno Haible  <bruno@clisp.org>
40423
40424         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
40425         instead of 'expr' invocations.
40426         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40427         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40428         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40429         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40430         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40431         Suggested by Paul Eggert.
40432
40433 2007-03-08  Bruno Haible  <bruno@clisp.org>
40434
40435         * modules/fseterr-tests: New file.
40436         * tests/test-fseterr.c: New file.
40437
40438         * modules/fseterr: New file.
40439         * lib/fseterr.h: New file.
40440         * lib/fseterr.c: New file.
40441
40442 2007-03-08  Bruno Haible  <bruno@clisp.org>
40443
40444         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
40445         * lib/getopt_.h: Likewise.
40446         * lib/mbswidth.h: Likewise.
40447         * lib/setenv.h: Likewise.
40448         * lib/vasnprintf.h: Likewise.
40449         * lib/vasprintf.h: Likewise.
40450         * lib/verror.h: Likewise.
40451         * lib/xsetenv.h: Likewise.
40452         * lib/xvasprintf.h: Likewise.
40453
40454 2007-03-08  Jim Meyering  <jim@meyering.net>
40455
40456         * users.txt: Add parted.
40457
40458         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
40459
40460 2007-03-07  Bruno Haible  <bruno@clisp.org>
40461
40462         * m4/printf.m4: Make the shell script snippets copy&pastable.
40463
40464 2007-03-02  Bruno Haible  <bruno@clisp.org>
40465
40466         * lib/netinet_in_.h: New file.
40467         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
40468         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
40469         * modules/netinet_in (Files): Add lib/netinet_in_.h.
40470         (Depends-on): Add absolute-header.
40471         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
40472         into netinet/in.h.
40473
40474 2007-03-03  Bruno Haible  <bruno@clisp.org>
40475
40476         * lib/sys_select_.h: New file.
40477         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
40478         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
40479         * modules/sys_select (Files): Add lib/sys_select_.h.
40480         (Depends-on): Add absolute-header.
40481         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
40482         into sys/select.h.
40483
40484 2007-03-02  Bruno Haible  <bruno@clisp.org>
40485
40486         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
40487         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
40488         values.
40489         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
40490         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
40491         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
40492         * modules/sys_socket (Depends-on): Add absolute-header.
40493         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
40494         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
40495         (Include): Remove requirement of inclusion of <sys/types.h>.
40496
40497 2007-03-02  Bruno Haible  <bruno@clisp.org>
40498
40499         * lib/byteswap_.h (bswap_32): Fix formula.
40500
40501 2007-03-06  Bruno Haible  <bruno@clisp.org>
40502
40503         * modules/sprintf-posix-tests: New file.
40504         * tests/test-sprintf-posix.c: New file.
40505
40506         * modules/sprintf-posix: New file.
40507         * lib/sprintf.c: New file.
40508         * m4/sprintf-posix.m4: New file.
40509         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
40510         REPLACE_SPRINTF.
40511         * lib/stdio_.h (sprintf): New declaration.
40512         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
40513         REPLACE_SPRINTF.
40514
40515 2007-03-06  Bruno Haible  <bruno@clisp.org>
40516
40517         * modules/vsprintf-posix-tests: New file.
40518         * tests/test-vsprintf-posix.c: New file.
40519         * tests/test-sprintf-posix.h: New file.
40520
40521         * modules/vsprintf-posix: New file.
40522         * lib/vsprintf.c: New file.
40523         * m4/vsprintf-posix.m4: New file.
40524         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
40525         REPLACE_VSPRINTF.
40526         * lib/stdio_.h (vsprintf): New declaration.
40527         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
40528         REPLACE_VSPRINTF.
40529
40530 2007-03-06  Bruno Haible  <bruno@clisp.org>
40531
40532         * modules/vsnprintf (Depend-on): Remove minmax.
40533
40534 2007-03-06  Bruno Haible  <bruno@clisp.org>
40535
40536         * modules/snprintf-posix-tests: New file.
40537         * tests/test-snprintf-posix.c: New file.
40538
40539         * modules/snprintf-posix: New file.
40540         * m4/snprintf-posix.m4: New file.
40541         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
40542         gl_FUNC_SNPRINTF.
40543         (gl_FUNC_SNPRINTF): Invoke it.
40544         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
40545         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
40546         is set.
40547         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
40548
40549 2007-03-06  Bruno Haible  <bruno@clisp.org>
40550
40551         * modules/vsnprintf-posix-tests: New file.
40552         * tests/test-vsnprintf-posix.c: New file.
40553         * tests/test-snprintf-posix.h: New file.
40554
40555         * modules/vsnprintf-posix: New file.
40556         * m4/vsnprintf-posix.m4: New file.
40557         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
40558         gl_FUNC_VSNPRINTF.
40559         (gl_FUNC_VSNPRINTF): Invoke it.
40560         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
40561         * lib/stdio_.h (vsnprintf): Define as a replacement if
40562         REPLACE_VSNPRINTF is set.
40563         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
40564
40565 2007-03-06  Bruno Haible  <bruno@clisp.org>
40566
40567         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
40568         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
40569
40570 2007-03-06  Bruno Haible  <bruno@clisp.org>
40571
40572         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
40573         (asinl): Declare also if HAVE_DECL_ASINL is set.
40574         (atanl): Declare also if HAVE_DECL_ATANL is set.
40575         (ceill): Declare also if HAVE_DECL_CEILL is set.
40576         (cosl): Declare also if HAVE_DECL_COSL is set.
40577         (expl): Declare also if HAVE_DECL_EXPL is set.
40578         (floorl): Declare also if HAVE_DECL_FLOORL is set.
40579         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
40580         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
40581         (logl): Declare also if HAVE_DECL_LOGL is set.
40582         (sinl): Declare also if HAVE_DECL_SINL is set.
40583         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
40584         (tanl): Declare also if HAVE_DECL_TANL is set.
40585         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
40586         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
40587         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
40588         declaration of frexpl, ldexpl.
40589         * modules/printf-frexpl (Depends-on): Add math.
40590         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
40591
40592 2007-03-05  Bruno Haible  <bruno@clisp.org>
40593
40594         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
40595         frexpl and ldexpl are declared.
40596         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
40597
40598 2007-03-05  Bruno Haible  <bruno@clisp.org>
40599
40600         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
40601         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
40602
40603 2007-03-05  Bruno Haible  <bruno@clisp.org>
40604
40605         * lib/stdio_.h: Include <stddef.h>.
40606
40607 2007-03-05  Bruno Haible  <bruno@clisp.org>
40608
40609         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
40610
40611 2007-03-05  Bruno Haible  <bruno@clisp.org>
40612
40613         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
40614         NetBSD 4, from Ralf Wildenhues.
40615
40616 2007-03-04  Bruno Haible  <bruno@clisp.org>
40617
40618         * lib/vasprintf.h: Update #if logic for the case when the functions
40619         exist but are overridden.
40620
40621 2007-03-04  Bruno Haible  <bruno@clisp.org>
40622
40623         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
40624         implementations: glibc-2.4 and MacOS X 10.3.
40625         * tests/test-vasnprintf-posix.c (test_function): Test also the case
40626         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
40627         * tests/test-vasprintf-posix.c (test_function): Likewise.
40628
40629 2007-03-04  Bruno Haible  <bruno@clisp.org>
40630
40631         * modules/vasprintf-posix-tests: New file.
40632         * tests/test-vasprintf-posix.c: New file.
40633
40634         * modules/vasprintf-posix: New file.
40635         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
40636         defined.
40637         * m4/vasprintf-posix.m4: New file.
40638         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
40639         gl_FUNC_VASPRINTF.
40640         (gl_FUNC_VASPRINTF): Invoke it.
40641         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
40642         here.
40643         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
40644
40645 2007-03-04  Bruno Haible  <bruno@clisp.org>
40646
40647         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
40648         REPLACE_GETTIMEOFDAY.
40649         * modules/sys_time (Makefile.am): Likewise.
40650         * m4/sys_time_h.m4: Likewise.
40651         * m4/gettimeofday.m4: Likewise.
40652
40653 2007-03-04  Bruno Haible  <bruno@clisp.org>
40654
40655         * modules/vasnprintf-posix-tests: New file.
40656         * tests/test-vasnprintf-posix.c: New file.
40657
40658         * modules/vasnprintf-posix: New file.
40659         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
40660         printf-frexpl.h.
40661         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
40662         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
40663         REPLACE_VASNPRINTF is defined.
40664         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
40665         gl_FUNC_VASNPRINTF.
40666         (gl_FUNC_VASNPRINTF): Invoke it.
40667         * m4/vasnprintf-posix.m4: New file.
40668         * m4/printf.m4: New file.
40669
40670 2007-03-04  Bruno Haible  <bruno@clisp.org>
40671
40672         Compile progreloc.c only if --enable-relocatable is specified.
40673         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
40674         if --enable-relocatable was specified.
40675         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
40676         lib_SOURCES.
40677
40678 2007-03-04  Jim Meyering  <jim@meyering.net>
40679
40680         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
40681         Use it consistently, rather than enumerating errno constants.
40682
40683 2007-03-04  Bruno Haible  <bruno@clisp.org>
40684
40685         * modules/xvasprintf-tests: New file.
40686         * tests/test-xvasprintf.c: New file.
40687
40688         * modules/vasprintf-tests: New file.
40689         * tests/test-vasprintf.c: New file.
40690
40691         * modules/vasnprintf-tests: New file.
40692         * tests/test-vasnprintf.c: New file.
40693
40694         * modules/vsnprintf-tests: New file.
40695         * tests/test-vsnprintf.c: New file.
40696
40697         * modules/snprintf-tests: New file.
40698         * tests/test-snprintf.c: New file.
40699
40700 2007-03-04  Bruno Haible  <bruno@clisp.org>
40701
40702         Compile relocatable.c only if --enable-relocatable is specified.
40703         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
40704         gl_RELOCATABLE_LIBRARY.
40705         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
40706         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
40707         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
40708         gl_RELOCATABLE_LIBRARY.
40709         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
40710         (Makefile.am): Remove lib_SOURCES.
40711         * modules/relocatable-lib-lgpl (configure.ac): Invoke
40712         gl_RELOCATABLE_LIBRARY.
40713         (Makefile.am): Remove lib_SOURCES.
40714         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
40715         always.
40716         * modules/relocatable-prog-wrapper (configure.ac): Invoke
40717         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
40718
40719 2007-03-04  Bruno Haible  <bruno@clisp.org>
40720
40721         * modules/argmatch-tests: New file.
40722         * tests/test-argmatch.c: New file.
40723
40724         * tests/test-allocsa.c (main): Halve the number of loop runs.
40725
40726         * modules/alloca-opt-tests: New file.
40727         * tests/test-alloca-opt.c: New file.
40728
40729 2007-03-04  Jim Meyering  <jim@meyering.net>
40730
40731         Work around difference between Linux ACLs and Solaris 10 ZFS.
40732         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
40733         for EINVAL.
40734
40735 2007-03-03  Bruno Haible  <bruno@clisp.org>
40736
40737         * modules/relocatable-prog (Depends-on): Add back progreloc's
40738         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
40739
40740 2007-03-03  Bruno Haible  <bruno@clisp.org>
40741
40742         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
40743         * modules/relocatable-lib: New file.
40744
40745 2007-03-03  Bruno Haible  <bruno@clisp.org>
40746
40747         * modules/relocatable-prog: Renamed from modules/relocatable.
40748         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
40749
40750 2007-03-03  Bruno Haible  <bruno@clisp.org>
40751
40752         * modules/relocatable-script (Files): Add doc/relocatable.texi,
40753         m4/relocatable-lib.m4.
40754         (Depends-on): Remove 'relocatable'.
40755         (configure.ac): Add gl_RELOCATABLE_NOP.
40756
40757 2007-03-03  Bruno Haible  <bruno@clisp.org>
40758
40759         * modules/relocatable-prog-wrapper: New file.
40760         * modules/relocatable (Depends-on): Add it. Remove all other
40761         dependencies except progname.
40762         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
40763
40764         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
40765         (gl_FUNC_STRERROR): Nop.
40766         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
40767
40768         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
40769         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
40770
40771         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
40772         (gl_FUNC_READLINK): Update.
40773
40774         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
40775
40776 2007-03-03  Bruno Haible  <bruno@clisp.org>
40777
40778         * lib/xreadlink.c: Include <unistd.h> unconditionally.
40779         * modules/xreadlink (Depends-on): Add unistd.
40780         * modules/xreadlink-with-size (Depends-on): Likewise.
40781
40782 2007-03-03  Bruno Haible  <bruno@clisp.org>
40783
40784         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
40785         extracted from gt_FUNC_SETENV.
40786         (gt_FUNC_SETENV): Remove macro.
40787         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
40788         remove gt_FUNC_SETENV.
40789
40790 2007-03-03  Bruno Haible  <bruno@clisp.org>
40791
40792         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
40793         ENABLE_RELOCATABLE here.
40794         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
40795
40796 2007-03-03  Bruno Haible  <bruno@clisp.org>
40797
40798         * modules/rbtreehash-list-tests (Depends-on): Add progname.
40799         * tests/test-rbtreehash_list.c: Include progname.h.
40800         (main): Call set_program_name.
40801
40802         * modules/rbtree-oset-tests (Depends-on): Add progname.
40803         * tests/test-rbtree_oset.c: Include progname.h.
40804         (main): Call set_program_name.
40805
40806         * modules/rbtree-list-tests (Depends-on): Add progname.
40807         * tests/test-rbtree_list.c: Include progname.h.
40808         (main): Call set_program_name.
40809
40810         * modules/linked-list-tests (Depends-on): Add progname.
40811         * tests/test-linked_list.c: Include progname.h.
40812         (main): Call set_program_name.
40813
40814 2007-03-03  Bruno Haible  <bruno@clisp.org>
40815
40816         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
40817         All uses of __restrict changed to _Restrict_.
40818         * lib/glob_.h (__restrict): Remove macro.
40819
40820 2007-03-02  Bruno Haible  <bruno@clisp.org>
40821
40822         * modules/gettext (configure.ac): Require gettext infrastructure
40823         from version 0.16.1.
40824
40825 2007-03-02  Bruno Haible  <bruno@clisp.org>
40826
40827         * modules/linkedhash-list-tests (Depends-on): Add progname.
40828         * tests/test-linkedhash_list.c: Include progname.h.
40829         (main): Call set_program_name.
40830
40831         * modules/carray-list-tests (Depends-on): Add progname.
40832         * tests/test-carray_list.c: Include progname.h.
40833         (main): Call set_program_name.
40834
40835         * modules/avltreehash-list-tests (Depends-on): Add progname.
40836         * tests/test-avltreehash_list.c: Include progname.h.
40837         (main): Call set_program_name.
40838
40839         * modules/avltree-oset-tests (Depends-on): Add progname.
40840         * tests/test-avltree_oset.c: Include progname.h.
40841         (main): Call set_program_name.
40842
40843         * modules/avltree-list-tests (Depends-on): Add progname.
40844         * tests/test-avltree_list.c: Include progname.h.
40845         (main): Call set_program_name.
40846
40847         * modules/array-oset-tests (Depends-on): Add progname.
40848         * tests/test-array_oset.c: Include progname.h.
40849         (main): Call set_program_name.
40850
40851         * modules/array-list-tests (Depends-on): Add progname.
40852         * tests/test-array_list.c: Include progname.h.
40853         (main): Call set_program_name.
40854
40855         * modules/argp-tests (Depends-on): Add progname.
40856         * tests/test-argp.c: Include argp.h first. Include progname.h.
40857         (main): Call set_program_name.
40858
40859 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
40860
40861         * doc/gnulib-tool.texi (Initial import): Reword description of
40862         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
40863         limited effect even if defined after the first system include.
40864
40865 2007-03-01  Bruno Haible  <bruno@clisp.org>
40866
40867         * build-aux/config.libpath: Update to libtool-1.5.22.
40868         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40869
40870 2007-03-01  Bruno Haible  <bruno@clisp.org>
40871
40872         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
40873         foo_CFLAGS.
40874         Reported by Ralf Wildenhues.
40875
40876 2007-03-01  Bruno Haible  <bruno@clisp.org>
40877
40878         * build-aux/install-reloc: Remove object files left over by some
40879         compilers.
40880         Reported by Ralf Wildenhues.
40881
40882 2007-03-01  Bruno Haible  <bruno@clisp.org>
40883
40884         * build-aux/install-reloc: Break long lines.
40885
40886 2007-03-01  Bruno Haible  <bruno@clisp.org>
40887
40888         * doc/relocatable.texi: Document that it may not work on OpenBSD.
40889         Reported by Ralf Wildenhues.
40890
40891 2007-03-01  Bruno Haible  <bruno@clisp.org>
40892
40893         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
40894         include ordering constraints.
40895
40896 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
40897
40898         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
40899         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
40900         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
40901         as another example.
40902         * lib/time_.h: Fix misspelling.
40903         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40904         Require gl_HEADER_TIME_H_DEFAULTS.
40905         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
40906         * m4/time_r.m4 (gl_TIME_R): Likewise.
40907         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
40908
40909 2007-03-01  Bruno Haible  <bruno@clisp.org>
40910
40911         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
40912         * m4/utimens.m4 (gl_UTIMENS): Likewise.
40913
40914 2007-03-01  Jim Meyering  <jim@meyering.net>
40915
40916         * modules/xreadlink (Maintainer): Add my name.
40917         * modules/xreadlink-with-size (Depends-on): Alphabetize.
40918
40919 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
40920             Bruno Haible  <bruno@clisp.org>
40921
40922         * build-aux/install-reloc: Compile also c-ctype.c.
40923         * build-aux/relocatable.sh.in: New file.
40924         * doc/relocatable.texi: New file.
40925         * doc/relocatable-maint.texi: New file.
40926         * doc/gnulib.texi: Include relocatable-maint.texi.
40927         * lib/progreloc.c: Include unistd.h unconditionally.
40928         * lib/relocwrapper.c: Include unistd.h unconditionally.
40929         Include c-ctype.h.
40930         (add_dotbin): Use c_tolower.
40931         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
40932         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
40933         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
40934         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
40935         to m4/relocatable-lib.m4.
40936         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
40937         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
40938         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
40939         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
40940         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
40941         * modules/relocatable: New file.
40942         * modules/relocatable-lib: New file.
40943         * modules/relocatable-script: New file.
40944
40945 2007-02-28  Bruno Haible  <bruno@clisp.org>
40946
40947         Import --enable-relocatable infrastructure.
40948         * build-aux/config.libpath: New file, from GNU gettext.
40949         * build-aux/install-reloc: New file, from GNU gettext.
40950         * build-aux/reloc-ldflags: New file, from GNU gettext.
40951         * lib/relocatable.h: New file, from GNU gettext.
40952         * lib/relocatable.c: New file, from GNU gettext.
40953         * lib/relocwrapper.c: New file, from GNU gettext.
40954         * m4/relocatable.m4: New file, from GNU gettext.
40955
40956 2007-02-28  Bruno Haible  <bruno@clisp.org>
40957
40958         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
40959
40960         * modules/xreadlink: New file, from GNU gettext with modifications.
40961         * lib/xreadlink.c: New file, from GNU gettext.
40962         * lib/xreadlink.h: Add comments.
40963         (xreadlink): New declaration.
40964
40965         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
40966         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
40967         lib/xreadlink-with-size.c.
40968         (configure.ac): Remove gl_XREADLINK invocation.
40969         (Makefile.am): Augment lib_SOURCES.
40970         * m4/xreadlink.m4: Remove file.
40971         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
40972         (xreadlink_with_size): Renamed from xreadink.
40973         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
40974         * modules/canonicalize (Depends-on): Replace xreadlink with
40975         xreadlink-with-size.
40976         * lib/canonicalize.c (canonicalize_filename_mode): Update.
40977
40978 2007-02-25  Jim Meyering  <jim@meyering.net>
40979
40980         * build-aux/announce-gen: When complaining about excess arguments,
40981         list them.
40982
40983 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
40984
40985         * README: Document signed integer overflow situation more
40986         accurately.
40987
40988 2007-02-25  Bruno Haible  <bruno@clisp.org>
40989
40990         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
40991         'a' or 'A' conversion.
40992
40993 2007-02-25  Bruno Haible  <bruno@clisp.org>
40994
40995         * modules/filename: Renamed from modules/pathname.
40996         (Files): Replace lib/pathname.h with lib/filename.h. Replace
40997         lib/concatpath.c with lib/concat-filename.c.
40998         (Makefile.am): Update.
40999         (Include): Replace pathname.h with filename.h.
41000         * lib/filename.h: Renamed from lib/pathname.h.
41001         (concatenated_filename): Renamed from concatenated_pathname.
41002         * lib/concat-filename.c: Renamed from lib/concatpath.c.
41003         (concatenated_filename): Renamed from concatenated_pathname.
41004         * lib/findprog.c: Include filename.h instead of pathname.h.
41005         (find_in_path): Update.
41006         * lib/javacomp.c: Include filename.h instead of pathname.h.
41007         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
41008         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
41009         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
41010         is_oldgcj_14_13_usable, is_javac_usable): Update.
41011         * lib/javaexec.c: Include filename.h instead of pathname.h.
41012         (execute_java_class): Update.
41013         * modules/findprog: Update.
41014         * modules/javacomp: Update.
41015         * modules/javaexec: Update.
41016         * MODULES.html.sh (File system functions): Add 'filename', remove
41017         'pathname'.
41018
41019 2007-02-25  Bruno Haible  <bruno@clisp.org>
41020
41021         * modules/printf-frexpl-tests: New file.
41022         * tests/test-printf-frexpl.c: New file.
41023
41024         * modules/printf-frexpl: New file.
41025         * lib/printf-frexpl.h: New file.
41026         * lib/printf-frexpl.c: New file.
41027         * m4/printf-frexpl.m4: New file.
41028
41029 2007-02-25  Bruno Haible  <bruno@clisp.org>
41030
41031         * modules/printf-frexp-tests: New file.
41032         * tests/test-printf-frexp.c: New file.
41033
41034         * modules/printf-frexp: New file.
41035         * lib/printf-frexp.h: New file.
41036         * lib/printf-frexp.c: New file.
41037         * m4/printf-frexp.m4: New file.
41038
41039 2007-02-25  Bruno Haible  <bruno@clisp.org>
41040
41041         Assume automake >= 1.10 for the tests.
41042         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
41043         * modules/arctwo-tests: Likewise.
41044         * modules/argp-tests: Likewise.
41045         * modules/avltree-list-tests: Likewise.
41046         * modules/avltree-oset-tests: Likewise.
41047         * modules/avltreehash-list-tests: Likewise.
41048         * modules/carray-list-tests: Likewise.
41049         * modules/crc-tests: Likewise.
41050         * modules/des-tests: Likewise.
41051         * modules/gc-arcfour-tests: Likewise.
41052         * modules/gc-arctwo-tests: Likewise.
41053         * modules/gc-des-tests: Likewise.
41054         * modules/gc-hmac-md5-tests: Likewise.
41055         * modules/gc-hmac-sha1-tests: Likewise.
41056         * modules/gc-md2-tests: Likewise.
41057         * modules/gc-md4-tests: Likewise.
41058         * modules/gc-md5-tests: Likewise.
41059         * modules/gc-pbkdf2-sha1-tests: Likewise.
41060         * modules/gc-rijndael-tests: Likewise.
41061         * modules/gc-sha1-tests: Likewise.
41062         * modules/gc-tests: Likewise.
41063         * modules/getaddrinfo-tests: Likewise.
41064         * modules/hmac-md5-tests: Likewise.
41065         * modules/hmac-sha1-tests: Likewise.
41066         * modules/linked-list-tests: Likewise.
41067         * modules/linkedhash-list-tests: Likewise.
41068         * modules/lock-tests: Likewise.
41069         * modules/md2-tests: Likewise.
41070         * modules/md4-tests: Likewise.
41071         * modules/md5-tests: Likewise.
41072         * modules/rbtree-list-tests: Likewise.
41073         * modules/rbtree-oset-tests: Likewise.
41074         * modules/rbtreehash-list-tests: Likewise.
41075         * modules/read-file-tests: Likewise.
41076         * modules/rijndael-tests: Likewise.
41077         * modules/stdint-tests: Likewise.
41078         * modules/tls-tests: Likewise.
41079
41080 2007-02-24  Bruno Haible  <bruno@clisp.org>
41081
41082         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
41083         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
41084         function; instead check whether isnan with a double argument links.
41085         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
41086         function; instead check whether isnan with a 'long double' argument
41087         links.
41088         Reported by Eric Blake <ebb9@byu.net>.
41089
41090 2007-02-24  Bruno Haible  <bruno@clisp.org>
41091
41092         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
41093         defined.
41094         * lib/isnanl.c: Remove all code. Just include isnan.c.
41095         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
41096
41097 2007-02-25  Jim Meyering  <jim@meyering.net>
41098
41099         Avoid conflicting types for 'unsetenv' on FreeBSD.
41100         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
41101         conflicting with FreeBSD's (5.0 and 6.1) function declaration
41102         in stdlib.h.
41103
41104 2007-02-24  Bruno Haible  <bruno@clisp.org>
41105
41106         * modules/isnanl-nolibm-tests: New file.
41107         * tests/test-isnanl.c: New file.
41108
41109         * modules/isnanl-nolibm: New file.
41110         * lib/isnanl.h: New file.
41111         * lib/isnanl.c: New file.
41112         * m4/isnanl.m4: New file.
41113
41114 2007-02-24  Bruno Haible  <bruno@clisp.org>
41115
41116         * modules/isnan-nolibm-tests: New file.
41117         * tests/test-isnan.c: New file.
41118
41119         * modules/isnan-nolibm: New file.
41120         * lib/isnan.h: New file.
41121         * lib/isnan.c: New file.
41122         * m4/isnan.m4: New file.
41123
41124 2007-02-24  Bruno Haible  <bruno@clisp.org>
41125
41126         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
41127         assume that an exponent fits in 20 bits.
41128
41129 2007-02-24  Jim Meyering  <jim@meyering.net>
41130
41131         * m4/regex.m4: Update the description of the configure-time option,
41132         --without-included-regex, to state accurately what the defaults are,
41133         and perhaps to give people an idea why using this option is risky.
41134
41135 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41136
41137         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
41138         loops on small arguments.  This attempts to avoid the problem
41139         Bruno Haible reported for AIX 4.3.2 in
41140         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
41141
41142 2007-02-23  Bruno Haible  <bruno@clisp.org>
41143
41144         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
41145         Needed for help2man.
41146
41147 2007-02-23  Karl Berry  <karl@gnu.org>
41148
41149         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
41150         exists, foo.h should be cvs-ignored, not committed.
41151
41152 2007-02-23  Eric Blake  <ebb9@byu.net>
41153
41154         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
41155         * lib/stat-time.h (includes): Likewise.
41156         * lib/utimecmp.c (includes): Likewise.
41157         * lib/utimens.h (includes): Likewise.
41158         * lib/getdate.y (includes): Also include "timespec.h" for use
41159         internal to the module.
41160         * modules/utimens (Depends-on): Revert yesterday's patch.
41161         * modules/nanosleep (Depends-on): Add missing dependency.
41162
41163 2007-02-22  Bruno Haible  <bruno@clisp.org>
41164
41165         * lib/glob.c: Don't include getlogin_r.h.
41166
41167 2007-02-22  Jim Meyering  <jim@meyering.net>
41168
41169         * modules/utimens (Depends-on): Add timespec, required for
41170         utimens.h's inclusion of timespec.h.
41171
41172 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
41173
41174         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
41175         long unreadable paths in GNU/Linux.  Problem reported by Andreas
41176         Schwab in
41177         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
41178         I'll try to think of a better way to fix the Solaris problem.
41179
41180         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
41181         like glibc; on Solaris 10, it fails with errno == EINVAL.
41182         POSIX says the behavior is unspecified if the first argument is NULL,
41183         so play it safe and never pass NULL to the system getcwd.
41184
41185 2007-02-21  Jim Meyering  <jim@meyering.net>
41186
41187         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
41188         of gettimeofday.  It would conflict with the one now always
41189         provided via sys_time_.h.  Reported by Matthew Woehlke, as
41190         an IRIX 6.5 build failure.
41191
41192 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
41193
41194         Minor fixups to port to Solaris 10 with Sun C 5.8.
41195         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
41196         * modules/getcwd (Depends-on): Add dirfd.
41197         * lib/putenv.c (putenv): #undef it.
41198         (rpl_putenv): New decl.
41199         (malloc, free): Include <stdlib.h> rather than prototyping separately.
41200
41201 2007-02-20  Bruno Haible  <bruno@clisp.org>
41202
41203         * modules/stdio-tests: New file.
41204         * tests/test-stdio.c: New file.
41205
41206         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
41207         (Depends-on): Add stdio.
41208         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
41209         (Include): Use <stdio.h> instead of vsnprintf.h.
41210         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
41211         HAVE_DECL_VSNPRINTF.
41212         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
41213
41214         * modules/snprintf (Files): Remove lib/snprintf.h.
41215         (Depends-on): Add stdio.
41216         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
41217         (Include): Use <stdio.h> instead of snprintf.h.
41218         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
41219         HAVE_DECL_SNPRINTF.
41220         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
41221         * lib/getaddrinfo.c: Likewise.
41222
41223         * modules/stdio: New file.
41224         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
41225         * lib/snprintf.h: Remove file.
41226         * lib/vsnprintf.h: Remove file.
41227         * lib/.cppi-disable: Remove snprintf.h.
41228         * m4/stdio_h.m4: New file.
41229         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
41230
41231 2007-02-20  Jim Meyering  <jim@meyering.net>
41232
41233         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
41234         used by e.g., mingw.  From Bruno Haible.
41235
41236 2007-02-19  Bruno Haible  <bruno@clisp.org>
41237
41238         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
41239         warnings.
41240         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41241
41242 2007-02-19  Bruno Haible  <bruno@clisp.org>
41243
41244         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
41245         from mingw users.
41246
41247 2007-02-19  Bruno Haible  <bruno@clisp.org>
41248
41249         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
41250         warnings.
41251         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
41252
41253 2007-02-19  Jim Meyering  <jim@meyering.net>
41254
41255         Don't use FD after a successful "fdopendir (fd)".
41256         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
41257         Reset it by calling dirfd on the just-obtained DIR*.
41258
41259         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
41260         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
41261
41262 2007-02-18  Bruno Haible  <bruno@clisp.org>
41263
41264         * lib/readlink.c: Include <unistd.h>.
41265         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
41266         HAVE_READLINK.
41267         * modules/readlink (Depends-on): Add unistd.
41268         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41269         (Include): Add <unistd.h>.
41270
41271         * lib/getlogin_r.h: Remove file.
41272         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
41273         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
41274         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
41275         HAVE_DECL_GETLOGIN_R.
41276         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
41277         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41278         (Include): Use <unistd.h> instead of getlogin_r.h.
41279
41280         * lib/getcwd.h: Remove file.
41281         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
41282         * lib/xgetcwd.c: Likewise.
41283         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
41284         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
41285         * modules/getcwd (Files): Remove lib/getcwd.h.
41286         (Depends-on): Add unistd.
41287         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41288         (Include): Use <unistd.h> instad of getcwd.h.
41289
41290         * lib/ftruncate.c: Include <unistd.h> first.
41291         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
41292         Set HAVE_FTRUNCATE.
41293         * modules/ftruncate (Depends-on): Add unistd.
41294         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41295
41296         * lib/fchdir.c: Include <unistd.h> first.
41297         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
41298         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
41299         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
41300         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41301         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
41302
41303         * lib/dup2.c: Include <unistd.h> first.
41304         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
41305         HAVE_DUP2.
41306         * modules/dup2 (Depends-on): Add unistd.
41307         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41308
41309         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
41310         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
41311         REPLACE_CHOWN. Don't define chown as a macro here.
41312         * modules/chown (Depends-on): Add unistd.
41313         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41314
41315         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
41316         Add definition for GL_LINK_WARNING.
41317         (chown, dup2): New declarations.
41318         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
41319         link warning.
41320         (ftruncate): New declaration.
41321         (getcwd): New declaration, taken from old getcwd.h.
41322         (getlogin_r): New declaration, taken from old getlogin_r.h.
41323         (readlink): New declaration.
41324         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
41325         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
41326         (gl_PREREQ_UNISTD): Remove macro.
41327         (gl_UNISTD_MODULE_INDICATOR): New macro.
41328         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
41329         many new variables. Don't set UNISTD_H.
41330         * modules/unistd (Description): Change.
41331         (Depends-on): Add link-warning.
41332         (configure.ac): Update.
41333         (Makefile.am): Create unistd.h always. Substitute many new variables
41334         into it.
41335
41336 2007-02-18  Bruno Haible  <bruno@clisp.org>
41337
41338         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
41339         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
41340         HAVE_GETSUBOPT.
41341         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
41342         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
41343         * lib/getsubopt.h: Remove file.
41344         * modules/getsubopt (Files): Remove lib/getsubopt.h.
41345         (Depends-on): Add stdlib.
41346         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41347         (Includes): Use <stdlib.h> instead of getsubopt.h.
41348         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
41349         Set HAVE_GETSUBOPT.
41350         * lib/getsubopt.c: Don't include getsubopt.h.
41351
41352 2007-02-18  Bruno Haible  <bruno@clisp.org>
41353
41354         * modules/fchdir (Depends-on): Add dup2.
41355
41356 2007-02-18  Bruno Haible  <bruno@clisp.org>
41357
41358         * lib/stdlib_.h: Handle glibc's special invocation convention
41359         specially.
41360
41361 2007-02-18  Bruno Haible  <bruno@clisp.org>
41362
41363         * modules/stdlib-tests: New file.
41364         * tests/test-stdlib.c: New file.
41365
41366         * modules/mkstemp (Files): Remove lib/mkstemp.h.
41367         (Depends-on): Add stdlib.
41368         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41369         (Includes): Use <stdlib.h> instead of mkstemp.h.
41370         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
41371         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
41372         * lib/mkstemp.c: Don't include mkstemp.h.
41373         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
41374         * lib/stdlib--.h: Don't include mkstemp.h.
41375
41376         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
41377         (Depends-on): Add stdlib.
41378         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41379         (Includes): Use <stdlib.h> instead of mkdtemp.h.
41380         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
41381         HAVE_MKDTEMP.
41382         * lib/mkdtemp.c: Don't include mkdtemp.h.
41383         * lib/clean-temp.c: Don't include mkdtemp.h.
41384
41385         * modules/exit (Files): Remove lib/exit.h.
41386         (Depends-on): Add stdlib.
41387         (Makefile.am): Remove lib_SOURCES.
41388         (Include): Use <stdlib.h> instead of exit.h.
41389         * lib/argmatch.c: Don't include exit.h.
41390         * lib/execute.c: Likewise.
41391         * lib/pagealign_alloc.c: Likewise.
41392         * lib/pipe.c: Likewise.
41393         * lib/wait-process.c: Likewise.
41394         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
41395         * lib/exitfail.c: Likewise.
41396         * lib/savewd.c: Likewise.
41397         * lib/xsetenv.c: Likewise.
41398
41399         * modules/stdlib: New file.
41400         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
41401         and extra comments about mkstemp().
41402         * lib/exit.h: Remove file.
41403         * lib/mkdtemp.h: Remove file.
41404         * lib/mkstemp.h: Remove file.
41405         * m4/stdlib_h.m4: New file.
41406         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
41407
41408 2007-02-18  Bruno Haible  <bruno@clisp.org>
41409
41410         * modules/math-tests: New file.
41411         * tests/test-math.c: New file.
41412
41413         * modules/math: New file.
41414         * modules/mathl (Files): Remove lib/mathl.h.
41415         (Depends-on): Add math.
41416         (Makefile.am): Don't mention mathl.h.
41417         (Include): Use <math.h> instead of mathl.h.
41418         * lib/math_.h: New file.
41419         * lib/mathl.h: Remove file.
41420         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
41421         mathl.h.
41422         * lib/asinl.c: Likewise.
41423         * lib/atanl.c: Likewise.
41424         * lib/ceill.c: Likewise.
41425         * lib/cosl.c: Likewise.
41426         * lib/expl.c: Likewise.
41427         * lib/floorl.c: Likewise.
41428         * lib/frexpl.c: Likewise.
41429         * lib/ldexpl.c: Likewise.
41430         * lib/logl.c: Likewise.
41431         * lib/sincosl.c: Likewise.
41432         * lib/sinl.c: Likewise.
41433         * lib/sqrtl.c: Likewise.
41434         * lib/tanl.c: Likewise.
41435         * lib/trigl.c: Likewise.
41436         * m4/math_h.m4: New file.
41437         * MODULES.html.sh (Mathematics): Add math.
41438
41439 2007-02-17  Bruno Haible  <bruno@clisp.org>
41440
41441         * modules/wctype-tests: New file.
41442         * tests/test-wctype.c: New file.
41443
41444         * modules/wchar-tests: New file.
41445         * tests/test-wchar.c: New file.
41446
41447         * modules/unistd-tests: New file.
41448         * tests/test-unistd.c: New file.
41449
41450         * modules/time-tests: New file.
41451         * tests/test-time.c: New file.
41452
41453         * modules/sysexits-tests: New file.
41454         * tests/test-sysexits.c: New file.
41455
41456         * modules/sys_time-tests: New file.
41457         * tests/test-sys_time.c: New file.
41458
41459         * modules/sys_stat-tests: New file.
41460         * tests/test-sys_stat.c: New file.
41461
41462         * modules/sys_socket-tests: New file.
41463         * tests/test-sys_socket.c: New file.
41464
41465         * modules/sys_select-tests: New file.
41466         * tests/test-sys_select.c: New file.
41467
41468         * modules/string-tests: New file.
41469         * tests/test-string.c: New file.
41470
41471         * modules/stdbool-tests: New file.
41472         * tests/test-stdbool.c: New file.
41473
41474         * modules/netinet_in-tests: New file.
41475         * tests/test-netinet_in.c: New file.
41476
41477         * modules/inttypes-tests: New file.
41478         * tests/test-inttypes.c: New file.
41479
41480         * modules/fcntl-tests: New file.
41481         * tests/test-fcntl.c: New file.
41482
41483         * modules/byteswap-tests: New file.
41484         * tests/test-byteswap.c: New file.
41485
41486         * modules/arpa_inet-tests: New file.
41487         * tests/test-arpa_inet.c: New file.
41488
41489 2007-02-17  Bruno Haible  <bruno@clisp.org>
41490
41491         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
41492         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
41493         if the corresponding module is not enabled. Emit link warnings if
41494         the function is used nevertheless.
41495         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
41496         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
41497         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
41498         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
41499         * modules/inttypes (Depends-on): Add link-warning.
41500         (Makefile.am): Copy the contents of build-aux/link-warning.h into
41501         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
41502         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
41503         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
41504         * modules/imaxdiv (configure.ac): Likewise.
41505         * modules/strtoimax (configure.ac): Likewise.
41506         * modules/strtoumax (configure.ac): Likewise.
41507
41508 2007-02-17  Bruno Haible  <bruno@clisp.org>
41509
41510         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
41511         gl_STRING_MODULE_INDICATOR_DEFAULTS.
41512         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
41513         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
41514
41515 2007-02-17  Bruno Haible  <bruno@clisp.org>
41516
41517         * modules/link-warning: New file.
41518         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
41519         * lib/string_.h (GL_LINK_WARNING): Remove definition.
41520         * modules/string (Depends-on): Add link-warning.
41521         (Makefile.am): Copy the contents of build-aux/link-warning.h into
41522         string.h.
41523         * MODULES.html.sh (Support for building libraries and executables): Add
41524         link-warning.
41525
41526 2007-02-17  Bruno Haible  <bruno@clisp.org>
41527
41528         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
41529         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
41530         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
41531         long lines.
41532
41533 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
41534             Bruno Haible  <bruno@clisp.org>
41535
41536         * modules/tmpfile: New file.
41537         * lib/tmpfile.c: New file.
41538         * m4/tmpfile.m4: New file.
41539         * MODULES.html.sh (func_all_modules): New section "Input/output".
41540
41541 2007-02-15  Bruno Haible  <bruno@clisp.org>
41542
41543         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
41544         (supports_delete_on_close): New function.
41545         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
41546
41547 2007-02-14  Bruno Haible  <bruno@clisp.org>
41548
41549         * modules/mbspcasecmp-tests: New file.
41550         * tests/test-mbspcasecmp.sh: New file.
41551         * tests/test-mbspcasecmp.c: New file.
41552
41553         New module mbspcasecmp.
41554         * modules/mbspcasecmp: New file.
41555         * lib/mbspcasecmp.c: New file.
41556         * lib/string_.h (strncasecmp): Change warning message.
41557         (mbspcasecmp): New declaration.
41558         * m4/mbspcasecmp.m4: New file.
41559         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41560         GNULIB_MBSPCASECMP.
41561         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
41562         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
41563
41564 2007-02-14  Bruno Haible  <bruno@clisp.org>
41565
41566         * modules/mbsncasecmp-tests: New file.
41567         * tests/test-mbsncasecmp.sh: New file.
41568         * tests/test-mbsncasecmp.c: New file.
41569
41570         New module mbsncasecmp.
41571         * modules/mbsncasecmp: New file.
41572         * lib/mbsncasecmp.c: New file.
41573         * lib/string_.h (mbsncasecmp): New declaration.
41574         * m4/mbsncasecmp.m4: New file.
41575         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41576         GNULIB_MBSNCASECMP.
41577         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
41578         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
41579
41580 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
41581
41582         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
41583         Verify that it doesn't overlap with our flags.
41584         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
41585         do not have the desired effect in multibyte locales; instead, use
41586         mbscasecmp.
41587         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
41588         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
41589         we don't require GNU fnmatch ourselves (if our users require it, they
41590         should do so explicitly).
41591
41592         Fix regex code so it doesn't rely on strcasecmp.
41593         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
41594         Otherwise, include gnulib's langinfo.h.
41595         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
41596         undesirable behavior in non-C locales.  Instead, rely on localecharset.
41597         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
41598         * modules/regex (FILES): Remove m4/codeset.m4.
41599         (Depends-on): Add localcharset.  Remove strcase.
41600
41601 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41602
41603         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
41604         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
41605
41606 2007-02-13  Bruno Haible  <bruno@clisp.org>
41607
41608         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
41609         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41610
41611 2007-02-12  Bruno Haible  <bruno@clisp.org>
41612
41613         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
41614         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
41615         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
41616         time warning rather than a link error.
41617
41618 2007-02-12  Bruno Haible  <bruno@clisp.org>
41619
41620         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
41621         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41622         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41623
41624 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41625
41626         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
41627         args, not 2.
41628
41629 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41630
41631         New module 'time', so that apps can include <time.h> as per
41632         POSIX and GNU instead of separate include files like time_r.h
41633         and timegm.h.  This implementation tries out a simpler approach
41634         for replacing decls in standard include files (as compared to
41635         the string module), somewhat as an experiment.
41636
41637         * config/srclist.txt: Comment out mktime.c for now.
41638         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
41639         since it doesn't apply any more.  Use generic wording instead.
41640         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
41641         'time'.
41642         * lib/time_.h, m4/time_h.m4, modules/time: New files.
41643         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
41644         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
41645         Don't include <sys/types.h>; no longer needed since we assume C89.
41646         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
41647         * lib/strftime.c: Likewise.
41648         * lib/time_r.c: Likewise.
41649         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
41650         * lib/nanosleep.c: Include <time.h> first, to check interface.
41651         * lib/strptime.c: Likewise.
41652         * lib/time_r.c: Likewise.
41653         * lib/timegm.c: Likewise.
41654         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
41655         needed.
41656         * lib/timegm.c: Don't include timegm.h; no longer needed.
41657         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
41658         time.h now handles any problems in that area.
41659         (struct timespec, nanosleep): Remove; time.h now arranges for these.
41660         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
41661         that time.h defines struct timespec.
41662         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
41663         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
41664         handles that.
41665         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
41666         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
41667         needed.  Set REPLACE_LOCALTIME.
41668         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
41669         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
41670         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
41671         nanosleep; time_h.m4 now does that.  Don't require
41672         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
41673         module handles this now.
41674         * modules/getdate (Depends-on): Remove timespec.  Add time.
41675         * modules/nanosleep (Depends-on): Likewise.
41676         * modules/stat-time (Depends-on): Likewise.
41677         * modules/nanosleep (Include): Include time.h, not timespec.h.
41678         * modules/strptime (Files): Remove lib/strptime.h.
41679         (Depends-on): Add extensions, time.
41680         (Include): Include time.h, not strptime.h.
41681         * modules/time_r (Files): Remove lib/time_r.h.
41682         (Depends-on): Add time.
41683         (Include): Include time.h, not time_r.h.
41684         * modules/timegm: Likewise.
41685         * modules/timespec (Description): Now does timespec-related decls
41686         of our own, instead of struct timespec itself.
41687         (Depends-on): Add time; remove extensions.
41688         (Maintainer): Add self.
41689         * modules/utimecmp (Depends-on): Add time; remove timespec.
41690         * modules/utimens (Depends-on): Likewise.
41691         * modules/xnanosleep (Depends-on): Likewise.
41692
41693 2007-02-11  Bruno Haible  <bruno@clisp.org>
41694
41695         * lib/c-strstr.c: Include allocsa.h.
41696         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41697         * lib/c-strcasestr.c: Include allocsa.h.
41698         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41699         * lib/strcasestr.c: Include allocsa.h.
41700         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41701         * lib/mbsstr.c: Include allocsa.h.
41702         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
41703         allocsa/freesa instead of malloc/free.
41704         * lib/mbscasestr.c: Include allocsa.h.
41705         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
41706         allocsa/freesa instead of malloc/free.
41707         * modules/c-strstr (Depends-on): Add allocsa.
41708         * modules/c-strcasestr (Depends-on): Likewise.
41709         * modules/strcasestr (Depends-on): Likewise.
41710         * modules/mbsstr (Depends-on): Likewise.
41711         * modules/mbscasestr (Depends-on): Likewise.
41712
41713 2007-02-11  Bruno Haible  <bruno@clisp.org>
41714
41715         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
41716
41717         * modules/mbsspn-tests: New file.
41718         * tests/test-mbsspn.sh: New file.
41719         * tests/test-mbsspn.c: New file.
41720
41721 2007-02-11  Bruno Haible  <bruno@clisp.org>
41722
41723         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
41724
41725         * modules/mbspbrk-tests: New file.
41726         * tests/test-mbspbrk.sh: New file.
41727         * tests/test-mbspbrk.c: New file.
41728
41729 2007-02-11  Bruno Haible  <bruno@clisp.org>
41730
41731         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
41732         unneeded cast.
41733
41734         * modules/mbscspn-tests: New file.
41735         * tests/test-mbscspn.sh: New file.
41736         * tests/test-mbscspn.c: New file.
41737
41738 2007-02-11  Bruno Haible  <bruno@clisp.org>
41739
41740         * modules/mbscasecmp-tests: New file.
41741         * tests/test-mbscasecmp.sh: New file.
41742         * tests/test-mbscasecmp.c: New file.
41743
41744 2007-02-11  Bruno Haible  <bruno@clisp.org>
41745
41746         Ensure O(n) worst-case complexity of mbscasestr.
41747         * lib/mbscasestr.c: Include stdbool.h.
41748         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
41749         functions.
41750         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
41751         the bookkeeping indicates that it's worth it.
41752         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
41753
41754         * modules/mbscasestr-tests: New file.
41755         * tests/test-mbscasestr1.c: New file.
41756         * tests/test-mbscasestr2.sh: New file.
41757         * tests/test-mbscasestr2.c: New file.
41758         * tests/test-mbscasestr3.sh: New file.
41759         * tests/test-mbscasestr3.c: New file.
41760         * tests/test-mbscasestr4.sh: New file.
41761         * tests/test-mbscasestr4.c: New file.
41762         * m4/locale-tr.m4: New file.
41763
41764 2007-02-11  Bruno Haible  <bruno@clisp.org>
41765
41766         Ensure O(n) worst-case complexity of mbsstr.
41767         * lib/mbsstr.c: Include stdbool.h.
41768         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
41769         functions.
41770         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
41771         bookkeeping indicates that it's worth it.
41772         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
41773
41774         * modules/mbsstr-tests: New file.
41775         * tests/test-mbsstr1.c: New file.
41776         * tests/test-mbsstr2.sh: New file.
41777         * tests/test-mbsstr2.c: New file.
41778         * tests/test-mbsstr3.sh: New file.
41779         * tests/test-mbsstr3.c: New file.
41780         * m4/locale-fr.m4: New file.
41781
41782 2007-02-11  Bruno Haible  <bruno@clisp.org>
41783
41784         * lib/mbsrchr.c (mbsrchr): Fix bug.
41785
41786         * modules/mbsrchr-tests: New file.
41787         * tests/test-mbsrchr.sh: New file.
41788         * tests/test-mbsrchr.c: New file.
41789
41790 2007-02-11  Bruno Haible  <bruno@clisp.org>
41791
41792         * lib/mbschr.c (mbschr): Fix bug.
41793
41794         * modules/mbschr-tests: New file.
41795         * tests/test-mbschr.sh: New file.
41796         * tests/test-mbschr.c: New file.
41797         * m4/locale-zh.m4: New file.
41798
41799 2007-02-11  Bruno Haible  <bruno@clisp.org>
41800
41801         Support for copying multibyte string iterators.
41802         * lib/mbiter.h: Include <string.h>.
41803         (mbiter_multi_copy): New function.
41804         (mbi_copy): New macro.
41805         * lib/mbuiter.h: Include <string.h>.
41806         (mbuiter_multi_copy): New function.
41807         (mbui_copy): New macro.
41808
41809 2007-02-11  Bruno Haible  <bruno@clisp.org>
41810
41811         New module mbslen.
41812         * modules/mbslen: New file.
41813         * lib/mbslen.c: New file.
41814         * lib/string_.h (mbslen): New declaration.
41815         * m4/mbslen.m4: New file.
41816         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41817         GNULIB_MBSLEN.
41818         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
41819         * MODULES.html.sh (Internationalization functions): Add mbslen.
41820
41821 2007-02-11  Bruno Haible  <bruno@clisp.org>
41822
41823         Ensure O(n) worst-case complexity of strcasestr substitute.
41824         * lib/strcasestr.c: Include stdbool.h.
41825         (knuth_morris_pratt): New function.
41826         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
41827         bookkeeping indicates that it's worth it.
41828         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
41829
41830         * modules/strcasestr-tests: New file.
41831         * tests/test-strcasestr.c: New file.
41832
41833 2007-02-11  Bruno Haible  <bruno@clisp.org>
41834
41835         Ensure O(n) worst-case complexity of c_strcasestr.
41836         * lib/c-strcasestr.c: Include stdbool.h, string.h.
41837         (knuth_morris_pratt): New function.
41838         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
41839         the bookkeeping indicates that it's worth it.
41840         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
41841
41842         * modules/c-strcasestr-tests: New file.
41843         * tests/test-c-strcasestr.c: New file.
41844
41845 2007-02-11  Bruno Haible  <bruno@clisp.org>
41846
41847         Ensure O(n) worst-case complexity of c_strstr.
41848         * lib/c-strstr.c: Include stdbool.h, string.h.
41849         (knuth_morris_pratt): New function.
41850         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
41851         bookkeeping indicates that it's worth it.
41852         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
41853
41854         * lib/c-strstr.c: Complete rewrite for maintainability.
41855
41856         * modules/c-strstr-tests: New file.
41857         * tests/test-c-strstr.c: New file.
41858
41859 2007-02-11  Bruno Haible  <bruno@clisp.org>
41860
41861         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
41862         5.2.1 and earlier, whereby \055 was treated just like the range
41863         delimiter '-'.
41864         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
41865
41866 2007-02-08  Bruno Haible  <bruno@clisp.org>
41867
41868         * modules/regex (Depends-on): Add stdbool.
41869         Reported by Dalibor Topic <robilad@kaffe.org>.
41870
41871 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
41872
41873         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
41874         Prefer returning from main to exiting from it.
41875         Remove unnecessary parens after sizeof.
41876
41877 2007-02-05  Bruno Haible  <bruno@clisp.org>
41878
41879         New module mbssep.
41880         * modules/mbssep: New file.
41881         * lib/mbssep.c: New file.
41882         * lib/string_.h (strsep): Add a conditional link warning.
41883         (mbssep): New declaration.
41884         * m4/mbssep.m4: New file.
41885         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41886         GNULIB_MBSSEP.
41887         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
41888         * MODULES.html.sh (Internationalization functions): Add mbssep.
41889
41890 2007-02-05  Bruno Haible  <bruno@clisp.org>
41891
41892         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
41893         Optimize search in case of 1 delimiter.
41894
41895 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
41896
41897         * lib/acl.h: Include sys/types.h before sys/acl.h.
41898
41899 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
41900
41901         Merge upstream fix for glibc bugzilla #3957:
41902
41903         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
41904
41905         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
41906         bit for RE_HAT_LISTS_NOT_NEWLINE.
41907         (build_charclass_op): Remove bogus comment.
41908
41909 2007-02-05  Simon Josefsson  <simon@josefsson.org>
41910
41911         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
41912
41913 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
41914
41915         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
41916         * lib/memmem.c [!defined _LIBC]: Include config.h.
41917
41918 2007-02-04  Bruno Haible  <bruno@clisp.org>
41919
41920         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
41921         warning message.
41922
41923 2007-02-04  Bruno Haible  <bruno@clisp.org>
41924
41925         New module mbstok_r.
41926         * modules/mbstok_r: New file.
41927         * lib/mbstok_r.c: New file.
41928         * lib/string_.h (strtok_r): Change argument names to match the
41929         comments. Add a conditional link warning.
41930         (mbstok_r): New declaration.
41931         * m4/mbstok_r.m4: New file.
41932         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41933         GNULIB_MBSTOK_R.
41934         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
41935         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
41936
41937 2007-02-04  Bruno Haible  <bruno@clisp.org>
41938
41939         New module mbsspn.
41940         * modules/mbsspn: New file.
41941         * lib/mbsspn.c: New file.
41942         * lib/string_.h (strspn): Add a conditional link warning.
41943         (mbsspn): New declaration.
41944         * m4/mbsspn.m4: New file.
41945         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41946         GNULIB_MBSSPN.
41947         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
41948         * MODULES.html.sh (Internationalization functions): Add mbsspn.
41949
41950 2007-02-04  Bruno Haible  <bruno@clisp.org>
41951
41952         New module mbspbrk.
41953         * modules/mbspbrk: New file.
41954         * lib/mbspbrk.c: New file.
41955         * lib/string_.h (strpbrk): Add a conditional link warning.
41956         (mbspbrk): New declaration.
41957         * m4/mbspbrk.m4: New file.
41958         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41959         GNULIB_MBSPBRK.
41960         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
41961         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
41962
41963 2007-02-04  Bruno Haible  <bruno@clisp.org>
41964
41965         New module mbscspn.
41966         * modules/mbscspn: New file.
41967         * lib/mbscspn.c: New file.
41968         * lib/string_.h (strcspn): Add a conditional link warning.
41969         (mbscspn): New declaration.
41970         * m4/mbscspn.m4: New file.
41971         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41972         GNULIB_MBSCSPN.
41973         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
41974         * MODULES.html.sh (Internationalization functions): Add mbscspn.
41975
41976 2007-02-04  Bruno Haible  <bruno@clisp.org>
41977
41978         New module mbscasestr, reduced goal of strcasestr.
41979         * modules/mbscasestr: New file.
41980         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
41981         (mbscasestr): Renamed from strcasestr.
41982         * lib/strcasestr.c: Don't include mbuiter.h.
41983         (strcasestr): Remove support for multibyte locales.
41984         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
41985         Change the conditional link warning.
41986         (mbscasestr): New declaration.
41987         * m4/mbscasestr.m4: New file.
41988         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
41989         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
41990         REPLACE_STRCASESTR.
41991         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
41992         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41993         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
41994         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
41995         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
41996         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
41997         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
41998         (Depends-on): Remove mbuiter.
41999         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
42000
42001 2007-02-04  Bruno Haible  <bruno@clisp.org>
42002
42003         Simplify handling of strncasecmp.
42004         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
42005         the conditional link warning.
42006         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42007         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
42008         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
42009         * modules/strcase (configure.ac): Don't invoke
42010         gl_STRING_MODULE_INDICATOR.
42011         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
42012
42013 2007-02-04  Bruno Haible  <bruno@clisp.org>
42014
42015         New module mbscasecmp, reduced goal of strcasecmp.
42016         * modules/mbscasecmp: New file.
42017         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
42018         (mbscasecmp): Renamed from strcasecmp.
42019         * lib/strcasecmp.c: Don't include mbuiter.h.
42020         (strcasecmp): Remove support for multibyte locales.
42021         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
42022         Change the conditional link warning.
42023         (mbscasecmp): New declaration.
42024         * m4/mbscasecmp.m4: New file.
42025         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
42026         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
42027         REPLACE_STRCASECMP.
42028         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
42029         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42030         GNULIB_MBSCASECMP.
42031         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
42032         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
42033         * modules/strcase (Files): Remove m4/mbrtowc.m4.
42034         (Depends-on): Remove mbuiter.
42035         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
42036
42037 2007-02-04  Bruno Haible  <bruno@clisp.org>
42038
42039         New module mbsstr. Remove module strstr.
42040         * modules/mbsstr: New file.
42041         * modules/strstr: Remove file.
42042         * lib/mbsstr.c: Renamed from lib/strstr.c.
42043         (mbsstr): Renamed from strstr.
42044         * lib/string_.h (strstr): Remove declaration. Change the conditional
42045         link warning.
42046         (mbsstr): New declaration.
42047         * m4/mbsstr.m4: New file.
42048         * m4/strstr.m4: Remove file.
42049         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
42050         REPLACE_STRSTR.
42051         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
42052         Don't initialize GNULIB_STRSTR.
42053         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
42054         substitute GNULIB_STRSTR and REPLACE_STRSTR.
42055         * MODULES.html.sh (Internationalization functions): Add mbsstr.
42056         (Support for systems lacking ANSI C 89): Remove strstr.
42057
42058 2007-02-04  Bruno Haible  <bruno@clisp.org>
42059
42060         New module mbsrchr.
42061         * modules/mbsrchr: New file.
42062         * lib/mbsrchr.c: New file.
42063         * lib/string_.h (strrchr): Add a conditional link warning.
42064         (mbsrchr): New declaration.
42065         * m4/mbsrchr.m4: New file.
42066         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42067         GNULIB_MBSRCHR.
42068         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
42069         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
42070
42071 2007-02-04  Bruno Haible  <bruno@clisp.org>
42072
42073         New module mbschr.
42074         * modules/mbschr: New file.
42075         * lib/mbschr.c: New file.
42076         * lib/string_.h (strchr): Add a conditional link warning.
42077         (mbschr): New declaration.
42078         * m4/mbschr.m4: New file.
42079         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42080         GNULIB_MBSCHR.
42081         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
42082         * MODULES.html.sh (Internationalization functions): Add mbschr.
42083
42084 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42085
42086         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
42087
42088         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
42089
42090 2007-02-04  Bruno Haible  <bruno@clisp.org>
42091
42092         New module description section 'configure.ac-early'.
42093         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
42094         (func_get_autoconf_early_snippet): New function.
42095         (func_import, func_create_testdir): Use it. Remove special cases for
42096         modules 'extensions' and 'lock'.
42097         * modules/extensions (configure.ac-early): Require
42098         gl_USE_SYSTEM_EXTENSIONS.
42099         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
42100
42101 2007-02-04  Bruno Haible  <bruno@clisp.org>
42102
42103         Make use of gcj-4.3's -fsource and -ftarget option.
42104         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
42105         and if so try the options -fsource and -ftarget.
42106         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
42107         source_version, ftarget_option, target_version arguments.
42108         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
42109         (is_envjavac_oldgcj_14_14_usable): Renamed from
42110         is_envjavac_gcj_14_14_usable.
42111         (is_envjavac_oldgcj_14_13_usable): Renamed from
42112         is_envjavac_gcj_14_13_usable.
42113         (is_gcj_present): Update.
42114         (is_gcj_43, is_gcj43_usable): New functions.
42115         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
42116         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
42117         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
42118         try the options -fsource and -ftarget.
42119
42120 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
42121
42122         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
42123         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
42124         larger value.
42125
42126 2007-02-03  Jim Meyering  <jim@meyering.net>
42127
42128         Give tools a better chance to allocate space for very large buffers.
42129         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
42130
42131         Make pwd and readlink work also when run with an unreadable parent dir
42132         on systems with openat support.
42133         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
42134         provided getcwd function, even when we have openat support.
42135         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
42136
42137 2007-02-02  Bruno Haible  <bruno@clisp.org>
42138
42139         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
42140         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
42141         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
42142         portability problems if one of these functions is only used on specific
42143         platforms.
42144         Reported by Paul Eggert.
42145
42146 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
42147
42148         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
42149         is causing more trouble than it's curing.
42150         * lib/regex_internal.h (__mempcpy): Remove.
42151         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
42152         (and make the code a tad smaller to boot).
42153         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
42154
42155 2007-02-02  Jim Meyering  <jim@meyering.net>
42156
42157         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
42158         section, not in the Makefile.am: one.
42159
42160 2007-02-02  Eric Blake  <ebb9@byu.net>
42161
42162         * lib/strchrnul.c: Always include config.h first.
42163
42164         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
42165         gnulib strstr is not necessary here.
42166
42167 2007-02-02  Simon Josefsson  <simon@josefsson.org>
42168
42169         * m4/socklen.m4: Fix typo.
42170
42171 2007-02-02  Eric Blake  <ebb9@byu.net>
42172
42173         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
42174         * modules/netinet_in (Makefile.am): Likewise.
42175
42176 2007-02-01  Bruno Haible  <bruno@clisp.org>
42177
42178         * lib/string_.h (GL_LINK_WARNING): New macro.
42179         (strcasecmp, strstr, strcasestr): If provided by the system,
42180         conditionally define as a macro that leads to a warning instead of to
42181         an error.
42182         (strncasecmp): Conditionally define as a macro that leads to a warning.
42183
42184 2007-02-01  Karl Berry  <karl@gnu.org>
42185
42186         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
42187
42188 2007-02-01  Bruno Haible  <bruno@clisp.org>
42189
42190         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
42191         renamings.
42192
42193 2007-02-01  Eric Blake  <ebb9@byu.net>
42194
42195         * modules/regex (Depends-on): Revert dependence on mempcpy.
42196         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
42197         module's definition of mempcpy.
42198         Reported by Paul Eggert.
42199
42200 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
42201
42202         * lib/string_.h: If the gnulib module XYZ is not present, undefine
42203         the symbol XYZ before redefining it.  This fixes a problem with
42204         programs that don't use XYZ, when compiled on systems that define
42205         XYZ to something else.
42206
42207 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
42208
42209         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
42210         occurs when "mkdir -m foo" creates a setgid directory that is (1)
42211         writeable to group or other and (2) is intended to have a special
42212         mode bit that is set or cleared.  In such a case, the directory
42213         should be neither group- nor other-writeable until the special
42214         mode bits are right.
42215
42216 2007-01-31  Eric Blake  <ebb9@byu.net>
42217
42218         * modules/mountlist (Depends-on): Add strstr.
42219
42220         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
42221         bug.
42222         * modules/string (Makefile.am): Remove redundant replacement.
42223         * modules/regex (Depends-on): Add mempcpy.
42224
42225 2007-01-31  Bruno Haible  <bruno@clisp.org>
42226
42227         New module description field 'Link'.
42228         * gnulib-tool (func_usage): Document --extract-link-directive.
42229         (sed_extract_prog): Recognize 'Link' directive.
42230         (func_get_link_directive): New function.
42231         (func_import): Show summary of link directives.
42232         Handle --extract-link-directive option.
42233         * modules/acl (Link): New section.
42234         * modules/clock-time (Link): New section.
42235         * modules/euidaccess (Link): New section.
42236         * modules/gettext (Link): New section.
42237         * modules/iconv (Link): New section.
42238         * modules/lock (Link): New section.
42239         * modules/nanosleep (Link): New section.
42240         * modules/readline (Link): New section.
42241
42242 2007-01-27  Bruno Haible  <bruno@clisp.org>
42243
42244         Enforce the use of gnulib modules for unportable <string.h> functions.
42245         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
42246         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
42247         (gl_HEADER_STRING_H_BODY): Require it.
42248         * lib/string_.h: If the gnulib module XYZ is not present, redefine
42249         the symbol XYZ to one that gives a link error.
42250         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
42251         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
42252         * modules/mempcpy (configure.ac): Likewise.
42253         * modules/memrchr (configure.ac): Likewise.
42254         * modules/stpcpy (configure.ac): Likewise.
42255         * modules/stpncpy (configure.ac): Likewise.
42256         * modules/strcase (configure.ac): Likewise.
42257         * modules/strcasestr (configure.ac): Likewise.
42258         * modules/strchrnul (configure.ac): Likewise.
42259         * modules/strdup (configure.ac): Likewise.
42260         * modules/strndup (configure.ac): Likewise.
42261         * modules/strnlen (configure.ac): Likewise.
42262         * modules/strpbrk (configure.ac): Likewise.
42263         * modules/strsep (configure.ac): Likewise.
42264         * modules/strstr (configure.ac): Likewise.
42265         * modules/strtok_r (configure.ac): Likewise.
42266
42267 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
42268
42269         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
42270
42271 2007-01-30  Jim Meyering  <jim@meyering.net>
42272
42273         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
42274
42275 2007-01-29  Bruno Haible  <bruno@clisp.org>
42276
42277         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
42278         * lib/execute.c: Likewise.
42279         * lib/pipe.c: Likewise.
42280         * lib/printf-args.h: Likewise.
42281         * lib/printf-args.c: Likewise.
42282         * lib/printf-parse.c: Likewise.
42283         * lib/vasnprintf.c: Likewise.
42284
42285 2007-01-29  Eric Blake  <ebb9@byu.net>
42286
42287         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
42288         declaration.
42289
42290 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
42291
42292         * lib/strptime.h (strptime): Use 'restrict' for args where
42293         POSIX requires this.
42294         * lib/strptime.c (strptime): Likewise.
42295         Change license notice from LGPL to GPL, since gnulib-tool will
42296         change this as needed.
42297         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
42298         defined.
42299         Include "strptime.h" first, to check interface.
42300         Do not #undef _LIBC and _NL_CURRENT.
42301         Do not include <stdlib.h>; no longer needed.
42302         Include "time_r.h" and declare ptime_locale_status
42303         only if _LIBC is not defined.
42304         (__P): Remove unused macro.
42305         (match_string): Bring back glibc version, but use it only if _LIBC
42306         is defined.
42307         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
42308         Remove unnecessary assertion and abort() call.
42309         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
42310         * m4/strptime.m4: Fix serial number comment.
42311         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
42312         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
42313         (Depends-on): Add time_r.
42314
42315 2007-01-29  Bruno Haible  <bruno@clisp.org>
42316
42317         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42318         strptime.
42319         * modules/strptime (Depends-on): Add stdbool.
42320         * lib/strptime.h: Include <time.h> always. Add comments.
42321
42322 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
42323
42324         * modules/strptime: New file.
42325         * lib/strptime.h: New file.
42326         * lib/strptime.c: New file.
42327         * m4/strptime.m4: New file.
42328
42329 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
42330
42331         * MODULES.html.sh: New module mpsort.
42332         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
42333
42334         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
42335         a circularity problem with HP-UX ia64 reported by Bob Proulx in
42336         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
42337         All uses changed.
42338         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
42339         All uses changed.
42340         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
42341         to _Restrict_.
42342         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
42343         the parameter matches the prototype.
42344
42345 2007-01-28  Jim Meyering  <jim@meyering.net>
42346
42347         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
42348         sys/time.h here, reverting that part of the previous patch:
42349         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
42350
42351 2007-01-28  Bruno Haible  <bruno@clisp.org>
42352
42353         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
42354         value of $(SYS_TIME_H).
42355         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
42356         remove it conditionally, too. [added by Jim Meyering]
42357         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
42358         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
42359         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
42360         GETTIMEOFDAY_REPLACEMENT to 1.
42361
42362 2007-01-28  Bruno Haible  <bruno@clisp.org>
42363
42364         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
42365         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
42366         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
42367         Set UNISTD_H instead of UNISTD_H2.
42368         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
42369
42370 2007-01-28  Bruno Haible  <bruno@clisp.org>
42371
42372         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
42373         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
42374
42375 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42376
42377         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
42378         (func_create_testdir): Ensure C locale for `grep' and `tr'
42379         character ranges.
42380         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
42381         ACLOCAL_AMFLAGS parsing state machine.
42382
42383 2007-01-27  Bruno Haible  <bruno@clisp.org>
42384
42385         * modules/unistr/base: Update.
42386
42387 2007-01-27  Bruno Haible  <bruno@clisp.org>
42388
42389         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
42390         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
42391         * modules/unistr/u32-mbtouc-unsafe: Renamed from
42392         modules/unistr/u32-mbtouc.
42393         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
42394         * lib/unistr.h: Update.
42395         * lib/linebreak.c: Update.
42396         * modules/unistr/u32-mbtouc: Renamed from
42397         modules/unistr/u32-mbtouc-safe.
42398         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
42399         * lib/unistr.h: Update.
42400         * lib/unistr/u32-to-u8.c: Update.
42401         * lib/unistr/u32-to-u16.c: Update.
42402
42403 2007-01-27  Bruno Haible  <bruno@clisp.org>
42404
42405         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
42406         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
42407         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
42408         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
42409         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
42410         * modules/unistr/u16-mbtouc-unsafe: Renamed from
42411         modules/unistr/u16-mbtouc.
42412         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
42413         * lib/unistr.h: Update.
42414         * lib/linebreak.c: Update.
42415         * modules/linebreak: Update.
42416         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
42417         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
42418         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
42419         * modules/unistr/u16-mbtouc: Renamed from
42420         modules/unistr/u16-mbtouc-safe.
42421         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
42422         * lib/unistr.h: Update.
42423         * lib/unistr/u16-to-u8.c: Update.
42424         * modules/unistr/u16-to-u8: Update.
42425         * lib/unistr/u16-to-u32.c: Update.
42426         * modules/unistr/u16-to-u32: Update.
42427
42428 2007-01-27  Bruno Haible  <bruno@clisp.org>
42429
42430         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
42431         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
42432         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
42433         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
42434         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
42435         * modules/unistr/u8-mbtouc-unsafe: Renamed from
42436         modules/unistr/u8-mbtouc.
42437         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
42438         * lib/unistr.h: Update.
42439         * lib/striconveh.c: Update.
42440         * modules/striconveh: Update.
42441         * lib/linebreak.c: Update.
42442         * modules/linebreak: Update.
42443         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
42444         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
42445         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
42446         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
42447         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
42448         * lib/unistr.h: Update.
42449         * lib/striconveh.c: Update.
42450         * modules/striconveh: Update.
42451         * lib/unistr/u8-to-u16.c: Update.
42452         * modules/unistr/u8-to-u16: Update.
42453         * lib/unistr/u8-to-u32.c: Update.
42454         * modules/unistr/u8-to-u32: Update.
42455
42456 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42457
42458         Sync from Libtool.
42459         * lib/argz.c: Do not include strings.h nor memory.h, include
42460         string.h unconditionally.  Patch by Simon Josefsson.
42461
42462 2007-01-27  Bruno Haible  <bruno@clisp.org>
42463
42464         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
42465         from gl_HEADER_STRING_H_BODY.
42466         (gl_HEADER_STRING_H_BODY): Require it.
42467         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
42468         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
42469         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
42470         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
42471         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
42472         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
42473         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42474         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
42475         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
42476         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
42477         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
42478         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
42479         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
42480         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42481         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
42482
42483 2007-01-27  Bruno Haible  <bruno@clisp.org>
42484
42485         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
42486         check_PROGRAMS into noinst_PROGRAMS.
42487         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
42488         check_PROGRAMS in this case.
42489         (func_import): Set for_test to false.
42490         (func_create_testdir): Set for_test to true.
42491
42492 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
42493             Bruno Haible  <bruno@clisp.org>
42494
42495         * modules/strcasestr (Files): Remove lib/strcasestr.h.
42496         (Depends-on): Add string.
42497         (Includes): Use <string.h> instead of strcasestr.h.
42498         * modules/string (Makefile.am): Also substitute the value of
42499         REPLACE_STRCASESTR.
42500         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
42501         assume strcasestr is declared in <string.h> not <strings.h>. Also
42502         set REPLACE_STRCASESTR.
42503         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
42504         REPLACE_STRCASESTR.
42505         * lib/strcasestr.h: Remove file.
42506         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
42507         * lib/string_.h (strcasestr): New declaration.
42508
42509 2007-01-27  Bruno Haible  <bruno@clisp.org>
42510
42511         * lib/string_.h: Use 'extern'.
42512
42513 2007-01-27  Jim Meyering  <jim@meyering.net>
42514
42515         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
42516         of set-but-not-used local, "q".
42517
42518         * lib/mempcpy.c: Include <config.h> before <string.h>.
42519         This fixes a compilation error on HP-UX, due to the system's
42520         "restrict"-using mempcpy prototype.
42521
42522 2007-01-26  Bruno Haible  <bruno@clisp.org>
42523
42524         Small optimization.
42525         * lib/javacomp.c: Include c-strstr.h.
42526          (is_envjavac_gcj): Use c_strstr instead of strstr.
42527         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
42528
42529 2007-01-26  Bruno Haible  <bruno@clisp.org>
42530
42531         * MODULES.html.sh (Unicode string functions): Add the new modules.
42532
42533         * modules/uniconv/u32-strconv-to-locale: New file.
42534         * lib/uniconv/u32-strconv-to-locale.c: New file.
42535
42536         * modules/uniconv/u16-strconv-to-locale: New file.
42537         * lib/uniconv/u16-strconv-to-locale.c: New file.
42538
42539         * modules/uniconv/u8-strconv-to-locale: New file.
42540         * lib/uniconv/u8-strconv-to-locale.c: New file.
42541
42542         * modules/uniconv/u32-strconv-from-locale: New file.
42543         * lib/uniconv/u32-strconv-from-locale.c: New file.
42544
42545         * modules/uniconv/u16-strconv-from-locale: New file.
42546         * lib/uniconv/u16-strconv-from-locale.c: New file.
42547
42548         * modules/uniconv/u8-strconv-from-locale: New file.
42549         * lib/uniconv/u8-strconv-from-locale.c: New file.
42550
42551         * modules/uniconv/u32-strconv-to-enc: New file.
42552         * lib/uniconv/u32-strconv-to-enc.c: New file.
42553         * modules/uniconv/u32-strconv-to-enc-tests: New file.
42554         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
42555
42556         * modules/uniconv/u16-strconv-to-enc: New file.
42557         * lib/uniconv/u16-strconv-to-enc.c: New file.
42558         * lib/uniconv/u-strconv-to-enc.h: New file.
42559         * modules/uniconv/u16-strconv-to-enc-tests: New file.
42560         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
42561
42562         * modules/uniconv/u8-strconv-to-enc: New file.
42563         * lib/uniconv/u8-strconv-to-enc.c: New file.
42564         * modules/uniconv/u8-strconv-to-enc-tests: New file.
42565         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
42566
42567         * modules/uniconv/u32-strconv-from-enc: New file.
42568         * lib/uniconv/u32-strconv-from-enc.c: New file.
42569         * modules/uniconv/u32-strconv-from-enc-tests: New file.
42570         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
42571
42572         * modules/uniconv/u16-strconv-from-enc: New file.
42573         * lib/uniconv/u16-strconv-from-enc.c: New file.
42574         * modules/uniconv/u16-strconv-from-enc-tests: New file.
42575         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
42576
42577         * modules/uniconv/u8-strconv-from-enc: New file.
42578         * lib/uniconv/u8-strconv-from-enc.c: New file.
42579         * lib/uniconv/u-strconv-from-enc.h: New file.
42580         * modules/uniconv/u8-strconv-from-enc-tests: New file.
42581         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
42582
42583         * modules/uniconv/u32-conv-from-enc: New file.
42584         * lib/uniconv/u32-conv-from-enc.c: New file.
42585         * modules/uniconv/u32-conv-from-enc-tests: New file.
42586         * tests/uniconv/test-u32-conv-from-enc.c: New file.
42587
42588         * modules/uniconv/u16-conv-from-enc: New file.
42589         * lib/uniconv/u16-conv-from-enc.c: New file.
42590         * lib/uniconv/u-conv-from-enc.h: New file.
42591         * modules/uniconv/u16-conv-from-enc-tests: New file.
42592         * tests/uniconv/test-u16-conv-from-enc.c: New file.
42593
42594         * modules/uniconv/u8-conv-from-enc: New file.
42595         * lib/uniconv/u8-conv-from-enc.c: New file.
42596         * modules/uniconv/u8-conv-from-enc-tests: New file.
42597         * tests/uniconv/test-u8-conv-from-enc.c: New file.
42598
42599         * modules/uniconv/base: New file.
42600         * lib/uniconv.h: New file.
42601
42602 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
42603
42604         * doc/gnulib-tool.texi (Initial import): Update to match current
42605         behavior with strdup module.
42606         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
42607         * lib/memmem.h: Remove; all uses removed.  This is now done
42608         by <string.h>.
42609         * lib/mempcpy.h: Likewise.
42610         * lib/memrchr.h: Likewise.
42611         * lib/stpcpy.h: Likewise.
42612         * lib/stpncpy.h: Likewise.
42613         * lib/strcase.h: Likewise.
42614         * lib/strchrnul.h: Likewise.
42615         * lib/strdup.h: Likewise.
42616         * lib/strndup.h: Likewise.
42617         * lib/strnlen.h: Likewise.
42618         * lib/strpbrk.h: Likewise.
42619         * lib/strsep.h: Likewise.
42620         * lib/strstr.h: Likewise.
42621         * lib/strtok_r.h: Likewise.
42622         * lib/string_.h: New file.
42623         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
42624         Rely on <string.h> instead.
42625         * lib/canon-host.c: Likewise.
42626         * lib/chdir-long.c: Likewise.
42627         * lib/concatpath.c: Likewise.
42628         * lib/exclude.c: Likewise.
42629         * lib/fchdir.c: Likewise.
42630         * lib/getaddrinfo.c: Likewise.
42631         * lib/getcwd.c: Likewise.
42632         * lib/getsubopt.c: Likewise.
42633         * lib/glob.c: Likewise.
42634         * lib/hard-locale.c: Likewise.
42635         * lib/iconvme.c: Likewise.
42636         * lib/javacomp.c: Likewise.
42637         * lib/mempcpy.c: Likewise.
42638         * lib/memrchr.c: Likewise.
42639         * lib/regex_internal.h: Likewise.
42640         * lib/stpncpy.c: Likewise.
42641         * lib/strcasecmp.c: Likewise.
42642         * lib/strchrnul.c: Likewise.
42643         * lib/strdup.c: Likewise.
42644         * lib/striconv.c: Likewise.
42645         * lib/striconveh.c: Likewise.
42646         * lib/striconveha.c: Likewise.
42647         * lib/strncasecmp.c: Likewise.
42648         * lib/strndup.c: Likewise.
42649         * lib/strnlen.c: Likewise.
42650         * lib/strsep.c: Likewise.
42651         * lib/strstr.c: Likewise.
42652         * lib/strtok_r.c: Likewise.
42653         * lib/userspec.c: Likewise.
42654         * lib/w32spawn.h: Likewise.
42655         * lib/xstrndup.c: Likewise.
42656         * lib/mountlist.c (strstr): Remove decl.
42657         * m4/string_h.m4: New file.
42658         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
42659         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
42660         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
42661         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
42662         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
42663         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
42664         Set REPLACE_STRCASECMP if necessary.
42665         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
42666         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
42667         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
42668         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
42669         HAVE_DECL_STRDUP if necessary.
42670         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
42671         since gl_FUNC_STRNDUP does that now.
42672         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
42673         Check for decl here...
42674         (gl_PREREQ_STRNLEN): ... not here.
42675         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
42676         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
42677         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
42678         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
42679         necessary.
42680         * modules/string: New file.
42681         * modules/memmem (Files): Remove special-purpose include file.
42682         (Depends-on): Add string.
42683         (Include): Include <string.h>, not the removed file.
42684         * modules/mempcpy: Likewise.
42685         * modules/memrchr: Likewise.
42686         * modules/stpcpy: Likewise.
42687         * modules/stpncpy: Likewise.
42688         * modules/strcase: Likewise.
42689         * modules/strchrnul: Likewise.
42690         * modules/strdup: Likewise.
42691         * modules/strndup: Likewise.
42692         * modules/strnlen: Likewise.
42693         * modules/strpbrk: Likewise.
42694         * modules/strsep: Likewise.
42695         * modules/strstr: Likewise.
42696         * modules/strtok_r: Likewise.
42697         * tests/test-dirname.c: Don't include "strdup.h", since
42698         <string.h> now suffices.
42699         * tests/test-memmem.c: Don't include "memmem.h", since
42700         <string.h> now suffices.
42701
42702 2007-01-25  Bruno Haible  <bruno@clisp.org>
42703
42704         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
42705         *resultp is 0.
42706
42707         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
42708         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
42709         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
42710         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
42711
42712         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
42713         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
42714         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
42715         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
42716         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
42717         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
42718
42719 2007-01-24  Bruno Haible  <bruno@clisp.org>
42720
42721         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
42722         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
42723         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
42724         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
42725         gl_FUNC_FTS_CORE.
42726         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
42727         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
42728         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
42729         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
42730         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
42731         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
42732         gl_FUNC_FCHOWNAT.
42733         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
42734         gl_FUNC_STRFTIME.
42735         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
42736         Reported by Ralf Wildenhues.
42737
42738 2007-01-24  Bruno Haible  <bruno@clisp.org>
42739
42740         Drop AC_REQUIRE calls that are redundant with the module dependencies.
42741         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
42742         gl_GETADDRINFO.
42743         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
42744         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
42745         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
42746
42747 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
42748
42749         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
42750         Don't use 'exit'; just return from 'main'.
42751         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
42752
42753         * lib/fnmatch_.h: Readjust white space and comments to match
42754         glibc, to avoid spurious diffs.
42755
42756 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42757
42758         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
42759         2004-12-01 change by Jakub Jelinek, since this code won't compile
42760         if !LIBC.  Problem reported by Bob Proulx.
42761
42762 2007-01-23  Bruno Haible  <bruno@clisp.org>
42763
42764         * lib/striconveh.c: Include c-strcaseeq.h.
42765         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
42766         * modules/striconveh (Depends-on): Add c-strcaseeq.
42767
42768 2007-01-23  Bruno Haible  <bruno@clisp.org>
42769
42770         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
42771
42772         * modules/c-strcaseeq: New file.
42773         * lib/c-strcaseeq.h: New file.
42774
42775         * modules/streq: New file.
42776         * lib/streq.h: New file.
42777
42778 2007-01-23  Bruno Haible  <bruno@clisp.org>
42779
42780         * modules/striconveha-tests: New file.
42781         * tests/test-striconveha.c: New file.
42782
42783         * lib/striconveha.h: Include <stdbool.h>.
42784         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
42785         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
42786         (mem_iconveha_notranslit): Renamed from mem_iconveha.
42787         (mem_iconveha): New function.
42788         (str_iconveha_notranslit): Renamed from str_iconveha.
42789         (str_iconveha): New function.
42790         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
42791         c-strcase.
42792
42793 2007-01-23  Bruno Haible  <bruno@clisp.org>
42794
42795         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
42796         encodings without forgiving before trying any encoding with handler.
42797         (str_iconveha): Try all encodings without forgiving before trying any
42798         encoding with handler.
42799
42800 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42801
42802         Import the following changes from libc.
42803
42804         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
42805
42806         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
42807
42808         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
42809
42810         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
42811         normal_bracket label.
42812
42813         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
42814
42815         [BZ #361]
42816         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
42817         to normal_bracket after fetching the next character.
42818
42819 2007-01-22  Bruno Haible  <bruno@clisp.org>
42820
42821         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
42822         argument.
42823         * lib/striconveh.c (iconv_carefully_1): New function.
42824         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
42825         argument.
42826         (str_cd_iconveh): Update.
42827         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
42828         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
42829         * tests/test-striconveh.c (MAGIC): New macro.
42830         (new_offsets): New function.
42831         (main): Test call with and without offsets.
42832
42833 2007-01-22  Bruno Haible  <bruno@clisp.org>
42834
42835         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
42836         * modules/sys_select (Makefile.am): Likewise.
42837         * modules/sys_socket (Makefile.am): Likewise.
42838         * modules/sys_time (Makefile.am): Likewise.
42839
42840 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
42841
42842         * modules/gettimeofday (License): Change from GPL to LGPL, since
42843         gettimeofday is a library function.
42844
42845 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42846
42847         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
42848
42849 2007-01-21  Bruno Haible  <bruno@clisp.org>
42850
42851         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
42852
42853 2007-01-21  Bruno Haible  <bruno@clisp.org>
42854
42855         * modules/striconveha: New file.
42856         * lib/striconveha.h: New file.
42857         * lib/striconveha.c: New file.
42858         * MODULES.html.sh (Internationalization functions): Add striconveha.
42859         * lib/striconv.c (str_iconv): Optimize the case of an empty input
42860         string.
42861         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
42862
42863 2007-01-21  Bruno Haible  <bruno@clisp.org>
42864
42865         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
42866         * lib/striconveh.c (str_iconveh): Likewise.
42867
42868 2007-01-21  Bruno Haible  <bruno@clisp.org>
42869
42870         * lib/striconveh.h (mem_iconveh): New declaration.
42871         * lib/striconveh.c (mem_iconveh): New function.
42872         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
42873
42874 2007-01-21  Bruno Haible  <bruno@clisp.org>
42875
42876         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
42877
42878         * lib/striconveh.h (mem_cd_iconveh): Change specification.
42879         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
42880         original result buffer.
42881         (str_cd_iconveh): Update.
42882         * tests/test-striconveh.c (main): Update.
42883
42884         * lib/striconv.h (mem_cd_iconv): Change specification.
42885         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
42886         result buffer.
42887         (str_cd_iconv): Update.
42888         * tests/test-striconv.c (main): Update.
42889
42890 2007-01-21  Bruno Haible  <bruno@clisp.org>
42891
42892         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
42893
42894 2007-01-20  Jim Meyering  <jim@meyering.net>
42895
42896         * lib/userspec.c (parse_with_separator): If a user or group string
42897         starts with "+", skip the corresponding name-to-ID look-up, since
42898         such a look-up must fail: user and group names may not include "+".
42899
42900 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
42901
42902         * lib/poll.c: Include sys/time.h and time.h unconditionally,
42903         since we now assume the sys_time module.
42904         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
42905         check for sys/time.h; no longer needed.
42906         * modules/poll (Depends-on): Depend on sys_time.
42907
42908 2007-01-18  Bruno Haible  <bruno@clisp.org>
42909
42910         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
42911         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
42912
42913         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
42914         gettimeofday.
42915
42916         * tests/test-gettimeofday.c: Include <time.h>.
42917         (dummy): Remove variable.
42918
42919         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
42920         gl_HEADER_SYS_TIME_H.
42921         (gl_HEADER_SYS_TIME_H): New macro.
42922
42923         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
42924         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42925         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
42926         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
42927         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42928         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
42929         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
42930         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42931         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
42932         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
42933         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42934
42935         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
42936         last change; it caused a compilation error when cross-compiling to
42937         Cygwin.
42938
42939 2007-01-18  Jim Meyering  <jim@meyering.net>
42940
42941         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
42942         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
42943         than the race-prone "test -d sys || mkdir sys".
42944         (configure.ac): Use AC_PROG_MKDIR_P.
42945         * modules/sys_select: Likewise.
42946         * modules/sys_socket: Likewise.
42947         * modules/sys_time: Likewise.
42948
42949 2007-01-18  Eric Blake  <ebb9@byu.net>
42950
42951         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
42952         replace gettimeofday.
42953         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
42954         name, to avoid infinite recursion.
42955
42956 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
42957
42958         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
42959         module sys_time.
42960         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
42961         assume timespec.h defines struct timeval.
42962         * lib/settime.c: Likewise.
42963         * lib/utimens.c: Likewise.
42964         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
42965         since we now assume the gettimeofday module.
42966         * lib/tempname.c (__gen_tempname): Likewise.
42967         * lib/gettimeofday.h: Remove.
42968         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
42969         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
42970         Include <time.h>, for 'time()'.
42971         (localtime_buffer_addr): Also use this workaround if
42972         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
42973         to simplify the uses.  All uses changed.
42974         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
42975         that #undef is inside {}, and 'const' follows type name consistently.
42976         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
42977         (gettimeofday): Do not use the maximum possible value for
42978         tv->tv_usec, since that might break usages other than ls.c.
42979         Instead, we'll leave ls.c alone.  This undoes today's patch
42980         by Bruno.  Add a compile-time warning for 1s-clock resolution;
42981         we've never observed the problem but might as well keep the
42982         canary.
42983         * lib/nanosleep.c: Include timespec.h first, for interface check.
42984         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
42985         now assume the sys_time module.
42986         * lib/tempname.c: Likewise.
42987         * lib/timespec.h: Likewise.
42988         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
42989         needed.
42990         * lib/strftime.c: Likewise.
42991         * lib/timespec.h: Likewise.
42992         * lib/posixtm.c: Include posixtm.h first, for interface check.
42993         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
42994         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
42995         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
42996         * lib/sys_time_.h: New file.
42997         * lib/timespec.h (struct timespec): Use long int, not long.
42998         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
42999         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
43000         Remove obsolescent call to AC_HEADER_TIME.
43001         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
43002         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43003         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
43004         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
43005         Likewise.
43006         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
43007         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
43008         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
43009         into the sys_time module.  Check for gettimeofday just once.
43010         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
43011         for gettimeofday signature to just check the signature.  Merely
43012         compile it, since linking doesn't test signature.  Improve test for
43013         whether gettimeofday.o is actually needed.
43014         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
43015         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
43016         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
43017         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43018         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
43019         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
43020         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
43021         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
43022         than worrying about sys/time.h.
43023         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
43024         Don't bother worrying about TIME_WITH_SYS_TIME.
43025         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43026         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
43027         * m4/sys_time_h.m4: New file.
43028         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
43029         Don't include sys/time.h.  Return from main rather than exiting.
43030         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
43031         all uses changed.
43032         * modules/gethrxtime (Depends-on): Add sys_time.
43033         * modules/gettime (Depends-on): Likewise.
43034         * modules/gettimeofday (Depends-on): Likewise.
43035         * modules/nanosleep (Depends-on): Likewise.
43036         * modules/settime (Depends-on): Likewise.
43037         * modules/tempname (Depends-on): Likewise.
43038         * modules/utimens (Depends-on): Likewise.
43039         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
43040         (Include:) Change back to <sys/time.h>.
43041         (Maintainer:) Add self.
43042         * modules/sys_time: New file.
43043         * modules/tempname (Depends-on): Add gettimeofday.
43044         * tests/test-gettimeofday.c: Include <sys/time.h>
43045         rather than gettimeofday.h.
43046
43047 2007-01-17  Bruno Haible  <bruno@clisp.org>
43048
43049         * gnulib-tool (func_get_license): Revert last patch. Instead, let
43050         the license default to GPL.
43051         (func_create_testdir): Don't complain if a module is LGPL and its
43052         tests module depends on GPLed modules.
43053
43054 2007-01-17  Bruno Haible  <bruno@clisp.org>
43055
43056         * lib/gettimeofday.c (gettimeofday): Add code for the case
43057         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
43058         maximum possible value for tv->tv_usec, rather than the minimum one.
43059
43060 2005-10-08  Martin Lambers  <marlam@marlam.de>
43061 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43062 2007-01-16  Bruno Haible  <bruno@clisp.org>
43063
43064         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
43065         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
43066         gl_FUNC_GETTIMEOFDAY.
43067         (Include): Add gettimeofday.h.
43068         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
43069         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
43070         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
43071         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
43072         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
43073         * lib/gettimeofday.h: New file.
43074         * lib/gettimeofday.c: Include <sys/timeb.h>.
43075         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
43076         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43077         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
43078         fall back on time().
43079
43080         * tests/test-gettimeofday.c: New file.
43081         * modules/gettimeofday-tests: New file.
43082
43083 2007-01-16  Eric Blake  <ebb9@byu.net>
43084
43085         * modules/fnmatch (Depends-on): Depend on wchar.
43086         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
43087         * m4/fnmatch.m4: Likewise.
43088         * modules/mbchar (Makefile.am): Assume <wchar.h>.
43089         * m4/mbchar.m4: Likewise.
43090         * modules/mbswidth (Depends-on): Depend on wchar.
43091         * lib/mbswidth.c: Assume <wchar.h>.
43092         * m4/mbswidth.m4: Likewise.
43093         * modules/quotearg (Depends-on): Depend on wchar.
43094         * lib/quotearg.c: Assume <wchar.h>.
43095         * m4/quotearg.m4: Likewise.
43096         * modules/regex (Depends-on): Depend on wchar.
43097         * lib/regex_internal.h: Assume <wchar.h>.
43098         * m4/regex.m4: Likewise.
43099         * modules/stdint (Depends-on): Depend on wchar.
43100         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
43101         * m4/stdint.m4: Likewise.
43102         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
43103         * modules/strftime (Depends-on): Depend on wchar.
43104         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
43105         * modules/strtol (Depends-on): Depend on wchar.
43106         * lib/strtol.c: Assume <wchar.h>.
43107         * modules/wcwidth (Depends-on): Depend on wchar.
43108         * lib/wcwidth.h: Assume <wchar.h>.
43109         * m4/wcwidth.m4: Likewise.
43110
43111 2007-01-16  Bruno Haible  <bruno@clisp.org>
43112
43113         * modules/csharpexec-script: New, created from...
43114         * modules/csharpexec: ... this.
43115
43116 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
43117
43118         * modules/javaexec-script: New, created from...
43119         * modules/javaexec: ... this.
43120
43121 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43122
43123         * modules/poll (Dependencies): Add sys_select.
43124
43125 2007-01-15  Jim Meyering  <jim@meyering.net>
43126
43127         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
43128         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
43129         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
43130         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
43131
43132 2007-01-15  Bruno Haible  <bruno@clisp.org>
43133
43134         * modules/striconveh: New file.
43135         * lib/striconveh.h: New file.
43136         * lib/striconveh.c: New file.
43137         * MODULES.html.sh (Internationalization functions): Add striconveh.
43138
43139         * modules/striconveh-tests: New file.
43140         * tests/test-striconveh.c: New file.
43141
43142 2007-01-15  Bruno Haible  <bruno@clisp.org>
43143
43144         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
43145         not from GNU libiconv or GNU libc.
43146
43147 2007-01-15  Bruno Haible  <bruno@clisp.org>
43148
43149         * doc/gnulib-intro.texi (Copyright): Explain the different license
43150         terms for module descriptions, autoconf macros, tests, documentation.
43151
43152 2007-01-14  Bruno Haible  <bruno@clisp.org>
43153
43154         * modules/striconv-tests: New file.
43155         * tests/test-striconv.c: New file.
43156
43157 2007-01-14  Bruno Haible  <bruno@clisp.org>
43158
43159         * modules/iconv-tests: New file.
43160         * tests/test-iconv.c: New file.
43161
43162 2007-01-14  Bruno Haible  <bruno@clisp.org>
43163
43164         * gnulib-tool (func_get_license): For test modules, use the license of
43165         the main module.
43166
43167 2007-01-14  Bruno Haible  <bruno@clisp.org>
43168
43169         * modules/iconv (Include): Clarify that <iconv.h> can only be included
43170         if iconv is found to exist.
43171
43172 2007-01-14  Bruno Haible  <bruno@clisp.org>
43173
43174         * modules/c-ctype-tests: New file.
43175         * tests/test-c-ctype.c: New file.
43176
43177 2007-01-14  Bruno Haible  <bruno@clisp.org>
43178
43179         * modules/binary-io-tests: New file.
43180         * tests/test-binary-io.sh: New file.
43181         * tests/test-binary-io.c: New file.
43182
43183 2007-01-14  Bruno Haible  <bruno@clisp.org>
43184
43185         * modules/array-oset-tests: New file.
43186         * tests/test-array_oset.c: New file.
43187
43188 2007-01-14  Bruno Haible  <bruno@clisp.org>
43189
43190         * modules/array-list-tests: New file.
43191         * tests/test-array_list.c: New file.
43192
43193 2007-01-14  Bruno Haible  <bruno@clisp.org>
43194
43195         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
43196         and make.
43197         Reported by Simon Josefsson in
43198         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
43199
43200 2007-01-14  Bruno Haible  <bruno@clisp.org>
43201
43202         * modules/allocsa-tests: New file.
43203         * tests/test-allocsa.c: New file.
43204
43205 2007-01-14  Bruno Haible  <bruno@clisp.org>
43206
43207         * modules/fchdir (Depends-on): Add absolute-header.
43208         * modules/unistd (Depends-on): Likewise.
43209
43210 2006-12-30  Bruno Haible  <bruno@clisp.org>
43211
43212         * modules/fchdir: New file.
43213         * modules/unistd (Files): Add lib/unistd_.h.
43214         (Makefile.am): Generate unistd.h from unistd_.h.
43215         * lib/fchdir.c: New file.
43216         * lib/dirent_.h: New file.
43217         * lib/unistd_.h: New file.
43218         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
43219         * m4/fchdir.m4: New file.
43220         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
43221         (gl_HEADER_UNISTD): Invoke it.
43222         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
43223         function.
43224         * lib/backupfile.c (opendir, closedir): Undefine.
43225         * lib/chown.c (open, close): Undefine.
43226         * lib/clean-temp.c (open, close): Undefine.
43227         * lib/copy-file.c (open, close): Undefine.
43228         * lib/execute.c (open, close): Undefine.
43229         * lib/fsusage.c (open, close): Undefine.
43230         * lib/gc-gnulib.c (open, close): Undefine.
43231         * lib/getcwd.c (opendir, closedir): Undefine.
43232         * lib/glob.c (opendir, closedir): Undefine.
43233         * lib/javacomp.c (open, close): Undefine.
43234         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
43235         * lib/openat-proc.c (open, close): Undefine.
43236         * lib/pagealign_alloc.c (open, close): Undefine.
43237         * lib/pipe.c (open, close): Undefine.
43238         * lib/progreloc.c (open, close): Undefine.
43239         * lib/savedir.c (opendir, closedir): Undefine.
43240         * lib/utime.c (open, close): Undefine.
43241         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
43242
43243 2007-01-10  Bruno Haible  <bruno@clisp.org>
43244
43245         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
43246
43247 2007-01-12  Eric Blake  <ebb9@byu.net>
43248
43249         Provide a robust <wchar.h>.  Further simplifications are now
43250         possible in other modules, but not included here.
43251         * modules/wchar: New module.
43252         * m4/wchar.m4: New file.
43253         * lib/wchar_.h: Likewise.
43254         * modules/mbchar (Depends-on): Depend on wchar, as the first use
43255         of the new module.
43256         * MODULES.html.sh (Extended multibyte and wide character utilities):
43257         New section.
43258
43259 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
43260
43261         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
43262         to a reasonable default for memory allocation.
43263         (xreadlink): Don't allocate a huge buffer, to work around a buggy
43264         file system that reports garbage st_size values for symlinks.
43265         Problem reported by Liyang Hu.
43266
43267 2007-01-11  Simon Josefsson  <simon@josefsson.org>
43268
43269         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
43270         Emacs .#* auto-save files).
43271
43272 2007-01-11  Bruno Haible  <bruno@clisp.org>
43273
43274         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
43275         directory.
43276
43277 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
43278
43279         Use @...@ consistently in lib/wctype_.h.
43280         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
43281         on it being set to 1 or 0.
43282         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
43283         go back to AC_SUBSTing it.
43284         * modules/wctype (Makefile.am): Undo previous change.
43285
43286 2007-01-10  Eric Blake  <ebb9@byu.net>
43287
43288         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
43289         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
43290         * modules/wctype (Makefile.am): Likewise.
43291         Reported by Chris McGuire.
43292
43293 2007-01-10  Jim Meyering  <jim@meyering.net>
43294
43295         fts.c: a small readability/maintainability improvement
43296         * lib/fts.c (fts_read): Make this code slightly more readable and
43297         maintainable by hoisting the "sp->fts_cur = p" assignments to
43298         immediately follow the statements that set P.  Derived from
43299         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
43300
43301 2007-01-10  Eric Blake  <ebb9@byu.net>
43302
43303         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
43304         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
43305         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
43306         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
43307         Reported by Chris McGuire.
43308
43309 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43310
43311         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
43312         in sed script.
43313
43314 2007-01-09  Bruno Haible  <bruno@clisp.org>
43315
43316         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
43317         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
43318         variables.
43319         (func_module): Use them.
43320
43321 2007-01-09  Bruno Haible  <bruno@clisp.org>
43322
43323         * modules/unistr/base: New file.
43324         * lib/unistr.h: New file.
43325
43326         * modules/unistr/u8-to-u16: New file.
43327         * lib/unistr/u8-to-u16.c: New file.
43328
43329         * modules/unistr/u8-to-u32: New file.
43330         * lib/unistr/u8-to-u32.c: New file.
43331
43332         * modules/unistr/u16-to-u8: New file.
43333         * lib/unistr/u16-to-u8.c: New file.
43334
43335         * modules/unistr/u16-to-u32: New file.
43336         * lib/unistr/u16-to-u32.c: New file.
43337
43338         * modules/unistr/u32-to-u8: New file.
43339         * lib/unistr/u32-to-u8.c: New file.
43340
43341         * modules/unistr/u32-to-u16: New file.
43342         * lib/unistr/u32-to-u16.c: New file.
43343
43344         * modules/unistr/u8-check: New file.
43345         * modules/unistr/u16-check: New file.
43346         * modules/unistr/u32-check: New file.
43347         * lib/unistr/u8-check.c: New file.
43348         * lib/unistr/u16-check.c: New file.
43349         * lib/unistr/u32-check.c: New file.
43350
43351         * modules/unistr/u8-chr: New file.
43352         * modules/unistr/u16-chr: New file.
43353         * modules/unistr/u32-chr: New file.
43354         * lib/unistr/u8-chr.c: New file.
43355         * lib/unistr/u16-chr.c: New file.
43356         * lib/unistr/u32-chr.c: New file.
43357
43358         * modules/unistr/u8-cmp: New file.
43359         * modules/unistr/u16-cmp: New file.
43360         * modules/unistr/u32-cmp: New file.
43361         * lib/unistr/u8-cmp.c: New file.
43362         * lib/unistr/u16-cmp.c: New file.
43363         * lib/unistr/u32-cmp.c: New file.
43364
43365         * modules/unistr/u8-cpy: New file.
43366         * modules/unistr/u16-cpy: New file.
43367         * modules/unistr/u32-cpy: New file.
43368         * lib/unistr/u8-cpy.c: New file.
43369         * lib/unistr/u16-cpy.c: New file.
43370         * lib/unistr/u32-cpy.c: New file.
43371         * lib/unistr/u-cpy.h: New file.
43372
43373         * modules/unistr/u8-cpy-alloc: New file.
43374         * modules/unistr/u16-cpy-alloc: New file.
43375         * modules/unistr/u32-cpy-alloc: New file.
43376         * lib/unistr/u8-cpy-alloc.c: New file.
43377         * lib/unistr/u16-cpy-alloc.c: New file.
43378         * lib/unistr/u32-cpy-alloc.c: New file.
43379         * lib/unistr/u-cpy-alloc.h: New file.
43380
43381         * modules/unistr/u8-endswith: New file.
43382         * modules/unistr/u16-endswith: New file.
43383         * modules/unistr/u32-endswith: New file.
43384         * lib/unistr/u8-endswith.c: New file.
43385         * lib/unistr/u16-endswith.c: New file.
43386         * lib/unistr/u32-endswith.c: New file.
43387         * lib/unistr/u-endswith.h: New file.
43388
43389         * modules/unistr/u8-mblen: New file.
43390         * modules/unistr/u16-mblen: New file.
43391         * modules/unistr/u32-mblen: New file.
43392         * lib/unistr/u8-mblen.c: New file.
43393         * lib/unistr/u16-mblen.c: New file.
43394         * lib/unistr/u32-mblen.c: New file.
43395
43396         * modules/unistr/u8-mbtouc: New file.
43397         * modules/unistr/u16-mbtouc: New file.
43398         * modules/unistr/u32-mbtouc: New file.
43399         * lib/unistr/u8-mbtouc.c: New file.
43400         * lib/unistr/u16-mbtouc.c: New file.
43401         * lib/unistr/u32-mbtouc.c: New file.
43402
43403         * modules/unistr/u8-mbtouc-safe: New file.
43404         * modules/unistr/u16-mbtouc-safe: New file.
43405         * modules/unistr/u32-mbtouc-safe: New file.
43406         * lib/unistr/u8-mbtouc-safe.c: New file.
43407         * lib/unistr/u16-mbtouc-safe.c: New file.
43408         * lib/unistr/u32-mbtouc-safe.c: New file.
43409
43410         * modules/unistr/u8-move: New file.
43411         * modules/unistr/u16-move: New file.
43412         * modules/unistr/u32-move: New file.
43413         * lib/unistr/u8-move.c: New file.
43414         * lib/unistr/u16-move.c: New file.
43415         * lib/unistr/u32-move.c: New file.
43416         * lib/unistr/u-move.h: New file.
43417
43418         * modules/unistr/u8-next: New file.
43419         * modules/unistr/u16-next: New file.
43420         * modules/unistr/u32-next: New file.
43421         * lib/unistr/u8-next.c: New file.
43422         * lib/unistr/u16-next.c: New file.
43423         * lib/unistr/u32-next.c: New file.
43424
43425         * modules/unistr/u8-prev: New file.
43426         * modules/unistr/u16-prev: New file.
43427         * modules/unistr/u32-prev: New file.
43428         * lib/unistr/u8-prev.c: New file.
43429         * lib/unistr/u16-prev.c: New file.
43430         * lib/unistr/u32-prev.c: New file.
43431
43432         * modules/unistr/u8-set: New file.
43433         * modules/unistr/u16-set: New file.
43434         * modules/unistr/u32-set: New file.
43435         * lib/unistr/u8-set.c: New file.
43436         * lib/unistr/u16-set.c: New file.
43437         * lib/unistr/u32-set.c: New file.
43438         * lib/unistr/u-set.h: New file.
43439
43440         * modules/unistr/u8-startswith: New file.
43441         * modules/unistr/u16-startswith: New file.
43442         * modules/unistr/u32-startswith: New file.
43443         * lib/unistr/u8-startswith.c: New file.
43444         * lib/unistr/u16-startswith.c: New file.
43445         * lib/unistr/u32-startswith.c: New file.
43446         * lib/unistr/u-startswith.h: New file.
43447
43448         * modules/unistr/u8-stpcpy: New file.
43449         * modules/unistr/u16-stpcpy: New file.
43450         * modules/unistr/u32-stpcpy: New file.
43451         * lib/unistr/u8-stpcpy.c: New file.
43452         * lib/unistr/u16-stpcpy.c: New file.
43453         * lib/unistr/u32-stpcpy.c: New file.
43454         * lib/unistr/u-stpcpy.h: New file.
43455
43456         * modules/unistr/u8-stpncpy: New file.
43457         * modules/unistr/u16-stpncpy: New file.
43458         * modules/unistr/u32-stpncpy: New file.
43459         * lib/unistr/u8-stpncpy.c: New file.
43460         * lib/unistr/u16-stpncpy.c: New file.
43461         * lib/unistr/u32-stpncpy.c: New file.
43462         * lib/unistr/u-stpncpy.h: New file.
43463
43464         * modules/unistr/u8-strcat: New file.
43465         * modules/unistr/u16-strcat: New file.
43466         * modules/unistr/u32-strcat: New file.
43467         * lib/unistr/u8-strcat.c: New file.
43468         * lib/unistr/u16-strcat.c: New file.
43469         * lib/unistr/u32-strcat.c: New file.
43470         * lib/unistr/u-strcat.h: New file.
43471
43472         * modules/unistr/u8-strchr: New file.
43473         * modules/unistr/u16-strchr: New file.
43474         * modules/unistr/u32-strchr: New file.
43475         * lib/unistr/u8-strchr.c: New file.
43476         * lib/unistr/u16-strchr.c: New file.
43477         * lib/unistr/u32-strchr.c: New file.
43478
43479         * modules/unistr/u8-strcmp: New file.
43480         * modules/unistr/u16-strcmp: New file.
43481         * modules/unistr/u32-strcmp: New file.
43482         * lib/unistr/u8-strcmp.c: New file.
43483         * lib/unistr/u16-strcmp.c: New file.
43484         * lib/unistr/u32-strcmp.c: New file.
43485
43486         * modules/unistr/u8-strcpy: New file.
43487         * modules/unistr/u16-strcpy: New file.
43488         * modules/unistr/u32-strcpy: New file.
43489         * lib/unistr/u8-strcpy.c: New file.
43490         * lib/unistr/u16-strcpy.c: New file.
43491         * lib/unistr/u32-strcpy.c: New file.
43492         * lib/unistr/u-strcpy.h: New file.
43493
43494         * modules/unistr/u8-strcspn: New file.
43495         * modules/unistr/u16-strcspn: New file.
43496         * modules/unistr/u32-strcspn: New file.
43497         * lib/unistr/u8-strcspn.c: New file.
43498         * lib/unistr/u16-strcspn.c: New file.
43499         * lib/unistr/u32-strcspn.c: New file.
43500         * lib/unistr/u-strcspn.h: New file.
43501
43502         * modules/unistr/u8-strdup: New file.
43503         * modules/unistr/u16-strdup: New file.
43504         * modules/unistr/u32-strdup: New file.
43505         * lib/unistr/u8-strdup.c: New file.
43506         * lib/unistr/u16-strdup.c: New file.
43507         * lib/unistr/u32-strdup.c: New file.
43508         * lib/unistr/u-strdup.h: New file.
43509
43510         * modules/unistr/u8-strlen: New file.
43511         * modules/unistr/u16-strlen: New file.
43512         * modules/unistr/u32-strlen: New file.
43513         * lib/unistr/u8-strlen.c: New file.
43514         * lib/unistr/u16-strlen.c: New file.
43515         * lib/unistr/u32-strlen.c: New file.
43516         * lib/unistr/u-strlen.h: New file.
43517
43518         * modules/unistr/u8-strmblen: New file.
43519         * modules/unistr/u16-strmblen: New file.
43520         * modules/unistr/u32-strmblen: New file.
43521         * lib/unistr/u8-strmblen.c: New file.
43522         * lib/unistr/u16-strmblen.c: New file.
43523         * lib/unistr/u32-strmblen.c: New file.
43524
43525         * modules/unistr/u8-strmbtouc: New file.
43526         * modules/unistr/u16-strmbtouc: New file.
43527         * modules/unistr/u32-strmbtouc: New file.
43528         * lib/unistr/u8-strmbtouc.c: New file.
43529         * lib/unistr/u16-strmbtouc.c: New file.
43530         * lib/unistr/u32-strmbtouc.c: New file.
43531
43532         * modules/unistr/u8-strncat: New file.
43533         * modules/unistr/u16-strncat: New file.
43534         * modules/unistr/u32-strncat: New file.
43535         * lib/unistr/u8-strncat.c: New file.
43536         * lib/unistr/u16-strncat.c: New file.
43537         * lib/unistr/u32-strncat.c: New file.
43538         * lib/unistr/u-strncat.h: New file.
43539
43540         * modules/unistr/u8-strncmp: New file.
43541         * modules/unistr/u16-strncmp: New file.
43542         * modules/unistr/u32-strncmp: New file.
43543         * lib/unistr/u8-strncmp.c: New file.
43544         * lib/unistr/u16-strncmp.c: New file.
43545         * lib/unistr/u32-strncmp.c: New file.
43546
43547         * modules/unistr/u8-strncpy: New file.
43548         * modules/unistr/u16-strncpy: New file.
43549         * modules/unistr/u32-strncpy: New file.
43550         * lib/unistr/u8-strncpy.c: New file.
43551         * lib/unistr/u16-strncpy.c: New file.
43552         * lib/unistr/u32-strncpy.c: New file.
43553         * lib/unistr/u-strncpy.h: New file.
43554
43555         * modules/unistr/u8-strnlen: New file.
43556         * modules/unistr/u16-strnlen: New file.
43557         * modules/unistr/u32-strnlen: New file.
43558         * lib/unistr/u8-strnlen.c: New file.
43559         * lib/unistr/u16-strnlen.c: New file.
43560         * lib/unistr/u32-strnlen.c: New file.
43561         * lib/unistr/u-strnlen.h: New file.
43562
43563         * modules/unistr/u8-strpbrk: New file.
43564         * modules/unistr/u16-strpbrk: New file.
43565         * modules/unistr/u32-strpbrk: New file.
43566         * lib/unistr/u8-strpbrk.c: New file.
43567         * lib/unistr/u16-strpbrk.c: New file.
43568         * lib/unistr/u32-strpbrk.c: New file.
43569         * lib/unistr/u-strpbrk.h: New file.
43570
43571         * modules/unistr/u8-strrchr: New file.
43572         * modules/unistr/u16-strrchr: New file.
43573         * modules/unistr/u32-strrchr: New file.
43574         * lib/unistr/u8-strrchr.c: New file.
43575         * lib/unistr/u16-strrchr.c: New file.
43576         * lib/unistr/u32-strrchr.c: New file.
43577
43578         * modules/unistr/u8-strspn: New file.
43579         * modules/unistr/u16-strspn: New file.
43580         * modules/unistr/u32-strspn: New file.
43581         * lib/unistr/u8-strspn.c: New file.
43582         * lib/unistr/u16-strspn.c: New file.
43583         * lib/unistr/u32-strspn.c: New file.
43584         * lib/unistr/u-strspn.h: New file.
43585
43586         * modules/unistr/u8-strstr: New file.
43587         * modules/unistr/u16-strstr: New file.
43588         * modules/unistr/u32-strstr: New file.
43589         * lib/unistr/u8-strstr.c: New file.
43590         * lib/unistr/u16-strstr.c: New file.
43591         * lib/unistr/u32-strstr.c: New file.
43592         * lib/unistr/u-strstr.h: New file.
43593
43594         * modules/unistr/u8-strtok: New file.
43595         * modules/unistr/u16-strtok: New file.
43596         * modules/unistr/u32-strtok: New file.
43597         * lib/unistr/u8-strtok.c: New file.
43598         * lib/unistr/u16-strtok.c: New file.
43599         * lib/unistr/u32-strtok.c: New file.
43600         * lib/unistr/u-strtok.h: New file.
43601
43602         * modules/unistr/u8-uctomb: New file.
43603         * modules/unistr/u16-uctomb: New file.
43604         * modules/unistr/u32-uctomb: New file.
43605         * lib/unistr/u8-uctomb.c: New file.
43606         * lib/unistr/u16-uctomb.c: New file.
43607         * lib/unistr/u32-uctomb.c: New file.
43608
43609         * MODULES.html.sh (Unicode string functions): Add the new modules.
43610
43611 2007-01-08  Bruno Haible  <bruno@clisp.org>
43612
43613         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
43614         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
43615         subdirectories.
43616
43617 2007-01-08  Karl Berry  <karl@gnu.org>
43618
43619         * doc/error.texi: mention that main() fns must set program_name
43620         when progname is used.
43621
43622 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
43623
43624         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
43625         WCTYPE_H is empty, for the benefit of builds from non-distclean
43626         directories.  Problem reported by Eric Blake in
43627         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
43628
43629 2007-01-08  Bruno Haible  <bruno@clisp.org>
43630
43631         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
43632         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
43633         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
43634         PROVIDE_CANONICALIZE_FILENAME_MODE.
43635         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
43636
43637 2007-01-08  Bruno Haible  <bruno@clisp.org>
43638
43639         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
43640         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
43641         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
43642         * lib/fts.c: Likewise.
43643         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
43644
43645 2006-12-25  Bruno Haible  <bruno@clisp.org>
43646
43647         * modules/utf8-ucs4-safe: New file.
43648         * lib/utf8-ucs4-safe.h: New file.
43649         * lib/unistr/utf8-ucs4-safe.c: New file.
43650
43651         * modules/utf16-ucs4-safe: New file.
43652         * lib/utf16-ucs4-safe.h: New file.
43653         * lib/unistr/utf16-ucs4-safe.c: New file.
43654
43655         * MODULES.html.sh (Unicode string functions): Add the new modules.
43656
43657 2007-01-08  Bruno Haible  <bruno@clisp.org>
43658
43659         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
43660         (Depends-on): Add unitypes.
43661         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
43662         (u8_mbtouc_aux): Move out to separate file.
43663         (u8_mbtouc): Use ucs4_t, uint8_t types.
43664         * lib/unistr/utf8-ucs4.c: New file.
43665
43666         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
43667         (Depends-on): Add unitypes.
43668         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
43669         (u16_mbtouc_aux): Move out to separate file.
43670         (u16_mbtouc): Use ucs4_t, uint16_t types.
43671         * lib/unistr/utf16-ucs4.c: New file.
43672
43673         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
43674         (Depends-on): Add unitypes.
43675         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
43676         (u8_uctomb_aux): Move out to separate file.
43677         (u8_uctomb): Use ucs4_t, uint8_t types.
43678         * lib/unistr/ucs4-utf8.c: New file.
43679
43680         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
43681         (Depends-on): Add unitypes.
43682         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
43683         (u16_uctomb_aux): Move out to separate file.
43684         (u16_uctomb): Use ucs4_t, uint16_t types.
43685         * lib/unistr/ucs4-utf16.c: New file.
43686
43687 2006-12-25  Bruno Haible  <bruno@clisp.org>
43688
43689         * modules/unitypes: New file.
43690         * lib/unitypes.h: New file.
43691         * MODULES.html.sh (func_all_modules): New section "Unicode string
43692         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
43693         this section. Add unitypes.
43694
43695 2007-01-08  Bruno Haible  <bruno@clisp.org>
43696
43697         Avoid variable names that conflict with those from libtool.
43698         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
43699         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
43700         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
43701         library_names_spec to acl_library_names_spec, hardcode_* to
43702         acl_hardcode_*.
43703         Reported by Ralf Wildenhues.
43704
43705 2007-01-08  Bruno Haible  <bruno@clisp.org>
43706
43707         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
43708         definition.
43709         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
43710         definition.
43711         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
43712         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
43713         definition.
43714         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
43715         definition.
43716         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
43717         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
43718         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
43719         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
43720         definition.
43721         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
43722         definition.
43723         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
43724         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
43725         GC_USE_<algorithm>.
43726         * lib/gc-libgcrypt.c: Likewise.
43727         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
43728         * modules/gc-arctwo (configure.ac): Likewise.
43729         * modules/gc-des (configure.ac): Likewise.
43730         * modules/gc-hmac-md5 (configure.ac): Likewise.
43731         * modules/gc-hmac-sha1 (configure.ac): Likewise.
43732         * modules/gc-md2 (configure.ac): Likewise.
43733         * modules/gc-md4 (configure.ac): Likewise.
43734         * modules/gc-md5 (configure.ac): Likewise.
43735         * modules/gc-random (configure.ac): Likewise.
43736         * modules/gc-rijndael (configure.ac): Likewise.
43737         * modules/gc-sha1 (configure.ac): Likewise.
43738
43739 2007-01-08  Bruno Haible  <bruno@clisp.org>
43740
43741         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
43742         macro definition.
43743         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
43744         definition.
43745         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
43746         definition.
43747         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
43748         * modules/fcntl-safer (configure.ac): Likewise.
43749         * modules/fopen-safer (configure.ac): Likewise.
43750         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
43751         GNULIB_FWRITEERROR macro definition.
43752
43753 2007-01-08  Bruno Haible  <bruno@clisp.org>
43754
43755         * m4/gnulib-common.m4: New file.
43756         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
43757         (func_get_filelist): Add m4/gnulib-common.m4.
43758
43759 2007-01-08  Bruno Haible  <bruno@clisp.org>
43760
43761         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
43762         command.
43763
43764 2007-01-08  Jim Meyering  <jim@meyering.net>
43765
43766         Use a more robust test for a "can't happen" condition.
43767         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
43768         narrowed the st_size value.  Presuming the "can't happen" condition
43769         is true, that narrowing could conceivably convert an invalid st_size
43770         value into a valid one.  Instead, use a change based on Matthew
43771         Woehlke's original patch.
43772
43773         Slight readability improvement: use an assert-like macro
43774         in place of literal "abort ()" uses.
43775         * lib/fts.c (fts_assert): Define.
43776         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
43777         Use this macro instead of a bare 'abort'.
43778
43779 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
43780
43781         Don't worry about using IRIX 5.3's wctype.h broken definitions;
43782         simply work around them.
43783         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
43784         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
43785         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
43786         declaring.
43787         Don't bother to define as macros, since the standard doesn't require it.
43788         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
43789         longer worry about IRIX 5.3.
43790         (HAVE_WCTYPE_CTMP_BUG): Remove.
43791
43792 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43793
43794         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
43795         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
43796         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
43797         Problems reported by Georg Schwarz for IRIX 5.3.
43798
43799         * gnulib-tool (autoconf_minversion): Take the maximum version number
43800         found, not the minimum.  Problem reported by James Youngman.
43801
43802 2007-01-03  Karl Berry  <karl@gnu.org>
43803
43804         * doc/error.texi: new file, explaining interaction with progname.
43805         * doc/gnulib.texi: include it.  Update copyright.
43806
43807 2007-01-03  Simon Josefsson  <simon@josefsson.org>
43808
43809         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
43810         AC_CANONICAL_HOST, to improve autobuild outputs.
43811
43812 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
43813             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
43814
43815         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
43816         sockets, server sockets, and other file descriptors.  Count errors
43817         to compute the return value.  Reorder the code a bit to be easier
43818         to follow.  Don't set event bits that were not requested (except
43819         POLLERR and POLLHUP).
43820
43821 2007-01-01  Bruno Haible  <bruno@clisp.org>
43822
43823         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
43824
43825 2007-01-03  Jim Meyering  <jim@meyering.net>
43826
43827         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
43828
43829 2007-01-02  Bruno Haible  <bruno@clisp.org>
43830
43831         * modules/settime (Include): Require timespec.h.
43832         * modules/nanosleep (Include): Likewise.
43833
43834 2007-01-01  Bruno Haible  <bruno@clisp.org>
43835
43836         * gnulib-tool (func_emit_copyright_notice): Bump year.
43837         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
43838
43839 2007-01-01  Bruno Haible  <bruno@clisp.org>
43840
43841         Improve support for OpenBSD.
43842         * build-aux/config.rpath (libname_spec): Export.
43843         (library_names_spec): New variable. Export.
43844         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
43845         library_names_spec from the config.rpath output. Locate shared library
43846         through the name pattern in library_names_spec.
43847
43848 2007-01-01  Eric Blake  <ebb9@byu.net>
43849
43850         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
43851
43852 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
43853
43854         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
43855         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
43856         assume the C locale, and avoid an "eval" that could cause trouble.
43857         Problem with SORT reported by Bob Proulx.
43858
43859         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
43860         Define.  Trivial patch from Henning Nielsen Lund, originally
43861         sent to bug-grep@gnu.org today.
43862
43863 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
43864
43865         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
43866         struct stat.  Problem reported by Henning Nielsen Lund.
43867         * lib/acl.c: Include acl.h first, to check interface.  Don't
43868         bother to include sys/types.h and sys/stat.h again.
43869
43870 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
43871
43872         Import the following change from libc; problem reported by
43873         Sven Verdoolaege.
43874
43875         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
43876
43877         [BZ #1373]
43878         * lib/argp.h: Remove __NTH for __argp_usage inline function.
43879
43880 2006-12-28  Jim Meyering  <jim@meyering.net>
43881
43882         * build-aux/announce-gen: Do not assume that the package
43883         builds any of tar.gz, tar.bz2, and .xdelta files.
43884         Suggestion from Simon Josefsson.
43885
43886 2006-12-28  Simon Josefsson  <simon@josefsson.org>
43887
43888         * modules/announce-gen: New file.
43889
43890 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
43891
43892         * lib/mbchar.h: Just include <wctype.h>; the wctype module
43893         handles its gotchas now.
43894         * lib/mbswidth.c: Likewise.
43895         * lib/wcwidth.h: Likewise.
43896         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
43897         and iswcntrl; the wctype module does this stuff now.
43898         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43899         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
43900         * modules/mbchar (Depends-on): Add wctype.
43901         * modules/mbswidth (Depends-on): Likewise.
43902         * modules/wcwidth (Depends-on): Likewise.
43903
43904 2006-12-27  Eric Blake  <ebb9@byu.net>
43905
43906         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
43907         module uses more than what <wctype.h> is required to provide.
43908
43909 2006-12-26  Eric Blake  <ebb9@byu.net>
43910
43911         * gnulib-tool (sed_extract_prog): Avoid space-tab.
43912
43913 2006-12-26  Eric Blake  <ebb9@byu.net>
43914
43915         * modules/absolute-header: New module.
43916         * modules/fcntl (Depends-on): Depend on it.
43917         * modules/inttypes (Depends-on): Likewise.
43918         * modules/stdint (Depends-on): Likewise.
43919         * modules/sys_stat (Depends-on): Likewise.
43920         * modules/wctype (Depends-on): Likewise.
43921         * MODULES.html.sh (Support for building libraries and
43922         executables): Document it.
43923
43924 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43925
43926         * gnulib-tool (SED): Remove, undoing previous change.
43927         The problem was that it broke coreutils on Solaris, because
43928         "sed --posix" leaked into a makefile.
43929         (sed): New alias, if 'alias' and GNU sed.
43930
43931 2006-12-24  Jim Meyering  <jim@meyering.net>
43932
43933         Work around an fchownat bug in glibc-2.4:
43934         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
43935         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
43936         in spite of the -P option.
43937         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
43938         New macros.
43939         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
43940         * modules/openat (Files): Add lib/fchownat.c.
43941         * lib/openat.c (fchownat): Don't define here.  Move to...
43942         * lib/fchownat.c: ...this new file.
43943
43944 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
43945
43946         Fix bug reported by Bruno Haible in
43947         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
43948         where quotearg.c didn't compile on Mac OS X 10.2 because it
43949         lacks <wchar.h> and wint_t.
43950         * lib/wctype_.h (__wctype_wint_t): New type.
43951         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
43952         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
43953         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
43954         Arg is now of type __wctype_wint_t, not wint_t.
43955         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
43956         substitute HAVE_WINT_T.
43957         * modules/wctype (Files): Add m4/wint_t.m4.
43958         (wctype.h): Substitute HAVE_WINT_T.
43959
43960 2006-12-23  Bruno Haible  <bruno@clisp.org>
43961
43962         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
43963
43964 2006-12-23  Bruno Haible  <bruno@clisp.org>
43965
43966         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
43967         S_ISLNK.
43968         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
43969         mingw.
43970
43971 2006-12-22  Bruno Haible  <bruno@clisp.org>
43972
43973         * lib/copy-file.c: Include acl.h.
43974         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
43975         Close the file descriptors only after being done with copy_acl.
43976         * modules/copy-file (Depends-on): Add acl.
43977
43978 2006-12-22  Bruno Haible  <bruno@clisp.org>
43979
43980         * gnulib-tool (SED): New variable.
43981         Use $SED instead of sed everywhere.
43982
43983 2006-12-22  Bruno Haible  <bruno@clisp.org>
43984
43985         * modules/no-c++: New file.
43986         * m4/no-c++.m4: New file.
43987         * MODULES.html.sh (Support for building libraries and executables):
43988         Add no-c++.
43989
43990 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
43991
43992         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
43993         Include <limits.h>, and use its INT_MAX to rewrite the
43994         j loop so that it does not overflow 'int'.  Problem reported by
43995         Ralf Wildenhues in
43996         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
43997         Play it safe by shifting left by 1 rather than multiplying by 2,
43998         as GCC is less likely to optimize this away when the value
43999         is signed (when it assumes overflow leads to undefined behavior).
44000         Also, don't assume time_t uses two's complement.
44001
44002 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
44003
44004         * MODULES.html.sh: New module wctype.
44005         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
44006         * lib/fnmatch.c: Don't bother to include <wchar.h> before
44007         <wctype.h>, since the new wctype module should fix this.
44008         * lib/quotearg.c: Include <wctype.h> unconditionally, since
44009         the wctype module should arrange for it.
44010         * lib/regex_internal.h: Likewise.
44011         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
44012         since the wctype module should handle this now.
44013         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
44014         * modules/fnmatch (Depends-on): Add wctype.
44015         * modules/quotearg (Depends-on): Likewise.
44016         * modules/regex (Depends-on): Likewise.
44017
44018 2006-12-19  Bruno Haible  <bruno@clisp.org>
44019
44020         * lib/strdup.h [C++]: Wrap definitions in extern "C".
44021         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
44022
44023 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44024
44025         * modules/savewd (Depends-on): Fix dependency on fcntl.
44026
44027 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44028
44029         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
44030         conforms to C99, rather than relying on the user's environment
44031         setting of STDINT_H.
44032
44033 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44034         and Eric Blake  <ebb9@byu.net>
44035
44036         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
44037         This is more consistent with the other defines here.
44038         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
44039         Port to z/OS.  Problem reported by Paul Gilmartin.
44040         Change local vars to use gl_ prefix rather than ac_.
44041         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
44042         with other defines.
44043         * modules/double-slash-root: New module.
44044         * modules/dirname (Files): Remove m4/double-slash-root.m4.
44045         (Depends-on): Add double-slash-root.
44046         * MODULES.html.sh (File system functions): Mention new module.
44047
44048 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
44049
44050         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
44051         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
44052         This is for the benefit of gzip, which doesn't do i18n.
44053
44054 2006-12-12  Jim Meyering  <jim@meyering.net>
44055
44056         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
44057         Reported by Andreas Schwab <schwab@suse.de>.
44058
44059 2006-12-12  Bruno Haible  <bruno@clisp.org>
44060
44061         Merge these changes.
44062         2006-09-05  Bruno Haible  <bruno@clisp.org>
44063         * lib/iconvme.c (iconv_string): No need to save and restore errno when
44064         iconv_alloc succeeded.
44065         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
44066         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
44067         test for " && dest " at the end - dest is always != NULL there. Call
44068         iconv with 4xNULL arguments initially, to reset the state. Call iconv
44069         with 2xNULL arguments, also to flush the state storage. Handle the
44070         IRIX iconv behaviour. Realloc the final result, to throw away unused
44071         memory.
44072
44073 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
44074
44075         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
44076         and fchmodat unconditionally, since glibc 2.4 has them.
44077         Problem reported by Arkadiusz Miskiewicz.
44078
44079 2006-12-10  Bruno Haible  <bruno@clisp.org>
44080
44081         * gnulib-tool (func_import): Show the include files only for those
44082         modules that are copied and specified.
44083         Reported by Karl Berry.
44084
44085 2006-12-08  Jim Meyering  <jim@meyering.net>
44086
44087         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
44088         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
44089
44090         * build-aux/announce-gen: Add two new options, both optional:
44091         --bootstrap-tools=TOOL_LIST
44092               a comma-separated list of tools, e.g.,
44093               autoconf,automake,bison,gnulib
44094         --gnulib-snapshot-date=DATE
44095               if gnulib is in the bootstrap tool list,
44096               then report this as the snapshot date.
44097               If not specified, use the current date/time.
44098               If you specify a date here, be sure it's UTC.
44099
44100 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44101
44102         * tests/test-argp-2.sh: Fix test to match actual output.
44103         (func_compare): Fix sed script to be portable.
44104
44105 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
44106
44107         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
44108         workaround for this case.  It is not autoconfigured now; offhand
44109         it's hard to see how to autoconfigure it.
44110
44111 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
44112
44113         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
44114         a directory that is about to be chowned.  Such a directory's
44115         initial file permissions should permit the owner only and this
44116         should not be changed until after the chown, since the group and
44117         other bits would be incorrect if they granted permission before
44118         the chown.
44119
44120         Fix porting problem for iswctype reported by Georg Schwarz in:
44121         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
44122         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
44123         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
44124         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
44125         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44126
44127 2006-12-03  Jim Meyering  <jim@meyering.net>
44128
44129         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
44130         p->fts_statp may not yet be defined.
44131         (fts_read): Instead, set it in the caller, once p->fts_statp is
44132         sure to be defined, and corresponds to a top-level directory.
44133         This bug made du -x fail.  Here's the coreutils test case:
44134         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
44135         Reported by Mike Frysinger.
44136
44137 2006-12-01  Jim Meyering  <jim@meyering.net>
44138
44139         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
44140         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
44141         Reported by Simon Josefsson.
44142
44143 2006-11-30  Jim Meyering  <jim@meyering.net>
44144
44145         * m4/warning.m4: Use the all-permissive copyright notice
44146         recommended by RMS (rather than LGPL).
44147         * m4/vararrays.m4: Likewise.
44148         * m4/flexmember.m4: Likewise.
44149
44150 2006-11-29  Bruno Haible  <bruno@clisp.org>
44151
44152         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44153         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
44154         using +=.
44155         Reported by Simon Josefsson <simon@josefsson.org>.
44156
44157 2006-11-28  James Youngman <jay@gnu.org>
44158
44159         * README: Advise users that they might find the bug-gnulib@gnu.org
44160         and autotools-announce@gnu.org mailing lists useful.
44161
44162 2006-11-28  Bruno Haible  <bruno@clisp.org>
44163
44164         * m4/ptrdiff_max.m4: Remove file.
44165
44166 2006-11-21  Bruno Haible  <bruno@clisp.org>
44167
44168         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
44169         _AC_COMPUTE_INT.
44170         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44171         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
44172         _AC_COMPUTE_INT.
44173         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44174         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
44175         _AC_COMPUTE_INT.
44176         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44177
44178 2006-11-28  Jim Meyering  <jim@meyering.net>
44179
44180         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
44181         warning from "gcc -Wshadow" about shadowing the builtin.
44182
44183 2006-11-27  Bruno Haible  <bruno@clisp.org>
44184
44185         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
44186         _AC_COMPUTE_INT.
44187         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44188
44189 2006-11-27  Bruno Haible  <bruno@clisp.org>
44190             Paul Eggert  <eggert@cs.ucla.edu>
44191
44192         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
44193
44194 2006-11-26  Bruno Haible  <bruno@clisp.org>
44195
44196         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44197         noinst_LTLIBRARIES.
44198
44199 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
44200             Bruno Haible  <bruno@clisp.org>
44201
44202         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
44203         if compiling with "gcc -ansi".
44204
44205 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
44206
44207         Fix some incompatibilities with gcc -ansi -pedantic.
44208         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
44209         if compiling pedantically with GCC, unless it's C99 or later.
44210         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
44211         it mishandles gcc -ansi -pedantic as well.
44212         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
44213         if gcc -pedantic.
44214         * lib/regexec.c (check_node_accept_bytes): Don't use auto
44215         initializers for struct if -pedantic, unless it's C99 or later.
44216
44217 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
44218
44219         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
44220         Don't close an fd more than once. Identical atimes indicate
44221         success, not failure.
44222
44223 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
44224
44225         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
44226
44227 2006-11-23  Jim Meyering  <jim@meyering.net>
44228
44229         * build-aux/announce-gen: New file.  From coreutils.
44230
44231 2006-11-22  Jim Meyering  <jim@meyering.net>
44232
44233         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
44234         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
44235         (fts_read): Use a temporary to narrow the overused st_size member
44236         before using it in a switch statement.  Reported by Matthew Woehlke.
44237
44238         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
44239         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44240
44241 2006-11-20  Bruno Haible  <bruno@clisp.org>
44242
44243         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
44244         changequote instead of pairs of brackets.
44245         Reported by Andreas Schwab <schwab@suse.de>.
44246
44247 2006-11-21  Jim Meyering  <jim@meyering.net>
44248
44249         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
44250         so as to remain compatible with older compilers.
44251         Patch from Michael Deutschmann.
44252
44253 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44254
44255         * MODULES.html.sh (File system functions): Add openat.
44256
44257         * lib/openat.h (rpl_fstatat): New macro, if
44258         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
44259         (fstatat): Define to rpl_fstatat under the same conditions,
44260         unless COMPILING_FSTATAT.
44261         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
44262         seems to have the bug.
44263         * lib/fstatat.c: New file.
44264         * modules/openat (Files): Add it.
44265
44266 2006-11-20  Bruno Haible  <bruno@clisp.org>
44267
44268         * Makefile: New file.
44269
44270 2006-11-20  Jim Meyering  <jim@meyering.net>
44271
44272         The beginnings of syntax-related checks for gnulib.
44273         * lib/Makefile: New file.
44274         * lib/t-idcache: New script.  Ensure that the two halves of
44275         idcache.c stay in sync.
44276
44277         * lib/idcache.c: Adjust comments in user- and group- portions to
44278         be more accurate, and to be consistent with one another.
44279
44280 2006-11-20  Jim Meyering  <jim@meyering.net>
44281
44282         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
44283         continue using the flexible array member (thus, this module performs
44284         half as many malloc calls), with the addition that...
44285         (getgroup, getuser): Consistently record a non-match via an empty
44286         "name" string, and map an empty string match to a NULL return value.
44287         * modules/idcache (Depends-on): Re-add flexmember.
44288
44289         * lib/idcache.c (getuser): Remove all uses of the register keyword.
44290         (getuidbyname, getgroup, getgidbyname): Likewise.
44291
44292         Use cleaner syntax: NULL rather than 0.
44293         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
44294
44295 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44296
44297         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
44298         It mishandled the case where the group was missing.
44299         Problem reported by Greg Schafer.
44300         * modules/idcache: Likewise.
44301
44302 2006-11-18  Jim Meyering  <jim@meyering.net>
44303
44304         * check-module (%exempt_header): Add exception for some
44305         conditionally-included headers.
44306
44307         * modules/i-ring (Depends-on): Add verify.
44308         (License): Change to LGPL.
44309
44310 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44311
44312         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
44313         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
44314         and inttostr.h.  Use snprintf rather than uinttostr, so that
44315         LGPLed code doesn't depend on GPLed.
44316
44317 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44318
44319         * modules/inline (License): Change from GPL to LGPL.
44320
44321 2006-11-17  Jim Meyering  <jim@meyering.net>
44322
44323         * modules/d-type (License): Switch to LGPL.
44324
44325 2006-11-15  Bruno Haible  <bruno@clisp.org>
44326
44327         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
44328
44329 2006-11-15  Eric Blake  <ebb9@byu.net>
44330
44331         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
44332         the module dependency.
44333
44334 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44335             Bruno Haible  <bruno@clisp.org>
44336
44337         * gnulib-tool (func_create_testdir): Add license consistency check.
44338
44339 2006-11-15  Eric Blake  <ebb9@byu.net>
44340
44341         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
44342         random "(cached)" in configure output.
44343
44344 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44345
44346         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
44347         test for conforming inttypes.h is both announced and cached.
44348
44349         * MODULES.html.sh (seen_modules, seen_files): New variables.
44350         (func_module): Rewrite to use a few less gnulib-tool and sed
44351         invocations.  Avoid a couple of quadratic algorithms for ...
44352         (missed_modules, missed_files): ... these, with ...
44353         (func_append, func_tmpdir): ... these new functions, from
44354         gnulib-tool.  Analogously, install traps for cleanup.
44355
44356         * tests/test-gc.c (main): Remove unused variables.
44357         * tests/test-read-file.c: Include stdlib.h, for 'free'.
44358
44359 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
44360
44361         * modules/inttostr (License): Change to LGPL.
44362
44363 2006-11-14  Eric Blake  <ebb9@byu.net>
44364
44365         * modules/tempname (License): Change to LGPL.
44366
44367 2006-11-14  Eric Blake  <ebb9@byu.net>
44368
44369         * doc/functions.texi (Function Portability): *printf functions on
44370         Cygwin now understand all POSIX size specifiers.
44371
44372 2006-11-14  Bruno Haible  <bruno@clisp.org>
44373
44374         * modules/c-ctype (License): Change to LGPL.
44375
44376 2006-11-12  Bruno Haible  <bruno@clisp.org>
44377
44378         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
44379         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
44380         for GNOME libraries, for which the include files are installed in
44381         subdirectories of $prefix/include.
44382
44383 2006-11-12  Bruno Haible  <bruno@clisp.org>
44384
44385         * m4/lib-link.m4: Require at least autoconf-2.54.
44386         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
44387         name to underscores for the --with option.
44388
44389 2006-11-13  Bruno Haible  <bruno@clisp.org>
44390
44391         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
44392         the tests directory.
44393         Reported by Ralf Wildenhues.
44394
44395 2006-11-13  Bruno Haible  <bruno@clisp.org>
44396
44397         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
44398         (func_emit_initmacro_end): Undo the override here.
44399         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
44400         Works around the famous automake error in coreutils.
44401
44402 2006-11-13  Eric Blake  <ebb9@byu.net>
44403
44404         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
44405         element, not its node.
44406
44407 2006-11-12  Bruno Haible  <bruno@clisp.org>
44408
44409         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
44410         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
44411
44412 2006-11-12  Bruno Haible  <bruno@clisp.org>
44413
44414         * gnulib-tool: New option --local-symlink.
44415         (func_usage): Document it.
44416         (lsymbolic): New variable.
44417         (func_import, func_create_testdir): If --symlink was not specified,
44418         test whether --local-symlink was specified and the file comes from
44419         the local_gnulib_dir.
44420
44421 2006-11-12  Bruno Haible  <bruno@clisp.org>
44422
44423         * gnulib-tool (func_ln): New function.
44424         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
44425
44426 2006-11-12  Bruno Haible  <bruno@clisp.org>
44427
44428         Finish support for source files in subdirectories.
44429         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
44430         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
44431         AUTOMAKE_OPTIONS.
44432         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
44433
44434 2006-11-12  Bruno Haible  <bruno@clisp.org>
44435
44436         * gnulib-tool (func_get_automake_snippet): Synthesize also an
44437         EXTRA_lib_SOURCES augmentation.
44438         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
44439
44440 2006-11-12  Jim Meyering  <jim@meyering.net>
44441
44442         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
44443         file descriptors.  This also averts a failure on systems with
44444         native openat support when a traversed directory lacks "x" access.
44445         * lib/fts_.h: Include "i-ring.h"
44446         (struct FTS) [fts_fd_ring]: New member.
44447         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
44448         (FCHDIR): Add parentheses.
44449         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
44450         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
44451         When descending, rather than simply closing the previous
44452         fts_cwd_fd value, push that file descriptor onto the ring.
44453         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
44454         (fts_open): Initialize the new fd_ring member.
44455         (fts_close): Clear the ring.
44456         (fts_safe_changedir): When possible, use our new fd_ring to skip
44457         the diropen and fstat and dev/ino comparison that would normally
44458         accompany a virtual `chdir ("..")'.
44459
44460         * modules/fts (Depends-on): Add i-ring.
44461         * modules/i-ring: New module.
44462         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
44463         * m4/i-ring.m4: New file.
44464
44465 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44466
44467         * gnulib-tool (func_create_testdir): Fix replacement of
44468         `build-aux' in configure.ac.  Run autotools in gltests
44469         subdirectory.
44470         (func_create_testdir, func_create_megatestdir, test): There is
44471         no need for '--force' in most autotool invocations in a new
44472         tree.  Actually fail the whole test if any of the tools, or the
44473         configure or make stages fail.
44474
44475         Sync from Automake.
44476         * build-aux/gnupload: Revert last change.  Add pointer to upload
44477         instructions of the GNU Maintenance Instructions.
44478         Suggestion by Karl Berry.
44479
44480 2006-11-10  Jim Meyering  <jim@meyering.net>
44481
44482         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
44483
44484 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44485
44486         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
44487         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
44488         (bind_textdomain_codeset) [! ENABLE_NLS]:
44489         Evaluate all the arguments.  That way, callers get compatible behavior
44490         if the arguments have side effects.  Also, it avoids some GCC
44491         diagnostics in some cases; Joel E. Denny reported problems when Bison
44492         was configured with --enable-gcc-warnigs.
44493
44494 2006-11-10  Jim Meyering  <jim@meyering.net>
44495
44496         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
44497         relevant options in CFLAGS (like -O, -fno-inline) are taken into
44498         account.
44499
44500 2006-11-10  Jim Meyering  <jim@meyering.net>
44501
44502         * modules/inline: New file/module.
44503         * modules/xalloc (Files): Remove m4/inline.m4.
44504         (Depends-on): Add inline, instead.
44505         * modules/oset: Likewise.
44506         * modules/list: Likewise.
44507
44508 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44509
44510         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
44511         Problem reported by Matthew Woehlke.
44512
44513 2006-11-09  Bruno Haible  <bruno@clisp.org>
44514
44515         * lib/tempname.c (gen_tempname): Remove variant that invokes
44516         __gen_tempname.
44517         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
44518         __gen_tempname.
44519
44520 2006-11-08  Bruno Haible  <bruno@clisp.org>
44521
44522         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
44523         to 'yes' instead of 'cross-compiling'.
44524
44525 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
44526
44527         * lib/quotearg.h (quotearg_free): New decl.
44528         * lib/quotearg.c (quotearg_free): New function.
44529         (slot0, nslots, slotvec0, slotvec):
44530         Now file-scope so that quotearg_free can get at them.
44531
44532 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44533
44534         Sync from Automake.
44535         * build-aux/gnupload: Add missing 'gnu' to example URL.
44536         Report by Karl Berry.
44537
44538 2006-11-08  Bruno Haible  <bruno@clisp.org>
44539
44540         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
44541         Suggested by Paul Eggert.
44542
44543 2006-11-08  Jim Meyering  <jim@meyering.net>
44544
44545         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
44546         It's already included if !_LIBC.
44547         (fts_safe_changedir): Add a comment.
44548
44549 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
44550
44551         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
44552         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
44553         Matthew Woehlke.
44554
44555         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
44556         definitions up, to avoid colliding with change below.
44557         (static_inline) [HAVE_INLINE]: New macro.
44558         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
44559         Provide extern decls when !HAVE_INLINE.  Do not define unless
44560         static_inline is defined, either by us or by xmalloc.c.  Use
44561         static_inline rather than static inline.
44562         (XCALLOC): Optimize sizeof(T) = 1 case.
44563         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
44564
44565 2006-11-07  Bruno Haible  <bruno@clisp.org>
44566
44567         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
44568         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
44569         AC_C_INLINE.
44570         * modules/xalloc (Files): Add m4/inline.m4.
44571
44572 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44573
44574         * README: Fix typo.
44575         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
44576         (Miscellanous Notes): ...from this.
44577
44578 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
44579
44580         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
44581         Mention that offsetof should be used instead of sizeof.
44582         From Bruno Haible.
44583
44584 2006-11-07  Bruno Haible  <bruno@clisp.org>
44585
44586         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
44587
44588 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44589
44590         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
44591         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
44592         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
44593         (gl_tree_add_before, gl_tree_add_after):
44594         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
44595         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
44596         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
44597         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
44598         (gl_linked_add_after, gl_linked_add_at): Likewise.
44599         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
44600         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
44601         (gl_tree_add_before, gl_tree_add_after): Likewise.
44602         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
44603         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
44604         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
44605
44606 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44607
44608         * lib/gl_oset.h: Use C comment style, not C++ comment style.
44609
44610 2006-11-06  Bruno Haible  <bruno@clisp.org>
44611
44612         * m4/inline.m4: New file.
44613         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
44614         * modules/list (Files): Add m4/inline.m4.
44615         * modules/oset (Files): Likewise.
44616
44617 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44618
44619         * lib/idcache.c: Include <stddef.h>, for offsetof.
44620         (struct userid.name): Change from char * to a flexible array member.
44621         All uses changed.
44622         * modules/idcache (Depends-on): Add flexmember.
44623
44624         * MODULES.html.sh (Core language properties): New module flexmember.
44625         * modules/flexmember, m4/flexmember.m4: New files.
44626
44627         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
44628         inline functions that are identical with the old xnmalloc_inline,
44629         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
44630         that we can avoid some unnecessary integer multiplications and
44631         divisions in the common case where the element size is known at
44632         compile time.
44633         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
44634         needed.
44635         (xnboundedmalloc): Remove.
44636         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
44637         arguments, for consistency with rest of this header.
44638         (xcharalloc): Rewrite using XNMALLOC.
44639         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
44640         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
44641         versions have been moved to lib/xalloc.h and renamed to be the
44642         non-*_inline versions.
44643         (xmalloc, xrealloc): Implement without reference to the xnmalloc
44644         and xnrealloc functions, since those functions are now inline and
44645         now call us.
44646         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
44647         renaming described above.
44648         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
44649         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
44650         captures the dependency in AC_C_INLINE.
44651
44652         New module canonicalize-lgpl, proposed by Charles Wilson in
44653         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
44654         with a few small changes afterwards.
44655         * MODULES.html.sh (File system functions): New module
44656         canonicalize-lgpl.
44657         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
44658         and canonicalize_file_name.
44659         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
44660         * modules/canonicalize-lgpl: New files.
44661
44662 2006-11-05  Bruno Haible  <bruno@clisp.org>
44663
44664         * gnulib-tool (func_import, func_create_testdir): Create directories
44665         also for files in subdirectories of lib/.
44666
44667 2006-11-05  Bruno Haible  <bruno@clisp.org>
44668
44669         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
44670         ANSI C compliant.
44671
44672 2006-11-03  Bruno Haible  <bruno@clisp.org>
44673
44674         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
44675         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
44676         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
44677         (xnboundedmalloc): New inline function.
44678         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
44679         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
44680         xmalloc.
44681         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
44682         xmalloc.
44683         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
44684         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
44685         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
44686         xmalloc.
44687         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
44688         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
44689         xmalloc.
44690         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
44691         gl_tree_add_after): Use XMALLOC instead of xmalloc.
44692         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
44693         xmalloc.
44694         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
44695         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
44696         gl_tree_add_after): Use XMALLOC instead of xmalloc.
44697         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
44698         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
44699         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
44700         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
44701
44702 2006-11-03  Bruno Haible  <bruno@clisp.org>
44703
44704         * lib/c-ctype.h [C++]: Define functions without name mangling.
44705         * lib/fwriteerror.h [C++]: Likewise.
44706         * lib/gcd.h [C++]: Likewise.
44707         * lib/linebreak.h [C++]: Likewise.
44708
44709 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
44710
44711         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
44712         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
44713         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
44714         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
44715         Check for functions and headers just once.
44716         Check for declaration of canonicalize_file_name.
44717         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
44718
44719 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
44720
44721         * gnulib-tool (func_import): Fix typo in actioncmd.
44722
44723 2006-11-02  Bruno Haible  <bruno@clisp.org>
44724
44725         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
44726         newline sequence in the Makefile.am snippet as a space, like "make"
44727         does.
44728         Reported by Roger Persson <perrog@gmail.com>.
44729
44730 2006-11-01  Bruno Haible  <bruno@clisp.org>
44731
44732         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
44733         already declared in <string.h>.
44734         * lib/strcase.h (strncasecmp): Don't declare it if yes.
44735
44736 2006-11-01  Bruno Haible  <bruno@clisp.org>
44737
44738         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
44739         * lib/strcase.h: Include <string.h>.
44740         (strcasecmp): Define to rpl_strcasecmp here.
44741
44742 2006-11-01  Bruno Haible  <bruno@clisp.org>
44743
44744         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
44745
44746 2006-11-01  Eric Blake  <ebb9@byu.net>
44747
44748         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
44749
44750         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
44751
44752 2006-10-29  Bruno Haible  <bruno@clisp.org>
44753
44754         Make it compile in C++ mode.
44755         * lib/full-write.c (full_rw): Add a cast.
44756
44757 2006-11-01  Bruno Haible  <bruno@clisp.org>
44758
44759         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
44760         be POSIX compliant.
44761         Reported by Roger Persson <perrog@gmail.com>.
44762
44763 2006-11-01  Eric Blake  <ebb9@byu.net>
44764
44765         * lib/getopt_.h: Fix comments.
44766
44767 2006-10-31  Eric Blake  <ebb9@byu.net>
44768
44769         * modules/tmpdir (Depends-on): Add sys_stat.
44770         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
44771         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
44772         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
44773         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
44774         tempname.
44775
44776 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
44777
44778         Avoid some C++ diagnostics reported by Bruno Haible.
44779         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
44780         xmalloc.
44781         (quotearg_alloc): Use xcharalloc rather than xmalloc.
44782         (struct slotvec): Move to top level.
44783         (quotearg_n_options): Rewrite to avoid xmalloc.
44784         * lib/xalloc.h (xcharalloc): New function.
44785         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
44786         [defined __cplusplus]: Add function template that provides result
44787         type propagation.  This part of the change is from Bruno Haible.
44788
44789 2006-10-29  Bruno Haible  <bruno@clisp.org>
44790
44791         Make it compile in C++ mode.
44792         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
44793         * lib/strnlen1.c (strnlen1): Cast memchr result.
44794         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
44795         * lib/clean-temp.c (string_equals, string_hash): Add casts.
44796         (create_temp_dir): Rename local variable 'template'.
44797         (compile_csharp_using_sscli): Add cast.
44798         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
44799         * lib/findprog.c (find_in_path): Likewise.
44800         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
44801         * lib/wait-process.c (register_slave_subprocess): Likewise.
44802
44803 2006-10-22  Bruno Haible  <bruno@clisp.org>
44804
44805         * modules/tsearch: New file.
44806         * lib/tsearch.h: New file.
44807         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
44808         * m4/tsearch.m4: New file.
44809         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
44810
44811 2006-10-29  Eric Blake  <ebb9@byu.net>
44812
44813         * lib/arcfour.c: Assume config.h.
44814         * lib/arctwo.c: Likewise.
44815         * lib/base64.c: Likewise.
44816         * lib/check-version.c: Likewise.
44817         * lib/crc.c: Likewise.
44818         * lib/des.c: Likewise.
44819         * lib/gc-gnulib.c: Likewise.
44820         * lib/gc-libgcrypt.c: Likewise.
44821         * lib/gc-pbkdf2-sha1.c: Likewise.
44822         * lib/getaddrinfo.c: Likewise.
44823         * lib/getdelim.c: Likewise.
44824         * lib/getline.c: Likewise.
44825         * lib/hmac-md5.c: Likewise.
44826         * lib/hmac-sha1.c: Likewise.
44827         * lib/iconvme.c: Likewise.
44828         * lib/md2.c: Likewise.
44829         * lib/md4.c: Likewise.
44830         * lib/memxor.c: Likewise.
44831         * lib/read-file.c: Likewise.
44832         * lib/readline.c: Likewise.
44833         * lib/rijndael-alg-fst.c: Likewise.
44834         * lib/rijndael-api-fst.c: Likewise.
44835         * lib/xgetdomainname.c: Likewise.
44836
44837 2006-10-28  Eric Blake  <ebb9@byu.net>
44838
44839         * lib/xstrndup.c: Assume config.h.
44840
44841 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
44842
44843         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
44844         stat-macros.h is now for our own macros, whereas stat_h is for
44845         macros in the <sys/stat.h> name space.
44846         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
44847         (STAT_MACROS_H): Remove.
44848         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
44849         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
44850         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
44851         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
44852         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
44853         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
44854         Move these macros to ...
44855         * lib/stat_.h: here.  Don't include stat-macros.h.
44856         * lib/canonicalize.c: Don't include stat-macros.h.
44857         * lib/chown.c: Likewise.
44858         * lib/euidaccess.c: Likewise.
44859         * lib/file-type.c: Likewise.
44860         * lib/filemode.c: Likewise.
44861         * lib/glob.c: Likewise.
44862         * lib/isapipe.c: Likewise.
44863         * lib/lchown.c: Likewise.
44864         * lib/lstat.c: Likewise.
44865         * lib/mkdir-p.c: Likewise.
44866         * lib/rmdir.c: Likewise.
44867         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
44868         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
44869         unless mkdir isn't declared, to speed up 'configure'.
44870         Always create sys/stat.h, since it's unlikely any real sys/stat.h
44871         would define all the S_* symbols.
44872         * modules/canonicalize (Depends-on):
44873         Depend on sys_stat, not stat-macros.
44874         * modules/chown: Likewise.
44875         * modules/euidaccess: Likewise.
44876         * modules/filemode: Likewise.
44877         * modules/file-type: Likewise.
44878         * modules/glob: Likewise.
44879         * modules/isapipe: Likewise.
44880         * modules/lchown: Likewise.
44881         * modules/lstat: Likewise.
44882         * modules/mkancesdirs: Likewise.
44883         * modules/rmdir: Likewise.
44884         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
44885         * modules/modechange: Likewise.
44886         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
44887         (configure.ac): Remove gl_STAT_MACROS.
44888         * modules/sys_stat (Depends-on): Remove stat-macros.
44889
44890 2006-10-27  Bruno Haible  <bruno@clisp.org>
44891
44892         * m4/signed.m4: Remove file.
44893         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
44894         invocation.
44895         * modules/vasnprintf (Files): Remove m4/signed.m4.
44896
44897 2006-10-27  Bruno Haible  <bruno@clisp.org>
44898
44899         Update to GNU gettext 0.16.
44900         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
44901         m4/inttypes-h.m4, m4/signed.m4.
44902         * m4/gettext.m4: Update to GNU gettext 0.16.
44903         * m4/intl.m4: New file, from GNU gettext.
44904         * m4/intldir.m4: New file, from GNU gettext.
44905         * config/srclist.txt: Update
44906
44907 2006-10-27  Eric Blake  <ebb9@byu.net>
44908
44909         * MODULES.html.sh: Document tempname.
44910         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
44911         dependencies.
44912         (Files): Move lib/tempname.c...
44913         * modules/tempname: ...to this new module.
44914         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
44915         (gl_PREREQ_TEMPNAME): Move...
44916         * m4/tempname.m4: ...to this new file.
44917         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
44918         * modules/sys_stat (Depends-on): Add stat-macros.
44919         * lib/stat_.h (includes): Pick up stat macros.
44920         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
44921         if stat macros are broken.
44922         * lib/tempname.c (includes): No need to include "stat-macros.h".
44923         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
44924         (direxists, __path_search) [!_LIBC]: Don't compile these in
44925         gnulib; the tmpdir module covers that.
44926         * lib/tempname.h: New file.
44927
44928 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
44929
44930         * COPYING: Explain how gnulib-tool converts licence headers.
44931         Almost all wording by Eric Blake.
44932
44933 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
44934
44935         * lib/mbchar.h (is_basic_table): Make read-only.
44936         * lib/mbchar.c (is_basic_table): Likewise.
44937         Reported by John Darrington.
44938
44939 2006-10-25  Bruno Haible  <bruno@clisp.org>
44940
44941         * lib/progname.h (set_program_name): Undefine before defining.
44942
44943 2006-10-25  Bruno Haible  <bruno@clisp.org>
44944
44945         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
44946         false for non-gcc C++ compilers.
44947         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
44948
44949 2006-10-24  Bruno Haible  <bruno@clisp.org>
44950
44951         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
44952         iconv implementations like Irix iconv.
44953
44954 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44955
44956         * modules/vararrays: New file.
44957         * m4/vararrays.m4: New file, taken from diffutils.
44958         * MODULES.html.sh: New module vararrays.
44959
44960 2006-10-24  Karl Berry  <karl@gnu.org>
44961
44962         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
44963         Don't call GNU Unix.
44964
44965 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44966
44967         * users.txt: Add Libtool.
44968
44969         Sync from Libtool:
44970
44971         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44972
44973         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
44974         to gnulib's policy of including config.h unconditionally.
44975
44976 2006-10-24  Bruno Haible  <bruno@clisp.org>
44977
44978         * modules/wcwidth (Files): Add m4/wint_t.m4.
44979         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
44980         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
44981
44982 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44983
44984         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
44985         to pacify GCC with some -W flags enabled.  Problem reported by
44986         Bruno Haible.
44987
44988 2006-10-24  Jim Meyering  <jim@meyering.net>
44989
44990         * MODULES.html.sh: Remove uinttostr.  It's not a module.
44991         Reported by Karl Berry.
44992
44993 2006-10-23  Bruno Haible  <bruno@clisp.org>
44994
44995         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
44996
44997 2006-10-24  Bruno Haible  <bruno@clisp.org>
44998
44999         * lib/gl_list.h: Use C comment style, not C++ comment style.
45000
45001 2006-10-23  Eric Blake  <ebb9@byu.net>
45002
45003         * lib/getaddrinfo.c (includes): Add missing include.
45004
45005 2006-10-23  Bruno Haible  <bruno@clisp.org>
45006             Paul Eggert  <eggert@cs.ucla.edu>
45007
45008         Ability to rename obstack_free.
45009         * lib/obstack.h (__obstack_free): New macro. Declare instead of
45010         obstack_free.
45011         (obstack_free): Invoke the __obstack_free macro.
45012         * lib/obstack.c (obstack_free): Use __obstack_free macro.
45013
45014 2006-10-23  Bruno Haible  <bruno@clisp.org>
45015             Paul Eggert  <eggert@cs.ucla.edu>
45016
45017         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
45018         __argc, __argv from the declaration. (They are defined as macros on
45019         mingw.)
45020
45021 2006-10-22  Bruno Haible  <bruno@clisp.org>
45022
45023         * doc/gnulib-intro.texi: New file.
45024         * doc/gnulib.texi: Include it.
45025
45026 2006-10-21  Bruno Haible  <bruno@clisp.org>
45027
45028         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
45029         "Introduction", "Miscellanous Notes", "Particular Modules".
45030
45031 2006-10-21  Bruno Haible  <bruno@clisp.org>
45032
45033         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45034         Change mostlyclean-local rule to avoid sh syntax error from bash
45035         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
45036
45037 2006-10-23  Jim Meyering  <jim@meyering.net>
45038
45039         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
45040         in place of snprintf.
45041
45042         * modules/inttostr (Files): Add lib/uinttostr.c.
45043         * lib/uinttostr.c (inttostr): New file/function.
45044         * lib/inttostr.h (uinttostr): Declare.
45045         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
45046         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
45047         Add uinttostr.
45048         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
45049
45050 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
45051
45052         * lib/canonicalize.c (ELOOP): Define if not already defined.
45053         Problem reported by Bruno Haible in
45054         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
45055
45056 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
45057
45058         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
45059         Problem reported by Perry Smith and Ville Laurikari.
45060
45061         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
45062         uses.
45063
45064 2006-10-19  Bruno Haible  <bruno@clisp.org>
45065
45066         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
45067         for mingw.
45068
45069 2006-10-19  Bruno Haible  <bruno@clisp.org>
45070
45071         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
45072         Needed for mingw.
45073
45074 2006-10-19  Bruno Haible  <bruno@clisp.org>
45075
45076         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
45077
45078 2006-10-19  Bruno Haible  <bruno@clisp.org>
45079
45080         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
45081         it.
45082
45083 2006-10-19  Bruno Haible  <bruno@clisp.org>
45084
45085         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
45086         invocation.
45087
45088 2006-10-19  Bruno Haible  <bruno@clisp.org>
45089
45090         * gnulib-tool (func_create_testdir): Don't include ftruncate and
45091         mountlist by default.
45092
45093 2006-10-16  Bruno Haible  <bruno@clisp.org>
45094
45095         * lib/c-strstr.c: Include c-strstr.h.
45096
45097 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
45098
45099         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
45100         in a slash.
45101
45102 2006-10-18  Bruno Haible  <bruno@clisp.org>
45103
45104         * lib/lock.h [C++]: Wrap definitions in extern "C".
45105
45106 2006-10-18  Bruno Haible  <bruno@clisp.org>
45107
45108         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
45109         gl_LIBOBJS list.
45110
45111 2006-10-18  Bruno Haible  <bruno@clisp.org>
45112
45113         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
45114
45115 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
45116
45117         * lib/xstrtol.h: Include gettext.h.
45118         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
45119         Problem reported by Eric Blake.
45120         * modules/xstrtol (Depends-on): Add gettext-h.
45121
45122 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
45123
45124         * lib/strftime.c (advance): New macro.
45125         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
45126         incomplete type, so you can't add 0 to it.  Problem and patch
45127         reported by Eelco Dolstra for dietlibc.
45128
45129 2006-10-18  Jim Meyering  <jim@meyering.net>
45130
45131         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
45132         type for a local, and rename it: s/up/user_proc/.
45133
45134 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
45135
45136         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
45137         READ_UTMP_USER_PROCESS.
45138         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
45139
45140 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
45141
45142         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
45143         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
45144
45145 2006-10-17  Eric Blake  <ebb9@byu.net>
45146
45147         * lib/sigprocmask.c (sigprocmask): Fix typo.
45148
45149         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
45150
45151         * modules/clean-temp (Makefile.am): Don't add to make output...
45152         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
45153         config.h.
45154
45155 2006-10-17  Bruno Haible  <bruno@clisp.org>
45156
45157         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
45158         differently if DEFAULT_TEXT_DOMAIN is set.
45159
45160 2006-10-16  Bruno Haible  <bruno@clisp.org>
45161
45162         * lib/clean-temp.c: Include fwriteerror.h.
45163
45164 2006-10-16  Bruno Haible  <bruno@clisp.org>
45165
45166         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
45167
45168 2006-10-16  Bruno Haible  <bruno@clisp.org>
45169
45170         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
45171         * lib/sigprocmask.h: Include <sys/types.h>.
45172         (sigset_t): Use the system's definition if present.
45173
45174 2006-10-17  Eric Blake  <ebb9@byu.net>
45175
45176         * lib/xvasprintf.c (includes): Assume config.h.
45177         * lib/xasprintf.c (includes): Likewise.
45178
45179 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45180
45181         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
45182         at least as wide as intmax_t.
45183
45184 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
45185
45186         (Imported from Automake.)
45187         * build-aux/gnupload: Update to version 1.1 of directive file.
45188
45189 2006-10-16  Eric Blake  <ebb9@byu.net>
45190
45191         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
45192         match Automake 1.10a.
45193
45194 2006-10-14  Bruno Haible  <bruno@clisp.org>
45195
45196         * modules/sigprocmask: New file.
45197         * lib/sigprocmask.h: New file.
45198         * lib/sigprocmask.c: New file.
45199         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
45200         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
45201         request sigprocmask.o.
45202         (gl_PREREQ_SIGPROCMASK): New macro.
45203         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
45204         (Depends-on): Add sigprocmask.
45205         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
45206         gt_SIGNALBLOCKING. Test for 'raise' only once.
45207         * lib/fatal-signal.c: Include sigprocmask.h.
45208         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
45209         unblock_fatal_signals): Define always.
45210         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45211         sigprocmask.
45212
45213 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
45214
45215         Sync from Automake.
45216         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
45217         which incorrectly sets the mode of an existing destination
45218         directory.  In some cases the unpatched install-sh could do the
45219         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
45220         system.  We hope this is rare in practice, but it's clearly worth
45221         fixing.  Problem reported by Alex Unleashed in
45222         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
45223         Also, don't bother to check for -m bugs unless we're using -m;
45224         suggested by Stepan Kasal.
45225
45226 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45227
45228         Sync from Automake.
45229         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
45230         `-c' flag, so they appear at the same position as in %FASTDEP%
45231         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
45232         which ignores unknown options only after the first non-option.
45233         Bug report against M4 by Nelson H. F. Beebe.
45234
45235 2006-10-13  Jim Meyering  <jim@meyering.net>
45236
45237         Fix a bug in yesterday's change.
45238         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
45239         p->fts_statp->st_dev would be used uninitialized.
45240         Ensures that we always call fts_stat on the very first entry.
45241         Miklos Szeredi reported that find -xdev stopped working.
45242
45243 2006-10-12  Bruno Haible  <bruno@clisp.org>
45244
45245         * gnulib-tool (func_get_automake_snippet): Append an automatically
45246         computed EXTRA_DIST augmentation.
45247         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
45248         * modules/alloca-opt (Makefile.am): Likewise.
45249         * modules/allocsa (Makefile.am): Likewise.
45250         * modules/arcfour (Makefile.am): Likewise.
45251         * modules/arctwo (Makefile.am): Likewise.
45252         * modules/argmatch (Makefile.am): Likewise.
45253         * modules/argz (Makefile.am): Likewise.
45254         * modules/atexit (Makefile.am): Likewise.
45255         * modules/backupfile (Makefile.am): Likewise.
45256         * modules/byteswap (Makefile.am): Likewise.
45257         * modules/c-strtod (Makefile.am): Likewise.
45258         * modules/c-strtold (Makefile.am): Likewise.
45259         * modules/calloc (Makefile.am): Likewise.
45260         * modules/canon-host (Makefile.am): Likewise.
45261         * modules/canonicalize (Makefile.am): Likewise.
45262         * modules/chdir-long (Makefile.am): Likewise.
45263         * modules/chdir-safer (Makefile.am): Likewise.
45264         * modules/check-version (Makefile.am): Likewise.
45265         * modules/chown (Makefile.am): Likewise.
45266         * modules/cloexec (Makefile.am): Likewise.
45267         * modules/close-stream (Makefile.am): Likewise.
45268         * modules/closeout (Makefile.am): Likewise.
45269         * modules/crc (Makefile.am): Likewise.
45270         * modules/csharpexec (Makefile.am): Likewise.
45271         * modules/cycle-check (Makefile.am): Likewise.
45272         * modules/des (Makefile.am): Likewise.
45273         * modules/dev-ino (Makefile.am): Likewise.
45274         * modules/dirfd (Makefile.am): Likewise.
45275         * modules/dirname (Makefile.am): Likewise.
45276         * modules/dup2 (Makefile.am): Likewise.
45277         * modules/eealloc (Makefile.am): Likewise.
45278         * modules/error (Makefile.am): Likewise.
45279         * modules/euidaccess (Makefile.am): Likewise.
45280         * modules/exclude (Makefile.am): Likewise.
45281         * modules/exitfail (Makefile.am): Likewise.
45282         * modules/fcntl-safer (Makefile.am): Likewise.
45283         * modules/fcntl (Makefile.am): Likewise.
45284         * modules/file-type (Makefile.am): Likewise.
45285         * modules/fileblocks (Makefile.am): Likewise.
45286         * modules/filemode (Makefile.am): Likewise.
45287         * modules/filenamecat (Makefile.am): Likewise.
45288         * modules/fnmatch (Makefile.am): Likewise.
45289         * modules/fopen-safer (Makefile.am): Likewise.
45290         * modules/fpending (Makefile.am): Likewise.
45291         * modules/fprintftime (Makefile.am): Likewise.
45292         * modules/free (Makefile.am): Likewise.
45293         * modules/fsusage (Makefile.am): Likewise.
45294         * modules/ftruncate (Makefile.am): Likewise.
45295         * modules/fts (Makefile.am): Likewise.
45296         * modules/gc-arcfour (Makefile.am): Likewise.
45297         * modules/gc-des (Makefile.am): Likewise.
45298         * modules/gc-hmac-md5 (Makefile.am): Likewise.
45299         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
45300         * modules/gc-md4 (Makefile.am): Likewise.
45301         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
45302         * modules/gc-sha1 (Makefile.am): Likewise.
45303         * modules/gc (Makefile.am): Likewise.
45304         * modules/getaddrinfo (Makefile.am): Likewise.
45305         * modules/getcwd (Makefile.am): Likewise.
45306         * modules/getdelim (Makefile.am): Likewise.
45307         * modules/getdomainname (Makefile.am): Likewise.
45308         * modules/getgroups (Makefile.am): Likewise.
45309         * modules/gethostname (Makefile.am): Likewise.
45310         * modules/gethrxtime (Makefile.am): Likewise.
45311         * modules/getline (Makefile.am): Likewise.
45312         * modules/getloadavg (Makefile.am): Likewise.
45313         * modules/getlogin_r (Makefile.am): Likewise.
45314         * modules/getndelim2 (Makefile.am): Likewise.
45315         * modules/getopt (Makefile.am): Likewise.
45316         * modules/getpagesize (Makefile.am): Likewise.
45317         * modules/getpass-gnu (Makefile.am): Likewise.
45318         * modules/getpass (Makefile.am): Likewise.
45319         * modules/getsubopt (Makefile.am): Likewise.
45320         * modules/gettime (Makefile.am): Likewise.
45321         * modules/gettimeofday (Makefile.am): Likewise.
45322         * modules/getugroups (Makefile.am): Likewise.
45323         * modules/getusershell (Makefile.am): Likewise.
45324         * modules/glob (Makefile.am): Likewise.
45325         * modules/group-member (Makefile.am): Likewise.
45326         * modules/hard-locale (Makefile.am): Likewise.
45327         * modules/hash (Makefile.am): Likewise.
45328         * modules/hmac-md5 (Makefile.am): Likewise.
45329         * modules/hmac-sha1 (Makefile.am): Likewise.
45330         * modules/human (Makefile.am): Likewise.
45331         * modules/idcache (Makefile.am): Likewise.
45332         * modules/imaxabs (Makefile.am): Likewise.
45333         * modules/imaxdiv (Makefile.am): Likewise.
45334         * modules/inet_ntop (Makefile.am): Likewise.
45335         * modules/inet_pton (Makefile.am): Likewise.
45336         * modules/intprops (Makefile.am): Likewise.
45337         * modules/inttostr (Makefile.am): Likewise.
45338         * modules/inttypes (Makefile.am): Likewise.
45339         * modules/isapipe (Makefile.am): Likewise.
45340         * modules/javaversion (Makefile.am): Likewise.
45341         * modules/lchmod (Makefile.am): Likewise.
45342         * modules/lchown (Makefile.am): Likewise.
45343         * modules/localcharset (Makefile.am): Likewise.
45344         * modules/long-options (Makefile.am): Likewise.
45345         * modules/lstat (Makefile.am): Likewise.
45346         * modules/malloc (Makefile.am): Likewise.
45347         * modules/mathl (Makefile.am): Likewise.
45348         * modules/mbchar (Makefile.am): Likewise.
45349         * modules/md2 (Makefile.am): Likewise.
45350         * modules/md4 (Makefile.am): Likewise.
45351         * modules/md5 (Makefile.am): Likewise.
45352         * modules/memcasecmp (Makefile.am): Likewise.
45353         * modules/memchr (Makefile.am): Likewise.
45354         * modules/memcmp (Makefile.am): Likewise.
45355         * modules/memcoll (Makefile.am): Likewise.
45356         * modules/memcpy (Makefile.am): Likewise.
45357         * modules/memmem (Makefile.am): Likewise.
45358         * modules/memmove (Makefile.am): Likewise.
45359         * modules/mempcpy (Makefile.am): Likewise.
45360         * modules/memrchr (Makefile.am): Likewise.
45361         * modules/memset (Makefile.am): Likewise.
45362         * modules/memxor (Makefile.am): Likewise.
45363         * modules/mkancesdirs (Makefile.am): Likewise.
45364         * modules/mkdir-p (Makefile.am): Likewise.
45365         * modules/mkdir (Makefile.am): Likewise.
45366         * modules/mkdtemp (Makefile.am): Likewise.
45367         * modules/mkstemp (Makefile.am): Likewise.
45368         * modules/mktime (Makefile.am): Likewise.
45369         * modules/modechange (Makefile.am): Likewise.
45370         * modules/mountlist (Makefile.am): Likewise.
45371         * modules/nanosleep (Makefile.am): Likewise.
45372         * modules/obstack (Makefile.am): Likewise.
45373         * modules/openat (Makefile.am): Likewise.
45374         * modules/pagealign_alloc (Makefile.am): Likewise.
45375         * modules/pathmax (Makefile.am): Likewise.
45376         * modules/physmem (Makefile.am): Likewise.
45377         * modules/poll (Makefile.am): Likewise.
45378         * modules/posixtm (Makefile.am): Likewise.
45379         * modules/posixver (Makefile.am): Likewise.
45380         * modules/putenv (Makefile.am): Likewise.
45381         * modules/quote (Makefile.am): Likewise.
45382         * modules/quotearg (Makefile.am): Likewise.
45383         * modules/raise (Makefile.am): Likewise.
45384         * modules/read-file (Makefile.am): Likewise.
45385         * modules/readline (Makefile.am): Likewise.
45386         * modules/readlink (Makefile.am): Likewise.
45387         * modules/readtokens (Makefile.am): Likewise.
45388         * modules/readutmp (Makefile.am): Likewise.
45389         * modules/realloc (Makefile.am): Likewise.
45390         * modules/regex (Makefile.am): Likewise.
45391         * modules/rename-dest-slash (Makefile.am): Likewise.
45392         * modules/rename (Makefile.am): Likewise.
45393         * modules/rijndael (Makefile.am): Likewise.
45394         * modules/rmdir (Makefile.am): Likewise.
45395         * modules/rpmatch (Makefile.am): Likewise.
45396         * modules/safe-read (Makefile.am): Likewise.
45397         * modules/safe-write (Makefile.am): Likewise.
45398         * modules/same-inode (Makefile.am): Likewise.
45399         * modules/same (Makefile.am): Likewise.
45400         * modules/save-cwd (Makefile.am): Likewise.
45401         * modules/savedir (Makefile.am): Likewise.
45402         * modules/setenv (Makefile.am): Likewise.
45403         * modules/settime (Makefile.am): Likewise.
45404         * modules/sha1 (Makefile.am): Likewise.
45405         * modules/sig2str (Makefile.am): Likewise.
45406         * modules/snprintf (Makefile.am): Likewise.
45407         * modules/stat-macros (Makefile.am): Likewise.
45408         * modules/stat-time (Makefile.am): Likewise.
45409         * modules/stdbool (Makefile.am): Likewise.
45410         * modules/stdint (Makefile.am): Likewise.
45411         * modules/stdlib-safer (Makefile.am): Likewise.
45412         * modules/stpcpy (Makefile.am): Likewise.
45413         * modules/stpncpy (Makefile.am): Likewise.
45414         * modules/strcase (Makefile.am): Likewise.
45415         * modules/strcasestr (Makefile.am): Likewise.
45416         * modules/strchrnul (Makefile.am): Likewise.
45417         * modules/strcspn (Makefile.am): Likewise.
45418         * modules/strdup (Makefile.am): Likewise.
45419         * modules/strerror (Makefile.am): Likewise.
45420         * modules/strftime (Makefile.am): Likewise.
45421         * modules/strndup (Makefile.am): Likewise.
45422         * modules/strnlen (Makefile.am): Likewise.
45423         * modules/strpbrk (Makefile.am): Likewise.
45424         * modules/strsep (Makefile.am): Likewise.
45425         * modules/strstr (Makefile.am): Likewise.
45426         * modules/strtod (Makefile.am): Likewise.
45427         * modules/strtoimax (Makefile.am): Likewise.
45428         * modules/strtok_r (Makefile.am): Likewise.
45429         * modules/strtol (Makefile.am): Likewise.
45430         * modules/strtoll (Makefile.am): Likewise.
45431         * modules/strtoul (Makefile.am): Likewise.
45432         * modules/strtoull (Makefile.am): Likewise.
45433         * modules/strtoumax (Makefile.am): Likewise.
45434         * modules/strverscmp (Makefile.am): Likewise.
45435         * modules/sys_socket (Makefile.am): Likewise.
45436         * modules/sys_stat (Makefile.am): Likewise.
45437         * modules/sysexits (Makefile.am): Likewise.
45438         * modules/time_r (Makefile.am): Likewise.
45439         * modules/timegm (Makefile.am): Likewise.
45440         * modules/timespec (Makefile.am): Likewise.
45441         * modules/tmpfile-safer (Makefile.am): Likewise.
45442         * modules/trim (Makefile.am): Likewise.
45443         * modules/unistd-safer (Makefile.am): Likewise.
45444         * modules/unlinkdir (Makefile.am): Likewise.
45445         * modules/unlocked-io (Makefile.am): Likewise.
45446         * modules/userspec (Makefile.am): Likewise.
45447         * modules/utime (Makefile.am): Likewise.
45448         * modules/utimecmp (Makefile.am): Likewise.
45449         * modules/utimens (Makefile.am): Likewise.
45450         * modules/vasnprintf (Makefile.am): Likewise.
45451         * modules/vasprintf (Makefile.am): Likewise.
45452         * modules/vsnprintf (Makefile.am): Likewise.
45453         * modules/xalloc (Makefile.am): Likewise.
45454         * modules/xgetcwd (Makefile.am): Likewise.
45455         * modules/xnanosleep (Makefile.am): Likewise.
45456         * modules/xreadlink (Makefile.am): Likewise.
45457         * modules/xstrtod (Makefile.am): Likewise.
45458         * modules/xstrtol (Makefile.am): Likewise.
45459         * modules/xstrtold (Makefile.am): Likewise.
45460         * modules/yesno (Makefile.am): Likewise.
45461         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
45462
45463 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
45464
45465         * modules/error (Makefile.am): Distribute files through
45466         EXTRA_DIST, not lib_SOURCES.
45467
45468 2006-10-12  Eric Blake  <ebb9@byu.net>
45469
45470         * modules/error (Makefile.am): Distribute files in /lib.
45471         * modules/obstack (Makefile.am): Likewise.
45472
45473 2006-10-12  Bruno Haible  <bruno@clisp.org>
45474
45475         * modules/acl (Makefile.am): Distribute all files in lib/ through
45476         EXTRA_DIST.
45477         * modules/arcfour (Makefile.am): Likewise.
45478         * modules/arctwo (Makefile.am): Likewise.
45479         * modules/argmatch (Makefile.am): Likewise.
45480         * modules/argz (Makefile.am): Likewise.
45481         * modules/atexit (Makefile.am): Likewise.
45482         * modules/backupfile (Makefile.am): Likewise.
45483         * modules/c-strtod (Makefile.am): Likewise.
45484         * modules/c-strtold (Makefile.am): Likewise.
45485         * modules/calloc (Makefile.am): Likewise.
45486         * modules/canon-host (Makefile.am): Likewise.
45487         * modules/canonicalize (Makefile.am): Likewise.
45488         * modules/chdir-long (Makefile.am): Likewise.
45489         * modules/chdir-safer (Makefile.am): Likewise.
45490         * modules/check-version (Makefile.am): Likewise.
45491         * modules/chown (Makefile.am): Likewise.
45492         * modules/cloexec (Makefile.am): Likewise.
45493         * modules/close-stream (Makefile.am): Likewise.
45494         * modules/closeout (Makefile.am): Likewise.
45495         * modules/crc (Makefile.am): Likewise.
45496         * modules/cycle-check (Makefile.am): Likewise.
45497         * modules/des (Makefile.am): Likewise.
45498         * modules/dirfd (Makefile.am): Likewise.
45499         * modules/dirname (Makefile.am): Likewise.
45500         * modules/dup2 (Makefile.am): Likewise.
45501         * modules/euidaccess (Makefile.am): Likewise.
45502         * modules/exclude (Makefile.am): Likewise.
45503         * modules/exitfail (Makefile.am): Likewise.
45504         * modules/fcntl-safer (Makefile.am): Likewise.
45505         * modules/file-type (Makefile.am): Likewise.
45506         * modules/fileblocks (Makefile.am): Likewise.
45507         * modules/filemode (Makefile.am): Likewise.
45508         * modules/filenamecat (Makefile.am): Likewise.
45509         * modules/fnmatch (Makefile.am): Likewise.
45510         * modules/fopen-safer (Makefile.am): Likewise.
45511         * modules/fpending (Makefile.am): Likewise.
45512         * modules/fprintftime (Makefile.am): Likewise.
45513         * modules/free (Makefile.am): Likewise.
45514         * modules/fsusage (Makefile.am): Likewise.
45515         * modules/ftruncate (Makefile.am): Likewise.
45516         * modules/fts (Makefile.am): Likewise.
45517         * modules/gc (Makefile.am): Likewise.
45518         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
45519         * modules/getaddrinfo (Makefile.am): Likewise.
45520         * modules/getcwd (Makefile.am): Likewise.
45521         * modules/getdelim (Makefile.am): Likewise.
45522         * modules/getdomainname (Makefile.am): Likewise.
45523         * modules/getgroups (Makefile.am): Likewise.
45524         * modules/gethostname (Makefile.am): Likewise.
45525         * modules/gethrxtime (Makefile.am): Likewise.
45526         * modules/getline (Makefile.am): Likewise.
45527         * modules/getloadavg (Makefile.am): Likewise.
45528         * modules/getlogin_r (Makefile.am): Likewise.
45529         * modules/getopt (Makefile.am): Likewise.
45530         * modules/getpass (Makefile.am): Likewise.
45531         * modules/getpass-gnu (Makefile.am): Likewise.
45532         * modules/getsubopt (Makefile.am): Likewise.
45533         * modules/gettime (Makefile.am): Likewise.
45534         * modules/gettimeofday (Makefile.am): Likewise.
45535         * modules/getugroups (Makefile.am): Likewise.
45536         * modules/getusershell (Makefile.am): Likewise.
45537         * modules/glob (Makefile.am): Likewise.
45538         * modules/group-member (Makefile.am): Likewise.
45539         * modules/hard-locale (Makefile.am): Likewise.
45540         * modules/hash (Makefile.am): Likewise.
45541         * modules/hmac-md5 (Makefile.am): Likewise.
45542         * modules/hmac-sha1 (Makefile.am): Likewise.
45543         * modules/human (Makefile.am): Likewise.
45544         * modules/idcache (Makefile.am): Likewise.
45545         * modules/imaxabs (Makefile.am): Likewise.
45546         * modules/imaxdiv (Makefile.am): Likewise.
45547         * modules/inet_ntop (Makefile.am): Likewise.
45548         * modules/inet_pton (Makefile.am): Likewise.
45549         * modules/inttostr (Makefile.am): Likewise.
45550         * modules/isapipe (Makefile.am): Likewise.
45551         * modules/lchown (Makefile.am): Likewise.
45552         * modules/long-options (Makefile.am): Likewise.
45553         * modules/lstat (Makefile.am): Likewise.
45554         * modules/malloc (Makefile.am): Likewise.
45555         * modules/mathl (Makefile.am): Likewise.
45556         * modules/mbchar (Makefile.am): Likewise.
45557         * modules/md2 (Makefile.am): Likewise.
45558         * modules/md4 (Makefile.am): Likewise.
45559         * modules/md5 (Makefile.am): Likewise.
45560         * modules/memcasecmp (Makefile.am): Likewise.
45561         * modules/memchr (Makefile.am): Likewise.
45562         * modules/memcmp (Makefile.am): Likewise.
45563         * modules/memcoll (Makefile.am): Likewise.
45564         * modules/memcpy (Makefile.am): Likewise.
45565         * modules/memmem (Makefile.am): Likewise.
45566         * modules/memmove (Makefile.am): Likewise.
45567         * modules/mempcpy (Makefile.am): Likewise.
45568         * modules/memrchr (Makefile.am): Likewise.
45569         * modules/memset (Makefile.am): Likewise.
45570         * modules/memxor (Makefile.am): Likewise.
45571         * modules/mkancesdirs (Makefile.am): Likewise.
45572         * modules/mkdir (Makefile.am): Likewise.
45573         * modules/mkdir-p (Makefile.am): Likewise.
45574         * modules/mkdtemp (Makefile.am): Likewise.
45575         * modules/mkstemp (Makefile.am): Likewise.
45576         * modules/mktime (Makefile.am): Likewise.
45577         * modules/modechange (Makefile.am): Likewise.
45578         * modules/mountlist (Makefile.am): Likewise.
45579         * modules/nanosleep (Makefile.am): Likewise.
45580         * modules/openat (Makefile.am): Likewise.
45581         * modules/pagealign_alloc (Makefile.am): Likewise.
45582         * modules/physmem (Makefile.am): Likewise.
45583         * modules/poll (Makefile.am): Likewise.
45584         * modules/posixtm (Makefile.am): Likewise.
45585         * modules/posixver (Makefile.am): Likewise.
45586         * modules/putenv (Makefile.am): Likewise.
45587         * modules/quote (Makefile.am): Likewise.
45588         * modules/quotearg (Makefile.am): Likewise.
45589         * modules/raise (Makefile.am): Likewise.
45590         * modules/read-file (Makefile.am): Likewise.
45591         * modules/readline (Makefile.am): Likewise.
45592         * modules/readlink (Makefile.am): Likewise.
45593         * modules/readtokens (Makefile.am): Likewise.
45594         * modules/readutmp (Makefile.am): Likewise.
45595         * modules/realloc (Makefile.am): Likewise.
45596         * modules/regex (Makefile.am): Likewise.
45597         * modules/rename (Makefile.am): Likewise.
45598         * modules/rename-dest-slash (Makefile.am): Likewise.
45599         * modules/rijndael (Makefile.am): Likewise.
45600         * modules/rmdir (Makefile.am): Likewise.
45601         * modules/rpmatch (Makefile.am): Likewise.
45602         * modules/safe-read (Makefile.am): Likewise.
45603         * modules/safe-write (Makefile.am): Likewise.
45604         * modules/same (Makefile.am): Likewise.
45605         * modules/save-cwd (Makefile.am): Likewise.
45606         * modules/savedir (Makefile.am): Likewise.
45607         * modules/setenv (Makefile.am): Likewise.
45608         * modules/settime (Makefile.am): Likewise.
45609         * modules/sha1 (Makefile.am): Likewise.
45610         * modules/sig2str (Makefile.am): Likewise.
45611         * modules/snprintf (Makefile.am): Likewise.
45612         * modules/stdlib-safer (Makefile.am): Likewise.
45613         * modules/stpcpy (Makefile.am): Likewise.
45614         * modules/stpncpy (Makefile.am): Likewise.
45615         * modules/strcase (Makefile.am): Likewise.
45616         * modules/strcasestr (Makefile.am): Likewise.
45617         * modules/strchrnul (Makefile.am): Likewise.
45618         * modules/strcspn (Makefile.am): Likewise.
45619         * modules/strdup (Makefile.am): Likewise.
45620         * modules/strerror (Makefile.am): Likewise.
45621         * modules/strftime (Makefile.am): Likewise.
45622         * modules/strndup (Makefile.am): Likewise.
45623         * modules/strnlen (Makefile.am): Likewise.
45624         * modules/strpbrk (Makefile.am): Likewise.
45625         * modules/strsep (Makefile.am): Likewise.
45626         * modules/strstr (Makefile.am): Likewise.
45627         * modules/strtod (Makefile.am): Likewise.
45628         * modules/strtoimax (Makefile.am): Likewise.
45629         * modules/strtok_r (Makefile.am): Likewise.
45630         * modules/strtol (Makefile.am): Likewise.
45631         * modules/strtoll (Makefile.am): Likewise.
45632         * modules/strtoul (Makefile.am): Likewise.
45633         * modules/strtoull (Makefile.am): Likewise.
45634         * modules/strtoumax (Makefile.am): Likewise.
45635         * modules/strverscmp (Makefile.am): Likewise.
45636         * modules/time_r (Makefile.am): Likewise.
45637         * modules/timegm (Makefile.am): Likewise.
45638         * modules/tmpfile-safer (Makefile.am): Likewise.
45639         * modules/unistd-safer (Makefile.am): Likewise.
45640         * modules/unlinkdir (Makefile.am): Likewise.
45641         * modules/userspec (Makefile.am): Likewise.
45642         * modules/utime (Makefile.am): Likewise.
45643         * modules/utimecmp (Makefile.am): Likewise.
45644         * modules/utimens (Makefile.am): Likewise.
45645         * modules/vasnprintf (Makefile.am): Likewise.
45646         * modules/vasprintf (Makefile.am): Likewise.
45647         * modules/vsnprintf (Makefile.am): Likewise.
45648         * modules/xalloc (Makefile.am): Likewise.
45649         * modules/xgetcwd (Makefile.am): Likewise.
45650         * modules/xnanosleep (Makefile.am): Likewise.
45651         * modules/xreadlink (Makefile.am): Likewise.
45652         * modules/xstrtod (Makefile.am): Likewise.
45653         * modules/xstrtol (Makefile.am): Likewise.
45654         * modules/xstrtold (Makefile.am): Likewise.
45655         * modules/yesno (Makefile.am): Likewise.
45656
45657 2006-10-12  Jim Meyering  <jim@meyering.net>
45658
45659         * m4/getloadavg.m4: Revert the change below.
45660
45661         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
45662         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
45663         fail with a symlink, which is what coreutils' ./bootstrap now
45664         creates by default.
45665
45666 2006-10-12  Bruno Haible  <bruno@clisp.org>
45667
45668         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
45669         mingw.
45670         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
45671         MSVC and mingw explicitly.
45672
45673 2006-10-11  Simon Josefsson  <jas@extundo.com>
45674             Bruno Haible  <bruno@clisp.org>
45675
45676         Add support for multiple gnulib-tool invocations in the scope of a
45677         single configure.ac file.
45678         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
45679         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
45680         with the same contents as the _LIBADD variable.
45681         (func_emit_initmacro_start, func_emit_initmacro_end,
45682         func_emit_initmacro_done): New functions.
45683         (func_import, func_create_testdir): Invoke them. Allow the identifiers
45684         gl_LIBOBJS and gl_LTLIBOBJS.
45685
45686 2006-10-11  Bruno Haible  <bruno@clisp.org>
45687
45688         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
45689         (func_create_testdir): Don't create po/Makefile.am, don't invoke
45690         autoreconf. Instead, invoke autopoint explicitly but move back the
45691         *.m4 files from gnulib.
45692
45693 2006-10-11  Bruno Haible  <bruno@clisp.org>
45694
45695         * gnulib-tool (func_usage): Make module names after --create-testdir
45696         optional.
45697         (func_create_testdir): If no module was specified, use nearly all
45698         modules.
45699
45700 2006-10-12  Jim Meyering  <jim@meyering.net>
45701
45702         Big performance improvement for fts-based tools that use FTS_NOSTAT.
45703         Avoid spurious inode-mismatch problems on non-POSIX file systems.
45704         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
45705         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
45706         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
45707         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
45708         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
45709         (fts_set_stat_required): New function.
45710         (fts_open): Defer the calls to fts_stat, if possible or requested.
45711         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
45712         into fts_stat itself.
45713         (fts_read): Perform any required (deferred) fts_stat call.
45714         (fts_build): Likewise, for the directory we're about to open and read.
45715         In the readdir loop, carefully decide whether each entry will require
45716         an eventual call to fts_stat, using dirent.d_type info if available.
45717         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
45718         a command line argument into this function.  Update all callers.
45719         Map a return value of FTS_DOT to FTS_D for a command line argument.
45720         * modules/fts (Depends-on): Add d-type.  Alphabetize.
45721         Thanks to Miklos Szeredi for his tenacity and for the initial
45722         bug report about "find" failing on a FUSE-based file system.
45723
45724         * lib/fts.c (fts_open): Use consistent indentation.
45725
45726 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
45727
45728         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
45729         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
45730         reported by Jim Meyering.  All uses of cache variables renamed
45731         to match Autoconf's.
45732         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
45733         the other one.
45734
45735         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45736         Fix misspelling in diagnostic.
45737
45738 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45739
45740         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
45741         defined.  Problem reported by Matthew Woehlke.
45742
45743         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
45744         Add support for Tandem NonStop R series.
45745         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
45746         Use new macro.
45747
45748         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
45749         (has_trailing_slash): Omit size arg; all callers changed.
45750         Omit 'inline', since it doesn't help performance and we'd
45751         need to configure it.
45752         Don't count //, ///, etc. as having a trailing slash.
45753         As a side effect, this removes a C99ism reported by Matthew Woehlke.
45754         (rpl_rename_dest_slash): On failure, use rename's errno rather
45755         than (in some cases) an incorrect or junk errno.
45756         Simplify code by removing need to compute length; this does
45757         cause it to make two passes instead of one over the file name,
45758         but it's worth it.
45759
45760         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
45761         change, since Autoconf's version may no longer be appropriate now
45762         that we are using CVS Autoconf's version.  Add support for Tandem.
45763
45764 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45765             Bruno Haible  <bruno@clisp.org>
45766
45767         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
45768         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
45769         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
45770         gl_AC_TYPE_LONG_LONG.
45771
45772         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
45773         instead of HAVE_LONG_LONG.
45774         * lib/printf-args.c (printf_fetchargs): Likewise.
45775         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
45776         * lib/vasnprintf.c (VASNPRINTF): Likewise.
45777         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
45778         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
45779         gl_AC_TYPE_LONG_LONG.
45780
45781 2006-10-11  Bruno Haible  <bruno@clisp.org>
45782
45783         * m4/longlong.m4: Add comments.
45784         * m4/ulonglong.m4: Likewise.
45785
45786 2006-10-10  Bruno Haible  <bruno@clisp.org>
45787
45788         Make it possible to #define stpcpy, strdup to aliases.
45789         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
45790         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
45791
45792 2006-10-10  Bruno Haible  <bruno@clisp.org>
45793
45794         Make it possible to #define gcd to an alias.
45795         * lib/gcd.c: Include config.h.
45796
45797 2006-10-10  Bruno Haible  <bruno@clisp.org>
45798
45799         Make it possible to #define c_isascii to an alias.
45800         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
45801         defined. Undefine the macros before defining them, to avoid gcc
45802         warnings.
45803         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
45804         define NO_C_CTYPE_MACROS early.
45805
45806 2006-10-10  Bruno Haible  <bruno@clisp.org>
45807
45808         Make it possible to #define set_program_name to an alias.
45809         * lib/progname.c: Don't undefine set_program_name; instead, undefine
45810         ENABLE_RELOCATABLE early.
45811
45812 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45813
45814         Port to Tandem NSK OSS, which has 64-bit signed int but at most
45815         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
45816         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
45817         More generally, don't assume that 64-bit signed int is available
45818         if unsigned int is, and vice versa.
45819         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
45820         unsigned symbols, not on their signed counterparts.
45821         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
45822         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
45823         (UINT64_C, UINTMAX_C):
45824         Likewise.
45825         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
45826         unsigned counterparts.
45827         (Have_long_long, Unsigned): New macros.
45828         (Int): Renamed from INT.
45829         (strtoimax): Use the new macros.
45830         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
45831         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
45832         * modules/inttypes (inttypes.h): Substitute
45833         HAVE_UNSIGNED_LONG_LONG_INT.
45834         * modules/stdint (stdint.h): Likewise.
45835         (Files): Add m4/ulonglong.m4.
45836
45837 2006-10-10  Bruno Haible  <bruno@clisp.org>
45838
45839         Fix a gcc -Wshadow warning.
45840         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
45841         to 'bucket'.
45842         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
45843         gl_linked_indexof_from_to): Likewise.
45844         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
45845         Likewise.
45846         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
45847         Likewise.
45848         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
45849         Reported by Eric Blake.
45850
45851 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
45852
45853         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
45854         for NetBSD.  Problem reported by Bruno Haible.
45855
45856 2006-10-09  Jim Meyering  <jim@meyering.net>
45857
45858         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
45859         Patch from Bruno Haible.
45860
45861 2006-10-09  Jim Meyering  <jim@meyering.net>
45862
45863         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
45864         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
45865         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
45866
45867 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45868
45869         Don't include <config.h> twice; this doesn't work in some cases,
45870         e.g., when config.h has "#define intmax_t long long int" and
45871         we include <config.h>, <inttypes.h>, <config.h> in that order.
45872         Problem reported by Matthew Woehlke in:
45873         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
45874         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
45875         * lib/fts-cycle.c: Don't include config.h.
45876         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
45877         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
45878         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
45879         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
45880         inttypes.h.
45881         * lib/xstrtoumax.c: Likewise.
45882         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
45883         __strtol and the like, so that this module is more like its siblings.
45884         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
45885         Remove; no longer needed now that we assume gnulib inttypes.h.
45886
45887 2006-10-08  Bruno Haible  <bruno@clisp.org>
45888
45889         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
45890         option.
45891
45892 2006-10-07  Jim Meyering  <jim@meyering.net>
45893
45894         * modules/inttypes (inttypes.h): Revert what seems to have been
45895         an inadvertent part of today's change: use "|", not "/" in the
45896         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
45897
45898 2006-10-07  Bruno Haible  <bruno@clisp.org>
45899
45900         * modules/sublist: New file.
45901
45902 2006-10-07  Bruno Haible  <bruno@clisp.org>
45903
45904         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
45905         * modules/argz (argz.h): Likewise.
45906         * modules/arpa_inet (arpa/inet.h): Likewise.
45907         * modules/byteswap (byteswap.h): Likewise.
45908         * modules/configmake (configmake.h): Likewise.
45909         * modules/fcntl (fcntl.h): Likewise.
45910         * modules/fnmatch (fnmatch.h): Likewise.
45911         * modules/getopt (getopt.h): Likewise.
45912         * modules/glob (glob.h): Likewise.
45913         * modules/inttypes (inttypes.h): Likewise.
45914         * modules/netinet_in (netinet/in.h): Likewise.
45915         * modules/poll (poll.h): Likewise.
45916         * modules/stdbool (stdbool.h): Likewise.
45917         * modules/stdint (stdint.h): Likewise.
45918         * modules/sys_select (sys/select.h): Likewise.
45919         * modules/sys_socket (sys/socket.h): Likewise.
45920         * modules/sys_stat (sys/stat.h): Likewise.
45921         * modules/sysexits (sysexits.h): Likewise.
45922         * modules/unistd (unistd.h): Likewise.
45923         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45924         Add a "DO NOT EDIT" comment to the generated file.
45925         (func_import): Likewise for gnulib-comp.m4.
45926
45927 2006-10-07  Bruno Haible  <bruno@clisp.org>
45928
45929         * lib/gl_sublist.h: New file.
45930         * lib/gl_sublist.c: New file.
45931
45932 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
45933
45934         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
45935         name (relative to the original working directory) and the file
45936         name component (relative to the temporary working directory).  All
45937         callers changed.
45938         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
45939         * lib/mkdir-p.c (make_dir_parents): Likewise.
45940         * lib/mkdir-p.h (make_dir_parents): Likewise.
45941
45942 2006-10-06  Eric Blake  <ebb9@byu.net>
45943
45944         Define several macros for use by the clean-temp module.
45945         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
45946         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
45947         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
45948
45949         * lib/clean-temp.h (close_stream_temp): New declaration.
45950         * lib/clean-temp.c (includes): Pull in headers according to what
45951         other modules are in use.
45952         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
45953
45954 2006-10-06  Bruno Haible  <bruno@clisp.org>
45955
45956         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
45957         instead of fopen, fwriteerror.
45958
45959 2006-10-06  Bruno Haible  <bruno@clisp.org>
45960
45961         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
45962         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
45963         int.
45964         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
45965         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
45966         Return an error indicator.
45967         Suggested by Eric Blake.
45968
45969 2006-10-06  Bruno Haible  <bruno@clisp.org>
45970
45971         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
45972         Reported by Eric Blake.
45973
45974 2006-10-06  Bruno Haible  <bruno@clisp.org>
45975
45976         * modules/closeout (Description): Mention stderr too.
45977
45978 2006-10-06  Bruno Haible  <bruno@clisp.org>
45979         and Paul Eggert  <eggert@cs.ucla.edu>
45980
45981         * lib/closeout.c (close_stdout): Also close stderr.
45982         * lib/closeout.h: Update comment.
45983
45984 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
45985
45986         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
45987         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
45988         * lib/dirchownmod.c: Include lchown.h.
45989         * lib/lchown.c: Don't include files that lchown.h now includes.
45990         Don't declare chown, since lchown.h now does that.
45991         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
45992         (lchown): Define to rpl_chown if lchown is declared but
45993         does not exist.  Declare using a prototype if lchown is not
45994         declared.  Add a copyright notice.
45995         * lib/mkstemp.h: Include <unistd.h>.
45996         * lib/openat.c: Include lchown.h.
45997
45998         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
45999         we now test for that separately.
46000         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
46001         rather than O_NOFOLLOW, when testing whether it's possible to
46002         avoid a race condition reliably.
46003         * lib/savewd.c (savewd_chdir): Likewise.
46004
46005         Remove macros that are no longer needed now that stdint.h is
46006         reliable.
46007         * lib/fsusage.c (UINTMAX_MAX): Remove.
46008         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
46009         * lib/utimecmp.c (SIZE_MAX): Remove.
46010
46011         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
46012
46013         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
46014         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
46015         O_NOATIME works.
46016
46017 2006-10-05  Bruno Haible  <bruno@clisp.org>
46018
46019         * lib/gl_list.h (gl_sortedlist_search_from_to,
46020         gl_sortedlist_indexof_from_to): New declarations.
46021         (gl_list_implementation): New fields sortedlist_search_from_to,
46022         sortedlist_indexof_from_to.
46023         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
46024         inline functions.
46025         * lib/gl_list.c (gl_sortedlist_search_from_to,
46026         gl_sortedlist_indexof_from_to): New functions.
46027         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
46028         function.
46029         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
46030         (gl_array_sortedlist_search_from_to): New function.
46031         (gl_array_list_implementation): Update.
46032         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
46033         function.
46034         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
46035         (gl_carray_sortedlist_search_from_to): New function.
46036         (gl_carray_list_implementation): Update.
46037         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
46038         gl_linked_sortedlist_indexof_from_to): New functions.
46039         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
46040         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
46041         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
46042         gl_tree_sortedlist_indexof_from_to): New functions.
46043         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
46044         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
46045         Update.
46046         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
46047         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
46048         Update.
46049
46050 2006-10-05  Bruno Haible  <bruno@clisp.org>
46051
46052         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
46053         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
46054         (struct gl_list_implementation): Add fields search_from_to,
46055         indexof_from_to. Remove fields search, indexof.
46056         (gl_list_search): Use the search_from_to method.
46057         (gl_list_search_from, gl_list_search_from_to): New functions.
46058         (gl_list_indexof): Use the indexof_from_to method.
46059         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
46060         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
46061         (gl_list_search_from, gl_list_search_from_to): New functions.
46062         (gl_list_indexof): Use the indexof_from_to method.
46063         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
46064         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
46065         gl_array_indexof. Add start_index, end_index arguments.
46066         (gl_array_search_from_to): Renamed from gl_array_search. Add
46067         start_index, end_index arguments.
46068         (gl_array_remove, gl_array_list_implementation): Update.
46069         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
46070         gl_carray_indexof. Add start_index, end_index arguments.
46071         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
46072         start_index, end_index arguments.
46073         (gl_carray_remove, gl_carray_list_implementation): Update.
46074         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
46075         gl_linked_search. Add start_index, end_index arguments.
46076         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
46077         start_index, end_index arguments.
46078         (gl_linked_remove): Update.
46079         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
46080         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
46081         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
46082         field to 'size_t'.
46083         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
46084         gl_tree_search. Add start_index, end_index arguments.
46085         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
46086         start_index, end_index arguments.
46087         (gl_tree_remove): Update.
46088         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
46089         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
46090         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
46091         function.
46092         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
46093         gl_tree_search. Add start_index, end_index arguments.
46094         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
46095         start_index, end_index arguments.
46096         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
46097         Update.
46098         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
46099
46100 2006-10-05  Bruno Haible  <bruno@clisp.org>
46101
46102         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
46103
46104         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
46105         fwriteerror_temp): New declarations.
46106         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
46107         (descriptors): New variable.
46108         (cleanup): First, close the descriptors.
46109         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
46110         fclose_temp, fwriteerror_temp): New functions.
46111
46112 2006-10-04  Jim Meyering  <jim@meyering.net>
46113
46114         * lib/fts.c (fts_open): Tiny comment change.
46115
46116 2006-10-04  Bruno Haible  <bruno@clisp.org>
46117
46118         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
46119         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
46120         gl_LOCK_BODY.
46121         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
46122         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
46123         gl_LOCK_EARLY_BODY.
46124         (gl_LOCK): Require gl_LOCK_BODY.
46125
46126 2006-10-04  Bruno Haible  <bruno@clisp.org>
46127
46128         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
46129         (gl_oset_search_atleast): New declaration.
46130         (struct gl_oset_implementation): Add field 'search_atleast'.
46131         (gl_oset_search_atleast): New inline function.
46132         * lib/gl_oset.c (gl_oset_search_atleast): New function.
46133         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
46134         (gl_array_oset_implementation): Update.
46135         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
46136         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
46137         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
46138
46139 2006-10-04  Bruno Haible  <bruno@clisp.org>
46140
46141         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
46142
46143 2006-10-03  Bruno Haible  <bruno@clisp.org>
46144
46145         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
46146         from gl_avltreehash_list_implementation.
46147
46148 2006-10-03  Bruno Haible  <bruno@clisp.org>
46149
46150         * lib/gl_oset.c (gl_oset_add): Fix return type.
46151
46152 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
46153
46154         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
46155
46156 2006-10-02  Eric Blake  <ebb9@byu.net>
46157
46158         * modules/strnlen (Depends-on): Add extensions.
46159
46160 2006-10-02  Eric Blake  <ebb9@byu.net>
46161
46162         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
46163         definition in 2.60+.
46164
46165 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
46166
46167         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
46168         checks.
46169
46170 2006-10-02  Bruno Haible  <bruno@clisp.org>
46171
46172         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
46173         to the AUTOMAKE_OPTIONS.
46174         Reported by Jim Meyering.
46175
46176 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
46177
46178         Work around bug in Solaris 10 /proc file system:
46179         /proc/self/fd/NNN/.. isn't the parent directory of
46180         the directory whose file descriptor is NNN.  This needs to
46181         be worked around at run time, not compile time, since a
46182         program might be built on Solaris 8, where things work, and
46183         run on Solaris 10.
46184         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
46185         to use the following interface instead:
46186         (OPENAT_BUFFER_SIZE): New macro.
46187         (openat_proc_name): New function.
46188         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
46189         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
46190         Likewise.
46191         * lib/openat-proc.c: New file.
46192         * modules/openat (Files): Add lib/openat-proc.c.
46193         (Depends-on): Add same-inode, stdbool.
46194         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
46195
46196 2006-09-29  Bruno Haible  <bruno@clisp.org>
46197
46198         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
46199         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
46200         argument. Set stdout_closed before testing for ferror, not after.
46201         (fwriteerror, fwriteerror_no_ebadf): New functions.
46202
46203 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46204
46205         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
46206
46207 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
46208
46209         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
46210         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
46211
46212 2006-09-28  Jim Meyering  <jim@meyering.net>
46213
46214         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
46215         Include <unistd.h>.
46216
46217 2006-09-28  Bruno Haible  <bruno@clisp.org>
46218
46219         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
46220         * modules/linkedhash-list (Depends-on): Likewise.
46221         * modules/rbtreehash-list (Depends-on): Likewise.
46222
46223 2006-09-28  Bruno Haible  <bruno@clisp.org>
46224
46225         * lib/strndup.h: Simplify the redefinition of strndup.
46226         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
46227         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
46228
46229 2006-09-28  Bruno Haible  <bruno@clisp.org>
46230
46231         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
46232         * lib/gl_linkedhash_list.c: Likewise.
46233         * lib/gl_rbtreehash_list.c: Likewise.
46234
46235 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
46236
46237         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
46238         getaddrinfo.
46239
46240         * lib/__fpending.h: Don't include <stdio_ext.h> unless
46241         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
46242         it causes <stdio_ext.h> to cause a compile-time error.
46243         Problem reported by Nelson H. F. Beebe.
46244         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
46245         of HAVE_DECL___PENDING.
46246
46247         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
46248         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
46249         declaration.
46250
46251 2006-09-27  Jim Meyering  <jim@meyering.net>
46252
46253         This file could end up with a definition for a function
46254         named __strndup, rather than rpl_strndup on a system with
46255         incomplete weak_alias support.
46256         * lib/strndup.c (strndup): Rename from __strndup.
46257         Remove #defines that used to map __strndup to strndup.
46258         Don't use K&R prototypes.
46259         Remove LIBC-related code, since this file is not sync'd with glibc.
46260         * lib/strndup.h: Revamp, accordingly.
46261         * m4/strndup.m4: Modernize.
46262
46263 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46264
46265         * modules/savewd (Depends-on): Add 'raise'.
46266         * lib/savewd.c: Include <signal.h>, for 'raise'.
46267
46268 2006-09-26  Jim Meyering  <jim@meyering.net>
46269
46270         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
46271         when we detect Darwin 8.7.0's acl_get_file bug.
46272         Rearrange to perform the new (below) run-test while $LIBS
46273         contains any acl-related library.  Set USE_ACL at the end.
46274         (gl_ACL_GET_FILE): New function.
46275
46276 2006-09-26  Eric Blake  <ebb9@byu.net>
46277
46278         * lib/verror.c: Include <config.h> unconditionally.
46279
46280 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
46281
46282         * modules/clock-time (Maintainer): Add self.
46283         * modules/getlogin_r (Depends-on): Add extensions.
46284
46285 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46286
46287         * modules/clock-time: New module.
46288         * modules/nanosleep (Depends-on): Add clock-time.
46289         * modules/gethrxtime (Depends-on): Likewise.
46290         * modules/gettime (Depends-on): Likewise.
46291         * modules/settime (Depends-on): Likewise.
46292
46293         * modules/fts-lgpl: Depend on openat.
46294         * modules/mkancesdirs: Depend on savewd.
46295         * modules/mkdir-p: Likewise.
46296
46297 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46298
46299         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
46300
46301         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
46302         `gl_have_arbitrary_file_name_length_limit' to
46303         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
46304         actually works between configure runs.
46305
46306 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46307             Bruno Haible  <bruno@clisp.org>
46308
46309         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
46310
46311 2006-09-25  Jim Meyering  <jim@meyering.net>
46312
46313         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
46314         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
46315
46316 2006-09-25  Eric Blake  <ebb9@byu.net>
46317
46318         * gnulib-tool (func_import, func_create_testdir): Fix typos in
46319         exec's in 2006-09-18 patch when shuffling fds.
46320
46321 2006-09-25  Bruno Haible  <bruno@clisp.org>
46322
46323         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
46324         Reported by Jim Meyering.
46325
46326 2006-09-24  Jim Meyering  <jim@meyering.net>
46327
46328         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
46329         compare a pointer against a literal "0".  That caused failures with
46330         at least HP-UX's hpcc.
46331
46332 2006-09-22  Simon Josefsson  <jas@extundo.com>
46333
46334         * modules/gc-sha1:
46335         * modules/gc-md4:
46336         * modules/gc-hmac-sha1:
46337         * modules/gc-hmac-md5:
46338         * modules/gc-des:
46339         * modules/gc-arcfour: Distribute more files.
46340
46341 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46342
46343         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
46344         (gl_linked_iterator_from_to): Initialize struct completely.
46345         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
46346         (gl_tree_iterator_from_to): Likewise
46347         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
46348         * lib/gl_array_list.c [lint] (gl_array_iterator)
46349         (gl_array_iterator_from_to): Likewise.
46350         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
46351         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
46352         (gl_carray_iterator_from_to): Likewise.
46353
46354         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
46355         * lib/md4.c (md4_process_block): Remove unused variable.
46356         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
46357         parentheses for clarity.
46358
46359 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46360
46361         * modules/bison-i18n (Depends-on): Add gettext.
46362
46363 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46364
46365         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
46366         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
46367         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
46368         also add missing comma that caused broken test.
46369         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
46370         stdlib.h, for `abort'.
46371         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
46372         variables.
46373         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
46374         include unistd.h if present, for `rmdir'.
46375         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
46376         variables.
46377         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
46378         in the process include standard headers for prototypes.
46379         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
46380         gets declared on GNU/Linux.
46381         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
46382         unistd.h, for `rmdir'.
46383         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
46384
46385         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
46386         always true.
46387         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
46388
46389         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
46390
46391 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46392
46393         * gnulib-tool (func_version): Create output all at once.  This
46394         may help avoid triggering unnecessary SIGPIPEs, and at any
46395         rate it doesn't hurt.
46396
46397 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46398             Bruno Haible  <bruno@clisp.org>
46399
46400         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
46401         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46402         * m4/signed.m4 (bh_C_SIGNED): Likewise.
46403
46404         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
46405         (gl_FUNC_VASPRINTF): Invoke it.
46406
46407 2006-09-22  Bruno Haible  <bruno@clisp.org>
46408
46409         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
46410         getloadavg.c as first argument.
46411
46412 2006-09-22  Bruno Haible  <bruno@clisp.org>
46413
46414         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
46415         at the beginning of the gl_INIT macro.
46416         * modules/getloadavg (configure.ac): Pass $gl_source_base to
46417         gl_GETLOADAVG.
46418
46419 2006-09-22  Bruno Haible  <bruno@clisp.org>
46420
46421         * gnulib-tool (func_create_megatestdir): Don't include the config-h
46422         module.
46423         Suggested by Ralf Wildenhues.
46424
46425 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46426
46427         Import this patch from libc:
46428
46429         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
46430
46431         * lib/regex_internal.c (re_string_reconstruct): Handle
46432         offset < pstr->valid_raw_len && pstr->offsets_needed case.
46433         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
46434         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
46435         re_string_context_at.
46436
46437         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
46438         now requires it.
46439         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
46440         gl_REGEX now does it for us.
46441         (gl_REGEX): Add test taken from
46442         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
46443
46444         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
46445         Check that large offsets work.  Modernize Autoconf usages.
46446         Prefer "yes" to mean a good thing rather than a bad.
46447         Don't put "#define mkstemp" in config.h, as this might interfere
46448         with standard system headers that "#define mkstemp mkstemp64".
46449
46450         * modules/mkstemp (Depends-on): Add extensions, so that
46451         mkstemp is visible on some platforms.
46452         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
46453         (Include): Change to "mkstemp.h" from <stdlib.h>.
46454         (Files): Add mkstemp.h.
46455
46456         * lib/mkstemp.h: New file, since some standard headers
46457         #define mkstemp.
46458         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
46459         Include "mkstemp.h".
46460         Make the _LIBC code resemble glibc original more,
46461         e.g., use K&R style.
46462         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
46463         (mkstemp): Remove, since mkstemp.h does this for us.
46464         * lib/stdlib--.h: Include mkstemp.h.
46465
46466         Import this patch from libc:
46467
46468         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
46469
46470         * lib/tempname.c (__gen_tempname): Change attempts_min
46471         into a macro.  Use preprocessor to decide how to initialize
46472         attempts [Coverity CID 67].
46473
46474 2006-09-20  Bruno Haible  <bruno@clisp.org>
46475
46476         * lib/mkdtemp.c: Import from libc.
46477         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
46478                 * sysdeps/posix/tempname.c (__gen_tempname): Change
46479                 attempts_min into a macro.  Use preprocessor to decide how to
46480                 initialize attempts [Coverity CID 67].
46481         2001-11-27  Paul Eggert  <eggert@twinsun.com>
46482                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
46483                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
46484
46485 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46486
46487         * gnulib-tool (func_exit): New function, to allow to pass the
46488         exit status portably through the trap.  Use everywhere.
46489         (--help, --version): Signal a write error.
46490         (trap): catch SIGPIPE, for write errors.
46491         Exit at the end of the trap, with the correct exit status.
46492
46493 2006-09-19  Karl Berry  <karl@gnu.org>
46494
46495         * doc/gnulib.texi: note about the license texinfo files.
46496
46497 2006-09-19  Eric Blake  <ebb9@byu.net>
46498
46499         * gnulib-tool: Avoid space-tab.
46500
46501 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
46502
46503         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
46504         that prevented coreutils 6.1 from building.  Problem reported
46505         by Petter Reinholdtsen.
46506
46507 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
46508
46509         * gnulib-tool (avoidlist): Fix typo that broke options like
46510         --avoid=lock that are used by coreutils bootstrap.
46511
46512 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
46513
46514         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
46515         more systematically.
46516
46517 2006-09-18  Jim Meyering  <jim@meyering.net>
46518
46519         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
46520
46521 2006-09-18  Bruno Haible  <bruno@clisp.org>
46522
46523         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
46524
46525 2006-09-18  Bruno Haible  <bruno@clisp.org>
46526
46527         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
46528         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
46529         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
46530         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
46531         * m4/gettext.m4: Require autoconf >= 2.52.
46532         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
46533         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
46534         of gl_cv_header_inttypes_h.
46535
46536 2006-09-18  Bruno Haible  <bruno@clisp.org>
46537
46538         * lib/javaversion.c: Include configmake.h.
46539
46540 2006-09-18  Bruno Haible  <bruno@clisp.org>
46541
46542         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
46543         avoid that the while loops be executed in a subshell.
46544
46545 2006-09-18  Bruno Haible  <bruno@clisp.org>
46546
46547         * MODULES.html.sh (func_module): Break long lines.
46548         Suggested by Bruce Korb <bkorb@gnu.org>.
46549
46550 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46551
46552         Speed up by a factor of 1.12.
46553         * gnulib-tool (nl): New variable.
46554         (func_import): Rewrite include directive extraction to only read each
46555         directive once.
46556
46557 2006-09-17  Bruno Haible  <bruno@clisp.org>
46558
46559         * modules/javaversion (Makefile.am): Remove DEFS setting.
46560         (Depends-on): Add configmake, for PKGDATADIR definition.
46561
46562 2006-09-17  Bruno Haible  <bruno@clisp.org>
46563
46564         * gnulib-tool (func_create_testdir): Rewrite all files at once.
46565
46566 2006-09-17  Bruno Haible  <bruno@clisp.org>
46567
46568         * gnulib-tool (func_append): New function, stolen from libtool.m4.
46569         (func_modules_transitive_closure, func_modules_add_dummy,
46570         func_modules_to_filelist, func_import, func_create_testdir,
46571         func_create_megatestdir, ...): Use it wherever possible.
46572         Suggested by Ralf Wildenhues.
46573
46574 2006-09-16  Karl Berry  <karl@gnu.org>
46575
46576         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
46577         to avoid sectioning errors.
46578         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
46579         [ifinfo]: blank line after @center-ed titles.
46580         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
46581         Spell FSF address consistently with others.
46582         (These changes approved by rms.)
46583
46584 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46585
46586         Speed up by a factor of 1.61.
46587         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
46588         already checked module names again.
46589
46590 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46591
46592         Speed up by a factor of 1.13.
46593         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
46594         for new_files, and the input to func_add_or_update.
46595
46596 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46597
46598         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
46599         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
46600
46601 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46602
46603         * modules/mkancesdirs (Depends-on): Add fcntl.
46604         * modules/savewd: New file.
46605         * MODULES.html.sh (File system functions): Add savewd.
46606
46607         * modules/configmake (Makefile.am): Add support for the
46608         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
46609
46610 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46611
46612         * m4/savewd.m4: New file.
46613
46614 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46615
46616         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
46617         (dirchownmod): New arg FD.  All callers changed.
46618         Use FD rather than opening the directory ourself, as opening is
46619         now the caller's responsibility.
46620         * lib/dirchownmod.h: Likewise.
46621         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
46622         hosts that require <sys/types.h> before <sys/stat.h>.  Include
46623         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
46624         (test_dir): Remove.
46625         (mkancesdirs): Return length of prefix of FILE that has already
46626         been made, or -2 if there is a child doing the work.  Redo
46627         algorithm so that it is O(N) rather than O(N**2).  Optimize away
46628         ".", and treat ".." specially since it might stray back into
46629         already-created areas.  Use a subprocess if necessary.  New arg
46630         WD; all users changed.  MAKE_DIR function should now return 1
46631         if it creates a directory that is not readable.  Return -2 if
46632         a child process is spun off.
46633         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
46634         Adjust signature to match code.
46635         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
46636         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
46637         all users changed.
46638         * lib/savewd.c, lib/savewd.h: New files.
46639
46640 2006-09-15  Jim Meyering  <jim@meyering.net>
46641
46642         * modules/rename-dest-slash: New module.
46643         * MODULES.html.sh (posix_compat): Add it here.
46644
46645         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
46646
46647 2006-09-15  Jim Meyering  <jim@meyering.net>
46648
46649         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
46650         file.
46651
46652         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
46653
46654 2006-09-15  Jim Meyering  <jim@meyering.net>
46655
46656         * lib/rename-dest-slash.c (has_trailing_slash): Use
46657         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
46658         (rpl_rename_dest_slash): Perform the cheaper trailing slash
46659         test before testing whether SRC is a directory.
46660         Suggestions from Bruno Haible.
46661
46662         Avoid a warning about an unused variable.
46663         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
46664         into the #ifdef block where it's used.
46665
46666         * lib/rename-dest-slash.c: New file.
46667
46668 2006-09-14  Bruno Haible  <bruno@clisp.org>
46669
46670         * lib/allocsa.c: Include <config.h> unconditionally.
46671         * lib/asnprintf.c: Likewise.
46672         * lib/asprintf.c: Likewise.
46673         * lib/c-strcasecmp.c: Likewise.
46674         * lib/c-strcasestr.c: Likewise.
46675         * lib/c-strncasecmp.c: Likewise.
46676         * lib/c-strstr.c: Likewise.
46677         * lib/classpath.c: Likewise.
46678         * lib/clean-temp.c: Likewise.
46679         * lib/concatpath.c: Likewise.
46680         * lib/copy-file.c: Likewise.
46681         * lib/csharpcomp.c: Likewise.
46682         * lib/csharpexec.c: Likewise.
46683         * lib/execute.c: Likewise.
46684         * lib/fatal-signal.c: Likewise.
46685         * lib/findprog.c: Likewise.
46686         * lib/fwriteerror.c: Likewise.
46687         * lib/gl_array_list.c: Likewise.
46688         * lib/gl_array_oset.c: Likewise.
46689         * lib/gl_avltree_list.c: Likewise.
46690         * lib/gl_avltree_oset.c: Likewise.
46691         * lib/gl_avltreehash_list.c: Likewise.
46692         * lib/gl_carray_list.c: Likewise.
46693         * lib/gl_linked_list.c: Likewise.
46694         * lib/gl_linkedhash_list.c: Likewise.
46695         * lib/gl_list.c: Likewise.
46696         * lib/gl_oset.c: Likewise.
46697         * lib/gl_rbtree_list.c: Likewise.
46698         * lib/gl_rbtree_oset.c: Likewise.
46699         * lib/gl_rbtreehash_list.c: Likewise.
46700         * lib/imaxabs.c: Likewise.
46701         * lib/imaxdiv.c: Likewise.
46702         * lib/javacomp.c: Likewise.
46703         * lib/javaexec.c: Likewise.
46704         * lib/javaversion.c: Likewise.
46705         * lib/linebreak.c: Likewise.
46706         * lib/localcharset.c: Likewise.
46707         * lib/lock.c: Likewise.
46708         * lib/mbchar.c: Likewise.
46709         * lib/mbswidth.c: Likewise.
46710         * lib/mkdtemp.c: Likewise.
46711         * lib/pipe.c: Likewise.
46712         * lib/printf-args.c: Likewise.
46713         * lib/printf-parse.c: Likewise.
46714         * lib/progname.c: Likewise.
46715         * lib/progreloc.c: Likewise.
46716         * lib/readlink.c: Likewise.
46717         * lib/sh-quote.c: Likewise.
46718         * lib/stpcpy.c: Likewise.
46719         * lib/stpncpy.c: Likewise.
46720         * lib/strcasecmp.c: Likewise.
46721         * lib/strcasestr.c: Likewise.
46722         * lib/strcspn.c: Likewise.
46723         * lib/striconv.c: Likewise.
46724         * lib/strncasecmp.c: Likewise.
46725         * lib/strnlen1.c: Likewise.
46726         * lib/strstr.c: Likewise.
46727         * lib/strtok_r.c: Likewise.
46728         * lib/tls.c: Likewise.
46729         * lib/tmpdir.c: Likewise.
46730         * lib/unicodeio.c: Likewise.
46731         * lib/unsetenv.c: Likewise.
46732         * lib/vasnprintf.c: Likewise.
46733         * lib/vasprintf.c: Likewise.
46734         * lib/wait-process.c: Likewise.
46735         * lib/xallocsa.c: Likewise.
46736         * lib/xsetenv.c: Likewise.
46737         * lib/xstriconv.c: Likewise.
46738
46739 2006-09-13  Simon Josefsson  <jas@extundo.com>
46740
46741         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
46742         that internally, suggested by Ralf Wildenhues
46743         <Ralf.Wildenhues@gmx.de>.
46744
46745 2006-09-13  Simon Josefsson  <jas@extundo.com>
46746
46747         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
46748         @LIBOBJS@.
46749         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46750
46751 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46752
46753         * lib/_fpending.c: Include <config.h> unconditionally, since we no
46754         longer worry about uses that don't define HAVE_CONFIG_H.
46755         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
46756         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
46757         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
46758         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
46759         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
46760         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
46761         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
46762         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
46763         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
46764         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
46765         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
46766         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
46767         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
46768         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
46769         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
46770         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
46771         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
46772         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
46773         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
46774         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
46775         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
46776         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
46777         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
46778         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
46779         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
46780         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
46781         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
46782         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
46783         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
46784         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
46785         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
46786         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
46787         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
46788         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
46789         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
46790         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
46791         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
46792         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
46793         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
46794         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
46795         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
46796         Likewise.
46797
46798 2006-09-13  Eric Blake  <ebb9@byu.net>
46799
46800         * lib/getopt.c: Fix typo in last commit.
46801
46802 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46803
46804         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
46805         dgettext.
46806
46807 2006-09-12  Jim Meyering  <jim@meyering.net>
46808
46809         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
46810         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
46811         Reported by Nelson H. F. Beebe.
46812
46813 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46814
46815         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
46816         program_invocation_name and program_invocation_short_name are
46817         initialized.
46818         * lib/argp-namefrob.h: Move declarations of program_invocation_name
46819         and program_invocation_short_name to argp.h, so they are visible
46820         to user programs.
46821         * lib/argp.h: Likewise
46822
46823 2006-09-10  Bruno Haible  <bruno@clisp.org>
46824
46825         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
46826         m4/inttypes_h.m4, m4/uintmax_t.m4.
46827
46828 2006-09-10  Bruno Haible  <bruno@clisp.org>
46829
46830         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
46831         gl_AC_TYPE_UINTMAX_T.
46832
46833 2006-09-10  Bruno Haible  <bruno@clisp.org>
46834
46835         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
46836
46837 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46838
46839         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
46840         convention.  Text proposed by Bruno Haible.
46841         (struct argp_option): Document the use of N_() wrappers.
46842
46843         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
46844         '\v', and translate the two parts separately, instead of feeding
46845         the whole string to gettext.  This allows to exclude
46846         '\v' from the strings visible to the translator by writing doc
46847         strings as N_("..") "\v" N_("..").
46848
46849 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
46850
46851         * config/srclist.txt: Undo latest change; the bug was fixed.
46852
46853 2006-09-09  Bruno Haible  <bruno@clisp.org>
46854
46855         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
46856         assignments if building a library without libtool.
46857         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
46858         in func_emit_lib_Makefile_am.
46859         (func_import): When building a static library libfoo.a, arrange to
46860         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
46861         (func_create_testdir): Likewise.
46862         * modules/gc (configure.ac, Makefile.am): If building statically,
46863         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
46864         * modules/iconvme (configure.ac, Makefile.am): Likewise.
46865         * modules/striconv (configure.ac, Makefile.am): Likewise.
46866         Based on a suggestion by Ralf Wildenhues.
46867
46868 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46869
46870         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
46871         Check for unistd.h too, since Autoconf doesn't assume POSIX.
46872         Also:
46873
46874         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46875         Add year_2050_test to catch glibc bug 2821
46876         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
46877
46878         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46879         Prefer #ifdef to #if.
46880
46881         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
46882         Return from 'main' instead of calling 'exit'.
46883
46884 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46885
46886         * lib/mktime.c (guess_time_tm): Fix bug where mktime
46887         returned the maximum time_t value rather than (time_t) -1.
46888         Problem originally reported by William Bardwell
46889         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
46890
46891         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
46892         Moved to here ...
46893         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
46894         ... from here.
46895
46896 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46897
46898         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
46899         2821 is fixed.
46900
46901 2006-09-08  Jim Meyering  <jim@meyering.net>
46902
46903         Don't make generated files read-only.  That would bother too many
46904         people.  However, do retain the ability to work when targets are
46905         read-only: remove the destination and temporary files before writing
46906         them (when generated via sed or echo), or by using the -f option for
46907         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
46908         * modules/alloca-opt, modules/argz, modules/arpa_inet:
46909         * modules/byteswap, modules/configmake, modules/fcntl:
46910         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
46911         * modules/localcharset, modules/netinet_in, modules/poll:
46912         * modules/stdbool, modules/stdint, modules/sys_select:
46913         * modules/sys_socket, modules/sys_stat, modules/sysexits:
46914
46915 2006-09-08  Jim Meyering  <jim@meyering.net>
46916
46917         Avoid new build failure on FreeBSD 6.0.
46918         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
46919         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
46920         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
46921
46922 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46923
46924         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
46925
46926 2006-09-07  Jim Meyering  <jim@meyering.net>
46927
46928         Fix global typo in last change: use chmod u-w, not chmod u-x.
46929         Spotted by Paul Eggert and Bruce Korb.
46930         * modules/alloca-opt, modules/argz, modules/arpa_inet:
46931         * modules/byteswap, modules/configmake, modules/fcntl:
46932         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
46933         * modules/localcharset, modules/netinet_in, modules/poll:
46934         * modules/stdbool, modules/stdint, modules/sys_select:
46935         * modules/sys_socket, modules/sys_stat, modules/sysexits:
46936
46937 2006-09-06  Jim Meyering  <jim@meyering.net>
46938
46939         Make generated files be read-only.
46940         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
46941         Ensure that each generated file is now read-only.
46942         * modules/argz: Likewise.
46943         * modules/arpa_inet: Likewise.
46944         * modules/byteswap: Likewise.
46945         * modules/configmake: Likewise.
46946         * modules/fcntl: Likewise.
46947         * modules/fnmatch: Likewise.
46948         * modules/getopt: Likewise.
46949         * modules/glob: Likewise.
46950         * modules/inttypes: Likewise.
46951         * modules/netinet_in: Likewise.
46952         * modules/poll: Likewise.
46953         * modules/stdbool: Likewise.
46954         * modules/stdint: Likewise.
46955         * modules/sys_select: Likewise.
46956         * modules/sys_socket: Likewise.
46957         * modules/sys_stat: Likewise.
46958         * modules/sysexits: Likewise.
46959         * modules/localcharset: Same as above, but continue using temporary
46960         file named "t-$@" (why different?) rather than the "$@-t" used
46961         everywhere else.
46962
46963         * modules/sysexits (Makefile.am): Replace literal occurrences
46964         of "sysexit.h" more readable, and more consistent, "$@".
46965
46966 2006-09-06  Bruno Haible  <bruno@clisp.org>
46967
46968         * modules/striconv: New file.
46969         * modules/xstriconv: New file.
46970         * MODULES.html.sh (Internationalization functions): Add striconv,
46971         xstriconv.
46972
46973 2006-09-06  Bruno Haible  <bruno@clisp.org>
46974
46975         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
46976         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
46977         not using libtool correctly.
46978
46979 2006-09-06  Bruno Haible  <bruno@clisp.org>
46980
46981         * lib/striconv.h: New file.
46982         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
46983         iconvstring.c.
46984         * lib/xstriconv.h: New file.
46985         * lib/xstriconv.c: New file.
46986
46987 2006-09-06  Bruno Haible  <bruno@clisp.org>
46988
46989         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
46990         lib_..._LDFLAGS.
46991
46992 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46993
46994         * lib/argz_.h: Sync from Libtool.
46995
46996         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
46997                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
46998
46999         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
47000
47001 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
47002
47003         * modules/trim: New file.
47004
47005 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
47006
47007         * lib/trim.h: New file.
47008         * lib/trim.c: New file.
47009
47010 2006-09-05  Bruno Haible  <bruno@clisp.org>
47011
47012         * MODULES.html.sh (String handling): Add trim.
47013
47014 2006-09-04  Karl Berry  <karl@gnu.org>
47015
47016         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
47017         until next release.
47018
47019 2006-09-03  Bruno Haible  <bruno@clisp.org>
47020
47021         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
47022         correctly.
47023
47024 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47025
47026         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
47027         not gl_GETLOADAVG.  Omit unneeded semicolons.
47028         Problems reported by Ralf Wildenhues in
47029         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
47030         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
47031         at the end, which is the usual gnulib style.
47032
47033         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
47034         of doing all the work ourselves.
47035         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
47036         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
47037
47038 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47039
47040         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
47041         Problem reported by Ralf Wildenhues in
47042         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
47043
47044         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
47045         HAVE_STRUCT_STATFS_F_FSTYPENAME.
47046
47047 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47048
47049         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
47050         yesterday's patch by changing test -n to test -z.
47051
47052 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47053
47054         * modules/getloadavg (Files): Add m4/getloadavg.m4.
47055         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
47056         the former is now obsolescent.
47057
47058         * modules/chdir-long (Depends-on): Add fcntl.
47059
47060 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47061
47062         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
47063         obsolescent, and programs should use gnulib instead.
47064         * m4/getloadavg.m4: New file, with contents taken from Autoconf
47065         but with prefixes changed.
47066
47067 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47068
47069         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
47070         or stdbool.h, because they might not exist while configuring.
47071
47072         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
47073         Don't include unistd.h or limits.h; not needed, since chdir-long.h
47074         does that for us.
47075         (O_DIRECTORY): Remove.
47076
47077 2006-08-31  Eric Blake  <ebb9@byu.net>
47078
47079         * gnulib-tool: Don't let emacs change spaces to TAB.
47080
47081 2006-08-31  Bruno Haible  <bruno@clisp.org>
47082
47083         * gnulib-tool: When calling func_import more than once, do it in a
47084         subshell.
47085         Reported by Eric Blake <ebb9@byu.net>.
47086
47087 2006-08-31  Bruno Haible  <bruno@clisp.org>
47088
47089         * gnulib-tool (nl): Remove variable.
47090         (sed_transform_lib_file): Use more robust test for config-h module.
47091         (func_import): Fix typo in 2006-08-25 patch.
47092
47093 2006-08-31  Bruno Haible  <bruno@clisp.org>
47094
47095         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
47096         specified, augment Makefile.am variables instead of assigning them.
47097
47098 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47099
47100         Work around a bug in both the Linux and SunOS 64-bit kernels:
47101         nanosleep mishandles sleeps for longer than 2**31 seconds.
47102         Problem reported by Frank v Waveren in
47103         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
47104         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
47105         Check for nanosleep bug.
47106         (LIB_NANOSLEEP): Append clock_gettime library if needed.
47107
47108 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47109
47110         Work around a bug in both the Linux and SunOS 64-bit kernels:
47111         nanosleep mishandles sleeps for longer than 2**31 seconds.
47112         Problem reported by Frank v Waveren in
47113         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
47114         * lib/nanosleep.c (BILLION): New constant.
47115         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
47116         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
47117         implementation.
47118
47119 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47120
47121         * modules/nanosleep (Depends-on): Add gettime.
47122
47123 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47124         and Simon Josefsson  <jas@extundo.com>
47125         and Oskar Liljeblad  <oskar@osk.mine.nu>
47126
47127         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
47128         * gnulib-tool (func_import): New license type 'unmodifiable license
47129         text'.
47130         * modules/fdl: Use it.  Longer description.
47131         * module/gpl, module/lgpl: New files.
47132
47133 2006-08-30  Jim Meyering  <jim@meyering.net>
47134
47135         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
47136         shadowing the parameter.
47137
47138 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47139
47140         Sync from Libtool:
47141
47142         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47143
47144         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
47145         sharing with gnulib.  Report by Eric Blake.
47146
47147 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47148
47149         * modules/isapipe: New file.
47150         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
47151
47152 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47153
47154         * modules/configmake (Makefile.am): Add a comment, and omit
47155         the CONFIGMAKE_ prefix from generated macro names.  Suggested
47156         by Bruno Haible.
47157
47158 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47159
47160         * m4/isapipe.m4: New file.
47161
47162 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47163
47164         * lib/isapipe.c, lib/isapipe.h: New files.
47165
47166 2006-08-29  Jim Meyering  <jim@meyering.net>
47167
47168         * modules/configmake (Makefile.am): Make configmake.h depend on
47169         Makefile.  Otherwise, a stale configmake.h could hang around.
47170
47171 2006-08-29  Eric Blake  <ebb9@byu.net>
47172
47173         * lib/error.c (error_at_line, print_errno_message): Match libc, after
47174         resolution of upstream bug 3044.
47175
47176 2006-08-29  Bruno Haible  <bruno@clisp.org>
47177
47178         * modules/localcharset (Depends-on): Add configmake.
47179         (Makefile.am): Remove setting of LIBDIR through DEFS.
47180
47181 2006-08-29  Bruno Haible  <bruno@clisp.org>
47182
47183         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
47184         defined.
47185
47186 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47187
47188         * modules/fcntl: New file.
47189         * modules/chdir-safer (Depends-on): Add fcntl.
47190         * modules/fts: Likewise.
47191         * modules/mkdir-p: Likewise.
47192
47193         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
47194         This undoes the most recent change, since we're now addressing the
47195         problem in a different way.
47196
47197         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
47198         into output, since the output might be called Makefile.am even
47199         if $makefile_name is something different.
47200         (func_import): Use $makefile_am rather than
47201         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
47202         empty.
47203
47204         * modules/inttypes (Files): Add m4/inttypes-h.m4.
47205
47206 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47207
47208         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
47209         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
47210         recent change to stdint.m4, since we're now addressing the problem in a
47211         different way.
47212
47213 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47214
47215         * m4/fcntl_h.m4: New file.
47216
47217 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47218
47219         * lib/fcntl_.h: New file.
47220         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
47221         the fcntl module.
47222         * lib/dirchownmod.c: Likewise.
47223         * lib/fts.c: Likewise.
47224
47225         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
47226         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
47227         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
47228         just before including <inttypes.h>, to avoid circular inclusion.
47229
47230 2006-08-28  Jim Meyering  <jim@meyering.net>
47231
47232         * doc/visibility.texi: Actually read and correct the grammar of the
47233         sentence affected by yesterday's change.
47234
47235 2006-08-28  Eric Blake  <ebb9@byu.net>
47236
47237         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
47238         needs wrapper.
47239
47240 2006-08-28  Eric Blake  <ebb9@byu.net>
47241
47242         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
47243
47244 2006-08-28  Eric Blake  <ebb9@byu.net>
47245
47246         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
47247
47248 2006-08-28  Bruno Haible  <bruno@clisp.org>
47249
47250         * modules/c-strstr: New file, from GNU gettext.
47251         * MODULES.html.sh (String handling): Add c-strstr.
47252
47253 2006-08-28  Bruno Haible  <bruno@clisp.org>
47254
47255         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
47256         macros.
47257         Reported by Eric Blake.
47258
47259 2006-08-28  Bruno Haible  <bruno@clisp.org>
47260
47261         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
47262         (VASNPRINTF): Return a string of length > INT_MAX without failing.
47263         * lib/vasprintf.c: Include errno.h, limits.h.
47264         (EOVERFLOW): New fallback definition.
47265         (vasprintf): Test here whether the string length is > INT_MAX.
47266         * lib/vsnprintf.c: Include errno.h, limits.h.
47267         (EOVERFLOW): New fallback definition.
47268         (vsnprintf): Fix bug when generated string was too long for the buffer.
47269         Test here whether the string length is > INT_MAX.
47270
47271 2006-08-28  Bruno Haible  <bruno@clisp.org>
47272
47273         * lib/inttypes_.h (SCNX*): Remove definitions.
47274         Reported by Eric Blake.
47275
47276 2006-08-28  Bruno Haible  <bruno@clisp.org>
47277
47278         * lib/c-strstr.h: New file, from GNU gettext.
47279         * lib/c-strstr.c: New file, from GNU gettext.
47280
47281 2006-08-28  Bruno Haible  <bruno@clisp.org>
47282
47283         * gnulib-tool: Reorder some statements.
47284
47285 2006-08-28  Bruno Haible  <bruno@clisp.org>
47286
47287         * gnulib-tool: New option --makefile-name.
47288         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
47289         $makefile_name.
47290         (func_import): Write $makefile_name to the cache file, and read it from
47291         there unless explicitly specified. Use $makefile_name as file name
47292         instead of Makefile.am. Adjust the recommendations accordingly.
47293
47294 2006-08-28  Bruno Haible  <bruno@clisp.org>
47295
47296         * gnulib-tool (func_verify_module): Check against misapplying patch.
47297
47298 2006-08-28  Bruno Haible  <bruno@clisp.org>
47299
47300         * gnulib-tool (func_relativize, func_relconcat): New functions.
47301         Give an error if --local-dir is given with --update.
47302         Remove trailing slashes from $local_gnulib_dir.
47303         (func_import): Store the relativized $local_gnulib_dir in
47304         gnulib-cache.m4, and read it from there if not specified explicitly.
47305
47306 2006-08-28  Bruno Haible  <bruno@clisp.org>
47307
47308         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
47309         is the current directory. Respect also $local_gnulib_dir.
47310
47311 2006-08-28  Bruno Haible  <bruno@clisp.org>
47312             Simon Josefsson  <jas@extundo.com>
47313
47314         BeOS portability.
47315         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
47316
47317 2006-08-27  Jim Meyering  <jim@meyering.net>
47318
47319         * doc/visibility.texi: Remove duplicate word: "pointer".
47320
47321 2006-08-26  Bruno Haible  <bruno@clisp.org>
47322
47323         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
47324         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
47325         (Makefile.am): Create inttypes.h from inttypes_.h.
47326         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
47327
47328         * modules/imaxabs: New file.
47329
47330         * modules/imaxdiv: New file.
47331
47332 2006-08-26  Bruno Haible  <bruno@clisp.org>
47333
47334         * m4/inttypes.m4: New file.
47335         * m4/_inttypes_h.m4: Remove file.
47336         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
47337         PRI_MACROS_BROKEN.
47338         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
47339
47340         * m4/imaxabs.m4: New file.
47341
47342         * m4/imaxdiv.m4: New file.
47343
47344 2006-08-26  Bruno Haible  <bruno@clisp.org>
47345
47346         * lib/inttypes_.h: New file.
47347         * lib/inttypes.h: Remove file.
47348         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
47349
47350         * lib/imaxabs.c: New file.
47351
47352         * lib/imaxdiv.c: New file.
47353
47354 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47355
47356         New config-h module, so that "make" output needn't be cluttered
47357         by -DHAVE_CONFIG_H.
47358         * MODULES.html.sh (Support for building libraries and executables):
47359         Add config-h.
47360         * modules/config-h: New file.
47361         * gnulib-tool (nl, sed_transform_lib_file): New vars.
47362         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
47363         the config-h module is used.
47364
47365         New configmake module, so that "make" output needn't be cluttered
47366         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
47367         * MODULES.html.sh (Support for building libraries and executables):
47368         Add configmake.
47369         * modules/configmake: New file.
47370
47371 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47372
47373         * m4/config-h.m4: New file.
47374
47375 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47376
47377         * config/srclist.txt: Add elisp-comp.
47378
47379 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47380
47381         * MODULES.html.sh (Support for building libraries and executables):
47382         Add elisp-comp.
47383         * build-aux/elisp-comp: New file.
47384         * modules/elisp-comp: New file.
47385
47386 2006-08-24  Bruno Haible  <bruno@clisp.org>
47387
47388         * gnulib-tool (func_create_testdir): Use non-default values of
47389         sourcebase and m4base.
47390
47391 2006-08-24  Bruno Haible  <bruno@clisp.org>
47392
47393         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
47394         HTML structure.
47395
47396 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47397
47398         * modules/openat (Depends-on): Add lchown.
47399
47400 2006-08-23  Bruno Haible  <bruno@clisp.org>
47401
47402         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
47403         of gl_LOCK_EARLY instead of gl_LOCK.
47404
47405 2006-08-23  Bruno Haible  <bruno@clisp.org>
47406
47407         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
47408         on OSF/1 to no.
47409         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
47410
47411 2006-08-23  Bruno Haible  <bruno@clisp.org>
47412
47413         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
47414         as unusable.
47415
47416         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
47417         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
47418         (gl_LOCK): New macro.
47419
47420 2006-08-22  Simon Josefsson  <jas@extundo.com>
47421
47422         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
47423         to md5 module.
47424
47425 2006-08-22  Simon Josefsson  <jas@extundo.com>
47426
47427         * MODULES.html.sh: Add "Support for maintaining and release
47428         projects".
47429
47430         * build-aux/gnupload: New file, from coreutils.
47431
47432 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47433
47434         Avoid the need for AC_LIBSOURCES in m4 macros.
47435         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
47436         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
47437         * modules/check-version (EXTRA_DIST): Add check-version.h.
47438         * modules/crc (EXTRA_DIST): Add crc.h.
47439         * modules/des (EXTRA_DIST): Add des.h.
47440         * modules/gc (EXTRA_DIST): Add gc.h.
47441         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
47442         * modules/getline (EXTRA_DIST): Add getline.h.
47443         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
47444         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
47445         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
47446         * modules/md2 (EXTRA_DIST): Add md2.h.
47447         * modules/md4 (EXTRA_DIST): Add md4.h.
47448         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
47449         * modules/read-file (EXTRA_DIST): Add read-file.h.
47450         * modules/readline (EXTRA_DIST): Add readline.h.
47451         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
47452         rijndael-api-fst.h.
47453
47454 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47455
47456         * m4/rijndael.m4 (gl_ARCFOUR):
47457         * m4/arctwo.m4 (gl_ARCTWO):
47458         * m4/check-version.m4 (gl_CHECK_VERSION):
47459         * m4/crc.m4 (gl_CRC):
47460         * m4/des.m4 (gl_DES):
47461         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
47462         * m4/gc.m4 (gl_GC):
47463         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
47464         * m4/getline.m4 (gl_FUNC_GETLINE):
47465         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
47466         * m4/hmac-md5.m4 (gl_HMAC_MD5):
47467         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
47468         * m4/md2.m4 (gl_MD2):
47469         * m4/md4.m4 (gl_MD4):
47470         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
47471         * m4/read-file.m4 (gl_FUNC_READ_FILE):
47472         * m4/readline.m4 (gl_FUNC_READLINE):
47473         * m4/rijndael.m4 (gl_RIJNDAEL):
47474         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
47475         to get the necessary .h files and whatnot.
47476
47477 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47478
47479         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
47480         gnulib rather than the other way around.
47481         * config/srclistvars.sh (COREUTILS): Remove.
47482
47483 2006-08-22  Jim Meyering  <jim@meyering.net>
47484
47485         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
47486
47487         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
47488
47489 2006-08-22  Eric Blake  <ebb9@byu.net>
47490
47491         * modules/regexprops-generic: New file.
47492         * MODULES.html.sh (Support for building documentation): List it.
47493
47494 2006-08-22  Eric Blake  <ebb9@byu.net>
47495
47496         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
47497         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47498         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
47499         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
47500
47501 2006-08-22  Bruno Haible  <bruno@clisp.org>
47502
47503         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
47504         and lib_LTLIBRARIES like the other lib_* variables.
47505
47506 2006-08-22  Bruno Haible  <bruno@clisp.org>
47507
47508         * build-aux/x-to-1.in: New file, from GNU gettext.
47509
47510 2006-08-22  Bruno Haible  <bruno@clisp.org>
47511
47512         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
47513         <utmpx.h> exists.
47514
47515 2006-08-22  Bruno Haible  <bruno@clisp.org>
47516
47517         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
47518         <utmpx.h> exists.
47519
47520 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47521
47522         BeOS portability.
47523         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
47524         exist.
47525         Problem reported by Bruno Haible.
47526
47527 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47528
47529         Avoid the need for AC_LIBSOURCES in m4 macros.
47530         * modules/acl (EXTRA_DIST): Add acl.h.
47531         * modules/argmatch (Files): Add m4/argmatch.m4.
47532         (configure.ac): Add gl_ARGMATCH.
47533         (EXTRA_DIST): Renamed from lib_SOURCES, for
47534         consistency with the other modules.  Remove argmatch.c.
47535         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
47536         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
47537         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
47538         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
47539         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
47540         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
47541         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
47542         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
47543         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
47544         * modules/closeout (EXTRA_DIST): Add closeout.h.
47545         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
47546         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
47547         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
47548         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
47549         dirname.h; remove basename.c and stripslash.c.
47550         * modules/exclude (EXTRA_DIST): Add exclude.h.
47551         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
47552         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
47553         * modules/file-type (EXTRA_DIST): Add file-type.h.
47554         * modules/filemode (EXTRA_DIST): Add filemode.h.
47555         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
47556         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
47557         * modules/fpending (EXTRA_DIST): Add __fpending.h.
47558         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
47559         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
47560         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
47561         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
47562         * modules/getdate (EXTRA_DIST): Add getdate.c.
47563         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
47564         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
47565         * modules/getpass (EXTRA_DIST): Add getpass.h.
47566         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
47567         * modules/group-member (EXTRA_DIST): Add group-member.h.
47568         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
47569         * modules/hash (EXTRA_DIST): Add hash.h.
47570         * modules/human (EXTRA_DIST): Add human.h.
47571         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
47572         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
47573         * modules/lchown (EXTRA_DIST): Add lchown.h.
47574         * modules/long-options (EXTRA_DIST): Add long-options.h.
47575         * modules/lstat (EXTRA_DIST): Add lstat.h.
47576         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
47577         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
47578         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
47579         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
47580         * modules/memxor (EXTRA_DIST): Add memxor.h.
47581         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
47582         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
47583         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
47584         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
47585         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
47586         * modules/physmem (EXTRA_DIST): Add physmem.h.
47587         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
47588         * modules/posixver (EXTRA_DIST): Add posixver.h.
47589         * modules/quote (EXTRA_DIST): Add quote.h.
47590         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
47591         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
47592         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
47593         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
47594         regex_internal.h regexec.c.
47595         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
47596         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
47597         * modules/same (EXTRA_DIST): Add same.h.
47598         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
47599         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
47600         * modules/savedir (EXTRA_DIST): Add savedir.h.
47601         * modules/sha1 (EXTRA_DIST): Add sha1.h.
47602         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
47603         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
47604         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
47605         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
47606         * modules/strdup (EXTRA_DIST): Add strdup.h.
47607         * modules/strftime (EXTRA_DIST): Add strftime.h.
47608         * modules/strndup (EXTRA_DIST): Add strndup.h.
47609         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
47610         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
47611         * modules/time_r (EXTRA_DIST): Add time_r.h.
47612         * modules/timespec (EXTRA_DIST): Add timespec.h.
47613         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
47614         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
47615         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
47616         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
47617         * modules/userspec (EXTRA_DIST): Add userspec.h.
47618         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
47619         * modules/utimens (EXTRA_DIST): Add utimens.h.
47620         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
47621         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
47622         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
47623         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
47624         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
47625         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
47626         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
47627         * modules/yesno (EXTRA_DIST): Add yesno.h.
47628
47629 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47630
47631         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
47632
47633         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
47634         * m4/dev-ino.m4, same-inode.m4: Remove.
47635
47636         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
47637         * m4/acl.m4 (AC_FUNC_ACL):
47638         * m4/backupfile.m4 (gl_BACKUPFILE):
47639         * m4/c-strtod.m4 (gl_C99_STRTOLD):
47640         * m4/canon-host.m4 (gl_CANON_HOST):
47641         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
47642         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
47643         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
47644         * m4/cloexec.m4 (gl_CLOEXEC):
47645         * m4/close-stream.m4 (gl_CLOSE_STREAM):
47646         * m4/closeout.m4 (gl_CLOSEOUT):
47647         * m4/dirfd.m4 (gl_FUNC_DIRFD):
47648         * m4/dirname.m4 (gl_DIRNAME):
47649         * m4/exclude.m4 (gl_EXCLUDE):
47650         * m4/exitfail.m4 (gl_EXITFAIL):
47651         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
47652         * m4/file-type.m4 (gl_FILE_TYPE):
47653         * m4/filemode.m4 (gl_FILEMODE):
47654         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
47655         * m4/fpending.m4 (gl_FUNC_FPENDING):
47656         * m4/fprintftime.m4 (gl_FPRINTFTIME):
47657         * m4/fts.m4 (gl_FUNC_FTS):
47658         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
47659         * m4/getdate.m4 (gl_GETDATE):
47660         * m4/gethrxtime.m4 (gl_GETHRXTIME):
47661         * m4/getpagesize.m4 (gl_GETPAGESIZE):
47662         * m4/getpass.m4 (gl_FUNC_GETPASS):
47663         * m4/gettime.m4 (gl_GETTIME):
47664         * m4/getugroups.m4 (gl_GETUGROUPS):
47665         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
47666         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
47667         * m4/hard-locale.m4 (gl_HARD_LOCALE):
47668         * m4/hash.m4 (gl_HASH):
47669         * m4/idcache.m4 (gl_IDCACHE):
47670         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
47671         * m4/lchown.m4 (gl_FUNC_LCHOWN):
47672         * m4/long-options.m4 (gl_LONG_OPTIONS):
47673         * m4/lstat.m4 (gl_FUNC_LSTAT):
47674         * m4/md5.m4 (gl_MD5):
47675         * m4/memcasecmp.m4 (gl_MEMCASECMP):
47676         * m4/memcoll.m4 (gl_MEMCOLL):
47677         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
47678         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
47679         * m4/memxor.m4 (gl_MEMXOR):
47680         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
47681         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
47682         * m4/modechange.m4 (gl_MODECHANGE):
47683         * m4/mountlist.m4 (gl_MOUNTLIST):
47684         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
47685         * m4/openat.m4 (gl_FUNC_OPENAT):
47686         * m4/pathmax.m4 (gl_PATHMAX):
47687         * m4/physmem.m4 (gl_PHYSMEM):
47688         * m4/posixtm.m4 (gl_POSIXTM):
47689         * m4/posixver.m4 (gl_POSIXVER):
47690         * m4/quote.m4 (gl_QUOTE):
47691         * m4/quotearg.m4 (gl_QUOTEARG):
47692         * m4/readtokens.m4 (gl_READTOKENS):
47693         * m4/readutmp.m4 (gl_READUTMP):
47694         * m4/regex.m4 (gl_REGEX):
47695         * m4/safe-read.m4 (gl_SAFE_READ):
47696         * m4/safe-write.m4 (gl_SAFE_WRITE):
47697         * m4/same.m4 (gl_SAME):
47698         * m4/save-cwd.m4 (gl_SAVE_CWD):
47699         * m4/savedir.m4 (gl_SAVEDIR):
47700         * m4/settime.m4 (gl_SETTIME):
47701         * m4/sha1.m4 (gl_SHA1):
47702         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
47703         * m4/stat-macros.m4 (gl_STAT_MACROS):
47704         * m4/stat-time.m4 (gl_STAT_TIME):
47705         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
47706         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
47707         * m4/strdup.m4 (gl_FUNC_STRDUP):
47708         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
47709         * m4/strndup.m4 (gl_FUNC_STRNDUP):
47710         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
47711         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
47712         * m4/time_r.m4 (gl_TIME_R):
47713         * m4/timespec.m4 (gl_TIMESPEC):
47714         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
47715         * m4/unlinkdir.m4 (gl_UNLINKDIR):
47716         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
47717         * m4/userspec.m4 (gl_USERSPEC):
47718         * m4/utimecmp.m4 (gl_UTIMECMP):
47719         * m4/utimens.m4 (gl_UTIMENS):
47720         * m4/xalloc.m4 (gl_XALLOC):
47721         * m4/xgetcwd.m4 (gl_XGETCWD):
47722         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
47723         * m4/xreadlink.m4 (gl_XREADLINK):
47724         * m4/xstrtod.m4 (gl_XSTRTOD):
47725         * m4/yesno.m4 (gl_YESNO):
47726         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
47727         to get the necessary .h files and whatnot.
47728
47729 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
47730             Bruno Haible  <bruno@clisp.org>
47731
47732         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
47733         /bin/sh understanding of '!' conditional negation.
47734
47735 2006-08-21  Jim Meyering  <jim@meyering.net>
47736
47737         * modules/openat (Depends-on): Really alphabetize.
47738
47739         * modules/acl (Depends-on): Add error and quote.
47740
47741         * check-module (find_included_lib_files): Add at-func.c to the
47742         ok-to-include-more-than-once white list.
47743
47744         * modules/openat (Depends-on): Add lstat.  Alphabetize.
47745
47746 2006-08-21  Bruno Haible  <bruno@clisp.org>
47747
47748         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47749         Emit a pkgdata_DATA variable only if some snippets add contents to it.
47750         Reported by Martin Lambers <marlam@marlam.de>.
47751
47752 2006-08-21  Bruno Haible  <bruno@clisp.org>
47753
47754         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
47755         specify an installation location, don't emit a noinst_LIBRARIES or
47756         noinst_LTLIBRARIES assignment.
47757
47758 2006-08-21  Bruno Haible  <bruno@clisp.org>
47759
47760         BeOS portability.
47761         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
47762         BeOS has mbrtowc() but no <wctype.h>.
47763
47764 2006-08-21  Bruno Haible  <bruno@clisp.org>
47765
47766         BeOS portability.
47767         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
47768         exist.
47769
47770 2006-08-21  Bruno Haible  <bruno@clisp.org>
47771
47772         BeOS portability.
47773         * lib/mbchar.h: Include <wctype.h> only if it exists.
47774
47775 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47776
47777         Remove files that are no longer needed by their respective modules.
47778         * m4/obstack.m4: Remove.
47779         * m4/strerror_r.m4: Remove.
47780         * m4/uint32_t.m4: Remove.
47781         * m4/uintptr_t.m4: Remove.
47782         * m4/ullong_max.m4: Remove.
47783         * m4/xstrtoimax.m4: Remove.
47784         * m4/xstrtoumax.m4: Remove.
47785
47786         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
47787         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
47788         dependencies now capture this.
47789
47790         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
47791         Do not use AC_LIBSOURCES, since gnulib modules now do this.
47792         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
47793         * m4/human.m4 (gl_HUMAN): Likewise.
47794         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
47795         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
47796
47797         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
47798
47799         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
47800         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
47801         stdint.
47802         * m4/human.m4 (gl_HUMAN): Likewise.
47803         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
47804         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
47805         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
47806         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
47807         * m4/xstrtol (gl_XSTRTOL): Likewise.
47808
47809         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
47810         AC_TYPE_LONG_LONG_INT.
47811         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
47812         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
47813         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
47814         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
47815
47816         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
47817         on stdbool.
47818
47819         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
47820         (gl_PREREQ_XSTRTOUL): Remove.
47821
47822         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
47823
47824         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
47825         mode.
47826
47827 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47828
47829         Add and change modules to make it easier for coreutils to use
47830         gnulib-tool.
47831         * modules/backupfile (Files): Remove m4/d-ino.m4.
47832         (Depends-on): Add d-ino.
47833         * modules/cycle-check (Depends-on): Add stdint.
47834         (lib_SOURCES): Add cycle-check.h.
47835         * modules/d-ino: New module.
47836         * modules/d-type: New module.
47837         * modules/error (Files): Remove m4/strerror_r.m4.
47838         * modules/filemode (Files): Add m4/st_dm_mode.m4.
47839         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
47840         m4/inttypes_h.m4, m4/uintmax_t.m4.
47841         (Depends-on): Add stdint.
47842         (lib_SOURCES): Add fsusage.h.
47843         * modules/getcwd (Files): Remove d-ino.m4.
47844         (Depends-on): Add d-ino.
47845         * modules/getndelim2 (Depends-on): Add stdint.
47846         * modules/glob (Files): Remove m4/d-type.m4.
47847         (Depends-on): Add d-type.
47848         * modules/host-os: New module.
47849         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
47850         m4/inttypes_h.m4, m4/uintmax_t.m4.
47851         * Depends-on: Add stdint.
47852         (lib_SOURCES): Add human.h.
47853         * modules/inttostr (Files): Remove m4/intmax_t.m4,
47854         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
47855         m4/uintmax_t.m4, m4/ulonglong.m4.
47856         (Depends-on): Add stdint.
47857         (EXTRA_DIST): Add inttostr.h.
47858         * modules/lchmod: New module.
47859         * modules/link-follow: New module.
47860         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
47861         (Depends-on): Add lchmod.
47862         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
47863         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
47864         (Depends-on): Add stdint.
47865         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
47866         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
47867         (Depends-on): Add stdint.
47868         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
47869         * modules/perl: New module.
47870         * modules/regex (Depends-on): Add stdint.
47871         * modules/rmdir-errno: New module.
47872         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
47873         m4/intmax_t.m4.
47874         (Depends-on): Add stdint.
47875         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
47876         m4/uintmax_t.m4.
47877         (Depends-on): Add stdint.
47878         * modules/unlink-busy: New module.
47879         * modules/utimecmp (Depends-on): Add stdint.
47880         * modules/uptime: New module.
47881         * modules/winsz-ioctl: New module.
47882         * modules/winsz-termios: New module.
47883         * modules/xnanosleep (Depends-on): Add nanosleep.
47884         * modules/ullong_max: Remove.
47885         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
47886         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
47887         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
47888         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
47889         (Depends-on): Add inttypes.
47890         (lib_SOURCES): Add xstrtol.h.
47891         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
47892         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
47893         * MODULES.html.sh: Move 'assert' into the assert section.
47894         Move 'dummy' into the linking section.
47895         Remove ullong_max.
47896         Add section for compatibility checks for POSIX:2001 functions,
47897         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
47898         winsz-ioctl, and winsz-termios into it.
47899         Add lchmod.
47900         Add top-level Misc section and put host-os, perl, and uptime
47901         into it.
47902
47903 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47904
47905         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
47906         now assume the stdint module.  Do not include inttypes.h.
47907         * lib/fsusage.h: Likewise.
47908         * lib/getndelim2.c: Likewise.
47909         * lib/human.h: Likewise.
47910         * lib/inttostr.h: Likewise.
47911         * lib/obstack.c: Likewise.
47912         * lib/regex_internal.h: Likewise.
47913         * lib/tempname.c: Likewise.
47914         * lib/utimecmp.c: Likewise.
47915         * lib/xstrtol.h: Likewise.
47916
47917         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
47918
47919         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
47920         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
47921         * lib/xtime.h: Likewise.
47922
47923 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47924
47925         * modules/openat (Files): Add lib/fchmodat.c.
47926         Fixes problem reported by Jay Youngman.
47927
47928 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47929
47930         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
47931         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
47932
47933 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
47934             Bruno Haible  <bruno@clisp.org>
47935
47936         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
47937         and is a script that invokes bison. Tighten the code. Add comments.
47938
47939 2006-08-18  Jim Meyering  <jim@meyering.net>
47940
47941         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
47942         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
47943         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
47944         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
47945
47946 2006-08-18  Bruno Haible  <bruno@clisp.org>
47947
47948         * modules/bison-i18n: New file.
47949         * MODULES.html.sh (Internationalization functions): Add it.
47950
47951 2006-08-18  Bruno Haible  <bruno@clisp.org>
47952
47953         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
47954         sys/statvfs.h. When getmntinfo was found, check its declaration and
47955         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
47956
47957 2006-08-18  Bruno Haible  <bruno@clisp.org>
47958
47959         * m4/bison-i18n.m4: New file, from bison.
47960
47961 2006-08-18  Bruno Haible  <bruno@clisp.org>
47962
47963         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
47964         (ME_DUMMY): Treat "kernfs" as a dummy.
47965         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
47966
47967 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47968
47969         Update from coreutils.
47970
47971         2006-08-15  Jim Meyering  <jim@meyering.net>
47972
47973         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
47974
47975         2006-01-17  Jim Meyering  <jim@meyering.net>
47976
47977         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
47978
47979         2006-01-11  Jim Meyering  <jim@meyering.net>
47980
47981         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
47982         Check for the lchmod function.
47983
47984 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47985
47986         Update from coreutils.
47987
47988         * lib/__fpending.h: Add copyright notice.
47989         * lib/fprintftime.h: Likewise.
47990         * lib/savedir.c: Use (C) in copyright notice.
47991         * lib/savedir.h: Likewise.
47992
47993         2006-08-15  Jim Meyering  <jim@meyering.net>
47994
47995         * lib/at-func.c: New file, with the logic of all emulated at-functions.
47996         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
47997         in support of the EXPECTED_ERRNO macro.
47998         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
47999         definitions.  Instead, define the appropriate symbols and include
48000         "at-func.c".
48001         * lib/mkdirat.c (mkdirat): Likewise.
48002         * lib/fchmodat.c (fchmodat): Likewise.
48003         (ENOSYS): Remove definition.
48004         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
48005         it.  Don't include "unistd--.h" -- it wasn't ever used.
48006
48007         2006-01-17  Jim Meyering  <jim@meyering.net>
48008
48009         Rewrite fts.c not to change the current working directory,
48010         by using openat, fstatat, fdopendir, etc..
48011
48012         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
48013         (HAVE_OPENAT_SUPPORT): Define.
48014         [_LIBC] (fchdir): Don't undef or define; no longer used.
48015         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
48016         Now, this `function' always succeeds, and consumes its file descriptor
48017         parameter -- so callers must not close such FDs.  Update callers.
48018         (diropen_fd, opendirat, cwd_advance_fd): New functions.
48019         (diropen): Add parameter, SP.  Adjust all callers.
48020         Implement using diropen_fd, rather than open.
48021         (fts_open): Initialize new member, fts_cwd_fd.
48022         Remove fts_rft-setting code.
48023         (fts_close): Close fts_cwd_fd, if necessary.
48024         (__opendir2): Define in terms of opendir or opendirat,
48025         depending on whether the FST_NOCHDIR flag is set.
48026         (fts_build): Since fts_safe_changedir consumes its FD, and since
48027         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
48028         and close the dup'd file descriptor upon failure.
48029         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
48030         (fts_safe_changedir): Tweak semantics to reflect that this function
48031         now calls cwd_advance_fd and hence consumes its FD argument.
48032         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
48033         [struct FTS] (fts_rft): Remove now-unused member.
48034         [struct FTS] (fts_cycle.state): Improve comment.
48035
48036         * lib/openat.c (openat_needs_fchdir): New function.
48037         * lib/openat.h (openat_needs_fchdir): Declare it.
48038
48039 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
48040
48041         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
48042         Problem and fix reported by Pádraig Brady in
48043         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
48044
48045 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48046
48047         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
48048
48049 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48050
48051         * lib/memcoll.c (memcoll): Optimize for the common case where the
48052         arguments are bytewise equal.
48053
48054 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48055
48056         * doc/regexprops-generic.texi: Add a copyright notice.
48057
48058 2006-08-15  Bruno Haible  <bruno@clisp.org>
48059
48060         * modules/tmpdir (License): Change to LGPL.
48061
48062 2006-08-15  Bruno Haible  <bruno@clisp.org>
48063
48064         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
48065         module.
48066
48067 2006-08-14  Simon Josefsson  <jas@extundo.com>
48068
48069         * config/srclist.txt: Add gnupload.
48070
48071 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48072
48073         Change copyright notice from LGPL 2 to GPL 2, since that's the
48074         standard form used in the gnulib repository.
48075         * tests/test-lock.c: Likewise.
48076         * tests/test-stdint.c: Likewise.
48077         * tests/test-tls.c: Likewise.
48078
48079         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
48080         prelude-manager.  User shorter URLs for GNU projects, without '?'.
48081         Add copyright notice.
48082
48083         * check-module: Add copyright notice.  Output a copyright
48084         notice if "--version" is specified.
48085         * modules/COPYING: New file.
48086         * tests/test-getaddrinfo.c: Add copyright notice.
48087         * tests/test-verify.c: Likewise.
48088
48089 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48090
48091         Change copyright notice from LGPL 2 to GPL 2, since that's the
48092         standard form used in the gnulib repository.
48093         * lib/lock.c: LGPL -> GPL.
48094         * lib/lock.h: Likewise.
48095         * lib/strnlen1.c: Likewise.
48096         * lib/strnlen1.h: Likewise.
48097         * lib/tls.c: Likewise.
48098         * lib/tls.h: Likewise.
48099         * lib/tmpdir.c: Likewise.
48100
48101         * lib/TODO: Remove; this belongs only in coreutils.
48102
48103 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48104
48105         Add copyright notices to long-enough files that lack them, since
48106         otherwise the files aren't clearly free.  Use the same notice that
48107         getdate.texi already uses.
48108         * doc/alloca-opt.texi: Add copyright notice.
48109         * doc/alloca.texi: Likewise.
48110         * doc/ctime.texi: Likewise.
48111         * doc/functions.texi: Likewise.
48112         * doc/gcd.texi: Likewise.
48113         * doc/gnulib-tool.texi: Likewise.
48114         * doc/inet_ntoa.texi: Likewise.
48115         * doc/visibility.texi: Likewise.
48116
48117         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
48118         * doc/quote.texi: Add copyright notice.
48119
48120         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
48121         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
48122         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
48123         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
48124         is now obsolete, and give a pointer to the Sun list.
48125         Add copyright notice.
48126
48127 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48128
48129         * config/srclistvars.sh: Add copyright notice.
48130
48131 2006-08-14  Eric Blake  <ebb9@byu.net>
48132
48133         Import the following change from libc:
48134
48135         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
48136
48137         Upstream bug 2997.
48138         * lib/misc/error.c: Add space between program name and message if file
48139         name is missing.
48140
48141 2006-08-12  Karl Berry  <karl@gnu.org>
48142
48143         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
48144         remove, these originate in gnulib now.
48145
48146 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48147
48148         * doc/Makefile (standards.info standards.html standards.dvi):
48149         Also depend on make-stds.texi.
48150
48151 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
48152
48153         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
48154         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
48155
48156         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
48157         in wchar_t.  Problem reported by Eric Blake.
48158
48159         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
48160         LEN is smaller than SIZE.  Suggested by Bruno Haible.
48161         Also, help the compiler to keep LEN in a register.
48162
48163 2006-08-11  Eric Blake  <ebb9@byu.net>
48164
48165         * users.txt: Sort.  Add tar.
48166
48167 2006-08-11  Bruno Haible  <bruno@clisp.org>
48168
48169         * users.txt: New file.
48170
48171 2006-08-11  Bruno Haible  <bruno@clisp.org>
48172
48173         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
48174         before <wchar.h>. Needed for OSF/1 and BSD/OS.
48175
48176 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48177
48178         * modules/snprintf (Depends-on): Remove minmax.
48179         (Maintainer): Add self and Bruno.
48180
48181 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48182
48183         * lib/.cppi-disable: Add snprintf.h, socket_.h.
48184         * lib/snprintf.c: Include <errno.h> and <limits.h>.
48185         (EOVERFLOW): Define if the system does not.
48186         Do not include "minmax.h"; it wasn't used.
48187         (snprintf): Don't assume size_t promotes to an unsigned type.
48188         Fix bug when generated string was too long for the buffer: the
48189         buffer's contents are supposed to be the initial prefix of the
48190         output.  Don't assume vasnprintf returns EOVERFLOW if the size
48191         exceeds INT_MAX; do the check ourselves.
48192
48193         Import the following changes from libc:
48194
48195         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
48196
48197         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
48198         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
48199         set wc to the byte which couldn't be converted.
48200         (re_string_reconstruct): Don't clear valid_raw_len before calling
48201         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
48202         tip_context using re_string_context_at.
48203
48204         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
48205
48206         * lib/posix/regex.h: g++ still cannot handled [restrict].
48207
48208         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
48209
48210         * lib/posix/regex.h: Remove special handling for VMS.
48211
48212 2006-08-10  Jim Meyering  <jim@meyering.net>
48213
48214         * modules/same-inode: New module.
48215         * modules/dev-ino: New module.
48216         * modules/cycle-check: Depend on these modules, rather than simply
48217         including their .h files.
48218         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
48219         required via m4/cycle-check.m4.
48220         * modules/same: Depend on new same-inode module, rather than
48221         including same-inode.h.
48222         * modules/chdir-safer: New file.
48223
48224         * modules/chown (Depends-on): Add stat-macros.
48225
48226 2006-08-10  Jim Meyering  <jim@meyering.net>
48227
48228         * m4/cycle-check.m4: New file.
48229         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
48230         * m4/dev-ino.m4, m4/same-inode.m4: New files.
48231
48232 2006-08-10  Eric Blake  <ebb9@byu.net>
48233
48234         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
48235         in from original proposal.
48236
48237 2006-08-10  Eric Blake  <ebb9@byu.net>
48238         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
48239
48240         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
48241         namespace.
48242
48243 2006-08-10  Bruno Haible  <bruno@clisp.org>
48244
48245         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
48246         as well.
48247
48248 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48249
48250         Sync from coreutils.
48251
48252         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
48253
48254         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
48255         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
48256
48257 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48258
48259         * modules/restrict: Remove; no longer needed now that we assume
48260         Autoconf 2.59 or later.
48261         * MODULES.html.sh: Remove 'restrict'.
48262         * modules/argp (Depends-on): Remove 'restrict'.
48263         * modules/base64 (Depends-on): Likewise.
48264         * modules/gc (Depends-on): Likewise.
48265         * modules/getaddrinfo (Depends-on): Likewise.
48266         * modules/glob (Depends-on): Likewise.
48267         * modules/inet_ntop (Depends-on): Likewise.
48268         * modules/inet_pton (Depends-on): Likewise.
48269         * modules/memxor (Depends-on): Likewise.
48270         * modules/regex (Depends-on): Likewise.
48271         * modules/strtok_r (Depends-on): Likewise.
48272         * modules/time_r (Depends-on): Likewise.
48273
48274 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48275
48276         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
48277         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
48278         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
48279         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
48280         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
48281         * m4/memxor.m4 (gl_MEMXOR): Likewise.
48282         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
48283         gl_C_RESTRICT replaced by AC_C_RESTRICT.
48284
48285         Merge from coreutils.
48286         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
48287         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
48288         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48289         * m4/time_r.m4 (gl_TIME_R): Likewise.
48290
48291 2006-08-09  Karl Berry  <karl@gnu.org>
48292
48293         * config/srclist.txt: no more gettext-tools, per Bruno.
48294
48295 2006-08-08  Eric Blake  <ebb9@byu.net>
48296
48297         * modules/verror: New module.
48298         * MODULES.html.sh: Document it.
48299
48300 2006-08-08  Eric Blake  <ebb9@byu.net>
48301
48302         * lib/verror.h, lib/verror.c: New files.
48303
48304 2006-08-08  Eric Blake  <ebb9@byu.net>
48305
48306         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
48307         verror_at_line output complies with GNU Coding Standards even when
48308         file is NULL.
48309
48310 2006-08-07  Bruno Haible  <bruno@clisp.org>
48311
48312         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
48313         versions of AIX.
48314         Reported by Ralf Wildenhues.
48315
48316 2006-08-07  Bruno Haible  <bruno@clisp.org>
48317
48318         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
48319         in an AC_DEFUN. Needed so that the autoconf snippets can use
48320         AC_REQUIRE.
48321
48322 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48323
48324         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48325         Initialize pkgdata_DATA.
48326         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
48327         overriding it.
48328
48329 2006-08-06  Eric Blake  <ebb9@byu.net>
48330
48331         * lib/error.h: Fold in some upstream changes from glibc.
48332         * lib/error.c: Likewise.
48333
48334 2006-08-04  Bruno Haible  <bruno@clisp.org>
48335
48336         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48337         Make the mostlyclean-local rule depend on mostlyclean-generic.
48338         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
48339
48340 2006-07-31  Bruno Haible  <bruno@clisp.org>
48341
48342         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
48343         <stdlib.h>, <string.h>.
48344
48345 2006-07-30  Bruno Haible  <bruno@clisp.org>
48346
48347         * modules/readlink (License): Change to LGPL.
48348
48349 2006-07-30  Bruno Haible  <bruno@clisp.org>
48350
48351         * modules/javaversion (Makefile.am): Distribute javaversion.java and
48352         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
48353         set PKGDATADIR to point to it.
48354
48355 2006-07-30  Bruno Haible  <bruno@clisp.org>
48356
48357         * modules/csharpexec (configure.ac): Comment out macro invocation.
48358         * modules/javaexec (configure.ac): Likewise.
48359         * modules/javacomp-script (configure.ac): Likewise.
48360
48361         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
48362
48363 2006-07-30  Bruno Haible  <bruno@clisp.org>
48364
48365         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
48366         linked-list.
48367
48368 2006-07-30  Bruno Haible  <bruno@clisp.org>
48369
48370         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
48371
48372 2006-07-30  Bruno Haible  <bruno@clisp.org>
48373
48374         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48375         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
48376         get removed.
48377
48378 2006-07-29  Bruno Haible  <bruno@clisp.org>
48379
48380         Make it possible for gnulib-tool to work with locally modified or
48381         augmented gnulib repositories.
48382         * gnulib-tool (func_usage): Document --local-dir option.
48383         (local_gnulib_dir): New variable.
48384         Handle --local-dir option.
48385         (func_lookup_file): New function.
48386         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
48387         (func_get_description, func_get_filelist, func_get_description,
48388         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
48389         func_get_automake_snippet, func_get_include_directive,
48390         func_get_license, func_get_maintainer): Use func_lookup_file.
48391         (func_import, func_create_testdir): Use func_lookup_file.
48392
48393 2006-07-29  Bruno Haible  <bruno@clisp.org>
48394
48395         * modules/setenv (Depends-on): Add unistd.
48396
48397 2006-07-29  Bruno Haible  <bruno@clisp.org>
48398
48399         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
48400
48401 2006-07-29  Bruno Haible  <bruno@clisp.org>
48402
48403         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
48404
48405 2006-07-29  Bruno Haible  <bruno@clisp.org>
48406
48407         * gnulib-tool (import, update): If there is no Makefile.am, look at
48408         aclocal.m4, instead of bailing out.
48409
48410 2006-07-29  Bruno Haible  <bruno@clisp.org>
48411
48412         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
48413         Categorize the options by when they are useful.
48414
48415 2006-07-29  Bruno Haible  <bruno@clisp.org>
48416
48417         * gnulib-tool (func_usage): Document option --no-libtool.
48418         Handle option --no-libtool.
48419         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
48420         for changed semantics of $libtool variable.
48421         (func_import): Likewise. If libtool is not used, show this through
48422         an option --no-libtool.
48423         (func_create_testdir): Update.
48424
48425 2006-07-29  Bruno Haible  <bruno@clisp.org>
48426
48427         * gnulib-tool (func_import): Extend error message about missing
48428         --doc-base.
48429
48430 2006-07-29  Bruno Haible  <bruno@clisp.org>
48431
48432         * gnulib-tool (func_import): Don't create the $docbase directory if
48433         there is no file to store there.
48434
48435 2006-07-29  Bruno Haible  <bruno@clisp.org>
48436
48437         * gnulib-tool (autoconf_minversion): If a --dir option is given and
48438         relevant, look for configure.ac there, not in the current directory.
48439         Also use a simple search for AC_PREREQ, not "autoconf --trace".
48440
48441 2006-07-29  Bruno Haible  <bruno@clisp.org>
48442
48443         * gnulib-tool (SORT): New variable.
48444         (func_usage): Undocument --assume-autoconf option.
48445         Remove --assume-autoconf option handling.
48446         (autoconf_minversion): Determine from the contents of configure.ac.
48447         (func_import): Remove autoconf_minversion handling.
48448         Suggested by Eric Blake.
48449
48450 2006-07-29  Bruno Haible  <bruno@clisp.org>
48451
48452         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
48453
48454 2006-07-29  Bruno Haible  <bruno@clisp.org>
48455
48456         * config/srclist.txt (*setenv.[ch]): Remove rules.
48457
48458 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48459
48460         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
48461
48462 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48463
48464         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
48465         arpa/inet.h.
48466
48467 2006-07-28  Simon Josefsson  <jas@extundo.com>
48468
48469         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
48470         * modules/inet_pton (Depends-on): Likewise.
48471
48472 2006-07-28  Simon Josefsson  <jas@extundo.com>
48473
48474         * m4/netinet_in_h.m4: New file.
48475
48476 2006-07-28  Simon Josefsson  <jas@extundo.com>
48477
48478         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
48479         #include's.
48480
48481 2006-07-28  Simon Josefsson  <jas@extundo.com>
48482
48483         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
48484         #include's.
48485
48486 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
48487
48488         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
48489         setgid on directories only if they set these bits.
48490         * lib/modechange.h: Remove obsolete comment about masks.
48491
48492 2006-07-28  Eric Blake  <ebb9@byu.net>
48493
48494         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
48495         macro expansion.
48496
48497 2006-07-28  Bruno Haible  <bruno@clisp.org>
48498
48499         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
48500
48501 2006-07-28  Bruno Haible  <bruno@clisp.org>
48502
48503         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
48504
48505 2006-07-28  Bruno Haible  <bruno@clisp.org>
48506
48507         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
48508         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
48509         Define fallbacks.
48510         Avoids link error on FreeBSD 4.x.
48511         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48512
48513         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
48514         encoding.
48515         * lib/mbswidth.c (iswcntrl): Likewise.
48516
48517 2006-07-27  Bruno Haible  <bruno@clisp.org>
48518
48519         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
48520         test.
48521
48522 2006-07-27  Bruno Haible  <bruno@clisp.org>
48523
48524         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
48525         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
48526         defined.
48527
48528 2006-07-26  Eric Blake  <ebb9@byu.net>
48529
48530         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
48531
48532 2006-07-26  Eric Blake  <ebb9@byu.net>
48533
48534         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
48535         like mingw that lack mkstemp.
48536         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
48537         avoid compilation warning on mingw.
48538
48539 2006-07-26  Bruno Haible  <bruno@clisp.org>
48540
48541         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
48542         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
48543         INT_FAST*_MIN, INTPTR_MIN.
48544
48545 2006-07-25  Bruno Haible  <bruno@clisp.org>
48546
48547         * modules/version-etc (Depends-on): Add stdarg.
48548
48549 2006-07-25  Bruno Haible  <bruno@clisp.org>
48550
48551         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
48552         complex commands.
48553
48554 2006-07-25  Bruno Haible  <bruno@clisp.org>
48555
48556         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
48557         defined in <stdarg.h> or config.h.
48558
48559 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
48560
48561         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
48562         (gl_STDIO_SAFER): Remove.
48563
48564 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
48565
48566         * MODULES.html.sh (File stream based Input/Output):
48567         Add fopen-safer, tmpfile-safer; remove stdio-safer.
48568         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
48569         * modules/fopen-safer, modules/tmpfile-safer: New files.
48570         * modules/stdio-safer: Remove.
48571
48572 2006-07-24  Bruno Haible  <bruno@clisp.org>
48573
48574         * modules/tmpdir: New file.
48575         * MODULES.html.sh (File system functions): Add it.
48576
48577 2006-07-24  Bruno Haible  <bruno@clisp.org>
48578
48579         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
48580         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
48581
48582 2006-07-24  Bruno Haible  <bruno@clisp.org>
48583
48584         * modules/clean-temp: New file.
48585
48586 2006-07-24  Bruno Haible  <bruno@clisp.org>
48587
48588         * m4/tmpdir.m4: New file, from GNU gettext.
48589
48590 2006-07-24  Bruno Haible  <bruno@clisp.org>
48591
48592         * lib/tmpdir.h: New file, from GNU gettext.
48593         * lib/tmpdir.c: New file, from GNU gettext.
48594
48595 2006-07-24  Bruno Haible  <bruno@clisp.org>
48596
48597         * lib/clean-temp.h: New file, from GNU gettext.
48598         * lib/clean-temp.c: New file, from GNU gettext.
48599
48600 2006-07-23  Eric Blake  <ebb9@byu.net>
48601
48602         * modules/stdio-safer (Files): Add tmpfile-safer.c.
48603         (Depends-on): Add binary-io.
48604
48605 2006-07-23  Eric Blake  <ebb9@byu.net>
48606
48607         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
48608
48609 2006-07-23  Eric Blake  <ebb9@byu.net>
48610
48611         * lib/tmpfile-safer.c: New file.
48612         * lib/stdio-safer.h (fopen_safer): Add prototype.
48613         * lib/stdio--.h (tmpfile): Make safer.
48614
48615 2006-07-23  Bruno Haible  <bruno@clisp.org>
48616
48617         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
48618         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
48619         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
48620         gl_linked_remove_at): Use it.
48621
48622 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48623         and Simon Josefsson <jas@extundo.com>
48624
48625         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
48626
48627         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
48628
48629 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48630
48631         * modules/close-stream: New file.
48632         * modules/closeout (Description): Make it clear that it exits
48633         with a diagnostic on error.
48634         (Depends-on): Add close-stream.  Remove fpending, stdbool.
48635         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
48636
48637 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48638
48639         * m4/close-stream.m4: New file.
48640
48641 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48642
48643         * lib/close-stream.c, lib/close-stream.h: New files.
48644
48645 2006-07-22  Bruno Haible  <bruno@clisp.org>
48646
48647         Merge from GNU gettext 0.15.
48648
48649         2006-05-01  Bruno Haible  <bruno@clisp.org>
48650
48651                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
48652
48653         2006-07-22  Bruno Haible  <bruno@clisp.org>
48654
48655                 * modules/javaversion: New file.
48656                 * MODULES.html.sh (Java): Add javaversion.
48657
48658         2006-03-12  Bruno Haible  <bruno@clisp.org>
48659
48660                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
48661
48662         2005-12-04  Bruno Haible  <bruno@clisp.org>
48663
48664                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
48665                 (untested).
48666
48667         2006-06-21  Bruno Haible  <bruno@clisp.org>
48668
48669                 Avoid warnings from recent versions of mcs.
48670                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
48671                 -o, -L, -r any more. Use options documented since mcs-1.0
48672                 instead. Similarly for -g.
48673
48674         2005-12-04  Bruno Haible  <bruno@clisp.org>
48675
48676                 * build-aux/csharpcomp.sh.in: Suffix for resources is
48677                 .resources, not .resource.
48678
48679         2005-07-09  Bruno Haible  <bruno@clisp.org>
48680
48681                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
48682                 add a .dll suffix.
48683                 Reported by Mark Junker <mjscod@gmx.de>.
48684
48685         2006-07-22  Bruno Haible  <bruno@clisp.org>
48686
48687                 * modules/gettext: Upgrade to gettext-0.15.
48688                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
48689                 m4/visibility.m4.
48690                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
48691
48692 2006-07-22  Bruno Haible  <bruno@clisp.org>
48693
48694         Merge from GNU gettext 0.15.
48695
48696         2006-03-25  Bruno Haible  <bruno@clisp.org>
48697
48698                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
48699
48700         2006-07-21  Bruno Haible  <bruno@clisp.org>
48701
48702                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
48703                 "1.1".
48704
48705         2006-05-09  Bruno Haible  <bruno@clisp.org>
48706
48707                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
48708                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
48709                 for the conftestver execution.
48710
48711         2006-05-01  Bruno Haible  <bruno@clisp.org>
48712
48713                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
48714                 optional target-version argument. Verify that the compiler
48715                 groks source of the specified source-version, or add -source
48716                 option as necessary. Verify that the compiler produces
48717                 bytecode in the specified target-version, or add -target and
48718                 -source options as necessary. Make the result of the test
48719                 available as variable CONF_JAVAC. Also log error output in
48720                 config.log.
48721
48722         2006-03-11  Bruno Haible  <bruno@clisp.org>
48723
48724                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
48725
48726         2006-05-09  Bruno Haible  <bruno@clisp.org>
48727
48728                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
48729                 CLASSPATH_SEPARATOR to a semicolon.
48730
48731         2006-03-12  Bruno Haible  <bruno@clisp.org>
48732
48733                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
48734                 available as variable CONF_JAVA, for subsequent autoconf
48735                 tests. Also log error output in config.log.
48736
48737         2006-07-19  Bruno Haible  <bruno@clisp.org>
48738
48739                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
48740                 that getline works on glibc2 systems. Needed to avoid trouble
48741                 in relocatable.c.
48742                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
48743
48744         2005-12-04  Bruno Haible  <bruno@clisp.org>
48745
48746                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
48747                 launcher (untested).
48748
48749         2005-12-04  Bruno Haible  <bruno@clisp.org>
48750
48751                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
48752
48753         2006-07-22  Bruno Haible  <bruno@clisp.org>
48754
48755                 * gettext.m4: Update from GNU gettext-0.15.
48756                 * nls.m4: Likewise.
48757                 * po.m4: Likewise.
48758                 * inttypes-pri.m4: Likewise.
48759                 * inttypes-h.m4: Renamed from inttypes.m4.
48760                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
48761
48762 2006-07-22  Bruno Haible  <bruno@clisp.org>
48763
48764         Merge from GNU gettext 0.15.
48765
48766         2005-07-05  Bruno Haible  <bruno@clisp.org>
48767
48768                 * printf-args.c (printf_fetchargs): Work around broken
48769                 definition of wint_t on mingw.
48770
48771         2005-02-12  Bruno Haible  <bruno@clisp.org>
48772
48773                 * xallocsa.h: Add extern "C" for C++.
48774
48775         2006-05-17  Bruno Haible  <bruno@clisp.org>
48776
48777                 Cygwin portability.
48778                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
48779
48780         2006-04-30  Bruno Haible  <bruno@clisp.org>
48781
48782                 * progreloc.c: Include <mach-o/dyld.h> if available.
48783                 (find_executable): Use _NSGetExecutablePath when possible.
48784
48785         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
48786
48787                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
48788                 function.
48789
48790         2005-12-29  Bruno Haible  <bruno@clisp.org>
48791
48792                 * progreloc.c (set_program_name_and_installdir): Fix
48793                 compilation error.
48794
48795         2005-12-04  Bruno Haible  <bruno@clisp.org>
48796
48797                 Cygwin portability.
48798                 * progreloc.c: Include <windows.h> also on Cygwin.
48799                 (find_executable): Add support for Cygwin.
48800                 (set_program_name_and_installdir): Handle also platforms with
48801                 nonempty EXEEXT.
48802
48803         2006-07-11  Bruno Haible  <bruno@clisp.org>
48804
48805                 * javacomp.c: Fix a comment.
48806                 Reported by Jim Meyering.
48807
48808         2006-04-30  Bruno Haible  <bruno@clisp.org>
48809
48810                 * javacomp.h (compile_java_class): Add source_version,
48811                 target_version arguments.
48812                 * javacomp.c: Rewritten to choose only a compiler that
48813                 respects the specified source_version and target_version.
48814
48815         2006-06-27  Bruno Haible  <bruno@clisp.org>
48816
48817                 Assume correct S_ISDIR macro.
48818                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
48819
48820         2006-07-22  Bruno Haible  <bruno@clisp.org>
48821
48822                 * javaversion.h: New file, from GNU gettext.
48823                 * javaversion.c: New file, from GNU gettext.
48824                 * javaversion.java: New file, from GNU gettext.
48825                 * javaversion.class: New file, from GNU gettext.
48826
48827         2006-05-17  Bruno Haible  <bruno@clisp.org>
48828
48829                 Cygwin portability.
48830                 * javaexec.c (execute_java_class): Test for jview program
48831                 also on Cygwin.
48832
48833         2006-04-09  Bruno Haible  <bruno@clisp.org>
48834
48835                 * fatal-signal.c: Don't include string.h.
48836                 (at_fatal_signal): Use a copying loop instead of memcpy.
48837
48838         2005-12-04  Bruno Haible  <bruno@clisp.org>
48839
48840                 * csharpexec.c: Add support for 'clix' launcher (untested).
48841                 (execute_csharp_using_sscli): New function.
48842                 (execute_csharp_program): Call it.
48843
48844         2006-06-21  Bruno Haible  <bruno@clisp.org>
48845
48846                 Avoid warnings from recent versions of mcs.
48847                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
48848                 -o, -L, -r any more. Use options documented since mcs-1.0
48849                 instead. Similarly for -g.
48850
48851         2005-07-09  Bruno Haible  <bruno@clisp.org>
48852
48853                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
48854                 add a .dll suffix.
48855                 Reported by Mark Junker <mjscod@gmx.de>.
48856
48857         2006-06-17  Bruno Haible  <bruno@clisp.org>
48858
48859                 * config.charset: Update for NetBSD 3.0.
48860
48861         2006-05-17  Bruno Haible  <bruno@clisp.org>
48862
48863                 Cygwin portability.
48864                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
48865
48866         2006-05-16  Bruno Haible  <bruno@clisp.org>
48867
48868                 * localcharset.c [CYGWIN]: Include <windows.h>.
48869                 (get_charset_aliases): For Cygwin, return the same CPxxx
48870                 aliases list as under WIN32.
48871                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
48872                 the environment variables. Fall back to GetACP().
48873
48874         2006-04-05  Bruno Haible  <bruno@clisp.org>
48875
48876                 * config.charset: Update Juan Manuel Guerrero's address.
48877
48878         2005-02-12  Bruno Haible  <bruno@clisp.org>
48879
48880                 * allocsa.h: Add extern "C" for C++.
48881
48882         2005-02-10  Bruno Haible  <bruno@clisp.org>
48883
48884                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
48885                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
48886
48887         2006-07-22  Bruno Haible  <bruno@clisp.org>
48888
48889                 * gettext.h: Update to GNU gettext-0.15.
48890
48891 2006-07-22  Bruno Haible  <bruno@clisp.org>
48892
48893         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
48894         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
48895         lib-prefix.m4, longdouble.m4, ssize_t.m4.
48896
48897 2006-07-21  Eric Blake  <ebb9@byu.net>
48898
48899         * modules/stdlib-safer: New file.
48900         * MODULES.html.sh (File stream based Input/Output): Add
48901         stdlib-safer.
48902
48903 2006-07-21  Eric Blake  <ebb9@byu.net>
48904
48905         * lib/stdlib-safer.h: New file from coreutils, required by
48906         stdlib--.h.
48907
48908 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
48909
48910         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
48911
48912 2006-07-20  Bruno Haible  <bruno@clisp.org>
48913
48914         * gnulib-tool: Recognize new option --assume-autoconf.
48915         (autoconf_minversion): New variable.
48916         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
48917
48918 2006-07-20  Bruno Haible  <bruno@clisp.org>
48919
48920         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
48921
48922 2006-07-19  Derek R. Price  <derek@ximbiot.com>
48923
48924         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
48925         Reindent and repaginate.
48926
48927 2006-07-19  Derek Price  <derek@ximbiot.com>
48928
48929         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
48930         Correct grammar.
48931
48932 2006-07-17  Bruno Haible  <bruno@clisp.org>
48933
48934         * modules/list: New file.
48935         * modules/array-list: New file.
48936         * modules/carray-list, modules/carray-list-tests: New files.
48937         * modules/linked-list, modules/linked-list-tests: New files.
48938         * modules/avltree-list, modules/avltree-list-tests: New files.
48939         * modules/rbtree-list, modules/rbtree-list-tests: New files.
48940         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
48941         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
48942         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
48943         * modules/oset: New file.
48944         * modules/array-oset: New file.
48945         * modules/avltree-oset, modules/avltree-oset-tests: New files.
48946         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
48947         * tests/test-carray_list.c: New file.
48948         * tests/test-linked_list.c: New file.
48949         * tests/test-avltree_list.c: New file.
48950         * tests/test-rbtree_list.c: New file.
48951         * tests/test-linkedhash_list.c: New file.
48952         * tests/test-avltreehash_list.c: New file.
48953         * tests/test-rbtreehash_list.c: New file.
48954         * tests/test-avltree_oset.c: New file.
48955         * tests/test-rbtree_oset.c: New file.
48956         * MODULES.html.sh (Container data structures): New section.
48957
48958 2006-07-17  Bruno Haible  <bruno@clisp.org>
48959
48960         * m4/gl_list.m4: New file.
48961
48962 2006-07-17  Bruno Haible  <bruno@clisp.org>
48963
48964         * lib/gl_list.h: New file.
48965         * lib/gl_list.c: New file.
48966         * lib/gl_array_list.h: New file.
48967         * lib/gl_array_list.c: New file.
48968         * lib/gl_carray_list.h: New file.
48969         * lib/gl_carray_list.c: New file.
48970         * lib/gl_linked_list.h: New file.
48971         * lib/gl_linked_list.c: New file.
48972         * lib/gl_anylinked_list1.h: New file.
48973         * lib/gl_anylinked_list2.h: New file.
48974         * lib/gl_avltree_list.h: New file.
48975         * lib/gl_avltree_list.c: New file.
48976         * lib/gl_anyavltree_list1.h: New file.
48977         * lib/gl_anyavltree_list2.h: New file.
48978         * lib/gl_rbtree_list.h: New file.
48979         * lib/gl_rbtree_list.c: New file.
48980         * lib/gl_anyrbtree_list1.h: New file.
48981         * lib/gl_anyrbtree_list2.h: New file.
48982         * lib/gl_anytree_list1.h: New file.
48983         * lib/gl_anytree_list2.h: New file.
48984         * lib/gl_linkedhash_list.h: New file.
48985         * lib/gl_linkedhash_list.c: New file.
48986         * lib/gl_anyhash_list1.h: New file.
48987         * lib/gl_anyhash_list2.h: New file.
48988         * lib/gl_avltreehash_list.h: New file.
48989         * lib/gl_avltreehash_list.c: New file.
48990         * lib/gl_rbtreehash_list.h: New file.
48991         * lib/gl_rbtreehash_list.c: New file.
48992         * lib/gl_anytreehash_list1.h: New file.
48993         * lib/gl_anytreehash_list2.h: New file.
48994
48995         * lib/gl_oset.h: New file.
48996         * lib/gl_oset.c: New file.
48997         * lib/gl_array_oset.h: New file.
48998         * lib/gl_array_oset.c: New file.
48999         * lib/gl_avltree_oset.h: New file.
49000         * lib/gl_avltree_oset.c: New file.
49001         * lib/gl_rbtree_oset.h: New file.
49002         * lib/gl_rbtree_oset.c: New file.
49003         * lib/gl_anytree_oset.h: New file.
49004
49005 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49006
49007         * m4/mkancesdirs.m4: New file.
49008         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
49009         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
49010         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
49011         it.
49012
49013 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49014
49015         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
49016         * lib/mkancesdirs.h: New files.
49017         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
49018         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
49019         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
49020         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
49021         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
49022         callers changed.  Revamp internals significantly, by not
49023         attempting to create directories that are temporarily more
49024         permissive than the final results.  Do not attempt to use
49025         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
49026         This removes some race conditions, fixes some bugs, and simplifies
49027         things.  Use new dirchownmod function to do owner and mode changes.
49028         * lib/mkdir-p.h: Likewise.
49029         * lib/modechange.c (octal_to_mode): New function.
49030         (struct mode_change): New member mentioned.
49031         (make_node_op_equals): New arg mentioned.  All callers changed.
49032         (mode_compile): Keep track of which mode bits the user has explicitly
49033         mentioned.
49034         (mode_adjust): New arg DIR, so that we implement the X op correctly.
49035         New arg PMODE_BITS, to keep track of which mode bits the user
49036         mentioned; it treats S_ISUID and S_ISGID speciall.
49037         All callers changed.
49038         * lib/modechange.h: Likewise.
49039
49040 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49041
49042         * MODULES.html.sh: Add mkancestors.
49043         * modules/mkancesdirs: New module.
49044         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
49045         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
49046         The chdir-safer and afs files are now orphans; I'll remove them
49047         unless someone speaks up.
49048         Add lib/dirchownmod.c, lib/dirchownmod.h.
49049         (Depends-on): Remove alloca, chown, save-cwd, dirname.
49050         Add lchown, mkancesdirs.
49051         (Maintainer): Add self.
49052
49053 2006-07-15  Karl Berry  <karl@gnu.org>
49054
49055         * gnulib-tool: help message wording/arrangement.
49056
49057 2006-07-14  Simon Josefsson  <jas@extundo.com>
49058
49059         * doc/gnulib.texi (Libtool and Windows): New section.
49060
49061 2006-07-12  Simon Josefsson  <jas@extundo.com>
49062
49063         * modules/gendocs (License): Fix license, approved by Karl.
49064
49065 2006-07-12  Eric Blake  <ebb9@byu.net>
49066
49067         * MODULES.html.sh: Add gendocs.
49068
49069 2006-07-11  Eric Blake  <ebb9@byu.net>
49070
49071         * modules/fdl: New module, to install doc/fdl.texi.
49072         * MODULES.html.sh: Add new section for documentation modules.
49073         * gnulib-tool: Avoid space-tab.
49074         (--doc-base): New option, to manage files from doc.
49075
49076 2006-07-11  Eric Blake  <ebb9@byu.net>
49077
49078         * m4/absolute-header.m4: Fix comments to match recent change.
49079
49080 2006-07-11  Eric Blake  <ebb9@byu.net>
49081
49082         * gnulib-tool: List --doc-base before --tests-base.
49083
49084 2006-07-11  Derek R. Price  <derek@ximbiot.com>
49085
49086         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
49087
49088 2006-07-11  Bruno Haible  <bruno@clisp.org>
49089
49090         * README: Mention where to put documentation.
49091
49092 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49093
49094         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
49095
49096 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
49097
49098         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
49099         to stdint.m4.
49100
49101 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
49102
49103         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
49104         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
49105         "no/such/file/stdint.h" when there is no such file, so that
49106         the resulting C code can be parsed by dodgy compilers.
49107         Problems reported by Bob Proulx.
49108
49109 2006-07-10  Derek R. Price  <derek@ximbiot.com>
49110
49111         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
49112         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
49113         macros into the GNU _D_EXACT_NAMLEN.
49114         * lib/savedir.c:  Likewise.
49115         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
49116
49117 2006-07-10  Derek R. Price  <derek@ximbiot.com>
49118         and Paul Eggert  <eggert@cs.ucla.edu>
49119
49120         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
49121         * m4/savedir.m4:
49122         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
49123         macros into the GNU _D_EXACT_NAMLEN.
49124
49125 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49126
49127         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
49128         around the absolute name, to work around a problem with the HP-UX
49129         11.23 native C compiler, reported by Bob Proulx.
49130
49131 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49132
49133         * doc/maintain.texi, make-stds.texi: Sync from
49134         <http://savannah.gnu.org/projects/gnustandards>.
49135
49136 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49137
49138         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
49139
49140 2006-07-09  Jim Meyering  <jim@meyering.net>
49141
49142         * m4/glob.m4: Remove a doubled word in a comment.
49143
49144 2006-07-09  Jim Meyering  <jim@meyering.net>
49145
49146         * lib/argp-pv.c: Remove a doubled word in a comment.
49147         * lib/check-version.c (check_version): Likewise.
49148         * lib/javacomp.c (compile_java_class): Likewise.
49149
49150 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49151
49152         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
49153         for the benefit of people using Autoconf 2.60.  If you want to
49154         support older Autoconf versions you can copy m4/onceonly_2_57.m4
49155         (or m4/onceonly.m4, if pre-2.57) manually.
49156
49157 2006-07-08  Jim Meyering  <jim@meyering.net>
49158
49159         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
49160         comment.
49161         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
49162         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
49163         comment.
49164
49165 2006-07-08  Jim Meyering  <jim@meyering.net>
49166
49167         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
49168
49169 2006-07-07  Simon Josefsson  <jas@extundo.com>
49170
49171         * tests/test-crc.c: Change expected crc value, the test vector
49172         were probably computed using the old broken crc.c?
49173
49174 2006-07-06  Simon Josefsson  <jas@extundo.com>
49175
49176         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
49177         now the canonical place for the M4 file).
49178
49179         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
49180         from the sys_socket dependency now.
49181
49182         * modules/inet_pton (Files): Ditto.
49183
49184         * modules/inet_ntop (Files): Ditto.
49185
49186 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
49187
49188         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
49189         not gl_PREREQ_GETUSERSHELL.
49190
49191 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49192
49193         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
49194         with only one argument, for Autoconf 2.60.
49195         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
49196         expand to nothing, so add a shell command to avoid syntax error.
49197         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49198
49199 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49200
49201         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
49202
49203 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49204
49205         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
49206         no longer needed.  Check for isblank decl.
49207         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
49208         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
49209         of existence.
49210
49211 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49212
49213         * lib/getloadavg.c: Use __VMS, not VMS.
49214         * lib/getopt.c: Likewise.
49215         * lib/getpagesize.h: Likewise.
49216         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
49217         and probably does not work.
49218
49219 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49220
49221         * lib/.cppi-disable: Add wcwidth.
49222         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
49223         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
49224         (ISGRAPH): Remove.  All uses changed to isgraph.
49225         (FOLD) [!defined _LIBC]: Remove special case.
49226         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
49227         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
49228         HAVE_ISBLANK.
49229         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
49230         case.
49231
49232 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
49233
49234         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
49235         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
49236         brackets.  Other minor changes to suppress some compiler
49237         warnings.
49238
49239 2006-07-06  Derek R. Price  <derek@ximbiot.com>
49240         and Paul Eggert  <eggert@cs.ucla.edu>
49241
49242         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
49243         of invoking obsolescent AC_HEADER_DIRENT macro.
49244         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
49245         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
49246         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49247         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
49248         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
49249         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
49250         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
49251         * m4/readdir.m4: Remove; no longer needed.
49252
49253 2006-07-06  Derek R. Price  <derek@ximbiot.com>
49254         and Paul Eggert  <eggert@cs.ucla.edu>
49255
49256         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
49257         Don't worry about this obsolete case any more.
49258         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
49259         directories.
49260         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
49261         worry about this obsolete case any more.
49262         * lib/fts.c: Likewise.
49263         * lib/getcwd.c: Likewise.
49264         * lib/glob.h: Likewise.
49265         * lib/savedir.c: Likewise.
49266
49267 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49268
49269         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
49270         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
49271         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
49272         needed.
49273         All uses removed.
49274         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49275         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
49276         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
49277         needed.
49278         * m4/getdate.m4 (gl_GETDATE): Likewise.
49279         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
49280         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
49281         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
49282         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49283         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
49284         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49285         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
49286         needed.
49287
49288 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49289
49290         * lib/memcasecmp.c: Include <limits.h>.
49291         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
49292         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
49293         Don't assume isdigit succeeds only on '0' through '9'.
49294
49295 2006-07-05  Eric Blake  <ebb9@byu.net>
49296
49297         * modules/getaddrinfo (Depends-on): Add snprintf.
49298
49299 2006-07-05  Eric Blake  <ebb9@byu.net>
49300
49301         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
49302         to avoid 'header present but could not be compiled' on cygwin.
49303
49304 2006-07-05  Eric Blake  <ebb9@byu.net>
49305
49306         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
49307         missing from netdb.h.
49308         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
49309
49310 2006-07-05  Derek R. Price  <derek@ximbiot.com>
49311
49312         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
49313         no longer needed.
49314         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
49315         * m4/getdate.m4 (gl_GETDATE): Likewise.
49316         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
49317         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
49318         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
49319         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49320         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49321
49322 2006-07-05  Derek R. Price  <derek@ximbiot.com>
49323
49324         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
49325         All uses of is_space replaced by isspace.
49326         * lib/exit.h: Don't talk about STDC_HEADERS.
49327         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
49328         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
49329         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
49330         replaced by isprint etc.
49331         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
49332         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
49333         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
49334         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
49335         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
49336         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
49337
49338 2006-07-05  Bruno Haible  <bruno@clisp.org>
49339
49340         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
49341         the function exists, before testing against AIX.
49342         Reported by Martin Lambers <marlam@marlam.de>.
49343
49344 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
49345
49346         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
49347         From Mark D. Baushke.
49348
49349 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
49350
49351         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
49352         to the absolute name, not just one, to bypass Sun C 5.8's
49353         "warning: #include of /usr/include/... may be non-portable".
49354
49355 2006-07-04  Eric Blake  <ebb9@byu.net>
49356
49357         * modules/dirname-tests: New test module.
49358         * tests/test-dirname.c: New file, replacing dirname.c
49359         TEST_DIRNAME section that was recently deleted.
49360
49361 2006-07-04  Bruno Haible  <bruno@clisp.org>
49362
49363         Assume ANSI C header files and <ctype.h> functions.
49364         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
49365         (mbsnwidth): Use isprint, iscntrl instead.
49366
49367 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49368
49369         Merge from coreutils.
49370         * MODULES.html.sh: Add xstrtold.
49371         * modules/xstrtold: New file.
49372         * modules/cycle-check (Files): Add lib/same-inode.h.
49373         * modules/dirname (Files): Add m4/double-slash-root.m4.
49374         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
49375         * modules/mkdir-p (Files): Add lib/same-inode.h.
49376         * modules/same (Files): Add lib/same-inode.h.
49377
49378 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49379
49380         * m4/absolute-header.m4: Renamed from full-header-path.m4.
49381         This is to keep the terminology clean; POSIX talks about
49382         "absolute pathnames", not "full pathnames", but the GNU
49383         Coding Standards say to use "path" for something else;
49384         so use "absolute" to keep both sides happy.
49385         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
49386         Set gl_absolute_header, not gl_full_header_path.
49387         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
49388         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
49389         All uses changed.
49390
49391         Merge from coreutils.
49392
49393         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
49394
49395         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
49396         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
49397         want to require the building of c-strtod.o.
49398         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
49399         needs -lm directly.
49400         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
49401
49402         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
49403
49404         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
49405         --as-needed option if available.  Problem reported by Albert Chin in
49406         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
49407         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
49408         cc merely issues a bunch of annoying warnings for --as-needed
49409         (this problem was reported by Bob Proulx).  Also, try linking with
49410         -lm to detect a bug in binutils 2.16 (this problem was reported
49411         by Ralf Wildenhues).
49412
49413         2006-06-18  Jim Meyering  <jim@meyering.net>
49414
49415         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
49416         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
49417         macro.
49418         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
49419         also check for glibc-2.4's abort-inducing bug.
49420
49421         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
49422         Low-probability clean-up should be to use rmdir to get rid of
49423         the just-created directory, not unlink.
49424
49425         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
49426         configure fail, and request a bug report to inform us about it.
49427         Add a comment that, barring reports to the contrary, in 2007 we'll
49428         assume ftruncate is universally available.
49429
49430         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
49431
49432         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
49433
49434         2006-03-12  Jim Meyering  <jim@meyering.net>
49435
49436         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
49437         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
49438         * m4/same.m4 (gl_SAME): Likewise.
49439         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
49440
49441         2006-03-11  Eric Blake  <ebb9@byu.net>
49442
49443         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
49444         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
49445         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
49446         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
49447
49448 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49449
49450         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
49451         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
49452         reported by Mark D. Baushke, one in
49453         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
49454
49455         Merge from coreutils.
49456
49457         * lib/.cppi-disable: Add stdint_.h.
49458         * lib/.cvsignore: Add stdint.h.
49459
49460         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
49461
49462         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
49463         both double and long double versions.
49464         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
49465         * lib/xstrtold.c: New file.
49466         * lib/xstrtod.h (xstrtold): New decl.
49467
49468         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
49469
49470         * lib/filemode.c (setst): Remove.
49471         (strmode): Rewrite to avoid setst.  This makes the code shorter,
49472         (arguably) clearer, and the generated code is a bit smaller on my
49473         Debian GNU/Linux stable x86 host.
49474
49475         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
49476
49477         * lib/filemode.c: Include "filemode.h" first, to test the interface.
49478         Assume that filemode.h includes sys/types.h and sys/stat.h.
49479         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
49480         (ftypelet): Reorder to put common cases first, for efficiency.
49481         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
49482         to do 'M'.
49483         (strmode): Renamed from mode_string, and now stores 12 bytes instead
49484         of 10, for compatibility with FreeBSD.  All callers changed.
49485         (filemodestring): Now stores 12 bytes instead of 10, and sets file
49486         types that can't be deduced solely from st_mode.  First arg is now a
49487         const pointer.
49488         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
49489         (strmode): Renamed from mode_string.
49490         (filemodestring): New decl.
49491         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
49492         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
49493         needed.
49494         (S_ISPORT, S_ISWHT): New macros, if not already defined.
49495
49496         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
49497
49498         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
49499         fsusage.h now does that.  Include fsusage.h first, to test interface.
49500         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
49501         at most one method (the old code could have generated decls that
49502         didn't conform to C89, not that this was ever exercised).
49503         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
49504
49505         2006-03-19  Jim Meyering  <jim@meyering.net>
49506
49507         Work even in a chroot where d_ino values for entries in "/"
49508         don't match the stat.st_ino values for the same names.
49509         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
49510         number, iterate through all entries again, using lstat instead.
49511         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
49512         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
49513
49514         * lib/getcwd.c (__getcwd): Clarify a comment.
49515         Use memcpy in place of a call to strcpy.
49516
49517         2006-03-12  Jim Meyering  <jim@meyering.net>
49518
49519         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
49520         matches that of the current directory (which we're about to chdir ".."
49521         out of), then save the dev-ino of the parent, instead.
49522
49523         * lib/same-inode.h (SAME_INODE): New file/macro.
49524         * lib/chdir-safer.c (SAME_INODE): Remove definition.
49525         Include "same-inode.h", instead.
49526         * lib/same.c: Likewise.
49527         * lib/cycle-check.h: Include "same-inode.h".
49528         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
49529         * lib/cycle-check.c (SAME_INODE): Remove definition.
49530         * lib/root-dev-ino.h: Include "same-inode.h".
49531
49532         2006-03-11  Eric Blake  <ebb9@byu.net>
49533
49534         * lib/same.c (same_name): s/base_name/last_component/
49535         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
49536         * lib/filenamecat.c (file_name_concat): Likewise.
49537
49538         2006-03-11  Eric Blake  <ebb9@byu.net>,
49539                     Paul Eggert  <eggert@cs.ucla.edu>
49540
49541         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
49542         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
49543         drive prefix.
49544         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
49545         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
49546         (last_component): New method.
49547         * lib/dirname.c (dir_len): Determine when drive letters need a
49548         subsequent slash.  Preserve // when it is special.
49549         (dir_name): Don't append dot when drive letter is absolute.
49550         [TEST_DIRNAME]: Move into a full-blown gnulib test.
49551         * lib/basename.c (base_name): New semantics - malloc the result.
49552         Preserve // when it is special.  Preserve relative files that look
49553         like drive letters.
49554         (base_len): Preserve // when it is special.
49555         (last_component): New method, similar to old base_name semantics.
49556         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
49557         base_name.  Strip redundant slashes from ///.
49558
49559 2006-07-03  Jim Meyering  <jim@meyering.net>
49560
49561         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
49562         macro is used before the first cycle_check call.
49563
49564 2006-07-03  Eric Blake  <ebb9@byu.net>
49565
49566         * modules/dirname (Depends-on): Add xstrndup.
49567
49568 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49569
49570         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
49571         test cases, so that config.log is a bit easier to follow.
49572
49573 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49574
49575         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
49576         both are 64 bits, since this seems to be the tradition, and this
49577         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
49578         we ever run into a host that prefers long long to long in this
49579         case, we'll need another configure-time test.  Problem reported by
49580         Jim Meyering.
49581
49582 2006-07-02  Eric Blake  <ebb9@byu.net>
49583
49584         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
49585
49586 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49587
49588         * modules/inttypes (Depends-on): No longer depends on stdint.
49589         * modules/stdint (Description): Say more about assumptions.
49590         Say that the fast types might differ.  Say macros are used.
49591         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
49592         (Makefile.am): Revise list of substituted symbols to match
49593         new stdint.m4.
49594         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
49595         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
49596         * tests/test-stdint.c (verify_same_types)
49597         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
49598         the code conforms to C99/C89.
49599         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
49600         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
49601
49602 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49603
49604         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
49605         but fix a bug, by requiring at least 64 bits.
49606         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
49607         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
49608         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
49609         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
49610
49611         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
49612         changes.  Make 2.59 a prerequisite.  Check and substitute for
49613         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
49614         inttypes.h.  Do not use special include files; just use the
49615         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
49616         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
49617         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
49618         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
49619         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
49620         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
49621         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
49622         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
49623         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
49624         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
49625         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
49626         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
49627         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
49628         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
49629         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
49630         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
49631         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
49632         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
49633         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
49634         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
49635         WINT_MAX.  Check for C99 conformance more strictly, by detecting
49636         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
49637         not check for things that C99 does not require, e.g., int8_t.  If
49638         a test isn't needed unless <stdint.h> isn't working, and is
49639         unlikely to be needed for any other reason, then don't do it
49640         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
49641         size_t, since we assume C89 freestanding at least.  Do not check
49642         for sig_atomic_t, wchar_t, or wint_t, since the code now does
49643         the right thing even if the types are not defined.  Instead use:
49644         (gl_STDINT_TYPE_PROPERTIES): New macro.
49645         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
49646         testing whether <sys/types.h> clashes, as Autoconf does this for
49647         us now.  All uses removed.
49648         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
49649         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
49650         (gl_CHECK_TYPE_SAME):
49651         Remove; no longer needed.
49652         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
49653         exists, since we'll return 0 anyway in that case.
49654         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
49655
49656 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49657
49658         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
49659         possible collision with system files.
49660         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
49661         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
49662         WCHAR_MIN and WCHAR_MAX in this case.
49663         (<stddef.h>): Do not include; no longer needed.
49664         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
49665         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
49666         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
49667         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
49668         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
49669         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
49670         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
49671         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
49672         !defined(__c99))]: Include in this case too, since it's harmless
49673         now.
49674         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
49675         dangerous to do so.
49676         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
49677         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
49678         (_STDINT_MIN, _STDINT_MAX): New macros.
49679         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
49680         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
49681         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
49682         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
49683         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
49684         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
49685         macros, not typedefs; this simplifies things quite a bit.
49686         Use long int for all types narrower than int64_t.
49687         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
49688         Define in terms of long long int or int64_t or long int,
49689         not int64_t or int32_t.  This saves some compile-time testing.
49690         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
49691         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
49692         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
49693         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
49694         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
49695         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
49696         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
49697         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
49698         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
49699         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
49700         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
49701         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
49702         undef any previous version and define our own version, for
49703         simplicity and consistency with the new macros for types.
49704         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
49705         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
49706         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
49707         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
49708         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
49709         @WINT_T_SUFFIX@ to keep things simple here.
49710         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
49711         Simplify by assuming typical 8/16/32/64 host, since we're
49712         already doing that elsewhere anyway.
49713         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
49714         and assume long long int is 64 bits if available.  This
49715         speeds up 'configure'.
49716
49717 2006-07-01  Eric Blake  <ebb9@byu.net>
49718
49719         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
49720         Reported by Andreas Buening.
49721
49722 2006-07-01  Eric Blake  <ebb9@byu.net>
49723
49724         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
49725
49726 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
49727
49728         * lib/getaddrinfo.c: fixed typo
49729
49730 2006-06-29  Jim Meyering  <jim@meyering.net>
49731
49732         * modules/strftime (Maintainer): Add my name, since with the
49733         FPRINTFTIME changes strftime.c has forked from glibc.
49734
49735 2006-06-29  Eric Blake  <ebb9@byu.net>
49736
49737         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
49738
49739 2006-06-29  Eric Blake  <ebb9@byu.net>
49740
49741         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
49742
49743 2006-06-29  Eric Blake  <ebb9@byu.net>
49744
49745         * lib/stat_.h: New file.
49746
49747 2006-06-29  Eric Blake  <ebb9@byu.net>
49748
49749         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
49750         unused static function.
49751
49752 2006-06-29  Eric Blake  <ebb9@byu.net>
49753
49754         * doc/functions.texi (Function Portability): Document missing lstat
49755         on mingw.
49756
49757 2006-06-29  Eric Blake  <ebb9@byu.net>
49758
49759         * MODULES.html.sh: Add sys_stat.
49760         * modules/sys_stat: New module.
49761         * modules/mkstemp (Depends-on): Add sys_stat.
49762
49763 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49764
49765         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
49766
49767 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49768
49769         * m4/c-bs-a.m4: Removed.
49770
49771 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49772
49773         * lib/strftime.c: Assume strftime() exists.
49774
49775 2006-06-29  Derek Price  <derek@ximbiot.com>
49776
49777         * modules/c-bs-a: Removed - \a is C89.
49778         * MODULES.html.sh: Remove c-bs-a.
49779
49780 2006-06-29  Bruno Haible  <bruno@clisp.org>
49781
49782         * modules/wcwidth (License): Change to LGPL.
49783
49784 2006-06-28  Simon Josefsson  <jas@extundo.com>
49785
49786         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
49787         on _WIN32.
49788
49789         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
49790         getnameinfo.
49791
49792 2006-06-28  Simon Josefsson  <jas@extundo.com>
49793
49794         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
49795
49796 2006-06-28  Simon Josefsson  <jas@extundo.com>
49797
49798         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
49799         functions there.  It will succeed on Windows XP, but on Windows
49800         2000 and (presumably) earlier, it will fail, and use the internal
49801         re-implementation.
49802         (use_win32_p): New function.
49803         (getaddrinfo): Use strtoul on servname, to support numeric ports.
49804         Support AI_NUMERICSERV to disable getservbyname.
49805         (getnameinfo): New function, only supports
49806         NI_NUMERICHOST|NI_NUMERICSERV for now.
49807
49808         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
49809         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
49810         getnameinfo.
49811
49812 2006-06-28  Eric Blake  <ebb9@byu.net>
49813
49814         * modules/wcwidth: New file.
49815         * modules/mbchar (Depends-on): Add wcwidth.
49816         * modules/mbswidth (Depends-on): Add wcwidth.
49817         * MODULES.html.sh: Add wcwidth.
49818
49819 2006-06-28  Eric Blake  <ebb9@byu.net>
49820
49821         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
49822         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
49823
49824 2006-06-28  Eric Blake  <ebb9@byu.net>
49825
49826         * lib/xvasprintf.h: Fix comments.
49827
49828 2006-06-28  Eric Blake  <ebb9@byu.net>
49829
49830         * lib/mbchar.h (wcwidth): Include wcwidth.h.
49831         * lib/mbswidth.c (wcwidth): Move from here...
49832         * lib/wcwidth.h: ...to this new file.
49833
49834 2006-06-28  Derek R. Price  <derek@ximbiot.com>
49835
49836         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
49837
49838         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
49839         it's obsolete.
49840         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
49841
49842 2006-06-28  Derek R. Price  <derek@ximbiot.com>
49843
49844         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
49845         Autoconf 2.60 says this stuff was obsolete.
49846
49847 2006-06-28  Bruno Haible  <bruno@clisp.org>
49848
49849         * modules/wcwidth (Files): Add m4/wchar_t.m4.
49850
49851 2006-06-28  Bruno Haible  <bruno@clisp.org>
49852
49853         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
49854         gt_TYPE_WCHAR_T.
49855
49856 2006-06-28  Bruno Haible  <bruno@clisp.org>
49857
49858         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
49859         declaration for wcwidth.
49860         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
49861
49862 2006-06-28  Bruno Haible  <bruno@clisp.org>
49863
49864         * lib/mkdtemp.c [MINGW]: Include <io.h>.
49865         (mkdir): Define using _mkdir.
49866
49867 2006-06-28  Bruno Haible  <bruno@clisp.org>
49868
49869         * lib/getaddrinfo.h: Fix POSIX URL.
49870         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
49871         _WIN32.
49872         (use_win32_p): Make static.
49873         (getaddrinfo): Reject service name if it is empty or does not consist
49874         solely of decimal digits, or if its value is > 65535.
49875         (getnameinfo): Remove useless casts.
49876
49877 2006-06-27  Simon Josefsson  <jas@extundo.com>
49878
49879         * modules/sys_select: New file, suggested by Bruno Haible, Paul
49880         Eggert and Martin Lambers.
49881
49882 2006-06-27  Simon Josefsson  <jas@extundo.com>
49883
49884         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
49885         Eggert and Martin Lambers.
49886
49887 2006-06-27  Bruno Haible  <bruno@clisp.org>
49888
49889         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
49890         result to 0, not to empty.
49891         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
49892
49893 2006-06-27  Bruno Haible  <bruno@clisp.org>
49894
49895         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
49896
49897 2006-06-26  Simon Josefsson  <jas@extundo.com>
49898
49899         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
49900         present.
49901
49902 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
49903
49904         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
49905         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
49906         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
49907
49908 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
49909
49910         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
49911
49912 2006-06-26  Bruno Haible  <bruno@clisp.org>
49913
49914         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
49915
49916 2006-06-26  Bruno Haible  <bruno@clisp.org>
49917
49918         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
49919
49920 2006-06-26  Bruno Haible  <bruno@clisp.org>
49921
49922         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
49923         SGI C compiler in pre-C99 mode.
49924         Suggested by Mark D. Baushke and Larry Jones.
49925
49926 2006-06-26  Bruno Haible  <bruno@clisp.org>
49927
49928         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
49929         WCHAR_MAX.
49930         Reported by Mark D. Baushke and Larry Jones.
49931
49932 2006-06-26  Bruno Haible  <bruno@clisp.org>
49933
49934         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
49935         in pre-C99 mode.
49936         Suggested by Mark D. Baushke and Larry Jones.
49937
49938 2006-06-23  Simon Josefsson  <jas@extundo.com>
49939             Bruno Haible  <bruno@clisp.org>
49940
49941         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
49942         Emit mostlyclean-local rule.
49943         (func_emit_tests_Makefile_am): Likewise.
49944         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
49945
49946 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
49947
49948         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
49949
49950 2006-06-23  Bruno Haible  <bruno@clisp.org>
49951
49952         * tests/test-stdint.c: Update to match ISO C 99 Technical
49953         Corrigendum 1.
49954
49955 2006-06-23  Bruno Haible  <bruno@clisp.org>
49956
49957         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
49958
49959 2006-06-23  Bruno Haible  <bruno@clisp.org>
49960
49961         * lib/stdint_.h: Treat IRIX like OpenBSD.
49962
49963 2006-06-23  Bruno Haible  <bruno@clisp.org>
49964
49965         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
49966         ISO C 99 Technical Corrigendum 1.
49967
49968 2006-06-22  Simon Josefsson  <jas@extundo.com>
49969
49970         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
49971         MinGW.
49972
49973 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
49974
49975         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
49976         needed.  Some compiler complained about some of them.  Problem reported
49977         by Larry Jones in
49978         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
49979
49980 2006-06-21  Simon Josefsson  <jas@extundo.com>
49981
49982         * tests/test-getaddrinfo.c: New file.
49983
49984         * modules/getaddrinfo-tests: New file.
49985
49986         * MODULES.html.sh: Add inet_pton.
49987
49988         * modules/inet_pton: New file.
49989
49990 2006-06-21  Simon Josefsson  <jas@extundo.com>
49991
49992         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
49993         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
49994         of using the (limited) gnulib implementation on Windows XP.
49995
49996         * m4/inet_pton.m4: New file.
49997
49998 2006-06-21  Simon Josefsson  <jas@extundo.com>
49999
50000         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
50001         variable.
50002
50003         * lib/socket_.h: Don't define WINVER.
50004
50005         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
50006         slightly modified to work in gnulib.
50007
50008 2006-06-21  Simon Josefsson  <jas@extundo.com>
50009
50010         * doc/gnulib.texi (Windows sockets): Add.
50011
50012 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
50013
50014         * lib/read-file.c (fread_file): Start with buffer allocation of
50015         0 bytes rather than 1 byte; this simplifies the code.
50016         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
50017         code to free buffer and save/restore errno.
50018         (internal_read_file): Remove unused local.
50019
50020 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
50021
50022         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
50023         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
50024         Problem reported by Denis Excoffier in
50025         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
50026
50027 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50028
50029         * modules/sys_socket, modules/socklen: Include sys/types since
50030         FreeBSD 4.x's sys/socket.h needs it.
50031
50032 2006-06-19  Simon Josefsson  <jas@extundo.com>
50033
50034         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
50035
50036 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
50037
50038         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
50039
50040 2006-06-19  Bruno Haible  <bruno@clisp.org>
50041
50042         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
50043         and FULL_PATH_INTTYPES_H in angle brackets.
50044         Reported by Mark D. Baushke <mdb@gnu.org>.
50045
50046 2006-06-17  Eric Blake  <ebb9@byu.net>
50047
50048         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
50049         errno.
50050
50051 2006-06-17  Bruno Haible  <bruno@clisp.org>
50052
50053         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
50054         <sys/inttypes.h>.
50055
50056 2006-06-17  Bruno Haible  <bruno@clisp.org>
50057
50058         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
50059         whether errno is declared. Assume <errno.h> declares errno.
50060
50061 2006-06-17  Bruno Haible  <bruno@clisp.org>
50062
50063         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
50064
50065 2006-06-17  Bruno Haible  <bruno@clisp.org>
50066
50067         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
50068         problem on Solaris 2.5.1.
50069
50070 2006-06-16  Eric Blake  <ebb9@byu.net>
50071
50072         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
50073         * lib/unicodeio.c [!defined errno]: Likewise.
50074         * lib/strtol.c [!defined errno]: Likewise.
50075         * lib/strtod.c [!defined errno]: Likewise.
50076
50077 2006-06-15  Eric Blake  <ebb9@byu.net>
50078
50079         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
50080
50081 2006-06-15  Eric Blake  <ebb9@byu.net>
50082
50083         * config/srclist.txt (ssize_t.m4): Lose sync.
50084
50085 2006-06-15  Bruno Haible  <bruno@clisp.org>
50086
50087         * modules/stdint (Files): Include m4/full-header-path.m4,
50088         m4/size_max.m4, m4/wchar_t.m4.
50089         (Makefile.am): Many more substitutions.
50090         * modules/stdint-tests: New file.
50091         * tests/test-stdint.c: New file.
50092
50093 2006-06-15  Bruno Haible  <bruno@clisp.org>
50094
50095         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
50096         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
50097         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
50098         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
50099         gl_CHECK_TYPE_SAME): New macros.
50100
50101 2006-06-15  Bruno Haible  <bruno@clisp.org>
50102
50103         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
50104
50105 2006-06-15  Bruno Haible  <bruno@clisp.org>
50106
50107         * lib/stdint_.h: Rewritten to be fully auto-configured.
50108         Fixes bug on HP-UX/IA64.
50109
50110 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
50111
50112         * lib/getdate.y (__attribute__): Don't define if already defined.
50113         Problem reported by Larry Jones.
50114         * lib/utimens.c (__attribute__): Likewise.
50115
50116 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
50117
50118         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
50119         reported by Andreas Schwab.
50120
50121 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50122             Bruno Haible  <bruno@clisp.org>
50123
50124         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
50125         check for the declaration of strnlen and a run test that exposes the
50126         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
50127         rpl_strndup.
50128
50129 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50130             Bruno Haible  <bruno@clisp.org>
50131
50132         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
50133
50134 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50135
50136         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
50137         compile test, for Tru64 4.0D.
50138
50139 2006-05-28  Karl Berry  <karl@gnu.org>
50140
50141         * config/srclist.txt (printf-args.c): lose sync.
50142
50143 2006-05-26  Martin Lambers  <marlam@marlam.de>
50144
50145         * lib/getpass.c: Updates the test for the native W32 API, and adds
50146         missing includes, thus fixing compilation warnings.
50147
50148 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
50149
50150         * lib/exclude.c (exclude_fnmatch): New function.
50151         (excluded_file_name): Call exclude_fnmatch.
50152         * lib/exclude.h (excluded_file_name): New prototype
50153
50154 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
50155
50156         * lib/tempname.c (small_open, large_open): New macros.
50157         (__open, __open64) [!_LIBC]: Remove.
50158         (__gen_tempname): Use small_open and large_open instead of __open
50159         and __open64.  This fixes a portability bug on HP-UX 11.11i
50160         reported by Simon Wing-Tang in
50161         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
50162
50163 2006-05-24  Bruno Haible  <bruno@clisp.org>
50164
50165         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
50166         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
50167         Reported by Thorsten Maerz <torte@netztorte.de> via
50168         Aaron Stone <aaron@serendipity.cx>.
50169
50170 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
50171
50172         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
50173         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
50174         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
50175         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
50176         not really conditional on the cache.
50177         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
50178
50179 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
50180
50181         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
50182         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
50183         (my_usleep): Don't mishandle maximum value.
50184
50185 2006-05-19  Jim Meyering  <jim@meyering.net>
50186
50187         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
50188
50189 2006-05-17  Bruno Haible  <bruno@clisp.org>
50190
50191         Cygwin portability.
50192         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
50193
50194 2006-05-17  Bruno Haible  <bruno@clisp.org>
50195
50196         * lib/stdint_.h: Fix recognition of Cygwin.
50197
50198 2006-05-15  Bruno Haible  <bruno@clisp.org>
50199
50200         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
50201         on libtool patch by Ralf Wildenhues.
50202
50203 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50204
50205         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
50206         test for C99 conformance; (bool) 0.5 is an integer constant
50207         expression, but (bool) -0.5 is not.  Problem reported by Fedor
50208         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
50209
50210 2006-05-11  Simon Josefsson  <jas@extundo.com>
50211
50212         * m4/xvasprintf.m4: Fix obvious typo.
50213
50214 2006-05-11  Jim Meyering  <jim@meyering.net>
50215
50216         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
50217         James Lemley.
50218
50219 2006-05-10  Simon Josefsson  <jas@extundo.com>
50220
50221         * lib/md4.c: Typo fix, update copyright years.
50222         (K1, K2): Don't use L because it turn computations into 64-bit on
50223         64-bit platforms.
50224
50225 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
50226
50227         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
50228         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
50229         unwanted sign propagation, e.g., on hosts with 64-bit int.
50230         There still are some problems with reeelly weird theoretical hosts
50231         (e.g., 33-bit int) but it's not worth worrying about now.
50232         * lib/sha1.c (rol): Likewise.
50233         (K1, K2, K3, K4): Remove unnecessary L suffix.
50234
50235 2006-05-10  Bruno Haible  <bruno@clisp.org>
50236
50237         * lib/des.c: Cast to avoid warnings.
50238
50239 2006-05-09  Bruno Haible  <bruno@clisp.org>
50240
50241         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
50242         (Depends-on): Depend also on xsize, stdarg.
50243         (configure.ac): Add gl_XVASPRINTF.
50244
50245 2006-05-09  Bruno Haible  <bruno@clisp.org>
50246
50247         * m4/xvasprintf.m4: New file.
50248
50249 2006-05-09  Bruno Haible  <bruno@clisp.org>
50250
50251         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
50252         (EOVERFLOW): Define fallback value.
50253         (xstrcat): New function.
50254         (xvasprintf): Recognize the special case of a string concatenation.
50255
50256 2006-05-08  Eric Blake  <ebb9@byu.net>
50257
50258         * gnulib-tool (func_version): Base copyright year on CVS date.
50259         (func_emit_copyright_notice): New function.
50260         (func_emit_lib_Makefile_am): Use it.
50261         (func_emit_tests_Makefile_am): Likewise.
50262         (func_import): Likewise.
50263
50264 2006-05-08  Bruno Haible  <bruno@clisp.org>
50265
50266         * modules/stdarg: New file.
50267         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
50268
50269 2006-05-08  Bruno Haible  <bruno@clisp.org>
50270
50271         * m4/stdarg.m4: New file, from GNU gettext.
50272
50273 2006-05-08  Bruno Haible  <bruno@clisp.org>
50274
50275         * config/srclist.txt (build-aux/config.rpath): different from latest
50276         release.
50277
50278 2006-05-08  Bruno Haible  <bruno@clisp.org>
50279
50280         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
50281
50282 2006-05-05  Jim Meyering  <jim@meyering.net>
50283
50284         * m4/warning.m4: New file, derived from bison's file by the same name.
50285
50286 2006-05-03  Bruno Haible  <bruno@clisp.org>
50287
50288         * lib/stdint_.h: Shorter URL.
50289         * lib/inttypes.h: Likewise.
50290
50291 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50292
50293         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
50294
50295 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50296
50297         * lib/verify.h: Document the internals better.  Most of this change
50298         was written by Bruno Haible.
50299
50300 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50301
50302         * doc/verify.texi: New file, partly based on a proposal by
50303         Bruno Haible.
50304
50305 2006-05-02  Bruno Haible  <bruno@clisp.org>
50306
50307         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
50308         test from here...
50309         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
50310
50311 2006-04-29  Bruno Haible  <bruno@clisp.org>
50312
50313         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
50314         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
50315
50316 2006-04-29  Bruno Haible  <bruno@clisp.org>
50317
50318         * gnulib-tool: Make --update option actually work.
50319
50320 2006-04-29  Bruno Haible  <bruno@clisp.org>
50321
50322         * doc/gcd.texi: New file.
50323         * doc/gnulib.texi: Include it.
50324
50325 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
50326
50327         * lib/getdate.y (get_date): When adding relative date, start with the
50328         initial time, not with the result of the first mktime call.
50329
50330 2006-04-25  Bruno Haible  <bruno@clisp.org>
50331
50332         * gnulib-tool (func_import): Output the include directives in three
50333         blocks, sorted separately.
50334         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50335
50336 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50337
50338         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
50339         to define main with arguments, for C++.  Reported by Eric Blake.
50340         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
50341         Prefer 'int main ()' to 'int main (void)', for C++.
50342         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
50343         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
50344         for 'main', for C99 and C++.
50345
50346 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50347
50348         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
50349         Don't assume that exit status -1 is valid.
50350         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50351         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
50352         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
50353         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
50354         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
50355         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
50356         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
50357         functions can be used without declaring them, or that you can
50358         exit with status -1.
50359         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
50360
50361 2006-04-24  Karl Berry  <karl@gnu.org>
50362
50363         * config/srclist.txt (longdouble.m4): sync lost.
50364
50365 2006-04-24  Eric Blake  <ebb9@byu.net>
50366
50367         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
50368
50369 2006-04-24  Bruno Haible  <bruno@clisp.org>
50370
50371         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
50372         poll() implementation in AIX.
50373         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50374
50375 2006-04-24  Bruno Haible  <bruno@clisp.org>
50376
50377         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
50378         assigned exactly once.
50379
50380 2006-04-23  Claudio Fontana  <claudio@gnu.org>
50381             Bruno Haible  <bruno@clisp.org>
50382
50383         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
50384         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
50385         for AM_CPPFLAGS.
50386
50387 2006-04-23  Bruno Haible  <bruno@clisp.org>
50388
50389         * modules/copy-file: Depend on unistd.
50390         * modules/execute: Likewise.
50391         * modules/fatal-signal: Likewise.
50392         * modules/findprog: Likewise.
50393         * modules/mkdtemp : Likewise.
50394         * modules/pipe: Likewise.
50395         * modules/wait-process: Likewise.
50396
50397 2006-04-23  Bruno Haible  <bruno@clisp.org>
50398
50399         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
50400         condition was already detected.
50401         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50402
50403 2006-04-23  Bruno Haible  <bruno@clisp.org>
50404
50405         * lib/copy-file.c: Include <unistd.h> unconditionally.
50406         * lib/execute.c: Likewise.
50407         * lib/fatal-signal.c: Likewise.
50408         * lib/findprog.c: Likewise.
50409         * lib/mkdtemp.c: Likewise.
50410         * lib/pipe.h: Likewise.
50411         * lib/pipe.c: Likewise.
50412         * lib/wait-process.h: Likewise.
50413
50414 2006-04-23  Bruno Haible  <bruno@clisp.org>
50415
50416         * gnulib-tool (func_usage): Fix --import description. Document
50417         --update.
50418         (func_import): Create temporary file in a temporary directory, if
50419         --dry-run is specified. Silence errors from 'grep' when there are no
50420         m4 files in $m4dir.
50421         (func_create_testdir): Silence errors from 'grep' when there are no
50422         m4 files in $m4dir.
50423         Reported by Karl Berry <karl@freefriends.org>.
50424
50425 2006-04-20  Bruno Haible  <bruno@clisp.org>
50426
50427         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
50428         one argument, so that the code will be portable to Autoconf 2.60.
50429         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
50430         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
50431         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
50432
50433 2006-04-19  Derek Price  <derek@ximbiot.com>
50434             Eric Blake  <ebb9@byu.net>
50435
50436         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
50437         rather than "/full/path.h".  Update comment to match.  Shorten &
50438         generalize m4_translit call via AS_TR_CPP.
50439
50440 2006-04-19  Derek Price  <derek@ximbiot.com>
50441             Eric Blake  <ebb9@byu.net>
50442
50443         * lib/inttypes.h: Correct grammar in comment.
50444
50445 2006-04-18  Derek Price  <derek@ximbiot.com>
50446             Paul Eggert  <eggert@cs.ucla.edu>
50447
50448         * modules/inttypes: New file.
50449         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
50450
50451 2006-04-18  Derek Price  <derek@ximbiot.com>
50452             Paul Eggert  <eggert@cs.ucla.edu>
50453
50454         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
50455         New files.
50456
50457 2006-04-18  Derek Price  <derek@ximbiot.com>
50458             Paul Eggert  <eggert@cs.ucla.edu>
50459
50460         * lib/inttypes.h: New file.
50461         * lib/strtoimax.c: Assume <inttypes.h>.
50462
50463 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
50464
50465         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
50466         isn't mounted.  Problem reported by Kir Kolyshkin.
50467
50468 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50469
50470         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
50471         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
50472         Derek R. Price.
50473         * lib/regex.h (RE_DUP_MAX): Update comment to match current
50474         implementation.
50475
50476 2006-04-12  Eric Blake  <ebb9@byu.net>
50477
50478         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
50479         is now done automatically by the corresponding Autoconf macro.
50480
50481 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
50482
50483         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
50484         time_r.h.
50485
50486 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50487
50488         Merge regex changes from libc, removing some of our
50489         POSIX-conformance changes that were rejected and redoing them in a
50490         less-intrusive way.
50491
50492         * lib/regcomp.c (re_compile_internal, init_dfa):
50493         Length arg is now size_t, not Idx.  All uses changed.
50494         (peek_token): Forward decl now says internal_function.
50495         (__re_error_msgid, __re_error_msgid_idx):
50496         Now static rather than extern with attribute_hidden.
50497         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
50498         For some reason libc prefers K&R style defns for external functions.
50499         (regerror) [!defined _LIBC]: Likewise.
50500         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
50501         (seek_collating_symbol_entry, lookup_collation_sequence_value):
50502         (build_range_exp, build_collating_symbol):
50503         Use K&R-style defn.
50504         (re_compile_fastmap): Use '\0' to memset, not 0.
50505         (utf8_sb_map): Make the calculations more obvious.
50506         (init_dfa, parse_bracket_exp, build_charclass_op):
50507         Call calloc and cast result, as glibc does.
50508         (init_word_char, fetch_token, peek_token, peek_token_bracket):
50509         (build_range_exp, build_collating_symbol):
50510         Now internal functions.
50511
50512         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
50513
50514         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
50515         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
50516         Don't depend on VMS; depend on __VMS instead, for POSIX
50517         namespace cleanness.
50518         (regoff_t): Define to ssize_t, not long int.
50519
50520         Remove the REG_ macros named below.  Instead, make the old names
50521         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
50522         __USE_GNU_REGEX.
50523         (REG_BACKSLASH_ESCAPE_IN_LISTS):
50524         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
50525         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
50526         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
50527         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
50528         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
50529         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
50530         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
50531         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
50532         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
50533         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
50534         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
50535         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
50536         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
50537         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
50538         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
50539         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
50540         (REG_NREGS):
50541         Remove.  All uses replaced by the old RE_* names.
50542         (RE_BACKSLASH_ESCAPE_IN_LISTS):
50543         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
50544         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
50545         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
50546         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
50547         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
50548         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
50549         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
50550         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
50551         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
50552         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
50553         Don't bother having these macros be independent of each others'
50554         values, since they no longer exist in the POSIX name space.
50555
50556         Rename the following member names back to their old names,
50557         unless !__USE_GNU_REGEX.  All uses changed back.
50558         (buffer): Renamed from re_buffer.
50559         (allocated): Renamed from re_allocated.
50560         (used): Renamed from re_used.
50561         (syntax): Renamed from re_syntax.
50562         (fastmap): Renamed from re_fastmap.
50563         (translate): Renamed from re_translate.
50564         (can_be_null): Renamed from re_can_be_null.
50565         (regs_allocated): Renamed from re_regs_allocated.
50566         (fastmap_accurate): Renamed from re_fastmap_accurate.
50567         (no_sub): Renamed from re_no_sub.
50568         (not_bol): Renamed from re_not_bol.
50569         (not_eol): Renamed from re_not_eol.
50570         (newline_anchor): Renamed from re_newline_anchor.
50571         (num_regs): Renamed from rm_num_regs.
50572         (start): Renamed from rm_start.
50573         (end): Renamed from rm_end.
50574
50575         (free_state): Move up a bit.
50576
50577         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
50578         #define to be empty.
50579         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
50580         when that is what is intended.
50581         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
50582         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
50583         (MAX): New macro.
50584         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
50585         All uses changed back to re_malloc, etc.  It's now the caller's
50586         responsibility to check for overflow; all callers changed.
50587         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
50588         (re_x2nrealloc): Remove.
50589         (free_state): Remove decl.
50590
50591         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
50592         (re_set_registers, re_exec):
50593         Use K&R-style defn.
50594
50595         2006-01-31  Roland McGrath  <roland@redhat.com>
50596
50597         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
50598         Reported by Mike Frysinger <vapier@gentoo.org>.
50599
50600         2006-01-15  Andreas Jaeger  <aj@suse.de>
50601
50602         [BZ #1950]
50603         * lib/regex_internal.c (re_string_reconstruct): Adjust for
50604         build_wcs_upper_buffer change.
50605         (build_wcs_upper_buffer): Change return type.
50606
50607         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
50608
50609         * lib/regex_internal.h: Include <stdint.h> if available.
50610
50611         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
50612
50613         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
50614
50615         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
50616
50617         * lib/regcomp.c: Adjust for changed secondary hash function.
50618
50619         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
50620
50621         * lib/regex.h: Pretty printing.
50622         Clean up namespace a bit.
50623
50624         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
50625
50626         * lib/regexec.c (update_cur_sifted_state, check_arrival,
50627         check_arrival_add_next_nodes): Avoid using uninitialized variable.
50628
50629         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50630                     Ulrich Drepper  <drepper@redhat.com>
50631
50632         [BZ #1302]
50633         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
50634         changed.
50635         (bitset_word_t): Renamed from bitset_word.  All uses changed.
50636
50637         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
50638
50639         [BZ #281]
50640         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
50641         * lib/regcomp.c: Remove unnecessary uses of
50642         unsigned RE_TRANSLATE_TYPE.
50643         * lib/regex_internal.h: Likewise.
50644         * lib/regex_internal.c: Likewise.
50645         * lib/regexec.c: Likewise.
50646         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
50647
50648         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
50649
50650         * lib/regexec.c (find_recover_state): Remove unnecessary
50651         initialization.
50652         (transit_state_bkref): Make DFA a const pointer.
50653         (get_subexp): Likewise.
50654         (check_arrival): Likewise.
50655         (update_cur_sifted_state): Likewise.
50656         (re_search_internal): Likewise.
50657         (prune_impossible_nodes): Likewise.
50658         (acquire_init_state_context): Likewise.
50659         (proceed_next_node): Likewise.
50660         (set_regs): Likewise.
50661         (free_fail_stack_return): Likewise.
50662         (check_arrival_expand_ecl): Mark DFA parameter as const.
50663         (check_arrival_expand_ecl_sub): Likewise.
50664         (check_subexp_limits): Likewise.
50665         (sub_epsilon_src_nodes):  Likewise.
50666         (add_epsilon_src_nodes):  Likewise.
50667         (merge_state_array): Likewise.
50668         (update_regs): Likewise.
50669         (build_trtable): Likewise.
50670         (sift_states_backward): Mark MCTX parameter as const.
50671         (build_sifted_states): Likewise.
50672         (update_cur_sifted_state): Likewise.
50673         (sift_states_mkref): Likewise.
50674         (check_arrival_expand_ecl): Mark eclosure as const.
50675         (check_dst_limits_calc_pos_1): Likewise.
50676         * lib/regex_internal.h (re_match_context_t): Make dfa a const
50677         pointer.
50678
50679         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
50680
50681         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
50682         (transit_state_sb): Likewise.
50683         (transit_state_mb): Likewise.
50684         (sift_states_iter_mb): Likewise.
50685         (check_arrival_add_next_nodes): Likewise.
50686         (check_node_accept_bytes): Change first parameter to pointer-to-const.
50687         [_LIBC] (re_search_2_stub): Use mempcpy.
50688
50689         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
50690         mbrtowc for very simple UTF-8 case.
50691
50692         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
50693         a pointer-to-const.
50694         (re_acquire_state_context): Likewise.
50695         * lib/regex_internal.h: Adjust prototypes.
50696
50697         * lib/regex.c: Prevent using C++ compilers.
50698
50699         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
50700         (re_acquire_state_context): Likewise.
50701
50702 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50703
50704         * modules/regex (Depends-on): Add ssize_t.
50705
50706 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50707
50708         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
50709         translation table.
50710
50711 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50712
50713         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
50714
50715 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
50716             Bruno Haible  <bruno@clisp.org>
50717
50718         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
50719         <sys/types.h> and <inttypes.h>.
50720
50721 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50722
50723         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
50724         `__error_t_defined', so argp.h will not typedef the former.
50725
50726 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
50727
50728         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
50729         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
50730         glibc names.  Even if glibc is changed to conform to POSIX, the
50731         traditional names will be available anyway, since regex depends on
50732         the extensions module.  Also, fix a longstanding typo in the
50733         implementation of Spencer ERE test #75 from grep 2.3.  Problems
50734         reported by Emanuele Giaquinta.  Also, change sense of cached
50735         variable, so that the message makes sense.
50736
50737 2006-03-24  Simon Josefsson  <jas@extundo.com>
50738
50739         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
50740         including some doc fixes.
50741         (base64_encode_alloc): Fix +1 bug on allocation failures.
50742
50743 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50744
50745         * lib/base64.c (base64_encode): Do not read past end of array with
50746         unsanitized input on systems with CHAR_BIT > 8.
50747
50748 2006-03-24  Eric Blake  <ebb9@byu.net>
50749
50750         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
50751
50752 2006-03-22  Karl Berry  <karl@gnu.org>
50753
50754         * config/srclist.txt (*setenv.[ch]): get from coreutils.
50755         * config/srclistvars.sh (COREUTILS): new var.
50756
50757 2006-03-17  Jim Meyering  <jim@meyering.net>
50758
50759         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
50760         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
50761
50762 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
50763
50764         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
50765         no longer needs it.  Instead, check that regoff_t is as least
50766         as wide as ptrdiff_t.
50767
50768         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
50769         so that our regex.h stays compatible with the installed regex.
50770         This is helpful for installers who configure --without-included-regex.
50771         Problem reported by Emanuele Giaquinta.
50772
50773 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
50774
50775         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
50776         Typedef to long int, not to off_, as POSIX will likely change
50777         in that direction.
50778
50779 2006-03-15  Eric Blake  <ebb9@byu.net>
50780
50781         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
50782
50783 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
50784
50785         * lib/argp-help.c (validate_uparams): Fix typo
50786         * lib/argp-parse.c (argp_default_options): Consistently begin help
50787         messages with a lowercase letter.
50788
50789 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
50790
50791         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
50792         overrun buffers and shouldn't be used (much as gets shouldn't be
50793         used).
50794         * lib/time_r.c (asctime_r, ctime_r): Likewise.
50795
50796 2006-03-08  Simon Josefsson  <jas@extundo.com>
50797
50798         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
50799         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50800
50801 2006-03-08  Simon Josefsson  <jas@extundo.com>
50802
50803         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
50804         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50805
50806 2006-03-08  Simon Josefsson  <jas@extundo.com>
50807
50808         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
50809         signal that configure disabled the device.
50810
50811 2006-03-08  Simon Josefsson  <jas@extundo.com>
50812
50813         * build-aux/maint.mk: Fix refresh-po, to handle no translated
50814         languages.
50815
50816 2006-03-07  Simon Josefsson  <jas@extundo.com>
50817
50818         * modules/getopt (Depends-on): Add unistd.
50819
50820         * modules/unistd: New file.
50821
50822 2006-03-07  Simon Josefsson  <jas@extundo.com>
50823
50824         * modules/gc-random: New file.
50825
50826 2006-03-07  Simon Josefsson  <jas@extundo.com>
50827
50828         * m4/unistd_h.m4: New file.
50829
50830 2006-03-07  Simon Josefsson  <jas@extundo.com>
50831
50832         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
50833         test to be side-effect free by storing the result in the cache
50834         variable gl_cv_lib_readline, and moving the assignment of
50835         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
50836         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50837
50838 2006-03-07  Simon Josefsson  <jas@extundo.com>
50839
50840         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
50841         error on missing devices (the functions will return an error).
50842
50843         * m4/gc.m4: Move random stuff to gc-random.m4
50844
50845 2006-03-07  Simon Josefsson  <jas@extundo.com>
50846
50847         * lib/unistd_.h: New file.
50848
50849 2006-03-07  Simon Josefsson  <jas@extundo.com>
50850
50851         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
50852
50853 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
50854
50855         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
50856         Problem reported by Juan Manuel Guerrero.
50857
50858 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
50859
50860         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
50861         the unistd module.
50862         * lib/getlogin_r.c: Likewise.
50863         * lib/getlogin_r.h: Likewise.
50864         * lib/glob.c: Likewise.
50865         * lib/pagealign_alloc.c: Likewise.
50866         * lib/unistd_.h: Remove; no longer needed.
50867
50868 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
50869
50870         * MODULES.html.sh (Support for systems lacking POSIX:2001):
50871         Add unistd.
50872         * modules/c-stack (Depends-on): Add unistd.
50873         * modules/getlogin_r: Likewise.
50874         * modules/glob: Likewise.
50875         * modules/pagealign_alloc: Likewise.
50876         * modules/unistd (Files): Remove lib/unistd_.h.
50877         (EXTRA_DIST): Remove.
50878         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
50879         need unistd_.h.
50880         (MOSTLYCLEANFILES): Remove unistd.h-t.
50881
50882 2006-03-03  Simon Josefsson  <jas@extundo.com>
50883
50884         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
50885
50886 2006-03-03  Simon Josefsson  <jas@extundo.com>
50887
50888         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
50889         libidn and bison.
50890
50891 2006-03-03  Simon Josefsson  <jas@extundo.com>
50892
50893         * build-aux/maint.mk: Add indent target.
50894
50895 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
50896
50897         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
50898         our replacement poll.h in any case, to avoid a differing
50899         declaration from a system header.  Seen on AIX.
50900
50901 2006-03-01  Simon Josefsson  <jas@extundo.com>
50902
50903         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
50904         <kasal@ucw.cz>.
50905
50906 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50907
50908         * modules/gettime (Depends-on): Add extensions module.
50909         * modules/nanosleep (Depends-on): Likewise.
50910         * modules/settime (Depends-on): Likewise.
50911
50912 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50913
50914         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
50915         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
50916         pedantically.
50917         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50918         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
50919
50920         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
50921         not "==".  Reported by Ralf Wildenhues.
50922
50923 2006-03-01  Karl Berry  <karl@gnu.org>
50924
50925         * doc/Copyright/request-*: new files, synced from gnuorg.
50926
50927 2006-03-01  Karl Berry  <karl@gnu.org>
50928
50929         * config/srclist.txt (Copyright/*): new entries.
50930
50931 2006-02-28  Simon Josefsson  <jas@extundo.com>
50932
50933         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
50934
50935 2006-02-27  Simon Josefsson  <jas@extundo.com>
50936
50937         * lib/base64.h: Indent #define's.  From Jim Meyering
50938         <jim@meyering.net>.
50939
50940 2006-02-27  Jim Meyering  <jim@meyering.net>
50941
50942         Revert the change of 2006-02-24, so these files can continue
50943         to be sync'd from gettext.
50944         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
50945         of `config.h'.
50946
50947 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
50948
50949         * modules/intprops: New file.
50950         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
50951         Add intprops.
50952         * modules/getloadavg (Files): Remove lib/intprops.h.
50953         (Depends-on): Add intprops.
50954         * modules/human: Likewise.
50955         * modules/inttostr: Likewise.
50956         * modules/openat: Likewise.
50957         * modules/sig2str: Likewise.
50958         * modules/userspec: Likewise.
50959         * modules/utimecmp: Likewise.
50960         * modules/xnanosleep: Likewise.
50961         * modules/xstrtol: Likewise.
50962
50963 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
50964
50965         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
50966         * modules/lock-tests (TESTS): Use $(EXEEXT).
50967         * modules/tls-tests: Likewise.
50968         * modules/argp-tests: Likewise.
50969         (check_PROGRAMS): New var, replacing...
50970         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
50971
50972 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50973
50974         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
50975         `config.h'.
50976
50977 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
50978
50979         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
50980
50981 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50982
50983         Sync from coreutils.
50984         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
50985         gl_CHDIR_SAFER.
50986
50987 2006-02-22  Jim Meyering  <jim@meyering.net>
50988
50989         Sync from coreutils.
50990         * m4/chdir-safer.m4: New file.
50991
50992 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
50993
50994         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
50995         AT_FDCWD exceeds INT_MAX.
50996         * lib/openat.h (AT_FDCWD): Likewise.
50997
50998 2006-02-17  Eric Blake  <address@hidden>
50999
51000         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
51001
51002 2006-02-16  Simon Josefsson  <jas@extundo.com>
51003
51004         * modules/getaddrinfo (Depends-on): Add sys_socket.
51005
51006 2006-02-15  Simon Josefsson  <jas@extundo.com>
51007
51008         * build-aux/maint.mk: Add dsyntax-check rule.
51009
51010 2006-02-15  Eric Blake  <ebb9@byu.net>
51011
51012         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
51013         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
51014         'present but cannot compile' warnings on cygwin.
51015         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
51016         use ws2tcpip.h if sys/socket.h works.
51017         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
51018         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
51019
51020 2006-02-14  Simon Josefsson  <jas@extundo.com>
51021
51022         * modules/maintainer-makefile (Files): Rename.
51023
51024         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
51025         and (the local) Makefile.cfg to maint-cfg.mk.
51026
51027         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
51028         to the latter.
51029
51030         * modules/maintainer-makefile: New module.
51031
51032         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
51033         severaly stripped to make it possible to build it up from scratch
51034         with reliable tests.
51035
51036         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
51037         fixes to permit overriding the default actions when configure and
51038         makefile are not available.
51039
51040 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
51041
51042         Sync from coreutils.
51043         * modules/lstat (Depends-on): Don't depend on xalloc.
51044         (License): Change from GPL to LGPL, since this is now simply a
51045         replacement for a libc function.
51046
51047 2006-02-14  Jim Meyering  <jim@meyering.net>
51048
51049         Sync from coreutils.
51050
51051         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
51052         failure on deficient systems, and simplify gnulib lgpl dependencies.
51053         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
51054         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
51055
51056         * lib/xalloc-die.c: Remove unused definition of N_.
51057
51058 2006-02-14  Jim Meyering  <jim@meyering.net>
51059
51060         Sync from coreutils.
51061         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
51062         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
51063         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
51064         double-quote uses of that variable, to accommodate the rare case in
51065         which getmntent is available in none of the libraries checked.  This
51066         happens at least on FreeBSD 5.0.
51067
51068 2006-02-13  Simon Josefsson  <jas@extundo.com>
51069
51070         * gnulib-tool (Usage): Fix --import, from
51071         karl@freefriends.org (Karl Berry).
51072
51073 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
51074
51075         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
51076
51077 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
51078
51079         * lib/argp-namefrob.h: Restore changes accidentally lost during the
51080         "autoupdate" on 2005-12-12.
51081
51082 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
51083
51084         * modules/closeout (Depends-on): Remove atexit.
51085
51086 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
51087
51088         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
51089         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
51090
51091 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
51092
51093         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
51094         __EXTENSIONS__ if this causes compilation to fail.  Problem
51095         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
51096         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
51097
51098 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
51099
51100         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
51101         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
51102         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
51103         All uses changed.
51104
51105 2006-01-26  Simon Josefsson  <jas@extundo.com>
51106
51107         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
51108         prototype is visible on mingw32.
51109
51110         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
51111         for mingw32.
51112
51113         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
51114         mingw32).
51115
51116 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
51117
51118         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
51119         attempt to open for write; this always fails, at least on POSIX
51120         hosts.  This reinstates the 2006-01-09 change, which was
51121         inadvertently removed.
51122
51123 2006-01-26  Bruno Haible  <bruno@clisp.org>
51124
51125         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
51126         Reported by Paul Eggert.
51127
51128 2006-01-26  Bruno Haible  <bruno@clisp.org>
51129             Paul Eggert  <eggert@cs.ucla.edu>
51130
51131         * lib/stdbool_.h (_Bool)
51132         [(! (defined __cplusplus || defined __BEOS__)
51133           && !defined __GNUC__
51134           && !(defined __HP_cc || defined __xlc__
51135                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
51136                || defined __sgi))]:
51137         #define to signed char in these cases too; this simplifies
51138         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
51139         etc., separately) and makes it more conservative.
51140
51141 2006-01-25  Simon Josefsson  <jas@extundo.com>
51142
51143         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
51144         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
51145         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
51146
51147 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
51148
51149         * lib/argp-namefrob.h: Bugfix. Remove stray #
51150
51151 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51152
51153         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
51154         so that we test the test.
51155         Check for yet another HP-UX cc bug involving *bool |= bool.
51156
51157 2006-01-25  Karl Berry  <karl@gnu.org>
51158
51159         * config/srclist.txt (vasnprintf.c): sync lost.
51160
51161 2006-01-25  Jim Meyering  <jim@meyering.net>
51162
51163         Sync from the stable (b5) branch of coreutils:
51164
51165         * lib/fts.c (fts_children): Don't let close() clobber errno from
51166         failed fchdir().
51167
51168         * lib/fts.c (fts_stat): When following a symlink-to-directory,
51169         don't necessarily interpret stat-fails+lstat-succeeds as indicating
51170         a dangling symlink.  That can also happen at least for ELOOP.
51171         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
51172         FYI, this bug predates the inclusion of fts.c in coreutils.
51173
51174         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
51175         in their own block, so pre-c99 compilers don't object.
51176
51177         Avoid the double-free (first in fts_read, second in fts_close) that
51178         would occur when an `active' directory is made inaccessible (e.g.,
51179         via chmod a-x) during a traversal.
51180         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
51181         before returning.  Reproduce this failure by
51182         mkdir -p a/b; cd a; chmod a-x . b
51183         Reported by Stavros Passas.
51184
51185 2006-01-25  Jim Meyering  <jim@meyering.net>
51186
51187         * lib/fileblocks.c: Remove more useless parentheses.
51188         * lib/readutmp.h: Likewise.
51189
51190 2006-01-25  Bruno Haible  <bruno@clisp.org>
51191
51192         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
51193         warnings.
51194         Reported by Paul Eggert.
51195
51196 2006-01-25  Bruno Haible  <bruno@clisp.org>
51197
51198         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
51199         rid of a trap command. For Solaris sh.
51200         Reported by Mark D. Baushke <mdb@gnu.org>.
51201
51202 2006-01-24  Simon Josefsson  <jas@extundo.com>
51203
51204         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
51205         Bruno.
51206
51207 2006-01-24  Karl Berry  <karl@gnu.org>
51208
51209         * config/srclist.txt (argp-namefrob.h): sync lost.
51210
51211 2006-01-24  Jim Meyering  <jim@meyering.net>
51212
51213         * modules/openat (Files): Add lib/intprops.h.
51214         From Mark D. Baushke.
51215
51216 2006-01-24  Jim Meyering  <jim@meyering.net>
51217
51218         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
51219         Reported by Mark D. Baushke.
51220
51221 2006-01-24  Jim Meyering  <jim@meyering.net>
51222
51223         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
51224
51225 2006-01-24  Bruno Haible  <bruno@clisp.org>
51226
51227         * modules/strnlen (Maintainer): Change from glibc to all.
51228
51229 2006-01-24  Bruno Haible  <bruno@clisp.org>
51230
51231         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
51232         Patch by Paul Eggert.
51233
51234 2006-01-24  Bruno Haible  <bruno@clisp.org>
51235
51236         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
51237         already has it.
51238         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
51239         2005-11-26.
51240
51241         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
51242         'signed char' to avoid problems with the built-in _Bool type.
51243         Reported by Paul Eggert on 2005-11-26.
51244
51245 2006-01-24  Bruno Haible  <bruno@clisp.org>
51246
51247         * gnulib-tool (func_import): Avoid constructing complicated sed
51248         expressions inside backquote.
51249         Report and solution by Mark D. Baushke <mdb@gnu.org>.
51250
51251 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
51252
51253         These changes imported from libc.
51254         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
51255         test and two separate function calls.
51256         * lib/strndup.c (__strndup): Add libc_hidden_def.
51257
51258 2006-01-23  Simon Josefsson  <jas@extundo.com>
51259
51260         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
51261         Remove the test_*_SOURCES variable: automake infers it by default.
51262         * modules/tls-tests: Likewise.
51263
51264 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51265
51266         Work around porting bugs reported by Dieter in
51267         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
51268         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
51269         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
51270         Include "getopt.h" first, to check interface.
51271         (getenv): Declare only if defined HAVE_DECL_GETENV &&
51272         !HAVE_DECL_GETENV.
51273         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
51274         (__strndup): Revert to K&R-style function dfns, the glibc style.
51275         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
51276         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
51277         Include strnlen.h first, to get prototype properly.
51278         (strnlen): Renamed from __strnlen.
51279         Remove weak alias.
51280
51281 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51282
51283         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
51284
51285 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51286
51287         * config/srclist.txt: Adjust to reflect glibc reorganization.
51288         This affects only comments.
51289
51290 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51291
51292          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
51293          Reported by Bruce Korb <bkorb@gnu.org>.
51294
51295 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
51296
51297         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
51298         to pacify gcc -Wswitch-default.
51299
51300 2006-01-22  Bruno Haible  <bruno@clisp.org>
51301
51302         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
51303         temporary buffer for sprintf, take into account the precision also
51304         for 'd', 'i', 'u', 'o', 'x', 'X'.
51305
51306 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
51307
51308         * modules/argp-tests: New module
51309         * tests/test-argp.c: New file
51310         * tests/test-argp-2.sh: New file
51311
51312 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
51313
51314         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
51315         (__argp_base_name): Removed
51316         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
51317         typo.
51318         (__argp_base_name): Provide macro definition or extern declaration
51319         depending on the configuration
51320
51321 2006-01-20  Simon Josefsson  <jas@extundo.com>
51322
51323         * modules/inet_ntop (Depends-on): Depend on sys_socket.
51324
51325 2006-01-20  Simon Josefsson  <jas@extundo.com>
51326
51327         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
51328
51329 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51330
51331         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
51332         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
51333         Suggested by Bruno Haible.
51334
51335 2006-01-20  Karl Berry  <karl@gnu.org>
51336
51337         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
51338         until changes propagate, I guess.
51339
51340 2006-01-19  Simon Josefsson  <jas@extundo.com>
51341
51342         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
51343
51344 2006-01-19  Simon Josefsson  <jas@extundo.com>
51345
51346         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
51347
51348 2006-01-19  Simon Josefsson  <jas@extundo.com>
51349
51350         * gnulib-tool: Set check_PROGRAMS.
51351
51352         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
51353         modules/des-tests, modules/gc-arcfour-tests,
51354         modules/gc-arctwo-tests, modules/gc-des-tests,
51355         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
51356         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
51357         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
51358         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
51359         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
51360         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
51361         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
51362         test_*_SOURCES.
51363
51364 2006-01-18  Simon Josefsson  <jas@extundo.com>
51365
51366         * modules/socklen (Depends-on): Depend on sys_socket.
51367
51368 2006-01-18  Simon Josefsson  <jas@extundo.com>
51369
51370         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
51371         modules/des-tests, modules/gc-arcfour-tests,
51372         modules/gc-arctwo-tests, modules/gc-des-tests,
51373         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
51374         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
51375         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
51376         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
51377         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
51378         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
51379         $(EXEEXT) to automake TESTS variable, for mingw32.
51380
51381 2006-01-17  Simon Josefsson  <jas@extundo.com>
51382
51383         * modules/socklen (Include): Need sys/socket.h.
51384
51385 2006-01-17  Bruno Haible  <bruno@clisp.org>
51386
51387         * modules/ssize_t (Include): Add <sys/types.h>.
51388
51389 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
51390
51391         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
51392         it's not portable and it doesn't work with cross-compiles.
51393         Problem reported by Bruno Haible.  Fix missing-$ typo in
51394         'test "gl_cv_ignore_unused_libraries" ...' that prevented
51395         -zignore from being used with Sun's C compiler.
51396
51397 2006-01-12  Simon Josefsson  <jas@extundo.com>
51398
51399         * lib/base64.c: Fix warning, reported by Bruno Haible
51400         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
51401
51402 2006-01-12  Bruno Haible  <bruno@clisp.org>
51403
51404         * modules/ldd: New file.
51405         * build-aux/ldd.sh.in: New file.
51406         * MODULES.html.sh (Support for building libraries and executables): Add
51407         ldd.
51408
51409 2006-01-12  Bruno Haible  <bruno@clisp.org>
51410
51411         * m4/ldd.m4: New file.
51412
51413 2006-01-12  Bruno Haible  <bruno@clisp.org>
51414
51415         * gnulib-tool (func_import, func_create_testdir): Don't go into an
51416         endless loop while replacing $auxdir with build-aux.
51417
51418 2006-01-11  Simon Josefsson  <jas@extundo.com>
51419
51420         * lib/stdint_.h (SIZE_MAX): Add missing (.
51421
51422 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
51423
51424         Sync from coreutils.
51425         * lib/md5.c: Fix commentary typos.
51426         (alignof, UNALIGNED_P): No need for a GCC-specific version.
51427         * lib/md5.h (__attribute__): Remove; unused.
51428         * lib/sha1.c: Fix commentary to match md5 better.
51429         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
51430         so that we don't need to worry about alignment.  All uses changed.
51431         This merges the 2005-10-28 md5 change into sha1.
51432
51433 2006-01-11  Jim Meyering  <jim@meyering.net>
51434
51435         Sync from coreutils.
51436         * lib/md5.c (OP): Fix spacing.
51437
51438 2006-01-11  Bruno Haible  <bruno@clisp.org>
51439
51440         Ensure automatic ordering between gl_LOCK and gl_ARGP.
51441         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
51442         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
51443
51444 2006-01-11  Bruno Haible  <bruno@clisp.org>
51445
51446         Ensure automatic ordering between gl_LOCK and gl_ARGP.
51447         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
51448         the "early" section as well.
51449
51450 2006-01-11  Bruno Haible  <bruno@clisp.org>
51451
51452         Avoid "ar: no archive members specified" error on MacOS X.
51453         * gnulib-tool (func_modules_add_dummy): New function.
51454         (func_import, func_create_testdir): Invoke it.
51455
51456 2006-01-11  Bruno Haible  <bruno@clisp.org>
51457
51458         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
51459         with $auxdir in AC_CONFIG_FILES statements.
51460
51461 2006-01-11  Bruno Haible  <bruno@clisp.org>
51462
51463         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51464         Initialize also noinst_HEADERS to empty.
51465
51466 2006-01-11  Bruno Haible  <bruno@clisp.org>
51467
51468         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
51469         variables.
51470         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
51471         autoreconf.
51472
51473 2006-01-11  Bruno Haible  <bruno@clisp.org>
51474
51475         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
51476         overridable by the user.
51477         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51478
51479 2006-01-10  Simon Josefsson  <jas@extundo.com>
51480
51481         * modules/sys_socket: New file.
51482
51483 2006-01-10  Simon Josefsson  <jas@extundo.com>
51484
51485         * m4/sys_socket_h.m4: New file.
51486
51487 2006-01-10  Simon Josefsson  <jas@extundo.com>
51488
51489         * lib/socket_.h: New file.
51490
51491 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51492
51493         * modules/readutmp (Maintainer): Add myself.
51494
51495 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51496
51497         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
51498         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
51499         People who are still concerned with buggy memcmp implementations
51500         can invoke gl_FUNC_MEMCMP themselves.
51501
51502 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51503
51504         * lib/regex_internal.h (BITSET_WORD_BITS):
51505         Work around a bug in 64-bit PGC (before version 6.1-2), where the
51506         preprocessor mishandles large unsigned values as if they were signed.
51507         Problem reported by Claudio Fontana in
51508         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
51509
51510 2006-01-10  Jim Meyering  <jim@meyering.net>
51511
51512         Avoid the double-free (first in fts_read, second in fts_close) that
51513         would occur when an `active' directory is made inaccessible (e.g.,
51514         via chmod a-x) during a traversal.
51515         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
51516         before returning.  Reproduce this failure by
51517         mkdir -p a/b; cd a; chmod a-x . b
51518         Reported by Stavros Passas.
51519
51520         Sync from coreutils.
51521         * lib/sha1.c: Tweak grammar in a comment.
51522
51523 2006-01-10  Jim Meyering  <jim@meyering.net>
51524
51525         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
51526         Patch by Joerg Sonnenberger.
51527
51528 2006-01-10  Bruno Haible  <bruno@clisp.org>
51529
51530         * modules/readutmp: Depend on module free.
51531         * modules/strtok_r: Depend on module restrict.
51532
51533 2006-01-10  Bruno Haible  <bruno@clisp.org>
51534
51535         * modules/gettext (configure.ac): Add an invocation of
51536         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
51537
51538 2006-01-10  Bruno Haible  <bruno@clisp.org>
51539
51540         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
51541         Reported by Werner Lemberg <wl@gnu.org>.
51542
51543 2006-01-10  Bruno Haible  <bruno@clisp.org>
51544
51545         * lib/localcharset.c: Update from GNU gettext.
51546
51547 2006-01-10  Bruno Haible  <bruno@clisp.org>
51548
51549         * lib/argp.h (__const): Remove macro. Use const instead.
51550         * lib/argp-fmtstream.h (__const): Likewise.
51551         * lib/glob_.h (__const): Remove macro.
51552         * lib/glob-libc.h: Use const instead of __const.
51553
51554 2006-01-10  Bruno Haible  <bruno@clisp.org>
51555
51556         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
51557         variable.
51558         Needed to avoid an automake error regarding the 'gettext' module.
51559
51560 2006-01-09  Simon Josefsson  <jas@extundo.com>
51561
51562         * modules/inet_ntop (Depends-on): Add restrict.
51563
51564 2006-01-09  Simon Josefsson  <jas@extundo.com>
51565
51566         * modules/gc-rijndael-tests (License): Put under LGPL.
51567
51568         * modules/gc-des-tests (License): Likewise.
51569
51570         * modules/gc-arcfour-tests (License): Likewise.
51571
51572         * modules/gc-arctwo-tests (License): Likewise.
51573
51574         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
51575
51576         * modules/gc-hmac-sha1-tests (Files): Likewise.
51577
51578         * modules/gc-hmac-md5-tests (License): Likewise.
51579
51580         * modules/gc-sha1-tests (License): Likewise.
51581
51582         * modules/gc-md5-tests (License): Likewise.
51583
51584         * modules/gc-md4-tests (License): Likewise.
51585
51586         * modules/gc-md2-tests (License): Likewise.
51587
51588         * modules/gc-tests (License): Likewise.
51589
51590         * modules/des-tests (License): Likewise.
51591
51592         * modules/md4-tests (License): Likewise.
51593
51594         * modules/md2-tests (License): Likewise.
51595
51596 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51597
51598         Sync from coreutils:
51599
51600         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
51601         * modules/lib-ignore: New file.
51602         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
51603         chdir-safer.m4, lchmod.m4.
51604         * modules/openat: Add mkdirat.c, openat-priv.h.
51605
51606 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51607
51608         Sync from coreutils.
51609         * m4/lib-ignore.m4: New file.
51610         * m4/lchmod.m4: New file.
51611
51612 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51613
51614         Sync from coreutils.
51615         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
51616         for write access: POSIX says that must fail.
51617         * lib/fts.c (diropen): Likewise.
51618         * lib/save-cwd.c (save_cwd): Likewise.
51619         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
51620         well, for minor improvements on hosts that lack O_DIRECTORY.
51621         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
51622         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
51623         Fall back on chown if open failed with EACCES.
51624
51625         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
51626         Report an error at compile-time if only a 1-second nominal clock
51627         resolution is found.
51628
51629         * lib/lchmod.h: New file.
51630         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
51631         (make_dir_parents): Use lchown rather than chown, and
51632         lchmod rather than chmod.
51633
51634         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
51635         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
51636         "proc" reported by n0dalus.
51637
51638         * lib/mountlist.c: Include <limits.h>.
51639         (dev_from_mount_options)
51640         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
51641         New function.  It no longer assumes "dev=" has the System V meaning
51642         on Linux (since it doesn't).  It also parses "dev=" more carefully.
51643         (read_file_system_list)
51644         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
51645         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
51646         dev= in that case.
51647
51648         * lib/posixtm.h (PDS_PRE_2000): New macro.
51649         * lib/posixtm.c (year): Arg is now syntax_bits rather than
51650         allow_century.  All usages changed.  Reject dates outside the range
51651         1969-1999 if PDS_PRE_2000 is used.
51652
51653 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51654
51655         Sync from coreutils.
51656         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
51657         (Time of day items): Mention the possibility of leap seconds.
51658         Problem reported by Dr. David Alan Gilbert.
51659
51660 2006-01-09  Jim Meyering  <jim@meyering.net>
51661
51662         Sync from coreutils.
51663
51664         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
51665
51666         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
51667
51668         * lib/modechange.c (mode_compile): Reject an invalid mode string
51669         that starts with an octal digit.  From Andreas Gruenbacher.
51670
51671         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
51672         and dup to open_safer and dup_safer, respectively.
51673         (openat_permissive): Fix typo in comment.
51674
51675         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
51676         "gettext.h"; either no longer needed or are guaranteed by openat.h.
51677         (_): Remove; no longer needed.
51678         (openat): Renamed from rpl_openat; no need for rpl_openat
51679         since openat.h renames openat for us.
51680         Replace most of the body with a call to openat_permissive,
51681         to avoid duplicate code.
51682         Port to (probably hypothetical) environments were mode_t is
51683         wider than int.
51684         (openat_permissive): Require mode arg, so that we can check
51685         types better.  Put it just after flags.  Change cwd failure
51686         indicator from pointer-to-bool to pointer-to-errno-value.
51687         All callers changed.
51688         Invoke openat_save_fail and/or openat_restore_fail if
51689         cwd_errno is null, so that openat can call us.
51690         (openat_permissive, fdopendir, fstatat, unlinkat):
51691         Simplify errno handling to avoid some duplicate code,
51692         as it's OK to set errno on success.
51693         * lib/openat.h: Revamp code so that function macros depend on
51694         __OPENAT_PREFIX only, not also on AT_FDCWD.
51695         (openat_ro): Remove.  Caller changed to use openat_permissive.
51696         (openat_permissive): Now a macro, if not a function.
51697         (openat_restore_fail, openat_save_fail): Now always functions,
51698         since mkdirat needs them even if __OPENAT_PREFIX is defined.
51699
51700         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
51701         and openat.c.
51702         * lib/mkdirat.c: Include openat-priv.h.
51703         Remove definitions of macros defined therein.
51704         * lib/openat.c: Likewise.
51705
51706         * lib/mkdirat.c (mkdirat): New file and function.
51707         * lib/openat.h (mkdirat): Declare.
51708
51709         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
51710
51711         * lib/openat.h (openat_permissive): Declare.
51712         (openat_ro): Define.
51713
51714         * lib/openat.c (EXPECTED_ERRNO): New macro.
51715         (openat_permissive): New function -- used in remove.c rewrite.
51716         (all functions): Set errno just before returning, only if there
51717         was an actual failure.
51718         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
51719
51720         Emulate openat-family functions using Linux's procfs, if possible.
51721         Idea and some code based on Ulrich Drepper's glibc changes.
51722
51723         * lib/openat.c: (BUILD_PROC_NAME): New macro.
51724         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
51725         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
51726         before falling back on save_cwd and restore_cwd.
51727         (fdopendir, fstatat, unlinkat): Likewise.
51728
51729         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
51730         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
51731
51732         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
51733         as second argument to va_arg.  Otherwise, some versions of gcc
51734         warn that `if this code is reached, the program will abort'.
51735
51736 2006-01-09  Jim Meyering  <jim@meyering.net>
51737
51738         Sync from coreutils.
51739         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
51740         Require openat-priv.h.
51741
51742 2006-01-09  Bruno Haible  <bruno@clisp.org>
51743
51744         * modules/strnlen (Include): Use strnlen.h.
51745
51746 2006-01-09  Bruno Haible  <bruno@clisp.org>
51747
51748         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
51749
51750 2006-01-09  Bruno Haible  <bruno@clisp.org>
51751
51752         * lib/sysexit_.h (EX_OK): New macro.
51753         Suggested by Martin Lambers <marlam@marlam.de>.
51754
51755 2006-01-09  Bruno Haible  <bruno@clisp.org>
51756
51757         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
51758         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
51759
51760 2006-01-09  Bruno Haible  <bruno@clisp.org>
51761
51762         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
51763         numbers.
51764
51765 2006-01-09  Bruno Haible  <bruno@clisp.org>
51766
51767         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
51768         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
51769         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
51770         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
51771
51772 2006-01-09  Bruno Haible  <bruno@clisp.org>
51773
51774         * build-aux/javacomp.sh.in: New file, moved from lib/.
51775         * modules/javacomp-script (Files): Update.
51776         (configure.ac): Add AC_CONFIG_FILES invocation.
51777         (EXTRA_DIST): Remove variable.
51778
51779         * build-aux/javaexec.sh.in: New file, moved from lib/.
51780         * modules/javaexec (Files): Update.
51781         (configure.ac): Add AC_CONFIG_FILES invocation.
51782         (EXTRA_DIST): Remove javaexec.sh.in.
51783
51784         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
51785         * modules/csharpcomp-script (Files): Update.
51786         (configure.ac): Add AC_CONFIG_FILES invocation.
51787         (EXTRA_DIST): Remove variable.
51788
51789         * build-aux/csharpexec.sh.in: New file, moved from lib/.
51790         * modules/csharpexec (Files): Update.
51791         (configure.ac): Add AC_CONFIG_FILES invocation.
51792         (EXTRA_DIST): Remove csharpexec.sh.in.
51793
51794 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
51795
51796         Sync from coreutils.
51797
51798         Add POSIX ACL support
51799         * lib/acl.h (copy_acl, set_acl): Add declarations.
51800         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
51801         systems other than Linux.
51802         (chmod_or_fchmod): New function: use fchmod when possible,
51803         and chmod otherwise.
51804         (file_has_acl): Add a POSIX ACL implementation, with a
51805         Linux-specific subcase.
51806         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
51807         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
51808         acls are unsupported.
51809         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
51810         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
51811         are unsupported.
51812
51813 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
51814
51815         Sync from coreutils.
51816         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
51817
51818 2006-01-07  Bruno Haible  <bruno@clisp.org>
51819
51820         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
51821         gl_EARLY.
51822
51823 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51824
51825         * lib/strftime.c (tzname): Don't declare if it is already #defined.
51826         Problem reported for Mingw by Mark Junker.
51827
51828 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51829
51830         * README: Gnulib normally doesn't generate a tarball.
51831
51832 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
51833
51834         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
51835         long int, not int, for nanosecond counts, so that people who are
51836         used to POSIX struct timespec won't be surprised.  Reported by Jim
51837         Meyering.
51838
51839 2005-12-28  Bruno Haible  <bruno@clisp.org>
51840
51841         * build-aux/config.rpath: Update from GNU gettext.
51842
51843 2005-12-16  Jim Meyering  <jim@meyering.net>
51844
51845         * modules/fprintftime: New module.
51846         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
51847
51848 2005-12-16  Jim Meyering  <jim@meyering.net>
51849
51850         * m4/fprintftime.m4: New file.
51851
51852 2005-12-16  Jim Meyering  <jim@meyering.net>
51853
51854         * lib/fprintftime.c, lib/fprintftime.h: New files.
51855
51856 2005-12-15  Simon Josefsson  <jas@extundo.com>
51857
51858         * modules/socklen (configure.ac): Fix M4 macro name, to align with
51859         new m4/socklen.m4.
51860
51861 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
51862
51863         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
51864         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
51865
51866 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
51867
51868         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
51869         * lib/argp-help.c (fill_in_uparams): Check if the constructed
51870         struct uparams is valid. Fall back to the default values if it is
51871         not.
51872
51873 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
51874
51875         * modules/argp (Files): Add argp-pin.c
51876         (Depends-on): dirname
51877         (lib_SOURCES): Add argp-pin.c
51878
51879 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
51880
51881         * m4/argp.m4:  Check if program_invocation_name and
51882         program_invocation_short_name are declared and define appropriate
51883         macros if they are not.
51884
51885 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
51886
51887         * lib/argp-help.c (__argp_base_name): New function
51888         (__argp_short_program_name): Rewrite using __argp_base_name
51889         * lib/argp-namefrob.h: Define program_invocation_name and
51890         program_invocation_short_name if requested
51891         (__argp_base_name): Add prototype
51892         * lib/argp-parse.c (argp_def): Use gettext wrappers
51893         (argp_default_parser): Use __argp_base_name
51894         * lib/argp-pin.c: New file. Defines program_invocation_name and
51895         program_invocation_short_name on systems that lack them.
51896
51897 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
51898
51899         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
51900         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
51901         porting problem reported by Georg Schwarz in
51902         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
51903
51904 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
51905
51906         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
51907         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
51908         porting problem reported by Georg Schwarz in
51909         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
51910
51911 2005-12-05  Bruno Haible  <bruno@clisp.org>
51912
51913         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
51914         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
51915         Reported by Mark Junker <mjscod@gmx.de>.
51916
51917 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
51918
51919         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
51920         Use implementation from Albert Chin, with some
51921         comments/corrections by Stepan Kasal and myself.
51922
51923 2005-12-02  Bruno Haible  <bruno@clisp.org>
51924
51925         * gnulib-tool (func_import): Accept GPLed build tool modules when
51926         --lgpl is given.
51927         * modules/csharpcomp-script: New file.
51928         * modules/csharpcomp: Depend on it.
51929         * modules/javacomp-script: New file.
51930         * modules/javacomp: Depend on it.
51931         Suggested by Simon Josefsson.
51932
51933 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
51934
51935         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
51936         statement, to work around an HP-UX 10.20 compiler bug reported by
51937         Peter O'Gorman.
51938
51939 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
51940
51941         * modules/savedir (Depends-on): Add openat.
51942
51943 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
51944
51945         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
51946         (uintmax_t) [defined uintmax_t]: Do not declare.
51947         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
51948         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
51949         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
51950         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
51951         sake of portability to weird hosts that C allows (though we don't
51952         know of any practical examples).
51953
51954         * lib/savedir.h (fdsavedir): New decl.
51955         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
51956         contains most of the former guts of savedir.
51957         (savedir): Use savedirstream.
51958         Include "openat.h".
51959
51960 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51961
51962         * modules/obstack (Files): Add m4/ulonglong.m4.
51963         Problem reported by Davide Angelocola.
51964
51965 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
51966
51967         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
51968         coreutils no longer futzes with rounding modes.
51969
51970 2005-11-14  Jim Meyering  <jim@meyering.net>
51971
51972         * lib/mkstemp-safer.c: Include <config.h>, required for possible
51973         replacement of mkstemp.
51974
51975 2005-11-10  Simon Josefsson  <jas@extundo.com>
51976
51977         * lib/readline.c: Remove EOL.
51978
51979 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51980
51981         * modules/gethrxtime (Depends-on): Add gettime.
51982
51983 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51984
51985         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
51986         or gettimeofday; no longer needed.
51987
51988 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51989
51990         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
51991         time business.
51992         (gethrxtime) [! (HAVE_NANOUPTIME
51993         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
51994         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
51995         our own approximation.
51996
51997 2005-11-08  Eric Blake  <ebb9@byu.net>
51998
51999         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
52000
52001 2005-11-08  Eric Blake  <ebb9@byu.net>
52002
52003         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
52004
52005 2005-11-04  Bruno Haible  <bruno@clisp.org>
52006
52007         * gnulib-tool: Implement --update mode.
52008
52009 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52010
52011         Fix porting problem reported by Theodoros V. Kalamatianos.
52012         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
52013         Don't assume that futimes failing means we must fail.
52014
52015 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52016
52017         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
52018         variables to suggest the intended function of the PATH_MAX check.
52019
52020 2005-10-30  Kean Johnston  <jkj@sco.com>
52021
52022         Trivial changes to support SCO systems.
52023         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
52024         as PATH_MAX.
52025         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
52026         where __ptr is null when no I/O is pending.
52027
52028 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52029
52030         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
52031         leave errno alone.  Problem reported by Dmitry V. Levin.
52032
52033 2005-10-28  Simon Josefsson  <jas@extundo.com>
52034
52035         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
52036         Test more.
52037
52038         * tests/test-gc-md2.c, tests/test-md2.c: New files.
52039
52040         * modules/md2, modules/md2-tests: New files.
52041
52042 2005-10-28  Simon Josefsson  <jas@extundo.com>
52043
52044         * m4/inet_ntop.m4: More tests.
52045
52046         * m4/gc-md2.m4, md2.m4: New file.
52047
52048 2005-10-28  Simon Josefsson  <jas@extundo.com>
52049
52050         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
52051         "restrict" keywords, as per POSIX.  Protect the function
52052         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
52053         Don't use K&R prototypes.  Check the sprintf return values.
52054         Re-define EAFNOSUPPORT if not present.  Indent.
52055
52056         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
52057         suggested by Bruno Haible <bruno@clisp.org>.
52058
52059         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
52060
52061         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
52062
52063         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
52064         libgcrypt).
52065
52066         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
52067
52068         * lib/md2.h, lib/md2.c: New files.
52069
52070 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
52071
52072         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
52073         errno alone.  Problem reported by Frederic Jolliton.
52074
52075 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
52076
52077         * modules/verify (License): Change from GPL to LGPL.  This is a
52078         tiny module and there are apparently near-equivalents that are
52079         under the BSD license.
52080
52081 2005-10-24  Simon Josefsson  <jas@extundo.com>
52082
52083         * modules/sha1: Relicense to LGPL.
52084
52085 2005-10-24  Simon Josefsson  <jas@extundo.com>
52086
52087         * lib/md4.h: Shrink buffer size, now that we changed the type.
52088
52089 2005-10-23  Simon Josefsson  <jas@extundo.com>
52090
52091         * gnulib-tool (func_import): Fix --tests-base.
52092
52093 2005-10-22  Simon Josefsson  <jas@extundo.com>
52094
52095         * modules/arcfour (Depends-on): Need stdint.
52096
52097 2005-10-22  Simon Josefsson  <jas@extundo.com>
52098
52099         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
52100         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
52101
52102 2005-10-22  Simon Josefsson  <jas@extundo.com>
52103
52104         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
52105         suggested by Bruno Haible <bruno@clisp.org>.
52106
52107 2005-10-22  Simon Josefsson  <jas@extundo.com>
52108
52109         * lib/crc.h: Include stddef.h, for size_t.
52110
52111 2005-10-22  Simon Josefsson  <jas@extundo.com>
52112
52113         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
52114         arcfour_context struct (simplify test vector testing in GNU
52115         Shishi).
52116
52117 2005-10-21  Simon Josefsson  <jas@extundo.com>
52118
52119         * modules/des, modules/des-tests: New files.
52120
52121         * modules/gc-des, modules/gc-des-tests: New files.
52122
52123         * tests/test-des.c, tests/test-gc-des.c: New file.
52124
52125 2005-10-21  Simon Josefsson  <jas@extundo.com>
52126
52127         * modules/arctwo, modules/arctwo-tests: New files.
52128
52129         * tests/test-arctwo.c: New file.
52130
52131         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
52132
52133         * tests/test-gc-arctwo.c: New file.
52134
52135 2005-10-21  Simon Josefsson  <jas@extundo.com>
52136
52137         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
52138         Bruno Haible <bruno@clisp.org>.
52139
52140         * m4/gc-des.m4: New file.
52141
52142 2005-10-21  Simon Josefsson  <jas@extundo.com>
52143
52144         * m4/arctwo.m4: New file.
52145
52146         * m4/gc-arctwo.m4: New file.
52147
52148 2005-10-21  Simon Josefsson  <jas@extundo.com>
52149
52150         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
52151         block.
52152
52153 2005-10-21  Simon Josefsson  <jas@extundo.com>
52154
52155         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
52156         <bruno@clisp.org>.
52157
52158         * lib/hmac-sha1.c (hmac_sha1): Likewise.
52159
52160         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
52161         Bruno Haible <bruno@clisp.org>.
52162
52163         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
52164         <bruno@clisp.org>.
52165
52166 2005-10-21  Simon Josefsson  <jas@extundo.com>
52167
52168         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
52169
52170 2005-10-21  Simon Josefsson  <jas@extundo.com>
52171
52172         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
52173
52174 2005-10-21  Simon Josefsson  <jas@extundo.com>
52175
52176         * lib/des.h, lib/des.c: New files.
52177
52178         * lib/gc-gnulib.c: Support DES.c
52179
52180 2005-10-21  Simon Josefsson  <jas@extundo.com>
52181
52182         * lib/arctwo.h, lib/arctwo.c: New files.
52183
52184         * lib/gc-gnulib.c: Support ARCTWO.
52185
52186 2005-10-21  Simon Josefsson  <jas@extundo.com>
52187
52188         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
52189         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52190
52191 2005-10-21  Simon Josefsson  <jas@extundo.com>
52192
52193         * gnulib-tool (func_import, func_create_testdir): Define automake
52194         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
52195         Makefile.am snippet),
52196         suggested by Bruno Haible <bruno@clisp.org>.
52197
52198         * modules/gc (Makefile.am): Use it.
52199
52200 2005-10-21  Bruno Haible  <bruno@clisp.org>
52201
52202         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
52203         patch.
52204
52205 2005-10-19  Simon Josefsson  <jas@extundo.com>
52206
52207         * tests/test-gc-rijndael.c: New file.
52208
52209         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
52210
52211 2005-10-19  Simon Josefsson  <jas@extundo.com>
52212
52213         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
52214         interface too.
52215
52216 2005-10-19  Simon Josefsson  <jas@extundo.com>
52217
52218         * tests/test-gc-arcfour.c: New file.
52219
52220         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
52221
52222 2005-10-19  Simon Josefsson  <jas@extundo.com>
52223
52224         * modules/gc-md4, modules/gc-md4-tests: New file.
52225
52226         * tests/test-gc-md4.c: New file.
52227
52228 2005-10-19  Simon Josefsson  <jas@extundo.com>
52229
52230         * m4/gc-md4.m4: New file.
52231
52232 2005-10-19  Simon Josefsson  <jas@extundo.com>
52233
52234         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
52235         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
52236         <kasal@ucw.cz>.
52237
52238 2005-10-19  Simon Josefsson  <jas@extundo.com>
52239
52240         * m4/gc-arcfour.m4: New file.
52241
52242         * m4/gc-rijndael.m4: New file.
52243
52244 2005-10-19  Simon Josefsson  <jas@extundo.com>
52245
52246         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
52247
52248 2005-10-19  Simon Josefsson  <jas@extundo.com>
52249
52250         * lib/gc-gnulib.c: Support ARCFOUR.
52251
52252 2005-10-19  Simon Josefsson  <jas@extundo.com>
52253
52254         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
52255         support.
52256
52257         * lib/gc.h: Add ECB enum type.
52258
52259         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
52260
52261 2005-10-18  Simon Josefsson  <jas@extundo.com>
52262
52263         * tests/test-md5.c: New file.
52264
52265         * modules/md5-tests: New file.
52266
52267 2005-10-18  Simon Josefsson  <jas@extundo.com>
52268
52269         * tests/test-md4.c: New file.
52270
52271         * modules/md4, modules/md4-tests: New files.
52272
52273 2005-10-18  Simon Josefsson  <jas@extundo.com>
52274
52275         * m4/md4.m4: New file.
52276
52277 2005-10-18  Simon Josefsson  <jas@extundo.com>
52278
52279         * lib/md4.h, lib/md4.c: New files, based on md5.?.
52280
52281 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
52282
52283         * gnulib-tool (func_create_testdir): Omit the second check whether
52284         BUILT_SOURCES in nonempty.
52285
52286 2005-10-17  Simon Josefsson  <jas@extundo.com>
52287
52288         * tests/test-rijndael.c: New file.
52289
52290 2005-10-17  Simon Josefsson  <jas@extundo.com>
52291
52292         * modules/sha1: Depend on stdint instead of md5.
52293
52294         * modules/md5: Depend on stdint, remove uint32_t.
52295
52296 2005-10-17  Simon Josefsson  <jas@extundo.com>
52297
52298         * modules/gc-sha1-tests: New file.
52299
52300         * tests/test-gc-sha1.c: New file.
52301
52302 2005-10-17  Simon Josefsson  <jas@extundo.com>
52303
52304         * m4/md5.m4: Remove call to uint32_t.m4.
52305
52306 2005-10-17  Simon Josefsson  <jas@extundo.com>
52307
52308         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
52309
52310         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
52311         md5.h.
52312
52313         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
52314
52315         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
52316
52317 2005-10-17  Simon Josefsson  <jas@extundo.com>
52318
52319         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
52320
52321 2005-10-17  Simon Josefsson  <jas@extundo.com>
52322
52323         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
52324
52325 2005-10-17  Simon Josefsson  <jas@extundo.com>
52326
52327         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
52328
52329         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
52330
52331 2005-10-17  Bruno Haible  <bruno@clisp.org>
52332
52333         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
52334         that it can also be used in a test.
52335
52336 2005-10-16  Bruno Haible  <bruno@clisp.org>
52337
52338         * gnulib-tool (func_emit_tests_Makefile_am): Also define
52339         TESTS_ENVIRONMENT, so that individual tests can augment it.
52340
52341         * gnulib-tool (func_create_testdir): Use an intermediate target for
52342         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
52343         macros, like $(ALLOCA_H), which cannot be passed through the command
52344         line.
52345
52346 2005-10-15  Simon Josefsson  <jas@extundo.com>
52347
52348         * modules/rijndael-tests: New file.
52349
52350         * modules/rijndael: New file.
52351
52352 2005-10-15  Simon Josefsson  <jas@extundo.com>
52353
52354         * m4/rijndael.m4: New file.
52355
52356 2005-10-15  Simon Josefsson  <jas@extundo.com>
52357
52358         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
52359
52360         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
52361
52362 2005-10-14  Simon Josefsson  <jas@extundo.com>
52363
52364         * tests/test-arcfour.c: New file.
52365
52366         * modules/arcfour, modules/arcfour-tests: New files.
52367
52368 2005-10-14  Simon Josefsson  <jas@extundo.com>
52369
52370         * m4/arcfour.m4: New file.
52371
52372 2005-10-14  Simon Josefsson  <jas@extundo.com>
52373
52374         * lib/arcfour.h, lib/arcfour.c: New files.
52375
52376 2005-10-14  Roland McGrath  <roland@redhat.com>
52377
52378         Import from libc.  [BZ #1331]
52379         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
52380         macro argument.
52381         Reported by Matej Vela <vela@debian.org>.
52382
52383 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
52384
52385         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
52386         include <wchar.h>; no longer needed.
52387
52388 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
52389
52390         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
52391
52392 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
52393         and  Ulrich Drepper  <drepper@redhat.com>
52394
52395         Import from libc.
52396         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
52397         instead of inline stream orientation test and two separate
52398         function calls.  Pay no attention to USE_IN_LIBIO.
52399
52400 2005-10-13  Simon Josefsson  <jas@extundo.com>
52401
52402         * modules/gc-hmac-md5-tests: New file.
52403
52404         * tests/test-gc-hmac-sha1.c: New file.
52405
52406         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
52407
52408         * modules/gc-hmac-md5-tests: New file.
52409
52410         * tests/test-gc-md5.c: New file.
52411
52412         * modules/gc-md5-tests: New file.
52413
52414 2005-10-13  Simon Josefsson  <jas@extundo.com>
52415
52416         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
52417         Move memory allocation outside of loop.
52418
52419 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
52420
52421         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
52422         intermediate directory is in a read-only file system.  Problem
52423         reported by Eric Blake.
52424
52425 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
52426
52427         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
52428
52429 2005-10-12  Simon Josefsson  <jas@extundo.com>
52430
52431         * tests/test-hmac-sha1.c: New file.
52432
52433         * modules/hmac-sha1-tests: New file.
52434
52435         * modules/hmac-sha1: New file.
52436
52437 2005-10-12  Simon Josefsson  <jas@extundo.com>
52438
52439         * modules/gc-sha1: New file.
52440
52441 2005-10-12  Simon Josefsson  <jas@extundo.com>
52442
52443         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
52444
52445         * tests/test-gc-pbkdf2-sha1.c: New file.
52446
52447 2005-10-12  Simon Josefsson  <jas@extundo.com>
52448
52449         * modules/gc-md5, modules/gc-hmac-md5: New files.
52450
52451         * modules/gc (Files): Remove md5, memxor and hmac files.
52452
52453 2005-10-12  Simon Josefsson  <jas@extundo.com>
52454
52455         * m4/gc-pbkdf2-sha1.m4: New file.
52456
52457         * m4/gc-hmac-sha1.m4: New file.
52458
52459         * m4/gc-sha1: New file.
52460
52461         * m4/hmac-sha1.m4: New file.
52462
52463 2005-10-12  Simon Josefsson  <jas@extundo.com>
52464
52465         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
52466
52467         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
52468
52469 2005-10-12  Simon Josefsson  <jas@extundo.com>
52470
52471         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
52472         suggested by Bruno Haible <bruno@clisp.org>.
52473
52474 2005-10-12  Simon Josefsson  <jas@extundo.com>
52475
52476         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
52477
52478 2005-10-12  Simon Josefsson  <jas@extundo.com>
52479
52480         * lib/gc-pbkdf2-sha1.c: New file.
52481
52482         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
52483
52484 2005-10-12  Simon Josefsson  <jas@extundo.com>
52485
52486         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
52487
52488         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
52489
52490 2005-10-12  Simon Josefsson  <jas@extundo.com>
52491
52492         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
52493         GC_USE_HMAC_MD5, respectively.
52494
52495         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
52496         (gc_md5): Fix typo.
52497
52498         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
52499
52500         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
52501
52502         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
52503
52504 2005-10-12  Bruno Haible  <bruno@clisp.org>
52505
52506         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
52507         Reported by Stepan Kasal <kasal@ucw.cz>.
52508
52509 2005-10-11  Simon Josefsson  <jas@extundo.com>
52510
52511         * tests/test-crc.c: New file.
52512
52513         * modules/crc, modules/crc-tests: New files.
52514
52515 2005-10-11  Simon Josefsson  <jas@extundo.com>
52516
52517         * m4/crc.m4: New file.
52518
52519 2005-10-11  Simon Josefsson  <jas@extundo.com>
52520
52521         * lib/gc.h: Add gc_hash and gc_hash_buffer.
52522
52523         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
52524
52525         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
52526
52527 2005-10-11  Simon Josefsson  <jas@extundo.com>
52528
52529         * lib/crc.h, lib/crc.c: New files.
52530
52531         * lib/gc.h (gc_hash_buffer): Add doc.
52532
52533 2005-10-11  Bruno Haible  <bruno@clisp.org>
52534
52535         * modules/c-strcasestr: New file.
52536         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
52537
52538 2005-10-11  Bruno Haible  <bruno@clisp.org>
52539
52540         * modules/c-strcase: New file.
52541         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
52542
52543 2005-10-11  Bruno Haible  <bruno@clisp.org>
52544
52545         * lib/strcasecmp.c: Include limits.h.
52546         (strcasecmp): Avoid integer overflow on exotic platforms.
52547         * lib/strncasecmp.c: Include limits.h.
52548         (strncasecmp): Avoid integer overflow on exotic platforms.
52549         Reported by Paul Eggert.
52550
52551 2005-10-11  Bruno Haible  <bruno@clisp.org>
52552
52553         * lib/c-strcasestr.h: New file, from GNU gettext.
52554         * lib/c-strcasestr.c: New file, from GNU gettext.
52555
52556 2005-10-11  Bruno Haible  <bruno@clisp.org>
52557
52558         * lib/c-strcase.h: New file, from GNU gettext.
52559         * lib/c-strcasecmp.c: New file, from GNU gettext.
52560         * lib/c-strncasecmp.c: New file, from GNU gettext.
52561
52562 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
52563
52564         * modules/mempcpy (License): GPL -> LGPL.
52565         * modules/strchrnul (License): Likewise.
52566         * modules/sysexits (License): Likewise.
52567
52568 2005-10-08  Simon Josefsson  <jas@extundo.com>
52569
52570         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
52571
52572 2005-10-07  Simon Josefsson  <jas@extundo.com>
52573
52574         * m4/memxor.m4: Remove gl_C_RESTRICT call.
52575
52576 2005-10-06  Simon Josefsson  <jas@extundo.com>
52577
52578         * tests/test-hmac-md5.c: New file.
52579
52580         * modules/hmac-md5-tests: New file.
52581
52582         * modules/hmac-md5: New file.
52583
52584 2005-10-06  Simon Josefsson  <jas@extundo.com>
52585
52586         * m4/hmac-md5.m4: New file.
52587
52588         * m4/memxor.m4: Require gl_C_RESTRICT.
52589
52590 2005-10-06  Simon Josefsson  <jas@extundo.com>
52591
52592         * lib/memxor.c (memxor): Avoid casts and warnings.
52593
52594 2005-10-06  Simon Josefsson  <jas@extundo.com>
52595
52596         * lib/hmac-md5.c: New file.
52597
52598         * lib/hmac.h: New file.
52599
52600 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
52601
52602         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
52603         promotes to int, not unsigned int, to catch the AIX 5.3
52604         compiler bug.
52605
52606 2005-10-05  Simon Josefsson  <jas@extundo.com>
52607
52608         * modules/memxor: New file.
52609
52610         * modules/iconv (Files): Move config.rpath to havelib, it is used
52611         there.
52612
52613         * modules/havelib (Files): Add config.rpath.
52614
52615 2005-10-05  Simon Josefsson  <jas@extundo.com>
52616
52617         * m4/memxor.m4: New file.
52618
52619 2005-10-05  Simon Josefsson  <jas@extundo.com>
52620
52621         * lib/memxor.c (memxor): Fix compiler error.
52622
52623         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
52624         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
52625
52626         * lib/memxor.h, lib/memxor.c: New files.
52627
52628         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
52629         we assume all systems have it, suggested by Jim Meyering
52630         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
52631         any systems lack sys/socket.h; mingw32 is known to lack it, but we
52632         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
52633         same reasons.
52634
52635 2005-10-05  Simon Josefsson  <jas@extundo.com>
52636
52637         * config/srclist.txt: Add glibc bug 1423 for md5.h.
52638
52639 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
52640
52641         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
52642         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
52643         needed, since the source code now assumes these .h files.
52644
52645 2005-10-05  Derek Price  <derek@ximbiot.com>
52646
52647         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
52648
52649 2005-10-05  Bruno Haible  <bruno@clisp.org>
52650
52651         * modules/stdint (License): Change to LGPL.
52652
52653 2005-10-04  Simon Josefsson  <jas@extundo.com>
52654
52655         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
52656         D. Baushke" <mdb@gnu.org>.
52657
52658 2005-10-04  Bruno Haible  <bruno@clisp.org>
52659
52660         * lib/verify.h (verify_true): Provide alternative definition for C++.
52661
52662 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
52663
52664         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
52665         (SSIZE_MAX): New macro, if not already defined.
52666         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
52667         than 2 GiB.
52668
52669 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52670
52671         Sync from coreutils.
52672         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
52673         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
52674         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
52675         ULLONG_MAX doesn't work with 2.7.2.1.
52676
52677 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52678
52679         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
52680         From Ben Pfaff.
52681
52682         * modules/exclude (Depends-on): Depend on verify.
52683         * modules/strtoimax (Depends-on): Likewise.
52684         * modules/utimecmp (Depends-on): Likewise.
52685
52686 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52687
52688         * lib/exclude.c: Include verify.h.
52689         (verify): Remove.  All callers changed to use verify.h's version.
52690         * lib/strtoimax.c: Likewise.
52691         * lib/utimecmp.c: Likewis.e
52692
52693         Sync from coreutils.
52694         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
52695         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
52696         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
52697         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
52698         bother returning ENOSYS if settimeofday or stime fails; just let
52699         them return whatever errno they want to return.
52700         * lib/utimens.c: Include unistd.h, for dup2.
52701         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
52702         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
52703
52704 2005-10-02  Jim Meyering  <jim@meyering.net>
52705
52706         Sync from coreutils.
52707         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
52708         from glibc-2.2.5 that fails for read-only files.
52709
52710 2005-10-02  Jim Meyering  <jim@meyering.net>
52711
52712         Sync from coreutils.
52713         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
52714         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
52715         `#if HAVE_CONFIG_H'.
52716         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
52717         Remove AT_FDCWD test.
52718         Do not consume the fd unless successful.
52719         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
52720         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
52721         block, so that we don't even try to compile it if settimeofday is
52722         available.  This works around a compilation failure on OSF1 V5.1,
52723         due to stime requiring a `long int*' while tv_sec is `int'.
52724
52725 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
52726
52727         Sync from coreutils.
52728         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
52729         against `yes', rather than just testing for nonempty.
52730
52731 2005-10-01  Simon Josefsson  <jas@extundo.com>
52732
52733         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
52734         and Darwin.
52735
52736         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
52737         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
52738         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
52739         freeaddrinfo and gai_strerror are declared by the POSIX headers.
52740         Check if struct addrinfo is declared.
52741
52742 2005-10-01  Simon Josefsson  <jas@extundo.com>
52743
52744         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
52745         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
52746         AI_* and EAI_* definitions.  Protect function declarations.
52747
52748 2005-10-01  Jim Meyering  <jim@meyering.net>
52749
52750         Sync from coreutils.
52751
52752         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
52753         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
52754         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
52755         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
52756         in the inet and nsl libraries.  Required on Solaris 5.7.
52757
52758 2005-10-01  Jim Meyering  <jim@meyering.net>
52759
52760         Sync from coreutils.
52761         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
52762         in the inet and nsl libraries.  Required on Solaris 5.7.
52763
52764 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
52765
52766         * lib/getdelim.c (getdelim): Remove unused variables.
52767
52768 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
52769
52770         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
52771         so that the code works even with ancient cpp.  Portability problem
52772         with GCC 2.7.2.1 reported by Thomas M.Ott.
52773
52774 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
52775
52776         * modules/regex (Depends-on): Add strcase.
52777
52778         * modules/gethostname (Licence): Change from GPL to LGPL, since
52779         gethostname.c is a trivial implementation of a standard library
52780         function.
52781         * modules/poll (License): Change from GPL to LGPL, since it's
52782         derived from LGPL code.
52783
52784 2005-09-27  Jim Meyering  <jim@meyering.net>
52785
52786         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
52787         HAVE_CONFIG_H.
52788
52789         * lib/intprops.h (signed_type_or_expr__): Define.
52790         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
52791         for unsigned types.
52792
52793 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
52794
52795         * lib/verify.h (verify_expr): Remove, replacing with:
52796         (verify_true): New macro that returns true instead of void.
52797         (verify_type__): Remove.
52798         (verify): Use verify_true rather than verify_type__.
52799
52800 2005-09-26  Bruno Haible  <bruno@clisp.org>
52801
52802         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
52803         is necessary.
52804         (lib_SOURCES): Remove mbchar.c.
52805         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
52806         (Files): Add m4/mbrtowc.m4.
52807         * modules/mbiter: Likewise.
52808         * modules/mbuiter: Likewise.
52809
52810 2005-09-26  Bruno Haible  <bruno@clisp.org>
52811
52812         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
52813         compile mbchar.c if they are not both present.
52814         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
52815         * m4/mbiter.m4 (gl_MBITER): Likewise.
52816         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
52817         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
52818         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
52819
52820 2005-09-25  Jim Meyering  <jim@meyering.net>
52821
52822         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
52823         also uses socklen_t.
52824
52825 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
52826
52827         * lib/utimens.c (ENOSYS): Define if not already defined.
52828         (futimens): Support having a null PATH if the file descriptor
52829         is nonnegative.
52830
52831         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
52832         Remove.
52833         (__attribute): Define to empty unless GCC 3.1 or later.
52834         This works around a core dump on OpenBSD 3.4, which has GCC
52835         2.95.3, which dumps core when given __attribute__(()).  It also
52836         simplifies other tests, since we really don't want to bother with
52837         worrying about which ancient version of GCC supported what.
52838         Original problem reported by Yoann Vandoorselaere, with part of
52839         the fix suggested by Derek Price.
52840
52841 2005-09-24  Jim Meyering  <jim@meyering.net>
52842
52843         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
52844         so we can once again use a positive bitfield width of 1 -- now we
52845         don't have to explain why we were using a bitfield width of 2.
52846
52847 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
52848
52849         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
52850         and similarly for the other external symbols.  Problem reported
52851         by James Gallager.
52852
52853         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
52854         bug reported by Jim Meyering.
52855
52856         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
52857         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
52858         not needed, since socklen is a prerequisite module.
52859
52860 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
52861
52862         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
52863         Problem reported by Eric Blake.
52864         (getaddrinfo): Initialize se so that it's not garbage.
52865         Redo internal storage allocation so that it doesn't make unportable
52866         assumptions about alignment.
52867         Fix a memory leak.
52868
52869         * lib/utimens.c (futimens): Use futimesat if available.
52870         Prefer it to futimes since it doesn't have the futimes bug.
52871
52872         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
52873         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
52874         Instead, declare a function that returns a pointer to an array,
52875         and use verify_type__ to declare the size of the array.
52876         Problem and germ of a solution reported by Bruno Haible.
52877         (verify_type__): Use 2, not 1, for bitfield size, to avoid
52878         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
52879
52880 2005-09-23  Jim Meyering  <jim@meyering.net>
52881
52882         Sync from coreutils.
52883         Correct build failure (socklen_t not defined) on at least
52884         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
52885         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
52886
52887 2005-09-23  Jim Meyering  <jim@meyering.net>
52888
52889         * modules/getaddrinfo (Depends-on): Add socklen.
52890
52891 2005-09-23  Bruno Haible  <bruno@clisp.org>
52892
52893         * tests/test-verify.c: New file.
52894
52895 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52896
52897         Sync from coreutils.
52898
52899         * modules/argmatch (Depends-on): Add verify.
52900         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
52901         unistd-safer.
52902         * modules/save-cwd (Depends-on): Likewise.
52903
52904         * modules/openat (Files): Add lib/openat-die.c.
52905         (Depends-on): Remove error, exitfail.
52906         Add dirname.
52907
52908         * modules/verify: New file.
52909         * MODULES.html.sh (Diagnostics <assert.h>): New section,
52910         with "verify" module.
52911
52912 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52913
52914         Sync from coreutils.
52915
52916         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
52917         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
52918         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
52919         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
52920         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
52921         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
52922         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
52923         Don't bother checking for string.h, stdlib.h, unistd.h.
52924         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
52925         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
52926         module's job.
52927         * m4/jm-macros.m4 (gl_MACROS): Likewise.
52928         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
52929
52930         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
52931         (gl_GETDATE): Use it.
52932
52933         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
52934
52935 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52936
52937         Sync from coreutils.
52938
52939         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
52940         stat-time.h.
52941         * lib/argmatch.h: Include verify.h
52942         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
52943         (ARGMATCH_ASSERT): Remove; unused.
52944         * lib/canonicalize.c: Assume STDC_HEADERS.
52945         * lib/exclude.c: Include "strcase.h".
52946         * lib/regex_internal.h [!defined _LIBC]: Likewise.
52947         * lib/getusershell.c: Include stdio--.h rather than stdio.h
52948         and stdio-safer.h.
52949         (getusershell): Call fopen, not fopen_safer.
52950         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
52951         Do not include unistd-safer.h.
52952         (save_cwd): Don't call fd_safer; no longer needed
52953         now that we include fcntl--.h.
52954
52955         * lib/getdate.y (relative_time): New type.
52956         (RELATIVE_TIME_0): New constant.
52957         (parser_control): Use relative_time instead of doing it ourselves.
52958         (%union): Add new relative_time rel member.
52959         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
52960         Now typeless.
52961         (relunit, relunit_snumber): Now of type rel.
52962         (zone, rel, relunit, get_date): Adjust to above changes.
52963
52964         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
52965         Do not include unistd-safer.h.
52966         (getloadavg): Don't call fd_safer; no longer needed
52967         now that we include fcntl--.h.
52968
52969         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
52970         (make_dir_parents): Treat ENOSYS like EEXIST.
52971
52972         Improve quality of diagnostics on restore_cwd failure.
52973         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
52974         (make_dir_parents): Last arg is now int * (for errno), not bool *.
52975         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
52976         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
52977         each time through the loop.  Do not diagnose restore_cwd failure;
52978         that is the caller's job (and perhaps the caller does not care).
52979
52980         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
52981         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
52982         If the file already exists but is not a directory, don't bother
52983         to try to make its parents.
52984         Close potential file descriptor leak if we can't chdir("/") (!).
52985         Don't always return true if chdir($PWD) fails; return true only
52986         if the requested action was done successfully (except for the
52987         chdir($PWD)).
52988         Don't log final directory unless we actually made it.
52989         Refactor to avoid duplicate code to fix up permissions.
52990         Don't attempt to fix up parent permissions if chdir($PWD) fails.
52991
52992         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
52993         to make it a bit faster and (I hope) clearer.
52994         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
52995         Fix bug in formats like %2N.
52996
52997         * lib/verify.h: New file.
52998
52999 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53000
53001         Sync from coreutils.
53002         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
53003
53004 2005-09-22  Jim Meyering  <jim@meyering.net>
53005
53006         Sync from coreutils.
53007
53008         * m4/lstat.m4 (gl_FUNC_LSTAT):
53009         Use AC_LIBSOURCES to require lstat.c and lstat.h.
53010         Remove obsolete comment.
53011         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
53012         * m4/xstrtod.m4: Likewise.
53013
53014         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
53015
53016 2005-09-22  Jim Meyering  <jim@meyering.net>
53017
53018         Sync from coreutils.
53019
53020         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
53021
53022         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
53023         the .tm_year member, since otherwise gcc-4.0 would now warn about
53024         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
53025
53026         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
53027         order to avoid an unsuppressible warning from gcc on 64-bit systems.
53028
53029         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
53030         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
53031         when run in a time zone for which daylight savings time is in effect
53032         for the starting date.
53033
53034         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
53035         stop us from restricting permissions of just-created absolute-named
53036         directories.
53037         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
53038         to restore initial working directory.
53039         * lib/mkdir-p.c (make_dir_parents): New parameter:
53040         different_working_dir, to tell caller if/when we change the working
53041         directory and are unable to return to the initial one.
53042         * lib/mkdir-p.h (make_dir_parents): Update prototype.
53043         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
53044         `return false'.  This fixes a bug introduced on 2004-07-30.
53045
53046         * lib/openat.c (fdopendir): Be sure to close the supplied
53047         file descriptor before returning.  This makes our replacement
53048         implementation a little closer to Solaris's, where fdopendir
53049         ties the file descriptor to the returned DIR* pointer.
53050         * lib/openat.c (unlinkat): New function.
53051         * lib/openat.h (unlinkat): Add prototype.
53052         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
53053         (openat_restore_fail): Rename from openat_restore_die.
53054         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
53055
53056         Provide an alternative to exiting immediately upon save_cwd or
53057         restore_cwd failure.  Now, an application can arrange e.g.,
53058         to perform a longjump in that case.
53059         * lib/openat.c: Include dirname.h.
53060         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
53061         (rpl_openat, fdopendir, fstatat): Call openat_save_die
53062         and openat_restore_die rather than calling error directly.
53063         Don't include "error.h" or "exitfail.h"; they're no longer needed.
53064
53065         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
53066         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
53067         define.
53068
53069         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
53070         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
53071                             int utc, int nanoseconds);
53072         Background:
53073         date should not have to allocate a megabyte of virtual memory to
53074         handle a format argument like +%1048575T.  When implemented with
53075         strftime, it must allocate such a buffer, use strftime to fill it
53076         in, print it, then free it.
53077         With fprintftime, it simply prints everything and exits.
53078         With no need for memory allocation, that's one fewer way to fail.
53079         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
53080         optional field width, not before, so we accept %9:z, not %:9z.
53081         (my_strftime): Be sure to use L_('x') for literals.
53082
53083         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
53084         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
53085         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
53086         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
53087         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
53088         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
53089         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
53090         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
53091         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
53092         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
53093         * lib/xgethostname.c, lib/xreadlink.c:
53094         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
53095
53096         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
53097         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
53098         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
53099         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
53100         and don't include <sys/file.h>).
53101
53102 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
53103
53104         Sync from coreutils.
53105
53106         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
53107         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
53108         [!LDAV_DONE]: Avoid unused variable warning.
53109
53110 2005-09-21  Bruno Haible  <bruno@clisp.org>
53111
53112         * lib/unicodeio.h (unicode_to_mb): New declaration.
53113
53114 2005-09-20  Derek Price  <derek@ximbiot.com>
53115
53116         * lib/getaddrinfo.c: Don't include <netdb.h> included from
53117         getaddrinfo.h.
53118
53119 2005-09-20  Bruno Haible  <bruno@clisp.org>
53120
53121         * gnulib-tool: Remove trailing slashes from the values specified for
53122         --source-base, --m4-base, --tests-base, --aux-dir.
53123         Suggested by Simon Josefsson <jas@extundo.com>.
53124
53125 2005-09-20  Bruno Haible  <bruno@clisp.org>
53126
53127         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
53128         func_modules_to_filelist, func_import, func_create_testdir): Make all
53129         sorting results locale-independent, so that gnulib-cache.m4 doesn't
53130         change when gnulib-tool is invoked in a different locale.
53131
53132 2005-09-19  Simon Josefsson  <jas@extundo.com>
53133
53134         * m4/socklen.m4: Fix typo.
53135
53136 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53137
53138         Use a consistent style for including <config.h>.
53139         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
53140         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
53141         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
53142         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
53143         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
53144         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
53145         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
53146         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
53147         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
53148         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
53149         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
53150         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
53151         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
53152         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
53153         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
53154         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
53155         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
53156         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
53157         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
53158         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
53159         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
53160         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
53161         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
53162         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
53163         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
53164         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
53165         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
53166         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
53167         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
53168         lib/xstrtoumax.c, lib/yesno.c:
53169         Standardize inclusion of config.h.
53170         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
53171         lib/inttostr.h:  Removed inclusion of config.h from header files.
53172         * lib/inttostr.c:  Adjusted in-tree users.
53173         * lib/timespec.h: Remove superfluous warning to include config.h.
53174         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
53175         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
53176         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
53177         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
53178         config.h with HAVE_CONFIG_H.
53179
53180 2005-09-19  Jim Meyering  <jim@meyering.net>
53181
53182         * modules/pathmax (License): Change to LGPL.
53183
53184 2005-09-19  Derek Price  <derek@ximbiot.com>
53185
53186         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
53187
53188 2005-09-19  Bruno Haible  <bruno@clisp.org>
53189
53190         * gnulib-tool (import): Provide default for --tests-base.
53191
53192 2005-09-19  Bruno Haible  <bruno@clisp.org>
53193
53194         * doc/quote.texi: New file, extracted from gnulib.texi.
53195         * doc/ctime.texi: New file, extracted from gnulib.texi.
53196         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
53197         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
53198         * doc/gnulib.texi: Include them.
53199
53200 2005-09-18  Bruno Haible  <bruno@clisp.org>
53201
53202         Portability fix.
53203         * gnulib-tool (func_readlink): New function.
53204         (func_ln_if_changed): Use it.
53205
53206 2005-09-18  Bruno Haible  <bruno@clisp.org>
53207
53208         * gnulib-tool: Support --with-tests also with --import.
53209         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
53210         (func_import): Use variables $testsbase and $inctests. Emit a
53211         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
53212         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
53213         SUBDIRS += $testsdir.
53214         (func_create_testdir): Update.
53215
53216 2005-09-18  Bruno Haible  <bruno@clisp.org>
53217
53218         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
53219         instead of $dry_run.
53220         (func_cp_if_changed, func_mv_if_changed): Remove functions.
53221         (func_ln_if_changed): Don't handle dry-run here.
53222         (func_import): In dry-run mode, detect more precisely which actions
53223         would be performed, and don't use "...ing" verbs.
53224
53225 2005-09-18  Bruno Haible  <bruno@clisp.org>
53226
53227         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
53228         (func_import): Use join on two temporary files instead of three nested
53229         loops, in order to determine which files are new or old.
53230
53231 2005-09-18  Bruno Haible  <bruno@clisp.org>
53232
53233         * gnulib-tool (func_import): Comment out code that spits out the
53234         new files with --dry-run.
53235
53236 2005-09-18  Bruno Haible  <bruno@clisp.org>
53237
53238         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
53239
53240 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53241
53242         * lib/stat-time.h: New file.
53243         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
53244         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
53245         in a different way.
53246         (timespec_cmp): New function.
53247         * lib/utimecmp.c: Include stat-time.h.
53248         (SYSCALL_RESOLUTION): Depend on whether various struct stat
53249         members exist, not on the obsolescent ST_MTIM_NSEC.
53250         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
53251
53252 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53253
53254         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
53255
53256 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53257
53258         * MODULES.html.sh (File system functions): Add stat-time.
53259         * modules/stat-time: New file.
53260         * modules/timespec (Files): Remove m4/st_mtim.m4; this
53261         is now done in a different way, by the stat-time module.
53262         * modules/utimecmp (Depends-on): Add stat-time.
53263
53264 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
53265
53266         * m4/st_mtim.m4: Remove.  Superseded by...
53267         * m4/stat-time.m4: New file.
53268         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
53269         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
53270
53271 2005-09-15  Derek Price  <derek@ximbiot.com>
53272
53273         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
53274
53275 2005-09-15  Derek Price  <derek@ximbiot.com>
53276
53277         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
53278         * lib/regex_internal.c: Ditto, using this...
53279         (__GNUC_PREREQ): ...new macro.
53280         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
53281         using...
53282         (__GNUC_PREREQ): ...this new macro.
53283
53284         * lib/strstr.h: Include string.h. Define strstr as a macro here.
53285
53286 2005-09-15  Derek Price  <derek@ximbiot.com>
53287             Paul Eggert  <eggert@cs.ucla.edu>
53288
53289         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
53290         changes, consolidating in...
53291         * lib/regex_internal.h: ...this file.
53292
53293 2005-09-13  Jim Meyering  <jim@meyering.net>
53294
53295         * lib/canon-host.c: Filter through gnu indent and reword comments
53296         slightly.
53297         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
53298
53299 2005-09-13  Derek Price  <derek@ximbiot.com>
53300
53301         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
53302         failure.
53303         Reported by Jim Meyering  <jim@meyering.net>.
53304
53305 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
53306
53307         * lib/base64.c: Typo.
53308         (base64_encode): Put b64str in initialized data section.
53309
53310 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
53311
53312         Merge glibc and coreutils changes into gnulib, plus a few
53313         extra fixes.
53314         * lib/md5.c: Use #error rather than a string.
53315         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
53316         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
53317         (__attribute__): Define to empty for non recent-GCC.
53318         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
53319         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
53320         Renamed from their non-__ counterparts, with new macros replacing
53321         them if not _LIBC.  Add __THROW attribute.
53322         (rol): Remove.
53323         (struct md5_ctx): Align buffer if using GCC.
53324         * lib/sha1.h (struct sha1_ctx): Likewise.
53325         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
53326         The old name was backwards.
53327         (NOTSWAP): Remove; not used.
53328         (rol): New macro, moved here from md5.h.
53329         (sha1_process_block): Remove a FIXME that doesn't make sense.
53330
53331 2005-09-12  Derek Price  <derek@ximbiot.com>
53332
53333         Return usable errors from canon-host.
53334         * lib/canon-host.h: New file.
53335         * lib/canon-host.c (canon_host): Wrap...
53336         (canon_host_r): ...this new function, which now relies exclusively on
53337         getaddrinfo.
53338         (ch_strerror): New function.
53339         (last_cherror): New global.
53340         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
53341         interface.
53342         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
53343         void *.
53344         (freeaddrinfo): Free ai->ai_canonname when set.
53345
53346 2005-09-12  Derek Price  <derek@ximbiot.com>
53347
53348         Make canon-host require getaddrinfo.
53349         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
53350         AC_LIBSOURCE canon-host.h.  Call...
53351         (gl_PREREQ_CANON_HOST): ...this new function, which requires
53352         gl_GETADDRINFO.
53353         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
53354
53355 2005-09-12  Derek Price  <derek@ximbiot.com>
53356
53357         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
53358         LGPL.
53359         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
53360
53361 2005-09-12  Derek Price  <derek@ximbiot.com>
53362
53363         * lib/gai_strerror.c: Include config.h when available.  Include
53364         getaddrinfo.h before other headers to test interface.
53365         Reported by Larry Jones <lawrence.jones@ugs.com>.
53366
53367 2005-09-12  Derek Price  <derek@ximbiot.com>
53368             Paul Eggert  <eggert@cs.ucla.edu>
53369
53370         * modules/glob (Files): Add glob-libc.h.
53371
53372 2005-09-12  Derek Price  <derek@ximbiot.com>
53373             Paul Eggert  <eggert@cs.ucla.edu>
53374
53375         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
53376         glob_.h, glob-libc.h.
53377         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
53378
53379 2005-09-12  Derek Price  <derek@ximbiot.com>
53380             Paul Eggert  <eggert@cs.ucla.edu>
53381
53382         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
53383         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
53384         protecting things that should be done only in gnulib contexts.
53385         * lib/glob_.h: New file, containing only the glob things needed for
53386         gnulib.
53387         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
53388         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
53389         (glob, globfree, glob_pattern_p): Now defined simply in terms of
53390         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
53391         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
53392         and to respect the namespace rules better.
53393
53394 2005-09-08  Simon Josefsson  <jas@extundo.com>
53395
53396         * modules/socklen: New file.
53397
53398 2005-09-08  Simon Josefsson  <jas@extundo.com>
53399
53400         * m4/socklen.m4: New file.
53401
53402 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53403
53404         * modules/utimens (Files): Add m4/utimbuf.m4, since
53405         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
53406         Reported by Sergey Poznyakoff.
53407
53408 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53409
53410         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
53411         definitions, since that's the preferred style in glibc.
53412         Fix a minor spacing issue, and update copyright notice to match
53413         glibc's.
53414
53415 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53416
53417         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
53418
53419 2005-09-06  Simon Josefsson  <jas@extundo.com>
53420
53421         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
53422         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
53423
53424 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53425
53426         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
53427         warning.
53428
53429 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53430
53431         * config/srclist.txt: Add glibc bug 1302.
53432
53433 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
53434
53435         Change bitset word type from unsigned int to unsigned long int,
53436         as this has better performance on typical 64-bit hosts.
53437         Port bitset code to hosts with unusual word sizes.
53438         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
53439         (build_collating_symbol):
53440         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
53441         argument is a bitset.  This is merely a style issue, but it makes
53442         it clearer that an entire array is expected.
53443         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
53444         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
53445         Port to the case where bitset_word is not the same as unsigned int.
53446         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
53447         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
53448         Likewise.
53449         * lib/regexec.c (check_dst_limits_calc_pos_1,
53450         check_subexp_matching_top):
53451         (build_trtable, group_nodes_into_DFAstates):
53452         Likewise.
53453         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
53454         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
53455         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
53456         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
53457         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
53458         * lib/regcomp.c (optimize_subexps, lower_subexp):
53459         Work even if bitset_word has holes in its bitwise representation.
53460         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
53461         * lib/regexec.c (check_dst_limits_calc_pos_1,
53462         check_subexp_matching_top):
53463         Likewise.
53464         * lib/regex_internal.c (re_string_reconstruct):
53465         Don't assume UCHAR_MAX == 255.
53466         * lib/regex_internal.h (bitset_set_all): Likewise.
53467         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
53468         All uses changed.
53469         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
53470         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
53471         All uses changed.
53472         (BITSET_WORD_MAX): New macro.
53473         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
53474         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
53475         (bitset_empty, bitset_copy):
53476         Prefer sizeof (bitset) to multiplying it out ourselves.
53477         (bitset_not_merge): Remove; unused.
53478         (bitset_contain): Return bool, not unsigned int with one bit on.
53479         All callers changed.
53480         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
53481         alignment than re_node_set; do this by defining a new internal
53482         type struct dests_alloc and using it to allocate memory.
53483
53484 2005-09-05  Bruno Haible  <bruno@clisp.org>
53485
53486         * gnulib-tool (func_import): Fix comparison in handling of symbolic
53487         links.
53488
53489 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
53490
53491         * modules/size_max (Makefile.am): Add size_max.h
53492
53493 2005-09-04  Derek Price  <derek@ximbiot.com>
53494
53495         * gnulib-tool (func_import): Fix reversed $symbolic logic.
53496
53497 2005-09-03  Simon Josefsson  <jas@extundo.com>
53498
53499         * gnulib-tool: Fix typo.
53500
53501 2005-09-03  Simon Josefsson  <jas@extundo.com>
53502
53503         * config/srclist.txt: Add glibc bug 1293.
53504
53505 2005-09-03  Derek Price  <derek@ximbiot.com>
53506
53507         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
53508         From Larry Jones <lawrence.jones@ugs.com>.
53509
53510 2005-09-02  Simon Josefsson  <jas@extundo.com>
53511
53512         * modules/socklen: New file.
53513
53514 2005-09-02  Simon Josefsson  <jas@extundo.com>
53515
53516         * modules/havelib: New module.
53517
53518         * modules/gettext, modules/iconv, modules/lock, modules/readline:
53519         Use havelib.
53520
53521 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
53522
53523         Check for arithmetic overflow when calculating sizes, to prevent
53524         some buffer-overflow issues.  These patches are conservative, in the
53525         sense that when I couldn't determine whether an overflow was possible,
53526         I inserted a run-time check.
53527         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
53528         macros.
53529         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
53530         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
53531         (re_xnrealloc, re_x2nrealloc): New inline functions.
53532         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
53533         parse_bracket_exp):
53534         (build_equiv_class, build_charclass): Check for arithmetic overflow
53535         in size expression calculations.
53536         * lib/regex_internal.c (re_string_realloc_buffers):
53537         (build_wcs_upper_buffer, re_node_set_add_intersect):
53538         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
53539         (re_dfa_add_node, register_state): Likewise.
53540         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
53541         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
53542         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
53543         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
53544
53545 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
53546
53547         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
53548         m4/ulonglong.m4.  Problem reported by Martin Lambers.
53549
53550 2005-09-02  Bruno Haible  <bruno@clisp.org>
53551
53552         Support for lib vs. lib64 distinction on biarch platforms.
53553         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
53554         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
53555         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
53556
53557 2005-09-02  Bruno Haible  <bruno@clisp.org>
53558
53559         * gnulib-tool (import): In the other first-use case, provide defaults
53560         as well.
53561
53562 2005-09-02  Bruno Haible  <bruno@clisp.org>
53563
53564         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
53565         patches not yet found in the latest gettext release.
53566
53567 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53568
53569         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
53570         to avoid a collision with bits/local_lim.h in glibc.
53571         All uses changed.  Problem reported by Dmitry V. Levin in
53572         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
53573
53574         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
53575         bugs in int versus size_t comparisons.
53576         (re_string_context_at): Fix bug where the code assumed that
53577         Idx is signed.
53578
53579         Use bool where appropriate.
53580         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
53581         All callers changed.
53582         (calc_eclosure_iter): Likewise, for ROOT arg.
53583         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
53584         (build_charclass_op): Likewise, for NON_MATCH arg.
53585         * lib/regex_internal.c (re_string_allocate, re_string_construct):
53586         (re_string_construct_common): Likewise, for ICASE arg.
53587         * lib/regexec.c (re_search_2_stub, re_search_stub):
53588         Likewise, for RET_LEN arg.
53589         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
53590         (set_regs): Likewise, for FL_BACKTRACK arg.
53591         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
53592         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
53593         (calc_eclosure_iter, parse_bracket_exp):
53594         Use bool for internal variables that are booleans.
53595         * lib/regexec.c (re_search_internal, check_matching,
53596         proceed_next_node):
53597         (set_regs, build_sifted_states, sift_states_bkref):
53598         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
53599         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
53600         (find_collation_sequence_value):
53601         Likewise.
53602         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
53603         (re_node_set_compare):
53604         Return bool, not int. All callers changed.
53605         * lib/regexec.c (check_halt_node_context, check_dst_limits):
53606         (build_trtable, check_node_accept): Likewise.
53607         * lib/regex_internal.h: Include stdbool.h.
53608
53609         Fix bugs uncovered when converting to bool.
53610         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
53611         failure instead of charging ahead blindly.
53612         * lib/regex_internal.c (register_state): Likewise.
53613         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
53614         for freeing internal storage.
53615         (group_nodes_into_DFA_states): Use unsigned int, not int, for
53616         bitset pieces used as boolean, to avoid undefined behavior
53617         on hosts that do int overflow checking.
53618
53619 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53620
53621         * config/srclist.txt: Add glibc bugs 1285-1287.
53622
53623 2005-09-01  Jim Meyering  <jim@meyering.net>
53624
53625         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
53626         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
53627         Require gl_STAT_MACROS, too.
53628
53629 2005-09-01  Bruno Haible  <bruno@clisp.org>
53630
53631         * gnulib-tool (import): In the first-use case, provide defaults.
53632
53633 2005-09-01  Bruno Haible  <bruno@clisp.org>
53634
53635         * gnulib-tool (func_import): Remove the .tmp files.
53636
53637 2005-09-01  Bruno Haible  <bruno@clisp.org>
53638
53639         * gnulib-tool (func_import): Fix handling of symbolic links.
53640
53641 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53642
53643         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
53644         old glibc regex code mishandles strings longer than 2**31 bytes.
53645         This patch fixes this when the regex code is used in gnulib
53646         (i.e., outside glibc).
53647
53648         This patch should not affect the use of the regex code inside
53649         glibc.  No doubt this problem also needs to be handled for glibc
53650         as well, but the result will be an incompatible change to the
53651         glibc ABI, and the old ABI will have to be supported too.  That
53652         can be the the subject for another patch.
53653
53654         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
53655         governing whether the rest of this patch is active.  By default,
53656         the macro is disabled and the patch has no effect.
53657         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
53658         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
53659         (struct re_pattern_buffer, re_search, re_search_2, re_match):
53660         (re_match_2, re_set_registers): Use the new types.
53661         * lib/regex_internal.h (Idx, re_hashval_t): New types.
53662         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
53663         New macros.
53664         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
53665         (re_string_context_at, bin_tree_t, re_dfastate_t):
53666         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
53667         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
53668         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
53669         (re_string_char_size_at, re_string_wchar_at):
53670         (re_string_elem_size_at):
53671         Use the new types and macros to port to 64-bit hosts.
53672         Use unsigned types for internal values, so that the code
53673         mostly works even for arrays larger than SSIZE_MAX.
53674         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
53675         (search_duplicated_node, calc_eclosure_iter, fetch_number):
53676         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
53677         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
53678         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
53679         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
53680         (calc_inveclosure, parse_dup_op, build_range_exp):
53681         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
53682         (fetch_number, create_token_tree, mark_opt_subexp):
53683         Likewise.
53684         * lib/regex_internal.c (re_string_construct_common,
53685         create_ci_newstate):
53686         (create_cd_newstate, re_string_allocate, re_string_construct):
53687         (re_string_realloc_buffers, build_wcs_upper_buffer):
53688         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
53689         (re_string_reconstruct, re_string_peek_byte_case):
53690         (re_string_fetch_byte_case, re_string_context_at):
53691         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
53692         (re_node_set_init_copy, re_node_set_add_intersect):
53693         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
53694         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
53695         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
53696         (re_acquire_state, re_acquire_state_context, register_state):
53697         Likewise.
53698         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
53699         search_cur_bkref_entry):
53700         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
53701         (re_search_internal, re_search_2_stub, re_search_stub)
53702         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
53703         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
53704         (update_cur_sifted_state, check_dst_limits):
53705         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
53706         (check_subexp_limits, sift_states_bkref, merge_state_array):
53707         (check_subexp_matching_top, get_subexp, get_subexp_sub):
53708         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
53709         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
53710         (expand_bkref_cache, check_node_accept_bytes):
53711         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
53712         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
53713         (acquire_init_state_context, check_halt_node_context):
53714         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
53715         (sift_states_backward, clean_state_log_if_needed):
53716         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
53717         (find_recover_state, transit_state_sb, transit_state_mb):
53718         (transit_state_bkref, build_trtable, match_ctx_clean):
53719         Likewise.
53720         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
53721         to work around an assumption that REG_MISSING is negative.
53722
53723         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
53724         (seek_collating_symbol_entry) [defined _LIBC]:
53725         (lookup_collation_sequence_value) [defined _LIBC]:
53726         (build_range_exp, build_collating_symbol) [defined _LIBC]:
53727         Use prototypes rather than old-style function definitions.
53728         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
53729         (transit_state_sb) [0]:
53730         (find_collation_sequence_value) [defined _LIBC]: Likewise.
53731
53732         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
53733         rm_eo.
53734
53735         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
53736         (optimize_subexps, lower_subexp):
53737         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
53738         since the signed shift might overflow.  Use 1u<<31 instead.
53739         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
53740         Likewise.
53741         * lib/regexec.c (check_dst_limits_calc_pos_1,
53742         check_subexp_matching_top): Likewise.
53743
53744         * lib/regcomp.c (optimize_subexps, lower_subexp):
53745         Use CHAR_BIT rather than 8, for clarity.
53746         * lib/regexec.c (check_dst_limits_calc_pos_1):
53747         (check_subexp_matching_top): Likewise.
53748         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
53749         have to worry about portability issues when shifting it left.
53750         Remove no-longer-needed test for table_size > 0.
53751         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
53752         in a word, as the resulting behavior is undefined.
53753         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
53754         in one case, a <= should have been an <, and in another case the
53755         whole test was missing.
53756         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
53757         the standard name CHAR_BIT.
53758         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
53759         this is not true on one's complement and signed-magnitude hosts.
53760
53761         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
53762         next_last_offset.
53763         (struct re_dfa_t): Remove unused member states_alloc.
53764         * lib/regcomp.c (init_dfa): Don't initialize unused members.
53765
53766 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53767
53768         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
53769         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
53770         and large-file glibc and in 32-bit large-file Solaris.
53771
53772 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53773
53774         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
53775         lengths fit in regoff_t; this isn't true if regoff_t is the same
53776         width as size_t.
53777         * lib/regex.c (re_search_internal): 5th arg is LAST_START
53778         (= START + RANGE) instead of RANGE.  This avoids overflow
53779         problems when regoff_t is the same width as size_t.
53780         All callers changed.
53781         (re_search_2_stub): Check for overflow when adding the
53782         sizes of the two strings.
53783         (re_search_stub): Check for overflow when adding START
53784         to RANGE; if it occurs, substitute the extreme value.
53785
53786 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53787
53788         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
53789
53790 2005-08-31  Jim Meyering  <jim@meyering.net>
53791
53792         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
53793         a pointer-to-const.
53794         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
53795         (register_state): Likewise.
53796         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
53797         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
53798         (group_nodes_into_DFAstates): Likewise.
53799
53800 2005-08-31  Jim Meyering  <jim@meyering.net>
53801
53802         * check-module: Add a FIXME comment.
53803
53804 2005-08-31  Eric Blake  <ebb9@byu.net>
53805
53806         * modules/unistd-safer (Files): Add unistd--.h.
53807         * modules/stdio-safer (Files): Add stdio--.h.
53808
53809 2005-08-31  Derek Price  <derek@ximbiot.com>
53810
53811         * lib/getdelim.c (getdelim): Return EOF on EOF.
53812         Reported by Larry Jones <lawrence.jones@ugs.com>.
53813
53814 2005-08-31  Bruno Haible  <bruno@clisp.org>
53815
53816         Avoid unnecessary diffs in the generated lib/Makefile.am.
53817         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
53818         the generated files.
53819         (func_import): Don't set cmd.
53820
53821 2005-08-31  Bruno Haible  <bruno@clisp.org>
53822
53823         * lib/strstr.c: Include <stddef.h>, for NULL.
53824         * lib/strcasestr.c: Likewise.
53825         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53826
53827 2005-08-31  Bruno Haible  <bruno@clisp.org>
53828
53829         * gnulib-tool: New option --macro-prefix.
53830         (func_import): Use macro_prefix.
53831         (import): Handle option --macro-prefix.
53832
53833 2005-08-31  Bruno Haible  <bruno@clisp.org>
53834
53835         * gnulib-tool (import): Rename most ac_* variables to cached_*.
53836         Also use new variables cached_lgpl, cached_libtool.
53837
53838 2005-08-31  Bruno Haible  <bruno@clisp.org>
53839
53840         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
53841         always instantiating them.
53842
53843 2005-08-31  Bruno Haible  <bruno@clisp.org>
53844
53845         * gnulib-tool (func_import): Read the previous cached settings
53846         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
53847         earlier added by gnulib but are now dropped. Warn when a gnulib file
53848         overwrites a non-gnulib file.
53849
53850 2005-08-31  Bruno Haible  <bruno@clisp.org>
53851
53852         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
53853         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
53854         projects that don't keep autogenerated files in CVS. Put into
53855         actioncmd only the specified modules, not the transitive closure.
53856
53857 2005-08-31  Bruno Haible  <bruno@clisp.org>
53858
53859         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
53860         Create directories that shall be filled.
53861         (import): Don't look for gl_* macros in configure.ac. Recurse across
53862         all directories containing a gnulib-cache.m4 files, if meaningful.
53863
53864 2005-08-31  Bruno Haible  <bruno@clisp.org>
53865
53866         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
53867         (import): Set seen_libtool when we see gl_LIBTOOL.
53868
53869 2005-08-31  Bruno Haible  <bruno@clisp.org>
53870
53871         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
53872         declaration macro definitions from generated gnulib.m4.
53873
53874 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
53875
53876         * lib/iconvme.h: Add prototype for iconv_alloc.
53877
53878 2005-08-29  Simon Josefsson  <jas@extundo.com>
53879
53880         * lib/iconvme.c: Fix errno.
53881
53882 2005-08-29  Bruno Haible  <bruno@clisp.org>
53883
53884         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
53885         that it works when the directory contains spaces.
53886
53887 2005-08-29  Bruno Haible  <bruno@clisp.org>
53888
53889         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
53890
53891 2005-08-29  Bruno Haible  <bruno@clisp.org>
53892
53893         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
53894         Emit more advice.
53895
53896 2005-08-29  Bruno Haible  <bruno@clisp.org>
53897         and Stepan Kasal  <kasal@ucw.cz>
53898
53899         * check-module: If more parameters are given, check each of them
53900         separately; add more exceptions, as noted by Jim Meyering.
53901         (check_module): New procedure.
53902         (%exempt_header): Now contains all exceptions.
53903
53904 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
53905
53906         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
53907
53908 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
53909
53910         * lib/iconvme.c: Split iconv_string into iconv_alloc.
53911
53912 2005-08-28  Bruno Haible  <bruno@clisp.org>
53913
53914         * m4/gnulib-tool.m4: New file.
53915
53916 2005-08-27  Jim Meyering  <jim@meyering.net>
53917
53918         * modules/unistd-safer (Files): Add pipe-safer.c.
53919         * modules/fcntl-safer (Files): Add creat-safer.c.
53920
53921 2005-08-27  Jim Meyering  <jim@meyering.net>
53922
53923         * m4/stdlib-safer.m4: New file.  From coreutils.
53924         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
53925         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
53926         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
53927         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
53928         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
53929
53930 2005-08-27  Jim Meyering  <jim@meyering.net>
53931
53932         * lib/fopen-safer.c: Merge minor changes from coreutils.
53933         * lib/dup-safer.c: Likewise.
53934         * lib/fd-safer.c: Likewise.
53935
53936         Merge from coreutils.
53937         * lib/stdio--.h: New file.
53938         * lib/stdlib--.h: New file.
53939         * lib/mkstemp-safer.c: New file.
53940
53941         GNU tar needs these.
53942         * lib/pipe-safer.c: New file.
53943         * lib/creat-safer.c: New file.
53944         * lib/fcntl--.h (creat): Define to creat_safer.
53945         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
53946         * lib/unistd--.h (pipe): Define to pipe_safer.
53947         * lib/unistd-safer.h: Declare pipe_safer.
53948
53949 2005-08-26  Simon Josefsson  <jas@extundo.com>
53950
53951         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
53952         Haible <bruno@clisp.org>.
53953
53954 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
53955
53956         * lib/regex_internal.h: Remove all references to
53957         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
53958         or better.
53959         (bitset_not, bitset_merge, bitset_not_merge):
53960         (bitset_mask, re_string_allocate, re_string_construct):
53961         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
53962         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
53963         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
53964         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
53965         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
53966         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
53967         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
53968         (re_acquire_state_context):
53969         Remove unnecessary forward decls.
53970         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
53971         Put __attribute at function definition,
53972         now that the function decl has been removed.
53973         * lib/regex_internal.c (re_string_peek_byte_case):
53974         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
53975         Likewise.
53976
53977 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
53978
53979         * m4/regex.m4: Add AC_PREREQ(2.50).
53980         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
53981
53982 2005-08-25  Simon Josefsson  <jas@extundo.com>
53983
53984         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
53985         __fsetlocking.
53986
53987 2005-08-25  Simon Josefsson  <jas@extundo.com>
53988
53989         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
53990         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
53991         GLIBC specific code.
53992
53993 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53994
53995         Make regex safe for g++.  This fixes one real bug (an "err"
53996         that should have been "*err").  g++ problem reported by
53997         Sam Steingold.
53998         * lib/regex_internal.h (re_calloc): New macro, consistent with
53999         re_malloc etc.  All callers of calloc changed to use re_calloc.
54000         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
54001         not int.  All callers changed.
54002         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
54003         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
54004         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
54005         (find_recover_state): Change "err" to "*err"; this fixes what
54006         appears to be a real bug.
54007         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
54008         versus int.
54009
54010 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54011
54012         * modules/regex (Depends-on): Add malloc, since the code
54013         assumes that !malloc(0) means failure.
54014
54015 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54016
54017         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
54018
54019         alloca modernization/simplification for regex.
54020         * lib/regex.c: Remove portability cruft for alloca.  This no longer
54021         needs to be at the start of the file, and can be moved into
54022         regex_internal.h and simplified.
54023         * lib/regex_internal.h: Include <alloca.h>.
54024         (__libc_use_alloca) [!defined _LIBC]: New macro.
54025         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
54026         now works outside glibc.
54027
54028 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54029
54030         * config/srclist.txt: Add glibc bugs 1241, 1245.
54031
54032 2005-08-25  Jim Meyering  <jim@meyering.net>
54033
54034         * lib/open-safer.c: Include <config.h>.
54035         Otherwise, we'd lose LARGEFILE support in any file using
54036         e.g. "fcntl--.h"
54037
54038 2005-08-25  Bruno Haible  <bruno@clisp.org>
54039
54040         * m4/minmax.m4: Require autoconf 2.52.
54041         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
54042         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
54043         alternatives of translit over the alphabet.
54044         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
54045
54046 2005-08-24  Simon Josefsson  <jas@extundo.com>
54047
54048         * tests/test-getpass.c: New file.
54049
54050 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54051
54052         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
54053         for GNU regex features.
54054
54055 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54056
54057         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
54058         * lib/regex.h (regerror): Likewise.
54059
54060         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
54061         requires this.  (The code never needed it.)
54062
54063         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
54064         All uses of recently-renamed identifiers changed to use the new,
54065         POSIX-compliant names.  The code will build and run just fine
54066         without these changes, but it's better to eat our own dog food
54067         and use the standard-conforming names.
54068
54069         * lib/regex.h: Fix a multitude of POSIX name space violations.
54070         These changes have an effect only for programs that define
54071         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
54072         do not change anything for programs compiled in the normal way.
54073         Also, there is no effect on the ABI.
54074
54075         (_REGEX_SOURCE): New macro.
54076         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
54077         defined and _GNU_SOURCE is not; this fixes a name space violation.
54078
54079         Rename the following macros to obey POSIX requirements.
54080         The old names are still visible as macros if _REGEX_SOURCE is defined.
54081         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
54082         RE_BACKSLASH_ESCAPE_IN_LISTS.
54083         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
54084         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
54085         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
54086         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
54087         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
54088         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
54089         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
54090         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
54091         (REG_INTERVALS): renamed from RE_INTERVALS.
54092         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
54093         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
54094         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
54095         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
54096         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
54097         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
54098         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
54099         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
54100         RE_UNMATCHED_RIGHT_PAREN_ORD.
54101         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
54102         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
54103         (REG_DEBUG): renamed from RE_DEBUG.
54104         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
54105         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
54106         unusual, since we can't clash with the POSIX REG_ICASE.
54107         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
54108         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
54109         (REG_NO_SUB): renamed from RE_NO_SUB.
54110         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
54111         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
54112         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
54113         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
54114         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
54115         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
54116         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
54117         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
54118         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
54119         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
54120         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
54121         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
54122         RE_SYNTAX_POSIX_MINIMAL_BASIC.
54123         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
54124         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
54125         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
54126         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
54127         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
54128         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
54129         (REG_FIXED): Renamed from REGS_FIXED.
54130         (REG_NREGS): Renamed from RE_NREGS.
54131
54132         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
54133         of other REG_* macros, since POSIX says the user is allowed to
54134         #undef these macros selectively.
54135
54136         (reg_errcode_t): Update comment stating what other tables need
54137         to be consistent.
54138
54139         Rename the following enum values to obey POSIX requirements.
54140         The old names are still visible as macros.
54141         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
54142         is not defined, since GNU is supposed to be a superset of POSIX as
54143         much as possible, and since we want reg_errcode_t to be a signed
54144         type for implementation consistency.
54145         (_REG_NOERROR): Renamed from REG_NOERROR.
54146         (_REG_NOMATCH): Renamed from REG_NOMATCH.
54147         (_REG_BADPAT): Renamed from REG_BADPAT.
54148         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
54149         (_REG_ECTYPE): Renamed from REG_ECTYPE.
54150         (_REG_EESCAPE): Renamed from REG_EESCAPE.
54151         (_REG_ESUBREG): Renamed from REG_ESUBREG.
54152         (_REG_EBRACK): Renamed from REG_EBRACK.
54153         (_REG_EPAREN): Renamed from REG_EPAREN.
54154         (_REG_EBRACE): Renamed from REG_EBRACE.
54155         (_REG_BADBR): Renamed from REG_BADBR.
54156         (_REG_ERANGE): Renamed from REG_ERANGE.
54157         (_REG_ESPACE): Renamed from REG_ESPACE.
54158         (_REG_BADRPT): Renamed from REG_BADRPT.
54159         (_REG_EEND): Renamed from REG_EEND.
54160         (_REG_ESIZE): Renamed from REG_ESIZE.
54161         (_REG_ERPAREN): Renamed from REG_ERPAREN.
54162         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
54163         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
54164         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
54165         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
54166
54167         (_REG_RE_NAME, _REG_RM_NAME): New macros.
54168         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
54169         changed.  But support the old name if the new one is not defined
54170         and if _REGEX_SOURCE.
54171
54172         Change the following member names in struct re_pattern_buffer.
54173         The old names are still supported if !_REGEX_SOURCE.
54174         The new names are always supported, regardless of _REGEX_SOURCE.
54175         (re_buffer): Renamed from buffer.
54176         (re_allocated): Renamed from allocated.
54177         (re_used): Renamed from used.
54178         (re_syntax): Renamed from syntax.
54179         (re_fastmap): Renamed from fastmap.
54180         (re_translate): Renamed from translate.
54181         (re_can_be_null): Renamed from can_be_null.
54182         (re_regs_allocated): Renamed from regs_allocated.
54183         (re_fastmap_accurate): Renamed from fastmap_accurate.
54184         (re_no_sub): Renamed from no_sub.
54185         (re_not_bol): Renamed from not_bol.
54186         (re_not_eol): Renamed from not_eol.
54187         (re_newline_anchor): Renamed from newline_anchor.
54188
54189         Change the following member names in struct re_registers.
54190         The old names are still supported if !_REGEX_SOURCE.
54191         The new names are always supported, regardless of _REGEX_SOURCE.
54192         (rm_num_regs): Renamed from num_regs.
54193         (rm_start): Renamed from start.
54194         (rm_end): Renamed from end.
54195
54196         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
54197         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
54198         Prepend __ to parameter names.
54199
54200         Undo yesterday's changes.
54201
54202 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54203
54204         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
54205         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
54206         lib/regex.c.
54207
54208 2005-08-24  Jim Meyering  <jim@meyering.net>
54209
54210         Sync from coreutils.
54211         * m4/fcntl-safer.m4: New file.
54212
54213         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
54214         and object files for this module.
54215
54216 2005-08-24  Jim Meyering  <jim@meyering.net>
54217
54218         Sync from coreutils.
54219         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
54220
54221 2005-08-24  Jim Meyering  <jim@meyering.net>
54222
54223         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
54224         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
54225
54226 2005-08-24  Jim Meyering  <jim@meyering.net>
54227
54228         * modules/fcntl-safer: New module.
54229         * modules/fts (Depends-on): Add fcntl-safer.
54230         * MODULES.html.sh (File descriptor based Input/Output):
54231         Add fcntl-safer.
54232
54233 2005-08-24  Bruno Haible  <bruno@clisp.org>
54234
54235         Support for unit test modules.
54236         * modules/README: Mention tests modules.
54237         * modules/TEMPLATE-TESTS: New file.
54238         * gnulib-tool: New options --extract-tests-module, --with-tests and
54239         --tests-base (unused for the moment).
54240         (testsbase, inctests): New variables.
54241         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
54242         (func_verify_module): Exclude TEMPLATE-TESTS.
54243         (func_verify_nontests_module, func_verify_tests_module): New functions.
54244         (func_get_dependencies): Add implicit dependency for tests modules.
54245         (func_get_tests_module): New function.
54246         (func_modules_transitive_closure): When --with-tests was specified,
54247         include the unit tests as well, unless explicitly avoided.
54248         (func_emit_lib_Makefile_am): Ignore the tests modules here.
54249         (func_emit_tests_Makefile_am): New function.
54250         (func_create_testdir): When --with-tests was specified, emit a
54251         tests/ directory.
54252         * MODULES.html.sh (Future developments): Update.
54253
54254 2005-08-24  Bruno Haible  <bruno@clisp.org>
54255
54256         * modules/tls-tests: New file.
54257         * tests/test-tls.c: New file, from GNU gettext.
54258
54259 2005-08-24  Bruno Haible  <bruno@clisp.org>
54260
54261         * modules/lock-tests: New file.
54262         * tests/test-lock.c: New file, from GNU gettext.
54263
54264 2005-08-24  Bruno Haible  <bruno@clisp.org>
54265
54266         * lib/lock.h: Add multiple inclusion guard.
54267         * lib/tls.h: Add multiple inclusion guard.
54268
54269 2005-08-24  Bruno Haible  <bruno@clisp.org>
54270
54271         * gnulib-tool: Add support for the --aux-dir option to
54272         --create-testdir, --create-megatestdir, --test, --megatest.
54273         (func_create_testdir, func_create_megatestdir): Optionally emit a
54274         AC_CONFIG_AUX_DIR directive.
54275         (create-testdir, create-megatestdir, test, megatest): Provide a
54276         default value for $auxdir.
54277
54278 2005-08-24  Bruno Haible  <bruno@clisp.org>
54279
54280         * gnulib-tool (import): Use compound statement instead of subshell
54281         where possible.
54282
54283 2005-08-24  Bruno Haible  <bruno@clisp.org>
54284
54285         * gnulib-tool (import): Change --aux-dir default to "build-aux".
54286
54287 2005-08-24  Bruno Haible  <bruno@clisp.org>
54288
54289         * gnulib-tool (func_version): Update.
54290
54291 2005-08-24  Bruno Haible  <bruno@clisp.org>
54292
54293         * gnulib-tool (func_import, func_create_testdir,
54294         func_create_megatestdir): Quote all autoconf macro arguments.
54295
54296 2005-08-24  Bruno Haible  <bruno@clisp.org>
54297
54298         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
54299         option --force, because --force causes the aclocal.m4 of each
54300         subdirectory to be newer than the corresponding config.h.in.
54301
54302 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54303
54304         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
54305         All contents moved to gl_REGEX.
54306         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
54307         assume that it does.
54308
54309 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54310
54311         * lib/regex.h (REG_NOSYS)
54312         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
54313         Define, since POSIX requires it as of 2001.
54314         (_REG_ENOSYS)
54315         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
54316         New private symbol, used to keep the enum signed in all cases.
54317         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
54318         Youngman in
54319         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
54320
54321         * lib/regex_internal.c (re_string_skip_chars, register_state):
54322         (calc_state_hash):
54323         Remove forward decls; no longer needed now that we use prototypes.
54324         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
54325         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
54326         (clean_state_log_if_needed): Likewise.
54327
54328 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54329
54330         * config/srclist.txt: Add glibc bugs 1231-1233.
54331
54332 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54333
54334         Fix problems reported by Sam Steingold in
54335         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
54336         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
54337         assumed that reg_errcode_t is a signed type, which is not
54338         necessarily true if _XOPEN_SOURCE is not defined.
54339         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
54340         since some compilers warn about it otherwise.
54341
54342 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54343
54344         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
54345         (init_word_char, create_initial_state, duplicate_node_closure):
54346         (fetch_token, peek_token_bracket, build_range_exp):
54347         (build_collating_symbol): Remove forward decls; no longer needed
54348         now that we use prototypes.
54349
54350         * lib/regcomp.c:
54351         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
54352         (re_compile_fastmap_iter, regcomp, regerror, regfree):
54353         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
54354         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
54355         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
54356         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
54357         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
54358         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
54359         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
54360         (build_range_exp, build_collating_symbol, parse_bracket_exp):
54361         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
54362         (build_charclass, build_charclass_op, fetch_number, create_tree):
54363         (create_token_tree, mark_opt_subexp, duplicate_tree):
54364         Use prototypes rather than old-style definitions.
54365
54366         * lib/regex_internal.c:
54367         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
54368         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
54369         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
54370         (re_string_reconstruct, re_string_peek_byte_case):
54371         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
54372         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
54373         (re_node_set_init_copy, re_node_set_add_intersect):
54374         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54375         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54376         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
54377         (re_acquire_state, re_acquire_state_context, register_state):
54378         (create_ci_newstate, create_cd_newstate, free_state):
54379         Likewise.
54380         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
54381         re_search_2):
54382         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
54383         (re_search_internal, prune_impossible_nodes):
54384         (acquire_init_state_context, check_matching, static):
54385         (check_halt_node_context, check_halt_state_context, proceed_next_node):
54386         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
54387         (update_regs, sift_states_backward, build_sifted_states):
54388         (clean_state_log_if_needed, merge_state_array):
54389         (update_cur_sifted_state, add_epsilon_src_nodes):
54390         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
54391         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
54392         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
54393         (find_recover_state, check_subexp_matching_top, transit_state_mb):
54394         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
54395         (check_arrival, check_arrival_add_next_nodes):
54396         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
54397         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
54398         (check_node_accept_bytes, check_node_accept, extend_buffers):
54399         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
54400         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
54401         (sift_ctx_init):
54402         Likewise.
54403
54404         * lib/regex_internal.h:
54405         (re_string_allocate, re_string_construct, re_string_reconstruct):
54406         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
54407         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
54408         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
54409         (re_string_context_at, re_string_peek_byte_case):
54410         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
54411         is defined, since we now use prototypes always.
54412
54413         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
54414         C89 or better.  All uses removed.
54415
54416 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54417
54418         * config/srclist.txt: Add glibc bugs 1220-1227.
54419
54420 2005-08-20  Jim Meyering  <jim@meyering.net>
54421
54422         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
54423         of unused local, dfa.
54424
54425 2005-08-20  Bruno Haible  <bruno@clisp.org>
54426
54427         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
54428
54429 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54430
54431         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
54432         (re_node_set_insert_last, re_dfa_add_node):
54433         Rename local variables to avoid GCC shadowing warnings.
54434
54435 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54436
54437         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
54438         [defined lint]: Suppress bogus uninitialized-variable warnings.
54439
54440         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
54441         and let the caller return REG_ESPACE if out of space.  This
54442         removes an uninitialied-variable warning with GCC 4.0.1, and also
54443         avoids taking the address of a local variable.  All callers
54444         changed.
54445
54446 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54447
54448         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
54449         $LIBCSRC/posix/regexec.c.
54450         Add glibc bug 1217 for regcomp.c.
54451
54452 2005-08-19  Jim Meyering  <jim@meyering.net>
54453
54454         * lib/regexec.c (proceed_next_node): Redo local variables to
54455         avoid GCC shadowing warnings.
54456
54457 2005-08-18  Bruno Haible  <bruno@clisp.org>
54458
54459         * lib/strstr.c (strstr): Fix return value in multibyte case.
54460         * lib/strcasestr.c (strcasestr): Likewise.
54461
54462 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
54463
54464         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
54465
54466 2005-08-17  Jim Meyering  <jim@meyering.net>
54467
54468         Make the %s format (seconds since the epoch) work for a negative
54469         number and when used with a zero-padded field width, e.g. %015s.
54470
54471         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
54472         label so that it precedes the code to set `digits'.  Otherwise,
54473         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
54474         print `00-22'.  Now, it prints `-0022', as it should.
54475
54476 2005-08-17  Bruno Haible  <bruno@clisp.org>
54477
54478         * modules/strstr (Files): Add m4/mbrtowc.m4.
54479         (Depends-on): Add mbuiter.
54480
54481 2005-08-17  Bruno Haible  <bruno@clisp.org>
54482
54483         * modules/strcasestr: New file.
54484         * MODULES.html.sh (String handling, based on ANSI C 89): Add
54485         strcasestr.
54486
54487 2005-08-17  Bruno Haible  <bruno@clisp.org>
54488
54489         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
54490
54491 2005-08-17  Bruno Haible  <bruno@clisp.org>
54492
54493         * modules/mbuiter: New file.
54494         * MODULES.html.sh (Extended multibyte and wide character utilities):
54495         Add mbuiter.
54496
54497 2005-08-17  Bruno Haible  <bruno@clisp.org>
54498
54499         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
54500         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
54501
54502 2005-08-17  Bruno Haible  <bruno@clisp.org>
54503
54504         * m4/strcasestr.m4: New file.
54505
54506 2005-08-17  Bruno Haible  <bruno@clisp.org>
54507
54508         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
54509         * lib/strstr.c: Completely rewritten, with multibyte locale support.
54510
54511 2005-08-17  Bruno Haible  <bruno@clisp.org>
54512
54513         * lib/strcasestr.h: New file.
54514         * lib/strcasestr.c: New file.
54515
54516 2005-08-17  Bruno Haible  <bruno@clisp.org>
54517
54518         * lib/strcasecmp.c: Use mbuiter.h.
54519
54520 2005-08-17  Bruno Haible  <bruno@clisp.org>
54521
54522         * lib/mbuiter.h: New file.
54523
54524 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
54525
54526         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
54527         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
54528         and gl_GETOPT are both invoked via different paths (as happens
54529         with GNU tar CVS because it uses both argp and getopt), the former
54530         wins.
54531
54532 2005-08-16  Bruno Haible  <bruno@clisp.org>
54533
54534         * modules/tls: New file.
54535         * MODULES.html.sh (Multithreading): Add tls.
54536
54537 2005-08-16  Bruno Haible  <bruno@clisp.org>
54538
54539         * modules/strnlen1: New file.
54540         * MODULES.html.sh (String handling): Add strnlen1.
54541
54542 2005-08-16  Bruno Haible  <bruno@clisp.org>
54543
54544         * modules/strcase (Files): Add m4/mbrtowc.m4.
54545         (Depends-on): Add strnlen1, mbchar.
54546
54547 2005-08-16  Bruno Haible  <bruno@clisp.org>
54548
54549         * modules/mbiter: New file.
54550         * MODULES.html.sh (Extended multibyte and wide character utilities):
54551         Add mbiter.
54552
54553 2005-08-16  Bruno Haible  <bruno@clisp.org>
54554
54555         * modules/mbfile: New file.
54556         * MODULES.html.sh (Extended multibyte and wide character utilities):
54557         Add mbfile.
54558
54559 2005-08-16  Bruno Haible  <bruno@clisp.org>
54560
54561         * modules/mbchar: New file.
54562         * MODULES.html.sh (Extended multibyte and wide character utilities):
54563         New section.
54564
54565 2005-08-16  Bruno Haible  <bruno@clisp.org>
54566
54567         * m4/tls.m4: New file, from GNU gettext.
54568
54569 2005-08-16  Bruno Haible  <bruno@clisp.org>
54570
54571         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
54572         always.
54573         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
54574
54575 2005-08-16  Bruno Haible  <bruno@clisp.org>
54576
54577         * m4/mbiter.m4: New file.
54578
54579 2005-08-16  Bruno Haible  <bruno@clisp.org>
54580
54581         * m4/mbfile.m4: New file.
54582
54583 2005-08-16  Bruno Haible  <bruno@clisp.org>
54584
54585         * m4/mbchar.m4: New file.
54586
54587 2005-08-16  Bruno Haible  <bruno@clisp.org>
54588
54589         * lib/tls.h: New file, from GNU gettext.
54590         * lib/tls.c: New file, from GNU gettext.
54591
54592 2005-08-16  Bruno Haible  <bruno@clisp.org>
54593
54594         * lib/strnlen1.h: New file.
54595         * lib/strnlen1.c: New file.
54596
54597 2005-08-16  Bruno Haible  <bruno@clisp.org>
54598
54599         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
54600         (mbi_init): Update.
54601         (mbi_avail, mbi_advance): Let the iteration end before the terminating
54602         NUL byte, not after it.
54603
54604 2005-08-16  Bruno Haible  <bruno@clisp.org>
54605
54606         * lib/strcase.h (strcasecmp): Add note in comments.
54607         * lib/strncasecmp.c: Use code from strcasecmp.c.
54608         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
54609         (strcasecmp): Work correctly in multibyte locales.
54610
54611 2005-08-16  Bruno Haible  <bruno@clisp.org>
54612
54613         * lib/mbiter.h: New file.
54614
54615 2005-08-16  Bruno Haible  <bruno@clisp.org>
54616
54617         * lib/mbfile.h: New file.
54618
54619 2005-08-16  Bruno Haible  <bruno@clisp.org>
54620
54621         * lib/mbchar.h: New file.
54622         * lib/mbchar.c: New file.
54623
54624 2005-08-16  Bruno Haible  <bruno@clisp.org>
54625
54626         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
54627         the valid ones. Makes the comparison operations transitive:
54628         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
54629         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
54630
54631 2005-08-15  Simon Josefsson  <jas@extundo.com>
54632
54633         * modules/ssize_t (License): Change to 'unlimited'.
54634
54635         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
54636
54637 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54638
54639         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
54640         Add comments for each pending glibc patch.
54641
54642 2005-08-15  Bruno Haible  <bruno@clisp.org>
54643
54644         * lib/regex.h (__restrict_arr): Don't define to __restrict if
54645         __cplusplus is defined.
54646
54647 2005-08-14  Jim Meyering  <jim@meyering.net>
54648
54649         Sync from coreutils.
54650
54651         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
54652         Use the hash-table-based cycle-detection code not just when
54653         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
54654         Reported by James Youngman in
54655         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
54656         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
54657         FTS_TIGHT_CYCLE_CHECK.
54658         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
54659         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
54660         once again.
54661         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
54662         * lib/fts.c (fd_safer): Remove decl.
54663         Include fcntl--.h rather than unistd-safer.h
54664         (fts_safe_changedir): Don't call fd_safer; no longer needed
54665         now that we include fcntl--.h.
54666
54667 2005-08-12  Simon Josefsson  <jas@extundo.com>
54668
54669         * modules/getndelim2: Use ssize_t module.
54670         * modules/getnline: Likewise.
54671         * modules/safe-read: Likewise.
54672         * modules/xreadlink: Likewise.
54673
54674         * modules/ssize_t: New file.
54675
54676 2005-08-12  Simon Josefsson  <jas@extundo.com>
54677
54678         * m4/readline.m4: Look for termcap, curses or ncurses if required.
54679
54680 2005-08-12  Simon Josefsson  <jas@extundo.com>
54681
54682         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54683         ssize_t.
54684
54685 2005-08-12  Simon Josefsson  <jas@extundo.com>
54686
54687         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
54688         readline, getdelim and check_version.
54689         (Support for systems lacking ISO C 99: Sizes of integer types):
54690         Add size_max.
54691
54692 2005-08-12  Bruno Haible  <bruno@clisp.org>
54693
54694         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
54695
54696 2005-08-11  Simon Josefsson  <jas@extundo.com>
54697
54698         * modules/readline: New file.
54699
54700         * modules/strnlen (Files): Add strnlen.h.
54701
54702 2005-08-11  Simon Josefsson  <jas@extundo.com>
54703
54704         * m4/readline.m4: New file.
54705
54706 2005-08-11  Simon Josefsson  <jas@extundo.com>
54707
54708         * lib/readline.h, readline.c: New file.
54709
54710 2005-08-11  Simon Josefsson  <jas@extundo.com>
54711
54712         * doc/gnulib.texi (Initial import, Finishing touches): Mention
54713         gl_AVOID.
54714
54715 2005-08-11  Bruno Haible  <bruno@clisp.org>
54716
54717         * lib/strnlen.h (strnlen): Change parameter name to match comment.
54718
54719 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
54720
54721         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
54722
54723 2005-08-10  Simon Josefsson  <jas@extundo.com>
54724
54725         * tests/test-iconvme.c: New file.
54726
54727 2005-08-10  Simon Josefsson  <jas@extundo.com>
54728
54729         * m4/strnlen.m4: New file.
54730
54731         * m4/strndup.m4: Don't check for strnlen declaration, done in
54732         strnlen.m4.
54733
54734 2005-08-10  Simon Josefsson  <jas@extundo.com>
54735
54736         * lib/strndup.c: Use strnlen.h.
54737
54738         * lib/strnlen.h: New file.
54739
54740 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
54741
54742         * README: Typos.
54743
54744 2005-08-02  Simon Josefsson  <jas@extundo.com>
54745
54746         * modules/readline: New file.
54747
54748 2005-08-02  Simon Josefsson  <jas@extundo.com>
54749
54750         * modules/getdelim: New file.
54751
54752         * modules/getline: Rewrite, don't use getndelim2.
54753
54754 2005-08-02  Simon Josefsson  <jas@extundo.com>
54755
54756         * m4/getline.m4: Separate out getdelim stuff into separate module.
54757
54758         * m4/getdelim.m4: New file.
54759
54760 2005-08-02  Simon Josefsson  <jas@extundo.com>
54761
54762         * lib/getline.h, getline.c: Rewrite.
54763
54764         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
54765
54766 2005-07-31  Bruno Haible  <bruno@clisp.org>
54767
54768         * lib/lock.h (gl_lock_initializer): New macro.
54769         (gl_lock_define_initialized): Use it.
54770         (gl_rwlock_initializer): New macro.
54771         (gl_rwlock_define_initialized): Use it.
54772         (gl_recursive_lock_initializer): New macro.
54773         (gl_recursive_lock_define_initialized): Use it.
54774
54775 2005-07-30  Karl Berry  <karl@gnu.org>
54776
54777         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
54778         Report from Ben Pfaff, regarding getopt.
54779
54780 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
54781
54782         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
54783         normal way.
54784         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
54785         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
54786         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
54787         (gl_GETOPT): Use the new macros.  Most of the implementation
54788         is moved to the new macros.  This is for programs like Emacs
54789         that don't want all the functionality of gl_GETOPT.
54790
54791 2005-07-26  Bruno Haible  <bruno@clisp.org>
54792
54793         * m4/lock.m4: Update from GNU gettext.
54794
54795 2005-07-26  Bruno Haible  <bruno@clisp.org>
54796
54797         * lib/lock.h: Update from GNU gettext.
54798         * lib/lock.c: Update from GNU gettext.
54799
54800 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
54801
54802         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
54803         obsolescent AC_TRY_RUN.  Include the default includes files, for
54804         'exit'.
54805
54806 2005-07-24  Bruno Haible  <bruno@clisp.org>
54807
54808         * modules/visibility: New file.
54809         * MODULES.html.sh (Misc): Add visibility.
54810
54811 2005-07-24  Bruno Haible  <bruno@clisp.org>
54812
54813         * m4/visibility.m4: New file.
54814
54815 2005-07-24  Bruno Haible  <bruno@clisp.org>
54816
54817         * doc/visibility.texi: New file.
54818
54819 2005-07-22  Bruno Haible  <bruno@clisp.org>
54820
54821         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
54822         $(ALLOCA_H), redundant through BUILT_SOURCES.
54823         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
54824         redundant through BUILT_SOURCES.
54825         * modules/byteswap (Makefile.am): Remove explicit dependency on
54826         $(BYTESWAP_H), redundant through BUILT_SOURCES.
54827         * modules/fnmatch (Makefile.am): Remove explicit dependency on
54828         $(FNMATCH_H), redundant through BUILT_SOURCES.
54829         * modules/getopt (Makefile.am): Remove explicit dependency on
54830         $(GETOPT_H), redundant through BUILT_SOURCES.
54831         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
54832         redundant through BUILT_SOURCES.
54833         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
54834         redundant through BUILT_SOURCES.
54835         * modules/stdbool (Makefile.am): Remove explicit dependency on
54836         $(STDBOOL_H), redundant through BUILT_SOURCES.
54837         * modules/stdint (Makefile.am): Remove explicit dependency on
54838         $(STDINT_H), redundant through BUILT_SOURCES.
54839         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
54840         Remove explicit dependency on $(SYSEXITS_H).
54841         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
54842
54843 2005-07-18  Simon Josefsson  <jas@extundo.com>
54844
54845         * lib/check-version.c (check_version): Accept identical versions too.
54846
54847 2005-07-18  Bruno Haible  <bruno@clisp.org>
54848
54849         * modules/lock: New file.
54850         * MODULES.html.sh (Multithreading): New section.
54851
54852 2005-07-18  Bruno Haible  <bruno@clisp.org>
54853
54854         * m4/lock.m4: New file, from GNU gettext.
54855
54856 2005-07-18  Bruno Haible  <bruno@clisp.org>
54857
54858         * lib/lock.h: New file, from GNU gettext.
54859         * lib/lock.c: New file, from GNU gettext.
54860
54861 2005-07-18  Bruno Haible  <bruno@clisp.org>
54862
54863         * lib/lock.h (gl_once_t): New type.
54864         (gl_once_define, gl_once): New macros.
54865         * lib/lock.c (fresh_once): New variable.
54866         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
54867         functions.
54868
54869 2005-07-16  Simon Josefsson  <jas@extundo.com>
54870
54871         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
54872         workaround, suggested by Bruno.
54873
54874 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
54875
54876         * modules/xalloc (Depends-on): Add xalloc-die.
54877         * modules/xvasprintf (Depends-on): Add xalloc-die.
54878
54879 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
54880
54881         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
54882         with a minor change.
54883
54884 2005-07-15  Bruno Haible  <bruno@clisp.org>
54885
54886         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
54887         When using lib/poll.c, define poll as rpl_poll.
54888
54889 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
54890
54891         * modules/argp (Depends-on): Remove unlocked-io.
54892
54893 2005-07-14  Derek Price  <derek@ximbiot.com>
54894
54895         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
54896         for glob symlink bug.
54897
54898 2005-07-14  Bruno Haible  <bruno@clisp.org>
54899
54900         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
54901         Instead, test for *_unlocked function declarations directly.
54902
54903 2005-07-11  Simon Josefsson  <jas@extundo.com>
54904
54905         * modules/size_max: New file.
54906
54907         * modules/xsize: Depend on size_max module for size_max.m4.
54908
54909 2005-07-11  Simon Josefsson  <jas@extundo.com>
54910
54911         * lib/size_max.h: New file.
54912
54913 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
54914
54915         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
54916         copyright symbol and the year.
54917         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
54918         (version_etc_va): Use parameterized copyright notice.
54919         Reword to conform to the current GNU coding standards.
54920
54921 2005-07-11  Karl Berry  <karl@gnu.org>
54922
54923         * doc/gnulib.texi (Quoting): new node.
54924         (Initial import): more info, from Patrice.
54925
54926 2005-07-11  Bruno Haible  <bruno@clisp.org>
54927
54928         * gnulib-tool (func_usage): Document option --avoid.
54929         (Command line options): Handle --avoid.
54930         (func_acceptable): New function.
54931         (func_modules_transitive_closure): Use it.
54932
54933 2005-07-11  Bruno Haible  <bruno@clisp.org>
54934
54935         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
54936         Reported by Jim Meyering.
54937
54938 2005-07-10  Bruno Haible  <bruno@clisp.org>
54939
54940         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
54941         Needed when size_t is smaller than 'unsigned int'.
54942         Reported by Paul Eggert.
54943
54944 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54945
54946         * modules/argp (Depends-on): Add unlocked-io
54947
54948 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54949
54950         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
54951         block of defines.
54952
54953 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
54954
54955         * config/srclist.txt: Comment out regcomp.c, since we have a porting
54956         fix now.
54957
54958 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
54959         and Paul Eggert  <eggert@cs.ucla.edu>
54960
54961         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
54962         in wint_t, not wchar_t.  Remove now-unnecessary cast.
54963
54964 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54965
54966         * modules/regex (Files): Add lib/regex_internal.c,
54967         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
54968         (Depends-on): Add extensions.
54969         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
54970
54971 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54972
54973         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
54974         pathconf.
54975         * m4/same.m4 (gl_SAME): Likewise.
54976         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
54977
54978         * m4/regex.m4: Adjust to new libc regex implementation.
54979         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
54980         all the .c and .h parts of (the new) regex.
54981         Quote the m4 stuff better.
54982         Check for RE_ICASE bug of old gnulib.
54983         Check for REG_STARTEND of recent libc.
54984         Rename local variables from jm_* to gl_*.
54985         Quote operand of "test -f".
54986         Say "recent enough" version of libc, not "version 2".
54987         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
54988         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
54989         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
54990         Remove check for btowc, isascii.
54991         Require AM_LANGINFO_CODESET.
54992
54993 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54994
54995         * lib/regex.c, regex.h: Sync from libc.
54996         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
54997         * lib/regexec.c:
54998         New files, synced from libc, except that regex_internal.h
54999         currently has a small porting fix.
55000
55001 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55002
55003         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
55004         regex_internal.c, regexec.c.
55005         Add regex_internal.h too, but as a comment, since the libc version
55006         is currently broken in gnulib mode.
55007
55008 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
55009
55010         Support programs like Emacs that use gnulib but not gettext.
55011         * MODULES.html.sh (Internationalization functions): Add gettext-h.
55012         * modules/gettext-h: New file.
55013         * modules/gettext (Files): Remove lib/gettext.h.
55014         (Depends-on): Add gettext-h.
55015         (Makefile.am): Remove lib_SOURCES.
55016         * modules/argmatch, modules/c-stack, modules/closeout:
55017         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
55018         * modules/execute, modules/file-type, modules/getaddrinfo:
55019         * modules/getopt, modules/human, modules/javacomp:
55020         * modules/javaexec, modules/mkdir-p, modules/obstack:
55021         * modules/openat, modules/pagealign_alloc, modules/pipe:
55022         * modules/quotearg, modules/regex, modules/rpmatch:
55023         * modules/unicodeio, modules/userspec, modules/version-etc:
55024         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
55025         * modules/xsetenv:
55026         Depend on gettext-h, not gettext.
55027
55028 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
55029
55030         * gnulib-tool (func_import): Add support for 'public domain' license.
55031         * modules/alloca, modules/atexit, modules/memmove:
55032         Now public domain, not GPL.
55033         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
55034         * modules/realloc, modules/strerror, modules/strtod:
55035         Now LGPL, not GPL.
55036
55037 2005-07-05  Bruno Haible  <bruno@clisp.org>
55038
55039         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
55040         autoconf CVS. Needed for mingw.
55041
55042 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55043
55044         Remove the dependency of the strftime module on the tzset module.
55045         * modules/strftime (Depends-on): Remove dependency on tzset.
55046
55047 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55048
55049         Remove the dependency of the strftime module on the tzset module.
55050         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
55051         gl_FUNC_TZSET_CLOBBER.
55052
55053 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55054
55055         Remove the dependency of the strftime module on the tzset module.
55056         * lib/strftime.c (my_strftime)
55057         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
55058         Copy the input structure, to work around some of the bug with
55059         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
55060         Solaris releases, you should also use the tzset module, but we won't
55061         require it as a dependency any more since we don't want LGPLed code
55062         to depend on GPLed code.
55063
55064 2005-07-02  Jim Meyering  <jim@meyering.net>
55065
55066         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
55067         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
55068         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
55069         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
55070
55071 2005-07-02  Jim Meyering  <jim@meyering.net>
55072
55073         * lib/backupfile.c (backup_args): Change a `0' to NULL.
55074
55075 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
55076
55077         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
55078         declares only 'struct timespec;' (!).
55079
55080 2005-07-01  Jim Meyering  <jim@meyering.net>
55081
55082         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
55083         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
55084         * lib/save-cwd.c, tempname.c:
55085         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
55086         and don't include <sys/file.h>).
55087
55088 2005-06-29  Jim Meyering  <jim@meyering.net>
55089
55090         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
55091         type name.  Use the variable name instead.
55092         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
55093         Likewise.
55094
55095 2005-06-28  Simon Josefsson  <jas@extundo.com>
55096
55097         * modules/check-version (Files): Add check-version.m4.
55098
55099 2005-06-28  Simon Josefsson  <jas@extundo.com>
55100
55101         * m4/check-version.m4: New file, suggested by Jim Meyering
55102         <jim@meyering.net>.
55103
55104 2005-06-28  Simon Josefsson  <jas@extundo.com>
55105
55106         * lib/check-version.h, lib/check-version.c: New files.
55107
55108 2005-06-28  Simon Josefsson  <jas@extundo.com>
55109
55110         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
55111         collision with global variable.  Better indentation.  Don't
55112         increment buffer pointer beyond buffer end.  Based on comments
55113         from Paul Eggert <eggert@cs.ucla.edu>.
55114
55115         * lib/base64.h: Indent.
55116
55117 2005-06-28  Simon Josefsson  <jas@extundo.com>
55118
55119         * doc/gnulib.texi (Library version handling): New section.
55120
55121 2005-06-28  Jim Meyering  <jim@meyering.net>
55122
55123         * check-module (find_included_lib_files): Hard-code another
55124         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
55125         but modules/fts-lgpl (correctly) does not list those files.
55126
55127         * modules/canonicalize (Files): Add lib/pathmax.h.
55128
55129 2005-06-25  Simon Josefsson  <jas@extundo.com>
55130
55131         * modules/check-version: New file.
55132
55133 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
55134
55135         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
55136         initializer of struct addrinfo, as an indication that we don't
55137         care how many members the structure has.
55138
55139 2005-06-24  Derek Price  <derek@ximbiot.com>
55140         and Bruno Haible  <bruno@clisp.org>
55141
55142         Remove stat module & update lstat.
55143         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
55144         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55145         * m4/stat.m4: Remove this file.
55146
55147 2005-06-24  Derek Price  <derek@ximbiot.com>
55148         and Bruno Haible  <bruno@clisp.org>
55149
55150         Remove stat module & update lstat.
55151         * lib/stat.c: Remove this file...
55152         (slash_aware_lstat): ...moving this content and its support...
55153         * lib/lstat.c (rpl_lstat): ...into here.
55154         * lib/lstat.h: New file.
55155
55156 2005-06-24  Derek Price  <derek@ximbiot.com>
55157         and Bruno Haible  <bruno@clisp.org>
55158
55159         Remove stat module & update lstat.
55160         * config/srclist.txt (libc sources): Remove stat.
55161
55162 2005-06-24  Derek Price  <derek@ximbiot.com>
55163         and Bruno Haible  <bruno@clisp.org>
55164
55165         Remove stat module & update lstat.
55166         * MODULES.html.sh (stat): Remove.
55167         * MODULES.html: Regenerated.
55168         * modules/lstat (Description): Correct function name.
55169         (Files): Add "lstat.h".
55170         (Depends-on): Remove stat, add xalloc, stat-macros.
55171         * modules/stat: Remove this file.
55172         (Include): Add "lstat.h", remove <sys/stat.h>.
55173
55174 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
55175
55176         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
55177         (ranged_convert): Don't save conversion in a temporary struct.
55178         This causes a warning with GCC 4.0.0, and anyway in the typical
55179         case it's not worth the extra 100 bytes or so of code.
55180         (ranged_convert, __mktime_internal): When calling a function via a
55181         pointer P, use P () rather than (*P) (), as we now assume C89 or
55182         better.
55183
55184 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55185
55186         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
55187         "who -r" failed to give output.  Problem reported by Tim Waugh.
55188
55189         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
55190         (xcalloc): Use it to avoid needless tests.
55191         Problem reported by Jim Meyering.
55192
55193 2005-06-20  Derek Price  <derek@ximbiot.com>
55194
55195         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
55196         unnecessary for Autoconfs > 2.59c.
55197
55198 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55199
55200         * lib/argp.h (__option_is_short): Check upper limit of
55201         __key. Isprint() requires its argument to have the value
55202         of an unsigned char or EOF.
55203
55204 2005-06-16  Jim Meyering  <jim@meyering.net>
55205
55206         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
55207         when either N or S is zero.
55208
55209 2005-06-16  Derek Price  <derek@ximbiot.com>
55210
55211         * m4/bison.m4: Declare YACC & YFLAGS precious.
55212
55213 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
55214
55215         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
55216         multibyte string or pattern, fall back on unibyte matching.
55217         Problem reported by James Youngman.
55218
55219 2005-06-08  Bruno Haible  <bruno@clisp.org>
55220
55221         * modules/csharpcomp: New file.
55222         * MODULES.html.sh (C#): Add csharpcomp.
55223
55224 2005-06-08  Bruno Haible  <bruno@clisp.org>
55225
55226         * m4/csharpcomp.m4: New file, from GNU gettext.
55227
55228 2005-06-08  Bruno Haible  <bruno@clisp.org>
55229
55230         * lib/csharpcomp.h: New file, from GNU gettext.
55231         * lib/csharpcomp.c: New file, from GNU gettext.
55232         * lib/csharpcomp.sh.in: New file, from GNU gettext.
55233
55234 2005-06-08  Bruno Haible  <bruno@clisp.org>
55235
55236         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
55237         warning on mingw.
55238
55239 2005-06-07  Derek Price  <derek@ximbiot.com>
55240
55241         Sync from CVS.
55242         * lib/glob_.h: Indent nested #ifdef.
55243
55244 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55245
55246         Sync from coreutils.
55247         Use "file name" when talking about file names, instead of "filename"
55248         or "path", as per the GNU coding standards.
55249         * lib/mkdir-p.c: Renamed from makepath.c.
55250         (make_dir_parents): Renamed from make_path.  All callers changed.
55251         * lib/mkdir-p.h: Likewise.  All includers changed.
55252         * lib/filenamecat.c: Renamed from path-concat.c.
55253         (file_name_concat): Renamed from path_concat.  All callers changed.
55254         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
55255         * lib/filenamecat.h: Likewise.  All includers changed.
55256         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
55257         in comments or local variable names.
55258         * lib/basename.c: Likewise.
55259         * lib/canonicalize.c, canonicalize.h: Likewise.
55260         * lib/dirname.c, dirname.h: Likewise.
55261         * lib/euidaccess.c: Likewise.
55262         * lib/exclude.c: Likewise
55263         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
55264         * lib/fsusage.c, fsuage.h: Likewise.
55265         * lib/fts.c, fts_.h: Likewise.
55266         * lib/getcwd.c: Likewise.
55267         * lib/getloadavg.c: Likewise.
55268         * lib/mkstemp.c: Likewise.
55269         * lib/mountlist.c, mountlist.h: Likewise.
55270         * lib/openat.c, openat.h: Likewise.
55271         * lib/readlink-stub.c: Likewise.
55272         * lib/readutmp.c, readutmp.h: Likewise.
55273         * lib/rename.c: Likewise.
55274         * lib/rmdir.c: Likewise.
55275         * lib/same.c: Likewise.
55276         * lib/savedir.c: Likewise.
55277         * lib/stripslash.c: Likewise.
55278         * lib/tempname.c: Likewise.
55279         * lib/xreadlink.c: Likewise.
55280         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
55281         All uses changed.
55282         * lib/exclude.h: Likewise.
55283
55284         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
55285         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55286         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
55287         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55288         * lib/pathmax.h: Include <limits.h> unconditionally, since other
55289         files have been getting away with it for years (MORE/BSD 4.3
55290         is extinct now).
55291         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
55292         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55293
55294         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
55295         Define to 256, not 255, as per modern POSIX.
55296
55297 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55298
55299         Sync from coreutils.
55300         Use "file name" when talking about file names, instead of "filename"
55301         or "path", as per the GNU coding standards.
55302         * MODULES.html.sh: mkdir-p renamed from makepath.
55303         filenamecat renamed from path-concat.
55304         * modules/filenamecat: Renamed from modules/path-concat.
55305         (Files): filenamecat.h and filenamecat.c renamed from
55306         path-concat.h and path-concat.c.
55307         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
55308         (Include): filenamecat.h, not path-concat.h.
55309         * modules/mkdir-p: Renamed from modules/makepath.
55310         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
55311         makepath.c.
55312         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
55313         (Include): mkdir-p.h, not makepath.h.
55314
55315 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55316
55317         Sync from coreutils.
55318         * m4/mkdir-p.m4: Renamed from makepath.m4.
55319         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
55320         Rename files from makepath.c to mkdir-p.c, and from
55321         makepath.h to mkdir-p.h.
55322         * m4/filenamecat.m4: Renamed from path-concat.m4.
55323         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
55324         Rename files from path-concat.c to filenamecat.c,
55325         and from path-concat.h to filenamecat.h.
55326         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
55327         "file name" in local variables or comments.
55328         * m4/rename.m4: Likewise.
55329
55330 2005-06-01  Bruno Haible  <bruno@clisp.org>
55331
55332         * modules/csharpexec: New file.
55333         * MODULES.html.sh (C#): New section.
55334
55335 2005-06-01  Bruno Haible  <bruno@clisp.org>
55336
55337         * m4/csharp.m4: New file, from GNU gettext.
55338         * m4/csharpexec.m4: New file, from GNU gettext.
55339
55340 2005-06-01  Bruno Haible  <bruno@clisp.org>
55341
55342         * lib/csharpexec.h: New file, from GNU gettext.
55343         * lib/csharpexec.c: New file, from GNU gettext.
55344         * lib/csharpexec.sh.in: New file, from GNU gettext.
55345
55346 2005-05-31  Derek Price  <derek@ximbiot.com>
55347             Paul Eggert  <eggert@cs.ucla.edu>
55348
55349         Sync from cvs.
55350         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
55351
55352 2005-05-31  Derek Price  <derek@ximbiot.com>
55353             Paul Eggert  <eggert@cs.ucla.edu>
55354
55355         Sync from cvs.
55356         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
55357
55358 2005-05-29  Derek Price  <derek@ximbiot.com>
55359
55360         * config/srclist.txt (glob_.h, glob.c): Add these files.
55361
55362 2005-05-29  Derek Price  <derek@ximbiot.com>
55363
55364         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
55365         * modules/glob: New file.
55366         * modules/getlogin_r: Add link to POSIX spec in description.
55367
55368 2005-05-29  Derek Price  <derek@ximbiot.com>
55369             Paul Eggert  <eggert@cs.ucla.edu>
55370
55371         * m4/glob.m4: New file.
55372
55373 2005-05-29  Derek Price  <derek@ximbiot.com>
55374             Paul Eggert  <eggert@cs.ucla.edu>
55375
55376         * lib/glob_.h, lib/glob.c: New files.
55377
55378 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55379
55380         * modules/fts (Files): Remove m4/inttypes-pri.m4.
55381         * modules/fts-lgpl (Depends-on): Remove gettext.
55382
55383 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55384
55385         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
55386         and don't require gt_INTTYPES_PRI.
55387
55388 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55389
55390         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
55391
55392         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
55393         the configuration hassle isn't worth it.
55394         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
55395         (LONGEST_MODIFIER, PRIuMAX): Remove.
55396
55397 2005-05-27  Bruno Haible  <bruno@clisp.org>
55398
55399         * lib/getlogin_r.h: Remove second include of <stddef.h>.
55400
55401 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
55402
55403         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
55404         _POSIX_PTHREAD_SEMANTICS for Solaris.
55405
55406 2005-05-25  Derek Price  <derek@ximbiot.com>
55407
55408         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
55409
55410 2005-05-25  Derek Price  <derek@ximbiot.com>
55411             Paul Eggert  <eggert@cs.ucla.edu>
55412
55413         * modules/getlogin_r, m4/getlogin_r.m4: New files.
55414         * lib/getlogin_r.c, getlogin_r.h: New files.
55415
55416 2005-05-25  Bruno Haible  <bruno@clisp.org>
55417             Derek Price  <derek@ximbiot.com>
55418
55419         * lib/getlogin_r.h: Simplify API documentation.
55420
55421 2005-05-23  Derek Price  <derek@ximbiot.com>
55422
55423         * modules/minmax (Files): Add m4/minmax.m4.
55424         (configure.ac): Add gl_MINMAX.
55425
55426 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
55427
55428         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
55429         so that unistd-safer.h (GPL'ed code) need not be included.
55430
55431 2005-05-22  Bruno Haible  <bruno@clisp.org>
55432
55433         * m4/minmax.m4: New file.
55434         Based on a patch by Derek Price <derek@ximbiot.com>.
55435
55436 2005-05-22  Bruno Haible  <bruno@clisp.org>
55437
55438         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
55439         (INT64_MIN): Fix definition.
55440         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
55441
55442         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
55443         NEED_SIGNED_INT_TYPES.
55444
55445         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
55446         HAVE_SYSTEM_INTTYPES.
55447
55448 2005-05-22  Bruno Haible  <bruno@clisp.org>
55449
55450         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
55451         Also include <sys/param.h> if it defines MIN, MAX.
55452         Based on a patch by Derek Price <derek@ximbiot.com>.
55453
55454 2005-05-21  Jim Meyering  <jim@meyering.net>
55455
55456         * modules/fts (Files): Add m4/inttypes-pri.m4.
55457         (Depends-on): Add lstat and remove gettext.  Alphabetize.
55458
55459 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55460
55461         New fts module.
55462         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
55463         (setup_dir, free_dir): New functions.
55464         (enter_dir, leave_dir): Define trivial
55465         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
55466         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
55467         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
55468         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
55469         Move to fts-cycle.c.
55470         (fts_open): Use setup_dir.
55471         (fts_close): Use free_dir.
55472         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
55473         This adds a label and some gotos, but the alternatives were messier.
55474         Check for memory allocation failure when entering a dir.
55475         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
55476         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
55477         (FTS): New member fts_cycle, that is a union that contains the
55478         old active_dir_ht and cycle_state.  All uses changed to mention
55479         fts_cycle.ht and fts_cycle.state.
55480         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
55481         fts.c, with the following changes:
55482         (setup_dir, free_dir): New functions.
55483         (enter_dir): Now returns bool.  Return true if successful, false
55484         if memory exhausted.  All callers changed.
55485         Do not bother partly cleaning up on
55486         memory allocation failure; that is free_dir's job.
55487         However, free ad if hash_insert fails, to avoid memory leak.
55488         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
55489         fts->fts_options to see which union member to use.
55490
55491 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55492
55493         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
55494         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
55495
55496 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55497
55498         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
55499
55500 2005-05-20  Jim Meyering  <jim@meyering.net>
55501
55502         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
55503         Now a macro, to pacify GCC.
55504
55505 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
55506
55507         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
55508         of -1.
55509
55510 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
55511
55512         * lib/chown.c (rpl_chown): Return -1 on failure.
55513
55514 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
55515
55516         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
55517         Don't check for stddef.h.
55518         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
55519         don't use its results.
55520         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
55521         since we include them unconditionally.  Don't require
55522         AM_STDBOOL_H, since stdbool is a prerequisite.
55523         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
55524         since we assume C89 or better.
55525         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
55526         as we don't use their results.
55527         Don't check for fchdir, memmove, memset, strrchr, as we use
55528         them unconditionally.
55529         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
55530         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
55531
55532 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
55533
55534         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
55535         Include <stddef.h> unconditionally, since we assume C89 now.
55536         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
55537         * lib/fts.c: Include fts_.h first, to check interface.
55538         Do not include intprops.h; no longer needed.
55539         Include cycle-check.h and hash.h, since fts_.h no longer does.
55540         Remove unnecessary casts of closedir to void.
55541         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
55542         decide whether to decrement nlinks.
55543         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
55544         (FTS): Use struct hash_table * instead of Hash_table, so that
55545         we no longer need to include hash.h here.
55546
55547 2005-05-18  Jim Meyering  <jim@meyering.net>
55548
55549         * modules/dirfd (License): Change to LGPL.  Most of the code
55550         is already in the public domain.
55551
55552 2005-05-18  Jim Meyering  <jim@meyering.net>
55553
55554         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
55555         Reported by Yoann Vandoorselaere.
55556
55557 2005-05-17  Jim Meyering  <jim@meyering.net>
55558
55559         * m4/fts.m4: New file, from coreutils.
55560
55561 2005-05-17  Jim Meyering  <jim@meyering.net>
55562
55563         * lib/fts.c, lib/fts_.h: New files, from coreutils.
55564
55565 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55566
55567         Sync from coreutils.
55568         * m4/unlinkdir.m4: New file.
55569
55570 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55571
55572         Sync from coreutils.
55573         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
55574         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
55575         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
55576         White space changes only.
55577         * lib/makepath.c (make_path): Port to hosts where leading "//" is
55578         special.
55579         * lib/yesno.c: Include getline.h, not ctype.h.
55580         (yesno): Don't remove leading white space; POSIX doesn't allow it.
55581         Use getline to remove arbitrary restriction on response length.
55582
55583 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55584
55585         * config/srclist-update: Spell out "Street" in FSF postal
55586         mail address; this is the style the FSF seems to prefer.
55587
55588         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
55589         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
55590         this updates FSF postal mail address.
55591
55592         Sync from coreutils.
55593         * modules/unlinkdir: New file.
55594         * modules/yesno (Depends-on): Add getline.
55595         * MODULES.html.sh (File system functions): Add unlinkdir.
55596
55597 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55598
55599         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
55600         lib/strsep.h:
55601         Change the initial comment to refer to GPL, not LGPL.
55602         gnulib-tool will change it to LGPL as needed.
55603
55604         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
55605         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
55606         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
55607         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
55608         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
55609         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
55610         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
55611         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
55612         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
55613         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
55614         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
55615         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
55616         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
55617         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
55618         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
55619         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
55620         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
55621         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
55622         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
55623         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
55624         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
55625         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
55626         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
55627         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
55628         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
55629         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
55630         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
55631         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
55632         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
55633         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
55634         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
55635         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
55636         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
55637         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
55638         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
55639         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
55640         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
55641         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
55642         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
55643         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
55644         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
55645         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
55646         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
55647         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
55648         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
55649         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
55650         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
55651         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
55652         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
55653         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
55654         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
55655         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
55656         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
55657         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
55658         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
55659         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
55660         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
55661         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
55662         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
55663         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
55664         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
55665         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
55666         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
55667         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
55668         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
55669         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
55670         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
55671         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
55672         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
55673         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
55674         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
55675         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
55676         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
55677         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
55678         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
55679         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
55680         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
55681         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
55682         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
55683         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
55684         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
55685         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
55686         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
55687         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
55688         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
55689         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
55690         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
55691         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
55692         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
55693         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
55694         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
55695         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
55696         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
55697         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
55698         lib/yesno.c, lib/yesno.h:
55699         Update FSF postal mail address.
55700
55701 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55702
55703         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
55704         tests/test-memmem.c, tests/test-stpncpy.c:
55705         Update FSF postal mail address.
55706
55707 2005-05-13  Bruno Haible  <bruno@clisp.org>
55708
55709         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
55710         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
55711         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
55712         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
55713         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
55714         Add support for 64-bit integers in the MSVC compiler.
55715
55716 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55717
55718         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
55719
55720 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
55721
55722         * gnulib-tool (func_import): Sort and uniquify recommended includes.
55723
55724 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
55725
55726         * doc/getdate.texi (General date syntax): Don't say that date
55727         date --iso-8601=ns generates acceptable dates; it doesn't yet.
55728         Problem reported by Nic Ferrier.
55729
55730 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55731
55732         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
55733         specified in ai_socktype. Fix invalid ai_protocol
55734         check. ai_protocol is usually set to 0 or depending on
55735         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
55736         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
55737         ai_socktype / ai_protocol in the returned addrinfo structure.
55738
55739 2005-05-10  Simon Josefsson  <jas@extundo.com>
55740
55741         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
55742         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55743
55744 2005-05-10  Karl Berry  <karl@gnu.org>
55745
55746         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
55747         (from http://www.gnu.org/licenses).
55748         * doc/COPYING.LIB: also rename to COPYING.LESSER.
55749         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
55750         fdl.texi suffices.
55751
55752 2005-05-10  Karl Berry  <karl@gnu.org>
55753
55754         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
55755         (COPYING.DOC): remove.
55756
55757         * config/srclist-update: new FSF address.
55758
55759 2005-05-10  Derek Price  <derek@ximbiot.com>
55760
55761         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
55762         possible.
55763
55764 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55765             Bruno Haible  <bruno@clisp.org>
55766
55767         * modules/inet_ntop: New file.
55768         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55769         inet_ntop.
55770
55771 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55772             Bruno Haible  <bruno@clisp.org>
55773
55774         * m4/inet_ntop.m4: New file.
55775
55776 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55777             Bruno Haible  <bruno@clisp.org>
55778
55779         * lib/inet_ntop.h: New file.
55780         * lib/inet_ntop.c: New file, from glibc with modifications.
55781
55782 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
55783
55784         * modules/time_r (License): Change to LGPL.
55785         * modules/extensions (License): Change to LGPL.  Actually,
55786         the license is more permissive than that, but currently gnulib-tool
55787         doesn't know how to handle more-permissive licenses.
55788
55789         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
55790         Problem reported by Dave Love.
55791
55792 2005-05-08  Jim Meyering  <jim@meyering.net>
55793
55794         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
55795         blank.
55796
55797 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
55798
55799         * modules/argmatch (Depends-on): Add stdbool.
55800         * modules/backupfile (Depends-on): Likewise.
55801         * modules/chdir-long (Depends-on): Likewise.
55802         * modules/closeout (Depends-on): Likewise.
55803         * modules/cycle-check (Depends-on): Likewise.
55804         * modules/dirname (Depends-on): Likewise.
55805         * modules/fnmatch (Depends-on): Likewise.
55806         * modules/fsusage (Depends-on): Likewise.
55807         * modules/fwriteerror (Depends-on): Likewise.
55808         * modules/getcwd (Depends-on): Likewise.
55809         * modules/getloadavg (Depends-on): Likewise.
55810         * modules/hard-locale (Depends-on): Likewise.
55811         * modules/makepath (Depends-on): Likewise.
55812         * modules/mountlist (Depends-on): Likewise.
55813         * modules/nanosleep (Depends-on): Likewise.
55814         * modules/posixtm (Depends-on): Likewise.
55815         * modules/quotearg (Depends-on): Likewise.
55816         * modules/readtokens (Depends-on): Likewise.
55817         * modules/readtokens0 (Depends-on): Likewise.
55818         * modules/readutmp (Depends-on): Likewise.
55819         * modules/save-cwd (Depends-on): Likewise.
55820         * modules/strftime (Depends-on): Likewise.
55821         * modules/userspec (Depends-on): Likewise.
55822         * modules/utimecmp (Depends-on): Likewise.
55823         * modules/xgetcwd (Depends-on): Likewise.
55824         * modules/xnanosleep (Depends-on): Likewise.
55825         * modules/xstrtod (Depends-on): Likewise.
55826         * modules/yesno (Depends-on): Likewise.
55827
55828 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
55829
55830         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
55831         needless checks.
55832
55833 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55834
55835         Merge from coreutils.  Among other things,
55836         add bulletproofing for cases where stdin, stdout, or stderr are closed.
55837         * lib/fd-safer.c: New file.
55838         * lib/fcntl-safer.h, open-safer.c: Remove.
55839         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
55840         * lib/dup-safer.c: Include unistd-safer.h first.
55841         Don't include errno.h.
55842         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
55843         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
55844         * lib/file-type.c: Rely on file-type.h change.
55845         * lib/getloadavg.c: Include unistd-safer.h.
55846         (getloadavg): Use safer open.
55847         * lib/getusershell.c: Include "stdio-safer.h".
55848         (getusershell): Use safer fopen.
55849         * lib/long-options.c (long_options): Use NULL rather than 0.
55850         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
55851         'free'.
55852         * lib/modechange.c: Likewise.
55853         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
55854         (MODE_DONE): New constant.
55855         (struct mode_change): Remove 'next' member.
55856         (make_node_op_equals): New function; like the old one of the
55857         same name, except it allocates an array.
55858         (mode_compile, mode_create_from_ref): Use it.
55859         (mode_compile): Allocate result as an array, not a linked list.
55860         Parse octal string ourself, so that we catch mistakes like "+0".
55861         (mode_adjust): Arg is an array, not a linked list.
55862         * lib/modechange.c: Include stat-macros.h, xalloc.h.
55863         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
55864         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
55865         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
55866         Remove.  This is now stat-macros.h's job.
55867         (talloc): Remove.  All callers replaced by xalloc, so that
55868         our invokers don't have to worry about reporting memory failures.
55869         (make_node_op_equals): Remove.
55870         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
55871         New constants.
55872         (struct mode_change): Moved here from modechange.h.
55873         (mode_append_entry): Remove.
55874         (mode_compile): Remove MASKED_OPS arg, since it encouraged
55875         apps to have incorrect behavior.  Use simpler algorithm for head
55876         and tail.  Don't futz with umask; that's now the job of mode_adjust.
55877         Detect more invalid usages rather than having somewhat-random behavior.
55878         Don't insert an "a=" action, as that leads to incorrect behavior.
55879         (mode_compile, mode_create_from_ref): Return NULL on error instead
55880         of an enum, since now there's only one way to have an error.  All
55881         callers changed.
55882         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
55883         at the correct time.  Simplify calculation of "+u" and its ilk.
55884         Don't mishandle "+X".
55885         (mode_free): Remove "register" and localize decls.
55886         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
55887         (struct mode_change): Move to modechange.c; callers don't
55888         need to see this stuff.
55889         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
55890         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
55891         (mode_change, mode_adjust): Reflect the new signatures noted above.
55892         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
55893         that might redefine system include files.
55894         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
55895         (my_usleep): Use NULL rather than (void *) 0.
55896         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
55897         Use siginterrupt to specify that system calls should be interrupted.
55898         (rpl_nanosleep): Move initialization of suspended closer to call of
55899         my_usleep.
55900         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
55901         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
55902         (desirable_utmp_entry): New function.
55903         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
55904         using x2nrealloc, to simplify logic.
55905         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
55906         size calculation.  Do not assume utmp file is a regular file.
55907         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
55908         (READ_UTMP_CHECK_PIDS): New constant.
55909         * lib/save-cwd.c: Include unistd-safer.h.
55910         (save_cwd): Use fd_safer.
55911         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
55912         [!_LIBC] Include "stat-macros.h" instead.
55913         * lib/unistd-safer.h (fd_safer): New decl.
55914
55915 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55916
55917         * modules/getloadavg (Depends-on): Add unistd-safer.
55918         * modules/getusershell (Depends-on): Add stdio-safer.
55919         * modules/lstat (Depends-on): Remove xalloc.
55920         * modules/mkstemp (Depends-on): Add stat-macros.
55921         * modules/modechange (Depends-on): Remove xstrtol.
55922         Add stat-macros, xalloc.
55923         * modules/save-cwd (Depends-on): Add unistd-safer.
55924         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
55925         * modules/unistd-safer (Files): Add lib/fd-safer.c
55926         (Makefile.am): Remove lib_SOURCES.
55927
55928         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
55929         Remove fcntl-safer; unistd-safer supersedes it.
55930
55931 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55932
55933         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
55934         AC_HEADER_STAT.
55935         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
55936         (gl_PREREQ_CHOWN): Remove.
55937         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
55938         it.  Don't require AC_HEADER_STAT.
55939         (gl_PREREQ_LSTAT): Remove.
55940         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
55941         Don't require AC_HEADER_STAT.
55942         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
55943         (gl_PREREQ_RMDIR): Remove.
55944         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
55945         mention stat-macros.h or AC_HEADER_STAT, since we'll make
55946         the stat-macros module a prerequisite.
55947         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
55948         * m4/filemode.m4 (gl_FILEMODE): Likewise.
55949         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
55950         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
55951         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
55952         variable names.
55953         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
55954         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
55955         variable prefixes.
55956         * m4/fcntl-safer.m4: Remove.
55957         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
55958         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
55959         Invoke gl_PREREQ_FD_SAFER.
55960         (gl_PREREQ_FD_SAFER): New macro.
55961         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
55962         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
55963         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
55964         Remove duplicate call to AC_LIBOBJ(readutmp).
55965         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
55966
55967         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
55968         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
55969
55970 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55971
55972         * MODULES.html.sh (Misc): Add byteswap.
55973
55974 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55975
55976         * modules/getcwd (Depends-on): Add extensions.
55977         * modules/openat (Depends-on): Likewise.
55978
55979 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55980
55981         * modules/byteswap: New file.
55982
55983 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55984
55985         * m4/byteswap.m4: New file.
55986
55987 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55988
55989         * lib/byteswap_.h: New file.
55990
55991 2005-04-25  Karl Berry  <karl@gnu.org>
55992
55993         * m4/gettext.m4: Update from GNU gettext 0.14.4.
55994
55995 2005-04-25  Albert Chin  <china@thewrittenword.com>
55996
55997         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
55998         Toolkit C bug.
55999
56000 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
56001
56002         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
56003         (func_ln_if_changed) Remove forcibly for no error message
56004         in case file does not exist.
56005
56006 2005-04-19  Simon Josefsson  <jas@extundo.com>
56007
56008         * gnulib-tool (Options): Make --symlink mean --symbolic.
56009
56010 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
56011
56012         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
56013
56014 2005-04-16  Simon Josefsson  <jas@extundo.com>
56015
56016         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
56017
56018 2005-04-15  Simon Josefsson  <jas@extundo.com>
56019
56020         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
56021
56022 2005-04-15  Simon Josefsson  <jas@extundo.com>
56023
56024         * gnulib-tool: Rename --symlink to --symbolic.
56025
56026 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
56027
56028         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
56029         symbolic links to files instead of copying/moving.  Add --aux-dir,
56030         specifying directory relative --dir where auxiliary build tools
56031         are placed.
56032
56033 2005-04-14  Bruno Haible  <bruno@clisp.org>
56034
56035         * modules/allocsa (License): Change to LGPL.
56036         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
56037
56038 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
56039
56040         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
56041         that "UTC +1 second" continues to work.  Problem reported
56042         by Dmitry V. Levin.
56043         (relunit_snumber): New rule.
56044         (relunit): Use it.
56045
56046 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
56047
56048         * lib/getdate.y (universal_time_zone_table): New constant.
56049         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
56050         universal_time_zone_table.
56051         (lookup_zone): Prefer universal_time_zone_table to
56052         local_time_zone_table, so that "GMT" time stamps are allowed in
56053         London during the summer.  Problem reported by Ian Abbott.
56054
56055 2005-04-12  Jim Meyering  <jim@meyering.net>
56056
56057         * lib/human.c (humblock): Set *options even when returning due to
56058         xstrtoumax conversion failure.  Thanks to a used-uninitialized
56059         warning from gcc-4.
56060
56061 2005-04-09  Jim Meyering  <jim@meyering.net>
56062
56063         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
56064         -Wuninitialized: initialize tm0.tm_year.
56065
56066 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
56067
56068         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
56069         count, since there's no maximum.  All uses changed.
56070         Add member dsts_seen.
56071         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
56072         not being INT_MAX.
56073         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
56074         Use pc_rels_seen to decide whther a date is absolute.
56075
56076         * lib/getdate.y (number): Don't overwrite year.
56077         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
56078         check.
56079
56080 2005-04-02  Simon Josefsson  <jas@extundo.com>
56081
56082         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
56083         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
56084
56085 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
56086
56087         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
56088         where no absolute path name can be longer than PATH_MAX.
56089
56090 2005-03-27  Jim Meyering  <jim@meyering.net>
56091
56092         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
56093
56094 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
56095
56096         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
56097         "one's complement" -> "ones' complement" in comment, as per Knuth.
56098         "value of type" -> "type or expression" in comment.
56099         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
56100
56101 2005-03-26  Jim Meyering  <jim@meyering.net>
56102
56103         Comment nits.
56104         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
56105         Correct typos: s/or/of/.
56106
56107 2005-03-26  Jim Meyering  <jim@meyering.net>
56108
56109         * modules/check-include-files: Move to ../ and rename to...
56110         * check-module: ...this.
56111
56112 2005-03-25  Jim Meyering  <jim@meyering.net>
56113
56114         * modules/xvasprintf (Files): Add xalloc.h.
56115
56116 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56117
56118         * modules/gettext (Files): config/config.rpath ->
56119         build-aux/config.rpath
56120         * modules/iconv (Files): Likewise.
56121         Problem reported by Oskar Liljeblad.
56122
56123 2005-03-23  Jim Meyering  <jim@meyering.net>
56124
56125         * modules/check-include-files: New script to check for
56126         missing dependencies, multiple includes, etc.
56127
56128         * modules/c-strtold (Depends-on): Add xalloc.
56129         * modules/c-strtod (Depends-on): Add xalloc.
56130         * modules/hash (Depends-on): Add xalloc.
56131         (Files): Remove lib/xalloc.h.
56132
56133         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
56134         * modules/userspec (Files): Add lib/inttostr.h.
56135
56136 2005-03-23  Jim Meyering  <jim@meyering.net>
56137
56138         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
56139
56140 2005-03-22  Jim Meyering  <jim@meyering.net>
56141
56142         * modules/stat-macros: New module.
56143         * modules/canonicalize, modules/euidaccess, modules/file-type,
56144         * modules/filemode, modules/lchown, modules/makepath,
56145         * modules/rmdir, modules/stat: Depend on new stat-macros module
56146         rather than listing lib/stat-macros.h manually.
56147         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
56148
56149 2005-03-22  Jim Meyering  <jim@meyering.net>
56150
56151         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
56152
56153 2005-03-22  Bruno Haible  <bruno@clisp.org>
56154
56155         * config/srclist.txt: Replace target directory 'config' with
56156         'build-aux'.
56157         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
56158         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
56159         ../build-aux/.
56160
56161 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
56162
56163         * modules/chdir-long (Depends-on): Add mempcpy.
56164
56165         * modules/acl, modules/backupfile, modules/c-strtod,
56166         modules/c-strtold, modules/canon-host, modules/canonicalize,
56167         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
56168         modules/exclude, modules/exitfail, modules/file-type,
56169         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
56170         modules/getdate, modules/getline, modules/getpagesize,
56171         modules/getpass, modules/getugroups, modules/group-member,
56172         modules/hard-locale, modules/hash, modules/human, modules/idcache,
56173         modules/inttostr, modules/long-options, modules/makepath,
56174         modules/md5, modules/memcasecmp, modules/memcoll,
56175         modules/modechange, modules/mountlist, modules/path-concat,
56176         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
56177         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
56178         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
56179         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
56180         modules/strftime, modules/strndup, modules/strverscmp,
56181         modules/timespec, modules/unlocked-io, modules/userspec,
56182         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
56183         modules/yesno:
56184         Remove lib_SOURCES line from Makefile.am section, as this is now
56185         done automatically by the corresponding Autoconf macro.
56186
56187 2005-03-21  Jim Meyering  <jim@meyering.net>
56188
56189         Changes imported from coreutils.
56190
56191         * lib/cycle-check.c: Don't include xalloc.h.
56192
56193         * lib/path-concat.c: Don't include assert.h.
56194         (path_concat): Remove assertion that would have triggered
56195         for ABASE starting with more than one slash.
56196         Reported by Andreas Schwab.
56197
56198         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
56199         properly when ABASE is an absolute file name.
56200         Correct the description of this function.
56201         Include <assert.h>.
56202         Add an assertion and a test driver.
56203         This fixes a bug introduced on 2004-07-02.
56204         Andreas Schwab reported the resulting failure of cp --parents:
56205         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
56206
56207 2005-03-21  Jim Meyering  <jim@meyering.net>
56208
56209         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
56210         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
56211
56212 2005-03-21  Jim Meyering  <jim@meyering.net>
56213         and  Paul Eggert  <eggert@cs.ucla.edu>
56214
56215         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
56216         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
56217         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
56218         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
56219         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
56220         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
56221         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
56222         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
56223         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
56224         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
56225         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
56226         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
56227         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
56228         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
56229         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
56230         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
56231         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
56232         for these modules.
56233
56234 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
56235
56236         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
56237         (which shouldn't happen), generate nothing instead of returning 0
56238         immediately, so that nstrftime (NULL, ...) doesn't return 0.
56239
56240 2005-03-16  Bruno Haible  <bruno@clisp.org>
56241
56242         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
56243         HAVE_LONGLONG_64BIT.
56244
56245 2005-03-16  Bruno Haible  <bruno@clisp.org>
56246
56247         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
56248         HAVE_LONGLONG_64BIT.
56249
56250 2005-03-16  Bruno Haible  <bruno@clisp.org>
56251
56252         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
56253         HAVE_LONGLONG_64BIT.
56254
56255 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
56256
56257         * lib/strftime.c (my_strftime): Prepend space to format so that we can
56258         reliably distinguish strftime failure from empty output on POSIX
56259         hosts.
56260
56261 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
56262
56263         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
56264         (iconv_string): Don't guess a size-zero buffer, as that might cause
56265         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
56266         result would be 'too large', where 'too large' is (heuristically)
56267         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
56268         overflow concerns.  This will prevent some unwanted malloc failures
56269         when the inputs are very large.
56270
56271 2005-03-15  Karl Berry  <karl@gnu.org>
56272
56273         * config/srclist.txt (config.rpath): from gettext.
56274         * config/config.rpath: update.
56275
56276 2005-03-15  Bruno Haible  <bruno@clisp.org>
56277
56278         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
56279         to 'negate'.
56280
56281         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
56282         variable.
56283
56284         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
56285         results.
56286
56287 2005-03-14  Simon Josefsson  <jas@extundo.com>
56288
56289         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
56290         <fx@gnu.org>.
56291
56292 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
56293
56294         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
56295         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
56296         intprops.h.
56297         * lib/strtol.c: Likewise.
56298
56299 2005-03-14  Jim Meyering  <jim@meyering.net>
56300
56301         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
56302         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
56303         to be nonzero so that we (and caller) can detect the difference
56304         between a valid zero-length expansion and an error return, even
56305         when the underlying strftime fails before writing anything into
56306         that location.
56307
56308 2005-03-14  Bruno Haible  <bruno@clisp.org>
56309
56310         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
56311         Update from GNU gettext 0.14.3.
56312
56313 2005-03-10  Jim Meyering  <jim@meyering.net>
56314
56315         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
56316
56317 2005-03-10  Jim Meyering  <jim@meyering.net>
56318
56319         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
56320         so that this module works on systems without fchdir.
56321
56322 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
56323
56324         Factor int-properties macros into a single file, except for
56325         glibc-related files.
56326         * lib/intprops.h: New file.
56327         * lib/getloadavg.c: Include it instead of limits.h.
56328         (INT_STRLEN_BOUND): Remove.
56329         * lib/human.c: Include intprops.h.
56330         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
56331         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
56332         302/1000.
56333         * lib/inttostr.h: Include intprops.h instead of limits.h.
56334         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
56335         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
56336         for consistency with intprops.h.
56337         (time_t_is_integer, twos_complement_arithmetic): Use them.
56338         * lib/sig2str.h: Include <signal.h>, intprops.h.
56339         (INT_STRLEN_BOUND): Remove.
56340         * lib/strftime.c (TYPE_SIGNED): Remove.
56341         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
56342         * lib/strtol.c: Adjust comments to match intprops.h.
56343         * lib/userspec.c: Include intprops.h.
56344         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
56345         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
56346         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
56347         instead of rolling our own expressions.
56348         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
56349
56350         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
56351         instead of int.
56352         (my_strftime): Do not mishandle years close to INT_MAX, by doing
56353         the right thing even if adding 1900 would overflow.  Similarly
56354         for tm_mon + 1 and tm_yday + 1.
56355         Make %Y always equivalent to %C%y, and similarly for %G and %g.
56356         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
56357         (DO_SIGNED_NUMBER): New macro.
56358         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
56359
56360 2005-03-07  Bruno Haible  <bruno@clisp.org>
56361
56362         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
56363
56364 2005-03-07  Bruno Haible  <bruno@clisp.org>
56365
56366         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
56367
56368 2005-03-04  Derek R. Price  <derek@ximbiot.com>
56369
56370         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
56371         (func_import): Only replace files via --import when they have actually
56372         changed.
56373
56374 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56375
56376         * m4/mmap-anon.m4: New file.
56377         * m4/pagealign_alloc.m4: New file.
56378
56379 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56380             Bruno Haible  <bruno@clisp.org>
56381
56382         * modules/pagealign_alloc: New file.
56383         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
56384
56385 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56386             Bruno Haible  <bruno@clisp.org>
56387
56388         * lib/pagealign_alloc.h: New file.
56389         * lib/pagealign_alloc.c: New file.
56390
56391 2005-03-03  Bruno Haible  <bruno@clisp.org>
56392
56393         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
56394         Use an all-permissive copyright notice, recommended by RMS.
56395
56396 2005-03-02  Bruno Haible  <bruno@clisp.org>
56397
56398         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
56399         of AIX, the replacement has to be done only after <string.h> is
56400         included, therefore not in config.h. stpncpy.h does the replacement,
56401         and stpncpy.c uses it.
56402
56403 2005-03-02  Bruno Haible  <bruno@clisp.org>
56404
56405         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
56406         stpncpy.c uses it.
56407
56408 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56409
56410         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
56411         The workaround isn't strictly needed for POSIX conformance, and
56412         it's too much of a pain to configure and maintain.  We'll ask
56413         people to fix their kernels instead.
56414         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
56415         (NANOSLEEP_BUG_WORKAROUND): Remove.
56416         (xnanosleep): Remove the workaround.
56417
56418 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56419
56420         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
56421         Reported by Derek Price.
56422         (Include): Add "timespec.h".
56423
56424         * modules/xnanosleep (Depends-on): Remove gethrxtime.
56425
56426 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56427
56428         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
56429         to detect nanosleep bug.
56430
56431 2005-03-01  Bruno Haible  <bruno@clisp.org>
56432
56433         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
56434
56435 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
56436
56437         * modules/gethrxtime: New file.
56438         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
56439         (Depends-on): Add gethrxtime.
56440         (configure.ac): Add gl_XNANOSLEEP.
56441         (Makefile.am): Remove lib_SOURCES line.
56442
56443 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56444
56445         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
56446         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
56447
56448 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56449
56450         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
56451         * lib/timespec.h (gettime): Return void, since it always
56452         succeeds now.  All uses changed.
56453         * lib/gettime.c (gettime) Likewise.
56454         [HAVE_NANOTIME]: Prefer nanotime.
56455         Assume gettimeofday succeeds, as POSIX requires.
56456         Assime time () succeeds, since other code already does.
56457         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
56458         (timespec_subtract): Remove.
56459         (NANOSLEEP_BUG_WORKAROUND): New constant.
56460         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
56461         things considerably.  Use it only on GNU/Linux hosts, since the
56462         workaround shouldn't be needed elsewhere.
56463
56464 2005-02-24  Bruno Haible  <bruno@clisp.org>
56465
56466         * modules/gettext (Files): Add m4/glibc2.m4.
56467
56468 2005-02-24  Bruno Haible  <bruno@clisp.org>
56469
56470         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
56471         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
56472         * m4/progtest.m4:
56473         Update from GNU gettext 0.14.2.
56474         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
56475
56476 2005-02-24  Bruno Haible  <bruno@clisp.org>
56477
56478         * lib/localcharset.c: Update from GNU gettext 0.14.2.
56479         * lib/config.charset: Update from GNU gettext 0.14.2.
56480
56481 2005-02-24  Bruno Haible  <bruno@clisp.org>
56482
56483         * lib/gettext.h: Update from GNU gettext 0.14.2.
56484
56485 2005-02-23  Simon Josefsson  <jas@extundo.com>
56486
56487         * m4/iconvme.m4: New file.
56488
56489 2005-02-23  Jim Meyering  <jim@meyering.net>
56490
56491         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
56492         change.
56493         Thanks to Bruno Haible for catching it.
56494
56495 2005-02-22  Simon Josefsson  <jas@extundo.com>
56496
56497         * modules/iconvme: New file.
56498
56499         * MODULES.html.sh: Add iconvme.
56500
56501 2005-02-22  Simon Josefsson  <jas@extundo.com>
56502
56503         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
56504
56505 2005-02-22  Simon Josefsson  <jas@extundo.com>
56506
56507         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
56508
56509 2005-02-22  Jim Meyering  <jim@meyering.net>
56510
56511         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
56512         s/ifndef/ifdef/.
56513
56514 2005-02-20  Neil Conway  <neilc@samurai.com>
56515
56516         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
56517         returned by OSX/Darwin if the specified buffer is not large
56518         enough for the hostname.
56519
56520 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56521
56522         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
56523         pass it to _help, otherwise the latter coredumps trying to
56524         dereference state.root_argp.
56525
56526 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56527
56528         * modules/chdir-long (Depends-on): Add memrchr.
56529         * modules/memrchr (Files): Add lib/memrchr.h.
56530         (Include): "memrchr.h".
56531
56532 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56533
56534         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
56535
56536 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56537
56538         * lib/memrchr.h: New file.
56539         * lib/chdir-long.c: Include it.
56540         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
56541         Don't bother including stddef.h.
56542
56543 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
56544
56545         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
56546         inclusion.
56547         Include <sys/types.h>, for dev_t.
56548         (ME_DUMMY, ME_REMOTE): Move from here....
56549         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
56550         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
56551         Dmitry V. Levin.
56552         Include mountlist.h first, to test the interface.
56553
56554 2005-01-29  Bruno Haible  <bruno@clisp.org>
56555
56556         * lib/progname.c (program_name): Initialize.
56557         Needed when linking statically on MacOS X.
56558
56559 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56560
56561         Sync from coreutils.
56562         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
56563         (Depends-on): Add c-strtod.
56564         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
56565
56566 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56567
56568         Sync from coreutils.
56569         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
56570
56571         Remove files that are specific to coreutils.
56572         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
56573
56574 2005-01-28  Bruno Haible  <bruno@clisp.org>
56575
56576         * modules/javacomp: New file.
56577         * MODULES.html.sh (Java): Add javacomp.
56578
56579 2005-01-28  Bruno Haible  <bruno@clisp.org>
56580
56581         * m4/javacomp.m4: New file, from GNU gettext.
56582
56583 2005-01-28  Bruno Haible  <bruno@clisp.org>
56584
56585         * lib/javacomp.sh.in: New file, from GNU gettext.
56586         * lib/javacomp.h: New file, from GNU gettext.
56587         * lib/javacomp.c: New file, from GNU gettext.
56588
56589 2005-01-26  Simon Josefsson  <jas@extundo.com>
56590
56591         * lib/gai_strerror.c: Use GPL in header.
56592
56593 2005-01-26  Bruno Haible  <bruno@clisp.org>
56594
56595         * modules/javaexec: New file.
56596         * MODULES.html.sh (Java): Add javaexec.
56597
56598 2005-01-26  Bruno Haible  <bruno@clisp.org>
56599
56600         * m4/javaexec.m4: New file, from GNU gettext.
56601
56602 2005-01-26  Bruno Haible  <bruno@clisp.org>
56603
56604         * lib/javaexec.sh.in: New file, from GNU gettext.
56605         * lib/javaexec.h: New file, from GNU gettext.
56606         * lib/javaexec.c: New file, from GNU gettext.
56607
56608 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56609
56610         * modules/lchown (Depends-on): Remove lchown.h
56611
56612 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56613
56614         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
56615         must be defined if the header file was not found, in order
56616         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
56617
56618 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56619
56620         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
56621         initializers for struct pentry_state.
56622         (__argp_error): Check return value of __asprintf
56623         (__argp_failure): Translate error message
56624
56625         * lib/argp-parse.c: Removed braces around the expansion of N_()
56626
56627 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56628
56629         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
56630         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
56631         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
56632         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
56633         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
56634         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
56635         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
56636         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
56637         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
56638         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
56639         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
56640         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
56641         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
56642         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
56643         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
56644         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
56645         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
56646         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
56647         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
56648         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
56649         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
56650         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
56651         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
56652         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
56653         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
56654         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
56655         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
56656         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
56657         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
56658         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
56659         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
56660         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
56661         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
56662         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
56663         xstrtol.m4, xstrtoumax.m4, yesno.m4:
56664         Use an all-permissive copyright notice, recommended by RMS.
56665
56666 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
56667
56668         * modules/chdir-long (Depends-on): Remove mempcpy.
56669
56670 2005-01-21  Jim Meyering  <jim@meyering.net>
56671
56672         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
56673         same value as for Solaris 9.
56674
56675         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
56676         component length.  This included changing the parameter to be
56677         of type `char *' rather than `char const *'.
56678         * lib/chdir-long.h (chdir_long): Update prototype.
56679
56680         * lib/openat.c (fdopendir, fstatat): New functions.
56681         * lib/openat.h: Include headers required for use of DIR and struct
56682         stat.
56683         [AT_SYMLINK_NOFOLLOW]: Define.
56684         (fdopendir, fstatat): Add prototypes.
56685
56686 2005-01-21  Bruno Haible  <bruno@clisp.org>
56687
56688         * modules/classpath: New file.
56689         * MODULES.html.sh (Java): Add classpath.
56690
56691 2005-01-21  Bruno Haible  <bruno@clisp.org>
56692
56693         * lib/classpath.h: New file, from GNU gettext.
56694         * lib/classpath.c: New file, from GNU gettext.
56695
56696 2005-01-20  Simon Josefsson  <jas@extundo.com>
56697
56698         * modules/version-etc-fsf: New file.
56699
56700 2005-01-20  Simon Josefsson  <jas@extundo.com>
56701
56702         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
56703         * lib/version-etc.c: Remove version_etc_copyright.
56704         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
56705         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
56706
56707 2005-01-20  Simon Josefsson  <jas@extundo.com>
56708
56709         * lib/base64.h (isbase64): Add.
56710
56711         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
56712         using a unsigned prototype, don't inline.
56713         (base64_decode): Use it.
56714
56715 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
56716
56717         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
56718         it.
56719
56720 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
56721
56722         * lib/save-cwd.c (save_cwd): Remove code to support the case
56723         where fchdir is missing or flaky.
56724
56725 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
56726
56727         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
56728
56729 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
56730
56731         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
56732         AC_LIBSOURCES now does this.
56733         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
56734         with new ullong_max module.
56735
56736 2005-01-19  Bruno Haible  <bruno@clisp.org>
56737
56738         * modules/sh-quote: New file.
56739         * MODULES.html.sh (Executing programs): Add sh-quote.
56740
56741 2005-01-19  Bruno Haible  <bruno@clisp.org>
56742
56743         * lib/sh-quote.h: New file, from GNU gettext.
56744         * lib/sh-quote.c: New file, from GNU gettext.
56745
56746 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56747
56748         Merge from coreutils.
56749         * m4/ullong_max.m4: New file.
56750         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
56751         (gl_MACROS): Assume localeconv exists.
56752
56753 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56754
56755         Merge changes from coreutils, as described below in several
56756         changelogs dated today.
56757
56758         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
56759         (O_DIRECTORY): Remove; not needed here, since "." must be
56760         a directory.  All uses removed.
56761         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
56762         universal on Suns, and we also need to test for IRIX.
56763         Revamp code to use 'if' rather than '#if'.
56764         Avoid unnecessary comparison of cwd->desc to 0.
56765
56766         * lib/utimens.c (futimens): Robustify the previous patch, by checking
56767         for known valid error numbers rather than observed invalid ones.
56768
56769 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56770
56771         * modules/ullong_max: New file.
56772
56773         * modules/chdir-long, modules/openat: New files.
56774         * modules/save-cwd (Depends-on): Depend on chdir-long.
56775         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
56776
56777 2005-01-18  Jim Meyering  <jim@meyering.net>
56778
56779         Merge from coreutils.
56780         * m4/chdir-long.m4, m4/openat.m4: New files.
56781         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
56782         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
56783         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
56784         is sane and DOES follow symlinks.  Besides, testing 20 different
56785         systems found no broken chown implementations.
56786         Prompted by a change in rsync's copy of this macro.
56787         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
56788
56789         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
56790
56791         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
56792         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
56793         NULL-means-set-to-current-time semantics.
56794         Remove temporary file immediately, rather than waiting
56795         for configure's at-exit trap code to do it.
56796
56797 2005-01-18  Jim Meyering  <jim@meyering.net>
56798
56799         * lib/version-etc.c (version_etc_copyright): Update copyright date.
56800
56801         * lib/utimens.c (futimens): Account for the fact that futimes
56802         can also fail with errno == ENOSYS or errno == ENOENT.
56803         Patch from Dmitry V. Levin.
56804
56805         Change the name of the robust chdir function from chdir to chdir_long.
56806         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
56807         (restore_cwd): Use chdir_long, not chdir.
56808         * lib/chdir-long.c: Renamed from chdir.c.
56809         * lib/chdir-long.h: Renamed from chdir.h.
56810         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
56811         Hurd.
56812
56813 2005-01-18  Bruno Haible  <bruno@clisp.org>
56814
56815         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
56816         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
56817         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
56818         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
56819         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
56820         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
56821         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
56822         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
56823         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
56824         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
56825         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
56826         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
56827         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
56828         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
56829         Use an all-permissive copyright notice, recommended by RMS.
56830
56831 2005-01-18  Bob Proulx  <bob@proulx.com>
56832
56833         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
56834         simplify offsetof() macro construct to avoid compile failure with
56835         native HP-UX 11.0 ANSI C compiler.
56836
56837 2005-01-17  Bruno Haible  <bruno@clisp.org>
56838
56839         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
56840         redundant because stpncpy.m4 takes care of it.
56841
56842 2005-01-17  Bruno Haible  <bruno@clisp.org>
56843
56844         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
56845
56846 2005-01-17  Bruno Haible  <bruno@clisp.org>
56847
56848         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
56849         used.
56850
56851 2005-01-17  Bruno Haible  <bruno@clisp.org>
56852
56853         * lib/fwriteerror.h (fwriteerror): Change specification to include
56854         fclose.
56855         * lib/fwriteerror.c: Include <stdbool.h>.
56856         (fwriteerror): At the end, close the file stream. Record whether
56857         stdout was already closed.
56858
56859 2005-01-17  Bruno Haible  <bruno@clisp.org>
56860
56861         * lib/execute.c (environ): Declare if needed.
56862         * lib/pipe.c (environ): Likewise.
56863         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
56864
56865 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56866
56867         * modules/argp: Depend on vsnprintf
56868
56869 2005-01-10  Jim Meyering  <jim@meyering.net>
56870
56871         * modules/closeout (Depends-on): Add atexit.
56872
56873 2005-01-06  Bruno Haible  <bruno@clisp.org>
56874
56875         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
56876
56877 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
56878
56879         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
56880         definitions to be after all include files, to avoid collisions.
56881         Problem reported by Bob Proulx.
56882
56883 2005-01-04  Jim Meyering  <jim@meyering.net>
56884
56885         Changes imported from coreutils.
56886         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
56887         as the mkstemp template, use a temporary directory and an
56888         8.3-friendly template to avoid trouble on systems like DJGPP.
56889         Reported by Juan M. Guerrero via Stepan Kasal.
56890         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
56891         close. Remove the temporary directory right away, rather than waiting
56892         for configure's at-exit trap code to do it.
56893         Suggestion from Stepan Kasal.
56894
56895 2005-01-01  Simon Josefsson  <jas@extundo.com>
56896
56897         * gnulib-tool: Print #include directives when --import'ing.
56898
56899 2004-12-28  Simon Josefsson  <jas@extundo.com>
56900
56901         * tests/test-base64.c: Include required header files.  Remove
56902         unused variables.
56903
56904 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56905
56906         * modules/error (Depends-on): Remove gettext.
56907
56908 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56909
56910         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
56911         not needed.  This removes a dependency on the gettext module.
56912         [defined _LIBC]: Do not include <libintl.h>; not needed.
56913
56914 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
56915
56916         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
56917         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
56918
56919 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
56920
56921         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
56922         HAVE_DECL_STRTOLD.
56923
56924 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56925
56926         * modules/getdate (Depends-on): Remove alloca-opt.
56927
56928 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56929
56930         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
56931
56932 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56933
56934         * lib/argp-parse.c: Include <stddef.h>.
56935         (alignof, alignto): New macros.
56936         (parser_init): Don't assume that void * is aligned sufficiently
56937         for struct option.
56938
56939         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
56940         need to extend the stack.
56941         (YYINITDEPTH): New macro, so that the initial stack isn't overly
56942         large.
56943
56944 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56945
56946         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
56947
56948 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
56949
56950         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
56951         (2004-10-24) change.  Apparently this was a false alarm.
56952
56953         * modules/getdate: Depend on alloca-opt, not alloca.
56954
56955 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
56956
56957         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
56958         Remove now-obsolete comment about AIX.
56959         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
56960         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
56961         (YYMAXDEPTH): New macro.
56962
56963 2004-12-18  Simon Josefsson  <jas@extundo.com>
56964
56965         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
56966
56967 2004-12-18  Bruno Haible  <bruno@clisp.org>
56968
56969         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
56970
56971 2004-12-18  Bruno Haible  <bruno@clisp.org>
56972
56973         * lib/fatal-signal.c (fatal_signals): Make non-const.
56974         (init_fatal_signals): New function.
56975         (uninstall_handlers, install_handlers): Ignore signals that were set to
56976         SIG_IGN.
56977         (at_fatal_signal): Call init_fatal_signals.
56978         (init_fatal_signal_set): Likewise. Ignore signals that were set to
56979         SIG_IGN.
56980         Reported by Paul Eggert.
56981
56982 2004-12-18  Bruno Haible  <bruno@clisp.org>
56983
56984         * doc/alloca.texi: New file.
56985         * doc/alloca-opt.texi: New file.
56986
56987 2004-12-17  Jim Meyering  <jim@meyering.net>
56988
56989         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
56990         Otherwise, install-sh could exit with improper exit status when
56991         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
56992
56993 2004-12-16  Simon Josefsson  <jas@extundo.com>
56994
56995         * tests/test-base64.c: Add license.
56996
56997 2004-12-15  Stepan Kasal  <address@hidden>
56998
56999         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
57000
57001 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
57002
57003         * modules/getcwd (Files): Add m4/d-ino.m4.
57004         Suggested by Mark D. Baushke.
57005
57006 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
57007
57008         * lib/getdate.y (textint): New member "negative".
57009         (time_zone_hhmm): New function.
57010         Expect 14 shift-reduce conflicts, not 13.
57011         (o_colon_minutes): New rule.
57012         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
57013         (yylex): Set the "negative" member of signed numbers.
57014
57015 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
57016
57017         * doc/getdate.texi (Time of day items, Time zone items):
57018         Describe new formats +00:00, UTC+00:00.
57019
57020 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
57021
57022         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
57023         spurious "-l"s.  Problem reported by Stepan Kasal.
57024
57025 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
57026
57027         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
57028         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
57029
57030 2004-12-04  Simon Josefsson  <jas@extundo.com>
57031
57032         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
57033         Vandoorselaere <yoann@prelude-ids.org>.
57034
57035 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57036
57037         Changes imported from coreutils.
57038         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
57039         exist.
57040         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
57041
57042 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57043
57044         Changes imported from coreutils.
57045         * lib/hard-locale.c: Assume <locale.h> exists.
57046         Include "strdup.h".
57047         (GLIBC_VERSION): New macro.
57048         (hard_locale): Assume setlocale exists.
57049         Rewrite to avoid #ifdef.
57050         Use strdup rather than malloc + strcpy.
57051         * lib/human.c: Assume <locale.h> exists.
57052         (human_readable): Assume localeconv exists.
57053
57054 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57055
57056         * modules/hard-locale (Depends-on): Add strdup.
57057
57058 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
57059
57060         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
57061         convert T2, not T.  (Imported from libc.)
57062
57063 2004-11-30  Simon Josefsson  <jas@extundo.com>
57064
57065         * modules/restrict (License): Change to LGPL.
57066
57067 2004-11-30  Simon Josefsson  <jas@extundo.com>
57068
57069         * m4/restrict.m4: Add copyright and copying conditions.
57070
57071 2004-11-30  Simon Josefsson  <jas@extundo.com>
57072
57073         * m4/base64.m4: New file.
57074
57075 2004-11-30  Simon Josefsson  <jas@extundo.com>
57076
57077         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
57078         base64.
57079
57080         * tests/test-base64.c: New file.
57081
57082         * modules/base64: New file.
57083
57084 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
57085
57086         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
57087         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
57088
57089         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
57090
57091 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
57092
57093         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
57094         (__getcwd.c): Don't restore errno; glibc doesn't.
57095         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
57096         first, falling back to our code only if its results look suspicious.
57097         Ensure that the resulting buffer is only as large as necessary.
57098
57099         * lib/readutmp.c: Include readutmp.h first.
57100         Include <errno.h>, since readutmp.h no longer does that.
57101         * lib/readutmp.h: Don't include <errno.h>,
57102         <sys/param.h>, <time.h>; not needed to establish interface.
57103         (errno): Remove decl.
57104         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
57105         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
57106         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
57107
57108 2004-11-28  Simon Josefsson  <jas@extundo.com>
57109
57110         * lib/base64.h, base64.c: New file.
57111
57112 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
57113
57114         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
57115
57116 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
57117
57118         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
57119         (Depends-on): Remove pathmax, same.  Add mempcpy.
57120         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
57121         (Makefile.am): Append getcwd.h to lib_SOURCES.
57122         (Include): Add getcwd.h.
57123         (Maintainer): Change from Jim Meyering to "all, glibc",
57124         since getdate now uses intended-for-glibc code.
57125         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
57126         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
57127
57128 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
57129
57130         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
57131         HP's ANSI C compiler.
57132         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
57133         Declaring int functions causes warnings on some modern systems and
57134         shouldn't be needed to compile on ancient ones.
57135         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
57136         defined.
57137
57138         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
57139         with the following changes.
57140         (__set_errno): Parenthesize properly.
57141         Include <stdbool.h>.
57142         (MIN, MAX, MATCHING_INO): New macros.
57143         (__getcwd): Define with prototype, not K&R form.
57144         Use heuristics to allocate default buffer on stack if possible.
57145         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
57146         behavior, and to avoid the PATH_MAX limit when computing
57147         ../../../../...
57148         Use MATCHING_INO to compare inode number to file.
57149         Check for arithmetic overflow in size calculations.
57150         Fix bug in reallocation of dot array that caused getcwd to fail
57151         on directories nested deeper than 75.
57152         Be more careful about saving errno on error.
57153         Do not use realloc; use only free+malloc, as this is a bit
57154         more flexible and avoids a needless copy operation.
57155         Do not inspect st_dev and st_ino for symbolic links; POSIX
57156         doesn't specify the latter.
57157         Check for closedir errors.
57158         Avoid needless casts.
57159         Use "#ifdef weak_alias" around weak_alias, to be like other
57160         glibc code.
57161         The following changes to getcwd.c have effect only when used in
57162         gnulib; they have no effect inside glibc proper.
57163         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
57164         as alloca isn't used.
57165         (alloca, __alloca): Likewise.
57166         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
57167         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
57168         unconditionally, as gnulib assumes C89 or better.
57169         Do not include <sys/param.h>.
57170         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
57171         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
57172         better.
57173         (NULL) [!defined NULL]: Remove; we assume C89 or better.
57174         Include <dirent.h> in a way that is compatible with modern Autoconf.
57175         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
57176         New macros, if not already defined.
57177         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
57178         Use "_LIBC", not "defined _LIBC", for consistency.
57179         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
57180         a mempcpy module.
57181         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
57182         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
57183         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
57184         credit only to Jim Meyering and adjust the copyright dates.
57185         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
57186         <stdlib.h>, <unistd.h>, "pathmax.h".
57187         Instead, include "xgetcwd.h" (first) and "getcwd.h".
57188         (INITIAL_BUFFER_SIZE): Remove.
57189         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
57190
57191 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
57192
57193         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
57194         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
57195         Use the _ONCE methods, for efficiency.
57196         Check for fcntl.h.  In test program, include <errno.h>
57197         and <fcntl.h> if available.  Remove old K&R cruft from
57198         test program.  Check for common errors in GNU/Linux,
57199         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
57200         don't do AC_LIBOBJ, as that's getcwd.m4's job.
57201         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
57202         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
57203         name accordingly.
57204         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
57205         accommodate new getcwd.c.
57206         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
57207         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
57208         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
57209         that's all we need now.
57210
57211 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57212
57213         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
57214         argp-parse.c depends on getopt internals, that means we should
57215         always use our getopt, to be on the safe side.
57216         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
57217         order not to spoil the result of an eventual previous invocation
57218         of gl_GETOPT_SUBSTITUTE.
57219
57220 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57221
57222         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
57223         redefinition warnings. To avoid them, include the defines
57224         in `#if !defined __need_getopt ... #endif'. The only place
57225         where __getopt_argv_const is used is in definitions
57226         of getopt_long and getopt_long_only below, which are as well
57227         protected by `#ifndef __need_getopt'.
57228         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
57229         __need_getopt after including <stdio.h> and <unistd.h> These
57230         headers might have defined it.
57231
57232 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
57233
57234         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
57235
57236 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
57237
57238         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
57239         (futimens): New function, which uses futimes if available.
57240         (futimens, utimens): Support timespec==NULL, with same semantics
57241         as utime and utimens.
57242         * lib/utimens.h (futimens): New decl.
57243
57244 2004-11-23  Jim Meyering  <jim@meyering.net>
57245
57246         * lib/getopt_.h: Remove trailing blanks.
57247
57248 2004-11-23  Jim Meyering  <jim@meyering.net>
57249
57250         * lib/__fpending.c: Add comment.
57251
57252 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
57253
57254         * modules/canonicalize (Depends-on): Add xreadlink.
57255         Problem reported by James Youngman.
57256
57257 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
57258
57259         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
57260         New macros.
57261         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
57262         optopt): Use them instead of invoking ## directly; otherwise, the
57263         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
57264
57265 2004-11-19  Bruno Haible  <bruno@clisp.org>
57266
57267         * lib/strtok_r.c: Move comments from here...
57268         * lib/strtok_r.h: ... to here.
57269
57270 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57271
57272         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
57273         implementations that mishandle size_t overflow.
57274
57275 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57276
57277         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
57278         might fail.  Problem reported by Yoann Vandoorselaere.
57279         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
57280         implementations that mishandle size_t overflow.
57281
57282 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57283
57284         * modules/canon-host (Depends-on): Add strdup.
57285
57286 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57287
57288         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
57289
57290 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57291
57292         * lib/canon-host.c: Include "strdup.h".
57293         (canon_host): Use getaddrinfo if available, so that IPv6 works.
57294         Use strdup instead of malloc/strcpy to duplicate strings.
57295
57296         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
57297         (human_space_before_unit): New constant.
57298         * lib/human.c (human_readable): Support it.
57299
57300         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
57301         (xgetcwd): Set errno correctly when failing.
57302         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
57303         the failure is actually due to a PATH_MAX problem.
57304
57305         Further getopt changes to make it more likely that glibc will
57306         buy the changes back.
57307         * lib/getopt.c (POSIXLY_CORRECT): New constant.
57308         (getopt): Use it, so to preserve glibc semantic
57309         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
57310         when compiling for libc.
57311         * lib/getopt_.h (__getopt_argv_const): Bring it back.
57312         (getopt_long, getopt_long_only): Use it.
57313
57314         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
57315         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
57316         (getopt): Argv is now char * const *, as per standard.
57317         (_getopt_internal_r, _getopt_internal): Argv is now char **,
57318         not char *__getopt_argv_const *.
57319         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
57320         _getopt_long_only_r): Likewise.
57321         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
57322         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
57323         _getopt_long_r, _getopt_long_only_r): Likewise.
57324         * lib/getopt_.h (__getopt_argv_const): Remove.
57325         (getopt): Argv is now char * const *, as per standard.
57326
57327         * lib/getdate.y (tORDINAL): New token.
57328         (day, relunit): Allow it for relative times.
57329         (relative_time_table): Use tORDINAL for ordinals.
57330
57331 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57332
57333         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
57334         Document that "second" isn't allowed as an ordinal number.
57335
57336 2004-11-16  Jim Meyering  <jim@meyering.net>
57337
57338         * modules/closeout (Depends-on): Add fpending.
57339
57340 2004-11-15  Jim Meyering  <jim@meyering.net>
57341
57342         * lib/closeout.c: Include "__fpending.h" once again.
57343         Include <stdbool.h>.
57344         (close_stdout): Don't fail just because stdout was closed initially,
57345         since some programs don't write to stdout in the normal course of
57346         operation (other than --version and --help), and we don't want this
57347         function to make e.g. `touch file >&-' fail.
57348         But do fail if it was closed and someone has tried to write to it.
57349         E.g., `printf foo >&-' must fail.
57350
57351 2004-11-13  Jim Meyering  <jim@meyering.net>
57352
57353         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
57354
57355 2004-11-12  Simon Josefsson  <jas@extundo.com>
57356
57357         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
57358         small doc fix is still pending.
57359
57360 2004-11-11  Simon Josefsson  <jas@extundo.com>
57361
57362         * modules/strtok_r: New file.
57363
57364         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57365         strtok_r.
57366
57367 2004-11-11  Simon Josefsson  <jas@extundo.com>
57368
57369         * m4/strtok_r.m4: New file.
57370
57371         * m4/getopt.m4: Replace opterr.
57372
57373 2004-11-11  Simon Josefsson  <jas@extundo.com>
57374
57375         * lib/strtok_r.h, strtok_r.c: New file.
57376
57377 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
57378
57379         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
57380         of replacing opterr, getopt, etc.  This should handle the
57381         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
57382
57383 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
57384
57385         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
57386         we can stop lying to compilers about the constness of argv when we
57387         are compiled outside glibc.
57388         (getopt, getopt_long, getopt_long_only): Use it.
57389         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
57390         _getopt_internal, getopt): Likewise.
57391         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
57392         _getopt_long_only_r): Likewise.
57393         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
57394         _getopt_long_r, _getopt_long_only_r): Likewise.
57395
57396         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
57397         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
57398         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
57399         the other external symbols.
57400         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
57401         declaration, since the above renaming now works around collisions.
57402
57403 2004-11-11  Jim Meyering  <jim@meyering.net>
57404
57405         * lib/linebreak.c: Remove trailing blanks.
57406         * lib/alloca_.h: Likewise.
57407         * lib/acosl.c: Likewise.
57408         * lib/euidaccess.c: Likewise.
57409         * lib/allocsa.h: Likewise.
57410
57411 2004-11-10  Simon Josefsson  <jas@extundo.com>
57412
57413         * m4/getaddrinfo.m4: New file.
57414
57415 2004-11-10  Simon Josefsson  <jas@extundo.com>
57416
57417         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
57418
57419 2004-11-10  Simon Josefsson  <jas@extundo.com>
57420
57421         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57422         getaddrinfo.
57423
57424         * modules/getaddrinfo: New file.
57425
57426 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57427
57428         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
57429
57430 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57431
57432         * lib/mktime.c (SHR): New macro, which is a portable
57433         substitute for >> that should work even on Crays.
57434         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
57435         Problem reported by Mark D. Baushke in
57436         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
57437         * lib/getdate.y (SHR): Likewise.
57438         (tm_diff): Use it.
57439         * lib/strftime.c (SHR): Likewise.
57440         (tm_diff): Use it.
57441         * lib/quotearg.c (struct quoting_options): Use unsigned int for
57442         quote_these_too, so that right shifts are well defined.  All uses
57443         changed.
57444
57445 2004-11-10  Jim Meyering  <jim@meyering.net>
57446
57447         Ensure that no close failure goes unreported.
57448         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
57449         return early when it seems there's nothing to flush.
57450         Don't include __fpending.h.
57451
57452 2004-11-10  Jim Meyering  <jim@meyering.net>
57453
57454         * modules/closeout (Depends-on): Remove fpending.
57455
57456 2004-11-10  Jim Meyering  <jim@meyering.net>
57457
57458         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
57459
57460 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57461
57462         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
57463         gl_FUNC_STRFTIME.
57464         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
57465         and AC_REQUIRE when possible, to avoid duplicate checks.
57466         Check for <wchar.h>.
57467
57468 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57469
57470         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
57471
57472 2004-11-09  Bruno Haible  <bruno@clisp.org>
57473
57474         * m4/sockpfaf.m4: New file.
57475
57476 2004-11-05  Bruno Haible  <bruno@clisp.org>
57477
57478         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
57479         Reported by Mark D. Baushke <mdb@cvshome.org>.
57480
57481 2004-11-04  Bruno Haible  <bruno@clisp.org>
57482
57483         2004-09-11  Bruno Haible  <bruno@clisp.org>
57484                 * allocsa.valgrind: New file.
57485         2004-02-06  Bruno Haible  <bruno@clisp.org>
57486                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
57487                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
57488                 Reported by Christopher Seip <chris.seip@hp.com>.
57489
57490 2004-11-04  Bruno Haible  <bruno@clisp.org>
57491
57492         * modules/allocsa (Files): Add lib/allocsa.valgrind.
57493         (Makefile.am): Distribute it.
57494
57495 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
57496
57497         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
57498         with errno == ERANGE if the buffer is too small.
57499         Problem reported by Mark D. Baushke.
57500
57501 2004-11-03  Albert Chin  <china@thewrittenword.com>
57502             Paul Eggert  <eggert@cs.ucla.edu>
57503
57504         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
57505         equivalent, substitute $ac_type for equivalent type rather than
57506         blindly using uint32_t *always* which won't work if uint32_t is not
57507         available.  Define _UINT32_T to work around typedef of uint32_t if
57508         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
57509         2.5.1.
57510
57511 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57512
57513         * m4/jm-macros.m4: Sync from coreutils.
57514         (gl_MACROS): Check for mbrlen, for pathchk.
57515         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
57516
57517 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57518
57519         * lib/xreadlink.c (MAXSIZE): New macro.
57520         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
57521         size does not exceed MAXSIZE.  Avoid cast.
57522         As suggested by Mark D. Baushke in
57523         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
57524         if readlink fails with buffer size just under MAXSIZE, try again
57525         with MAXSIZE.
57526
57527 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57528
57529         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
57530
57531 2004-11-02  Derek R. Price  <derek@ximbiot.com>
57532         and  Paul Eggert  <eggert@cs.ucla.edu>
57533
57534         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
57535         (get_date): Overparenthesize to avoid GCC warning.
57536
57537 2004-11-02  Bruno Haible  <bruno@clisp.org>
57538
57539         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
57540         returns void.
57541
57542 2004-11-02  Bruno Haible  <bruno@clisp.org>
57543
57544         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
57545         function returns void.
57546
57547 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57548
57549         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
57550         fflush_unlocked, flockfile, funlockfile, funlockfile,
57551         fputs_unlocked, putc_unlocked.
57552
57553 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57554
57555         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
57556         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
57557         already declared.
57558
57559 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57560
57561         * modules/getdate (Files): Add doc/getdate.texi.
57562         (Depends-on): Add setenv, xalloc.
57563
57564 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57565
57566         * lib/getdate.y: Add support for TZ="foo" within a date string.
57567         Fix some bugs near time_t boundaries.  Reject dates with
57568         out-of-range components, e.g., "Sept 31".
57569         Include <stdlib.h>, "setenv.h", "xalloc.h".
57570         (ISDIGIT_LOCALE): Remove; unused.
57571         Note that the TZ and time functions used here are not reentrant.
57572         (mktime_ok, get_tz): New functions.
57573         (TZBUFSIZE): New constant.
57574         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
57575         This requires that we sometimes generate our own TZ="XXX..." setting.
57576
57577 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57578
57579         * doc/getdate.texi: New file, from coreutils with modifications for
57580         the new TZ parsing.
57581
57582 2004-10-27  Derek R. Price  <derek@ximbiot.com>
57583
57584         * lib/mktime.c (not_equal_tm): Remove redundant check.
57585
57586 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57587
57588         * modules/regex (lib_SOURCES): Add regex.c.
57589         Reported by James Youngman in
57590         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
57591
57592 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57593
57594         * lib/getdate.y: Use Bison 1.875 features, and some minor
57595         code cleanups.  This change does not affect semantics.
57596         Don't include <stdlib.h>; no longer needed.
57597         Don't include unlocked-io.h; only the "#if TEST" code uses
57598         stdio, and performance isn't crucial there.
57599         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
57600         Bison 1.875 features as described below.
57601         All uses of "PC." replaced by "pc->".
57602         (YYSTYPE): Add a forward declaration.
57603         (yylex, yyerror): Use full prototypes in forward decls.
57604         Use "%pure-parser" rather than obsolescent "%pure_parser".
57605         Use %parse-param and %lex-param instead of obsolescent
57606         YYPARSE_PARAM and YYLEX_PARAM.
57607         (meridian_table, month_and_day_table, time_units_table,
57608         relative_time_table, time_zone_table, military_table,
57609         lookup_zone, lookup_word, get_date):
57610         Use NULL instead of 0 where appropriate.
57611         (to_hour): Avoid abort (), to avoid a dependency on
57612         stdlib.h.
57613         (yyerror, yylex): Now accepts parser_control * arg.
57614         (main) [TEST]: Use '\0' rather than 0 for char.
57615
57616 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57617
57618         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
57619
57620 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57621
57622         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
57623         It's now the caller's responsibility to handle the case where
57624         !HAVE_GETPAGESIZE && !defined getpagesize.
57625
57626         * lib/mktime.c (leapyear): Arg is long int, not int.
57627
57628 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
57629
57630         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
57631
57632 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57633
57634         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
57635         missing.  Problem reported by James Youngman.
57636
57637 2004-10-16  Simon Josefsson  <jas@extundo.com>
57638
57639         * gnulib-tool: Fix comments.  Fix parse problem.
57640         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
57641
57642 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
57643
57644         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
57645         implementation of getopt_long.  Problem reported by Alexander Taler in:
57646         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
57647
57648 2004-10-15  Bruno Haible  <bruno@clisp.org>
57649
57650         * gnulib-tool: Untabify. Initialize supplied_libname.
57651         (func_usage): More homogenous output.
57652         (func_modules_transitive_closure, func_modules_to_filelist,
57653         func_emit_lib_Makefile_am): New functions.
57654         (func_import): New function, extracted from big case statement. Use
57655         func_get_license, func_modules_transitive_closure,
57656         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
57657         opt_lgpl. Don't use test -a, as it's not portable.
57658         (func_create_testdir): Use func_modules_transitive_closure,
57659         func_modules_to_filelist, func_emit_lib_Makefile_am.
57660
57661 2004-10-15  Bruno Haible  <bruno@clisp.org>
57662
57663         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
57664
57665 2004-10-15  Bruno Haible  <bruno@clisp.org>
57666
57667         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
57668         the portions belonging to each module.
57669         Suggested by Derek Robert Price <derek@ximbiot.com>.
57670
57671 2004-10-12  Simon Josefsson  <jas@extundo.com>
57672
57673         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
57674         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
57675         to real functions.
57676
57677 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57678
57679         * modules/vsnprintf: New file.
57680
57681 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57682
57683         * m4/vsnprintf.m4: New file.
57684
57685 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57686
57687         * lib/vsnprintf.h: New file.
57688         * lib/vsnprintf.c: New file.
57689
57690 2004-10-11  Bruno Haible  <bruno@clisp.org>
57691
57692         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
57693         vsnprintf.
57694
57695 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57696
57697         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
57698
57699 2004-10-07  Bruno Haible  <bruno@clisp.org>
57700
57701         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
57702         fits into the provided buffer.
57703
57704 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
57705
57706         * lib/diacrit.c, diacrit.h: Add GPL notice.
57707
57708         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
57709         notice.
57710         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
57711         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
57712         This avoids a potential constant-folding bug.
57713
57714 2004-10-05  Bruno Haible  <bruno@clisp.org>
57715
57716         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
57717         for the declaration of strsep.
57718
57719 2004-10-05  Bruno Haible  <bruno@clisp.org>
57720
57721         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
57722
57723 2004-10-04  Simon Josefsson  <jas@extundo.com>
57724
57725         * modules/memmem: New file.
57726         * tests/test-memmem.c: New file.
57727         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
57728
57729 2004-10-04  Simon Josefsson  <jas@extundo.com>
57730
57731         * m4/memmem.m4: New file.
57732
57733 2004-10-04  Simon Josefsson  <jas@extundo.com>
57734
57735         * lib/memmem.h: New file.
57736         * lib/memmem.c: New file, taken from glibc.
57737
57738 2004-10-04  Simon Josefsson  <jas@extundo.com>
57739
57740         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
57741         '#ifdef USE_UNLOCKED_IO'.
57742
57743 2004-10-04  Simon Josefsson  <jas@extundo.com>
57744
57745         * config/srclist.txt: Add memmem from glibc.
57746
57747 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57748
57749         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
57750
57751         * modules/argmatch, modules/argp, modules/closeout, modules/error,
57752         modules/exclude, modules/getdate, modules/getline,
57753         modules/getndelim2, modules/getpass, modules/getpass-gnu,
57754         modules/getusershell, modules/linebuffer, modules/md5,
57755         modules/mountlist, modules/posixtm, modules/readtokens,
57756         modules/readutmp, modules/regex, modules/sha1,
57757         modules/version-etc, modules/yesno:
57758         Remove dependency on unlocked-io.
57759
57760 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57761
57762         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
57763
57764         * m4/unlocked-io.m4: Add copyright notice.
57765         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
57766
57767 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57768
57769         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
57770         * lib/xmalloc.c (xmemdup): Likewise.
57771         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
57772         XFREE): Remove these long-obsolescent macros.
57773         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
57774         * lib/xstrdup.c: Remove.
57775
57776         * lib/regex.c (re_comp): Cast gettext return value to char *,
57777         Problem reported by Martin Neitzel via Mark D. Baushke.
57778
57779 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57780
57781         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
57782         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
57783         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
57784         regex.c, sha1.c, version-etc.c, yesno.c:
57785         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
57786         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
57787         the includer's responsibility.
57788
57789         Sync from coreutils.
57790
57791         * lib/modechange.c (mode_compile): Don't decrement a pointer that
57792         points to the start of a string, as the C Standard says the
57793         resulting behavior is undefined.
57794
57795         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
57796         simple -> simple_backups, numbered_existing ->
57797         numbered_existing_backups, numbered -> numbered_backups
57798         to avoid shadowing problems.  All uses changed.
57799         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
57800         * lib/backupfile.c (check_extension, numbered_backup):
57801         Rename locals to avoid shadowing 'basename'.
57802         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
57803         once.
57804
57805         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
57806         * lib/.cvsignore: Add getopt.h.
57807
57808 2004-10-04  Bruno Haible  <bruno@clisp.org>
57809
57810         * modules/README: New file.
57811         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
57812         not a module.
57813
57814 2004-10-02  Jim Meyering  <jim@meyering.net>
57815
57816         * lib/dirfd.h, getpagesize.h: Add copyright notice.
57817
57818 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57819
57820         * modules/strsep: New file.
57821
57822 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57823
57824         * m4/strsep.m4: New file.
57825
57826 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57827
57828         * lib/strsep.h: New file.
57829         * lib/strsep.c: New file.
57830
57831 2004-10-01  Simon Josefsson  <jas@extundo.com>
57832
57833         * lib/snprintf.c (snprintf): Handle size==0.
57834
57835 2004-10-01  Simon Josefsson  <jas@extundo.com>
57836             Bruno Haible  <bruno@clisp.org>
57837
57838         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
57839         (snprintf): Declare 'args'.
57840
57841 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
57842
57843         * lib/snprintf.c: Remove comments as to why each header is needed.
57844
57845 2004-10-01  Bruno Haible  <bruno@clisp.org>
57846
57847         * MODULES.html.sh: Add strsep.
57848
57849 2004-09-30  Simon Josefsson  <jas@extundo.com>
57850
57851         * modules/snprintf: New file.
57852
57853 2004-09-30  Simon Josefsson  <jas@extundo.com>
57854
57855         * m4/snprintf.m4: New file.
57856
57857 2004-09-30  Simon Josefsson  <jas@extundo.com>
57858
57859         * lib/snprintf.h, lib/snprintf.c: New files.
57860
57861 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57862
57863         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
57864         (hol_entry_help): Never translate an empty string.
57865         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
57866         * lib/argp.h (OPTION_NO_TRANS): New option.
57867
57868 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
57869
57870         * modules/argp (Maintainer): Replace Simon Josefsson
57871         by Sergey Poznyakoff.
57872
57873 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
57874
57875         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
57876         changes merged back into glibc.
57877
57878 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
57879
57880         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
57881
57882 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
57883
57884         * lib/xvasprintf.c: Include xalloc.h.
57885         (xvasprintf): Use xalloc_die, not xmalloc_die.
57886
57887 2004-09-29  Bruno Haible  <bruno@clisp.org>
57888
57889         * modules/alloca-opt: New file, derived from modules/alloca.
57890         * modules/allocsa: Depend on alloca-opt instead of alloca.
57891         * modules/setenv: Likewise.
57892         * modules/vasnprintf: Likewise.
57893         * MODULES.html.sh: Add alloca-opt.
57894
57895 2004-09-28  Simon Josefsson  <jas@extundo.com>
57896
57897         * gnulib-tool: New parameter --lgpl, to asseert that modules are
57898         LGPL, and to replace license template from GPL to LGPL.
57899
57900 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
57901
57902         * modules/dummy: Change license to LGPL.
57903
57904 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
57905
57906         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
57907
57908 2004-09-24  Simon Josefsson  <jas@extundo.com>
57909
57910         * modules/minmax (License): Change from GPL to LGPL.
57911
57912 2004-09-23  Simon Josefsson  <jas@extundo.com>
57913
57914         * gnulib-tool (--import): Typo.
57915
57916 2004-09-23  Simon Josefsson  <jas@extundo.com>
57917
57918         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
57919
57920 2004-09-22  Bruno Haible  <bruno@clisp.org>
57921
57922         * modules/*: Add 'License' field.
57923         * gnulib-tool: Accept --extract-license option.
57924         (func_get_license): New function.
57925
57926 2004-09-21  Bruno Haible  <bruno@clisp.org>
57927
57928         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
57929         Reported by Simon Josefsson.
57930
57931 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57932
57933         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
57934         gl_AC_TYPE_LONG_LONG.
57935
57936 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57937
57938         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
57939
57940 2004-09-18  Simon Josefsson  <jas@extundo.com>
57941         and  Paul Eggert  <eggert@cs.ucla.edu>
57942
57943         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
57944         calls with autoreconf.  Define GL_LIB.
57945
57946 2004-09-14  Karl Berry  <karl@gnu.org>
57947
57948         * config/srclist.txt: unsync setenv.c, sigh.
57949
57950 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57951
57952         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
57953         Problem reported by Bruno Haible in:
57954         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
57955
57956 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57957
57958         * config/srclist.txt: Comment out argp-pvh.c.
57959
57960 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
57961
57962         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
57963         in case some system header has #define'd it.  Problem reported by
57964         Soeren D. Schulze in
57965         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
57966
57967 2004-09-09  Karl Berry  <karl@gnu.org>
57968
57969         * regex.[ch]: delete from the root.  These were supposed to be
57970                 synced with emacs cvs, but this has not happened for about
57971                 a year, and anyway nothing else uses emacs regex.[ch].
57972                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
57973                 lib/regex[.ch] is untouched.
57974
57975 2004-09-09  Bruno Haible  <bruno@clisp.org>
57976
57977         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
57978
57979 2004-09-09  Bruno Haible  <bruno@clisp.org>
57980
57981         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
57982         modifications.
57983         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
57984
57985 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
57986
57987         * modules/xvasprintf: New file.
57988         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
57989
57990 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
57991
57992         * lib/xvasprintf.h: New file.
57993         * lib/xvasprintf.c: New file.
57994         * lib/xasprintf.c: New file.
57995
57996 2004-09-08  Bruno Haible  <bruno@clisp.org>
57997
57998         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
57999
58000 2004-09-08  Bruno Haible  <bruno@clisp.org>
58001
58002         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
58003         length is > INT_MAX.
58004         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
58005         more.
58006
58007 2004-09-08  Bruno Haible  <bruno@clisp.org>
58008
58009         * lib/stdint_.h: New file, taken from GNU clisp.
58010
58011 2004-09-08  Bruno Haible  <bruno@clisp.org>
58012             Oskar Liljeblad  <oskar@osk.mine.nu>
58013
58014         * modules/stdint: New file.
58015         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
58016
58017 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58018
58019         Import from coreutils.
58020         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
58021         strings on unbounded length.  alloca's performance benefits aren't
58022         that important here.
58023         (V_STRDUP): Remove.
58024         (parse_with_separator): New function, with most of the internals
58025         of the old parse_user_spec.  Allow user to omit both user and group,
58026         for compatibility with FreeBSD.
58027         Clone only the user name, not the entire spec.
58028         Do not set *uid, *gid unless entirely successful.
58029         Avoid memory leak in some failing cases.
58030         Fix regression for USER.GROUP reported by Dmitry V. Levin in
58031         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
58032         (parse_user_spec): Rewrite to use parse_with_separator.
58033
58034 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58035
58036         * modules/userspec: Don't depend on alloca.
58037
58038 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58039
58040         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
58041
58042 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58043
58044         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
58045         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
58046         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
58047
58048 2004-08-16  Simon Josefsson  <jas@extundo.com>
58049
58050         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
58051         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
58052         Add --dry-run for --import.
58053         Let user provided command line parameters override configure.ac
58054         settings.
58055
58056 2004-08-12  Simon Josefsson  <jas@extundo.com>
58057
58058         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
58059         as discussed with Paul Eggert in threads rooted at
58060         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
58061         and
58062         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
58063         Before, the test was empty, and relied on ELIDE_CODE in source
58064         code.)
58065         (gl_PREREQ_GETOPT): New macro.
58066         (gl_GETOPT): Use them.
58067
58068 2004-08-12  Simon Josefsson  <jas@extundo.com>
58069
58070         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
58071         * lib/getopt_.h: Renamed from getopt.h.
58072
58073 2004-08-12  Simon Josefsson  <jas@extundo.com>
58074
58075         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
58076         Change default library name from libfoo to libgnu.
58077         Now, if you have a configure.ac that says:
58078                 gl_SOURCE_BASE(gl)
58079                 gl_M4_BASE(gl/m4)
58080                 gl_MODULES(error getopt etcetera)
58081                 gl_INIT
58082         you can import all you need by running:
58083                 ../gnulib/gnulib-tool --import
58084
58085         * modules/getopt (Files): Rename getopt.h to getopt_.h.
58086         (Makefile.am): Rewrite, use logic from argz.
58087         (Include): Use <getopt.h> instead of "getopt.h".
58088
58089 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58090
58091         * modules/argp (Files): Add m4/unlocked-io.m4.
58092         (Depends-on): Add extensions.
58093
58094 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58095
58096         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
58097         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
58098         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
58099         Check for program_invocation_name, program_invocation_short_name,
58100         flockfile, funlockfile, features.h, _getopt_long_only_r.
58101
58102 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58103
58104         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
58105         its complicated substitute.
58106         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
58107         and program_invocation_name.
58108         (__argp_basename) [!_LIBC]: Remove; the only use was
58109         replaced by its body.
58110         (__argp_short_program_name): Change condition from
58111         !defined __argp_short_program_name to
58112         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
58113         to match argp-namefrob.h.
58114         (__argp_failure): Don't assume strerror_r returns char *.
58115         * lib/argp-parse.c (N_): Define unconditionally.
58116         (argp_default_options): Fill out initializers with 0 to avoid
58117         gcc warnings.
58118
58119 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58120
58121         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
58122         getopt1.c.
58123
58124 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58125
58126         Merge from coreutils.
58127
58128         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
58129
58130         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
58131         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
58132
58133 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58134
58135         Merge from coreutils.
58136
58137         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
58138         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
58139         for Reliant Unix 5.43.
58140
58141         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
58142         (union fooround): Use uintmax_t, not long int.
58143         The rest is a merge from libc:
58144         [defined _LIBC]: Include <shlib-compat.h>.
58145         (_obstack) [defined _LIBC]: Remove after 2.3.4.
58146
58147         * lib/settime.c (settime): Recode to avoid warning with
58148         Sun Forte C 6U2.
58149
58150         * lib/strverscmp.c: Convert to UTF-8.
58151
58152 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58153
58154         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
58155         m4/uintmax_t.m4.
58156
58157 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58158
58159         * modules/xalloc-die: New file.
58160         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
58161
58162         * modules/md5 (Files): Add m4/uint32_t.m4.
58163         * modules/sha1: Renamed from modules/sha.
58164         (Files):
58165         Rename lib/sha.h to lib/sha1.h.
58166         Rename lib/sha.c to lib/sha1.c.
58167         Rename m4/sha.m4 to m4/sha1.m4.
58168         (lib_SOURCES): Likewise.
58169         (configure.ac): Rename gl_SHA to gl_SHA1.
58170         (Include): sha.h -> sha1.h.
58171
58172 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58173
58174         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
58175         * m4/sha1.m4: Renamed from sha.m4.
58176         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
58177
58178 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58179
58180         * lib/obstack.h (obstack_empty_p):
58181         Don't assume that chunk->contents is suitably aligned.
58182         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
58183         Likewise. Problem reported by Benno in
58184         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
58185
58186         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
58187         readable.  This could be improved further but it'd take some work.
58188
58189 2004-08-08  Simon Josefsson  <jas@extundo.com>
58190
58191         * modules/xgethostname (Depends-on): Remove exit and error (not
58192         used).
58193
58194         * modules/getpass-gnu: Add getpass.h.
58195         (Depends-on): Add stdbool.
58196         * modules/getpass: Add getpass.h.
58197
58198 2004-08-08  Simon Josefsson  <jas@extundo.com>
58199
58200         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
58201         Check getpass declaration.
58202
58203 2004-08-08  Simon Josefsson  <jas@extundo.com>
58204
58205         * lib/xgethostname.c: Don't include error.h (not used).
58206
58207         * lib/getpass.h: Add.
58208         * lib/getpass.c: Include getpass.h first.
58209
58210 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
58211
58212         * lib/xalloc-die.c: New file.
58213         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
58214         All uses removed.
58215         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
58216         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
58217         xalloc-die.c.
58218         (_, N_, xalloc_die): Move to xalloc-die.c.
58219         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
58220         so that we needn't mess with xalloc_msg_memory_exhausted.
58221
58222         * lib/sha1.h: Renamed from sha.h.
58223         (SHA1_H): Renamed from _SHA_H.
58224         (sha1_ctx): Renamed from sha_ctx.
58225         (sha1_init_ctx): Renamed from sha_init_ctx.
58226         (sha1_process_block): Renamed from sha_process_block.
58227         (sha1_process_bytes): Renamed from sha_process_bytes.
58228         (sha1_finish_ctx): Renamed from sha_finish_ctx.
58229         (sha1_read_ctx): Renamed from sha_read_ctx.
58230         (sha1_stream): Renamed from sha_stream.
58231         (sha1_buffer): Renamed from sha_buffer.
58232         * lib/sha1.c: Likewise; renamed from sha.c.
58233         Do not include <sys/types.h>.
58234         Include <stddef.h> rather than <stdlib.h>.
58235
58236 2004-08-08  Bruno Haible  <bruno@clisp.org>
58237
58238         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
58239         FILESYSTEM_PREFIX_LEN.
58240         * lib/progreloc.c: Likewise.
58241         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
58242
58243 2004-08-06  Simon Josefsson  <jas@extundo.com>
58244
58245         * modules/progname (Depends-on): Don't depend on stdbool.
58246
58247 2004-08-06  Simon Josefsson  <jas@extundo.com>
58248
58249         * modules/getsubopt: New file.
58250         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58251         getsubopt.
58252
58253 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58254
58255         More merge from coreutils.
58256
58257         * m4/utimens.m4, m4/utimecmp.m4: New files.
58258         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
58259         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
58260         prereq.m4, sha.m4: Import changes from coreutils.
58261
58262 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58263
58264         More merge from coreutils.
58265         * modules/raise, modules/readtokens0, modules/utimens:
58266         * modules/utimecmp, module/xnanosleep: New files.
58267         * modules/strftime: Add lib/strftime.h.
58268         Change include from <time.h> to "strftime.h".
58269         * modules/yesno: Add lib/yesno.h.
58270         * modules/backupfile: Remove lib/addext.c.
58271         * modules/euidaccess: Add stat-macros.h.
58272         * modules/canonicalize, modules/euidaccess,
58273         modules/filemode, modules/lchown, modules/makepath,
58274         modules/rmdir, modules/stat: Likewise.
58275
58276 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58277
58278         Merge from tar.
58279         * lib/argp-help.c (make_hol, hol_append): Don't assume that
58280         SIZE_MAX is a valid preprocessor constant.
58281         (__argp_basename): Change from "#ifndef _LIBC"
58282         to "#ifndef __argp_short_program_name", so that
58283         we don't compile these functions for tar.
58284
58285         More merges from coreutils.
58286         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
58287         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
58288         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
58289         * lib/addext.c: Remove; no longer needed.
58290         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
58291         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
58292         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
58293         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
58294         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
58295         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
58296         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
58297         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
58298         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
58299         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
58300         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
58301         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
58302         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
58303         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
58304         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
58305         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
58306         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
58307         Import changes from coreutils.
58308
58309 2004-08-05  Simon Josefsson  <jas@extundo.com>
58310
58311         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
58312
58313 2004-08-05  Simon Josefsson  <jas@extundo.com>
58314
58315         * m4/getsubopt.m4: New file.
58316
58317 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58318
58319         Merge from coreutils.
58320
58321         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
58322         * m4/getcwd-path-max.m4: New files.
58323
58324         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
58325         FILESYSTEM_PREFIX_LEN ->
58326         FILE_SYSTEM_PREFIX_LEN.
58327         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
58328         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
58329         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
58330         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
58331
58332         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
58333         prerequisite modules now handle the DOS stuff.
58334         Don't check for unistd.h.
58335
58336 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58337
58338         Merge from coreutils.
58339
58340         * lib/.gdb-history: Remove; this doesn't belong here.
58341
58342         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
58343         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
58344         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
58345         * lib/getcwd.c: New files.
58346
58347         * lib/dirname.h: Include <stdbool.h>.
58348         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
58349         for consistency with POSIX terminology.  All uses changed.
58350         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
58351         (strip_trailing_slashes): Use bool for booleans.
58352         * lib/stripslash.c (strip_trailing_slashes): Likewise.
58353
58354         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
58355         sometimes returns a positive errno value even when it succeeds.
58356         (print_errno_message) [!LIBC]: Fall back on strerror if
58357         __strerror_r fails.
58358
58359         * lib/path-concat.c (mempcpy): Don't define if a system header defines
58360         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
58361         (longest_relative_suffix): New function.
58362         (path_concat): Use it.  Assume first argument is not NULL.
58363         Port to DOS.  Omit redundant separators.
58364         Report an error instead of returning NULL.
58365         Use mempcpy instead of memcpy.
58366         (xpath_concat): Remove: not declared or used.
58367
58368         * lib/same.h: Include <stdbool.h>
58369         (same_name): Return bool, not int.
58370         * lib/same.c (same_name): Likewise.
58371         (errno): Don't declare; we assume C89 or better now.
58372
58373         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
58374         if not already defined.
58375
58376         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
58377         * lib/dup-safer.c (errno): Likewise.
58378
58379 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58380
58381         Merge from coreutils.
58382         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
58383         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
58384         * modules/path-concat: Don't depend on strdup.
58385
58386 2004-08-03  Simon Josefsson  <jas@extundo.com>
58387
58388         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
58389         * lib/progname.h: Don't include stdbool.h.
58390
58391 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58392
58393         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
58394         * MODULES.html.sh (func_all_modules): Remove fatal.
58395
58396 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58397
58398         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
58399
58400 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58401
58402         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
58403         working.
58404
58405 2004-08-02  Simon Josefsson  <jas@extundo.com>
58406
58407         * lib/getsubopt.h: New file, with comments from Bruno Haible.
58408         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
58409         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
58410
58411 2004-08-01  Simon Josefsson  <jas@extundo.com>
58412
58413         * lib/xgetdomainname.c: Include stdlib.h, for free().
58414
58415 2004-07-19  Bruno Haible  <bruno@clisp.org>
58416
58417         * MODULES.html.sh (func_all_modules): Add dummy.
58418
58419 2004-07-16  Simon Josefsson  <jas@extundo.com>
58420
58421         * modules/dummy: New file.
58422
58423 2004-07-16  Simon Josefsson  <jas@extundo.com>
58424
58425         * lib/dummy.c: New file.
58426
58427 2004-07-16  Bruno Haible  <bruno@clisp.org>
58428
58429         * lib/backupfile.h: Add extern "C" for C++.
58430         * lib/closeout.h: Likewise.
58431         * lib/copy-file.h: Likewise.
58432         * lib/findprog.h: Likewise.
58433         * lib/full-write.h: Likewise.
58434         * lib/pathname.h: Likewise.
58435         * lib/progname.h: Likewise.
58436         * lib/stpcpy.h: Likewise.
58437         * lib/stpncpy.h: Likewise.
58438         * lib/strcase.h: Likewise.
58439         * lib/strstr.h: Likewise.
58440         * lib/xalloc.h: Likewise.
58441
58442         * lib/mbswidth.h: Add extern "C" for C++.
58443         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
58444
58445 2004-07-13  Robert Millan  <robertmh@gnu.org>
58446
58447         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
58448
58449 2004-07-09  Simon Josefsson  <jas@extundo.com>
58450
58451         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
58452         failed without this.)
58453
58454 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58455
58456         * modules/chown (Files): Add lib/fchown-stub.c, since
58457         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
58458
58459 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58460
58461         * lib/fchown-stub.c: New file.
58462
58463 2004-06-24  Jim Meyering  <jim@meyering.net>
58464
58465         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
58466
58467 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58468
58469         * modules/argz: Omit "#include".
58470
58471         * MODULES.html.sh (func_all_modules): Add calloc, to match
58472         2004-06-01 addition of calloc module.
58473
58474 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58475
58476         * m4/argz.m4: New file, which is autoupdated from libtool.
58477
58478 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58479
58480         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
58481         libtool.
58482
58483 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58484
58485         * config/srclist-update: Don't insist on "USA." before the
58486         close-comment, as libtool omits the period and puts the */ on a
58487         separate line.
58488         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
58489         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
58490
58491 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
58492
58493         * modules/argz: New file.
58494         * MODULES.html.sh (func_all_modules): Add argz.
58495
58496 2004-06-12  Jim Meyering  <jim@meyering.net>
58497         and  Paul Eggert  <eggert@cs.ucla.edu>
58498
58499         * modules/hash (Files): Add lib/xalloc.h.
58500         * modules/pipe (Depends-on): Add wait-process.
58501         * modules/stat (Depends-on): Add xalloc.
58502         * modules/userspec (Files): Add lib/userspec.h.
58503         * modules/xstrto
58504
58505         Upgrade from gettext-0.13.
58506         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
58507         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
58508         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
58509
58510 2004-06-10  Jim Meyering  <jim@meyering.net>
58511
58512         * lib/calloc.c: New file.
58513
58514 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58515
58516         * lib/getdate.y (yylex): Allow space between sign and number.
58517         Problem reported by Dan Jacobson.
58518
58519 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
58520
58521         Merge from coreutils CVS.
58522
58523         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
58524         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
58525         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
58526         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
58527         xstrtol.m4: Fix copyright date and/or serial number.
58528
58529         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
58530         See if we need an fchown replacement.
58531         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
58532         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
58533         and use the replacement function if we detect either defect.
58534
58535         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
58536         gl_UTIMECMP.
58537
58538 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
58539         and  Jim Meyering  <jim@meyering.net>
58540
58541         Merge from coreutils CVS.
58542
58543         * lib/stat-macros.h: New file, with contents from file-type.h
58544         and coreutils' system.h.
58545         * lib/file-type.c: Include "stat-macros.h".
58546         * lib/file-type.h (file_type): Move all macro definitions to new file,
58547         stat-macros.h.
58548
58549         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
58550         Wrap old code with this conditional.
58551         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
58552         function that does not dereference symlinks.
58553         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
58554
58555         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
58556         dependency problems.
58557         (xreadlink): Accept new arg SIZE, for efficiency.
58558         All decls and uses changed.
58559         * lib/xreadlink.h: Include <stddef.h>, for size_t.
58560
58561         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
58562         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
58563
58564         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
58565         sysexits.h.
58566
58567 2004-06-01  Jim Meyering  <jim@meyering.net>
58568
58569         * m4/calloc.m4: New file.
58570
58571 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
58572
58573         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
58574         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
58575         Also, fix a typo in a diagnostic.
58576
58577 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
58578
58579         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
58580         or AC_FUNC_REALLOC.
58581
58582 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
58583
58584         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
58585         macros to be defined.
58586         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
58587         the allocator returns NULL because the requested size is zero.
58588
58589 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58590
58591         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
58592         var.  Add comment explaining why libc still defines it.  This
58593         merges the following patch from glibc:
58594         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
58595
58596 2004-05-20  Andreas Schwab  <schwab@suse.de>
58597
58598         * m4/free.m4: Replace free if it not known to work, not the other
58599         way round.
58600
58601 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
58602
58603         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
58604         present in glibc since revision 1.1 of this file.
58605         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
58606         obstack_alignment_mask, obstack_alloc, obstack_base,
58607         obstack_blank, obstack_blank_fast, obstack_chunk_size,
58608         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
58609         obstack_grow0, obstack_init, obstack_int_grow,
58610         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
58611         obstack_next_free, obstack_object_size, obstack_ptr_grow,
58612         obstack_ptr_grow_fast, obstack_room): Remove declarations of
58613         nonexistent functions.
58614
58615 2004-05-18  Karl Berry  <karl@gnu.org>
58616
58617         * config/srclist.txt: break link for vasnprintf.c.
58618
58619 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58620
58621         Port obstack to the AS/400, where pointers are 16 bytes wide and
58622         you cannot cast an integer to a valid pointer.  This patch is
58623         currently waiting to be integrated into glibc; see
58624         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
58625
58626         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
58627         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
58628         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
58629         (struct obstack): temp member is now a union of a pointer and
58630         an integer, instead of an integer.  All integer uses changed.
58631         This does not affect the physical layout of struct obstack,
58632         except on hosts (like the AS/400) where the size or alignment of
58633         void * is greater than that of ptrdiff_t.
58634         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
58635         __STDC__)]: Store temporary in pointer member of union, not
58636         integer member.
58637         * lib/obstack.c: Include <stddef.h>, for offsetof.
58638         (struct fooalign): Remove; it doesn't need a name.
58639         (union fooround): Change double to long double, and add void *.
58640         (DEFAULT_ALIGNMENT): Use offsetof to compute.
58641         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
58642         not a macro.  Hence the values are always int; so remove all
58643         casts-to-int in uses.
58644
58645 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58646
58647         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
58648         we can get this patch merged into glibc.
58649
58650 2004-05-17  Derek R. Price  <derek@ximbiot.com>
58651             Paul Eggert  <eggert@cs.ucla.edu>
58652
58653         * m4/argp: Depend on alloca.
58654
58655 2004-05-17  Derek R. Price  <derek@ximbiot.com>
58656             Paul Eggert  <eggert@cs.ucla.edu>
58657
58658         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
58659         freecoding.
58660
58661 2004-05-17  Bruno Haible  <bruno@clisp.org>
58662
58663         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
58664         precision that consists of a '.' followed by an empty digit string.
58665         Patch by Tor Lillqvist <tml@iki.fi>.
58666
58667 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58668
58669         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
58670         for backward compatibility with older code.  We need our own
58671         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
58672         it under some other name, and our alloca.h will define it.
58673
58674 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58675             Derek Price  <derek@ximbiot.com>
58676
58677         * lib/alloca.c: Include <alloca.h>, to get our interface.
58678         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
58679         include <alloca.h> first.  Use C89 prototype for alloca; this
58680         requires including <stddef.h> for size_t.  Use extern "C" if C++.
58681         Use #elif for simplicity, since we can assume C89 now.
58682         Don't try to source the system alloca.h since it will not be found
58683         and to prevent recursively including its replacement.
58684         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
58685         * lib/regex.c: Likewise.
58686
58687 2004-05-16  Derek Price  <derek@ximbiot.com>
58688             Paul Eggert  <eggert@cs.ucla.edu>
58689
58690         getline cleanup.  This changes the getndelim2 API: both order of
58691         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
58692         no delimiter).
58693
58694         * lib/getline.c: Don't include stddef.h or stdio.h, since our
58695         interface does that.
58696         (getline): Always use getdelim, so that we don't have two
58697         copies of this code.
58698         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
58699         if available.
58700         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
58701         (GETNDELIM2_MAXIMUM): New macro.
58702         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
58703         instead of the old practice of delim2==0.  All callers changed.
58704         Return -1 on overflow, instead of returning junk.
58705         Do not set *linesize unless allocation succeeds.
58706         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
58707         that we include sys/types.h.
58708         * lib/getnline.h: Likewise.
58709         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
58710         (getndelim2): Reorder arguments.
58711         * lib/getnline.c (getnline, getndelim):
58712         Don't discard the NMAX argument.
58713         (getnline): Invoke getndelim, to avoid code duplication.
58714         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
58715         of (size_t) -1 by callers of the getnline family.
58716
58717 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58718
58719         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
58720         Check for gettimeofday.
58721         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
58722         Check for settimeofday, stime.
58723
58724 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58725
58726         * lib/nanosleep.c (suspended): Change its type from int to
58727         sig_atomic_t volatile.
58728         (first_call): Make it private to rpl_nanosleep, and have it
58729         be zero initially as that's a bit faster.
58730         (my_usleep): Round up fractional times instead of truncating them,
58731         as this is the usual meaning for 'sleep'.
58732
58733         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
58734         doesn't work.
58735         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
58736         (ENOSYS): Define if not defined.
58737         (settime): Fall back on stime if it exists and settimeofday fails.
58738         But don't bother with fallbacks if a method fails with errno == EPERM.
58739
58740 2004-05-11  Jim Meyering  <jim@meyering.net>
58741
58742         Prior to this change, the save_cwd caller required read access to the
58743         current directory on most systems (ones with the fchdir function).
58744
58745         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
58746         fails, try write-only, and finally, resort to using xgetcwd.
58747
58748 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
58749
58750         * lib/obstack.c, obstack.h: Import changes from libc.
58751
58752 2004-04-28  Bruno Haible  <bruno@clisp.org>
58753
58754         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
58755         also implicitly appends .exe to executables.
58756         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
58757         accepts Windows pathnames.
58758         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
58759         Treat Cygwin like Windows, since it now accepts Windows pathnames.
58760         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
58761         Treat Cygwin like Windows, since it now accepts Windows pathnames.
58762         Reported by Derek Robert Price <derek@ximbiot.com>.
58763
58764 2004-04-21  Karl Berry  <karl@gnu.org>
58765
58766         * config/srclist.txt (localcharset.c): break sync.
58767
58768 2004-04-20  Paul Eggert  <eggert@twinsun.com>
58769
58770         * m4/host-os.m4: Add a copyright notice.
58771
58772 2004-04-20  Jim Meyering  <jim@meyering.net>
58773
58774         Change UTILS_ to gl_ in AC_DEFINE'd names.
58775         Change utils_- and jm_-prefixed variables, too.
58776         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
58777         UTILS_FUNC_MKDIR_TRAILING_SLASH.
58778         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
58779
58780         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
58781         Don't emit trailing blanks.
58782         Also rename jm_-prefixed variables to have gl_ prefix.
58783
58784         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
58785         Also rename jm_-prefixed variables to have gl_ prefix.
58786
58787         * m4/jm-macros.m4: Reflect the renamings.
58788         * m4/prereq.m4: Likewise.
58789
58790 2004-04-20  Jim Meyering  <jim@meyering.net>
58791
58792         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
58793         memory.
58794
58795 2004-04-20  Jim Meyering  <jim@meyering.net>
58796             Bruno Haible  <bruno@clisp.org>
58797
58798         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
58799         memory when realloc fails.
58800
58801 2004-04-19  Jim Meyering  <jim@meyering.net>
58802
58803         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
58804         now that readutmp.c may call `free (0)'.
58805
58806 2004-04-19  Bruno Haible  <bruno@clisp.org>
58807
58808         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
58809         * m4/inttypes_h.m4: Likewise.
58810         * m4/stdint_h.m4: Likewise.
58811         * m4/intmax_t.m4: Likewise.
58812         * m4/uintmax_t.m4: Likewise.
58813
58814 2004-04-18  Jim Meyering  <jim@meyering.net>
58815
58816         * m4/prereq.m4: Don't forbid jm_ prefix.
58817
58818         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
58819         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
58820         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
58821         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
58822         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
58823         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
58824         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
58825         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
58826         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
58827         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
58828         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
58829         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
58830         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
58831         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
58832         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
58833         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
58834         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
58835         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
58836         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
58837
58838 2004-04-18  Jim Meyering  <jim@meyering.net>
58839
58840         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
58841         failure, don't leak memory and do call END_UTMP_ENT.
58842
58843 2004-04-16  Jim Meyering  <jim@meyering.net>
58844
58845         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
58846         coreutils' stat program.
58847         (gl_PREREQ): Don't require jm_PREREQ_STAT.
58848
58849 2004-04-11  Paul Eggert  <eggert@twinsun.com>
58850
58851         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
58852         C89.
58853         (CHAR_BIT): Remove, since we assume C89.
58854         Include <stdint.h> if available, as per current Autoconf CVS advice.
58855
58856 2004-03-31  Jim Meyering  <jim@meyering.net>
58857
58858         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
58859         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
58860         * m4/xalloc.m4: Likewise.
58861
58862 2004-03-30  Paul Eggert  <eggert@twinsun.com>
58863
58864         Merge from coreutils.
58865
58866         * m4/inttostr.m4: New file.
58867         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
58868         Require AM_STDBOOL_H and gl_TIMESPEC instead.
58869         Require gl_CLOCK_TIME.
58870         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
58871
58872 2004-03-30  Paul Eggert  <eggert@twinsun.com>
58873
58874         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
58875         not bool, to be more consistent with Unix conventions.
58876         Suggested by Bruno Haible.
58877
58878         Merge from coreutils.
58879
58880         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
58881         * lib/umaxtostr.c: New files.
58882
58883         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
58884         the usual <time.h> dance.
58885         (get_date): Change signature to support fractional time stamps.
58886         All callers changed.
58887         * lib/getdate.y: Include "getdate.h" first, as we can now
58888         assume C89 and don't need to worry about 'const'.
58889         Similarly, include "unlocked-io.h" near start, not in middle.
58890         Include <limits.h>.
58891         (textint.value): Use long int rather than int.
58892         (textint.digits): Use size_t rather than int.
58893         (BILLION, LOG10_BILLION): New constants.
58894         (parser_control): New member rel_ns.  Members day_ordinal,
58895         time_zone, month, day, hour, minutes, rel_year, rel_month,
58896         rel_day, rel_hour, rel_minutes, rel_seconds
58897         are now long int, not int.  Member seconds is now struct timespec,
58898         not int.  New member timespec_seen.  Members dates_seen, days_seen,
58899         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
58900         not int.
58901         (%union.intval): Now long int, not int.
58902         New member timespec.
58903         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
58904         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
58905         (spec): Now is a timespec or an item list.
58906         (timespec, items): New nonterminals.
58907         (time, rel, relunit, number, get_date):
58908         Add support for fractional seconds.
58909         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
58910         (gmtime, localtime, mktime): Remove decls; not needed with C89.
58911         (to_hour): First arg is now long int, not int.
58912         (to_year): Returns long int, not int.
58913         Don't treat year -70 like 70.
58914         (tm_diff): Returns long int, not int.
58915         (lookup_word): Use bool instead of int when appropriate.
58916         (yylex): Use size_t for count, not int.
58917         Detect overflow when parsing large integer constants.
58918         Add support for fractions.
58919         (get_date): Make pointers 'const' if possible.
58920         Use more-portable code to detect integer overflow.
58921         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
58922         Don't use ctime; it's not reliable if the year has >4 digits.
58923
58924         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
58925         This is for compatibility with BSD.
58926
58927         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
58928         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
58929         From coreutils' system.h.
58930
58931         * lib/userspec.c: Don't include "posixver.h".
58932         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
58933         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
58934         compatible extension.  Simplify code by removing a boolean int
58935         that was always nonzero if a string was nonnull.
58936
58937 2004-03-30  Jim Meyering  <jim@meyering.net>
58938
58939         Merge from coreutils.
58940
58941         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
58942         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
58943         on some systems one must include <grp.h> before it.
58944         Reported by Christian Krackowizer.
58945
58946 2004-03-30  Jim Meyering  <jim@meyering.net>
58947
58948         Merge from coreutils.
58949
58950         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
58951
58952         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
58953         an empty input stream.
58954
58955         * lib/readtokens.c: Include <stdbool.h>.
58956         (readtoken): Use `size_t' rather than int/long.
58957         All callers adjusted.
58958         Use `bool' rather than `int' where appropriate.
58959         Use memset rather than an explicit loop.
58960         Use x2nrealloc rather than xrealloc.
58961         Allow the use of `\0' as a delimiter.
58962         (readtokens): Likewise.
58963         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
58964
58965 2004-03-30  Jim Meyering  <jim@meyering.net>
58966
58967         * m4/realloc.m4: Remove file, since now it does no more than
58968         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
58969         the `configure.ac' section of module/realloc.
58970         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
58971
58972 2004-03-30  Bruno Haible  <bruno@clisp.org>
58973
58974         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
58975         nonnull.
58976
58977 2004-03-29  Paul Eggert  <eggert@twinsun.com>
58978
58979         Merge changes to getloadavg.c from coreutils and Emacs.
58980
58981         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
58982         Define to an expression, not to the empty string.
58983         Include cloexec.h and xalloc.h.
58984         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
58985         Use set_cloexec_flag rather than rolling our own.
58986         * lib/cloexec.c, lib/cloexec.h: New files.
58987
58988 2004-03-29  Paul Eggert  <eggert@twinsun.com>
58989
58990         * m4/cloexec.m4: New file.
58991
58992 2004-03-18  Paul Eggert  <eggert@twinsun.com>
58993
58994         * lib/getopt.h: Sync with libc CVS.
58995
58996 2004-03-18  Paul Eggert  <eggert@twinsun.com>
58997             Bruno Haible  <bruno@clisp.org>
58998
58999         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
59000         mbswidth.
59001
59002 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59003             Bruno Haible  <bruno@clisp.org>
59004
59005         * lib/mbswidth.h: Include <wchar.h> only if
59006         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
59007         <wchar.h>.
59008         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
59009
59010 2004-03-09  Paul Eggert  <eggert@twinsun.com>
59011
59012         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
59013         Sync with libc CVS.
59014         * lib/getopt_int.h: New file, also synced from libc.
59015
59016 2004-03-09  Paul Eggert  <eggert@twinsun.com>
59017
59018         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
59019         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
59020         Bring back getopt.c, getopt.h, getopt1.c.
59021
59022 2004-03-07  Paul Eggert  <eggert@twinsun.com>
59023
59024         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
59025         All uses changed.  Check for sa_sigaction member; this fixes
59026         a bug first reported by Jason Andrade in
59027         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
59028
59029 2004-03-07  Paul Eggert  <eggert@twinsun.com>
59030
59031         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
59032         '#if' expressions.  Unlike the code it replaces, it does not
59033         depend on (defined _SC_PAGESIZE).  However, it does depend on
59034         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
59035         first reported by Jason Andrade in
59036         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
59037
59038 2004-02-25  Simon Josefsson  <jas@extundo.com>
59039
59040         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
59041
59042 2004-02-25  Simon Josefsson  <jas@extundo.com>
59043
59044         * lib/strdup.h: New file.
59045         * lib/strdup.c: Include it.
59046         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
59047         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
59048
59049 2004-02-23  Karl Berry  <karl@gnu.org>
59050
59051         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
59052         (from fencepost.gnu.org:/gd/gnuorg).
59053
59054 2004-02-23  Karl Berry  <karl@gnu.org>
59055
59056         * config/srclistvars.sh (GNUORG) [karl]: redefine.
59057         * config/srclist.txt: add maintain/standards documents.
59058
59059 2004-02-18  Bruno Haible  <bruno@clisp.org>
59060
59061         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
59062         Reported by Derek Robert Price <derek@ximbiot.com>.
59063
59064 2004-02-16  Karl Berry  <karl@gnu.org>
59065
59066         * config/mkinstalldirs, install-sh: update from automake.
59067
59068 2004-02-06  Karl Berry  <karl@gnu.org>
59069
59070         * m4/po.m4: update from gettext 0.14.1.
59071
59072 2004-02-06  Karl Berry  <karl@gnu.org>
59073
59074         * lib/config.charset: update from gettext 0.14.1.
59075
59076 2004-02-05  Paul Eggert  <eggert@twinsun.com>
59077
59078         Add comments and code, prompted by suggestions from Bruno Haible
59079         for sh-quote.
59080         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
59081         describing the enum quoting_style values.
59082         * lib/quotearg.c (quotearg_alloc): New function.
59083         (quotearg_buffer_restyled): Treat lone { and } as special.
59084         Treat = as special.  Work around bug with older shells
59085         that "see" a '\' that is really the 2nd byte of a multibyte char.
59086         Quote empty string with shell_quoting_style.
59087
59088 2004-02-03  Bruno Haible  <bruno@clisp.org>
59089
59090         * m4/pipe.m4: New file, from GNU gettext.
59091
59092 2004-02-03  Bruno Haible  <bruno@clisp.org>
59093
59094         * lib/pipe.h: New file, from GNU gettext.
59095         * lib/pipe.c: New file, from GNU gettext.
59096
59097 2004-01-27  Bruno Haible  <bruno@clisp.org>
59098
59099         * m4/execute.m4: New file, from GNU gettext.
59100
59101 2004-01-27  Bruno Haible  <bruno@clisp.org>
59102
59103         * lib/execute.h: New file, from GNU gettext.
59104         * lib/execute.c: New file, from GNU gettext.
59105         * lib/w32spawn.h: New file, from GNU gettext.
59106
59107 2004-01-24  Paul Eggert  <eggert@twinsun.com>
59108
59109         Merge from diffutils.
59110
59111         * lib/file-type.c (file_type): Add typed memory objects.
59112         * lib/file-type.h (S_TYPEISTMO): New macro.
59113
59114         * lib/c-stack.h (c_stack_action): Remove argv argument.
59115         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
59116         (die): Don't calculate message unless segv_action returns.
59117         (get_stack_location, min_address_from_argv, max_address_from_argv,
59118         volatile stack_base, volatile_stack_size): Remove.
59119         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
59120         that every segmentation violation is a stack overflow.  (Ouch!)
59121         See Debian bug 136249 (still outstanding) for more info about why
59122         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
59123
59124 2004-01-24  Paul Eggert  <eggert@twinsun.com>
59125
59126         Exit-status fix from coreutils.
59127
59128         Use exit_failure consistently in place of EXIT_FAILURE,
59129         so that program exit statuses are consistent on failure.
59130
59131         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
59132         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
59133         * lib/argmatch.h: Comment fix to match the above.
59134         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
59135         Now a macro referring to exit_failure, instead of a separate
59136         variable.  Include "exitfail.h" to get it.
59137         * lib/xstrtol.h: Include "exitfail.h".
59138         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
59139
59140         * lib/long-options.c (parse_long_options): Use prototype
59141         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
59142         for clarity.
59143
59144 2004-01-21  Jim Meyering  <jim@meyering.net>
59145
59146         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
59147         so as not to conflict with a different-sized __mktime_internal
59148         function in GNU libc.
59149         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
59150         Problem building statically-linked `ls' reported by Michael Brunnbauer.
59151
59152 2004-01-20  Karl Berry  <karl@gnu.org>
59153
59154         * config/config.guess: update from config.
59155
59156         * config/srclistvars.sh: GNUWWWLICENSES for karl.
59157
59158 2004-01-20  Bruno Haible  <bruno@clisp.org>
59159
59160         Safer stack allocation.
59161         * lib/setenv.c: Include allocsa.h.
59162         (alloca): Remove fallback definition.
59163         (freea): Remove macro.
59164         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
59165         instead of freea.
59166
59167 2004-01-20  Bruno Haible  <bruno@clisp.org>
59168
59169         * m4/eealloc.m4: New file, from GNU gettext.
59170
59171 2004-01-20  Bruno Haible  <bruno@clisp.org>
59172
59173         * m4/allocsa.m4: New file, from GNU gettext.
59174
59175 2004-01-20  Bruno Haible  <bruno@clisp.org>
59176
59177         * lib/xallocsa.h: New file, from GNU gettext.
59178         * lib/xallocsa.c: New file, from GNU gettext.
59179
59180 2004-01-20  Bruno Haible  <bruno@clisp.org>
59181
59182         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
59183
59184 2004-01-20  Bruno Haible  <bruno@clisp.org>
59185
59186         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
59187         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
59188         specially.
59189
59190 2004-01-20  Bruno Haible  <bruno@clisp.org>
59191
59192         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
59193         patch.
59194
59195 2004-01-20  Bruno Haible  <bruno@clisp.org>
59196
59197         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
59198
59199 2004-01-20  Bruno Haible  <bruno@clisp.org>
59200
59201         * lib/eealloc.h: New file.
59202
59203 2004-01-20  Bruno Haible  <bruno@clisp.org>
59204
59205         * lib/binary-io.h: Avoid warnings on Cygwin.
59206
59207 2004-01-20  Bruno Haible  <bruno@clisp.org>
59208
59209         * lib/allocsa.h: New file, from GNU gettext.
59210         * lib/allocsa.c: New file, from GNU gettext.
59211
59212 2004-01-18  Karl Berry  <karl@gnu.org>
59213
59214         * doc/gpl.texi, doc/lgpl.texi: new files.
59215
59216 2004-01-18  Karl Berry  <karl@gnu.org>
59217
59218         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
59219         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
59220
59221 2004-01-15  Paul Eggert  <eggert@twinsun.com>
59222
59223         Merge from coreutils.
59224
59225         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
59226         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
59227         (gl_DEFAULT_POSIX2_VERSION): Move
59228         the documentation from 'configure' into 'config.hin',
59229         so that 'configure --help' isn't burdened by it and
59230         we don't have to worry about its formatting there.
59231         Reword the documentation so that it's more succinct
59232         and can be run together into a single paragraph.
59233         * m4/same.m4 (gl_SAME): Check for pathconf.
59234
59235 2004-01-15  Paul Eggert  <eggert@twinsun.com>
59236
59237         Merge from coreutils.
59238
59239         * lib/posixver.c: Include posixver.h.
59240
59241         * lib/same.c: Include <stdbool.h>, <limits.h>.
59242         (_POSIX_NAME_MAX): Define if not defined.
59243         (MIN): New macro.
59244         (same_name): If file names are silently truncated, report
59245         that the file names are the same if they are the same after
59246         the silent truncation.
59247
59248         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
59249         conversion function.
59250         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
59251         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
59252         longer needed.
59253
59254 2004-01-15  Jim Meyering  <jim@meyering.net>
59255
59256         Merge from coreutils.
59257
59258         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
59259         if no library is required.
59260         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
59261         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
59262         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
59263         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
59264         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
59265         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
59266         value, $ac_cv_search_crypt, if it's "none required".
59267         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
59268         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
59269         not gl_FUNC_GETLOADAVG.
59270         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
59271         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
59272
59273 2004-01-15  Jim Meyering  <jim@meyering.net>
59274
59275         Merge from coreutils.
59276
59277         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
59278         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
59279         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
59280
59281         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
59282         optional configure-time default.
59283
59284         * lib/version-etc.c (version_etc_copyright): Update copyright date.
59285
59286         * lib/xreadlink.c (xreadlink): Correct outdated comment.
59287
59288 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
59289
59290         Merge from coreutils.
59291
59292         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
59293         value, $ac_cv_search_nanosleep, if it's "none required".
59294
59295 2004-01-14  Paul Eggert  <eggert@twinsun.com>
59296
59297         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
59298         with like-named macro in fnmatch.c.
59299         (EXT): Use an internal constant instead.
59300
59301         Merge fnmatch patches from glibc.
59302         * lib/fnmatch.c (mbsinit): Remove define.
59303         Add libc_hidden_ver (__fnmatch, fnmatch).
59304         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
59305         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
59306
59307 2004-01-14  Karl Berry  <karl@gnu.org>
59308
59309         * config/install-sh: update from automake.
59310
59311 2004-01-13  Karl Berry  <karl@gnu.org>
59312
59313         * config/install-sh: update from automake.
59314
59315 2004-01-09  Karl Berry  <karl@gnu.org>
59316
59317         * config/install-sh: update from automake.
59318
59319 2004-01-05  Karl Berry  <karl@gnu.org>
59320
59321         * config/config.{sub,guess}: update from config.
59322
59323 2003-12-31  Karl Berry  <karl@gnu.org>
59324
59325         * config/depcomp: update from automake.
59326
59327 2003-12-14  Karl Berry  <karl@gnu.org>
59328
59329         * lib/config.charset: update from gettext-runtime.
59330
59331 2003-12-03  Paul Eggert  <eggert@twinsun.com>
59332
59333         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
59334         Bug reported by Alfred M. Szmidt.
59335
59336 2003-12-03  Bruno Haible  <bruno@clisp.org>
59337
59338         * m4/gettext.m4: Upgrade from gettext-0.13.
59339         * m4/po.m4: Upgrade from gettext-0.13.
59340         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
59341         * m4/intmax.m4: New file, from gettext-0.13.
59342         * m4/printf-posix.m4: New file, from gettext-0.13.
59343
59344 2003-11-29  Karl Berry  <karl@gnu.org>
59345
59346         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
59347
59348 2003-11-25  Paul Eggert  <eggert@twinsun.com>
59349             Bruno Haible  <bruno@clisp.org>
59350
59351         * lib/printf-parse.h: Don't include sys/types.h.
59352         (ARG_NONE): New macro.
59353         (char_directive): Change type of *arg_index fields to size_t.
59354         * lib/printf-parse.c: Don't include sys/types.h.
59355         (SSIZE_MAX): Remove macro.
59356         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
59357         Remove unnecessary overflow check.
59358         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
59359         fields.
59360
59361 2003-11-25  Bruno Haible  <bruno@clisp.org>
59362
59363         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
59364
59365 2003-11-25  Bruno Haible  <bruno@clisp.org>
59366
59367         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
59368         gt_TYPE_SSIZE_T.
59369
59370 2003-11-24  Paul Eggert  <eggert@twinsun.com>
59371
59372         * modules/alloca: Remove dependency on xalloc.
59373
59374 2003-11-24  Paul Eggert  <eggert@twinsun.com>
59375
59376         * lib/alloca.c: Remove dependency on xalloc module.
59377         (xalloc_die): Remove.
59378         (memory_full) [!defined emacs]: New macro.
59379         [!defined emacs]: Don't include xalloc.h.
59380         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
59381         address arithmetic overflows.  Change datatypes a bit to avoid
59382         unnecessary casts.
59383
59384 2003-11-22  Jim Meyering  <jim@meyering.net>
59385
59386         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
59387         s/size/size_t/.
59388
59389 2003-11-21  Karl Berry  <karl@gnu.org>
59390
59391         * config/config.{sub,guess}: update from config.
59392
59393 2003-11-18  Karl Berry  <karl@gnu.org>
59394
59395         * config/config.{sub,guess}: update from config.
59396
59397         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
59398
59399 2003-11-17  Paul Eggert  <eggert@twinsun.com>
59400
59401         * README: Mention that S+T cannot overflow if S is the size of
59402         an existing object and T is sufficiently small.
59403
59404 2003-11-17  Jim Meyering  <jim@meyering.net>
59405
59406         On systems without utime and without a utimes function capable of
59407         dealing with a NULL struct utimbuf* argument, this utime replacement
59408         could -- in unusual circumstances -- leak a file descriptor.
59409         * lib/utime.c: Include <unistd.h> and <errno.h>.
59410         (utime_null): Be sure to close `fd' and to preserve errno.
59411         Reported by Geoff Collyer via Arnold Robbins.
59412
59413 2003-11-17  Bruno Haible  <bruno@clisp.org>
59414
59415         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
59416         (Depends-on): Add xsize.
59417
59418 2003-11-17  Bruno Haible  <bruno@clisp.org>
59419
59420         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
59421
59422 2003-11-17  Bruno Haible  <bruno@clisp.org>
59423
59424         * lib/vasnprintf.c (alloca): Remove fallback definition.
59425         (freea): Remove definition.
59426         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
59427         Reported by Paul Eggert.
59428
59429 2003-11-16  Paul Eggert  <eggert@twinsun.com>
59430             Bruno Haible  <bruno@clisp.org>
59431
59432         Protect against address arithmetic overflow.
59433         * lib/printf-args.h: Include stddef.h.
59434         (arguments): Change type of field 'count' to size_t.
59435         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
59436         'unsigned int' where appropriate.
59437         * lib/printf-parse.h: Include sys/types.h.
59438         (char_directive): Change type of *arg_index fields to ssize_t.
59439         (char_directives): Change type of fields 'count', max_*_length to
59440         size_t.
59441         * lib/printf-parse.c: Include sys/types.h and xsize.h.
59442         (SSIZE_MAX): Define fallback value.
59443         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
59444         instead of 'int' where appropriate. Check a_allocated, d_allocated
59445         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
59446         * lib/vasnprintf.c: Include xsize.h.
59447         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
59448         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
59449         overflow. Avoid wraparound when converting a width or precision from
59450         decimal to binary.
59451
59452 2003-11-16  Bruno Haible  <bruno@clisp.org>
59453
59454         Update from GNU gettext.
59455         * lib/printf-parse.c: Generalize to it can be compiled for wide
59456         strings.
59457         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
59458         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
59459         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
59460         SNPRINTF): New macros.
59461         Don't include <alloca.h> if the file is used inside libintl.
59462         (local_wcslen): New function, for Solaris 2.5.1.
59463         (VASNPRINTF): Use it instead of wcslen.
59464
59465 2003-11-16  Bruno Haible  <bruno@clisp.org>
59466
59467         * lib/xsize.h (xmax): New function.
59468         (xsum, xsum3, xsum4): Declare as "pure" functions.
59469
59470 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59471
59472         * modules/xalloc (Files): Undo latest change, since xalloc.h
59473         no longer needs SIZE_MAX or PTRDIFF_MAX.
59474
59475 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59476
59477         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
59478         gl_PTRDIFF_MAX.
59479
59480 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59481
59482         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
59483         "return", to pacify some unknown compiler.  Problem reported
59484         by Joerg Schilling.
59485
59486 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59487
59488         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
59489         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
59490         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
59491         heuristic is just as accurate as far as we know, and it removes a
59492         dependency on size_max.m4 and ptrdiff_max.m4.
59493
59494 2003-11-11  Bruno Haible  <bruno@clisp.org>
59495
59496         * modules/xsize (Files): Add m4/size_max.m4.
59497         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
59498
59499 2003-11-11  Bruno Haible  <bruno@clisp.org>
59500
59501         * m4/size_max.m4: New file.
59502         * m4/ptrdiff_max.m4: New file.
59503         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
59504         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
59505         (gl_XALLOC): Invoke it.
59506
59507 2003-11-11  Bruno Haible  <bruno@clisp.org>
59508
59509         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
59510         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
59511         defined.
59512
59513 2003-11-10  Paul Eggert  <eggert@twinsun.com>
59514
59515         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
59516         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
59517         rejected some allocations of exactly SIZE_MAX - 2 bytes.
59518         From Bruno Haible.
59519         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
59520         not (size_t) -1, since it's defined here.
59521
59522 2003-11-09  Karl Berry  <karl@gnu.org>
59523
59524         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
59525
59526 2003-11-06  Paul Eggert  <eggert@twinsun.com>
59527
59528         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
59529         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
59530         Reject sizes of exactly SIZE_MAX bytes.
59531         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
59532         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
59533
59534 2003-11-05  Bruno Haible  <bruno@clisp.org>
59535
59536         * lib/xsize.h: Include limits.h, to avoid a possible collision with
59537         SIZE_MAX defined in <limits.h> on Solaris.
59538
59539 2003-11-04  Jim Meyering  <jim@meyering.net>
59540
59541         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
59542         variable names, rather than @VAR@.
59543         * modules/poll: Likewise.
59544
59545 2003-11-04  Bruno Haible  <bruno@clisp.org>
59546
59547         * modules/xsize: New file.
59548         * modules/linebreak: Depend on xsize.
59549         * MODULES.html.sh (func_all_modules): Add xsize.
59550
59551 2003-11-04  Bruno Haible  <bruno@clisp.org>
59552
59553         * m4/xsize.m4: New file.
59554
59555 2003-11-04  Bruno Haible  <bruno@clisp.org>
59556
59557         * lib/xsize.h: New file.
59558         * lib/linebreak.c: Include xsize.h.
59559         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
59560         argument for overflow.
59561         Suggested by Paul Eggert.
59562
59563 2003-11-03  Karl Berry  <karl@gnu.org>
59564
59565         * config/config.{guess,sub}: update from config.
59566
59567 2003-11-03  Jim Meyering  <jim@meyering.net>
59568
59569         * modules/userspec (lib_SOURCES): Add userspec.h.
59570         (Include): Add "userspec.h".
59571         Improve description.
59572
59573 2003-11-03  Jim Meyering  <jim@meyering.net>
59574
59575         * lib/userspec.c: Include "userspec.h".
59576         * lib/userspec.h: New file.
59577
59578 2003-11-03  Bruno Haible  <bruno@clisp.org>
59579
59580         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
59581
59582 2003-11-03  Bruno Haible  <bruno@clisp.org>
59583
59584         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
59585         available, to avoid (extremely rare) race condition.
59586         Suggested by Paul Eggert.
59587
59588 2003-11-02  Karl Berry  <karl@gnu.org>
59589
59590         * config/srclist.txt (vasprintf.c): sync broken, sigh.
59591
59592 2003-10-31  Paul Eggert  <eggert@twinsun.com>
59593
59594         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
59595         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
59596         (read_filesystem_list): Set and use me_type_malloced.
59597         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
59598         whatever the type happens to be), for brevity and consistency.
59599         Check for size calculation overflow on Alphas running OSF/1.
59600
59601 2003-10-31  Jim Meyering  <jim@meyering.net>
59602
59603         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
59604
59605         * lib/linebuffer.c: Include <string.h> for declaration of memset.
59606
59607 2003-10-30  Paul Eggert  <eggert@twinsun.com>
59608             Bruno Haible  <bruno@clisp.org>
59609
59610         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
59611         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
59612
59613 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
59614
59615         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
59616         netbsd*-gnu*.  Suggested by Robert Millan.
59617
59618 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59619
59620         * modules/group-member: Depend on stdbool.
59621
59622 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59623
59624         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
59625
59626 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59627
59628         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
59629         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
59630         after the 'gnu' in these cases.  This fixes some bugs in the
59631         previous change, and is based on suggestions by Robert Millan.
59632
59633 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59634
59635         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
59636         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
59637         no longer needed.
59638         * lib/quotearg.c (quotearg_n_options): Use it.
59639         * lib/group-member.c: Include <stdbool.h>.
59640         (free_group_info): Arg is now const *; don't free arg.
59641         (get_group_info): Now returns bool and accepts struct group_info *,
59642         rather than returning a malloc'ed struct group_info *.
59643         All uses changed.  Check for overflow in internal size calculation.
59644
59645         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
59646         rather than xmalloc/xrealloc.
59647         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
59648         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
59649         conformance bug: the old code used a pointer after freeing the
59650         storage that it addressed.
59651         * lib/hash.c (hash_initialize): Simplify the code by using
59652         xalloc_oversized rather than doing it by hand.
59653         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
59654         the buffer preserved.  Use free and xmalloc instead.
59655         * lib/quotearg.c (quotearg_n_options): Likewise.
59656         Use a simpler test for size overflow.  Don't use xalloc_oversized
59657         because unsigned int might be wider than size_t (!); this suggests
59658         that we should switch from unsigned int to size_t for slot numbers.
59659
59660 2003-10-28  Paul Eggert  <eggert@twinsun.com>
59661
59662         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
59663         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
59664         NetBSD kernels.  Requested by Richard Stallman.
59665
59666 2003-10-27  Paul Eggert  <eggert@twinsun.com>
59667
59668         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
59669         to allocate the returned structure.  Do not allocate a subarray,
59670         as x2nrealloc will do that.
59671         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
59672         instead of xnrealloc.
59673         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
59674
59675 2003-10-27  Bruno Haible  <bruno@clisp.org>
59676
59677         * lib/stdbool_.h: Better support for BeOS.
59678
59679 2003-10-26  Paul Eggert  <eggert@twinsun.com>
59680
59681         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
59682         now uses inline.
59683
59684 2003-10-26  Paul Eggert  <eggert@twinsun.com>
59685
59686         * lib/xalloc.h (xalloc_oversized): New static inline function, for
59687         callers that want to do their own size-overflow checking.  Include
59688         <stdbool.h>, since xalloc_oversized returns bool.
59689         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
59690         to use xalloc_oversized.
59691
59692         Add two functions x2realloc, x2nrealloc, for programs that grow
59693         arrays dynamically by doubling their sizes.
59694         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
59695         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
59696         New functions.
59697
59698         Port to C99 semantics for 'inline' of external functions.
59699         Bug reported by Bruno Haible.
59700         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
59701         with the old contents of xnmalloc.
59702         (xnmalloc, xmalloc): Use it.
59703         (xnrealloc_inline): New static inline function,
59704         with the old contents of xnrealloc.
59705         (xnrealloc, xrealloc): Use it.
59706
59707         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
59708         that.
59709
59710 2003-10-26  Karl Berry  <karl@gnu.org>
59711
59712         * config/srclist.txt (COPYING.DOC): no longer available from
59713         /gd/gnuorg; don't know where the ultimate source is.
59714
59715 2003-10-25  Paul Eggert  <eggert@twinsun.com>
59716
59717         Fix several address-calculation bugs in the hash modules,
59718         plus some minor code cleanup.
59719
59720         * lib/hash.h: Include <stdbool.h>, for bool.
59721         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
59722         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
59723         hash_get_n_entries, hash_get_max_bucket_length,
59724         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
59725         hash_rehash): Use size_t rather than unsigned.
59726         * lib/hash.c (struct hash_table, hash_get_n_buckets,
59727         hash_get_n_buckets_used, hash_get_n_entries,
59728         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
59729         hash_get_entries, hash_do_for_each, hash_string, is_prime,
59730         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
59731         Likewise.
59732         (SIZE_MAX): Define if not defined.
59733         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
59734         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
59735         hash_print):
59736         Use const * when possible.
59737         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
59738         (check_tuning): Fix bug: if tuning parameters were very close to
59739         0 or 1, rounding errors could have caused subscript violations.
59740         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
59741         (hash_initialize): Add 'fail:' label
59742         to free table and return NULL, and use it to simplify code.
59743         Use calloc rather than clearing the storage ourself.
59744         (hash_initialize, hash_rehash): Check for arithmetic overflow in
59745         buffer size calculations.
59746         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
59747         Include <stddef.h>, for size_t.
59748         * lib/hash-pjw.c (hash_pjw): Likewise.
59749         Switch to method described by Bruno Haible.
59750         Include <limits.h>, for CHAR_BIT.
59751         (SIZE_BITS): New macro.
59752
59753 2003-10-23  Paul Eggert  <eggert@twinsun.com>
59754
59755         * m4/getline.m4 (AM_FUNC_GETLINE):
59756         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
59757         hosts.  Problem reported by Derek Robert Price in
59758         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
59759         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
59760         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
59761
59762 2003-10-21  Paul Eggert  <eggert@twinsun.com>
59763
59764         * lib/getndelim2.c (getndelim2): When size calculation overflows,
59765         ceiling the allocation at NMAX bytes rather than silently
59766         discarding input bytes before NMAX is reached.  This makes
59767         a difference only if NMAX exceeds SIZE_MAX / 2.
59768
59769         * lib/obstack.c: Merge from glibc.
59770         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
59771         Add libc_hidden_def (_obstack_newchunk).
59772         (_obstack_free) [! defined _LIBC]: Remove.
59773         [defined _LIBC]: Make a strong alias from obstack_free, rather than
59774         a clone of the function body.
59775         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
59776         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
59777
59778         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
59779         glibc.
59780         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
59781         arg to memcpy.
59782
59783         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
59784         (obstack_ptr_grow_fast, obstack_int_grow_fast):
59785         Don't use lvalue casts, as GCC plans to remove support for them
59786         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
59787         was also present in the non-GCC version, indicating that this
59788         code had always been buggy and had never been widely used.
59789         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
59790         Use the fast variant of each macro, rather than copying the
59791         definiens of the fast variant; that way, we'll be more likely to
59792         catch future bugs in the fast variants.
59793
59794 2003-10-20  Bruno Haible  <bruno@clisp.org>
59795
59796         * modules/wait-process: New file.
59797         * MODULES.html.sh (func_all_modules): Add wait-process.
59798
59799 2003-10-20  Bruno Haible  <bruno@clisp.org>
59800
59801         * m4/wait-process.m4: New file.
59802
59803 2003-10-20  Bruno Haible  <bruno@clisp.org>
59804
59805         * lib/wait-process.h: New file, from GNU gettext.
59806         * lib/wait-process.c: New file, from GNU gettext.
59807
59808 2003-10-19  Jim Meyering  <jim@meyering.net>
59809
59810         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
59811         HPUX 10.20.
59812
59813 2003-10-18  Karl Berry  <karl@gnu.org>
59814
59815         * config/config.guess: update from config.
59816
59817 2003-10-16  Paul Eggert  <eggert@twinsun.com>
59818
59819         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
59820         (getgroups): First arg is int, not size_t.
59821         Don't let 'free' mangle errno.
59822
59823 2003-10-16  Paul Eggert  <eggert@twinsun.com>
59824
59825         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
59826
59827 2003-10-16  Karl Berry  <karl@gnu.org>
59828
59829         * config/config.{guess,sub}: update from config.
59830
59831 2003-10-16  Jim Meyering  <jim@meyering.net>
59832
59833         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
59834         memcpy.
59835
59836 2003-10-15  Paul Eggert  <eggert@twinsun.com>
59837
59838         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
59839         (SIZE_MAX): Remove.
59840         (new_exclude, add_exclude_file): Initial size no longer needs to
59841         be a power of 2.
59842         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
59843         our own address arithmetic overflow checking.
59844
59845         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
59846         (fnmatch): Do not alloca more than 2000 wide characters;
59847         instead, use malloc for large buffers.
59848         Check for address arithmetic overflow, and return -1
59849         with errno set to ENOMEM in that case.
59850         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
59851         (NEW_PATTERN): Do not alloca more than 8000 bytes;
59852         instead, return -1.  Check for address arithmetic overflow.
59853
59854 2003-10-14  Paul Eggert  <eggert@twinsun.com>
59855
59856         Handle invalid suffixes and overflow independently, so that
59857         callers can treat them independently as needed.  Fix some bugs in
59858         suffix handling, e.g., "100k@" was not diagnosed as an invalid
59859         suffix for a human-readable blocksize.  The major caller-visible
59860         change is the addition of a new
59861         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
59862         that both overflow and suffix chars were found.
59863
59864         * lib/human.c (humblock): Don't check separately for invalid suffix
59865         char; that is xstrtoumax's job (now that its bug is fixed).
59866         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
59867         INTMAX_MAX]: New macros.
59868         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
59869         TYPE_MAXIMUM): New macros.
59870         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
59871         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
59872         if overflow occurs, as it's what __strtol does and it's more useful
59873         in practice.
59874         (__xstrtol): If __strtol reports some error other than ERANGE,
59875         reflect it to the caller as LONGINT_INVALID.  If it reports
59876         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
59877         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
59878         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
59879         value.
59880         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
59881         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
59882         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
59883         [defined UINTMAX_MAX]: New macros.
59884
59885 2003-10-14  Bruno Haible  <bruno@clisp.org>
59886
59887         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
59888
59889 2003-10-14  Bruno Haible  <bruno@clisp.org>
59890
59891         * m4/sig_atomic_t: New file, from GNU gettext.
59892         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
59893
59894 2003-10-14  Bruno Haible  <bruno@clisp.org>
59895
59896         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
59897         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
59898         Also use volatile where needed.
59899
59900 2003-10-12  Paul Eggert  <eggert@twinsun.com>
59901
59902         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
59903         Change maintainer from Bruno Haible to 'all'.
59904
59905 2003-10-12  Paul Eggert  <eggert@twinsun.com>
59906
59907         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
59908
59909 2003-10-12  Paul Eggert  <eggert@twinsun.com>
59910
59911         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
59912         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
59913         and define in terms of the other primitives.
59914         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
59915         (SIZE_MAX): Define if not already defined.
59916         (array_size_overflow): New function.
59917         (xalloc_die): Abort instead of exiting if 'error' returns.
59918         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
59919         (xmalloc, xrealloc): Use them.
59920         (xcalloc): Check for address arithmetic overflow.
59921         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
59922         a bit faster than strcpy.
59923
59924 2003-10-10  Simon Josefsson  <jas@extundo.com>
59925
59926         * modules/argp (Depends-on): Add restrict and strcase.
59927
59928 2003-10-10  Simon Josefsson  <jas@extundo.com>
59929
59930         * m4/argp.m4: Add AC_C_INLINE.
59931
59932 2003-10-08  Paul Eggert  <eggert@twinsun.com>
59933
59934         Merge getpass from libc, plus a few fixes.
59935
59936         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
59937         Include <stdbool.h>.
59938         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
59939         __fsetlocking to empty.
59940         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
59941         do include <bits/libc-lock.h>.
59942         Do not include <fcntl.h>; not needed.
59943         [_LIBC]: Include <wchar.h>.
59944         (NOTCANCEL_MODE): New macro.
59945         (flockfile, funlockfile) [_LIBC]: New macros.
59946         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
59947         [!_LIBC]: New macros.
59948         (call_fclose): New function.
59949         (getpass): Use it.  Save tty stream separately; this simplifies the
59950         code and makes it more reliable if stdin happens to equal stdout.
59951         Invoke __fsetlocking on tty.
59952         Handle thread cancellation if needed.
59953         Namespace cleanup (use __tcgetattr, __getline).
59954         Use bool for Booleans.
59955         [USE_IN_LIBIO]: Handle wide streams.
59956         [!_LIBC]: Unconditionally do the fseek, since we don't know what
59957         stream might go where.
59958
59959         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
59960         doesn't have to include <stdio.h> before us.
59961         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
59962         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
59963         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
59964         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
59965         if not declared, so that we can use getpass.c code from libc without
59966         rewriting it.
59967         (flockfile, ftrylockfile, funlockfile): New macros.
59968
59969 2003-10-08  Paul Eggert  <eggert@twinsun.com>
59970
59971         * modules/getpass: Depend on stdbool.
59972
59973 2003-10-08  Paul Eggert  <eggert@twinsun.com>
59974
59975         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
59976
59977 2003-10-07  Karl Berry  <karl@gnu.org>
59978
59979         * config/config.{guess,sub}: update from config.
59980
59981 2003-10-06  Jim Meyering  <jim@meyering.net>
59982             Bruno Haible  <bruno@clisp.org>
59983
59984         This lets translators provide better translations for the
59985         "Written by ..." part of --version output.
59986         * lib/version-etc.h: Include stdarg.h.
59987         (version_etc_copyright): Declare as readonly.
59988         (version_etc): Make this function variadic with a NULL-terminated list
59989         of author name strings.
59990         (version_etc_va): New declaration.
59991         * lib/version-etc.c: Include stdarg.h, stdlib.h.
59992         (version_etc_copyright): Declare as readonly.
59993         (version_etc_va): New function. Provide a different translatable string
59994         for each possible number of authors < 10. Abbreviate when there are 10
59995         authors or more.
59996         (version_etc): Make this function variadic. Call version_etc_va.
59997         Suggestion from Gary V. Vaughan.
59998
59999         * lib/long-options.h (parse_long_options): Change prototype: the
60000         authors string is moved to the end and becomes variadic.
60001         * lib/long-options.c: Include stdarg.h.
60002         (parse_long_options): Make this function variadic, too.
60003         Call version_etc_va, not version_etc.
60004
60005 2003-10-06  Bruno Haible  <bruno@clisp.org>
60006
60007         * modules/version-etc-2: Remove file.
60008         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
60009
60010 2003-10-06  Bruno Haible  <bruno@clisp.org>
60011
60012         * modules/fatal-signal: New file.
60013         * MODULES.html.sh (func_all_modules): Add fatal-signal.
60014
60015 2003-10-06  Bruno Haible  <bruno@clisp.org>
60016
60017         * m4/fatal-signal.m4: New file.
60018         * m4/signalblocking.m4: New file, from GNU gettext.
60019
60020 2003-10-06  Bruno Haible  <bruno@clisp.org>
60021
60022         * lib/version-etc-2.h: Remove file.
60023         * lib/version-etc-2.c: Remove file.
60024
60025 2003-10-06  Bruno Haible  <bruno@clisp.org>
60026
60027         * lib/fatal-signal.h: New file, from GNU gettext.
60028         * lib/fatal-signal.c: New file, from GNU gettext.
60029
60030 2003-10-05  Paul Eggert  <eggert@twinsun.com>
60031
60032         * README: Rework advice for preventing empty .o files.
60033         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
60034         not <sys/types.h>.
60035
60036 2003-10-04  Karl Berry  <karl@gnu.org>
60037
60038         * lib/argp*: update from libc.
60039
60040 2003-10-04  Karl Berry  <karl@gnu.org>
60041
60042         * config/config.{guess,sub}: update from config.
60043
60044 2003-10-02  Bruno Haible  <bruno@clisp.org>
60045
60046         * modules/lchown (Include): Add lchown.h.
60047         * modules/time_r (Include): Use "..." syntax.
60048         * modules/xgetdomainname (Include): Add xgetdomainname.h.
60049
60050 2003-10-01  Simon Josefsson  <jas@extundo.com>
60051
60052         * MODULES.html.sh (func_all_modules): Move gethostname from section
60053         'based on' to section 'lacking' POSIX:2001.
60054
60055 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
60056
60057         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
60058         to output mode on the same stream.
60059
60060 2003-09-29  Paul Eggert  <eggert@twinsun.com>
60061
60062         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
60063         Fix arg typo in previous patch.
60064
60065 2003-09-28  Jim Meyering  <jim@meyering.net>
60066
60067         * lib/error.c: Correct cpp indentation.
60068
60069 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60070
60071         * modules/free: New file.
60072
60073 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60074
60075         * m4/free.m4: New file.
60076
60077 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60078
60079         * lib/minmax.h (MIN, MAX)
60080         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
60081         Omit the special code that used __typeof__, since we worry that
60082         it could be more trouble than it's worth.  See:
60083         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
60084         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
60085
60086         * lib/free.c: New file.
60087
60088 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
60089
60090         Trivial fixes to Makefile.am parts of module listings.
60091         * modules/strstr: Append strstr.h to lib_SOURCES.
60092         * modules/strcase: Likewise, for strcase.h.
60093
60094 2003-09-27  Karl Berry  <karl@gnu.org>
60095
60096         * config/mkinstalldirs: update from automake.
60097
60098 2003-09-26  Paul Eggert  <eggert@twinsun.com>
60099
60100         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
60101         (error_tail): Do not loop, reallocating temporary buffer, since
60102         the output cannot contain more wide characters than the input
60103         contains bytes, the size must be big enough already.  This avoids
60104         one potential size overflow calculation.  Check for size overflow
60105         when calculating temporary buffer size.  Free temporary buffer
60106         when done, if it was allocated with malloc; this plugs a memory
60107         leak.  Remove casts from void * to pointers, that are no longer
60108         needed now that we're assuming C89 or better.
60109
60110         Merge error changes from glibc.
60111
60112         * lib/error.c, error.h: Update copyright notice header to match glibc.
60113         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
60114         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
60115         Disable cancellation while printing error.
60116         * lib/error.h: Prepend __ to parameter names.
60117
60118 2003-09-26  Jim Meyering  <jim@meyering.net>
60119
60120         * lib/error.c (error_tail): Move some declarations
60121         into inner scope where the local variables are used.
60122
60123 2003-09-26  Bruno Haible  <bruno@clisp.org>
60124
60125         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
60126         stpncpy().
60127         Don't define stpncpy through config.h; it's now done through stpncpy.h.
60128
60129 2003-09-26  Bruno Haible  <bruno@clisp.org>
60130
60131         * lib/stpncpy.h (gnu_stpncpy): New declaration.
60132         (stpncpy): Define as alias for gnu_stpncpy.
60133         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
60134
60135 2003-09-25  Simon Josefsson  <jas@extundo.com>
60136
60137         * lib/xgetdomainname.h: New file.
60138         * lib/xgetdomainname.c: New file.
60139
60140 2003-09-25  Simon Josefsson  <jas@extundo.com>
60141             Bruno Haible  <bruno@clisp.org>
60142
60143         * modules/getdomainname: New file.
60144         * modules/xgetdomainname: New file.
60145         * MODULES.html.sh (func_all_modules): Add getdomainname,
60146         xgetdomainname.
60147
60148 2003-09-25  Simon Josefsson  <jas@extundo.com>
60149             Bruno Haible  <bruno@clisp.org>
60150
60151         * m4/getdomainname.m4: New file.
60152
60153 2003-09-25  Simon Josefsson  <jas@extundo.com>
60154             Bruno Haible  <bruno@clisp.org>
60155
60156         * lib/getdomainname.h: New file.
60157         * lib/getdomainname.c: New file.
60158
60159 2003-09-25  Karl Berry  <karl@gnu.org>
60160
60161         * lib/argp-fmtstream.c, argp-help.c: update from libc.
60162
60163 2003-09-25  Karl Berry  <karl@gnu.org>
60164
60165         * config/install-sh: update from automake.
60166
60167 2003-09-25  Bruno Haible  <bruno@clisp.org>
60168
60169         * modules/version-etc-2: New file, from modules/version-etc with
60170         modifications.
60171         * MODULES.html.sh (func_all_modules): Add version-etc-2.
60172
60173 2003-09-25  Bruno Haible  <bruno@clisp.org>
60174
60175         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
60176         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
60177
60178 2003-09-24  Simon Josefsson  <jas@extundo.com>
60179
60180         * modules/xgethostname: Add xgethostname.h.
60181
60182 2003-09-24  Paul Eggert  <eggert@twinsun.com>
60183
60184         * lib/linebuffer.c (freebuffer): Don't free the argument, just
60185         the buffer associated with the argument.  Bug reported by
60186         Simon Josefsson.
60187
60188 2003-09-24  Paul Eggert  <eggert@twinsun.com>
60189
60190         * README: Document assumptions that 'int' is at least 32 bits
60191         wide, that integer arithmetic is 2's complement without overflow,
60192         that there are no holes in integer values, that adding sizes of
60193         two nonoverlapping objects can't overflow, and that all-bits-zero
60194         yields scalar zero.  Fix spelling and capitalization typos.
60195
60196 2003-09-19  Karl Berry  <karl@gnu.org>
60197
60198         * lib/argp.h: update from libc.
60199
60200 2003-09-17  Paul Eggert  <eggert@twinsun.com>
60201
60202         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
60203         to avoid spurious warnings like "AC_RUN_IFELSE was called before
60204         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
60205
60206 2003-09-17  Paul Eggert  <eggert@twinsun.com>
60207
60208         * gnulib-tool: Use "test -h", not "test -L", for portability
60209         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
60210         (tags_regexp): Remove, since \| doesn't conform to POSIX.
60211         (sed_extract_prog): Issue s commands one-by-one, rather than
60212         using \| in one s command.
60213
60214 2003-09-16  Paul Eggert  <eggert@twinsun.com>
60215
60216         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
60217         input error, instead of returning NULL the next time we are called
60218         (and therefore losing track of errno).
60219
60220 2003-09-16  Bruno Haible  <bruno@clisp.org>
60221
60222         * gnulib-tool (func_create_testdir): Warn about duplicated
60223         dependencies.
60224
60225 2003-09-15  Paul Eggert  <eggert@twinsun.com>
60226
60227         * modules/argmatch, modules/fatal, modules/obstack,
60228         modules/xalloc, modules/xgethostname: Sort dependencies by
60229         importance, not alphabetically.
60230
60231 2003-09-15  Paul Eggert  <eggert@twinsun.com>
60232
60233         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
60234         fails, so that the caller gets the proper errno.
60235
60236         * lib/readutmp.c (read_utmp): Likewise.
60237         Check for fstat error.  Close stream and free storage
60238         when failing.
60239
60240 2003-09-14  Karl Berry  <karl@gnu.org>
60241
60242         * config/srclist.txt (strdup.c): disable for c89 changes.
60243
60244 2003-09-14  Jim Meyering  <jim@meyering.net>
60245
60246         * lib/getloadavg.c: Correct cpp indentation.
60247         * lib/strdup.c: Likewise.
60248         * lib/vasnprintf.c: Likewise.
60249
60250 2003-09-14  Bruno Haible  <bruno@clisp.org>
60251
60252         * modules/fwriteerror: New file.
60253         * MODULES.html.sh (func_all_modules): Add fwriteerror.
60254
60255 2003-09-14  Bruno Haible  <bruno@clisp.org>
60256
60257         * lib/fwriteerror.h: New file.
60258         * lib/fwriteerror.c: New file.
60259
60260 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60261
60262         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
60263         modules/xgethostname, modules/xalloc: Depend on exit.
60264
60265 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60266
60267         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
60268
60269         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
60270         and AC_MINIX, too, so that their extensions are available.
60271
60272         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
60273         This macro has been superseded by gl_BACKUPFILE.
60274
60275         More patches to assume C89 or better.
60276
60277         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
60278
60279         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
60280         unconditionally.
60281         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
60282         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
60283         Include <string.h>, <stdlib.h> unconditionally.
60284         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
60285         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
60286         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
60287         headers or for string.h.
60288         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
60289         or strtoul.
60290
60291         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
60292         headers.
60293         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
60294         * m4/userspec.m4 (gl_USERSPEC): Likewise.
60295         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
60296         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
60297         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60298         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
60299         memcpy, memset.
60300         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
60301         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
60302         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
60303         strtol.
60304         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
60305         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
60306         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
60307         strtoul.
60308
60309 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60310
60311         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
60312         * lib/obstack.c [!defined _LIBC]: Likewise.
60313         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
60314         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
60315         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
60316
60317         More changes to assume C89 or better.
60318
60319         * lib/error.c (error_tail): Assume vprintf.
60320
60321         * lib/argmatch.c (getenv): Remove decl.
60322         * lib/progreloc.c (get_full_program_name): Define via prototype.
60323         * lib/setenv.c (clearenv): Likewise.
60324         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
60325         needed.
60326         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
60327         (malloc, memcpy): Remove decls.
60328         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
60329         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
60330         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
60331         (memcpy): Remove macro.
60332         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
60333         (__P): Remove.  All uses removed.
60334         (PTR): Remove.  All uses changed to void *.
60335         (CHAR_BIT, NULL): Remove.
60336         (spaces, zeros, memset_space, memset_zero)
60337         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
60338         Remove.
60339         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
60340         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
60341         Define with prototype.
60342         Remove now-unnecessary prototype decl.
60343         (extra_args_spec): Assume ANSI C.  All uses changed.
60344         (extra_args_spec_iso): Remove.
60345         (my_strftime, emacs_strftimeu): Define via prototype.
60346         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
60347         unconditionally.
60348         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
60349         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
60350         (strtoul, strtol): Remove decls.
60351         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
60352         LONG_MAX): Remove.
60353         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
60354         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
60355         (LOCALE_PARAM_PROTO): New macro.
60356         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
60357         (INTERNAL (strtol), strtol): Define with a prototype.
60358         (PARAMS): Remove.  All uses removed.
60359         * lib/tempname.c: Include <string.h> unconditionally.
60360         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
60361         * lib/xgethostname.c (main): Define with a prototype.
60362         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
60363         Include <stdlib.h> unconditionally.
60364         (calloc, malloc, realloc, free): Remove decls.
60365         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
60366         Include <stdlib.h> unconditionally.  Sort include file names.
60367         (strtod): Remove.
60368         (xstrtod): Define with a prototype.
60369         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
60370         (strtol, strtoul): Remove decls.
60371
60372 2003-09-11  Paul Eggert  <eggert@twinsun.com>
60373
60374         More patches to assume C89 or better.
60375         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
60376         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
60377         string.h, memchr, STDC_HEADERS.
60378
60379 2003-09-11  Paul Eggert  <eggert@twinsun.com>
60380
60381         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
60382         Include <stdlib.h>, <string.h> unconditionally.
60383         Remove now-unnecessary cast to char *.
60384         * lib/strnlen.c: Include <string.h> unconditionally.
60385         * lib/yesno.c (yesno): Define with a prototype.
60386
60387 2003-09-11  Bruno Haible  <bruno@clisp.org>
60388
60389         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
60390
60391 2003-09-10  Jim Meyering  <jim@meyering.net>
60392
60393         * lib/error.c: Correct indentation of cpp directives.
60394
60395 2003-09-10  Bruno Haible  <bruno@clisp.org>
60396
60397         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
60398         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
60399         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
60400         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
60401         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
60402         <stdlib.h> and <string.h> checks.
60403         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
60404         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
60405
60406 2003-09-10  Bruno Haible  <bruno@clisp.org>
60407
60408         * lib/strcspn.c: Include <string.h> unconditionally.
60409         * lib/strpbrk.c: Include <string.h> unconditionally.
60410         * lib/strstr.c: Include <string.h> unconditionally.
60411         * lib/unicodeio.c: Include <string.h> unconditionally.
60412         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
60413         * lib/unsetenv.c: Likewise.
60414         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
60415         * lib/yesno.c: Include <stdlib.h> unconditionally.
60416         (rpmatch): Add prototype.
60417
60418 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60419
60420         More patches to assume C89 or better.
60421         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
60422         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
60423         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
60424         or for string.h.
60425         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
60426         stdlib.h.
60427         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
60428         C headers.
60429         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
60430         string.h.
60431         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
60432         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
60433         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
60434         or for string.h.
60435         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
60436         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
60437         C headers.
60438         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
60439         memcpy.
60440         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
60441         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
60442         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
60443         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
60444         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
60445         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
60446         string.h, free.
60447         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
60448         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
60449         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
60450         C headers, or for string.h.
60451         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
60452         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
60453         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
60454         headers, memory.h, stdlib.h, string.h, strings.h.
60455         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
60456         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
60457         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
60458         strchr.
60459         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
60460         headers, memory.h, string.h.
60461         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
60462         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
60463         free.
60464         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
60465         headers.
60466         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
60467         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
60468         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
60469         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
60470         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
60471
60472 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60473
60474         More K&R removal.
60475
60476         * lib/acosl.c (main): Use a prototype.
60477         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
60478         tanl.c: Likewise.
60479
60480         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
60481
60482         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
60483         (getopt, etopt_long, getopt_long_only, _getopt_internal)
60484         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
60485         with a prototype.
60486         * lib/getopt.c (const): Remove macro.
60487         Include <string.h> unconditionally.
60488         (my_index): Remove; all uses changed to strchr.
60489         (strlen): Remove decl.
60490         (exchange): Remove forward decl; no longer needed.
60491         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
60492         Define with prototype.
60493         * lib/getopt1.c (const): Remove macro.
60494         (getopt_long, getopt_long_only, main): Define with prototype.
60495
60496         * lib/getugroups.c: Include <string.h> unconditionally.
60497
60498         * lib/getusershell.c: Include <stdlib.h> unconditionally.
60499         (getusershell, setusershell, endusershell, readname, main):
60500         Define with prototypes.
60501
60502         * lib/group-member.c: Include group-member.h first.
60503         Include <stdlib.h> unconditionally.
60504
60505         * lib/hard-locale.c: Include hard-locale.h first.
60506         Include <stdlib.h>, <string.h> unconditionally.
60507
60508         * lib/hash.c (free, malloc): Remove decls.
60509         Include <stdlib.h> unconditionally.
60510
60511         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
60512         (getenv): Do not declare.
60513
60514         * lib/idcache.c: Include <string.h> unconditionally.
60515
60516         * lib/long-options.c: Include long-options.h first, to test interface.
60517         Include <stdlib.h> unconditionally.
60518
60519         * lib/makepath.c: Include makepath.h first, to test interface.
60520         Include <stdlib.h> and <string.h> unconditionally.
60521
60522         * lib/linebuffer.c: Include <stdlib.h>.
60523         (free): Remove decl.
60524
60525         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
60526         stddef.h. rpl_malloc returns void *, not char *.
60527         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
60528         prototype.
60529
60530         * lib/md5.h: Include <limits.h> unconditionally.
60531         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
60532         (__P): Remove; all uses removed.
60533         * lib/md5.c: Include "md5.h" first.
60534         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
60535         md5_buffer, md5_process_bytes, md5_process_block):
60536         Define with prototypes.
60537         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
60538         * lib/sha.c: Include "sha.h" first.
60539         Include <stdlib.h>, <string.h> unconditionally.
60540
60541         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
60542         * lib/memcmp.c (__ptr_t): Likewise.
60543         * lib/memrchr.c (__ptr_t): Likewise.
60544         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
60545         Include <string.h> unconditionally.
60546         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
60547         * lib/memchr.c: Include <stdlib.h> unconditionally.
60548         * lib/memchr.c (LONG_MAX): Remove.
60549         * lib/memrchr.c (LONG_MAX): Likewise.
60550         * lib/memchr.c (__memchr): Define via a prototype.
60551         * lib/memrchr.c (__memrchr): Likewise.
60552         * lib/memcmp.c (__P): Remove, and remove all uses.
60553         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
60554         Remove forward decls; no longer needed.
60555         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
60556         Use types required by C89 in prototype.
60557
60558         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
60559         * lib/savedir.c: Likewise.
60560         * lib/mkdir.c (free): Remove decl.
60561         * lib/rmdir.c (rmdir): Define with a prototype.
60562         * lib/savedir.c: Include savedir.h first, to test interface.
60563
60564         * lib/mktime.c (STDC_HEADERS): Remove.
60565         Include <stdlib.h>, <string.h> unconditionally.
60566
60567         * lib/modechange.c: Include <stdlib.h> unconditionally.
60568         (malloc): Remove decl.
60569
60570         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
60571         (free): Remove decl.
60572
60573         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
60574         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
60575         (This type really should be intptr_t, but that's a C99ism.)
60576         (_obstack_memcpy): Remove: all uses changed to memcpy.
60577         Include <string.h> unconditionally.
60578         (struct obstack): Assume __STDC__ for types of members
60579         chunkfun, freefun, extra_arg.
60580         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
60581         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
60582         obstack_begin, obstack_specify_allocation,
60583         obstack_specify_allocation_with_arg, obstack_chunkfun,
60584         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
60585         Remove unprototyped decls and the macros that use them.
60586         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
60587         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
60588         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
60589         (defined __STDC__ && __STDC__)]:
60590         Remove nonprototyped code.
60591         Include <stdlib.h> unconditionally.
60592         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
60593         _obstack_allocated_p, _obstack_free, obstack_free,
60594         _obstack_memory_used, print_and_abort):
60595         Define using prototypes.
60596         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
60597         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
60598         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
60599         obstack_next_free, obstack_object_size, obstack_room) [0]:
60600         Remove unused, unprototyped code.
60601
60602         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
60603
60604         * lib/physmem.c (physmem_total, physmem_available, main): Define
60605         with prototypes.
60606
60607         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
60608         (main): Define with a prototype.
60609
60610         * lib/posixver.c (getenv): Remove decl.
60611
60612         * lib/putenv.c (malloc): Returns void *, not char *.
60613         Include <string.h> unconditionally.
60614         (strchr, memcpy, NULL): Do not define.
60615
60616         * lib/readtokens.c: Include readtokens.h first, to test interface.
60617         Include <stdlib.h>, <string.h> unconditionally.
60618         (init_tokenbuffer): Define with a prototype.
60619
60620         * lib/regex.c (PARAMS): Remove.  All uses removed.
60621         All uses of _RE_ARGS removed, too.
60622         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
60623         unconditionally.
60624         (bzero): Assume memset exists.
60625         (memcmp, memcpy, NULL): Remove.
60626         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
60627         char, or assignments to local vars of type signed char.
60628         (init_syntax_once, PREFIX(extract_number_and_incr),
60629         PREFIX(print_partial_compiled_pattern),
60630         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
60631         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
60632         PREFIX(regex_grow_registers), PREFIX(regex_compile),
60633         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
60634         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
60635         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
60636         wcs_compile_range, byte_compile_range, truncate_wchar,
60637         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
60638         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
60639         count_mbs_length, wcs_re_match_2_internal,
60640         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
60641         PREFIX(alt_match_null_string_p),
60642         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
60643         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
60644         regfree, PREFIX(extract_number)): Define with prototype.  Remove
60645         now-unnecessary declaration, if any.
60646         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
60647         regcomp, regexec):
60648         Remove now-unnecessary casts among pointer types.
60649         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
60650
60651         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
60652         (free): Remove decl.
60653
60654         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
60655
60656         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
60657         (free): Remove decl.
60658
60659         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
60660         * lib/xgetcwd.c: Likewise.
60661
60662         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
60663         (free): Remove decl.
60664
60665         * lib/strchrnul.c (strchrnul): Define with a prototype.
60666         Fix bug: c_in was not converted to char before searching.
60667
60668         The following changes are not K&R related:
60669
60670         * lib/group-member.h: Include <sys/types.h>, so that this file is
60671         self-contained.
60672         * lib/makepath.h: Likewise.
60673
60674         * lib/getusershell.c (readname, default_index, line_size, readname):
60675         Use size_t, not int, for sizes.
60676         (readname): If the size overflows, report an error instead of
60677         looping forever.
60678
60679 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60680
60681         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
60682         libc.
60683
60684 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60685
60686         * README: New section: portability guidelines.
60687
60688 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
60689
60690         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
60691         C89 spec.
60692
60693 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
60694
60695         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
60696
60697 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60698
60699         Assume C89 or better; remove K&R cruft.
60700         A few of these changes were first proposed by Derek Robert Price
60701         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
60702
60703         * lib/addext.c: Include <string.h> unconditionally.
60704         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
60705         Don't declare getenv or malloc.
60706
60707         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
60708         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
60709         (NULL): Remove.
60710         (find_stack_direction, alloca): Use prototypes.
60711
60712         * lib/atexit.c (atexit): Define using a prototype.
60713
60714         * lib/basename.c, dirname.c, stripslash.c:
60715         Include <string.h> unconditionally.
60716
60717         * lib/bcopy.c: Include <stddef.h>.
60718         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
60719
60720         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
60721
60722         * lib/error.h (error, error_at_line, error_print_progname)
60723         [! (defined (__STDC__) && __STDC__)]: Remove decls.
60724         * lib/error.c: Include error.h first, to check interface.
60725         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
60726         (VA_START): Remove; all uses changeed to va_start.
60727         (exit, strerror): Remove decls.
60728         (error_print_progname): Prototype uncondionally.
60729         Don't include <errno.h>; no longer needed.
60730         (private_strerror): Remove.
60731         (error_tail): Always define.
60732         (error, error_at_line): Assume C89 or better; always use prototypes.
60733         * lib/fatal.c: Include "fatal.h" first, to test interface.
60734         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
60735         (VA_START): Remove; all uses changed to va_start.
60736         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
60737         this case.
60738         (exit): Remove decl.
60739         (fatal): Prototype unconditionally.  Assume va_start works.
60740         Abort at end, to pacify gcc.
60741
60742         * lib/euidaccess.c (main): Define with a prototype.
60743
60744         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
60745
60746         * lib/exitfail.c: Include <stdlib.h> unconditionally.
60747
60748         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
60749         prototypes.
60750         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
60751         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
60752         (getenv): Remove decl.
60753         (fnmatch): Define using a prototype.
60754         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
60755         (FCT): Define using a prototype.
60756
60757         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
60758
60759         * lib/gethostname.c: Include <stddef.h>.
60760         (gethostname): Define with prototype.  Length is size_t, not int.
60761
60762 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60763
60764         Assume C89 or better; remove K&R cruft.
60765         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
60766         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
60767         string.h, getenv, malloc.
60768         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
60769         headers.
60770         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
60771         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
60772         do not check for strerror.
60773         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
60774         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
60775         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
60776         do not check for doprnt or vprintf.
60777         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
60778         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
60779
60780 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60781
60782         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
60783         getversion.c should have been removed then, but was accidentally
60784         preserved.
60785
60786         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
60787         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
60788
60789 2003-09-08  Karl Berry  <karl@gnu.org>
60790
60791         * config/config.sub, config.guess, srclistvars.sh: update from savannah
60792                 config, forget about prep.
60793
60794         * config/depcomp, missing: update from automake.
60795
60796 2003-09-07  Paul Eggert  <eggert@twinsun.com>
60797
60798         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
60799         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
60800
60801 2003-09-07  Paul Eggert  <eggert@twinsun.com>
60802
60803         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
60804         copy_tm_result.  Bug reported by Simon Josefsson in
60805         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
60806
60807 2003-09-06  Paul Eggert  <eggert@twinsun.com>
60808
60809         * m4/time_r.m4: New file.
60810         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
60811         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
60812         is. Check for timegm declaration.
60813         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
60814         Do not check for gmtime_r.
60815         Replace mktime if __mktime_internal does not exist and if mktime
60816         hasn't been replaced already.
60817
60818 2003-09-06  Paul Eggert  <eggert@twinsun.com>
60819
60820         * lib/time_r.c, lib/time_r.h: New files.
60821
60822         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
60823         __localtime_r.
60824         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
60825         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
60826
60827         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
60828         __gmtime_r.
60829         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
60830         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
60831         Include <time_r.h>.
60832
60833         * lib/timegm.c: Switch to glibc implementation, with the following
60834         changes:
60835         [defined HAVE_CONFIG_H]: Include <config.h>.
60836         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
60837         (__mktime_internal) [!defined _LIBC]: New decl.
60838         (__gmtime_r) [!defined _LIBC]: New macro and function.
60839         (timegm): Use a prototype, since gnulib assumes C89.
60840         Do not bother declaring tmp to be const, as it's not really usefu.
60841         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
60842         (timegm): Declare only if HAVE_DECL_TIMEGM.
60843
60844 2003-09-06  Paul Eggert  <eggert@twinsun.com>
60845
60846         * MODULES.html.sh (func_all_modules): Add time_r.
60847         * modules/time_r: New file.
60848         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
60849         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
60850
60851 2003-09-03  Paul Eggert  <eggert@twinsun.com>
60852
60853         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
60854         Bug reported by Lute Kamstra in
60855         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
60856
60857         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
60858         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
60859         course with correspondingly smaller numbers for tomorrow and
60860         yesterday.  From Tadayoshi Funaba.  Originally installed into
60861         sh-utils on 1999-08-07, but the patch got lost (I guess during the
60862         coreutils merge?).
60863
60864 2003-08-31  Simon Josefsson  <jas@extundo.com>
60865
60866         * modules/timegm: New file.
60867         * MODULES.html.sh (func_all_modules): Add timegm.
60868
60869 2003-08-31  Simon Josefsson  <jas@extundo.com>
60870
60871         * m4/timegm.m4: New file.
60872
60873 2003-08-31  Simon Josefsson  <jas@extundo.com>
60874
60875         * lib/timegm.h: New file.
60876         * lib/timegm.c: New file.  Based on
60877         wget-1.8.2/src/http.c:mktime_from_utc.
60878
60879 2003-08-31  Karl Berry  <karl@gnu.org>
60880
60881         * lib/argp.h: update from libc.
60882
60883 2003-08-28  Bruno Haible  <bruno@clisp.org>
60884
60885         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
60886         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
60887         followed by '#define fnmatch fnmatch_posix' gives an error.
60888
60889 2003-08-28  Bruno Haible  <bruno@clisp.org>
60890
60891         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
60892         warning on QNX, which defines O_BINARY to 000000.
60893
60894 2003-08-27  Jim Meyering  <jim@meyering.net>
60895
60896         * m4/mkstemp.m4: Require that the system mkstemp be able to create
60897         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
60898         would fail after 32.  Reported by Danny Levinson.  Details here:
60899         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
60900
60901 2003-08-24  Bruno Haible  <bruno@clisp.org>
60902
60903         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
60904         MSVC7 <stdio.h> is included later.
60905
60906 2003-08-22  Simon Josefsson  <jas@extundo.com>
60907
60908         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
60909
60910 2003-08-20  Karl Berry  <karl@gnu.org>
60911
60912         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
60913
60914 2003-08-20  Bruno Haible  <bruno@clisp.org>
60915
60916         * modules/progname: New file.
60917         * MODULES.html.sh (func_all_modules): Add progname.
60918
60919 2003-08-20  Bruno Haible  <bruno@clisp.org>
60920
60921         * lib/progname.h: New file, from GNU gettext.
60922         * lib/progname.c: New file, from GNU gettext.
60923         * lib/progreloc.c: New file, from GNU gettext.
60924
60925 2003-08-19  Jim Meyering  <jim@meyering.net>
60926
60927         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
60928         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
60929
60930 2003-08-19  Bruno Haible  <bruno@clisp.org>
60931
60932         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
60933         more.
60934
60935 2003-08-19  Bruno Haible  <bruno@clisp.org>
60936
60937         * lib/xstrdup.c: Assume <string.h> exists.
60938
60939 2003-08-18  Paul Eggert  <eggert@twinsun.com>
60940
60941         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
60942         in makefile rules.
60943
60944 2003-08-18  Jim Meyering  <jim@meyering.net>
60945
60946         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
60947         * m4/lib-ld.m4: Likewise.
60948
60949 2003-08-18  Jim Meyering  <jim@meyering.net>
60950
60951         * lib/setenv.h: Indent nested cpp directive.
60952         * lib/vasnprintf.c: Remove trailing blanks.
60953
60954 2003-08-17  Simon Josefsson  <jas@extundo.com>
60955
60956         * modules/xstrndup: New file.
60957         * MODULES.html.sh (func_all_modules): Add xstrndup.
60958
60959 2003-08-17  Simon Josefsson  <jas@extundo.com>
60960
60961         * modules/argp: Fix autoconf macro name. Add more dependencies.
60962
60963 2003-08-17  Simon Josefsson  <jas@extundo.com>
60964
60965         * m4/xstrndup.m4: New file.
60966
60967 2003-08-17  Simon Josefsson  <jas@extundo.com>
60968
60969         * m4/argp.m4: New file.
60970
60971 2003-08-17  Simon Josefsson  <jas@extundo.com>
60972             Bruno Haible  <bruno@clisp.org>
60973
60974         * lib/xstrndup.h: New file.
60975         * lib/xstrndup.c: New file.
60976
60977 2003-08-17  Bruno Haible  <bruno@clisp.org>
60978
60979         * modules/strndup (Files, Include): Add lib/strndup.h.
60980
60981 2003-08-17  Bruno Haible  <bruno@clisp.org>
60982
60983         * modules/euidaccess (Files): Add lib/euidaccess.h.
60984
60985 2003-08-17  Bruno Haible  <bruno@clisp.org>
60986
60987         * lib/strndup.h: New file.
60988
60989 2003-08-17  Bruno Haible  <bruno@clisp.org>
60990
60991         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
60992         like AC_GNU_SOURCE.
60993         * modules/extensions (configure.ac): Comment out the invocation of
60994         gl_USE_SYSTEM_EXTENSIONS.
60995
60996 2003-08-16  Paul Eggert  <eggert@twinsun.com>
60997
60998         Merges from coreutils, etc.
60999         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
61000         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
61001         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
61002         fixing a typo.
61003         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
61004         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
61005
61006 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61007
61008         Document merge from coreutils.
61009         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
61010         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
61011         * modules/utime: Add m4/utimes-null.m4.
61012
61013 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61014
61015         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
61016         space, undoing this 2003-08-12 change:
61017         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
61018
61019 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61020
61021         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
61022         strtoul.c from libc, undoing this 2003-08-12 change:
61023         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
61024
61025 2003-08-16  Jim Meyering  <jim@meyering.net>
61026
61027         Merges from coreutils.
61028         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
61029         prefix.  Adjust cache variables similarly.  Create 500 rather than
61030         just 300 files, to exercise bug on Darwin6.5, too.
61031         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
61032         $missing_dir.
61033         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
61034         AM_SYS_POSIX_TERMIOS.
61035         Reported by mkc@mathdogs.com.
61036         Also change use of $am_cv_sys_posix_termios
61037         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
61038         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
61039         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
61040         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
61041         in /proc/mounts until it finds one with matching device number.  This
61042         is unnecessary when the FILE argument *is* a mount point.  No stat call
61043         is necessary in that case.  So, disable the statvfs-testing code on
61044         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
61045         as RedHat bug# 84846.
61046         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
61047         to 1MB, so as not to render systems with no stack size limit (e.g.,
61048         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
61049         Include <unistd.h>.  On some systems,
61050         it is required for the definition of _SC_PAGESIZE.
61051
61052 2003-08-16  Jim Meyering  <jim@meyering.net>
61053
61054         Merge from coreutils.
61055         * lib/xstrtoimax.c: #else #if -> #elif.
61056         * lib/xstrtoumax.c: Likewise.
61057
61058 2003-08-16  Jim Meyering  <jim@meyering.net>
61059
61060         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
61061         * m4/utimes.m4: Removed.
61062         * m4/utimes-null.m4: Renamed from utimes.m4.
61063
61064         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
61065         to 1MB, so as not to render systems with no stack size limit (e.g.,
61066         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
61067         Include <unistd.h>.  On some systems,
61068         it is required for the definition of _SC_PAGESIZE.
61069
61070 2003-08-16  Jim Meyering  <jim@meyering.net>
61071         and Paul Eggert  <eggert@cs.ucla.edu>
61072
61073         Merges from coreutils, etc.
61074
61075         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
61076         using the latest version from cvs.  This avoids problems with #line
61077         directives using a vendor (Sun) compiler.
61078         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
61079         Don't set GETGROUPS_LIB here; now it's
61080         done via getgroups.m4's wrapper function.
61081         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
61082         rather than just in sh-util/configure.in, so that the
61083         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
61084         same.
61085         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
61086         AC_FUNC_GETLOADAVG where to find getloadavg.c.
61087         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
61088         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
61089         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
61090         Remove code that is now done by the newly-required macros.
61091         Append $(EXEEXT) to DF_PROG.
61092         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
61093         Do not invoke or require the following here,
61094         since prereq.m4 or some gnulib .m4 now does this for us:
61095         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
61096         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
61097         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
61098         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
61099         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
61100         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
61101         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
61102         AC_FUNC_OBSTACK.
61103         Do not replace the following functions, as this is now the job
61104         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
61105         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
61106         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
61107         atexit getpass, strdup, getpagesize.
61108         Replace 'raise'.
61109         Do not check for the following functions, as this is now the job
61110         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
61111         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
61112         setregid.
61113         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
61114         Check for sys/sysctl.h.
61115         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
61116         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
61117         of checking for ssize_t ourselves.
61118
61119         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
61120         Require every macro that gnulib/modules/* suggests for us.
61121         (jm_PREREQ_ADDEXT): New macro.
61122         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
61123         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
61124
61125         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
61126         (gl_PHYSMEM): Use it.
61127         Also check for `table' function.
61128         Check for new headers and functions.
61129         Add check for sys/sysmp.h.
61130         With suggestions from Kaveh Ghazi.
61131         Ignore headers that are present but cannot be compiled.  This
61132         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
61133         C 5.4.
61134
61135 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61136
61137         Document merge from coreutils.
61138         * modules/userspec: Depend on posixver.
61139         * modules/strftime: Depend on tzset.
61140
61141 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61142
61143         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
61144         rather than tab, after '#' in shell-script copyright notices.
61145         Suggested by Bruno Haible.
61146
61147 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61148
61149         * config/srclist-update: Use three spaces, rather than tab, after '#'
61150         in shell-script copyright notices.  Suggested by Bruno Haible.
61151         Remove unnecessary parenthesization in regular expression.
61152
61153 2003-08-15  Jim Meyering  <jim@meyering.net>
61154
61155         Merge from coreutils.
61156         * lib/xgethostname.c: Include <stdlib.h>.
61157         (xghostname): Don't exit for anything other than memory-related
61158         failure; just return NULL.
61159         * lib/userspec.c: Include "posixver.h".
61160         (parse_user_spec): Accept `.' as a separator only
61161         in pre-POSIX-200112 mode.
61162         * lib/strtoimax.c: Use #elif rather than #else #if.
61163         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
61164         Remove function, now that we can rely on a working tzset function.
61165         [!_LIBC]: Ensure that the required autoconf test has been run.
61166         [!defined _NL_CURRENT && HAVE_STRFTIME]:
61167         Use underlying_strftime for %r.
61168         * lib/sha.c: Merge in some clean-up and optimization changes from
61169         glibc.
61170         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
61171         Ensure that it is a multiple of 64.
61172         Rearrange loop exit tests so as to avoid performing an
61173         additional fread after encountering an error or EOF.
61174         * lib/realloc.c: Update copyright date.
61175
61176 2003-08-15  Jim Meyering  <jim@meyering.net>
61177         and Paul Eggert  <eggert@twinsun.com>
61178
61179         Merge from coreutils.
61180         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
61181         member but strut utmpx does not.  Needed for AIX 4.3.3.
61182         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
61183
61184 2003-08-15  Jim Meyering  <jim@meyering.net>
61185         and Paul Eggert  <eggert@cs.ucla.edu>
61186
61187         Merges from coreutils, etc.
61188         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
61189         Require gl_FUNC_TZSET_CLOBBER.
61190         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
61191         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
61192         members.
61193
61194 2003-08-14  Paul Eggert  <eggert@twinsun.com>
61195
61196         Help the merge from coreutils.
61197         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
61198         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
61199         * m4/tzset.m4: Use it too.
61200
61201 2003-08-14  Paul Eggert  <eggert@twinsun.com>
61202
61203         * modules/tzset: New file.
61204
61205 2003-08-14  Jim Meyering  <jim@meyering.net>
61206
61207         Merges from coreutils.
61208         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
61209         variable names, rather than @FNMATCH_H@.
61210         * modules/alloca: Likewise for $(ALLOCA_H).
61211
61212         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
61213         the three copies of the literal target, `fnmatch.h'.
61214         * modules/alloca (alloca.h): Likewise.
61215
61216 2003-08-14  Jim Meyering  <jim@meyering.net>
61217
61218         Merge from coreutils.
61219         * m4/tzset.m4: New file.
61220         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
61221         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
61222         otherwise, AIX 5.1 systems would end up using the latter.
61223         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
61224         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
61225         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
61226         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
61227
61228 2003-08-14  Jim Meyering  <jim@meyering.net>
61229
61230         Merge from coreutils.
61231         * lib/obstack.h: Whitespace changes.
61232         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
61233         and xcalloc return values.
61234         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
61235         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
61236         hang on OSF/1 5.1 for DIR on both local and remote file systems.
61237         Reported by (and fix confirmed by) Nelson H. F. Beebe.
61238         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
61239         error from mntctl.
61240         Use mntctl's return value to drive the entry-processing loop, since
61241         we can't rely on the value of the vmt_length member in the last
61242         entry.  On some systems doing so could result in exhausting
61243         virtual memory.  Based in part on a patch from Mike Jetzer.
61244
61245 2003-08-14  Jim Meyering  <jim@meyering.net>
61246         and Paul Eggert  <eggert@twinsun.com>
61247
61248         Merges from coreutils, plus other fixes.
61249         * lib/physmem.c: Merge in portability changes from gcc/libiberty
61250         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
61251         for credits and details.  Thanks to Kaveh Ghazi for helping
61252         to keep these files in sync.
61253         (ARRAY_SIZE): Define it.
61254         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
61255         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
61256         (memcasecmp): Don't assume size_t fits in unsigned int.
61257         Remove casts and duplicate code.
61258         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
61259         (memcpy): Remove definition.
61260         Merge in some clean-up and optimization changes from glibc.
61261         [BLOCKSIZE]: Move definition to top of file.
61262         Ensure that it is a multiple of 64.
61263         Rearrange loop exit tests so as to avoid performing an
61264         additional fread after encountering an error or EOF.
61265         * lib/md5.h (md5_uintptr): Define.
61266         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
61267         return to the initial working directory.  Preserve errno
61268         for caller.
61269         * lib/idcache.c: Include "xalloc.h".
61270         (xmalloc, xrealloc): Remove decls.
61271         (getuser): Remove casts no longer required in C89.
61272         * lib/human.c: Include stdio.h, for sprintf.
61273         * lib/group-member.c: Include "xalloc.h".
61274         (xmalloc, xrealloc): Remove decls.
61275         (get_group_info): Remove casts no longer required in C89.
61276         * lib/getusershell.c (readname): Remove casts no longer required in
61277         C89.
61278         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
61279         * lib/getline.c: Whitespace fix, from coreutils.
61280
61281 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61282
61283         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
61284         Check for isascii.
61285
61286         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
61287         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
61288         Undo previous (whitespace-only) change.
61289
61290 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61291
61292         * lib/exclude.c: Include <ctype.h>
61293         (IN_CTYPE_DOMAIN): New macro.
61294         (is_space): New fn.
61295         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
61296         and empty lines.
61297
61298         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
61299         Undo previous (whitespace-only) change.
61300
61301 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61302
61303         * config/srclist-update: Change update back to the old behavior,
61304         leaving whitespace alone.  Use one 'sed' command rather than a
61305         pipeline.
61306         (fixlicense): Now a variable, not a function.
61307         (remove_trailing_blanks): Remove.
61308         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
61309         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
61310         Undo previous (whitespace-only) change.
61311
61312 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61313
61314         Merge from coreutils.
61315         * modules/euidaccess: Add lib_SOURCES, include for new
61316         file euidaccess.h
61317
61318 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61319
61320         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
61321         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
61322         Normalize leading white space and remove trailing white space.
61323
61324         Merge from coreutils
61325         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
61326
61327         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
61328         0.12.1.  These files are now being upgraded automatically by
61329         ../config/srclist-update.
61330
61331 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61332
61333         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
61334         Normalize leading white space and remove trailing white space.
61335         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
61336         notice, as per ../config/srclist-update.
61337
61338         Merge from coreutils.
61339         * lib/euidaccess.h: New file.
61340         * lib/euidaccess.c: Include it.
61341         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
61342         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
61343         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
61344
61345 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61346
61347         * config/srclist-update: Add copyright notice.
61348         (remove_id_lines, remove_trailing_blanks): New constants.
61349         (fixfile): Use them to normalize spacing a bit in copied files.
61350         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
61351         Normalize leading white space and remove trailing white space.
61352
61353         * config/texinfo.tex: Sync with texinfo.
61354
61355         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
61356         strtoul.c from libc, to merge coreutils whitespace changes.
61357
61358         * config/srclist.txt: Get the following m4 files from gettext:
61359         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
61360         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
61361         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
61362         wint_t.m4.
61363
61364 2003-08-12  Karl Berry  <karl@gnu.org>
61365
61366         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
61367         been made.
61368
61369 2003-08-11  Paul Eggert  <eggert@twinsun.com>
61370
61371         * modules/gnu-source, m4/gnu-source.m4:
61372         Remove; we're assuming Autoconf 2.54 or later now.
61373         Suggested by Bruno Haible.
61374         * MODULES.html.sh (func_all_modules): Remove gnu-source.
61375
61376 2003-08-11  Bruno Haible  <bruno@clisp.org>
61377
61378         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
61379
61380 2003-08-11  Bruno Haible  <bruno@clisp.org>
61381
61382         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
61383         (vasnprintf): Use it instead of wcslen.
61384
61385 2003-08-11  Bruno Haible  <bruno@clisp.org>
61386
61387         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
61388         value to ensure that _Bool promotes to int. Use #define for _Bool when
61389         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
61390
61391 2003-08-10  Karl Berry  <karl@gnu.org>
61392
61393         * lib/regex.h: update from libc (whitespace fix).
61394
61395 2003-08-09  Paul Eggert  <eggert@twinsun.com>
61396
61397         Merge some files from coreutils.  These changes were
61398         originally made by Jim Meyering.
61399         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
61400         many older Unixes require this.
61401         * lib/alloca.c (alloca): Remove cast to argument of free;
61402         no longer needed in C89.
61403         * lib/alloca_.h, regex.h: Fix white space to match
61404         what GNU indent does.
61405
61406 2003-08-09  Paul Eggert  <eggert@twinsun.com>
61407
61408         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
61409         apparently Emacs's Unicode mode got confused before my 2003-08-05
61410         checkin.
61411
61412 2003-08-08  Paul Eggert  <eggert@twinsun.com>
61413
61414         * m4/extensions.m4: New file.
61415         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
61416         Require gl_USE_SYSTEM_EXTENSIONS.
61417         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
61418         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
61419
61420 2003-08-08  Paul Eggert  <eggert@twinsun.com>
61421
61422         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
61423         * modules/extensions, modules/gnu-source: New files.
61424         * modules/timespec, modules/unlocked-io: Depend on extensions.
61425
61426 2003-08-07  Paul Eggert  <eggert@twinsun.com>
61427
61428         * modules/restrict: New file.
61429         * MODULES.html.sh (func_all_modules): Add restrict.
61430         * modules/regex: Depend on restrict.
61431
61432 2003-08-07  Paul Eggert  <eggert@twinsun.com>
61433
61434         * m4/restrict.m4: New file.
61435         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
61436
61437 2003-08-07  Bruno Haible  <bruno@clisp.org>
61438
61439         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
61440         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
61441
61442 2003-08-07  Bruno Haible  <bruno@clisp.org>
61443
61444         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
61445         makes the module 'getndelim2' compatible with the module 'getline'.
61446
61447 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61448
61449         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
61450         byte with "\201" to avoid glitches when editing that source file
61451         with multi-gnome-terminal.
61452
61453 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61454
61455         * lib/bumpalloc.h: Remove.
61456
61457 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61458
61459         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
61460         * modules/bumpalloc: Remove.
61461
61462 2003-08-04  Paul Eggert  <eggert@twinsun.com>
61463
61464         * lib/getloadavg.c: Change copyright notice and spacing to conform to
61465         GNU coding style.
61466
61467         Merge from coreutils.
61468         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
61469         1. From glibc.
61470         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
61471         from Karl Berry, implemented by Jim Meyering.
61472         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
61473         from Dmitry V. Levin.
61474         Remove anachronistic cast of xrealloc.
61475         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
61476         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
61477         type. Otherwise, it wouldn't compile with at least /bin/cc on
61478         ymp-cray-unicos9.0.2.X.
61479         Combine two mostly-identical uses of alloca into one.
61480         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
61481
61482 2003-08-04  Dave Love  <d.love@dl.ac.uk>
61483
61484         [From Emacs.]
61485
61486         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
61487         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
61488         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
61489         obsolete NLIST_NAME_UNION.
61490         [__GNU__]: Undef BSD and FSCALE.
61491         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
61492
61493 2003-08-03  Paul Eggert  <eggert@twinsun.com>
61494
61495         * lib/stdbool_.h (_Bool): Make it signed char, instead of
61496         an enum type, so that it's guaranteed to promote to int.  See:
61497         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
61498
61499 2003-08-03  Karl Berry  <karl@gnu.org>
61500
61501         * config/depcomp: update from automake.
61502
61503 2003-07-31  Paul Eggert  <eggert@twinsun.com>
61504
61505         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
61506         (strerror): Don't assume that a printable int fits in 14 bytes.
61507
61508 2003-07-31  Bruno Haible  <bruno@clisp.org>
61509
61510         * modules/getpass-gnu: New file.
61511         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
61512
61513 2003-07-31  Bruno Haible  <bruno@clisp.org>
61514
61515         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
61516
61517 2003-07-24  Karl Berry  <karl@gnu.org>
61518
61519         * config/missing: update from automake.
61520
61521 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
61522             Bruno Haible  <bruno@clisp.org>
61523
61524         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
61525         * lib/getline.c (getline, getdelim): Likewise.
61526         Remove _GNU_SOURCE define; now it's defined in config.h through
61527         m4/getline.m4.
61528
61529 2003-07-23  Karl Berry  <karl@gnu.org>
61530
61531         * config/config.sub: update from prep.
61532
61533 2003-07-22  Paul Eggert  <eggert@twinsun.com>
61534
61535         * modules/xalloc (Depends-on): Add exitfail.
61536         * modules/xmemcoll: Likewise.
61537
61538 2003-07-22  Paul Eggert  <eggert@twinsun.com>
61539
61540         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
61541         over-parenthesization in macros.
61542
61543         Sync with coreutils.
61544
61545         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
61546         required by C99.
61547
61548         Use `exit_failure' for xalloc and xmemcoll instead of their own
61549         private exit-failure variables.
61550         * lib/xalloc.h (xalloc_exit_failure): Remove.
61551         * lib/xmalloc.c: Likewise.  Include exitfail.h.
61552         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
61553         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
61554         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
61555         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
61556
61557 2003-07-20  Jim Meyering  <jim@meyering.net>
61558
61559         * modules/closeout (Depends-on): Add exitfail.
61560         Suggestion from Bruno Haible.
61561
61562 2003-07-19  Karl Berry  <karl@gnu.org>
61563
61564         * config/config.sub: update from prep.
61565
61566 2003-07-18  Paul Eggert  <eggert@twinsun.com>
61567
61568         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
61569         Remove.
61570         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
61571         to test that it can stand by itself.  Include "exitfail.h".
61572         Clients should set exit_failure instead.
61573         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
61574
61575 2003-07-18  Bruno Haible  <bruno@clisp.org>
61576
61577         * modules/getndelim2: New file.
61578         * modules/getline: Share files with module getndelim2.
61579         * modules/getnline: Depend on getndelim2 instead of sharing files with
61580         it. Add getnline.c to lib_SOURCES.
61581         * MODULES.html.sh (func_all_modules): Add getndelim2.
61582
61583 2003-07-18  Bruno Haible  <bruno@clisp.org>
61584
61585         * m4/getndelim2.m4: New file.
61586         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
61587         invoke gl_PREREQ_GETNDELIM2.
61588         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
61589         gl_PREREQ_GETNDELIM2.
61590         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
61591         gl_GETNDELIM2.
61592
61593 2003-07-18  Bruno Haible  <bruno@clisp.org>
61594
61595         * lib/getndelim2.h: New file.
61596         * lib/getndelim2.c: Make into a module of its own. Include config.h,
61597         getndelim2.h.
61598         (getndelim2): Make non-static. Change return type to ssize_t.
61599         * lib/getline.h: Change argument names.
61600         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
61601         * lib/getnline.c: Include getndelim2.h.
61602
61603 2003-07-18  Andreas Schwab  <schwab@suse.de>
61604
61605         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
61606
61607 2003-07-17  Karl Berry  <karl@gnu.org>
61608
61609         * config/config.sub: update from prep.
61610
61611 2003-07-17  Bruno Haible  <bruno@clisp.org>
61612
61613         * modules/getnline: New file.
61614         * modules/getline: Add lib/getndelim2.c to source file list.
61615         * MODULES.html.sh (func_all_modules): Add getnline.
61616
61617 2003-07-17  Bruno Haible  <bruno@clisp.org>
61618
61619         * m4/getnline.m4: New file.
61620
61621 2003-07-17  Bruno Haible  <bruno@clisp.org>
61622
61623         * m4/Makefile.am.in: Remove file.
61624         * m4/Makefile.am: Remove file.
61625         * m4/Makefile.in: Remove file.
61626
61627 2003-07-17  Bruno Haible  <bruno@clisp.org>
61628
61629         * lib/getnline.h: New file.
61630         * lib/getnline.c: New file.
61631         * lib/getndelim2.c: New file, extracted from getline.c.
61632         (getndelim2): Renamed from getdelim2, with added nmax argument.
61633         * lib/getline.c: Include getndelim2.c.
61634         (getdelim2): Moved out to getndelim2.c.
61635         (getline, getdelim): Update.
61636
61637 2003-07-17  Bruno Haible  <bruno@clisp.org>
61638
61639         * lib/Makefile.am: Remove file.
61640         * lib/Makefile.in: Remove file.
61641
61642 2003-07-17  Bruno Haible  <bruno@clisp.org>
61643
61644         * configure.in: Remove file.
61645         * Makefile.in: Remove file.
61646
61647 2003-07-17  Bruno Haible  <bruno@clisp.org>
61648
61649         * MODULES.html.sh: Put the </BODY> right before </HTML>.
61650
61651 2003-07-16  Karl Berry  <karl@gnu.org>
61652
61653         * config/srclist-update: was running fixlicense twice, which caused
61654                 texinfo.tex to be nullified for some reason.  Simplify,
61655                 $gplsrc is no longer needed as far as I can see?
61656
61657 2003-07-16  Jim Meyering  <jim@meyering.net>
61658
61659         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
61660
61661 2003-07-15  Paul Eggert  <eggert@twinsun.com>
61662
61663         * config/srclist.txt: Get the following files from gettext-runtime/intl
61664         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
61665         ref-del.sin.  From Bruno Haible.
61666         * config/srclist-update (fixfile): Change grep pattern again, since the
61667         previous fix didn't work (there was another trailing $).  Use
61668         '[$]' to escape the $s.
61669
61670 2003-07-15  Karl Berry  <karl@gnu.org>
61671
61672         * lib/vasnprintf.c: update from gettext.
61673
61674 2003-07-15  Karl Berry  <karl@gnu.org>
61675
61676         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
61677         gets expanded when surrounded by '$'.
61678
61679 2003-07-15  Jim Meyering  <jim@meyering.net>
61680
61681         * modules/save-cwd: Don't depend on error.  From Derek Price.
61682
61683 2003-07-15  Jim Meyering  <jim@meyering.net>
61684
61685         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
61686
61687 2003-07-14  Simon Josefsson  <jas@extundo.com>
61688
61689         * modules/mempcpy: New file.
61690         * MODULES.html.sh (func_all_modules): Add mempcpy.
61691
61692 2003-07-14  Simon Josefsson  <jas@extundo.com>
61693
61694         * m4/mempcpy.m4: New file.
61695
61696 2003-07-14  Simon Josefsson  <jas@extundo.com>
61697
61698         * lib/mempcpy.h: New file.
61699         * lib/mempcpy.c: New file.
61700
61701 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61702
61703         * modules/getdate, modules/posixtm: Depend on mktime.
61704
61705 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61706
61707         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
61708         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
61709         unicodeio.c, unicodeio.h, unlocked-io.h:
61710         Switch from LGPL to GPL.
61711
61712 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61713
61714         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
61715         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
61716         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
61717         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
61718         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
61719         updated automatically by ../config/srclist-update.  This changes
61720         their license from LPGL to GPL.
61721
61722 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61723
61724         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
61725         assumed to refer to the root of the most recent stable gettext version.
61726         * config/srclistvars.sh: Add defaults for eggert.
61727         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
61728         Match "This program" as well as "The program".  This is needed
61729         for gettext.
61730
61731 2003-07-14  Jim Meyering  <jim@meyering.net>
61732
61733         Don't emit diagnostics.  Let callers do that.
61734         * lib/save-cwd.c: Don't include "error.h".
61735         (save_cwd): Don't call error.  Ensure that errno is valid
61736         when returning nonzero.
61737
61738         * lib/save-cwd.h (restore_cwd): Update prototype.
61739         * lib/save-cwd.c (restore_cwd): Remove two parameters.
61740         Simplify.  Don't call error upon failure.  Let callers do that.
61741         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
61742         when auditing is enabled.  But don't bother updating the #if.
61743
61744 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
61745
61746         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
61747         it breaks C++ compilation.
61748         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
61749
61750 2003-07-10  Simon Josefsson  <jas@extundo.com>
61751
61752         * modules/strchrnul (Makefile.am): Add strchrnul.h.
61753
61754 2003-07-10  Jim Meyering  <jim@meyering.net>
61755
61756         * m4/clock_time.m4: Remove trailing blank.
61757         * m4/intmax_t.m4: Likewise.
61758
61759 2003-07-10  Jim Meyering  <jim@meyering.net>
61760
61761         * lib/vasnprintf.c: Remove trailing blanks.
61762         Make cpp indentation consistent.
61763
61764 2003-07-09  Paul Eggert  <eggert@twinsun.com>
61765
61766         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
61767         posixver.c, strftime.c, strnlen.c, strverscmp.c:
61768         Switch from LGPL to GPL.
61769
61770 2003-07-09  Paul Eggert  <eggert@twinsun.com>
61771
61772         * config/srclist.txt: Sort sublists.  Add
61773         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
61774         that differ from gnulib for one reason or another; we'd like this list
61775         to be smaller but for now let's document what we have.
61776
61777 2003-07-08  Paul Eggert  <eggert@twinsun.com>
61778
61779         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
61780         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
61781         and sweeter "eval x=$x".
61782         * config/srclist.txt: Get lib/argp* from glibc.
61783
61784 2003-07-07  Paul Eggert  <eggert@twinsun.com>
61785
61786         * lib/mktime.c: Fix some boundary cases and remove need for floating
61787         point.
61788
61789         Issue a compile-time diagnostic if time_t is floating point, or if
61790         two's complement arithmetic is not in effect, or if arithmetic
61791         right shift does not propagate the sign.  These assumptions were
61792         all in the original code but they weren't checked.
61793
61794         (TIME_T_MIDPOINT, verify): New macros.
61795         (__isleap): Remove; it has integer overflow problems.
61796         (leapyear): New function, without those problems.
61797         (ydhms_tm_diff): Remove; splitting into two parts.
61798         (ydhms_diff): New function, containing the arithmetic part of
61799         the old ydhms_tm_diff function.  Issue a compile-time
61800         diagnostic if we are not using C99 integer division.
61801         Avoid casts when possible.
61802         (guess_time_tm): New function, containing the checking part of
61803         the old ydhms_tm_diff function.  Return the new value, rather than
61804         the difference between it and the old.  Accept a new argument T
61805         so that *T specifies the old value.  Check for overflow in the result.
61806
61807         (__mktime_internal): Use a time_t offset, not a long int offset.
61808         This undoes the 2003-06-04 change, which is no longer needed now
61809         that we have better overflow checking.
61810         (localtime_offset): Likewise.
61811
61812         (__mktime_internal): Avoid harmful overflow on hosts where time_t
61813         and long are 64-bit but int is only 32-bit.
61814         (ydhms_diff): Use long int to store year1 and yday1.
61815         Issue a compile-time diagnostic if long int is not wide enough.
61816
61817         (__mktime_internal): Use long int to store adjusted year and yday.
61818         Use plain C rather than preprocessor commands, if that doesn't
61819         affect efficiency.
61820         Check for overflow (and try to repair) after each probe
61821         rather than checking only at the very end.  This avoids some bugs
61822         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
61823         does not equal GMT offset at maximum time).
61824         Use integer to check for overflow rather than floating point; this
61825         is more portable to non-IEEE hosts, and is a tad faster.
61826         When we detect that we are oscillating between two values,
61827         don't check whether tm_isdst has the requested value, since
61828         we already know the answer.  When tm_isdst has the wrong value,
61829         use a different heuristic to find the right one, based on the
61830         extreme values actually observed in practice in tz2003a,
61831         rather than the (overly optimistic) "previous 3 calendar quarters".
61832
61833         (not_equal_tm, print_tm, check_result): Use "const T" rather than
61834         "T const" to accommodate glibc style.
61835         (check_result): Use less-confusing report format.  "long" -> "long int.
61836         (main): Likewise.
61837         Don't loop if the iteration overflows time_t.
61838         Allow a negative step in the iteration.
61839
61840 2003-07-06  Karl Berry  <karl@gnu.org>
61841
61842         * config/depcomp: update from automake.
61843         * config/config.sub: update from prep.
61844
61845 2003-07-03  Karl Berry  <karl@gnu.org>
61846
61847         * config/config.guess: update from prep.
61848
61849 2003-07-01  Paul Eggert  <eggert@twinsun.com>
61850
61851         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
61852         xreadlink.c now includes it unconditionally.
61853
61854 2003-07-01  Paul Eggert  <eggert@twinsun.com>
61855
61856         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
61857         having it depend on HAVE_SYS_TYPES_H.
61858
61859 2003-07-01  Bruno Haible  <bruno@clisp.org>
61860
61861         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
61862         <sys/types.h> should be sufficient.
61863         Reported by Paul Eggert.
61864
61865 2003-06-26  Karl Berry  <karl@gnu.org>
61866
61867         * config/depcomp: update from automake.
61868
61869 2003-06-26  Bruno Haible  <bruno@clisp.org>
61870
61871         * modules/human: Depend on module stdbool.
61872
61873 2003-06-25  Bruno Haible  <bruno@clisp.org>
61874
61875         * modules/readlink: New file.
61876         * modules/xreadlink: Depend on it.
61877         * MODULES.html.sh (func_all_modules): Add readlink.
61878
61879 2003-06-25  Bruno Haible  <bruno@clisp.org>
61880
61881         * m4/readlink.m4: New file.
61882
61883 2003-06-25  Bruno Haible  <bruno@clisp.org>
61884
61885         * lib/readlink.c: New file.
61886
61887 2003-06-22  Karl Berry  <karl@gnu.org>
61888
61889         * config/srclist.txt: update mkinstalldirs from automake.
61890         * config/mkinstalldirs: update.
61891
61892 2003-06-22  Bruno Haible  <bruno@clisp.org>
61893
61894         Portability to mingw32.
61895         * m4/ssize_t.m4: New file, from GNU gettext.
61896         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
61897         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
61898
61899 2003-06-22  Bruno Haible  <bruno@clisp.org>
61900
61901         * modules/safe-read: Add m4/ssize_t.m4.
61902         * modules/xreadlink: Add m4/ssize_t.m4.
61903
61904 2003-06-20  Bruno Haible  <bruno@clisp.org>
61905
61906         Assume C89, so PARAMS isn't needed.
61907         * lib/unicodeio.h (PARAMS): Remove.
61908         * lib/unicodeio.c: Don't use PARAMS.
61909
61910 2003-06-18  Karl Berry  <karl@gnu.org>
61911
61912         * config/config.{guess,sub}: update from prep.
61913
61914 2003-06-18  Jim Meyering  <jim@meyering.net>
61915
61916         Merge changes from coreutils.
61917         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
61918         Remove explicit declarations of xmalloc and realloc.
61919         Include xalloc.h.
61920         (read_utmp): Remove anachronistic cast of xmalloc.
61921
61922 2003-06-17  Paul Eggert  <eggert@twinsun.com>
61923
61924         Assume C89, so PARAMS isn't needed.
61925         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
61926         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
61927         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
61928         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
61929         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
61930         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
61931         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
61932         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
61933         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
61934         lib/xstrtod.h, lib/xstrtol.h: Likewise.
61935         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
61936         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
61937         no longer needed. Anyway, config.h should always be included before any
61938         other file.
61939
61940 2003-06-11  Simon Josefsson  <jas@extundo.com>
61941
61942         * modules/sysexits: New file.
61943         * MODULES.html.sh (func_all_modules): Add sysexits.
61944
61945 2003-06-11  Simon Josefsson  <jas@extundo.com>
61946
61947         * lib/sysexit_.h: New file.
61948
61949 2003-06-11  Derek Price  <derek@ximbiot.com>
61950
61951         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
61952         necessary.
61953
61954 2003-06-11  Bruno Haible  <bruno@clisp.org>
61955
61956         * m4/sysexits.m4: New file.
61957
61958 2003-06-10  Simon Josefsson  <jas@extundo.com>
61959
61960         * lib/argp.h: New file, from glibc.
61961         * lib/argp-ba.c: New file, from glibc.
61962         * lib/argp-eexst.c: New file, from glibc.
61963         * lib/argp-fmtstream.c: New file, from glibc.
61964         * lib/argp-fmtstream.h: New file, from glibc.
61965         * lib/argp-fs-xinl.c: New file, from glibc.
61966         * lib/argp-help.c: New file, from glibc.
61967         * lib/argp-namefrob.h: New file, from glibc.
61968         * lib/argp-parse.c: New file, from glibc.
61969         * lib/argp-pv.c: New file, from glibc.
61970         * lib/argp-pvh.c: New file, from glibc.
61971         * lib/argp-xinl.c: New file, from glibc.
61972
61973 2003-06-10  Simon Josefsson  <jas@extundo.com>
61974
61975         * modules/strchrnul: New file.
61976
61977 2003-06-10  Simon Josefsson  <jas@extundo.com>
61978
61979         * modules/argp: New file.
61980
61981 2003-06-10  Simon Josefsson  <jas@extundo.com>
61982
61983         * m4/strchrnul.m4: New file.
61984
61985 2003-06-10  Simon Josefsson  <jas@extundo.com>
61986
61987         * lib/strchrnul.h: New file.
61988         * lib/strchrnul.c: New file.
61989
61990 2003-06-10  Bruno Haible  <bruno@clisp.org>
61991
61992         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
61993
61994 2003-06-07  Karl Berry  <karl@gnu.org>
61995
61996         * config/config.{guess,sub}: update from prep.
61997
61998 2003-06-07  Jim Meyering  <jim@meyering.net>
61999
62000         * modules/strtod: Use $(...) notation, not @...@ for
62001         AC_REPLACE'd variables.
62002         * modules/localcharset: Likewise.
62003
62004 2003-06-07  Jim Meyering  <jim@meyering.net>
62005
62006         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
62007         in place of my name in the copyright comment.
62008         Remove definition and uses of __P.
62009
62010         From coreutils.
62011         * lib/stat.c: Don't declare xmalloc explicitly.
62012         Instead, include "xalloc.h".
62013         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
62014         xrealloc, and xcalloc return values.
62015         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
62016         Improve comment.
62017         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
62018
62019 2003-06-07  Bruno Haible  <bruno@clisp.org>
62020
62021         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
62022         avoid AC_CONFIG_LINKS.
62023         * modules/fnmatch (Makefile.am): Use explicit creation rule for
62024         fnmatch.h, to avoid AC_CONFIG_LINKS.
62025         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
62026
62027 2003-06-07  Bruno Haible  <bruno@clisp.org>
62028
62029         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
62030         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
62031         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
62032         directory.
62033         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
62034         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
62035         directory.
62036
62037 2003-06-06  Jim Meyering  <jim@meyering.net>
62038
62039         Merge from coreutils.
62040         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
62041         Consolidate declarations and initializations of *_base* locals.
62042
62043         Merge from coreutils.
62044         This avoids a core dump on systems without GNU putenv,
62045         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
62046         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
62047         (unsetenv): New static function, from GNU libc.
62048         (rpl_putenv): Use it.
62049
62050         * lib/modechange.c: Remove trailing blanks.
62051
62052         Merge from coreutils.
62053         * lib/fsusage.c: Remove declaration of statfs.
62054         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
62055
62056         * lib/posixtm.c: Include <stdbool.h> unconditionally.
62057
62058 2003-06-06  Jim Meyering  <jim@meyering.net>
62059
62060         * lib/stdbool_.h: Renamed from stdbool.h.in.
62061
62062 2003-06-06  Jim Meyering  <jim@meyering.net>
62063             Bruno Haible  <bruno@clisp.org>
62064
62065         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
62066         Adjust Makefile.am snippet not to redirect directly to target.
62067         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
62068
62069 2003-06-05  Paul Eggert  <eggert@twinsun.com>
62070
62071         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
62072         mismatch, look in future quarters as well as past.  This fixes a
62073         bug when processing fall-backwards gaps immediately after a long
62074         period of daylight-saving time.
62075
62076         * lib/mktime.c: Assume freestanding C89 or better.
62077         (HAVE_LIMITS_H): Remove.  Assume it's 1.
62078         (__P): Remove; not used.
62079         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
62080         (mktime, not_equal_tm, print_tm, check_result,
62081         main): Use prototypes.  Use const * where appropriate.
62082         (main): Fix typo in testing code that uncovered by above changes.
62083         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
62084
62085 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62086
62087         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
62088         locale.h, localeconv.  This merges changes from coreutils.
62089
62090         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
62091         It can be removed after the next Autoconf is released.
62092         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
62093         needed.
62094
62095 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62096
62097         * lib/mktime.c: Fix Debian bug 177940
62098         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
62099         (localtime_offset): Now long int, not time_t, because we want it
62100         to be guaranteed to be signed.  All uses changed.
62101         (__mktime_internal): If overflow would occur when adding offset,
62102         don't add it.
62103
62104         Merge 'human' changes from coreutils.  Rewrite to support
62105         locale-specific notations like thousands separators.
62106         * lib/human.c: Simplify authorship notice.
62107         Include human.h immediately after config.h.
62108         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
62109         <limits.h>: Do not include, since human.h does.
62110         (SIZE_MAX, UINTMAX_MAX): New macros.
62111         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
62112         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
62113         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
62114         (power_letter): Renamed from suffixes.
62115         (generate_suffix_backwards): Remove.
62116         (adjust_value): Now takes int style (because of human.h changes)
62117         and long double value (for greater precision on some platforms).
62118         (group_number): New function.
62119         (human_readable): Use it.  Use integer options, not enum.
62120         Put the options before the sizes in the arg list.
62121         Support all the new options.
62122         The old human_readable function has been removed;
62123         use inttostr.h instead.
62124         (human_readable, default_block_size, humblock):
62125         Use uintmax_t, not int, for block sizes.
62126         (human_readable_inexact, block_size_types): Remove.
62127         (block_size_opts): New constant.
62128         (human_options): Renamed from human_block_size, with new signature
62129         that allows block sizes up to UINTMAX_MAX.  All callers changed.
62130         * lib/human.h: Add copyright and authorship notice.
62131         Include <limits.h> and <stdbool.h> unconditionally.
62132         (PARAMS): Remove.  All uses removed.
62133         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
62134         (enum human_inexact_style): Remove tag; now a nameless enum.
62135         (human_floor, human_ceiling, human_round_to_even): Now have
62136         values 2, 0, 1 rather than -1, 1, 0.
62137         (human_group_digits, human_suppress_point_zero, human_autoscale,
62138         human_base_1024, human_SI, human_B): New constants.
62139         (human_readable_inexact, human_block_size): Remove.
62140         (human_readable): Size args are now uintmax_t, not int.
62141         (human_options): New decl.
62142
62143         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
62144         unnecessary now that we assume C89 or better.  This change
62145         imported from coreutils.
62146
62147         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
62148         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
62149         in the 2003-05-30 sync from glibc.
62150
62151         .h files should stand alone, but we shouldn't include <sys/types.h>
62152         if we can get away with just <stddef.h>.
62153
62154         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
62155         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
62156         rather than <sys/types.h>, as we merely need size_t.
62157         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
62158         to get size_t.
62159         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
62160         Include <stdio.h>, to get FILE.
62161         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
62162         memcasecmp.h has included <stddef.h> and all we need is size_t.
62163         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
62164         our interface, instead of including <sys/types.h>
62165
62166 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62167
62168         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
62169         now, as glibc mktime is buggy on non-glibc systems.
62170
62171 2003-06-03  Karl Berry  <karl@gnu.org>
62172
62173         * config/config.sub: update from prep.
62174
62175 2003-06-02  Paul Eggert  <eggert@twinsun.com>
62176
62177         [from coreutils]
62178         Fix some minor time-related bugs with POSIX time arguments.
62179         Some valid time stamps were being rejected (notably -1, and
62180         time stamps before 1900 on 64-bit hosts).  And some invalid
62181         time stamps were being accepted, e.g. September 31.
62182
62183         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
62184         that we can return (time_t) -1 successfully.
62185         * lib/posixtm.c: Likewise.
62186         [HAVE_STDBOOL_H]: Include <stdbool.h>.
62187         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
62188         (t): Remove static var.
62189         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
62190         of static var.  All uses changed.
62191         (year): Do not reject years before 1900; they can occur with
62192         64-bit time_t.
62193         (posix_time_parse): Do not check for out-of-range components;
62194         that is now the caller's responsibility, since our checks were
62195         only approximations.
62196         (posixtime): Use mktime to check for out-of-range components,
62197         since it knows them exactly.
62198         If mktime returns (time_t) -1, check whether an error actually occurred
62199         by invoking localtime on -1.
62200         (main) [TEST_POSIXTIME]: Check for input data errors, and report
62201         posixtime failures better.
62202         Improve the test data (in comments only).
62203
62204 2003-06-02  Karl Berry  <karl@gnu.org>
62205
62206         * config/mkinstalldirs (version): new variable.
62207         (--version): new option.
62208         (usage): improve message.
62209
62210 2003-05-30  Karl Berry  <karl@gnu.org>
62211
62212         * lib/mktime.c: update from libc.
62213
62214 2003-05-30  Bruno Haible  <bruno@clisp.org>
62215
62216         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
62217         * config/config.rpath: Upgrade to gettext-0.12.1.
62218
62219 2003-05-30  Bruno Haible  <bruno@clisp.org>
62220
62221         * m4/gettext.m4: Upgrade to gettext-0.12.1.
62222         * m4/nls.m4: New file, from gettext-0.12.1.
62223         * m4/po.m4: New file, from gettext-0.12.1.
62224         * m4/progtest.m4: Upgrade to gettext-0.12.1.
62225
62226 2003-05-30  Bruno Haible  <bruno@clisp.org>
62227
62228         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
62229         * lib/localcharset.h: Likewise.
62230         * lib/localcharset.c: Likewise.
62231
62232 2003-05-29  Karl Berry  <karl@gnu.org>
62233
62234         * config/config.rpath: update from gettext.
62235
62236 2003-05-28  Paul Eggert  <eggert@twinsun.com>
62237
62238         Assume the headers required for C89 freestanding compilers.
62239         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
62240         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
62241         * m4/human.m4 (gl_HUMAN): Likewise.
62242         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
62243         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
62244         * m4/userspec.m4 (gl_USERSPEC): Likewise.
62245         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
62246         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62247         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
62248
62249 2003-05-28  Paul Eggert  <eggert@twinsun.com>
62250
62251         Assume the headers required for C89 freestanding compilers.
62252         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
62253         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
62254         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
62255         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
62256         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
62257         define, since <limits.h> is guaranteed to do that.
62258         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
62259         * lib/exclude.c: Include <stdbool.h> unconditionally.
62260         * lib/tempname.c: Include <stddef.h> unconditionally.
62261         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
62262         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
62263         <stddef.h> does that.
62264         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
62265         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
62266         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
62267         needed.
62268         * lib/xstrtol.c: Likewise.
62269         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
62270         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
62271
62272         * lib/addext.c (addext): Use assignment rather than cast, to avoid
62273         warnings on some platforms.
62274
62275         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
62276         arbitrarily.
62277
62278 2003-05-26  Jim Meyering  <jim@meyering.net>
62279
62280         Merge in a change from coreutils:
62281         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
62282         that is guaranteed to be `no'.  Use `no_such_member' to indicate
62283         that condition, rather than `-1' which is slightly misleading.
62284         Change the name of the cache variable to have the gl_ prefix.
62285         Prompted by a patch from Richard Dawe for DJGPP.
62286
62287 2003-05-24  Karl Berry  <karl@gnu.org>
62288
62289         * config/config.guess: update from prep.
62290
62291 2003-05-22  Karl Berry  <karl@gnu.org>
62292
62293         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
62294
62295 2003-05-20  Karl Berry  <karl@gnu.org>
62296
62297         * config/config.guess: update from prep.
62298
62299 2003-05-18  Karl Berry  <karl@gnu.org>
62300
62301         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
62302         might actually be set by the user.
62303
62304         * config/depcomp, install-sh, mdate-sh: update from automake.
62305
62306 2003-05-17  Bruno Haible  <bruno@clisp.org>
62307
62308         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
62309         invalid expansion for AC_EGREP_CPP.
62310         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
62311         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
62312         Suggested by Akim Demaille <akim@epita.fr> in
62313         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
62314
62315 2003-05-12  Jim Meyering  <jim@meyering.net>
62316
62317         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
62318         the space-padded-by-default conversion specifiers, %e, %k, %l.
62319
62320 2003-05-12  Bruno Haible  <bruno@clisp.org>
62321
62322         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
62323         the string is longer than 4 KB.
62324
62325 2003-05-11  Karl Berry  <karl@gnu.org>
62326
62327         * config/config.{guess,sub}: update from prep.
62328
62329 2003-05-09  Bruno Haible  <bruno@clisp.org>
62330
62331         * modules/error: Add m4/strerror_r.m4 to file list.
62332
62333 2003-05-03  Bruno Haible  <bruno@clisp.org>
62334
62335         Upgrade to Unicode-4.0.
62336         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
62337         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
62338         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
62339         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
62340         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
62341         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
62342         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
62343         Change width of U+E0100..U+E01EF from 1 to 0.
62344
62345 2003-04-25  Jim Meyering  <jim@meyering.net>
62346
62347         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
62348         of type size_t, not int.
62349
62350 2003-04-25  Bruno Haible  <bruno@clisp.org>
62351
62352         * lib/copy-file.c: Include <stddef.h>, for size_t.
62353
62354 2003-04-21  Paul Eggert  <eggert@twinsun.com>
62355
62356         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
62357         code which expansion is under static control.  Patch imported from
62358         Akim Demaille's patch to Bison; see
62359         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
62360
62361 2003-04-14  Bruno Haible  <bruno@clisp.org>
62362
62363         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
62364
62365 2003-04-11  Jim Meyering  <jim@meyering.net>
62366
62367         Merge changes from Coreutils.
62368
62369         2003-03-22  Jim Meyering  <jim@meyering.net>
62370
62371         * lib/strftime.c (widen): Cast alloca return value to proper type.
62372
62373         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
62374
62375         From GNU libc.
62376         * lib/strftime.c (my_strftime): Handle very large width
62377         specifications for numeric values correctly.  Improve checks for
62378         overflow.
62379
62380         2003-01-19  Jim Meyering  <jim@meyering.net>
62381
62382         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
62383         definitions.
62384         (nl_get_alt_digit) [! defined my_strftime]: Define.
62385         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
62386         _nl_get_alt_digit and _nl_get_walt_digit.
62387
62388         * lib/strftime.c (my_strftime): Merge in locale-related changes from
62389         libc. These changes have no effect outside of _LIBC.
62390
62391 2003-04-10  Bruno Haible  <bruno@clisp.org>
62392
62393         * modules/findprog: New file.
62394         * MODULES.html.sh (func_all_modules): Add it.
62395
62396 2003-04-10  Bruno Haible  <bruno@clisp.org>
62397
62398         * m4/findprog.m4: New file.
62399         * m4/eaccess.m4: New file.
62400
62401 2003-04-10  Bruno Haible  <bruno@clisp.org>
62402
62403         * lib/findprog.h: New file, from GNU gettext.
62404         * lib/findprog.c: New file, from GNU gettext.
62405
62406 2003-04-05  Jim Meyering  <jim@meyering.net>
62407
62408         Merge changes from Coreutils.
62409
62410         * lib/exclude.h (PARAMS): Remove definition and uses.
62411         * lib/exclude.c: Remove uses of `PARAMS'.
62412
62413         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
62414         Add test-cases for DOS filenames. Declare program_name.
62415         (main): Set up program_name.  Patch by Rich Dawe.
62416
62417         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
62418         error from mntctl.
62419         Use mntctl's return value to drive the entry-processing loop, since
62420         we can't rely on the value of the vmt_length member in the last
62421         entry.  On some systems doing so could result in exhausting
62422         virtual memory.  Based in part on a patch from Mike Jetzer.
62423
62424 2003-04-04  Bruno Haible  <bruno@clisp.org>
62425
62426         * modules/linebreak: New file.
62427         * MODULES.html.sh (func_all_modules): Add it.
62428
62429 2003-04-04  Bruno Haible  <bruno@clisp.org>
62430
62431         * m4/linebreak.m4: New file.
62432
62433 2003-04-04  Bruno Haible  <bruno@clisp.org>
62434
62435         * lib/linebreak.h: New file, from GNU gettext.
62436         * lib/linebreak.c: New file, from GNU gettext with slight
62437         modifications.
62438         * lib/lbrkprop.h: New file, from GNU gettext.
62439
62440 2003-04-03  Bruno Haible  <bruno@clisp.org>
62441
62442         * modules/utf8-ucs4: New file.
62443         * modules/utf16-ucs4: New file.
62444         * modules/ucs4-utf8: New file.
62445         * modules/ucs4-utf16: New file.
62446         * MODULES.html.sh (func_all_modules): Add them.
62447
62448 2003-04-03  Bruno Haible  <bruno@clisp.org>
62449
62450         * m4/utf-ucs4.m4: New file.
62451         * m4/ucs4-utf.m4: New file.
62452
62453 2003-04-03  Bruno Haible  <bruno@clisp.org>
62454
62455         * lib/utf8-ucs4.h: New file, from GNU gettext.
62456         * lib/utf16-ucs4.h: New file, from GNU gettext.
62457         * lib/ucs4-utf8.h: New file, from GNU gettext.
62458         * lib/ucs4-utf16.h: New file, from GNU gettext.
62459
62460 2003-04-02  Bruno Haible  <bruno@clisp.org>
62461
62462         * modules/binary-io: New file.
62463         * MODULES.html.sh (func_all_modules): Add it.
62464
62465 2003-04-02  Bruno Haible  <bruno@clisp.org>
62466
62467         * lib/binary-io.h: New file, from GNU gettext.
62468
62469 2003-04-01  Bruno Haible  <bruno@clisp.org>
62470
62471         * modules/pathname: New file.
62472         * MODULES.html.sh (func_all_modules): Add it.
62473
62474 2003-04-01  Bruno Haible  <bruno@clisp.org>
62475
62476         * lib/pathname.h: New file, from GNU gettext.
62477         * lib/concatpath.c: New file, from GNU gettext.
62478
62479 2003-03-30  Bruno Haible  <bruno@clisp.org>
62480
62481         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
62482
62483 2003-03-30  Bruno Haible  <bruno@clisp.org>
62484
62485         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
62486         function chown() doesn't exist.
62487
62488 2003-03-28  Bruno Haible  <bruno@clisp.org>
62489
62490         * modules/copy-file: New file.
62491         * MODULES.html.sh (func_all_modules): Add it.
62492
62493 2003-03-28  Bruno Haible  <bruno@clisp.org>
62494
62495         * m4/copy-file.m4: New file.
62496
62497 2003-03-28  Bruno Haible  <bruno@clisp.org>
62498
62499         * lib/copy-file.h: New file, from GNU gettext.
62500         * lib/copy-file.c: New file, from GNU gettext.
62501
62502 2003-03-18  Jim Meyering  <jim@meyering.net>
62503
62504         * lib/quote.c (quote_n): Fix typo in comment.
62505
62506 2003-03-18  Bruno Haible  <bruno@clisp.org>
62507
62508         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
62509         checking.
62510         * m4/onceonly_2_57.m4: Likewise.
62511
62512 2003-03-17  Bruno Haible  <bruno@clisp.org>
62513
62514         * m4/onceonly.m4: Require autoconf 2.54 or newer.
62515         (m4_quote): Remove macro.
62516         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
62517
62518 2003-03-14  Jim Meyering  <jim@meyering.net>
62519
62520         Merge changes from Coreutils.
62521         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
62522         to be const, in order to avoid warnings.
62523         (obstack_room): Likewise.
62524         (obstack_empty_p): Likewise.
62525
62526 2003-03-14  Bruno Haible  <bruno@clisp.org>
62527
62528         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
62529         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
62530
62531 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62532
62533         Merge changes from Bison.
62534         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
62535         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
62536         when compiling Bison 1.875's `bitset bset = obstack_alloc
62537         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
62538         * lib/hash.c: Include <stdbool.h> unconditionally.
62539
62540 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62541
62542         * m4/onceonly.m4 (m4_quote): New macro.
62543         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
62544         Quote AC_FOREACH variable-expansions properly.
62545
62546 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62547
62548         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
62549
62550 2003-03-09  Paul Eggert  <eggert@twinsun.com>
62551
62552         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
62553         Reported by Bruce Becker; see:
62554         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
62555
62556 2003-03-03  Paul Eggert  <eggert@twinsun.com>
62557             Bruno Haible  <bruno@clisp.org>
62558
62559         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
62560         Reported by John Hughes, see
62561         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
62562
62563 2003-02-20  Bruno Haible  <bruno@clisp.org>
62564
62565         * MODULES.html.sh (func_all_modules): Add poll.
62566
62567 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62568
62569         * modules/poll: New file.
62570
62571 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62572
62573         * lib/poll_.h: New file.
62574         * lib/poll.c: New file.
62575
62576 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62577
62578         * m4/poll.m4: New file.
62579
62580 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62581
62582         * modules/mathl: New file.
62583
62584 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62585
62586         * lib/mathl.h: New file.
62587         * lib/acosl.c: New file.
62588         * lib/asinl.c: New file.
62589         * lib/atanl.c: New file.
62590         * lib/ceill.c: New file.
62591         * lib/cosl.c: New file.
62592         * lib/expl.c: New file.
62593         * lib/floorl.c: New file.
62594         * lib/frexpl.c: New file.
62595         * lib/ldexpl.c: New file.
62596         * lib/logl.c: New file.
62597         * lib/sincosl.c: New file.
62598         * lib/sinl.c: New file.
62599         * lib/sqrtl.c: New file.
62600         * lib/tanl.c: New file.
62601         * lib/trigl.c: New file.
62602         * lib/trigl.h: New file.
62603
62604 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62605
62606         * m4/mathl.m4: New file.
62607
62608 2003-02-18  Bruno Haible  <bruno@clisp.org>
62609
62610         * MODULES.html.sh (func_all_modules): Add mathl.
62611
62612 2003-02-17  Bruno Haible  <bruno@clisp.org>
62613
62614         * modules/mkdtemp: New module.
62615         * MODULES.html.sh (func_all_modules): Add it.
62616
62617 2003-02-17  Bruno Haible  <bruno@clisp.org>
62618
62619         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
62620
62621 2003-02-17  Bruno Haible  <bruno@clisp.org>
62622
62623         * lib/mkdtemp.h: New file, from GNU gettext.
62624         * lib/mkdtemp.c: New file, from GNU gettext.
62625
62626 2003-02-02  Jim Meyering  <jim@meyering.net>
62627
62628         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
62629         e.g. glibc-2.2.93.
62630
62631 2003-01-31  Bruno Haible  <bruno@clisp.org>
62632
62633         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
62634         'rpl_rename'.
62635         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
62636         'rpl_strnlen'.
62637         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
62638         'rpl_strtod'.
62639         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
62640         'rpl_utime'.
62641
62642 2003-01-31  Bruno Haible  <bruno@clisp.org>
62643
62644         * lib/rename.c: #undef rename before defining rpl_rename.
62645         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
62646
62647 2003-01-30  Bruno Haible  <bruno@clisp.org>
62648
62649         * modules/vasnprintf, modules/vasprintf: New modules.
62650         * MODULES.html.sh (func_all_modules): Add them.
62651
62652 2003-01-30  Bruno Haible  <bruno@clisp.org>
62653
62654         * m4/signed.m4: New file, from GNU gettext.
62655         * m4/longdouble.m4: New file, from GNU gettext.
62656         * m4/wchar_t.m4: New file, from GNU gettext.
62657         * m4/wint_t.m4: New file, from GNU gettext.
62658         * m4/vasnprintf.m4: New file.
62659         * m4/vasprintf.m4: New file.
62660
62661 2003-01-30  Bruno Haible  <bruno@clisp.org>
62662
62663         * lib/printf-args.h: New file, from GNU gettext.
62664         * lib/printf-args.c: New file, from GNU gettext.
62665         * lib/printf-parse.h: New file, from GNU gettext.
62666         * lib/printf-parse.c: New file, from GNU gettext.
62667         * lib/vasnprintf.h: New file, from GNU gettext.
62668         * lib/vasnprintf.c: New file, from GNU gettext.
62669         * lib/asnprintf.c: New file, from GNU gettext.
62670         * lib/vasprintf.h: New file, from GNU gettext with modifications.
62671         * lib/vasprintf.c: New file, from GNU gettext.
62672         * lib/asprintf.c: New file, from GNU gettext.
62673
62674 2003-01-29  Bruno Haible  <bruno@clisp.org>
62675
62676         * modules/stpncpy: New module.
62677         * MODULES.html.sh (func_all_modules): Add it.
62678
62679 2003-01-29  Bruno Haible  <bruno@clisp.org>
62680
62681         * m4/stpncpy.m4: New file.
62682
62683 2003-01-29  Bruno Haible  <bruno@clisp.org>
62684
62685         * lib/stpncpy.h: New file, from GNU gettext with modifications.
62686         * lib/stpncpy.c: New file, from GNU gettext with modifications.
62687
62688 2003-01-28  Bruno Haible  <bruno@clisp.org>
62689
62690         * modules/c-ctype: New module.
62691         * MODULES.html.sh (func_all_modules): Add it.
62692
62693 2003-01-28  Bruno Haible  <bruno@clisp.org>
62694
62695         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
62696         Paul Eggert.
62697         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
62698         Paul Eggert.
62699
62700 2003-01-27  Bruno Haible  <bruno@clisp.org>
62701
62702         * modules/xsetenv: New module.
62703         * MODULES.html.sh (func_all_modules): Add it.
62704
62705 2003-01-27  Bruno Haible  <bruno@clisp.org>
62706
62707         * lib/xsetenv.h: New file, from GNU gettext.
62708         * lib/xsetenv.c: New file, from GNU gettext.
62709
62710 2003-01-23  Jim Meyering  <jim@meyering.net>
62711
62712         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
62713         from working on systems without dirfd (at least Irix and OSF1/Tru64).
62714
62715 2003-01-23  Bruno Haible  <bruno@clisp.org>
62716
62717         * modules/minmax: New module.
62718         * MODULES.html.sh (func_all_modules): Add it.
62719
62720 2003-01-23  Bruno Haible  <bruno@clisp.org>
62721
62722         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
62723         Eggert.
62724
62725 2003-01-22  Bruno Haible  <bruno@clisp.org>
62726
62727         * modules/exit: New module.
62728         * MODULES.html.sh (func_all_modules): Add it.
62729
62730 2003-01-22  Bruno Haible  <bruno@clisp.org>
62731
62732         * lib/exit.h: New file, from GNU gettext.
62733
62734 2003-01-19  Bruno Haible  <bruno@clisp.org>
62735
62736         * gnulib-tool: Recognize option --extract-maintainer.
62737         (func_get_maintainer): New function.
62738         * modules/*: Add Maintainer entry.
62739
62740 2003-01-16  Jim Meyering  <jim@meyering.net>
62741
62742         * m4/regex.m4: The `regex' struct is both input and output.
62743         Initialize it before each use.  Patch by Tim Waugh.
62744
62745 2003-01-16  Bruno Haible  <bruno@clisp.org>
62746
62747         * MODULES.html.sh: Add a table of contents. Add the module name as
62748         leftmost column. Add hyperlinks.
62749
62750 2003-01-15  Bruno Haible  <bruno@clisp.org>
62751
62752         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
62753
62754 2003-01-15  Bruno Haible  <bruno@clisp.org>
62755
62756         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
62757         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
62758         suffix.
62759
62760 2003-01-15  Bruno Haible  <bruno@clisp.org>
62761
62762         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
62763
62764 2003-01-15  Bruno Haible  <bruno@clisp.org>
62765
62766         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
62767         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
62768
62769 2003-01-14  Jim Meyering  <jim@meyering.net>
62770
62771         * lib/same.c (same_name): Tweak a comment.
62772
62773 2003-01-14  Bruno Haible  <bruno@clisp.org>
62774
62775         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
62776         when a string comparison is sufficient.
62777
62778 2003-01-14  Bruno Haible  <bruno@clisp.org>
62779
62780         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
62781         'unsigned int'.
62782
62783 2003-01-14  Bruno Haible  <bruno@clisp.org>
62784
62785         * lib/hash-pjw.c: Add comment about low quality of this function.
62786
62787 2003-01-13  Bruno Haible  <bruno@clisp.org>
62788
62789         * modules/stpcpy: Distribute lib/stpcpy.h.
62790         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
62791
62792 2003-01-13  Bruno Haible  <bruno@clisp.org>
62793
62794         * modules/*: Add a description.
62795         * modules/strpbrk: Fix Makefile.am snippet.
62796         * modules/strtoimax: Fix dependencies.
62797         * modules/strtoumax: Likewise.
62798
62799 2003-01-13  Bruno Haible  <bruno@clisp.org>
62800
62801         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
62802         * modules/alloca (Makefile.am): All object files depend on alloca.h.
62803         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
62804
62805 2003-01-13  Bruno Haible  <bruno@clisp.org>
62806
62807         * gnulib-tool (func_create_testdir): Store config/* files in the main
62808         directory.
62809         * config.rpath: Move to ...
62810         * config/config.rpath: ... here.
62811         * modules/gettext: Contains config/config.rpath, not config.rpath.
62812         * modules/iconv: Likewise.
62813
62814 2003-01-12  Paul Eggert  <eggert@twinsun.com>
62815
62816         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
62817         to avoid collisions with libcurses and libreadline.
62818
62819         * m4/getstr.m4: Remove.
62820         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
62821
62822 2003-01-12  Paul Eggert  <eggert@twinsun.com>
62823
62824         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
62825         to avoid collisions with libcurses and libreadline.
62826
62827         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
62828         * lib/getstr.h, getstr.c: Remove.
62829         * lib/getline.c: Include "getline.h", to check interface.
62830         Move body of old getstr.c here: this defines MIN_CHUNK and
62831         declares getdelim2, which is renamed from getstr.
62832         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
62833
62834         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
62835         All uses changed.
62836         * lib/linebuffer.h: Likewise.
62837         (readline): Remove backward-compatibility macro.
62838
62839 2003-01-12  Paul Eggert  <eggert@twinsun.com>
62840
62841         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
62842         to avoid collisions with libcurses and libreadline.
62843         * getstr: Remove.
62844         * MODULES.html.sh: Remove getstr.
62845         * modules/getline: Depend on unlocked-io, not getstr.
62846
62847 2003-01-12  Jim Meyering  <jim@meyering.net>
62848
62849         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
62850
62851 2003-01-10  Bruno Haible  <bruno@clisp.org>
62852
62853         * modules/alloca: Change Makefile.am requirements. Simplify Include
62854         requirements. Add lib/alloca_.h to file list.
62855
62856 2003-01-10  Bruno Haible  <bruno@clisp.org>
62857
62858         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
62859
62860 2003-01-10  Bruno Haible  <bruno@clisp.org>
62861
62862         * lib/alloca_.h: New file.
62863         * lib/getdate.y: Unconditionally include alloca.h.
62864         * lib/makepath.c: Likewise.
62865         * lib/setenv.c: Likewise.
62866         * lib/userspec.c: Likewise.
62867
62868 2003-01-09  Karl Berry  <karl@gnu.org>
62869
62870         * MODULES.html.sh: include `dirname $0` in PATH, to find
62871         gnulib-tool.
62872
62873 2003-01-09  Bruno Haible  <bruno@clisp.org>
62874
62875         * modules/stdbool: Change configure.ac, Makefile.am requirements.
62876         Simplify Include requirements. Add lib/stdbool.h.in to file list.
62877
62878 2003-01-09  Bruno Haible  <bruno@clisp.org>
62879
62880         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
62881
62882 2003-01-09  Bruno Haible  <bruno@clisp.org>
62883
62884         * lib/stdbool.h.in: New file.
62885
62886 2003-01-09  Bruno Haible  <bruno@clisp.org>
62887
62888         * gnulib-tool (func_all_modules): Ignore files ending in ~.
62889         * MODULES.html.sh: Likewise.
62890
62891 2003-01-08  Jim Meyering  <jim@meyering.net>
62892
62893         * lib/full-write.c: Undefine and define-away `const' after inclusion
62894         of errno.h, not before.  Suggestion from Bruno Haible.
62895
62896 2003-01-08  Bruno Haible  <bruno@clisp.org>
62897
62898         * modules/full-read: Depend on full-write.
62899
62900 2003-01-08  Bruno Haible  <bruno@clisp.org>
62901
62902         * lib/safe-read.c: Include specification header first, to ensure its
62903         selfcontainedness.
62904         * lib/full-write.c: Likewise.
62905
62906 2003-01-07  Jim Meyering  <jim@meyering.net>
62907
62908         * lib/full-write.c: Rework so that it may serve to define full_read,
62909         too.
62910         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
62911
62912 2003-01-07  Bruno Haible  <bruno@clisp.org>
62913
62914         * lib/strtoimax.c: Include <stdint.h> as an alternative to
62915         <inttypes.h>.
62916         * lib/xstrtol.h: Likewise.
62917         * lib/xstrtoimax.c: Likewise.
62918         * lib/xstrtoumax.c: Likewise.
62919         * lib/human.h: Likewise.
62920
62921         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
62922         on systems that have <inttypes.h> but not <stdint.h>.
62923
62924 2003-01-07  Bruno Haible  <bruno@clisp.org>
62925
62926         * MODULES.html.sh: Add copyright notice.
62927         (missed_files): Omit CVS directory entries.
62928         (func_module): Make it work with sed-3.02.
62929         * MODULES.txt: Remove file.
62930
62931 2003-01-06  Jim Meyering  <jim@meyering.net>
62932
62933         * lib/version-etc.c: Update year in translatable copyright string.
62934
62935 2003-01-03  Karl Berry  <karl@gnu.org>
62936
62937         * config/config.{guess,sub}: update from prep.
62938
62939 2003-01-02  Karl Berry  <karl@gnu.org>
62940
62941         * doc/COPYING.DOC: belatedly updated to 1.2.
62942
62943 2003-01-01  Karl Berry  <karl@gnu.org>
62944
62945         * gnulib-tool (func_verify_module): report module name $module in
62946         error message, not $1.
62947         * gnulib-tool (create-testdir): don't complain if destdir couldn't
62948         be created, only if it doesn't exist.
62949         * gnulib-tool (last_checkin_date): don't expand the $Date here.
62950
62951 2002-12-31  Paul Eggert  <eggert@twinsun.com>
62952
62953         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
62954
62955 2002-12-31  Paul Eggert  <eggert@twinsun.com>
62956
62957         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
62958         memcmp if strcoll doesn't work.
62959
62960 2002-12-31  Bruno Haible  <bruno@clisp.org>
62961
62962         * lib/utime.c (utime_null): No need to call ftruncate if the file was
62963         nonempty.
62964
62965 2002-12-31  Bruno Haible  <bruno@clisp.org>
62966
62967         * lib/memcoll.c (STRCOLL): New macro.
62968         (memcoll): Use it.
62969
62970 2002-12-31  Bruno Haible  <bruno@clisp.org>
62971
62972         * lib/localcharset.h: New file.
62973         * lib/localcharset.c: Include it.
62974         * lib/unicodeio.c: Likewise.
62975
62976 2002-12-31  Bruno Haible  <bruno@clisp.org>
62977
62978         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
62979         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
62980
62981 2002-12-31  Bruno Haible  <bruno@clisp.org>
62982
62983         * lib/getline.h: Include <stddef.h>, for size_t.
62984
62985         * lib/unicodeio.h: Include <stddef.h>, for size_t.
62986         * lib/unicodeio.c: Don't include <stddef.h>.
62987
62988 2002-12-31  Bruno Haible  <bruno@clisp.org>
62989
62990         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
62991         HAVE_TM_ZONE.
62992
62993 2002-12-24  Karl Berry  <karl@gnu.org>
62994
62995         * config/config.guess: update from prep.
62996
62997 2002-12-24  Bruno Haible  <bruno@clisp.org>
62998
62999         General infrasructure.
63000         * m4/README: Rewritten.
63001         * m4/onceonly.m4: New file.
63002         * m4/onceonly_2_57.m4: New file.
63003
63004         Module atexit.
63005         * m4/atexit.m4: New file.
63006
63007         Module strtod.
63008         * m4/strtod.m4: New file.
63009
63010         Module strtol.
63011         * m4/strtol.m4: New file.
63012
63013         Module strtoul.
63014         * m4/strtoul.m4: New file.
63015
63016         Module memchr.
63017         * m4/memchr.m4: New file.
63018
63019         Module memcmp.
63020         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
63021         (jm_FUNC_MEMCMP): Invoke it.
63022
63023         Module memcpy.
63024         * m4/memcpy.m4: New file.
63025
63026         Module memmove.
63027         * m4/memmove.m4: New file.
63028
63029         Module memset.
63030         * m4/memset.m4: New file.
63031
63032         Module strcspn.
63033         * m4/strcspn.m4: New file.
63034
63035         Module strpbrk.
63036         * m4/strpbrk.m4: New file.
63037
63038         Module strstr.
63039         * m4/strstr.m4: New file.
63040
63041         Module strerror.
63042         * m4/strerror.m4: New file.
63043
63044         Module mktime.
63045         * m4/mktime.m4: Renamed from jm-mktime.m4.
63046         (gl_PREREQ_MKTIME): New macro.
63047         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
63048
63049         Module malloc.
63050         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
63051         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
63052         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
63053
63054         Module realloc.
63055         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
63056         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
63057         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
63058
63059         Module strftime.
63060         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
63061         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
63062         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
63063         gl_TM_GMTOFF.
63064         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
63065
63066         Module xalloc.
63067         * m4/xalloc.m4: New file.
63068
63069         Module alloca.
63070         * m4/alloca.m4: New file.
63071
63072         Module putenv.
63073         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
63074         (jm_FUNC_PUTENV): Invoke it.
63075
63076         Module setenv.
63077         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
63078         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
63079         when invoked twice.
63080         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
63081         gt_FUNC_SETENV.
63082
63083         Module memrchr.
63084         * m4/memrchr.m4: New file.
63085
63086         Module stpcpy.
63087         * m4/stpcpy.m4: New file.
63088
63089         Module strcase.
63090         * m4/strcase.m4: New file.
63091
63092         Module strdup.
63093         * m4/strdup.m4: New file.
63094
63095         Module strnlen.
63096         * m4/strnlen.m4: New file.
63097
63098         Module strndup.
63099         * m4/strndup.m4: New file.
63100
63101         Module xstrtod.
63102         * m4/xstrtod.m4: New file.
63103
63104         Module xstrtol.
63105         * m4/xstrtol.m4: New file.
63106
63107         Module getdate.
63108         * m4/getdate.m4: New file.
63109
63110         Module unlocked-io.
63111         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
63112         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
63113         * m4/jm-glibc-io.m4n: Remove file.
63114
63115         Module long-options.
63116         * m4/long-options.m4: New file.
63117
63118         Module md5.
63119         * m4/md5.m4: New file.
63120
63121         Module sha.
63122         * m4/sha.m4: New file.
63123
63124         Module getstr.
63125         * m4/getstr.m4: New file.
63126
63127         Module getline.
63128         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
63129         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
63130         <sys/types.h>, for size_t. Use the function name gnu_getline, not
63131         simply getline. Infoke gl_PREREQ_GETLINE.
63132
63133         Module obstack.
63134         * m4/obstack.m4: New file.
63135
63136         Module hash.
63137         * m4/hash.m4: New file.
63138
63139         Module readtokens.
63140         * m4/readtokens.m4: New file.
63141
63142         Module strverscmp.
63143         * m4/strverscmp.m4: New file.
63144
63145         Module stdbool.
63146         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
63147         OSF/1.
63148
63149         Module strtoll.
63150         * m4/strtoll.m4: New file.
63151
63152         Module strtoull.
63153         * m4/strtoull.m4: New file.
63154
63155         Module strtoimax.
63156         * m4/strtoimax.m4: New file.
63157
63158         Module strtoumax.
63159         * m4/strtoumax.m4: New file.
63160
63161         Module xstrtoimax.
63162         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
63163         jm_AC_PREREQ_XSTRTOIMAX.
63164         Moved the strtol prerequisites to strtol.m4.
63165         Moved the strtoll prerequisites to strtoll.m4.
63166         Moved the strtoimax prerequisites to strtoimax.m4.
63167
63168         Module xstrtoumax.
63169         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
63170         jm_AC_PREREQ_XSTRTOUMAX.
63171         Moved the strtoul prerequisites to strtoul.m4.
63172         Moved the strtoull prerequisites to strtoull.m4.
63173         Moved the strtoumax prerequisites to strtoumax.m4.
63174
63175         Module chown.
63176         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
63177         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
63178
63179         Module dup2.
63180         * m4/dup2.m4: New file.
63181
63182         Module ftruncate.
63183         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
63184         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
63185
63186         Module getgroups.
63187         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
63188         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
63189
63190         Module gettimeofday.
63191         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
63192         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
63193         gl_PREREQ_GETTIMEOFDAY.
63194
63195         Module mkdir.
63196         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
63197         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
63198
63199         Module mkstemp.
63200         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
63201         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
63202         jm_AC_TYPE_UINTMAX_T.
63203         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
63204
63205         Module stat.
63206         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
63207         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
63208
63209         Module lstat.
63210         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
63211         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
63212
63213         Module timespec.
63214         * m4/timespec.m4 (gl_TIMESPEC): New macro.
63215         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
63216         * m4/st_mtim.m4: Indentation.
63217
63218         Module nanosleep.
63219         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
63220         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
63221         gl_PREREQ_NANOSLEEP.
63222
63223         Module regex.
63224         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
63225         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
63226         (gl_REGEX): New macro.
63227
63228         Module rename.
63229         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
63230         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
63231
63232         Module rmdir.
63233         * m4/rmdir.m4: New file.
63234
63235         Module utime.
63236         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
63237         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
63238         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
63239
63240         Module dirname.
63241         * m4/dirname.m4: New file.
63242
63243         Module getopt.
63244         * m4/getopt.m4: New file.
63245
63246         Module unistd-safer.
63247         * m4/unistd-safer.m4: New file.
63248
63249         Module fnmatch.
63250         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
63251         declaration.
63252         (gl_PREREQ_FNMATCH_EXTRA): New macro.
63253         (gl_FUNC_FNMATCH_POSIX): New macro.
63254         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
63255         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
63256         simply fnmatch.
63257
63258         Module exclude.
63259         * m4/exclude.m4: New file.
63260
63261         Module human.
63262         * m4/human.m4: New file.
63263
63264         Module acl.
63265         * m4/acl.m4: Nop.
63266
63267         Module backupfile.
63268         * m4/backupfile.m4: New file.
63269         * m4/d-ino.m4: Indentation.
63270
63271         Module fsusage.
63272         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
63273         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
63274         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
63275
63276         Module dirfd.
63277         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
63278         requirements.
63279
63280         Module euidaccess.
63281         * m4/euidaccess.m4: New file.
63282
63283         Module file-type.
63284         * m4/file-type.m4: New file.
63285
63286         Module fileblocks.
63287         * m4/fileblocks.m4: New file.
63288
63289         Module filemode.
63290         * m4/filemode.m4: New file.
63291
63292         Module isdir.
63293         * m4/isdir.m4: New file.
63294
63295         Module lchown.
63296         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
63297         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
63298
63299         Module makepath.
63300         * m4/makepath.m4: New file.
63301
63302         Module modechange.
63303         * m4/modechange.m4: New file.
63304
63305         Module mountlist.
63306         * m4/mountlist.m4: New file.
63307         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
63308         Indentation.
63309
63310         Module path-concat.
63311         * m4/path-concat.m4: New file.
63312
63313         Module pathmax.
63314         * m4/pathmax.m4: New file.
63315
63316         Module same.
63317         * m4/same.m4: New file.
63318
63319         Module save-cwd.
63320         * m4/save-cwd.m4: New file.
63321
63322         Module savedir.
63323         * m4/savedir.m4: New file.
63324
63325         Module xgetcwd.
63326         * m4/xgetcwd.m4: New file.
63327         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
63328
63329         Module xreadlink.
63330         * m4/xreadlink.m4: New file.
63331
63332         Module safe-read.
63333         * m4/safe-read.m4: New file.
63334
63335         Module safe-write.
63336         * m4/safe-write.m4: New file.
63337
63338         Module closeout.
63339         * m4/closeout.m4: New file.
63340
63341         Module stdio-safer.
63342         * m4/stdio-safer.m4: New file.
63343
63344         Module getpass.
63345         * m4/getpass.m4: New file.
63346
63347         Module getugroups.
63348         * m4/getugroups.m4: New file.
63349
63350         Module group-member.
63351         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
63352         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
63353
63354         Module idcache.
63355         * m4/idcache.m4: New file.
63356
63357         Module userspec.
63358         * m4/userspec.m4: New file.
63359
63360         Module gettime.
63361         * m4/clock_time.m4: New file.
63362         * m4/gettime.m4: New file.
63363
63364         Module settime.
63365         * m4/settime.m4: New file.
63366
63367         Module posixtm.
63368         * m4/posixtm.m4: New file.
63369
63370         Module gethostname.
63371         * m4/gethostname.m4: New file.
63372
63373         Module canon-host.
63374         * m4/canon-host.m4: New file.
63375
63376         Module gettext.
63377         * m4/codeset.m4: New file, from gettext-0.11.5.
63378         * m4/gettext.m4: New file, from gettext-0.11.5.
63379         * m4/glibc21.m4: New file, from gettext-0.11.5.
63380         * m4/iconv.m4: New file, from gettext-0.11.5.
63381         * m4/intdiv0.m4: New file, from gettext-0.11.5.
63382         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
63383         * m4/inttypes.m4: New file, from gettext-0.11.5.
63384         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
63385         * m4/isc-posix.m4: New file, from gettext-0.11.5.
63386         * m4/lcmessage.m4: New file, from gettext-0.11.5.
63387         * m4/lib-ld.m4: New file, from gettext-0.11.5.
63388         * m4/lib-link.m4: New file, from gettext-0.11.5.
63389         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
63390         * m4/progtest.m4: New file, from gettext-0.11.5.
63391         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
63392         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
63393         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
63394
63395         Module localcharset.
63396         * m4/localcharset.m4: New file.
63397
63398         Module hard-locale.
63399         * m4/hard-locale.m4: New file.
63400
63401         Module mbswidth.
63402         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
63403         onceonly macros.
63404         * m4/mbrtowc.m4: Add comment.
63405
63406         Module memcasecmp.
63407         * m4/memcasecmp.m4: New file.
63408
63409         Module memcoll.
63410         * m4/memcoll.m4: New file.
63411
63412         Module unicodeio.
63413         * m4/unicodeio.m4: New file.
63414
63415         Module rpmatch.
63416         * m4/rpmatch.m4: New file.
63417
63418         Module yesno.
63419         * m4/yesno.m4: New file.
63420
63421         Module exitfail.
63422         * m4/exitfail.m4: New file.
63423
63424         Module c-stack.
63425         * m4/c-stack.m4 (gl_C_STACK): New macro.
63426         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
63427
63428         Module error.
63429         * m4/error.m4 (gl_ERROR): New macro.
63430         (jm_PREREQ_ERROR): Use onceonly macros.
63431
63432         Module fatal.
63433         * m4/fatal.m4: New file.
63434
63435         Module getloadavg.
63436         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
63437         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
63438
63439         Module getpagesize.
63440         * m4/getpagesize.m4: New file.
63441
63442         Module getusershell.
63443         * m4/getusershell.m4: New file.
63444
63445         Module physmem.
63446         * m4/physmem.m4: New file.
63447
63448         Module posixver.
63449         * m4/posixver.m4: New file.
63450
63451         Module quotearg.
63452         * m4/quotearg.m4: New file.
63453
63454         Module quote.
63455         * m4/quote.m4: New file.
63456
63457         Module readutmp.
63458         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
63459
63460         Module sig2str.
63461         * m4/sig2str.m4: New file.
63462
63463         Other.
63464         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
63465         ulonglong.m4.
63466         * m4/intmax_t.m4: New file.
63467         * m4/d-type.m4: Indentation.
63468         * m4/jm-macros.m4: Update.
63469         * m4/prereq.m4 (jm_PREREQ): Update.
63470         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
63471         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
63472         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
63473         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
63474         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
63475         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
63476         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
63477         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
63478         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
63479         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
63480         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
63481         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
63482         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
63483         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
63484         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
63485         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
63486         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
63487         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
63488         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
63489
63490 2002-12-24  Bruno Haible  <bruno@clisp.org>
63491
63492         * MODULES.txt: Update according to m4/ changes.
63493
63494         Module gettext.
63495         * config.rpath: New file, from gettext-0.11.5.
63496
63497         * modules/*: New module descriptions.
63498         * gnulib-tool: New file.
63499         * MODULES.html.sh: New file.
63500
63501 2002-12-21  Karl Berry  <karl@gnu.org>
63502
63503         * doc/fdl.texi: update to version 1.2.
63504
63505 2002-12-19  Karl Berry  <karl@gnu.org>
63506
63507         * config/config.guess: update from prep.
63508
63509 2002-12-18  Bruno Haible  <bruno@clisp.org>
63510
63511         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
63512         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
63513
63514 2002-12-17  Bruno Haible  <bruno@clisp.org>
63515
63516         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
63517         stdlib.h, string.h.
63518
63519 2002-12-17  Bruno Haible  <bruno@clisp.org>
63520
63521         * lib/canon-host.c (strdup): Remove unused declaration.
63522
63523         * lib/fsusage.c: Include full_read.h.
63524         (get_fs_usage): Use full_read instead of safe_read.
63525
63526         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
63527
63528 2002-12-12  Karl Berry  <karl@gnu.org>
63529
63530         * config/config.guess: update from prep.
63531
63532 2002-12-11  Bruno Haible  <bruno@clisp.org>
63533
63534         * m4/setenv.m4: New file, from gettext-0.11.5.
63535
63536 2002-12-11  Bruno Haible  <bruno@clisp.org>
63537
63538         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
63539         not unsetenv().
63540         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
63541         modifications:
63542
63543         2002-12-11  Bruno Haible  <bruno@clisp.org>
63544
63545                 * setenv.c (alloca): Fall back to malloc.
63546                 (freea): New macro.
63547                 (setenv): Use freea() to free memory allocated with alloca().
63548
63549         2002-11-13  Bruno Haible  <bruno@clisp.org>
63550
63551                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
63552                 function declarations.
63553                 * unsetenv.c (unsetenv): Likewise.
63554
63555         2002-03-04  Bruno Haible  <bruno@clisp.org>
63556
63557                 Portability to AIX 4.3.3.
63558                 * unsetenv.c: New file, extracted from setenv.c.
63559                 * setenv.c: Move the unsetenv() function to unsetenv.c.
63560
63561         2001-12-20  Bruno Haible  <bruno@clisp.org>
63562
63563                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
63564                 use malloc instead. For SunOS 4.
63565
63566         2001-12-11  Bruno Haible  <bruno@clisp.org>
63567
63568                 * setenv.c: Declare alloca.
63569                 (compar_fn_t): New typedef.
63570                 (KNOWN_VALUE, STORE_VALUE): Use it.
63571
63572         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
63573         setenv.h.
63574
63575 2002-12-10  Paul Eggert  <eggert@twinsun.com>
63576
63577         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
63578         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
63579         Choose values that are less likely to collide with system fnmatch
63580         options.
63581         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
63582         defined (e.g., a pure POSIX system).
63583         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
63584         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
63585
63586 2002-12-06  Paul Eggert  <eggert@twinsun.com>
63587
63588         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
63589         a pain in practice to deal with generated m4 files.  This change
63590         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
63591
63592         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
63593         and jm-glibc-io.m4, as they are no longer a special case.
63594         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
63595         kludge and the auto-generation stuff.  Check only whether the
63596         functions are declared, not whether they exist, since older hosts
63597         that don't declare the functions can't use the optimization anyway.
63598
63599 2002-12-06  Jim Meyering  <jim@meyering.net>
63600
63601         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
63602
63603         Merge in changes from libc's misc/error.c, in preparation
63604         for the merge of gnulib's changes back into libc.
63605
63606         * lib/error.c (_): Define only if not already defined.
63607         Move definition to follow all #include directives.
63608         Include unlocked-io.h only if !_LIBC.
63609         [_LIBC]: Include <libio/libioP.h>.
63610         [USE_IN_LIBIO]: Include <libio/iolibio.h>
63611         (fflush): Tweak definition to use INTUSE.
63612         (putc): Define.
63613
63614 2002-12-05  Paul Eggert  <eggert@twinsun.com>
63615
63616         * lib/alloca.c [defined emacs]: Include "lisp.h".
63617         (xalloc_die) [defined emacs]: New macro.
63618         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
63619         [! defined emacs]: Include <xalloc.h>.
63620         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
63621         (pointer): Typedef to POINTER_TYPE *.
63622         (malloc): Remove decl; we now always use xmalloc.
63623         (alloca): Use old-style definition, since Emacs needs this.
63624         Check for arithmetic overflow when computing combined size.
63625
63626 2002-12-04  Paul Eggert  <eggert@twinsun.com>
63627
63628         Do not generate unlocked-io.h automatically, since it's easier to
63629         maintain it by hand.
63630
63631         * lib/unlocked-io.h: New file, from GNU diffutils,
63632         but with proper copyright notice and attribution.
63633         * lib/gen-uio: Remove.
63634         * lib/Makefile.am: Add copyright notice.
63635         (libfetish_a_SOURCES): Add unlocked-io.h.
63636         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
63637         (DISTCLEANFILES, io_functions): Remove macros.
63638         (EXTRA_DIST): Remove gen_uio.
63639         (unlocked-io.h): Remove rule.
63640
63641 2002-12-04  Jim Meyering  <jim@meyering.net>
63642
63643         Reflect the fact that stat.c and lstat.c are no longer generated.
63644         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
63645         (DISTCLEANFILES): Likewise.
63646         (EXTRA_DIST): Likewise.
63647         (all_local): Don't depend on stat.c or lstat.c.
63648         (stat.c, lstat.c): Remove rules.
63649         (EXTRA_DIST): Remove xstat.in.
63650
63651         * lib/xstat.in: Remove file.  Contents moved into stat.c.
63652         * lib/stat.c: New file.  Contents mostly from xstat.in.
63653         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
63654         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
63655
63656         * lib/safe-read.c: Rework so that it may serve to define safe_write,
63657         too.
63658         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
63659
63660 2002-12-03  Jim Meyering  <jim@meyering.net>
63661
63662         * lib/safe-read.c, safe-write.c: Change variable names and comments,
63663         but not semantics, to minimize the differences between these two files.
63664         (safe_read): Change comment to mention SAFE_READ_ERROR.
63665
63666         * lib/safe-read.c (IS_EINTR): Define.
63667         (safe_read): Use IS_EINTR in place of in-function cpp directives.
63668
63669 2002-12-02  Jim Meyering  <jim@meyering.net>
63670
63671         * lib/safe-read.c (EINTR): Define.
63672         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
63673         (INT_MAX): Provide fallback.
63674         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
63675
63676         * lib/safe-read.h (SAFE_READ_ERROR): Define.
63677
63678 2002-12-02  Bruno Haible  <bruno@clisp.org>
63679
63680         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
63681         Define, taken from safe-read.c.
63682         (INT_MAX): Provide fallback.
63683         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
63684         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
63685
63686         * lib/safe-read.c (EINTR): Remove definition.
63687         (safe_read): Don't use EINTR if it is absent.
63688
63689 2002-12-01  Jim Meyering  <jim@meyering.net>
63690
63691         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
63692         zero.
63693         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
63694
63695 2002-11-27  Paul Eggert  <eggert@twinsun.com>
63696
63697         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
63698         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
63699         with `if (! (value < limit)) abort ();', for readability.
63700
63701 2002-11-26  Karl Berry  <karl@gnu.org>
63702
63703         * lib/strdup.c: copy from libc again, with jim's ok.
63704         * lib/.cppi-disable: re-add strdup.c
63705
63706 2002-11-25  Karl Berry  <karl@gnu.org>
63707
63708         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
63709         instead of "strtol.c".
63710
63711 2002-11-25  Karl Berry  <karl@gnu.org>
63712
63713         * config/install-sh: update from automake for variable quoting, $0 in
63714         error msgs, etc.
63715
63716         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
63717         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
63718         entry.
63719
63720 2002-11-25  Jim Meyering  <jim@meyering.net>
63721
63722         * lib/mktime.c: Sync from libc, now that it has the latest fix.
63723
63724 2002-11-24  Karl Berry  <karl@gnu.org>
63725
63726         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
63727         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
63728
63729 2002-11-24  Jim Meyering  <jim@meyering.net>
63730
63731         Update from coreutils:
63732
63733         * lib/mktime.c: Merge in changes from libc.
63734
63735         Avoid a link-time failure on some Linux systems.
63736         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
63737         (otherwise).
63738         (__mon_yday): Declare with the STATIC attribute.
63739         (__mktime_internal): Likewise.
63740         Based on a report from Greg Schafer.
63741
63742 2002-11-23  Jim Meyering  <jim@meyering.net>
63743
63744         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
63745         Use `unsigned', not `int', as type of index.
63746
63747         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
63748
63749         * lib/fsusage.c: Remove unneeded parentheses around operands of
63750         `defined'.
63751
63752 2002-11-22  Paul Eggert  <eggert@twinsun.com>
63753
63754         * lib/quotearg.h: Allow multiple inclusion by surrounding with
63755         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
63756         so that we can be included first.
63757         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
63758         * lib/quotearg.c: Include quotearg.h immediately after config.h.
63759         No need to include stddef.h or sys/types.h any more.
63760         Surround local include files with "", not "<>".
63761         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
63762         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
63763         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
63764         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
63765         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
63766         (ISPRINT): Remove; no longer needed now that we assume C89.
63767
63768         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
63769         Preserve errno.
63770
63771         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
63772         quotearg_char): Use SIZE_MAX rather than
63773         (size_t) -1 when we are talking about "infinity".
63774
63775         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
63776
63777 2002-11-22  Paul Eggert  <eggert@twinsun.com>
63778
63779         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
63780         hint that one should use `if (! x) abort ();' rather than `assert
63781         (x);', and anyway it's one less thing to worry about configuring.
63782         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
63783         hash_rehash, hash_insert): Use abort rather than assert.
63784
63785 2002-11-22  Bruno Haible  <bruno@clisp.org>
63786
63787         * lib/safe-read.h: Assume C89. Add comments.
63788         (safe_read): Change return type to size_t.
63789         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
63790         byte counts > SSIZE_MAX correctly.
63791         * lib/safe-write.h: New file.
63792         * lib/safe-write.c: New file.
63793         * lib/full-read.h: New file.
63794         * lib/full-read.c: New file.
63795         * lib/full-write.h: Assume C89. Add comments.
63796         * lib/full-write.c: Include safe-write.h.
63797         (full_write): Rewritten to use safe_write.
63798         Suggested by Jim Meyering and Paul Eggert.
63799
63800 2002-11-21  Jim Meyering  <jim@meyering.net>
63801
63802         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
63803
63804         Merge in changes from the coreutils.
63805
63806         2002-09-25  Paul Eggert  <eggert@twinsun.com>
63807         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
63808         <stdint.h>.
63809         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
63810         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
63811         int.  Work more efficiently if X is the same width as uintmax_t.
63812         Do not compare X to -1, to avoid bogus compiler warning.
63813         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
63814         Don't assume that f_frsize and f_bsize are the same type.
63815
63816         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
63817         warning on FreeBSD.
63818
63819         * lib/makepath.c (make_path): Restore umask *before* creating the final
63820         component.
63821         (make_path): Minor reformatting.
63822
63823         * lib/xmalloc.c: Adjust to work with new autoconf macros,
63824         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
63825         HAVE_MALLOC/HAVE_REALLOC.
63826
63827         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
63828         dummy ones.  At least on GNU/Linux systems, `auto' means something
63829         else.
63830         From Michael Stone.
63831
63832 2002-11-21  Bruno Haible  <bruno@clisp.org>
63833
63834         Remove case insensitive option matching.
63835         * lib/argmatch.h (argcasematch): Remove declaration.
63836         (ARGCASEMATCH): Remove macro.
63837         (__xargmatch_internal): Remove case_sensitive argument.
63838         (XARGMATCH): Update.
63839         (XARGCASEMATCH): Remove macro.
63840         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
63841         case_sensitive argument.
63842         (argcasematch): Remove function.
63843         (__xargmatch_internal): Remove case_sensitive argument.
63844         (main): Use XARGMATCH instead of XARGCASEMATCH.
63845
63846         * lib/xmalloc.c: Change compile-time error message. Add comment about
63847         required autoconf version.
63848
63849 2002-11-20  Paul Eggert  <eggert@twinsun.com>
63850
63851         Merge argmatch cleanups from Bison.  Assume C89.
63852
63853         * lib/argmatch.c: Include config.h here, not in argmatch.h.
63854         Include stdlib.h, for EXIT_FAILURE.
63855         Always include <string.h>, since we assume C89.
63856         (EXIT_FAILURE): Remove pre-C89 bug workaround.
63857         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
63858         Include <stddef.h> instead, since it's all we need for size_t.
63859         (PARAMS): Remove.  All uses removed.
63860         (ARRAY_CARDINALITY): Do not bother to #undef.
63861         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
63862         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
63863         Remove unnecessary parentheses.
63864         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
63865         Insert necessary parentheses.
63866         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
63867         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
63868
63869 2002-11-19  Bruno Haible  <bruno@clisp.org>
63870
63871         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
63872         * lib/mbswidth.h: Include <stddef.h>, for size_t.
63873
63874         * lib/mbswidth.h (PARAMS): Remove macro.
63875         (mbswidth, mbsnwidth): Use ANSI C function declarations.
63876         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
63877
63878         * lib/gcd.h (PARAMS): Remove macro.
63879         (gcd): Use ANSI C function declarations.
63880         * lib/gcd.c (gcd): Likewise.
63881
63882 2002-11-15  Bruno Haible  <bruno@clisp.org>
63883
63884         * lib/strcspn.c: Include <stddef.h>.
63885         (strcspn): Use ANSI C function declaration. Change return type to
63886         size_t. Use NULL.
63887         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
63888         (strpbrk): Use NULL.
63889         * lib/strpbrk.h (PARAMS): Remove macro.
63890         (strpbrk): Use ANSI C function declaration.
63891         * lib/strstr.c: Don't include <sys/types.h>.
63892         * lib/strstr.h (PARAMS): Remove macro.
63893         (strstr): Use ANSI C function declarations.
63894
63895 2002-11-14  Karl Berry  <karl@gnu.org>
63896
63897         * config/mkinstalldirs: `do' on separate line, instead of
63898         `for var; do'.
63899
63900 2002-11-06  Bruno Haible  <bruno@clisp.org>
63901
63902         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
63903         * lib/gcd.c (gcd): Likewise.
63904
63905 2002-11-05  Bruno Haible  <bruno@clisp.org>
63906
63907         * lib/gcd.h: New file, from gettext-0.11.5.
63908         * lib/gcd.c: New file, from gettext-0.11.5.
63909
63910 2002-11-05  Bruno Haible  <bruno@clisp.org>
63911
63912         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63913         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63914         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63915         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63916
63917         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
63918         <libintl.h>.
63919         * lib/makepath.c: Include gettext.h instead of <locale.h> and
63920         <libintl.h>.
63921
63922         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
63923         * lib/human.c: Include gettext.h instead of <libintl.h>.
63924         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
63925         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
63926         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
63927         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
63928         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
63929         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
63930         (textdomain): Remove definition.
63931         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
63932
63933         * lib/long-options.c: Remove include of <libintl.h> and definition of
63934         _.
63935         * lib/same.c: Remove include of <libintl.h> and definition of _.
63936
63937 2002-11-04  Owen Taylor  <otaylor@redhat.com>
63938
63939         * lib/config.charset: A few additions for Solaris.
63940
63941 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
63942
63943         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
63944         * lib/localcharset.c (locale_charset): Declare as extern "C".
63945
63946 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
63947
63948         * lib/config.charset: msdos in uk_UA uses CP1125.
63949
63950 2002-11-04  Bruno Haible  <bruno@clisp.org>
63951
63952         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
63953         * lib/strcase.h: New file, from GNU gettext-0.11.5.
63954         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
63955         * lib/strstr.h: New file, from GNU gettext-0.11.5.
63956         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
63957
63958 2002-11-04  Bruno Haible  <bruno@clisp.org>
63959
63960         * lib/localcharset.c (locale_charset): Don't return an empty string.
63961
63962 2002-11-04  Bruno Haible  <bruno@clisp.org>
63963
63964         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
63965         aliases.
63966
63967 2002-11-04  Bruno Haible  <bruno@clisp.org>
63968
63969         * lib/config.charset: Update for newest glibc. Add canonical names
63970         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
63971
63972 2002-11-04  Bruno Haible  <bruno@clisp.org>
63973
63974         * lib/config.charset: Add support for NetBSD.
63975
63976 2002-11-04  Bruno Haible  <bruno@clisp.org>
63977
63978         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
63979
63980 2002-11-01  Bruno Haible  <bruno@clisp.org>
63981
63982         * configure.in: Add AC_CONFIG_AUX_DIR call.
63983         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
63984         test/Makefile.
63985         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
63986
63987 2002-09-28  Karl Berry  <karl@gnu.org>
63988
63989         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
63990         installed automake until the next release, since changes have been
63991         made.
63992
63993 2002-09-25  Karl Berry  <karl@gnu.org>
63994
63995         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
63996         * lib/getopt*: copy from libc/posix.
63997         * lib/gettext.h: copy from gettext.
63998         * lib/.cppi-disable: add strdup.c, gettext.h.
63999
64000 2002-09-25  Karl Berry  <karl@gnu.org>
64001
64002         * config/srclist.txt: enable gettext.h check.
64003         * config/config.{guess,sub}: update from prep.
64004         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
64005                 from automake 1.6.3.
64006         See srclist*.
64007
64008 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
64009
64010         * regex.c (PATFETCH): Remove the translating fetch.
64011         (PATFETCH_RAW): Rename to PATFETCH.
64012         (set_image_of_range): New fun.
64013         (SET_RANGE_TABLE_WORK_AREA): Use it.
64014         (regex_compile): Don't translate the pattern chars so eagerly.
64015         Only do it when inserting an `exactn' bytecode or when handling
64016         a char-range.
64017         (mutually_exclusive_p): Avoid empty statement.
64018
64019 2002-07-06  Jim Meyering  <meyering@lucent.com>
64020
64021         * m4/README: Don't mention Makefile.am.in.
64022         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
64023
64024 2002-07-01  Jim Meyering  <meyering@lucent.com>
64025
64026         * lib/c-stack.c: Include sys/time.h.
64027         From Volker Borchert.
64028
64029 2002-06-26  Paul Eggert  <eggert@twinsun.com>
64030
64031         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
64032
64033 2002-06-26  Paul Eggert  <eggert@twinsun.com>
64034
64035         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
64036         New macro.  Use it uniformly instead of
64037         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
64038         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
64039         reported by Vin Shelton.
64040
64041 2002-06-22  Paul Eggert  <eggert@twinsun.com>
64042
64043         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
64044         Do not assume SA_SIGINFO behavior.
64045         Bug reported by Jim Meyering on NetBSD 1.5.2.
64046
64047 2002-06-22  Jim Meyering  <meyering@lucent.com>
64048
64049         * m4/c-stack.m4: New file, from diffutils-2.8.2.
64050         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
64051
64052         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
64053         now that configure.ac uses AC_GNU_SOURCE.
64054         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
64055         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
64056
64057         Update to latest tools.  Suggestions from Paul Eggert.
64058         * m4/stdbool.m4: New file, from diffutils-2.8.2.
64059         * m4/gnu-source.m4: Update from diffutils-2.8.2.
64060         * m4/fnmatch.m4: Likewise.
64061         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
64062         to AC_HEADER_STDBOOL
64063
64064 2002-06-22  Jim Meyering  <meyering@lucent.com>
64065
64066         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
64067         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
64068
64069 2002-06-22  Jim Meyering  <meyering@lucent.com>
64070
64071         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
64072
64073         * lib/exitfail.c, exitfail.h: Likewise.
64074         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
64075
64076         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
64077         of fnmatch.h.
64078         (EXTRA_DIST): Add fnmatch_loop.c.
64079         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
64080
64081         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
64082         * lib/fnmatch.c: Update from diffutils-2.8.2.
64083         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
64084         * lib/fnmatch.h: Remove file.
64085
64086 2002-06-21  Jim Meyering  <meyering@lucent.com>
64087
64088         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
64089         * m4/mbrtowc.m4: Likewise.
64090
64091         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
64092         * m4/mbswidth.m4: Reflect name change:
64093         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
64094         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
64095
64096         * m4/lib-link.m4: Update from gettext-0.11.2.
64097         * m4/gettext.m4: Likewise.
64098
64099         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
64100         From Alfred M. Szmidt.
64101
64102 2002-06-18  Paul Eggert  <eggert@twinsun.com>
64103
64104         * lib/file-type.h: Report an error if neither S_ISREG nor
64105         S_IFREG is defined, instead of using a test specific to glibc
64106         2.2.  This should be safe, since POSIX requires S_ISREG and
64107         Unix Version 7 had S_IFREG.  We don't need to check for
64108         <sys/types.h> since we don't use any symbols that it defines.
64109
64110 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
64111
64112         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
64113         $@-t, so that each temporary file name is unique and valid in the first
64114         8 characters, for operation under DOS.
64115
64116 2002-06-15  Paul Eggert  <eggert@twinsun.com>
64117
64118         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
64119
64120 2002-06-15  Jim Meyering  <meyering@lucent.com>
64121
64122         Work even with DJGPP 2.03, which lacks support for symlinks.
64123         From Richard Dawe.
64124         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
64125         is defined.
64126         * lib/lchown.c (S_ISLNK): Likewise.
64127
64128 2002-06-15  Jim Meyering  <meyering@lucent.com>
64129
64130         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
64131         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
64132         have been included before this file.
64133
64134 2002-06-14  Jim Meyering  <meyering@lucent.com>
64135
64136         * lib/file-type.h: Use the version from diffutils-2.8.2.
64137         * lib/file-type.c: Likewise.
64138
64139 2002-06-07  Jim Meyering  <meyering@lucent.com>
64140
64141         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
64142         They're needed at least for NetBSD 1.5.2.
64143         ($statxfs_includes): Include those same headers.
64144         ($statxfs_includes): Include sys/vfs.h if available.
64145         ($statxfs_includes): Likewise for sys/statvfs.h.
64146         Check for the following members in both structs statfs and statvfs:
64147         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
64148
64149 2002-06-01  Jim Meyering  <meyering@lucent.com>
64150
64151         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
64152         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
64153
64154 2002-05-28  Jim Meyering  <meyering@lucent.com>
64155
64156         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
64157         Reported by Volker Borchert.
64158
64159 2002-05-27  Jim Meyering  <meyering@lucent.com>
64160
64161         Fix a problem seen only on nonconforming systems whereby ls.c's
64162         use of localtime, and then of gettimeofday would cause trouble:
64163         the localtime call used to initialize rpl_gettimeofday's save
64164         mechanism would clobber ls's current local time information so
64165         that in any long listing the first file would always be listed
64166         with date 1970-01-01.  Analysis by Volker Borchert.
64167
64168         * lib/gettimeofday.c (localtime): Undefine.
64169         (rpl_localtime): New function.
64170
64171 2002-05-27  Jim Meyering  <meyering@lucent.com>
64172
64173         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
64174         localtime.
64175
64176         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
64177         use the replacement function; it wouldn't resolve at link time.
64178         Reported by Volker Borchert.
64179
64180 2002-05-22  Jim Meyering  <meyering@lucent.com>
64181
64182         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
64183         file-type.h.
64184         * lib/file-type.h: New file.
64185         * lib/file-type.c (file_type): New file/function.  Extracted from
64186         diffutils.
64187
64188 2002-04-30  Jim Meyering  <meyering@lucent.com>
64189
64190         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
64191
64192 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64193
64194         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
64195
64196 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64197
64198         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
64199         Do not check for alloca.h (no longer used) or stdbool.h (was never
64200         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
64201
64202 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64203
64204         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
64205
64206 2002-04-29  Jim Meyering  <meyering@lucent.com>
64207
64208         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
64209         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
64210         Use AC_FUNC_STRNLEN here instead.
64211
64212         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
64213         With autoconf-2.53a, it's part of AC_PROG_CC.
64214
64215 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64216
64217         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
64218         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
64219
64220 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64221
64222         * lib/sig2str.h, lib/sig2str.c: New files.
64223         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
64224
64225 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64226
64227         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
64228         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
64229         of 127, since 64 is the largest conceivable number for ancient
64230         nonstandard hosts.
64231         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
64232
64233 2002-04-28  Jim Meyering  <meyering@lucent.com>
64234
64235         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
64236
64237 2002-04-24  Jim Meyering  <meyering@lucent.com>
64238
64239         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
64240         (jm_PREREQ): Use it.
64241
64242         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
64243         mach/mach.h fcntl.h.
64244         Check for this function: setlocale.
64245
64246 2002-04-24  Jim Meyering  <meyering@lucent.com>
64247
64248         * lib/gettext.h: New file, from Gettext.
64249         * lib/Makefile.am (INCLUDES): Remove -I../intl.
64250         (libfetish_a_SOURCES): Add gettext.h.
64251
64252 2002-04-16  Jim Meyering  <meyering@lucent.com>
64253
64254         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
64255         ut_pid, ut_id, ut_exit.
64256
64257 2002-04-16  Jim Meyering  <meyering@lucent.com>
64258
64259         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
64260         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
64261         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
64262
64263 2002-04-12  Jim Meyering  <meyering@lucent.com>
64264
64265         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
64266         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
64267         existence of the getmntinfo function.  Needed for Darwin 5.3.
64268
64269         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
64270         This is necessary at least on Darwin 5.3.
64271
64272         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
64273         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
64274         strnlen.o in the library, and that makes some versions of ranlib
64275         object.
64276
64277 2002-04-12  Jim Meyering  <meyering@lucent.com>
64278
64279         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
64280
64281 2002-04-09  Jim Meyering  <meyering@lucent.com>
64282
64283         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
64284         to be more precise.  Rather than saying we're checking whether the
64285         function `works', say what we're testing.
64286         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
64287         Reported by Bruno Haible.
64288
64289 2002-03-10  Jim Meyering  <meyering@lucent.com>
64290
64291         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
64292         Suggestion from Santiago Vila.
64293
64294 2002-03-08  Jim Meyering  <meyering@lucent.com>
64295
64296         * lib/rename.c: Mention that this wrapper is needed also on
64297         mips-dec-ultrix4.4 systems.
64298
64299 2002-03-02  Jim Meyering  <meyering@lucent.com>
64300
64301         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
64302         not HAVE_CLOCK_SETTIME.
64303
64304 2002-02-27  Paul Eggert  <eggert@twinsun.com>
64305
64306         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
64307         Check for clock_settime.
64308
64309 2002-02-27  Paul Eggert  <eggert@twinsun.com>
64310
64311         * lib/nanosleep.h: Rename to....
64312         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
64313
64314         * lib/gettime.c: New file.
64315         * lib/settime.c: New file.
64316         * lib/stime.c: Remove.
64317
64318         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
64319         timespec.h.  Remove nanosleep.h.
64320
64321 2002-02-25  Paul Eggert  <eggert@twinsun.com>
64322
64323         * m4/acl.m4: New file.
64324         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
64325         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
64326
64327 2002-02-25  Paul Eggert  <eggert@twinsun.com>
64328
64329         * lib/acl.c, lib/acl.h: New files.
64330         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
64331
64332 2002-02-24  Jim Meyering  <meyering@lucent.com>
64333
64334         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
64335         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
64336         cause trouble.  Reported by Nelson Beebe.
64337
64338 2002-02-23  Paul Eggert  <eggert@twinsun.com>
64339
64340         * lib/path-concat.c (xpath_concat): Reorder code to pacify
64341         compilers that don't know that xalloc_die never returns.
64342
64343 2002-02-20  Jim Meyering  <meyering@lucent.com>
64344
64345         * lib/getdate.c: Regenerate using bison-1.33.
64346
64347 2002-02-17  Jim Meyering  <meyering@lucent.com>
64348
64349         * config/config.guess (main): Don't use `head -1'; it's no longer
64350         portable. Use `sed 1q' instead.
64351
64352 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
64353
64354         * m4/codeset.m4: Upgrade to gettext-0.11.
64355         * m4/gettext.m4: Upgrade to gettext-0.11.
64356         * m4/glibc21.m4: Upgrade to gettext-0.11.
64357         * m4/iconv.m4: Upgrade to gettext-0.11.
64358         * m4/isc-posix.m4: Upgrade to gettext-0.11.
64359         * m4/lcmessage.m4: Upgrade to gettext-0.11.
64360         * m4/lib-ld.m4: New file, from gettext-0.11.
64361         * m4/lib-link.m4: New file, from gettext-0.11.
64362         * m4/lib-prefix.m4: New file, from gettext-0.11.
64363         * m4/progtest.m4: Upgrade to gettext-0.11.
64364
64365 2002-02-15  Paul Eggert  <eggert@twinsun.com>
64366
64367         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
64368         (jm_PREREQ): Use it.
64369
64370 2002-02-15  Paul Eggert  <eggert@twinsun.com>
64371
64372         * lib/posixver.c, lib/posixver.h: New files.
64373         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
64374
64375 2002-02-02  Paul Eggert  <eggert@twinsun.com>
64376             Bruno Haible  <bruno@clisp.org>
64377
64378         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
64379         (fwrite_success_callback): New declaration.
64380         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
64381         print_unicode_char. Call failure callback instead of error.
64382         (fwrite_success_callback): New function.
64383         (exit_failure_callback): New function.
64384         (fallback_failure_callback): New function.
64385         (print_unicode_char): Call unicode_to_mb.
64386
64387 2002-01-26  Jim Meyering  <meyering@lucent.com>
64388
64389         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
64390         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
64391
64392 2002-01-26  Jim Meyering  <meyering@lucent.com>
64393
64394         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
64395
64396 2002-01-22  Paul Eggert  <eggert@twinsun.com>
64397
64398         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
64399
64400 2002-01-22  Jim Meyering  <meyering@lucent.com>
64401
64402         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
64403         Otherwise, some versions of automake would omit the rule that makes
64404         Makefile from Makefile.in.
64405
64406 2002-01-21  Paul Eggert  <eggert@twinsun.com>
64407
64408         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
64409         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
64410         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
64411         (memcoll): Set errno to zero if there is no error.
64412
64413         * lib/quotearg.c (quotearg_buffer_restyled):
64414         Fix bug with quoting buffers containing NUL when backslashing escapes.
64415         This bug was exposed by the other changes in this patch.
64416         (quotearg_n_options): New arg ARGSIZE.
64417         All callers changed.
64418         (quoting_options_from_style): New function.
64419         (quotearg_n_style): Use it.
64420         (quotearg_n_style_mem): New function.
64421
64422         * lib/quotearg.h (quotearg_n_style_mem): New function.
64423
64424 2002-01-19  Jim Meyering  <meyering@lucent.com>
64425
64426         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
64427         Remove useless quotes: DF_PROG="df".
64428         * m4/strnlen.m4: New file.
64429
64430 2002-01-16  Paul Eggert  <eggert@twinsun.com>
64431
64432         * lib/backupfile.c (ISDIGIT): Comment fix.
64433         * lib/getdate.y (ISDIGIT): Likewise.
64434         * lib/posixtm.c (ISDIGIT, year): Likewise.
64435         * lib/strverscmp.c (ISDIGIT): Likewise.
64436         * lib/userspec.c (ISDIGIT): Likewise.
64437
64438 2002-01-16  Jim Meyering  <meyering@lucent.com>
64439
64440         * lib/getdate.y: Add three semicolons, each just before a closing
64441         brace. Bison (as of version 1.31) no longer papers over that mistake.
64442
64443 2002-01-05  Jim Meyering  <meyering@lucent.com>
64444
64445         * lib/version-etc.c (version_etc_copyright): Update copyright year.
64446
64447 2001-12-19  Paul Eggert  <eggert@twinsun.com>
64448
64449         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
64450         not silently exit merely because the output buffer happens to
64451         have nothing pending.
64452
64453 2001-12-18  Paul Eggert  <eggert@twinsun.com>
64454
64455         See the big note in ../ChangeLog.
64456         * lib/human.c (suffixes): Prefer K to k for 1024.
64457         (generate_suffix_backwards): New function.
64458         (human_readable_inexact): Use it.
64459         * lib/xstrtol.c (__xstrtol): If there is no number but there
64460         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
64461         Accept 'K' as well as 'k'.
64462
64463 2001-12-15  Jim Meyering  <meyering@lucent.com>
64464
64465         * lib/regex.h (__restrict_arr): Update from libc.
64466
64467         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
64468         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
64469         (STREQ): Define.
64470
64471 2001-12-14  Jim Meyering  <meyering@lucent.com>
64472
64473         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
64474         Suggestion from Bruno Haible.
64475
64476 2001-12-10  Jim Meyering  <meyering@lucent.com>
64477
64478         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
64479         xrealloc, Instead, include "xalloc.h".
64480         (initbuffer): Don't cast xmalloc return value to char*.
64481         (readline): Reword comment.
64482         Don't cast xrealloc return value to char*
64483         Return NULL, not 0.
64484
64485 2001-12-09  Jim Meyering  <meyering@lucent.com>
64486
64487         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
64488         about `signed and unsigned type in conditional expression'.
64489         * lib/posixtm.c (posix_time_parse): Likewise.
64490
64491         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
64492
64493         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
64494         to avoid a pedantic warning.
64495
64496         * lib/getstr.c: Don't include assert.h.
64497         (getstr): Remove warning-evoking assertions.
64498         Return -1 if offset parameter is out of bounds.
64499         Change the type of a local from int to size_t.
64500
64501         * lib/strftime.c (my_strftime_localtime_r): Include this function
64502         definition in the `#if ! HAVE_TM_GMTOFF' block.
64503
64504         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
64505         Include xalloc.h instead.
64506
64507 2001-12-02  Jim Meyering  <meyering@lucent.com>
64508
64509         * lib/tempname.c: Don't declare getenv, thus reverting the change of
64510         2001-11-18.  It's no longer necessary, now that stdlib.h is always
64511         included.
64512
64513         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
64514         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
64515
64516 2001-11-30  Akim Demaille  <akim@epita.fr>
64517
64518         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
64519         before being defined.
64520
64521 2001-11-27  Paul Eggert  <eggert@twinsun.com>
64522
64523         * lib/quotearg.h (quotearg_n, quotearg_n_style):
64524         First arg is int, not unsigned.
64525         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
64526         (SIZE_MAX, UINT_MAX): New macros.
64527         (quotearg_n_options): Abort if N is negative.
64528         Avoid overflow check on hosts where size_t is 64 bits and int
64529         is 32 bits, as overflow is impossible there.
64530         Fix off-by-one typo that caused unnecessary reallocation.
64531
64532 2001-11-27  Jim Meyering  <meyering@lucent.com>
64533
64534         * lib/tempname.c: Merge with version from libc.
64535         * lib/regex.c: Likewise.
64536
64537         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
64538         systems for which STDC_HEADERS is 0, it was not included, resulting in
64539         a warning about an integer-to-pointer conversion problem with getenv.
64540         Reported by Volker Borchert.
64541
64542 2001-11-26  Jim Meyering  <meyering@lucent.com>
64543
64544         * lib/gtod.h: Remove file.
64545         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
64546         * lib/gettimeofday.c: Don't include gtod.h.
64547         (GTOD_init): Remove function.
64548         (rpl_gettimeofday): Do its job here instead, rather than aborting.
64549         Suggestion from Volker Borchert.
64550
64551 2001-11-23  Jim Meyering  <meyering@lucent.com>
64552
64553         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
64554         it.
64555         * lib/hash.c (struct hash_table): Define it here instead.
64556
64557 2001-11-22  Jim Meyering  <meyering@lucent.com>
64558
64559         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
64560
64561 2001-11-20  Jim Meyering  <meyering@lucent.com>
64562
64563         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
64564         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
64565
64566 2001-11-19  Jim Meyering  <meyering@lucent.com>
64567
64568         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
64569         directory.  Use "conftestXXXXXX" as the template.
64570         Suggestion from Paul Eggert.
64571
64572         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
64573         immediately, so the test doesn't mistakenly hit the max-open-files
64574         limit.
64575
64576 2001-11-18  Paul Eggert  <eggert@twinsun.com>
64577
64578         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
64579         (TEMPORARIES): New macro.
64580         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
64581         removes an artificial limitation (e.g. HP-UX 10.20, where
64582         TMP_MAX is 17576).
64583
64584 2001-11-18  Jim Meyering  <meyering@lucent.com>
64585
64586         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
64587
64588 2001-11-18  Jim Meyering  <meyering@lucent.com>
64589
64590         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
64591         on SunOS 4.
64592
64593         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
64594         files will be created before anything else.
64595
64596 2001-11-17  Paul Eggert  <eggert@twinsun.com>
64597
64598         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
64599         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
64600
64601 2001-11-17  Jim Meyering  <meyering@lucent.com>
64602
64603         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
64604         Prompted by a report from Bob Proulx.
64605
64606         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
64607         Instead, require UTILS_FUNC_MKSTEMP.
64608
64609 2001-11-17  Jim Meyering  <meyering@lucent.com>
64610
64611         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
64612         Now, that's done as part of AC_FUNC_STRTOD.
64613
64614 2001-11-17  Jim Meyering  <meyering@lucent.com>
64615
64616         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
64617         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
64618         rather than group writable.  Patch by Juan F. Codagnone.
64619
64620         * lib/readtokens.c: Remove explicit declarations of xmalloc and
64621         xrealloc, Instead, include "xalloc.h".
64622
64623         * lib/mountlist.c: Include unlocked-io.h after all system headers.
64624         Remove explicit declarations of xmalloc, xrealloc,
64625         and xstrdup.  Instead, include "xalloc.h".
64626
64627         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
64628         unlocked-io.h.
64629         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
64630         Likewise.
64631         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
64632
64633         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
64634         Reported by Padraig Brady.
64635
64636         * lib/mkstemp.c: #undef mkstemp.
64637         Include config.h.
64638         (rpl_mkstemp): Rename from mkstemp.
64639         Protoize.
64640
64641 2001-11-16  Jim Meyering  <meyering@lucent.com>
64642
64643         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
64644         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
64645         determine the amount of total physical memory, use pstat_getstatic.
64646         HPUX-11 doesn't define _SC_PHYS_PAGES.
64647         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
64648         If sysconf couldn't be used to determine the amount of available
64649         physical memory, use both pstat_getstatic and pstat_getdynamic.
64650         Based on a patch from Bob Proulx.
64651
64652 2001-11-10  Jim Meyering  <meyering@lucent.com>
64653
64654         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
64655         (jm_PREREQ): Use it.
64656
64657 2001-11-09  Jim Meyering  <meyering@lucent.com>
64658
64659         * m4/jm-macros.m4: Require autoconf-2.52f.
64660         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
64661         Use these AC_-prefixed names, not the AM_-prefixed ones.
64662
64663         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
64664
64665 2001-11-05  Jim Meyering  <meyering@lucent.com>
64666
64667         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
64668
64669 2001-11-04  Jim Meyering  <meyering@lucent.com>
64670
64671         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
64672         $DEFS.
64673
64674 2001-11-03  Jim Meyering  <meyering@lucent.com>
64675
64676         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
64677         of AC_DEFUN.
64678
64679         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
64680         know the name of the variable in the macro definition.
64681
64682 2001-11-03  Jim Meyering  <meyering@lucent.com>
64683
64684         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
64685         in argmatch_to_argument call.
64686
64687         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
64688         argument.
64689
64690         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
64691         e.g., a fault due to an attempt to free a NULL pointer.
64692
64693 2001-11-01  Jim Meyering  <meyering@lucent.com>
64694
64695         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
64696         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
64697
64698 2001-11-01  Jim Meyering  <meyering@lucent.com>
64699
64700         * lib/dirfd.c, lib/dirfd.h: New files.
64701         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
64702
64703         * lib/hash.c (hash_print) [TESTING]: Clean up.
64704
64705 2001-10-22  Paul Eggert  <eggert@twinsun.com>
64706
64707         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
64708         to avoid a warning if -Wall.
64709
64710 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
64711
64712         * README: New file
64713         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
64714         (per RMS's instructions, this is now the canonical source)
64715         * lgpl/, gpl/: New directories.
64716
64717 2001-10-21  Paul Eggert  <eggert@twinsun.com>
64718
64719         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
64720
64721 2001-10-21  Jim Meyering  <meyering@lucent.com>
64722
64723         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
64724         this code would end up calling gettext even in packages built
64725         with --disable-nls.
64726         * lib/getopt.c (_): Likewise.
64727         * lib/regex.c (_): Likewise.
64728
64729 2001-10-20  Paul Eggert  <eggert@twinsun.com>
64730
64731         * m4/error.m4 (jm_PREREQ_ERROR):
64732         Do not invoke AC_CHECK_FUNCS with strerror_r, as
64733         AC_FUNC_STRERROR_R does that.
64734         Check for strerror declaration.
64735
64736         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
64737         are supposed to have them these days.
64738         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
64739         Merge changes from latest Autoconf CVS.
64740         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
64741         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
64742         POSIX decided to standardize on the int flavor of strerror_r.
64743
64744 2001-10-20  Paul Eggert  <eggert@twinsun.com>
64745
64746         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
64747         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
64748         Use strerror_r that is only a macro, even if it is not a function.
64749         (strerror): Check for HAVE_DECL_STRERROR before declaring.
64750         (private_strerror): Use prototypes, not old-style function definition.
64751         (print_errno_message): New function.
64752         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
64753         char*-flavored one.
64754         (error_tail, error, error_at_line): Use it.
64755
64756 2001-10-11  Jim Meyering  <meyering@lucent.com>
64757
64758         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
64759         and quote_n (1, ... to avoid clobbering a buffer.
64760
64761 2001-10-05  Jim Meyering  <meyering@lucent.com>
64762
64763         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
64764         hash-pjw.h.
64765         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
64766         * lib/hash-pjw.h: New file.
64767
64768 2001-09-30  Jim Meyering  <meyering@lucent.com>
64769
64770         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
64771         `struct fsstat' has the `f_fstypename' member.
64772         Use that to define FS_TYPE, which is now used to make
64773         the getfsstat link test tighter.
64774
64775 2001-09-30  Jim Meyering  <meyering@lucent.com>
64776
64777         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
64778         Include <sys/ucred.h>, for Apple Darwin.
64779         Include sys/mount.h and sys/fs_types.h only if available.
64780         (FS_TYPE): Define.
64781         (read_filesystem_list): Use FS_TYPE.
64782
64783 2001-09-29  Paul Eggert  <eggert@twinsun.com>
64784
64785         * lib/exclude.c (excluded_filename): 0 -> false, since it's
64786         a boolean context.
64787
64788 2001-09-29  Jim Meyering  <meyering@lucent.com>
64789
64790         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
64791         [one-argument getmntent function]): Include stdio.h before mntent.h.
64792         SunOS 4.1.x needs it for the declaration of `FILE'.
64793         Patch by Volker Borchert.
64794
64795         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
64796         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
64797         sys/fs_types.h, and make the link-test for getfsstat guard #include
64798         directives with appropriate #if HAVE_*_H tests so that we can
64799         detect getfsstat on Apple Darwin1.3.7 systems.
64800         Reported by Nelson Beebe.
64801         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
64802
64803 2001-09-28  Paul Eggert  <eggert@twinsun.com>
64804
64805         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
64806         #defines strtoimax.  Also treat the other strto* functions
64807         like strtoimax.
64808
64809         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
64810         Check for strtoul and strtoumax,
64811         as those declarations are made even in the signed case.
64812         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
64813         Likewise, for strtol and strtoimax.
64814
64815 2001-09-28  Paul Eggert  <eggert@twinsun.com>
64816
64817         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
64818         #defines strtoimax.  Also treat the other strto* functions
64819         like strtoimax.
64820
64821         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
64822         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
64823         (strtoimax, strtoumax): Do not declare if already defined as a macro.
64824
64825 2001-09-26  Jim Meyering  <meyering@lucent.com>
64826
64827         Most macros in unlocked-io.h had the wrong number of arguments.
64828         * lib/gen-uio: New script.
64829         (USE_UNLOCKED_IO): Define to 1 if not already defined.
64830         * lib/unlocked-io.hin: Remove file.
64831         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
64832         rather than trying to embed it here.
64833         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
64834         Reported by Padraig Brady.
64835
64836 2001-09-25  Volker Borchert  <bt@teknon.de>
64837
64838         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
64839         `result'.
64840
64841 2001-09-24  Jim Meyering  <meyering@lucent.com>
64842
64843         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
64844
64845 2001-09-23  Jim Meyering  <meyering@lucent.com>
64846
64847         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
64848         instead of the mere test for existence of mntent.h.  The latter
64849         would get a false-positive on AIX 3.4 systems.
64850         In the outer getmntent if-block, don't die if neither of the getmntent
64851         tests succeeds.  Instead, just fall through and continue with the
64852         remaining tests.
64853
64854 2001-09-23  Jim Meyering  <meyering@lucent.com>
64855
64856         * lib/mountlist.c: Remove useless parentheses in #if directives.
64857         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
64858         the deprecated MOUNTED symbol is no longer defined in mntent.h.
64859
64860 2001-09-22  Jim Meyering  <meyering@lucent.com>
64861
64862         * m4/gettext.m4: New file.  From gettext.
64863         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
64864         * m4/progtest.m4: Likewise
64865         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
64866         * m4/glibc21.m4: Likewise.
64867
64868         * m4/libintl.m4: Remove.  No longer used.
64869
64870 2001-09-22  Jim Meyering  <meyering@lucent.com>
64871
64872         * lib/localcharset.c: Update from latest gettext.
64873         * lib/config.charset: Likewise.
64874
64875 2001-09-20  Jim Meyering  <meyering@lucent.com>
64876
64877         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
64878         strtoimax.
64879         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
64880         strtoumax.
64881
64882 2001-09-20  Jim Meyering  <meyering@lucent.com>
64883
64884         * lib/xstrtol.c (strtoimax): Guard declaration with
64885         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
64886         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
64887         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
64888         (strtoumax): Likewise, for completeness (it wasn't necessary).
64889
64890 2001-09-17  Paul Eggert  <eggert@twinsun.com>
64891
64892         * lib/strtoimax.c (HAVE_LONG_LONG):
64893         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
64894         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
64895         to work around bug in IBM C compiler.
64896
64897 2001-09-17  Jim Meyering  <meyering@lucent.com>
64898
64899         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
64900         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
64901         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
64902         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
64903         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
64904         whenever the right hand side need not be expanded by the shell.
64905
64906 2001-09-16  Paul Eggert  <eggert@twinsun.com>
64907
64908         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
64909         library.  It's not correct, as some older glibcs are buggy.
64910         fnmatch wasn't fixed until glibc 2.2.
64911
64912         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
64913         special shell magic here.
64914
64915 2001-09-16  Jim Meyering  <meyering@lucent.com>
64916
64917         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
64918         * m4/jm-macros.m4: Require it.
64919
64920 2001-09-16  Jim Meyering  <meyering@lucent.com>
64921
64922         * lib/mkdir.c: New file.
64923
64924 2001-09-15  Jim Meyering  <meyering@lucent.com>
64925
64926         * m4/jm-macros.m4: Check for help2man.
64927
64928 2001-09-11  Jim Meyering  <meyering@lucent.com>
64929
64930         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
64931         The body, by Paul Eggert, was moved here from configure.in.
64932         * m4/jm-macros.m4: Require UTILS_HOST_OS.
64933
64934 2001-09-04  Paul Eggert  <eggert@twinsun.com>
64935
64936         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
64937         (jm_PREREQ): Use it.
64938
64939 2001-09-04  Paul Eggert  <eggert@twinsun.com>
64940
64941         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
64942         Use ssize_t, not int, to store result of readlink.
64943         Check for ssize_t overflow as well as size_t overflow,
64944         as POSIX says the result of readlink is implementation-defined
64945         when ssize_t overflows.
64946         Remove unnecessary cast to char*.
64947         Use free+malloc instead of realloc, as the storage doesn't need
64948         to be preserved and it's clearer and can be more efficient that way.
64949         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
64950         * lib/xreadlink.h (xreadlink): Update prototype.
64951
64952 2001-09-04  Paul Eggert  <eggert@twinsun.com>
64953
64954         * lib/xgetcwd.c: Revert some of the previous change; intead,
64955         fix the HAVE_GETCWD_NULL code to behave more like the
64956         !HAVE_GETCWD_NULL code used to.
64957
64958         Include "xalloc.h".
64959         (xgetcwd): Do not return NULL when memory is exhausted; instead,
64960         invoke xalloc_die.
64961
64962 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64963
64964         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
64965         sys/param.h, as pathmax.h includes them.
64966
64967 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64968
64969         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
64970         (jm_PREREQ_XGETCWD): New macro.
64971
64972         * m4/getcwd.m4: New file.
64973
64974 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64975
64976         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
64977         like the HAVE_GETCWD_NULL code.
64978         Include pathmax.h if not HAVE_GETCWD.
64979         Do not include xalloc.h.
64980         (INITIAL_BUFFER_SIZE): New symbol.
64981         Do not use xmalloc / xrealloc, since the caller is responsible for
64982         handling errors.  Preserve errno around `free' during failure.
64983         Do not overrun buffer when using getwd.
64984
64985 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64986
64987         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
64988         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
64989         getcwd (NULL, 0).
64990
64991 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64992
64993         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
64994         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
64995         spotted by Jim Meyering.
64996
64997 2001-09-03  Jim Meyering  <meyering@lucent.com>
64998
64999         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
65000         failure.
65001
65002 2001-09-02  Jim Meyering  <meyering@lucent.com>
65003
65004         * lib/error.c: Update from GNU libc.
65005
65006 2001-09-01  Jim Meyering  <meyering@lucent.com>
65007
65008         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
65009         Used by df.
65010
65011 2001-09-01  Jim Meyering  <meyering@lucent.com>
65012
65013         * lib/xreadlink.c: New file.
65014         * lib/xreadlink.h: New file.
65015         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
65016         xreadlink.h.
65017
65018         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
65019         doesn't conflict with sparc Solaris 7's definition in
65020         /usr/include/sys/int_types.h.
65021
65022         * lib/exclude.c: Use `""', not `<>' to #include non-system header
65023         files.
65024         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
65025         and strncasecmp as r-values.  Unixware didn't have declarations.
65026
65027 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65028
65029         * lib/xstrtol.h: Add copyright notice.
65030         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
65031         LONGINT_INVALID_SUFFIX_CHAR.
65032
65033 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65034
65035         * lib/xstrtol.c (strtoimax): New decl.
65036
65037 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65038
65039         * lib/xgetcwd.c: Don't include pathmax.h.
65040         Include stdlib.h and unistd.h if available.
65041         Include xalloc.h.
65042         (xmalloc, xstrdup, free): Remove decls.
65043         (xgetcwd): Don't assume sizes fit in unsigned.
65044         Check for overflow when computing sizes.
65045         Simplify reallocation code.
65046
65047 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65048
65049         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
65050         a directory's st_size can have an arbitrary value, so the old
65051         usage could waste an arbitrary amount of memory.  All uses
65052         changed.
65053         * lib/savedir.h: Update prototype.
65054
65055 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65056
65057         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
65058
65059         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
65060         old strtoimax.c.
65061
65062         Also, make the following further changes to make this file's
65063         configuration more similar to that of strtol.c:
65064         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
65065         (strtoumax, uintmax_t, strtoull, strtol): Remove.
65066         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
65067         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
65068         changed to signed values.
65069
65070         And make the following changes as well:
65071         Fix copyright notice, as 1999 was missing.
65072         (verify): New macro.
65073         (strtoimax): Check sizes at compile-time, not run-time.
65074         Prefer strtol to strtoll if both work.
65075         (main): Remove; it was not that useful and was a pain to maintain.
65076
65077         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
65078
65079 2001-08-31  Jim Meyering  <meyering@lucent.com>
65080
65081         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
65082         Use an initial, malloc'd, buffer of length 128 rather than
65083         a statically allocated one of length 1024.
65084
65085 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65086
65087         Simplify code, partly by assuming autoconf 2.52 semantics.
65088
65089         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
65090
65091         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
65092         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
65093         All uses removed.
65094         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
65095         Move AC_REQUIRE to next-to-top level, to avoid confusion.
65096         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
65097         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
65098         jm_AC_HEADER_INTTYPES_H.
65099         * m4/jm-macros.m4 (jm_MACROS): Likewise.
65100
65101         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
65102
65103         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
65104         Quote first arg of AC_DEFUN.
65105         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
65106         since they are needed to parse the include file even if we need
65107         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
65108         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
65109         but with opposite signedness.
65110
65111 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65112
65113         Merge 'exclude' changes from tar 1.13.22.
65114         This fixes one or two unlikely storage allocation overflow bugs,
65115         but doesn't change user-visible behavior otherwise.
65116
65117 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65118
65119         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
65120         (jm_PREREQ_EXCLUDE): New macro.
65121
65122 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65123
65124         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
65125         tm to be declared.
65126
65127 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65128
65129         * lib/hash.c: Remove '2001' from copyright notice.
65130
65131 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65132
65133         * lib/full-write.h: New file.
65134         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
65135         * lib/full-write.c: Correct credits, as cccp.c no longer
65136         exists and anyway it was so heavily changed from the old cccp
65137         code as to be unrecognizable.  Include full-write.h.
65138         (full_write) Return size_t, with short writes meaning failure.
65139         All callers changed.  This fixes a bug with large buffers
65140         on 64-bit hosts.
65141         * lib/utime.c: Include full-write.h.
65142
65143 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65144
65145         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
65146         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
65147         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
65148         Include if available.
65149         (<xalloc.h>): Include
65150         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
65151         (verify): New macro.  Use it to verify that EXCLUDE macros do not
65152         collide with FNM macros.
65153         (struct patopts): New struct.
65154         (struct exclude): Use it, as exclude patterns now come with options.
65155         (new_exclude): Support above changes.
65156         (new_exclude, add_exclude_file):
65157         Initial size must now be a power of two to simplify overflow checking.
65158         (free_exclude, fnmatch_no_wildcards): New function.
65159         (excluded_filename): No longer requires options arg, as the options
65160         are determined by add_exclude.  Now returns bool, not int.
65161         (excluded_filename, add_exclude):
65162         Add support for the fancy new exclusion options.
65163         (add_exclude, add_exclude_file): Now takes int options arg.
65164         Check for arithmetic overflow when computing sizes.
65165         (add_exclude_file): xrealloc might modify errno, so don't
65166         realloc until after errno might be used.
65167
65168         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
65169         New macros.
65170         (free_exclude): New decl.
65171         (add_exclude, add_exclude_file): Now takes int options arg.
65172         (excluded_filename): No longer requires options arg, as the options
65173         are determined by add_exclude.  Now returns bool, not int.
65174
65175 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65176
65177         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
65178
65179 2001-08-27  Jim Meyering  <meyering@lucent.com>
65180
65181         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
65182
65183         * lib/version-etc.c (N_): Remove definition.
65184         Revert most of last change.
65185         Instead, simply don't mark the `Copyright...' string for translation.
65186         Based on advice from Paul Eggert.
65187
65188         * lib/strtoxmax.c: Tweak comment.
65189
65190 2001-08-26  Jim Meyering  <meyering@lucent.com>
65191
65192         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
65193
65194         * m4/xstrtoimax.m4: New file.
65195         * m4/xstrtoumax.m4: Add comments explaining why we
65196         AC_REPLACE_FUNCS(strtol).
65197
65198 2001-08-26  Jim Meyering  <meyering@lucent.com>
65199
65200         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
65201         of copyright with `%s' so translators don't get an untranslated
65202         message in 2002.
65203         (COPYRIGHT_YEAR): Define.
65204         (version_etc): Use fprintf rather than fputs.
65205         Suggestion from Ulrich Drepper.
65206
65207         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
65208
65209         * lib/strtoll.c: New file, from GNU libc.
65210         * lib/xstrtoimax.c: New file.
65211
65212         * lib/xstrtol.h: Add xstrtoimax.
65213         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
65214         * lib/strtoimax.c: New file.  Likewise, but first define
65215         STRTOUXMAX_SIGNED.
65216
65217         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
65218         ...
65219         * lib/strtoxmax.c: ... then renamed to this.
65220
65221 2001-08-18  Paul Eggert  <eggert@twinsun.com>
65222
65223         * m4/inttypes.m4: Add AC_PREREQ(2.13).
65224         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
65225         (jm_AC_TYPE_INTMAX_T): New macro.
65226         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
65227
65228         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
65229
65230         * m4/longlong.m4: Renamed from ulonglong.m4.
65231         * m4/inttypes.m4: Renamed from inttypes_h.m4.
65232         * m4/uintmax_t.m4: Removed.
65233
65234 2001-08-13  Paul Eggert  <eggert@twinsun.com>
65235
65236         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
65237         Port to Solaris 8, where 'sed' requires a space after the 'r'
65238         command, and where sh dislikes "$/".  Clean up the spacing a bit.
65239         Redirect output to $tmp just once.
65240
65241 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
65242
65243         * lib/addext.c (<errno.h>): Include.
65244         (errno): Declare if not defined.
65245         (addext): Work correctly when pathconf returns -1 and leaves
65246         errno alone because there is no limit.  Also, work even if
65247         pathconf returns a value greater than SIZE_MAX.
65248
65249 2001-08-12  Jim Meyering  <meyering@lucent.com>
65250
65251         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
65252         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
65253         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
65254         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
65255         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
65256         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
65257         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
65258         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
65259         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
65260         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
65261         utime.m4, utimes.m4, xstrtoumax.m4:
65262         Quote the first argument in each use of AC_DEFUN.
65263
65264 2001-08-12  Jim Meyering  <meyering@lucent.com>
65265
65266         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
65267         Simply `return getcwd (NULL, 0);'.
65268         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
65269         Use 1300 as initial value for length, not PATH_MAX.
65270
65271         * lib/pathmax.h: Clean up cpp syntax.
65272
65273 2001-08-12  Jim Meyering  <meyering@lucent.com>
65274
65275         * lib/gettimeofday.c: New file.
65276         * lib/gtod.h: New file.
65277         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
65278
65279 2001-08-05  Jim Meyering  <meyering@lucent.com>
65280
65281         * m4/jm-macros.m4: Require autoconf-2.52.
65282
65283 2001-08-04  Jim Meyering  <meyering@lucent.com>
65284
65285         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
65286         stmt, to get in sync with glibc.
65287
65288 2001-08-03  Paul Eggert  <eggert@twinsun.com>
65289
65290         The following changes are from gettext 0.10.39 as maintained by
65291         Bruno Haible.
65292
65293         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
65294         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
65295         with inverted sense.  All uses changed.
65296
65297         * lib/mbswidth.c: Don't include <limits.h>.
65298         Include <stdlib.h> and <string.h> unconditionally.
65299         (iswcntrl, mbsinit, ISCNTRL): New macros.
65300         (mbsnwidth): Use K&R style function declarations.
65301         Don't bother checking for MB_LEN_MAX == 1, since the compiler
65302         can optimize it when MB_CUR_MAX == 1.
65303         The width of control characters is zero, not 1.
65304
65305 2001-08-03  Paul Eggert  <eggert@twinsun.com>
65306
65307         The following changes are from gettext 0.10.39 as maintained by
65308         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
65309
65310         * m4/codeset.m4: Upgrade to serial AM1.
65311         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
65312         all uses changed.  Quote first arg of AC_DEFUN.
65313         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
65314
65315         * m4/iconv.m4: Upgrade to serial AM2.
65316         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
65317         Add --with-libconv-prefix.
65318         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
65319         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
65320         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
65321         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
65322         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
65323
65324         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
65325         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
65326         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
65327         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
65328         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
65329         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
65330         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
65331         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
65332         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
65333
65334         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
65335         string.h any more.
65336
65337         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
65338         not the default value.
65339
65340         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
65341         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
65342         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
65343         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
65344         Also check for iswcntrl, used for wcwidth fallback.
65345         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
65346         to Autoconf 2.13.
65347
65348 2001-08-03  Jim Meyering  <meyering@lucent.com>
65349
65350         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
65351         as it was in the original.  Reported by Paul Eggert.
65352
65353 2001-07-16  Jim Meyering  <meyering@lucent.com>
65354
65355         * m4/gettimeofday.m4: New file.
65356         Prompted by a report from Bernhard Baehr.
65357
65358 2001-07-15  Jim Meyering  <meyering@lucent.com>
65359
65360         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
65361         stuff. Now it's in ../Makefile.cfg.
65362
65363 2001-07-15  Jim Meyering  <meyering@lucent.com>
65364
65365         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
65366         (BUILT_SOURCES): Add unlocked-io.h.
65367         (io_functions): Define.
65368         (unlocked-io.h): New rule.
65369         (DISTCLEANFILES): Add unlocked-io.h.
65370         (all-local): Depend on unlocked-io.h, to ensure it is created.
65371
65372         * lib/unlocked-io.hin: New file
65373
65374         * lib/regex.c: Update from glibc.
65375
65376 2001-07-05  Jim Meyering  <meyering@lucent.com>
65377
65378         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
65379         recommendation.
65380         (libfetish_a_SOURCES): Put all .h files here instead.
65381         Remove a thus-exposed (better checks in automake) duplicate and
65382         two unnecessary .h files.
65383
65384 2001-07-04  Jim Meyering  <meyering@lucent.com>
65385
65386         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
65387         that generates jm-glibc-io.m4 so that it doesn't trigger any make
65388         distcheck failure.
65389
65390 2001-07-02  Jim Meyering  <meyering@lucent.com>
65391
65392         The following changes were prompted by suggestions from Bruno Haible.
65393
65394         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
65395         is now generated.
65396         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
65397         definition of EXTRA_DIST.
65398         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
65399         ensure that the generated file is created/updated whenever the list
65400         of $(unlocked_functions) is changed.
65401         (jm-glibc-io.m4): New rule.
65402         (unlocked-io.h): New rule -- currently unused.
65403
65404 2001-06-24  Jim Meyering  <meyering@lucent.com>
65405
65406         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
65407         unmatched right bracket, rather than kludging it with an extra,
65408         falsely-matching quote in a comment.  Patch by Akim Demaille.
65409
65410 2001-06-11  Jim Meyering  <meyering@lucent.com>
65411
65412         * lib/regex.c: Update from GNU libc.
65413
65414 2001-05-27  Jim Meyering  <meyering@lucent.com>
65415
65416         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
65417         Check for ut_type in struct utmp.
65418
65419 2001-05-27  Jim Meyering  <meyering@lucent.com>
65420
65421         * lib/readutmp.h (UT_TYPE): Define.
65422
65423 2001-05-24  Jim Meyering  <meyering@lucent.com>
65424
65425         * lib/argmatch.c: Include "quote.h".
65426         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
65427         quote function.  Reported by Göran Uddeborg.
65428
65429 2001-05-22  Jim Meyering  <meyering@lucent.com>
65430
65431         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
65432         now that we use the package-supplied version unconditionally.
65433         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
65434
65435 2001-05-21  Jim Meyering  <meyering@lucent.com>
65436
65437         * m4/regex.m4: Change a couple backticks to single quotes to avoid
65438         shell syntax errors.
65439
65440 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
65441
65442         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
65443
65444 2001-05-20  Paul Eggert  <eggert@twinsun.com>
65445
65446         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
65447         Don't bother to check library strftime, since
65448         we'll be using our own my_strftime function anyway.
65449         Define my_strftime instead of strftime.
65450
65451 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
65452
65453         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
65454         which is not yet declared.
65455
65456 2001-05-15  Jim Meyering  <meyering@lucent.com>
65457
65458         * m4/regex.m4: Use proper quoting so brackets appear in the test
65459         program.
65460         Reported by, and with help from, Bruno Haible.
65461
65462 2001-05-13  Jim Meyering  <meyering@lucent.com>
65463
65464         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
65465         undefined.
65466
65467 2001-05-11  Paul Eggert  <eggert@twinsun.com>
65468
65469         dirname code cleanup.  base_name now behaves more compatibly
65470         with POSIX basename when given file names that have trailing
65471         slashes, and similarly for dir_name.  Add new primitives
65472         base_len and dir_len.  Put the directory-name-related decls
65473         into dirname.h.
65474
65475         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
65476         * lib/backupfile.c (base_name): Likewise.
65477         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
65478         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
65479         * lib/makepath.c (strip_trailing_slashes): Likewise.
65480         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
65481         ISSLASH): Likewise.
65482         * lib/rename.c (strip_trailing_slashes): Likewise.
65483         * lib/same.c (base_name): Likewise.
65484         * lib/stripslash.c (ISSLASH): Likewise.
65485
65486         * lib/addext.c: Include <dirname.h> after size_t is defined.
65487         * lib/backupfile.c: Likewise.
65488
65489         * lib/addext.c (addext): Use base_len to trim redundant
65490         trailing slashes instead of doing it ourselves.
65491         But do not trim the last slash if it is not redundant.
65492
65493         * lib/backupfile.c (find_backup_file_name,
65494         max_backup_version): Use base_len instead of rolling it ourselves.
65495         Handle the case of "" and (on DOS) "C:" correctly.
65496
65497         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
65498         needed. Include <string.h>, <dirname.h>.
65499         (base_name): Allow file names ending in slashes, other than names
65500         that are all slashes.  In this case, return the basename followed
65501         by the slashes.  This is more general, and can be used in places
65502         where the original base_name purposely had an assertion failure.
65503         (base_len): New function.
65504
65505         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
65506         Do not include <assert.h>; no longer needed.
65507         Include xalloc.h.
65508         (memrchr): Remove decl.
65509         (dir_name_r): Remove.
65510         (dir_len): Renamed from dirlen.  All callers changed.
65511         Rewrite in terms of base_name, for simplicity and consistency.
65512         (dir_name): Never return NULL.  All callers changed.
65513         Do not include <stdlib.h> in test program; no longer needed.
65514         return 0; is fine for test program.
65515
65516         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
65517         New macros.
65518         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
65519
65520         * lib/path-concat.c (path_concat): Use base_len to compute
65521         base length, not strlen; this means we cannot rely on memcpy
65522         to null-terminate.
65523
65524         * lib/same.c (STREQ): Remove.
65525         (same_name): Handle the case where the basename ends in trailing '/'.
65526
65527         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
65528         a slash was stripped.  Do not strip the last slash after a
65529         file system prefix.
65530
65531 2001-05-11  Paul Eggert  <eggert@twinsun.com>
65532
65533         * lib/Makefile.am (libfetish_a_SOURCES):
65534         Add strftime.c, since we now compile it on all hosts.
65535
65536         * lib/strftime.c (my_strftime):
65537         Define to nstrftime if emacs, but only if my_strftime is not defined.
65538         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
65539         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
65540         Add one more extra argument: a nanoseconds value.
65541         All uses changed.
65542         (ns): New macro.
65543         (my_strftime function): Add %N format.
65544         (emacs_strftimeu): Renamed from emacs_strftime,
65545         with extra ut argument.
65546
65547 2001-05-09  Paul Eggert  <eggert@twinsun.com>
65548
65549         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
65550
65551 2001-04-21  Jim Meyering  <meyering@lucent.com>
65552
65553         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
65554         doesn't interfere.
65555
65556 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
65557
65558         * m4/ftruncate.m4: Check for chsize.
65559         Link with ftruncate.o unconditionally if ftruncate is missing.
65560         This was required when cross-compiling to i586-mingw32msvc.
65561
65562 2001-04-08  Jim Meyering  <meyering@lucent.com>
65563
65564         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
65565         recomputed; that's necessary when the offset spans a DST transition.
65566         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
65567
65568 2001-04-02  Jim Meyering  <meyering@lucent.com>
65569
65570         * lib/regex.h, regex.c: Update from GNU libc.
65571
65572 2001-03-24  Jim Meyering  <meyering@lucent.com>
65573
65574         * m4/jm-macros.m4: Require autoconf-2.49d.
65575
65576 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
65577
65578         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
65579
65580 2001-03-19  Paul Eggert  <eggert@twinsun.com>
65581
65582         * lib/version-etc.c (version_etc_copyright): Update to 2001.
65583
65584 2001-03-17  Jim Meyering  <meyering@lucent.com>
65585
65586         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
65587         now that the version in autoconf is equivalent.
65588         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
65589
65590         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
65591         Suggestion from Akim Demaille.
65592
65593         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
65594         (jm_PREREQ_TEMPNAME): New function.
65595
65596 2001-03-16  Paul Eggert  <eggert@twinsun.com>
65597
65598         * lib/tempname.c (uint64_t): Define to uintmax_t if
65599         not defined, and if UINT64_MAX is not defined.
65600         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
65601         Reported by John David Anglin.
65602
65603 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
65604
65605         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
65606         resolve alias if codeset is empty.
65607         * lib/config.charset (BeOS): Use wildcard syntax.
65608
65609 2001-03-13  Jim Meyering  <meyering@lucent.com>
65610
65611         * lib/path-concat.c (path_concat)
65612         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
65613         concatenating e.g., `C:' and `foo'.
65614         From Bruno Haible.
65615
65616 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
65617
65618         * lib/localcharset.c (locale_charset): Don't use
65619         setlocale(LC_CTYPE,NULL). Don't return NULL.
65620         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
65621
65622 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
65623
65624         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
65625         support for DOS/DJGPP.
65626
65627 2001-03-01  Paul Eggert  <eggert@twinsun.com>
65628
65629         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
65630         lacks mkstemp.  Compile our own tempname.c if we compile our own
65631         mkstemp.c, as mkstemp relies on tempname.
65632
65633 2001-03-01  Jim Meyering  <meyering@lucent.com>
65634
65635         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
65636         AH_VERBATIM really does output its argument verbatim.
65637
65638 2001-02-28  Paul Eggert  <eggert@twinsun.com>
65639
65640         * lib/Makefile.am (libfetish_a_SOURCES):
65641         Add dup-safer.c, fopen-safer.c.
65642         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
65643
65644         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
65645         * lib/unistd-safer.h: New files.
65646
65647 2001-02-25  Paul Eggert  <eggert@twinsun.com>
65648
65649         The mkstemp replacement is taken from glibc 2.2.2, with some
65650         portability fixes for use outside glibc, as follows:
65651
65652         * lib/tempname.c (struct_stat64): New macro.
65653         (direxists, __gen_tempname): Use it.
65654         This avoids a portability problem with Solaris 8.
65655
65656         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
65657         (<stddef.h>, <stdint.h>, <string.h>):
65658         Include only if STDC_HEADERS || _LIBC.
65659         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
65660         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
65661         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
65662         (__set_errno): Define this macro if <errno.h> doesn't.
65663         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
65664         Define these macros if <stdio.h> doesn't.
65665         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
65666         Define these macros if <sys/stat.h>
65667         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
65668         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
65669         __xstat64): Define if not _LIBC.
65670         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
65671         (__gen_tempname): Invoke gettimeofday only if
65672         HAVE_GETTIMEOFDAY || _LIBC;
65673         otherwise, fall back on plain "time".
65674         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
65675
65676         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
65677
65678         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
65679
65680 2001-02-18  Paul Eggert  <eggert@twinsun.com>
65681
65682         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
65683
65684 2001-02-17  Paul Eggert  <eggert@twinsun.com>
65685
65686         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
65687         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
65688         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
65689         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
65690
65691 2001-02-17  Paul Eggert  <eggert@twinsun.com>
65692
65693         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
65694         Remove workaround macros for hosts that have mbrtowc but not
65695         mbstate_t, as we now insist on proper declarations for both
65696         before using mbrtowc.
65697
65698 2001-02-17  Jim Meyering  <meyering@lucent.com>
65699
65700         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
65701         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
65702         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
65703         UnixWare 7.1.1.
65704
65705         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
65706         rather than AC_CACHE_VAL.
65707
65708 2001-02-17  Jim Meyering  <meyering@lucent.com>
65709
65710         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
65711         around included file name.
65712
65713         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
65714
65715         * lib/strftime.c: Update from GNU libc (the only changes were to
65716         comments).
65717
65718 2001-02-17  Jim Meyering  <meyering@lucent.com>
65719
65720         * lib/regex.c: Update from libc.
65721
65722 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
65723
65724         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
65725         clash.
65726
65727 2001-02-16  Paul Eggert  <eggert@twinsun.com>
65728
65729         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
65730         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
65731         Reported by Mark Hounschell via Paul Eggert.
65732
65733 2001-02-07  Jim Meyering  <meyering@lucent.com>
65734
65735         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
65736
65737 2001-02-05  Jim Meyering  <meyering@lucent.com>
65738
65739         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
65740         it includes the patch required for `large file' support with at least
65741         HP-UX's 10.20 /bin/cc.
65742
65743 2001-02-03  Jim Meyering  <meyering@lucent.com>
65744
65745         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
65746         AS_IF, now that it works once again (mysteriously).
65747         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
65748
65749 2001-01-30  Jim Meyering  <meyering@lucent.com>
65750
65751         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
65752         * m4/chown.m4: Rename conftestchown to conftest.chown.
65753         * m4/rename.m4: s/conftestdir/conftest.d1/ and
65754         s/conftestdir2/conftest.d2/.
65755         * m4/utimes.m4: s/conftestdata/conftest.data/
65756         Inspired by Pavel Roskin's change in autoconf.
65757
65758 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
65759
65760         * lib/config.charset: Update for FreeBSD 4.2.
65761
65762 2001-01-27  Jim Meyering  <meyering@lucent.com>
65763
65764         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
65765         a use of AS_IF.
65766         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
65767
65768 2001-01-26  Jim Meyering  <meyering@lucent.com>
65769
65770         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
65771         quotearg.c includes it.
65772
65773 2001-01-26  Jim Meyering  <meyering@lucent.com>
65774
65775         * lib/quotearg.c: Include stddef.h.
65776         * lib/quote.c: Include stddef.h.
65777         Reported by Axel Kittenberger.
65778
65779         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
65780         line in double quotes so that it evokes a better diagnostic.
65781         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
65782         Reported by Axel Kittenberger.
65783
65784 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
65785
65786         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
65787         as if it was a `charset'.
65788
65789 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
65790
65791         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
65792         has const.
65793
65794 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
65795
65796         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
65797         to avoid a warning.  Add back 'const' to inptr.
65798
65799 2001-01-20  Jim Meyering  <meyering@lucent.com>
65800
65801         Be sure that headers are checked before used in code compiled
65802         for the type checks.
65803         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
65804         In place of that, invoke jm_CHECK_ALL_TYPES.
65805         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
65806         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
65807         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
65808         The check for ssize_t was mistakenly run before the test for unistd.h.
65809
65810         The configure-time check for stdbool.h was missing.
65811         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
65812         (jm_PREREQ_HASH): New function.
65813
65814 2001-01-17  Jim Meyering  <meyering@lucent.com>
65815
65816         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
65817         for autoconf-2.49c.
65818         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
65819
65820 2001-01-16  Jim Meyering  <meyering@lucent.com>
65821
65822         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
65823         From Bruno Haible.
65824
65825 2001-01-14  Jim Meyering  <meyering@lucent.com>
65826
65827         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
65828         foo and bar.  Create conftestdir/ in the script, not in the C code.
65829         Remove directories in the script, not in the C code.
65830         Remove conftestdir{,2} before trying to create the directory.
65831         Make the entire configure script fail if the mkdir fails.
65832
65833 2001-01-14  Jim Meyering  <meyering@lucent.com>
65834
65835         * lib/rename.c: New file.  From Volker Borchert.
65836         Include stdlib.h, string.h or strings.h, and xalloc.h.
65837         Use strip_trailing_slashes rather than open-coding it.
65838
65839 2001-01-03  Paul Eggert  <eggert@twinsun.com>
65840
65841         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
65842
65843 2001-01-03  Jim Meyering  <meyering@lucent.com>
65844
65845         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
65846         of local `inptr' to avoid warning with some system declarations of
65847         iconv.
65848
65849 2001-01-02  Volker Borchert  <bt@teknon.de>
65850
65851         * m4/rename.m4: New file.
65852         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
65853
65854 2001-01-01  Jim Meyering  <meyering@lucent.com>
65855
65856         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
65857         even on systems with utmpx.h.  It's necessary for the declaration of
65858         utmp's ut_user member.  Reported by Andreas Jaeger.
65859
65860         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
65861         available. They are required for the declarations of getgrgid and
65862         getpwuid resp.
65863         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
65864         Reported by Andreas Jaeger.
65865
65866 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
65867
65868         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
65869         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
65870         so `make install' also works in VPATH builds.
65871
65872 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
65873
65874         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
65875         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
65876         can be used in subdirectories.
65877
65878 2000-12-29  Paul Eggert  <eggert@twinsun.com>
65879
65880         * lib/modechange.c: Do not assume that mode_t uses the
65881         traditional octal encoding.  E.g. "chmod 1 FOO" should set
65882         the other-execute bit of FOO even if S_IXOTH != 1.
65883
65884         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
65885         WOTH, XOTH, ALLM): New macros.
65886         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
65887          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
65888         Use them.
65889         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
65890         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
65891         (mode_compile):
65892         No need to use uintmax_t; unsigned long is long enough.
65893         Don't bother to get suffix since we don't use it.
65894
65895 2000-12-26  Jim Meyering  <meyering@lucent.com>
65896
65897         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
65898         better with autoheader.
65899
65900 2000-12-24  Jim Meyering  <meyering@lucent.com>
65901
65902         * lib/hash.c (is_prime): Return explicit boolean values.
65903         (hash_get_first): Return NULL to appease Irix5.6's 89.
65904         Reported by Nelson Beebe.
65905
65906 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
65907
65908         * lib/localcharset.c (locale_charset): Add support for Win32.
65909
65910 2000-12-18  Paul Eggert  <eggert@twinsun.com>
65911
65912         * lib/physmem.h, lib/physmem.c: New files.
65913
65914         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
65915         (noinst_HEADERS): Add physmem.h.
65916
65917         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
65918         't' for compatibility with Solaris 8 sort.
65919
65920 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
65921
65922         * lib/config.charset: Add support for BeOS.
65923
65924 2000-12-17  Jim Meyering  <meyering@lucent.com>
65925
65926         * m4/dos.m4 (jm_AC_DOS): New file and macro.
65927         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
65928
65929 2000-12-16  Jim Meyering  <meyering@lucent.com>
65930
65931         This bug had a serious impact on chown: `chown N:M FILE' (for integer
65932         N and M) would have treated it like `chown N:N FILE'.
65933
65934         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
65935
65936 2000-12-16  Jim Meyering  <meyering@lucent.com>
65937
65938         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
65939         SHELLS_FILE to a file name that's useful on djgpp systems.
65940         Include stdlib.h.
65941         (ADDITIONAL_DEFAULT_SHELLS): Define.
65942         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
65943         Based mostly on a patch from Prashant TR.
65944
65945 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
65946
65947         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
65948         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
65949         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
65950
65951 2000-12-08  Andreas Schwab  <schwab@suse.de>
65952
65953         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
65954         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
65955
65956 2000-12-07  Jim Meyering  <meyering@lucent.com>
65957
65958         * lib/stripslash.c (ISSLASH): Define.
65959         (strip_trailing_slashes): Use ISSLASH rather than comparing against
65960         `/'.
65961         From Prashant TR.
65962
65963         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
65964         (dir_name_r): Declare this function as static.
65965         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
65966         manifest itself on a name containing a mix of slashes and
65967         backslashes.
65968         Make this function work with names starting with a DOS-style
65969         drive letter and colon prefix.
65970         (dir_name): Append `.' if necessary.
65971         Based mostly on patches from Prashant TR and Eli Zaretskii.
65972
65973         * lib/dirname.h (dir_name_r): Remove prototype.
65974
65975 2000-12-06  Paul Eggert  <eggert@twinsun.com>
65976
65977         * m4/off_t-format.m4: Remove this file.
65978         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
65979
65980 2000-12-06  Jim Meyering  <meyering@lucent.com>
65981
65982         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
65983         replacement strtoull, we may well need the replacement strtoul, too.
65984         Check for declarations of strtoul and strtoull.
65985         Check for strtol.  Mainly as a cue to cause automake to include
65986         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
65987         Check for limits.h -- strtol.c needs it.
65988
65989 2000-12-05  Jim Meyering  <meyering@lucent.com>
65990
65991         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
65992
65993 2000-12-04  Jim Meyering  <meyering@lucent.com>
65994
65995         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
65996         Also include memory.h, stdlib.h, unistd.h if appropriate.
65997         Reported by Andreas Jaeger (conflicting declaration of malloc).
65998
65999 2000-12-02  Jim Meyering  <meyering@lucent.com>
66000
66001         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
66002         * m4/jm-macros.m4 (jm_MACROS): require it.
66003
66004 2000-12-02  Jim Meyering  <meyering@lucent.com>
66005
66006         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
66007
66008 2000-12-01  Paul Eggert  <eggert@twinsun.com>
66009
66010         * lib/memrchr.c: Include <config.h> before any system include file.
66011
66012 2000-11-30  Jim Meyering  <meyering@lucent.com>
66013
66014         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
66015
66016 2000-11-30  Jim Meyering  <meyering@lucent.com>
66017
66018         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
66019
66020 2000-11-29  Paul Eggert  <eggert@twinsun.com>
66021
66022         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
66023
66024 2000-11-26  Jim Meyering  <meyering@lucent.com>
66025
66026         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
66027
66028 2000-11-22  Paul Eggert  <eggert@twinsun.com>
66029
66030         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
66031         size of (size_t) -1; it's not portable.
66032
66033 2000-11-17  Jim Meyering  <meyering@lucent.com>
66034
66035         * lib/strstr.c: Update from GNU libc.
66036
66037 2000-11-17  Akim Demaille  <akim@epita.fr>
66038
66039         * lib/obstack.h: Formatting changes.
66040         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
66041         prevent type checking.
66042         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
66043         cast the value to (void *): assigning a `foo *' to a `void *'
66044         variable is valid.
66045         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
66046
66047 2000-11-16  Jim Meyering  <meyering@lucent.com>
66048
66049         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
66050
66051 2000-11-11  Jim Meyering  <meyering@lucent.com>
66052
66053         * lib/error.c: Add a couple #includes, merging from GNU libc version.
66054
66055 2000-11-10  Jim Meyering  <meyering@lucent.com>
66056
66057         * lib/obstack.h: Update from GNU libc.
66058         * lib/obstack.c: Likewise.
66059
66060 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
66061
66062         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
66063
66064 2000-11-06  Paul Eggert  <eggert@twinsun.com>
66065
66066         * lib/getusershell.c (setusershell): Use rewind rather than
66067         fseek/fseeko, to avoid configuration hassles with fseeko.
66068         Don't bother opening SHELLS_FILE if shellstream is NULL;
66069         it's not necessary.
66070
66071 2000-11-05  Jim Meyering  <meyering@lucent.com>
66072
66073         * lib/makepath.h (make_dir): Declare.
66074         * lib/makepath.c (make_dir): Remove `static' attribute.
66075         Tweak a comment.
66076
66077 2000-11-04  Jim Meyering  <meyering@lucent.com>
66078
66079         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
66080
66081 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
66082
66083         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
66084         last one in a bucket, advance to the next bucket.
66085
66086 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
66087
66088         * lib/fnmatch.c: Do not comment out all the code if we are using
66089         the GNU C library, because in some cases we are replacing buggy
66090         code in the GNU C library itself.
66091
66092 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
66093
66094         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
66095         (regex_compile): Catch bogus \(\1\).
66096
66097 2000-10-30  Paul Eggert  <eggert@twinsun.com>
66098
66099         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
66100         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
66101         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
66102
66103 2000-10-30  Paul Eggert  <eggert@twinsun.com>
66104
66105         * lib/error.h, getline.h, modechange.h:
66106         Remove "2000" from Copyright line, as the file hasn't been
66107         changed this year other than in the copyright notice.
66108
66109         * lib/xalloc.h: Add "2000" to Copyright line, as this file
66110         was changed this year.
66111
66112 2000-10-29  Jim Meyering  <meyering@lucent.com>
66113
66114         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
66115         renaming.
66116         * m4/ls-mntd-fs.m4: Likewise
66117
66118 2000-10-29  Jim Meyering  <meyering@lucent.com>
66119
66120         * lib/xstat.in: Fix grammar in comment.
66121
66122 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
66123
66124         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
66125         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
66126         doesn't define __restrict_arr.
66127
66128 2000-10-28  Jim Meyering  <meyering@lucent.com>
66129
66130         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
66131         (jm_PREREQ_MEMCHR): New function.
66132
66133 2000-10-28  Jim Meyering  <meyering@lucent.com>
66134
66135         * lib/memchr.c: Update from libc.
66136         Adjust for portability:
66137         [HAVE_STDLIB_H]: Include stdlib.h.
66138         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
66139         Undef __memchr, too.
66140         [!weak_alias]: Define __memchr to memchr.
66141
66142         * lib/regex.c: Update from libc.
66143         * lib/regex.h: Likewise.
66144         * lib/getopt1.c: Likewise.
66145         * lib/memcmp.c: Likewise.
66146
66147         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
66148         Avoid using fseek, when possible -- it's broken by design.
66149         Patch by Ulrich Drepper.
66150
66151 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
66152
66153         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
66154         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
66155         Giving in to popular pressure to shut up the compiler with casts.
66156
66157 2000-10-26  Jim Meyering  <meyering@lucent.com>
66158
66159         * lib/strftime.c: Update from libc.
66160
66161 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
66162
66163         * regex.c: More `unsigned char' -> `re_char' changes.
66164         Also change several `int' into `re_wchar_t'.
66165         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
66166         (PUSH_FAILURE_POINTER): Don't cast any more.
66167         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
66168         We want GCC to complain, since this piece of code makes
66169         re_match non-reentrant, which *should* be fixed.
66170         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
66171         (EXTEND_BUFFER): Use RETALLOC.
66172         (SET_LIST_BIT): Don't cast.
66173         (re_wchar_t): New type.
66174         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
66175         that those two functions will always properly return.
66176         (IMMEDIATE_QUIT_CHECK): Cast to void.
66177         (analyse_first): Use recursion rather than an explicit stack.
66178         (re_compile_fastmap): Can't fail anymore.
66179         (re_search_2): Don't check re_compile_fastmap for failure.
66180         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
66181         Now also sets the new value (passed in a new argument).
66182         (re_match_2_internal): Use it.
66183         Also, use a new var `reg' of type size_t when looping through regs
66184         rather than reuse the inappropriate `mcnt'.
66185
66186 2000-10-25  Jim Meyering  <meyering@lucent.com>
66187
66188         * lib/obstack.c: Update from libc.
66189
66190 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
66191
66192         * regex.c (regex_compile): Change the way of handling a range from
66193         a char less than 256 to a char not less than 256.
66194
66195 2000-10-24  Andrew Innes  <andrewi@gnu.org>
66196
66197         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
66198         NT-Emacs only.
66199         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
66200         so that re_search functions only quit when callers expect them to.
66201
66202 2000-10-23  Jim Meyering  <meyering@lucent.com>
66203
66204         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
66205         wrong.  That set_locale call must not have any side effects.
66206         From Paul Eggert.
66207
66208 2000-10-22  Jim Meyering  <meyering@lucent.com>
66209
66210         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
66211         [CYCLIC]: Remove now-unused definition.
66212
66213         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
66214         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
66215         Suggestion from Ulrich Drepper.
66216
66217 2000-10-21  Jim Meyering  <meyering@lucent.com>
66218
66219         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
66220         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
66221         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
66222
66223 2000-10-21  Jim Meyering  <meyering@lucent.com>
66224
66225         * lib/dirname.c (memrchr): Declare if necessary.
66226         (dir_name): Remove the restriction that there be no
66227         trailing slashes.  Now, this code skips past them, effectively
66228         ignoring them.
66229         [TEST_DIRNAME] (main): New unit tests.
66230
66231         * lib/memrchr.c: New file from GNU libc.
66232         Undef __memrchr, too.
66233         [!weak_alias]: Define __memrchr to memrchr.
66234         Guard weak_alias use with `#ifdef weak_alias'.
66235
66236 2000-10-21  Jim Meyering  <meyering@lucent.com>
66237
66238         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
66239         (dir_name): Use dir_name_r.
66240         * lib/dirname.h (dir_name_r): Declare it.
66241
66242 2000-10-17  Jim Meyering  <meyering@lucent.com>
66243
66244         * lib/quote.h (PARAMS): Define and use.
66245         Reported by Akim Demaille.
66246
66247         * lib/getopt.c: Update from libc.
66248
66249 2000-10-16  Jim Meyering  <meyering@lucent.com>
66250
66251         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
66252         setlocale.
66253         From Jan Fedak.
66254
66255 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
66256
66257         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
66258
66259 2000-09-25  Jim Meyering  <meyering@lucent.com>
66260
66261         * lib/md5.h (rol): Define (from GnuPG).
66262
66263         * lib/sha.c: Give credit (GnuPG) where due.
66264         (M): Use rol rather than open-coding it.
66265         Add a FIXME comment.
66266
66267 2000-09-21  Jim Meyering  <meyering@lucent.com>
66268
66269         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
66270         Reported by Michael Stone.
66271
66272 2000-09-20  Jim Meyering  <meyering@lucent.com>
66273
66274         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
66275         (noinst_HEADERS): Add sha.h.
66276         Based on code from Scott G. Miller and from GnuPG.
66277
66278 2000-09-18  Jim Meyering  <meyering@lucent.com>
66279
66280         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
66281         LIBS. Otherwise, everyone ends up linking with -lelf for some
66282         configurations.
66283         Reported by Mike Stone.
66284
66285 2000-09-15  Jim Meyering  <meyering@lucent.com>
66286
66287         * lib/regex.c: Update from libc.
66288
66289 2000-09-10  Jim Meyering  <meyering@lucent.com>
66290
66291         * lib/getopt.c (_getopt_internal): Update from glibc.
66292
66293 2000-09-09  Jim Meyering  <meyering@lucent.com>
66294
66295         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
66296         think it should be used as a general replacement for isascii.
66297         * lib/fnmatch.c: Likewise.
66298         * lib/mbswidth.c: Likewise
66299         * lib/regex.c: Likewise.
66300
66301         Don't use atoi.
66302         * lib/userspec.c: Include sys/param.h and limits.h.
66303         Include xstrtol.h.
66304         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
66305         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
66306         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
66307         UID, GID.  Check range.
66308
66309 2000-09-06  Jim Meyering  <meyering@lucent.com>
66310
66311         * lib/getopt.c (_getopt_internal): Update from glibc.
66312
66313 2000-08-30  Jim Meyering  <meyering@lucent.com>
66314
66315         * lib/strftime.c: Merge in changes from GNU libc.
66316
66317 2000-08-26  Jim Meyering  <meyering@lucent.com>
66318
66319         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
66320         * m4/fpending.m4: New file.
66321
66322 2000-08-26  Jim Meyering  <meyering@lucent.com>
66323
66324         * lib/closeout.c: Include "__fpending.h".
66325         (close_stdout_status): Return right away if there's nothing to flush.
66326
66327         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
66328         * lib/__fpending.c: New file.
66329         * lib/__fpending.h: New file.
66330
66331 2000-08-20  Jim Meyering  <meyering@lucent.com>
66332
66333         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
66334         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
66335         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
66336
66337 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
66338
66339         Improve fileutils installation on systems where running
66340         programs (like install) can't be unlinked.
66341         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
66342         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
66343
66344 2000-08-07  Paul Eggert  <eggert@twinsun.com>
66345
66346         Standardize on "memory exhausted" instead of "Memory exhausted"
66347         or "virtual memory exhausted".
66348         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
66349         "virtual memory exhausted".
66350         * lib/same.c (same_name): Invoke xalloc_die instead of printing
66351         our own message.
66352         * lib/userspec.c (parse_user_spec): Likewise.
66353         * lib/bumpalloc.h: comment fix
66354         * lib/same.c, userspec.c: Include xalloc.h.
66355
66356         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
66357         not char *const and pointing to a constant array.
66358         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
66359         (xrealloc): Comment fix.
66360
66361         * lib/userspec.c (parse_user_spec):
66362         Don't translate a message until just before returning,
66363         to avoid unnecessary translation.
66364
66365 2000-08-07  Jim Meyering  <meyering@lucent.com>
66366
66367         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
66368         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
66369         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
66370         getgroups.c, gethostname.c, getopt.h, group-member.c,
66371         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
66372         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
66373         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
66374         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
66375         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
66376         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
66377         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
66378         yesno.c: Back out Copyright date changes for each file with no change
66379         this year.  This eases coordination with other programs using the same
66380         source code modules.  From Paul Eggert.
66381
66382 2000-08-06  Paul Eggert  <eggert@twinsun.com>
66383
66384         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
66385         not char, for compatibility with glibc 2.1.3 strftime.c.
66386
66387 2000-08-03  Greg McGary  <greg@mcgary.org>
66388
66389         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
66390         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
66391         (EXTEND_BUFFER): Use them.
66392
66393 2000-08-01  Jim Meyering  <meyering@lucent.com>
66394
66395         * lib/dirname.c (ISSLASH): Define.
66396         (BACKSLASH_IS_PATH_SEPARATOR): Define.
66397         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
66398         both `\' and `/' may be use as path separators.
66399         Based on a patch from Prashant TR.
66400
66401 2000-07-31  Paul Eggert  <eggert@twinsun.com>
66402
66403         * lib/quotearg.c (quotearg_n_options): Don't make the initial
66404         slot vector a constant, since it might get modified.
66405
66406 2000-07-31  Jim Meyering  <meyering@lucent.com>
66407
66408         * lib/xmalloc.c: Use `virtual memory exhausted', not
66409         `Memory exhausted'.
66410         * lib/obstack.c (print_and_abort): Likewise.
66411
66412 2000-07-30  Paul Eggert  <eggert@twinsun.com>
66413
66414         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
66415         buffer, so that the caller can always quote one small
66416         component of a "memory exhausted" message in slot 0.
66417         From a suggestion by Jim Meyering.
66418
66419 2000-07-30  Jim Meyering  <meyering@lucent.com>
66420
66421         * lib/makepath.c (make_path): Quote the other instance, too.
66422
66423         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
66424         (STATIC_BUF_SIZE): Define.
66425         (quotearg_n_options): Use only statically allocated storage when
66426         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
66427         than STATIC_BUF_SIZE.
66428
66429 2000-07-29  Jim Meyering  <meyering@lucent.com>
66430
66431         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
66432         * lib/dirname.c (dir_name): Likewise.
66433
66434         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
66435         `/'.
66436
66437         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
66438         (dir_name): Assert that there are no trailing slashes.
66439
66440 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
66441
66442         * lib/mbswidth.h (mbswidth): Add a flags argument.
66443         (mbswidth): New declaration.
66444         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
66445         * lib/mbswidth.c (mbswidth): Add a flags argument.
66446         (mbsnwidth): New function.
66447
66448 2000-07-24  Jim Meyering  <meyering@lucent.com>
66449
66450         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
66451
66452 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66453
66454         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
66455
66456 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66457
66458         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
66459         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
66460         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
66461         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
66462         invoke multibyte primitives.
66463
66464 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66465
66466         * lib/quotearg.c:
66467         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
66468         so that mbstate_t is always defined.
66469
66470         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
66471         be 1 in at least one GCC installation, and this configuration
66472         error is likely to be common.  Ignoring MB_LEN_MAX hurts
66473         performance on hosts that have mbrtowc but have only unibyte
66474         locales, but I assume these hosts are rare.
66475
66476 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66477
66478         * lib/mbswidth.c (_XOPEN_SOURCE):
66479         Don't define; this causes problems on Solaris 7.
66480         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
66481
66482 2000-07-23  Jim Meyering  <meyering@lucent.com>
66483
66484         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
66485         too: getgrgid, getpwuid, getuid.
66486
66487 2000-07-23  Jim Meyering  <meyering@lucent.com>
66488
66489         * lib/basename.c (base_name): Add an assertion.
66490
66491 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
66492
66493         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
66494         shadow its mbsinit function.
66495
66496 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
66497
66498         * lib/mbswidth.h: New file.
66499         * lib/mbswidth.c: New file.
66500         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
66501         (noinst_HEADERS): Add mbswidth.h.
66502
66503 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
66504
66505         * lib/config.charset: Add support for FreeBSD. Improve support for
66506         HP-UX and IRIX 6.
66507
66508 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
66509
66510         * m4/mbswidth.m4: New file.
66511         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
66512
66513 2000-07-15  Jim Meyering  <meyering@lucent.com>
66514
66515         * lib/makepath.c: Include quote.h.
66516         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
66517         corresponding argument in a `quote (...)' call.
66518         Give better diagnostics.
66519
66520         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
66521         (noinst_HEADERS): Add quote.h.
66522
66523         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
66524         from tar's src/misc.c.
66525         * lib/quote.h: New file.  Prototypes for same.
66526
66527 2000-07-14  Paul Eggert  <eggert@twinsun.com>
66528
66529         From a suggestion by Bruno Haible.
66530         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
66531         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
66532         to decide whether to define the BeOS workaround macro;
66533         this adjusts to the change to AC_MBSTATE_T.
66534
66535 2000-07-14  Jim Meyering  <meyering@lucent.com>
66536
66537         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
66538         jm_AC_TYPE_UINTMAX_T.
66539
66540 2000-07-13  Paul Eggert  <eggert@twinsun.com>
66541
66542         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
66543
66544         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
66545         quotearg_buffer_restyled): Add support for
66546         clocale_quoting_style.  Undo previous change to
66547         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
66548         and "{RIGHT QUOTATION MARK}" msgids.
66549
66550 2000-07-10  Paul Eggert  <eggert@twinsun.com>
66551
66552         From a suggestion by Bruno Haible.
66553         * m4/mbstate_t.m4 (AC_MBSTATE_T):
66554         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
66555         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
66556         and mbstate_t, to a single-part test that simply defines mbstate_t.
66557         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
66558         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
66559
66560 2000-07-10  Jim Meyering  <meyering@lucent.com>
66561
66562         * m4/strerror_r.m4: Mirror the correction made in autoconf.
66563
66564         * m4/gnu-source.m4: Output to confdefs.h directly.
66565         Suggestion from Akim Demaille.
66566
66567 2000-07-09  Paul Eggert  <eggert@twinsun.com>
66568
66569         The old behavior of quoting `like this' doesn't look good with
66570         newer, ISO-style fonts.  See:
66571         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
66572
66573         Instead, quote "like this" by default.  Let the translator
66574         tailor the locale-specific quoting behavior by providing
66575         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
66576
66577         * lib/quotearg.c (N_): New macro.
66578         (gettext_default): New function.
66579         (quotearg_buffer_restyled): Use
66580         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
66581         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
66582
66583 2000-07-09  Jim Meyering  <meyering@lucent.com>
66584
66585         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
66586         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
66587
66588         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
66589         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
66590
66591 2000-07-09  Jim Meyering  <meyering@lucent.com>
66592
66593         * lib/Most files: Update copyright dates to include 2000.
66594
66595 2000-07-08  Jim Meyering  <meyering@lucent.com>
66596
66597         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
66598         if not defined.
66599         (xgethostname): Remove now-unnecessary #ifdef.
66600         Move declaration of `err' into loop where it's used.
66601
66602 2000-07-05  Paul Eggert  <eggert@twinsun.com>
66603         and Bruno Haible  <haible@clisp.cons.org>
66604
66605         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
66606         only if the test for an object-type mbstate_t fails.  This
66607         prevents us from mistakenly reporting that mbstate_t is a
66608         system object type after we "#define mbstate_t int" to work
66609         around its lack.
66610
66611 2000-07-05  Paul Eggert  <eggert@twinsun.com>
66612         and Bruno Haible  <haible@clisp.cons.org>
66613
66614         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
66615
66616 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66617
66618         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
66619         to strerror_r.
66620         Include <ctype.h> for use of isalpha.
66621
66622 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66623
66624         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
66625         by allocating a larger buffer. Test the gethostname return value for
66626         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
66627         returns an error and ENAMETOOLONG isn't defined.
66628
66629 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66630
66631         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
66632         dimension.
66633
66634 2000-07-04  Jim Meyering  <meyering@lucent.com>
66635
66636         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
66637         of the deprecated AC_CHECKING.
66638
66639 2000-07-04  Jim Meyering  <meyering@lucent.com>
66640
66641         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
66642         Reported by Bruno Haible.
66643
66644 2000-07-04  Jim Meyering  <meyering@lucent.com>
66645
66646         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
66647         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
66648         lacks mbrtowc.
66649
66650 2000-07-03  Paul Eggert  <eggert@twinsun.com>
66651
66652         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
66653         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
66654
66655 2000-07-03  Paul Eggert  <eggert@twinsun.com>
66656         and Bruno Haible  <haible@clisp.cons.org>
66657
66658         * lib/quotearg.c (mbrtowc):
66659         Assign to *pwc, and return 1 only if result is nonzero.
66660         (iswprint): Use ISPRINT when substituting our own mbrtowc.
66661
66662 2000-07-03  Jim Meyering  <meyering@lucent.com>
66663
66664         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
66665
66666 2000-07-03  Jim Meyering  <meyering@lucent.com>
66667
66668         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
66669         This is necessary to get a definition of e.g., UTMP_FILE on
66670         HP-UX 10.20.
66671         From Bob Proulx.
66672
66673 2000-07-02  Jim Meyering  <meyering@lucent.com>
66674
66675         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
66676
66677         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
66678         AC_LIBOBJ(function_name).
66679         * m4/chown.m4: Likewise.
66680         * m4/fnmatch.m4: Likewise.
66681         * m4/ftruncate.m4: Likewise.
66682         * m4/getgroups.m4: Likewise.
66683         * m4/getline.m4: Likewise.
66684         * m4/group-member.m4: Likewise.
66685         * m4/jm-macros.m4: Likewise.
66686         * m4/lstat.m4: Likewise.
66687         * m4/malloc.m4: Likewise.
66688         * m4/memcmp.m4: Likewise.
66689         * m4/nanosleep.m4: Likewise.
66690         * m4/putenv.m4: Likewise.
66691         * m4/realloc.m4: Likewise.
66692         * m4/regex.m4: Likewise.
66693         * m4/stat.m4: Likewise.
66694         * m4/strftime.m4: Likewise.
66695
66696 2000-07-02  Jim Meyering  <meyering@lucent.com>
66697
66698         * lib/quotearg.c (mbstate_t): Don't define here.
66699
66700 2000-07-02  Jim Meyering  <meyering@lucent.com>
66701
66702         * lib/nanosleep.c (SIGCONT): Define if not already defined.
66703
66704 2000-07-01  Jim Meyering  <meyering@lucent.com>
66705
66706         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
66707
66708 2000-07-01  Jim Meyering  <meyering@lucent.com>
66709
66710         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
66711         problem.
66712
66713 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
66714
66715         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
66716         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
66717
66718 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
66719
66720         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
66721         per change in ../m4/ls-mntd-fs.m4.
66722         (read_filesystem_list): Ignore symbolic links.
66723
66724 2000-06-29  Jim Meyering  <meyering@lucent.com>
66725
66726         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
66727         for declaration of strcmp.
66728
66729         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
66730
66731         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
66732         Avoid warning by casting result to `char *' to remove `const'.
66733
66734 2000-06-28  Jim Meyering  <meyering@lucent.com>
66735
66736         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
66737         included by quotearg.c, for which we perform this test.  From
66738         Bruno Haible.
66739
66740 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
66741
66742         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
66743         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
66744         <utmpx.h> exists, put readutmp.o into LIBOBJS.
66745
66746 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
66747
66748         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
66749
66750 2000-06-26  Paul Eggert  <eggert@twinsun.com>
66751
66752         savedir now sets errno on failure and invokes xmalloc to get memory.
66753         Fix a couple of other minor bugs while we're at it.
66754
66755         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
66756         (NAMLEN): Remove macro.
66757         (malloc, realloc): Remove decls.
66758         (stpcpy): Likewise.
66759         ("xalloc.h"): Include.
66760         (NAME_SIZE_DEFAULT): New macro.
66761         (savedir): Use xmalloc / xrealloc to allocate memory.
66762         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
66763         Skip "" directory entries.
66764         Use strlen to calculate directory entry length, since the old method
66765         is rarely used these days and isn't worth supporting.
66766         Don't use a pointer after freeing it.
66767         Check for integer overflow when calculating allocation size.
66768         Use memcpy to copy entries, instead of stpcpy.
66769         Set errno properly when returning NULL.
66770         Check for readdir error.
66771
66772 2000-06-26  Jim Meyering  <meyering@lucent.com>
66773
66774         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
66775
66776 2000-06-25  Jim Meyering  <meyering@lucent.com>
66777
66778         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
66779         Linux header bug when _XOPEN_SOURCE is defined to 500.
66780
66781 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
66782
66783         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
66784         deficiency.
66785
66786 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
66787
66788         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
66789         Include xalloc.h.
66790         Don't include <stdlib.h>.  Don't declare malloc, realloc.
66791
66792 2000-06-24  Jim Meyering  <meyering@lucent.com>
66793
66794         * m4/strerror_r.m4: Revive this file -- to try out an experimental
66795         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
66796         for which strerror does return char*, but which lacks a conveniently
66797         accessible declaration of the function.  If the compile-test says
66798         strerror_r doesn't work, then resort to a `run'-test that works on
66799         BeOS and segfaults on DEC Unix.
66800
66801 2000-06-24  Jim Meyering  <meyering@lucent.com>
66802
66803         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
66804
66805 2000-06-23  Paul Eggert  <eggert@twinsun.com>
66806
66807         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
66808         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
66809
66810 2000-06-23  Paul Eggert  <eggert@twinsun.com>
66811
66812         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
66813         (mbrtowc, mbstate_t): Define substitutes if
66814         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
66815         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
66816         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
66817
66818 2000-06-23  Jim Meyering  <meyering@lucent.com>
66819
66820         * m4/afs.m4: Add missing AC_MSG_RESULT.
66821         Reported by Bruno Haible.
66822
66823         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
66824         Suggestion from Bruno Haible.
66825
66826 2000-06-23  Jim Meyering  <meyering@lucent.com>
66827
66828         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
66829
66830 2000-06-21  Jim Meyering  <meyering@lucent.com>
66831
66832         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
66833
66834 2000-06-21  Jim Meyering  <meyering@lucent.com>
66835
66836         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
66837         (noinst_HEADERS): Add getstr.h.
66838
66839         * lib/getline.c (getstr): Move into a separate file.
66840         * lib/getstr.c (getstr): New file, extracted from getline.c, with
66841         the following changes: new parameter, delim2; both delim[12]
66842         parameters have type `int', not `char'.  The latter would lose
66843         with 8-bit delimiters.
66844         * lib/getstr.h: New file.
66845
66846 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
66847
66848         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
66849         than 1024, return a memory chunk of least possible size, instead
66850         of size PATH_MAX + 2. In the loop, increment the size proportionally.
66851         Use free/xmalloc instead of xrealloc to avoid copying for very long
66852         paths.
66853
66854 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
66855
66856         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
66857         the empty string.
66858
66859 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
66860
66861         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
66862         address, not strdup.  Include <stdlib.h> and don't declare free().
66863
66864 2000-06-19  Jim Meyering  <meyering@lucent.com>
66865
66866         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
66867
66868 2000-06-18  Jim Meyering  <meyering@lucent.com>
66869
66870         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
66871
66872         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
66873         `checking whether...' message to be consistent with that of the
66874         lstat test.
66875
66876 2000-06-18  Jim Meyering  <meyering@lucent.com>
66877
66878         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
66879         Besides, these days every porting target provides a mkdir function.
66880
66881         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
66882         needed. (this snippet comes from src/system.h).
66883
66884 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
66885
66886         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
66887
66888 2000-06-15  Paul Eggert  <eggert@twinsun.com>
66889
66890         * lib/human.c (adjust_value): New function.
66891         (human_readable_inexact): Apply rounding style even when
66892         printing approximate values.
66893
66894 2000-06-14  Paul Eggert  <eggert@twinsun.com>
66895
66896         * lib/human.c (human_readable_inexact): Allow an input block
66897         size that is not a multiple of the output block size, and vice versa.
66898         Reported by Piergiorgio Sartor.
66899
66900 2000-06-14  Paul Eggert  <eggert@twinsun.com>
66901
66902         * lib/getdate.y (get_date): Apply relative times after time
66903         zone indicator, not before.  Reported by Todd A. Jacobs.
66904
66905 2000-06-13  Jim Meyering  <meyering@lucent.com>
66906
66907         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
66908
66909         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
66910
66911 2000-06-12  Paul Eggert  <eggert@twinsun.com>
66912
66913         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
66914
66915 2000-06-12  Jim Meyering  <meyering@lucent.com>
66916
66917         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
66918         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
66919         optional argument.
66920         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
66921         the optional argument, `lib'.
66922
66923 2000-06-08  Jim Meyering  <meyering@lucent.com>
66924
66925         * m4/largefile.m4: Remove file (now that it's part of autoconf).
66926
66927 2000-06-04  Paul Eggert  <eggert@twinsun.com>
66928
66929         Rewrite largefile configuration so that we don't need to run
66930         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
66931         AC_CANONICAL_HOST in configure.in -- jmm]
66932
66933         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
66934         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
66935         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
66936         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
66937         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
66938         All uses changed.
66939         Instead of inspecting the output of getconf, try to compile the
66940         test program without and with the macro definition.
66941         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
66942         for getconf.  Instead, check for the needed flags by compiling
66943         test programs.
66944
66945 2000-06-04  Paul Eggert  <eggert@twinsun.com>
66946
66947         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
66948
66949 2000-06-04  Jim Meyering  <meyering@lucent.com>
66950
66951         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
66952         SunOS 4.1.4 for which gid_t is an unsigned type.
66953
66954 2000-06-03  Jim Meyering  <meyering@lucent.com>
66955
66956         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
66957         now that autoconf requires that.
66958
66959         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
66960         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
66961         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
66962
66963 2000-06-03  Jim Meyering  <meyering@lucent.com>
66964
66965         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
66966
66967 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
66968
66969         * m4/glibc21.m4: New file.
66970         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
66971
66972 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
66973
66974         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
66975         newer, don't install charset.alias.
66976         * lib/config.charset: Change the Linux/glibc rules so they become empty
66977         on glibc-2.1 or newer.
66978
66979 2000-06-02  Jim Meyering  <meyering@lucent.com>
66980
66981         * lib/mountlist.c: Back out last change.  Instead, do this...
66982         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
66983         me_dummy member using the same `ignore'-testing code.
66984         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
66985         fs_type strings.
66986         From Mark D. Roth.
66987
66988 2000-05-29  Jim Meyering  <meyering@lucent.com>
66989
66990         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
66991         mounts with the `ignore' attribute.  Based on a patch from
66992         Mark D. Roth.
66993
66994 2000-05-28  Jim Meyering  <meyering@lucent.com>
66995
66996         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
66997         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66998         * m4/stat.m4: Likewise.
66999         * m4/lstat.m4: Likewise.
67000         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
67001
67002         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
67003         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
67004
67005 2000-05-26  Jim Meyering  <meyering@lucent.com>
67006
67007         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
67008
67009 2000-05-24  Jim Meyering  <meyering@lucent.com>
67010
67011         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
67012         autoconf requires that.
67013         * m4/lib-check.m4: Likewise.
67014         * m4/jm-macros.m4: Likewise.
67015         * m4/strftime.m4: Likewise.
67016
67017         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
67018         AC_CHECK_DECLS, now that autoconf requires that.
67019
67020 2000-05-22  Jim Meyering  <meyering@lucent.com>
67021
67022         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67023         * m4/lstat.m4: Likewise.
67024
67025 2000-05-22  Jim Meyering  <meyering@lucent.com>
67026
67027         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
67028
67029 2000-05-20  Jim Meyering  <meyering@lucent.com>
67030
67031         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
67032         (jm_PREREQ): Use it.
67033
67034 2000-05-18  Jim Meyering  <meyering@lucent.com>
67035
67036         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
67037         back, too, since it may have been modified by allocate_entry.
67038         (hash_delete): Rewrite to use neither the assignment operator
67039         nor the comma operator in an if-expression.
67040
67041 2000-05-15  Paul Eggert  <eggert@twinsun.com>
67042
67043         * lib/closeout.c:
67044         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
67045         Remove; no longer needed.
67046         "quotearg.h": Add include.
67047         (file_name): Do not bother to explicitly initialize to NULL; it's less
67048         efficient on some hosts.
67049         (close_stdout_status): Remove test as to whether stdout was already
67050         closed; it breaks for the case "echo x | sort >&-".
67051         Quote file name colons.
67052         Do not assume that _("write error") lacks format strings.
67053
67054 2000-05-15  Jim Meyering  <meyering@lucent.com>
67055
67056         * lib/version-etc.c (version_etc_copyright): Update the copyright
67057         string used in all --version output.
67058
67059 2000-05-14  Jim Meyering  <meyering@lucent.com>
67060
67061         * lib/closeout.c (close_stdout_set_file_name): New function.
67062         (close_stdout_status): Use new file-scoped global.
67063         Return right away if fstat says the stdout file descriptor is invalid.
67064         * lib/closeout.h (close_stdout_set_file_name): Declare.
67065
67066 2000-05-10  Jim Meyering  <meyering@lucent.com>
67067
67068         * lib/closeout.c [default_exit_status]: New file-scoped variable.
67069         (close_stdout_set_status): New function.
67070         * lib/closeout.h (close_stdout_set_status): Declare.
67071
67072 2000-05-09  Jim Meyering  <meyering@lucent.com>
67073
67074         * m4/gettext.m4: Rename this...
67075         * m4/libintl.m4: ...to this.
67076
67077 2000-05-08  Jim Meyering  <meyering@lucent.com>
67078
67079         * lib/long-options.c: Don't include closeout.h.
67080         (parse_long_options): Don't call close_stdout for --version.
67081
67082 2000-05-06  Paul Eggert  <eggert@twinsun.com>
67083
67084         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
67085         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
67086         2.1.3 bug.  This avoids a clash when files like regex.c define
67087         _GNU_SOURCE.
67088
67089 2000-05-06  Jim Meyering  <meyering@lucent.com>
67090
67091         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
67092         (AC_REPLACE_FUNCS): Add strnlen.
67093
67094         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
67095         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
67096
67097         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
67098         AC_SEARCH_LIBS call for nanosleep.
67099         (LIB_NANOSLEEP): Set and AC_SUBST.
67100
67101 2000-05-06  Jim Meyering  <meyering@lucent.com>
67102
67103         * lib/strnlen.c: Undefine __strnlen and strnlen.
67104         [!weak_alias]: Define __strnlen to strnlen.
67105
67106         * lib/atexit.c: New file, from libiberty.
67107
67108 2000-05-06  Jim Meyering  <meyering@lucent.com>
67109
67110         * lib/closeout.c (close_stdout_status): Also check for errors on the
67111         stderr stream.
67112
67113 2000-05-05  Jim Meyering  <meyering@lucent.com>
67114
67115         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
67116         AC_SEARCH_LIBS call for clock_gettime.
67117         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
67118
67119         * m4/search-libs.m4: Update from autoconf.
67120
67121         su doesn't work on Solaris 2.6.
67122         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
67123         <shadow.h>.  Reported by Dragos Harabor.
67124
67125 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
67126
67127         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
67128         memcpy instead of xmalloc, xrealloc, path_concat.
67129         (locale_charset): Treat empty environment variables as absent.
67130         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
67131
67132 2000-05-04  Jim Meyering  <meyering@lucent.com>
67133
67134         * lib/getopt.c: Update from glibc.
67135         * lib/obstack.c: Likewise.
67136         * lib/obstack.h: Likewise.
67137         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
67138         file
67139
67140         * lib/regex.h: Likewise.
67141         * lib/strndup.c: Likewise.
67142         * lib/strnlen.c: New file, from glibc.
67143
67144 2000-05-03  Jim Meyering  <meyering@lucent.com>
67145
67146         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
67147
67148 2000-05-02  Paul Eggert  <eggert@twinsun.com>
67149
67150         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
67151         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
67152         compile-time test, rather than inspecting host and OS, to
67153         decide whether to define _LARGEFILE_SOURCE.
67154
67155 2000-05-01  Jim Meyering  <meyering@lucent.com>
67156
67157         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
67158
67159         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
67160         Based on a patch from Bruno Haible.
67161
67162 2000-05-01  Jim Meyering  <meyering@lucent.com>
67163
67164         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
67165
67166 2000-04-29  Jim Meyering  <meyering@lucent.com>
67167
67168         * lib/path-concat.c: Declare strdup only if it's not defined.
67169         * lib/canon-host.c: Likewise.
67170
67171 2000-04-28  Jim Meyering  <meyering@lucent.com>
67172
67173         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
67174         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
67175         is included first, then limits.h is included by locale.h by libintl.h.
67176         From John David Anglin.
67177
67178 2000-04-25  Jim Meyering  <meyering@lucent.com>
67179
67180         * lib/makepath.c (S_IRWXUGO): Define.
67181         (make_path): Always perform explicit chmod if MODE specifies any
67182         of the `special' permission bits.  Prompted by a bug report against
67183         install from Mate Wierdl and Joost van Baal.
67184
67185 2000-04-18  Jim Meyering  <meyering@lucent.com>
67186
67187         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
67188         (jm_PREREQ): Use it.
67189
67190 2000-04-18  Jim Meyering  <meyering@lucent.com>
67191
67192         * lib/README: New file.
67193
67194         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
67195         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
67196
67197 2000-04-17  Jim Meyering  <meyering@lucent.com>
67198
67199         Get it right :-)
67200         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
67201         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
67202         Suggestion from Akim Demaille.
67203
67204 2000-04-17  Jim Meyering  <meyering@lucent.com>
67205
67206         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
67207         the definition of it to rpl_strftime also defined-away the system's
67208         declaration.
67209
67210 2000-04-15  Jim Meyering  <meyering@lucent.com>
67211
67212         Use `C' to denote so-called `contiguous' files, the same way
67213         that tar does.
67214         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
67215         (ftypelet): Use S_ISCTG.
67216         From Michael Deutschmann.
67217
67218 2000-04-14  Jim Meyering  <meyering@lucent.com>
67219
67220         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
67221         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
67222         clobbered.
67223
67224 2000-04-14  Jim Meyering  <meyering@lucent.com>
67225
67226         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
67227
67228 2000-04-13  Jim Meyering  <meyering@lucent.com>
67229
67230         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
67231         AH_VERBATIM to insert required #ifndef into config.h.in.
67232         Suggestion from Akim Demaille.
67233
67234 2000-04-12  Jim Meyering  <meyering@lucent.com>
67235
67236         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
67237         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
67238         Christian Krackowizer.
67239
67240         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
67241         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
67242         (AC_SYS_LARGEFILE): Require.
67243         (AM_C_PROTOTYPES): Require.
67244
67245 2000-04-08  Jim Meyering  <meyering@lucent.com>
67246
67247         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
67248         names don't conflict.  Reported by Eli Zaretskii.
67249
67250 2000-04-07  Jim Meyering  <meyering@lucent.com>
67251
67252         * lib/putenv.c: Move inclusion of errno.h so it follows that of
67253         sys/types.h, to work around system header problems on AIX 3.2.5.
67254         From Bruno Haible.
67255
67256 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
67257
67258         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
67259         bug.  Deal with the different error behavior of Irix iconv.
67260
67261 2000-04-05  Paul Eggert  <eggert@twinsun.com>
67262
67263         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
67264         IRIX if the installer said otherwise.
67265
67266 2000-04-05  Jim Meyering  <meyering@lucent.com>
67267
67268         Portability tweaks required for ultrix4.3.
67269         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
67270         (jm_CHECK_DECLS): Add getutent to the list of functions.
67271         (_jm_DECL_HEADERS): Add utmpx.h.
67272         From John David Anglin.
67273
67274         * m4/strftime.m4: Back out the 2000-04-02 change.
67275         Instead of that change, simply undefine putenv in the test program.
67276
67277 2000-04-05  Jim Meyering  <meyering@lucent.com>
67278
67279         Portability tweaks required for ultrix4.3.
67280         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
67281         getutent.
67282         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
67283         * lib/canon-host.c: Declare strdup.
67284         * lib/path-concat.c: Likewise.
67285         From John David Anglin.
67286
67287 2000-04-04  Jim Meyering  <meyering@lucent.com>
67288
67289         Be more DOS 8.3-friendly.
67290         * lib/ref-add.sin: Renamed from ref-add.sed.in.
67291         * lib/ref-del.sin: Renamed from ref-del.sed.in.
67292         * lib/Makefile.am: Reflect renaming.
67293         Reported by Eli Zaretskii.
67294
67295         Use a temporary file name that won't clash with `charset.alias'
67296         in the DOS 8.3 name space.
67297         * lib/Makefile.am (charset_tmp): Define.
67298         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
67299         (uninstall-local): Likewise.
67300         Reported by Eli Zaretskii.
67301
67302 2000-04-03  Jim Meyering  <meyering@lucent.com>
67303
67304         * m4/gettext.m4: Fix typo in comment.
67305
67306         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
67307         textutils/configure.in).  Suggestion from Paul Eggert.
67308         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
67309
67310 2000-04-02  Paul Eggert  <eggert@twinsun.com>
67311
67312         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
67313         variable in the shell rather than using putenv, which isn't
67314         portable.  This avoids the configure-time inter-test dependency
67315         on the potentially-renamed putenv function.
67316
67317 2000-03-30  Paul Eggert  <eggert@twinsun.com>
67318
67319         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
67320         before checking struct stat.st_blksize, so that
67321         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
67322
67323 2000-03-29  Paul Eggert  <eggert@twinsun.com>
67324
67325         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
67326         since strftime.c uses HAVE_STRFTIME to decide whether to use
67327         the underlying strftime.
67328
67329 2000-03-29  Paul Eggert  <eggert@twinsun.com>
67330
67331         * lib/time/strftime.c (my_strftime): Make sure we call the system
67332         strftime, not ourselves, when invoking the underlying strftime.
67333
67334 2000-03-24  Jim Meyering  <meyering@lucent.com>
67335
67336         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
67337         (charset_alias): Define.
67338         (install-exec-local): Factor out common code.
67339         (uninstall-local): Split lines longer than 80.
67340         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
67341         (SUFFIXES): Define.
67342         (.sed.in.sed): New rule.  Don't redirect directly to $@.
67343         (CLEANFILES): Add ref-add.sed and ref-del.sed.
67344
67345 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
67346
67347         * lib/config.charset: Output a line containing "Packages using this
67348         file".
67349         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
67350         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
67351         ref-del.sed): New rules.
67352
67353 2000-03-17  Jim Meyering  <meyering@lucent.com>
67354
67355         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
67356         Otherwise, include <strings.h>
67357
67358 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
67359
67360         * lib/unicodeio.c (utf8_wctomb): New function.
67361         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
67362         format instead of in UCS-4 with platform dependent endianness.
67363
67364 2000-03-10  Jim Meyering  <meyering@lucent.com>
67365
67366         * m4/lib-check.m4: Look for getspnam in -lgen, too.
67367         From Marco Franzen.
67368
67369 2000-03-07  Paul Eggert  <eggert@twinsun.com>
67370
67371         * lib/savedir.c (savedir): Work even if directory size is
67372         negative; this can happen with some screwy NFS configurations.
67373
67374 2000-03-06  Jim Meyering  <meyering@lucent.com>
67375
67376         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
67377         if it's NULL (because we ran out of memory).  From Bruno Haible.
67378
67379 2000-03-05  Jim Meyering  <meyering@lucent.com>
67380
67381         * lib/localcharset.c ("path-concat.h"): Include.
67382         (get_charset_aliases): Use path_concat instead of ANSI string
67383         concatenation.
67384
67385         * lib/unicodeio.h (PARAMS): Define.
67386         Use it to guard prototype.
67387
67388 2000-03-04  Jim Meyering  <meyering@lucent.com>
67389
67390         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
67391         for lib/localcharset.c.
67392
67393 2000-03-04  Jim Meyering  <meyering@lucent.com>
67394
67395         * lib/Makefile.am (install-exec-local): Create $(libdir) before
67396         installing into it.
67397         (uninstall-local): Uncomment this rule so `make distcheck' works
67398         once again.
67399
67400         * lib/unicodeio.c (<errno.h>): Include it.
67401         (errno): Declare if not defined.
67402
67403         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
67404
67405         * lib/config.charset: New version, incorporating remarks from a linux
67406         i18n mailing list.  From Bruno Haible.
67407
67408 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
67409
67410         * m4/codeset.m4: New file.
67411         * m4/iconv.m4: New file.
67412         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
67413
67414 2000-03-03  Jim Meyering  <meyering@lucent.com>
67415
67416         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
67417
67418 2000-03-02  Jim Meyering  <meyering@lucent.com>
67419
67420         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
67421         the messages come out on separate lines.
67422
67423         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
67424         rather than jm_CHECK_DECLARATIONS.
67425         * m4/decl.m4: Remove now-unused file.
67426
67427         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
67428         geteuid.
67429
67430 2000-03-02  Jim Meyering  <meyering@lucent.com>
67431
67432         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
67433
67434 2000-03-01  Jim Meyering  <meyering@lucent.com>
67435
67436         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
67437         * lib/unicodeio.c: Likewise.
67438
67439 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
67440
67441         * lib/config.charset: New file.
67442         * lib/localcharset.c: New file.
67443         * lib/unicodeio.h, lib/unicodeio.c: New files.
67444         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
67445         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
67446         (noinst_HEADERS): Add unicodeio.h.
67447         (all-local, install-exec-local, charset.alias): New targets.
67448
67449 2000-02-28  Paul Eggert  <eggert@twinsun.com>
67450
67451         * lib/quotearg.c (ALERT_CHAR): New macro.
67452         (quotearg_buffer_restyled): Use it.
67453
67454 2000-02-27  Jim Meyering  <meyering@lucent.com>
67455
67456         * m4/check-decl.m4: Add getenv to the list.
67457
67458 2000-02-27  Jim Meyering  <meyering@lucent.com>
67459
67460         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
67461         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
67462
67463         * lib/backupfile.c: Guard inclusion of stdlib.h with
67464         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
67465         Declare malloc if needed.
67466
67467         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
67468         `#ifndef HAVE_DECL..'
67469         now that autoconf always defines the HAVE_DECL_ symbols.
67470         * lib/human.c: Likewise.
67471         * lib/same.c: Likewise.
67472         * lib/strtoumax.c: Likewise.
67473
67474         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
67475         declaration check was not run.
67476         * lib/hash.c: Likewise.
67477         * lib/human.c: Likewise.
67478         * lib/same.c: Likewise.
67479         * lib/strtoumax.c: Likewise.
67480
67481         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
67482         `.', then first look up the entire `.'-containing string as a login
67483         name.
67484
67485 2000-02-23  Jim Meyering  <meyering@lucent.com>
67486
67487         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
67488         in place of my hack.
67489
67490 2000-02-18  Paul Eggert  <eggert@twinsun.com>
67491
67492         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
67493         (textint): New typedef.
67494         (parser_control): Member year changed from int to textint.
67495         All uses changed.
67496         (YYSTYPE): Removed; replaced by %union with int and textint members.
67497         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
67498         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
67499         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
67500         (tSNUMBER, tUNUMBER): Now of type <textintval>.
67501         (date, number, to_year): Use width of number in digits, not its value,
67502         to determine whether it's a 2-digit year, or a 2-digit time.
67503         (yylex): Store number of digits of numeric tokens.
67504         Reported by John Kendall.
67505
67506         (parser_control): Changed from struct parser_control to typedef (for
67507         consistency).  All uses changed.
67508
67509         (tID): Removed; not used.
67510         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
67511
67512 2000-02-14  Paul Eggert  <eggert@twinsun.com>
67513
67514         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
67515         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
67516
67517 2000-02-12  Jim Meyering  <meyering@lucent.com>
67518
67519         * lib/userspec.c (ISDIGIT): Define it.
67520         (isdigit): Remove definition.
67521         (is_number): Use ISDIGIT, not isdigit.
67522         <libintl.h>: Include.
67523         (_ and N_): Define.
67524         (parse_user_spec): Mark translatable strings.
67525
67526 2000-02-10  Jim Meyering  <meyering@lucent.com>
67527
67528         With these changes, nanosleep.[ch] are finally enough like the other
67529         lib/* replacement files to compile on a few more losing systems.
67530
67531         * lib/nanosleep.h: Don't include config.h.
67532         Remove prototype from declaration of nanosleep.
67533         (PARAMS): Remove now-unneeded definition.
67534         * lib/nanosleep.c: #undef nanosleep.
67535         (rpl_nanosleep): Rename from nanosleep.
67536
67537 2000-02-10  Jim Meyering  <meyering@lucent.com>
67538
67539         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
67540         gnu_nanosleep to rpl_nanosleep.
67541
67542 2000-02-09  Jim Meyering  <meyering@lucent.com>
67543
67544         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
67545         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
67546
67547 2000-02-08  Akim Demaille  <akim@epita.fr>
67548
67549         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
67550         `[' and `]' and remove uses of `changequote'.
67551         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
67552         (AC_SYS_LARGEFILE): Likewise.
67553         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
67554         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
67555         of changequote.
67556         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
67557         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
67558         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
67559         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
67560
67561 2000-02-05  Jim Meyering  <meyering@lucent.com>
67562
67563         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
67564         Remove explicit use of AC_HEADER_TIME.  It is required by
67565         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
67566         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
67567         in autoconf whereby the expansion of the latter ended up preceding
67568         the expansion of its prerequisite, AC_HEADER_TIME.
67569         Reported by Volker Borchert.
67570
67571 2000-02-03  Jim Meyering  <meyering@lucent.com>
67572
67573         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
67574
67575 2000-02-03  Jim Meyering  <meyering@lucent.com>
67576
67577         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
67578         rather than with `#if HAVE_UTMPNAME'.
67579
67580 2000-02-02  Jim Meyering  <meyering@lucent.com>
67581
67582         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
67583         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
67584         Reported by Eli Zaretskii.
67585
67586 2000-02-01  Jim Meyering  <meyering@lucent.com>
67587
67588         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
67589
67590 2000-01-31  Jim Meyering  <meyering@lucent.com>
67591
67592         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
67593         functions.  Add the time.h and sys/time.h headers along with the
67594         AC_REQUIRE'ment of AC_HEADER_TIME.
67595
67596 2000-01-31  Jim Meyering  <meyering@lucent.com>
67597
67598         * lib/nanosleep.h (nanosleep): Guard declaration with
67599         `#if ! HAVE_DECL_NANOSLEEP'.
67600         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
67601         the declaration in that vendor's sys/timers.h.
67602         Reported by Christian Krackowizer.
67603
67604         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
67605         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
67606         (ISPRINT): Likewise.
67607         Reported by Tom Tromey.
67608
67609 2000-01-30  Jim Meyering  <meyering@lucent.com>
67610
67611         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
67612
67613         * m4/prereq.m4 (utmp_includes): Define.
67614         Check for ut_user and ut_name members in both struct utmpx
67615         and struct utmp.
67616
67617 2000-01-30  Jim Meyering  <meyering@lucent.com>
67618
67619         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
67620         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
67621         header files where only utmpx.ut_user is declared.
67622
67623         * lib/readutmp.h (UT_USER): Define.
67624
67625 2000-01-29  Jim Meyering  <meyering@lucent.com>
67626
67627         * m4/lib-check.m4: New file containing library-related checks from
67628         fileutils and sh-utils (textutils had none).
67629
67630 2000-01-28  Jim Meyering  <meyering@lucent.com>
67631
67632         * m4/perl.m4: Change format of warning message to look more like that
67633         from the missing script.  Suggestion from François Pinard.
67634
67635 2000-01-25  Jim Meyering  <meyering@lucent.com>
67636
67637         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
67638         well as time.h in the compile check.
67639         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
67640         Fix typo in cross-compiling case: s/yes/no/.
67641
67642 2000-01-23  Jim Meyering  <meyering@lucent.com>
67643
67644         * m4/jm-macros.m4: Move df-related tests here from
67645         fileutils/configure.in
67646
67647         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
67648         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
67649
67650         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
67651         s/space/ac_fsusage_space/.
67652         (jm_FILE_SYSTEM_USAGE): Take two parameters.
67653
67654         * m4/ftruncate.m4: New file (derived from part of
67655         fileutils/configure.in).
67656         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
67657         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
67658
67659         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
67660         AC_SUBST these here, rather than just in sh-util/configure.in, so
67661         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
67662         all the same.
67663         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
67664         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
67665         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
67666         (AC_SUBST(POW_LIBM)): Likewise.
67667         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
67668
67669 2000-01-23  Jim Meyering  <meyering@lucent.com>
67670
67671         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
67672         obstack.c.
67673
67674 2000-01-22  Jim Meyering  <meyering@lucent.com>
67675
67676         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
67677
67678         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
67679
67680         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
67681         configure.in
67682         (AC_CHECK_HEADERS): Likewise for sh-utils.
67683         (AC_CHECK_HEADERS): Likewise for textutils.
67684         Merge the three lists of headers.
67685
67686         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
67687         from fileutils' configure.in.
67688
67689         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
67690         code. Moved tests into their own function (_jm_DECL_HEADERS) in
67691         check-decl.m4.
67692
67693         * m4/check-decl.m4: Use #if rather than #ifdef.
67694         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
67695         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
67696         (_jm_DECL_HEADERS): Define new function.
67697         (jm_CHECK_DECLARATIONS): Require it.
67698
67699 2000-01-22  Jim Meyering  <meyering@lucent.com>
67700
67701         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
67702         [! HAVE_DECL_STRTOULL]: Declare strtoull.
67703         Required for some AIX systems.  Reported by Christian Krackowizer.
67704         [TESTING] (main): New function.
67705
67706         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
67707         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
67708         letters.
67709
67710         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
67711         iswprint.
67712
67713         * lib/strverscmp.c (ISDIGIT): Define.
67714         (strverscmp): Use ISDIGIT, not isdigit.
67715
67716 2000-01-19  Jim Meyering  <meyering@lucent.com>
67717
67718         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
67719         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
67720         defines `struct timespec' in <sys/time.h>
67721
67722         * m4/c-bs-a.m4: Remove uses of changequote altogether.
67723         Thanks to Akim for explaining.
67724
67725 2000-01-17  Paul Eggert  <eggert@twinsun.com>
67726
67727         * lib/nanosleep.c (nanosleep):
67728         Don't use SA_INTERRUPT to decide whether to call sigaction, as
67729         POSIX.1 doesn't require SA_INTERRUPT and some systems
67730         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
67731         it's been part of POSIX.1 since day 1 (in 1988).
67732
67733 2000-01-17  Jim Meyering  <meyering@lucent.com>
67734
67735         * lib/interlock: Remove unused file.  Reported by François Pinard.
67736
67737 2000-01-16  Paul Eggert  <eggert@twinsun.com>
67738
67739         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
67740         alert, backslash, formfeed, and vertical tab unnecessarily in
67741         shell quoting style.
67742
67743 2000-01-16  Jim Meyering  <meyering@lucent.com>
67744
67745         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
67746         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
67747         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
67748         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
67749
67750 2000-01-16  Jim Meyering  <meyering@lucent.com>
67751
67752         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
67753         because the latter didn't work.
67754
67755 2000-01-15  Jim Meyering  <meyering@lucent.com>
67756
67757         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
67758         (AC_REPLACE_FUNCS): Add memcpy and memset.
67759         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
67760         Add strpbrk.
67761         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
67762
67763 2000-01-12  Jim Meyering  <meyering@lucent.com>
67764
67765         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
67766         (jm_PREREQ): Use it.
67767         (jm_PREREQ_READUTMP): New macro.
67768         (jm_PREREQ): Use it.
67769
67770 2000-01-11  Paul Eggert  <eggert@twinsun.com>
67771
67772         Quote multibyte characters correctly.
67773         * m4/c-bs-a.m4: New file.
67774         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
67775         (jm_PREREQ): Use it.
67776
67777 2000-01-11  Paul Eggert  <eggert@twinsun.com>
67778
67779         * m4/uintmax_t.m4: Port to autoconf 2.13.
67780
67781 2000-01-08  Jim Meyering  <meyering@ascend.com>
67782
67783         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
67784         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
67785
67786 2000-01-04  Jim Meyering  <meyering@ascend.com>
67787
67788         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
67789         jm_STRUCT_DIRENT_D_TYPE.
67790         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
67791         jm_STRUCT_DIRENT_D_INO.
67792         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
67793         jm_STRUCT_UTIMBUF.
67794         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
67795         renamings.
67796         * m4/utime.m4: Likewise.
67797
67798         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
67799         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
67800
67801 2000-01-03  Paul Eggert  <eggert@twinsun.com>
67802
67803         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
67804         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
67805
67806 2000-01-02  Jim Meyering  <meyering@ascend.com>
67807
67808         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
67809         remember if this is necessary.
67810
67811 1999-12-26  Jim Meyering  <meyering@ascend.com>
67812
67813         * m4/jm-macros.m4: Use it here.
67814         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
67815
67816 1999-12-23  Jim Meyering  <meyering@ascend.com>
67817
67818         * m4/jm-macros.m4: Check for clock_gettime (moved from
67819         fileutils/configure.in)
67820         Check for gettimeofday.
67821
67822 1999-12-20  Jim Meyering  <meyering@ascend.com>
67823
67824         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
67825         autoconf-2.14a-1999-12-20.
67826
67827 1999-12-19  Jim Meyering  <meyering@ascend.com>
67828
67829         * m4/lstat-slash.m4: New file.
67830         * m4/jm-macros.m4: Use the new macro:
67831         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67832
67833 1999-12-07  Jim Meyering  <meyering@ascend.com>
67834
67835         * m4/perl.m4: Require that File::Compare be available, too.
67836         Too many systems seem to lack it.
67837
67838         * m4/strftime.m4: Add checks for most of the cpp macros tested in
67839         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
67840
67841 1999-11-18  Paul Eggert  <eggert@twinsun.com>
67842
67843         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
67844         problem with the QNX 4.25 shell, which doesn't propagate exit
67845         status of failed commands inside shell assignments.
67846
67847 1999-11-17  Jim Meyering  <meyering@ascend.com>
67848
67849         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
67850
67851 1999-11-07  Jim Meyering  <meyering@ascend.com>
67852
67853         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
67854
67855 1999-11-06  Jim Meyering  <meyering@ascend.com>
67856
67857         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
67858         * m4/jm-macros.m4 (jm_MACROS): Use it here.
67859
67860 1999-11-05  Jim Meyering  <meyering@ascend.com>
67861
67862         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
67863         configure.in of textutils, fileutils, and sh-utils into this one
67864         (shared between those packages) file.
67865         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
67866         AC_STRUCT_ST_BLKSIZE.
67867
67868 1999-11-03  Jim Meyering  <meyering@ascend.com>
67869
67870         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
67871         of AC_CHECK_TYPE checks includes unistd.h.
67872         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
67873         Suggestion from Akim Demaille.
67874
67875 1999-10-30  Jim Meyering  <meyering@ascend.com>
67876
67877         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
67878         m4-quoted string.
67879         * m4/ls-mntd-fs.m4: Likewise.
67880         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
67881         * m4/jm-winsz1.m4: Likewise.
67882
67883         * m4/const.m4: Remove file, since the fix made it into the experimental
67884         version of autoconf.
67885         * m4/mktime.m4: Likewise.
67886
67887         * m4/check-type.m4: Remove file, now that the latest version of
67888         AC_CHECK_TYPE takes a third arg to specify additional #includes.
67889
67890         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
67891         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
67892         AC_CHECK_TYPE.
67893
67894 1999-10-04  Jim Meyering  <meyering@ascend.com>
67895
67896         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
67897
67898 1999-09-22  Paul Eggert  <eggert@twinsun.com>
67899
67900         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
67901         2.95.1 bug with HP-UX 10.20.
67902
67903 1999-09-17  Jim Meyering  <meyering@ascend.com>
67904
67905         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
67906         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
67907         due to missing strdup (against sh-utils-2.0).
67908
67909 1999-08-29  Jim Meyering  <meyering@ascend.com>
67910
67911         * m4/jm-macros.m4: Require jm_BISON.
67912         * m4/bison.m4: New file.
67913
67914 1999-08-17  Paul Eggert  <eggert@twinsun.com>
67915
67916         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
67917         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
67918
67919 1999-08-05  Jim Meyering  <meyering@ascend.com>
67920
67921         * m4/getline.m4: Rename test file from conftestdata to conftest.data
67922         to avoid conflicts with `conftest' on 8+3 filesystems.
67923         Suggestion from Eli Zaretskii.
67924
67925 1999-08-04  Jim Meyering  <meyering@ascend.com>
67926
67927         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
67928         fileutils and sh-utils (textutils's getline test was inadequate).
67929         (AM_FUNC_GETLINE): Run this test.
67930         (AC_CHECK_FUNCS): Check for getdelim.
67931         Reported by Bob Proulx.
67932
67933 1999-08-02  Jim Meyering  <meyering@ascend.com>
67934
67935         * m4/jm-macros.m4: Add a comment.
67936
67937 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67938
67939         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
67940         <inttypes.h> defines strtoumax as a macro (and not as a
67941         function).
67942
67943 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67944
67945         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
67946         that we can shift, multiply and divide unsigned long long
67947         values; Ultrix cc can't do it.
67948
67949 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67950
67951         * m4/mktime.m4: New file, which is a preview of what should appear
67952         in the next public autoconf release.
67953
67954 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67955
67956         * m4/lfs.m4: Remove this file.
67957         * m4/largefile.m4: New file.  It contains the old contents of
67958         lfs.m4, except that all names with prefix AC_LFS have been
67959         changed to use the prefix AC_SYS_LARGEFILE instead, to be
67960         compatible with future autoconf versions.  Also, some minor m4
67961         quoting problems have been fixed.
67962
67963 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67964
67965         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
67966         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
67967         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
67968         and simplify the shell code.
67969
67970 1999-08-01  Jim Meyering  <meyering@ascend.com>
67971
67972         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
67973         m4.
67974
67975 1999-07-20  Jim Meyering  <meyering@ascend.com>
67976
67977         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
67978
67979 1999-07-15  Jim Meyering  <meyering@ascend.com>
67980
67981         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
67982
67983 1999-05-22  Jim Meyering  <meyering@ascend.com>
67984
67985         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
67986
67987 1999-05-20  Jim Meyering  <meyering@ascend.com>
67988
67989         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
67990         Add a colon after each `then' in case $4 is empty.
67991
67992 1999-05-16  Jim Meyering  <meyering@ascend.com>
67993
67994         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
67995
67996 1999-05-10  Jim Meyering  <meyering@ascend.com>
67997
67998         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
67999
68000         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
68001         AC_FUNC_MKTIME.
68002
68003 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
68004
68005         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
68006
68007 1999-05-04  Paul Eggert  <eggert@twinsun.com>
68008
68009         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
68010         not CPPFLAGS, so that linking works correctly in IRIX.
68011
68012 1999-04-30  Paul Eggert  <eggert@twinsun.com>
68013
68014         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
68015
68016 1999-04-20  Paul Eggert  <eggert@twinsun.com>
68017
68018         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
68019         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
68020         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
68021         jm_AC_TYPE_UNSIGNED_LONG_LONG.
68022         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
68023
68024         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
68025
68026 1999-04-20  Jim Meyering  <meyering@ascend.com>
68027
68028         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
68029         AC_REPLACE xstroull if necessary.  From Paul Eggert.
68030         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
68031
68032 1999-04-18  Jim Meyering  <meyering@ascend.com>
68033
68034         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
68035         * m4/jm-macros.m4: Use it.
68036
68037 1999-04-06  Jim Meyering  <meyering@ascend.com>
68038
68039         * m4/strftime.m4: Remove test for %f.
68040
68041 1999-03-29  Jim Meyering  <meyering@ascend.com>
68042
68043         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
68044         superset of the AC_TYPE_* checks in the textutils, fileutils,
68045         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
68046         AC_TYPE_PID_T.
68047
68048 1999-03-28  Jim Meyering  <meyering@ascend.com>
68049
68050         * m4/jm-macros.m4: Define GNU_PACKAGE here.
68051         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
68052         replaced e.g., in the *.sh files of the sh-utils.
68053
68054 1999-03-20  Jim Meyering  <meyering@ascend.com>
68055
68056         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
68057         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
68058         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
68059
68060 1999-03-19  Jim Meyering  <meyering@ascend.com>
68061
68062         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
68063
68064 1999-03-12  Jim Meyering  <meyering@ascend.com>
68065
68066         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
68067
68068 1999-03-07  Jim Meyering  <meyering@ascend.com>
68069
68070         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
68071         declared.
68072
68073 1999-02-17  Jim Meyering  <meyering@ascend.com>
68074
68075         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
68076         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
68077
68078 1999-02-07  Jim Meyering  <meyering@ascend.com>
68079
68080         * m4/group-member.m4: New file -- extracted from sh-utils'
68081         configure.in.
68082
68083         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
68084         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
68085
68086 1999-02-06  Jim Meyering  <meyering@ascend.com>
68087
68088         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
68089         * m4/fnmatch.m4: Likewise.
68090         * m4/getgroups.m4: Likewise.
68091         * m4/lstat.m4: Likewise.
68092         * m4/malloc.m4: Likewise.
68093         * m4/putenv.m4: Likewise.
68094         * m4/realloc.m4: Likewise.
68095         * m4/regex.m4: Likewise.
68096         * m4/stat.m4: Likewise.
68097         * m4/strftime.m4: Likewise.
68098         Suggestion from Alain Magloire.
68099
68100         * m4/chown.m4: Use `.$ac_objext', not `.o'.
68101         * m4/fnmatch.m4: Likewise.
68102         * m4/getgroups.m4: Likewise.
68103         * m4/getline.m4: Likewise.
68104         * m4/lstat.m4: Likewise.
68105         * m4/malloc.m4: Likewise.
68106         * m4/memcmp.m4: Likewise.
68107         * m4/putenv.m4: Likewise.
68108         * m4/realloc.m4: Likewise.
68109         * m4/regex.m4: Likewise.
68110         * m4/stat.m4: Likewise.
68111         * m4/strftime.m4: Likewise.
68112         Suggestion from Alain Magloire.
68113
68114         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
68115         an argument.
68116
68117         * m4/regex.m4: Add a run-time Test for proper operation of
68118         re_compile_pattern.
68119
68120 1999-01-31  Jim Meyering  <meyering@ascend.com>
68121
68122         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
68123
68124 1999-01-30  Jim Meyering  <meyering@ascend.com>
68125
68126         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
68127
68128         * m4/jm-mktime.m4: Make this a wrapper around the official
68129         AM_FUNC_MKTIME rather than my private copy, now that the official one
68130         is up to date.
68131         * m4/mktime.m4: Remove file.
68132
68133         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
68134         * m4/uptime.m4: Likewise.
68135         * m4/uintmax_t.m4: Likewise.
68136
68137 1999-01-28  Jim Meyering  <meyering@ascend.com>
68138
68139         * m4/jm-macros.m4: Use jm_AFS.
68140         * m4/afs.m4: New file (from fileutils' configure.in).
68141
68142         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
68143         * m4/chown.m4: Likewise.
68144         * m4/d-ino.m4: Likewise.
68145         * m4/d-type.m4: Likewise.
68146         * m4/fnmatch.m4: Likewise.
68147         * m4/getgroups.m4: Likewise.
68148         * m4/gettext.m4: Likewise.
68149         * m4/jm-mktime.m4: Likewise.
68150         * m4/jm-winsz2.m4: Likewise.
68151         * m4/lcmessage.m4: Likewise.
68152         * m4/ls-mntd-fs.m4: Likewise.
68153         * m4/malloc.m4: Likewise.
68154         * m4/memcmp.m4: Likewise.
68155         * m4/putenv.m4: Likewise.
68156         * m4/realloc.m4: Likewise.
68157         * m4/st_mtim.m4: Likewise.
68158         * m4/strftime.m4: Likewise.
68159
68160 1999-01-16  Jim Meyering  <meyering@ascend.com>
68161
68162         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
68163         (ARGMATCH_DIE_DECL): Define.
68164
68165 1999-01-12  Jim Meyering  <meyering@ascend.com>
68166
68167         * m4/Makefile.am.in: Rewrite to avoid using fmt.
68168         Reported by Lars Hecking.
68169
68170 1999-01-10  Jim Meyering  <meyering@ascend.com>
68171
68172         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
68173         gross kludge.
68174         * m4/inttypes_h.m4: Likewise.
68175         * m4/lstat.m4: Likewise.
68176         * m4/malloc.m4: Likewise.
68177         * m4/readdir.m4: Likewise.
68178         * m4/realloc.m4: Likewise.
68179         * m4/st_dm_mode.m4: Likewise.
68180         * m4/stat.m4: Likewise.
68181         * m4/utimbuf.m4: Likewise.
68182         * m4/utimes.m4: Likewise.
68183
68184         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
68185         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
68186         comments in config.h.in are meaningful.
68187
68188         * m4/jm-macros.m4: Require autoconf-2.13 here.
68189
68190         * m4/regex.m4: By default, don't use the included regex.c on systems
68191         with glibc 2.  Suggestion from Uli Drepper.
68192
68193 1999-01-02  Jim Meyering  <meyering@ascend.com>
68194
68195         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
68196
68197 1998-12-18  Jim Meyering  <meyering@ascend.com>
68198
68199         * m4/Makefile.am.in (Makefile.am): Simplify rule.
68200         Based on a suggestion from Lars Hecking.
68201
68202 1998-11-16  Paul Eggert  <eggert@twinsun.com>
68203
68204         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
68205
68206 1998-11-16  Jim Meyering  <meyering@ascend.com>
68207
68208         * m4/lfs.m4: Double-quote the `uname...` expression.
68209
68210 1998-11-14  Jim Meyering  <meyering@ascend.com>
68211
68212         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
68213         * m4/stat.m4: Likewise.
68214
68215 1998-11-03  Jim Meyering  <meyering@ascend.com>
68216
68217         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
68218         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
68219
68220 1998-10-18  Jim Meyering  <meyering@ascend.com>
68221
68222         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
68223
68224 1998-10-17  Jim Meyering  <meyering@ascend.com>
68225
68226         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
68227         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
68228         calls for those previously hard-coded headers.  Instead, take a new
68229         parameter.
68230         (jm_CHECK_DECLARATIONS): Reflect interface change.
68231         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
68232         (jm_CHECK_DECL_LOCALTIME_R): New macro.
68233
68234         * m4/mktime.m4: Test for spring-forward gap before long-running test.
68235
68236 1998-10-14  Jim Meyering  <meyering@ascend.com>
68237
68238         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
68239         instead of "TZ=America/Vancouver".  From Paul Eggert.
68240
68241 1998-10-11  Jim Meyering  <meyering@ascend.com>
68242
68243         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
68244         This adds a test for a recently added compatibility fix for mktime.c.
68245         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
68246
68247 1998-09-27  Jim Meyering  <meyering@ascend.com>
68248
68249         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
68250
68251         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
68252         ../configure.in, including a change from Gordon Matzigkeit to allow
68253         cross-compiling for the Hurd.
68254
68255         * m4/glibc.m4: New file/macro to test for the GNU C Library
68256         versions 1 and 2.  From Gordon Matzigkeit.
68257         Indent.
68258
68259 1998-09-21  Jim Meyering  <meyering@ascend.com>
68260
68261         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
68262
68263 1998-08-18  Paul Eggert  <eggert@twinsun.com>
68264
68265         Port nanosecond-resolution times to UnixWare 2.1.2 and
68266         pedantic Solaris 2.6.
68267
68268         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
68269         AC_STRUCT_ST_MTIM.
68270         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
68271         Generate name of ns member, instead of just 1 or undef.
68272         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
68273
68274 1998-08-15  Jim Meyering  <meyering@ascend.com>
68275
68276         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
68277         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
68278         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
68279         instead of jm_TYPE_SSIZE_T.
68280
68281 1998-08-12  Jim Meyering  <meyering@ascend.com>
68282
68283         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
68284
68285 1998-08-02  Jim Meyering  <meyering@ascend.com>
68286
68287         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
68288         in acconfig.h manually.
68289
68290 1998-07-31  Paul Eggert  <eggert@twinsun.com>
68291
68292         * m4/st_mtim.m4: New file.
68293
68294 1998-07-28  Jim Meyering  <meyering@ascend.com>
68295
68296         * m4/utimes.m4: Undef stat.
68297
68298 1998-07-25  Jim Meyering  <meyering@ascend.com>
68299
68300         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
68301         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
68302
68303 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
68304
68305         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
68306         uid and gid actually remain unchanged.
68307
68308 1998-07-07  Jim Meyering  <meyering@ascend.com>
68309
68310         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
68311
68312 1998-07-04  Jim Meyering  <meyering@ascend.com>
68313
68314         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
68315         to prove that this macro can be used in packages without regex.c.
68316
68317 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
68318
68319         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
68320         is to be used.
68321
68322 1998-07-03  Jim Meyering  <meyering@ascend.com>
68323
68324         * m4/gettext.m4: Add -lintl if it's found to be necessary.
68325
68326         * m4/gettext.m4: New file -- from gettext-0.10.35.
68327         * m4/lcmessage.m4: Likewise.
68328         * m4/progtest.m4: Likewise.
68329
68330         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
68331         * m4/jm-macros.m4: Require the new macro.
68332
68333 1998-06-29  Jim Meyering  <meyering@ascend.com>
68334
68335         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
68336         for the definition of NGROUPS (used in a system header included
68337         by sys/mount.h).
68338
68339 1998-06-28  Jim Meyering  <meyering@ascend.com>
68340
68341         * m4/ls-mntd-fs.m4: New file.
68342         * m4/fstypename.m4: New file.
68343
68344         * m4/jm-macros.m4: Require the new macro.
68345         * m4/jm-glibc-io.m4: New file.
68346
68347 1998-05-19  Jim Meyering  <meyering@ascend.com>
68348
68349         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
68350         * m4/lchown.m4: New file.
68351
68352         * m4/Makefile.am.in: New file.
68353         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
68354
68355 1998-05-14  Jim Meyering  <meyering@ascend.com>
68356
68357         * m4/Makefile.am (EXTRA_DIST): Add them.
68358         * m4/jm-macros.m4: New file.
68359         * m4/utimbuf.m4: New file.
68360
68361 1998-05-12  Jim Meyering  <meyering@ascend.com>
68362
68363         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
68364
68365 1998-05-11  Jim Meyering  <meyering@ascend.com>
68366
68367         * m4/isc-posix.m4: New file.
68368
68369 1998-05-10  Jim Meyering  <meyering@ascend.com>
68370
68371         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
68372
68373 1998-05-09  Jim Meyering  <meyering@ascend.com>
68374
68375         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
68376         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
68377         with automake.
68378
68379         * m4/ssize_t.m4: New file.
68380         * m4/mktime.m4: Remove file -- the new automake has this now.
68381
68382 1998-04-26  Jim Meyering  <meyering@ascend.com>
68383
68384         * m4/assert.m4: New file.
68385         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
68386
68387 1998-04-05  Jim Meyering  <meyering@ascend.com>
68388
68389         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
68390         (jm_PREREQ): Use it here.
68391
68392 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
68393
68394         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
68395         in acconfig.h.
68396
68397 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
68398
68399         * m4/prereq.m4: New file.
68400         * m4/error.m4: New file.
68401         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
68402
68403 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
68404
68405         * m4/getline.m4: Don't set am_cv_func_working_getline before the
68406         cache-check for the same variable -- that defeated the purpose of
68407         the test; the test program was never run.  This was a problem only
68408         on systems with losing getline functions -- HP-UX 10.20 is one.
68409         Reported by Bjorn Helgaas.
68410
68411 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
68412
68413         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
68414
68415 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
68416
68417         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
68418
68419         * m4/const.m4: New file.  Use an initializer in this declaration
68420         typedef int charset[2]; const charset x;
68421         Reported by Bob Glickstein.
68422
68423 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
68424
68425         * m4/chown.m4: Fix reversed types on -1 args to chown.
68426         From Kaveh Ghazi.
68427
68428 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
68429
68430         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
68431         Add lseek and memchr.
68432
68433         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
68434         T.E.Dickey <dickey@clark.net> said that some older preprocessors
68435         have a 20-character limit on names.
68436
68437 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
68438
68439         * m4/inttypes_h.m4: New file.
68440         * m4/uintmax_t.m4: New file.
68441         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
68442
68443
68444         -----
68445
68446         Local Variables:
68447         coding: utf-8
68448         End:
68449
68450         Copyright (C) 1997-2010 Free Software Foundation, Inc.
68451
68452         Copying and distribution of this file, with or without
68453         modification, are permitted provided the copyright notice
68454         and this notice are preserved.